第6章-嵌入式系统总线接口课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第6章-嵌入式系统总线接口课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统总线 接口 课件
- 资源描述:
-
1、第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 嵌入式系统设计嵌入式系统设计 基于基于ARM9ARM9微处理器微处理器S3C2410AS3C2410A第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1 6.1 串行串行(Uart)(Uart)接口接口 掌握ARM的Uart工作原理掌握Uart寄存器配置方法学习编程实现ARM的UART通讯第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.1 串行接口基本原理与结构1 1串行通信概
2、述串行通信概述 常用的数据通信方式有并行通信和串行通信两种。当两台数字设备之间传输距离较远时,数据往往以串行方式传输。串行通信具有传输线少、成本低等优点,特别适合远距离传送。串行数据通信模式 串行数据通信模式有单工通信、半双工通信和全双工通信3种基本的通信模式。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 异步串行通信方式 字符的格式 每个字符传送时,必须前面加一个起始位,后面加上1、1.5或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最后一位停止位,共10位。波特率 传送数据位的速率
3、称为波特率,用位秒(bit/s)来表示,称之为波特。异步通信的波特率的数值通常为:150、300、600、1200、2400、4800、9600、115200、14400、28800等,数值成倍数变化。校验位 在一个有8位的字节(byte)中,其中必有奇数个或偶数个的“1”状态位。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 异步串行通信中的字符传送格式u开始前,线路处于空闲状态,连续多个“1”;u开始时,先发一个“0”作为起始位;u然后是二进制数据和奇偶校验位(可选);u最后是一个及一个以上的“1”作为停止位;第第6 6章章 嵌入式系统总线接口嵌入式系统
4、总线接口 嵌入式系统设计嵌入式系统设计 uRS232-C是美国电子工业协会(EIA)制定的串行通讯标准;uRS232是一个全双工的通讯标准,它可以同时进行数据接收和发送的工作;uRS232标准包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,即RXD、TXD、GND信号;2 2RS232RS232概述概述第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 DB-25/DB-9引脚定义第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 RS-232C接口通信的两种基本连接方式第第6 6章章 嵌入式系统总线接口嵌入式系统总线接
5、口 嵌入式系统设计嵌入式系统设计 uTTL电平:S3C2410A使用TTL电平uRS232电平:双极性信号逻辑电平,它是一套负逻辑定义-3V到-25V之间的电平表示逻辑“1”+3V到+25V之间的电平表示逻辑“0”电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和RS-232电平之间实现相互转换。3 3电平转换电平转换第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 1 1S3C2410AS3C2410A的的UARTUART结构结构 S
6、3C2410 的UART(通用异步串行口)有三个独立的异步串行I/O 端口:UART0、UART1、UART2 UART支持的最高波特率达230.4kbps6.1.2 S3C2410A的UART第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 每个UART包含:u波特率发生器、接收器、发送器和控制单元u波特率发生器以PCLK或UCLK为时钟源u发送器和接收器各包含1个16 字节的FIFO和移位寄存器u当发送数据的时候,数据可以先写到FIFO然后拷贝到发送移位寄存器,然后从数据输出端口(TxDn)依次被移位输出u被接收的数据也同样可以从接收端口(RxDn)移位输
7、入到移位寄存器,然后拷贝到FIFO中第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 1.在使用UART之前需要设置的寄存器UART内部结构示意图-以Uart0为例FIFO控制中断使能及模式选择UART格式设置波特率设置UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUFCONnUBRDIVnUCONn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2.发送数据的通道UART内部结构示意图CPU内核通过APB接口对UART的
8、寄存器进行读写访问发送缓存发送移位寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCONn与CPU内核相连UTXHnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 3.接收数据的通道UART内部结构示意图接收缓存接收移位寄存器U0RBRU0RSRAPB接口UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连URXHnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设
9、计嵌入式系统设计 4.通信过程中可能影响的标志位UART内部结构示意图中断标志UART0当前状态U0RBRU0RSRAPB接口UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UCONnUTRSTATnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述Uart行控制寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVnP11D0D1
10、D2D3D4D5D6D70位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长ULCON寄存器:停止位(12位)数据(58位)奇偶校验位起始位第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART0相关寄存器描述字长:这些位控制数据长度。00:5位字符长度;01:6位字符长度;10:7位字符长度;11:8位字符长度;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选
11、择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART0相关寄存器描述停止位:控制每帧数据包含的停止位个数。0:1个停止位;1:2个停止位;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述奇偶选择:设置奇偶校验类型。
12、0XX:无奇偶校验;100:奇校验;101:偶校验;110:强制奇偶校验/校验1;111:强制奇偶校验/校验0;UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连ULCONnUBRDIVn位765:321:0功能保留红外/正常模式选择奇偶校验模式选择停止位字长Uart行控制寄存器第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART线控寄存器(ULCONn)的位功能 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描
13、述Uart控制寄存器位109876543:21:0功能波特率时钟选择发送中断请求类型选择接收中断请求类型选择Rx超时中断使能控制接收错误状态中断使能控制回送模式选择保留发送模式选择接收模式选择波特率时钟选择:0:使用PCLK 1:使用UclkUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连UCONnUBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器发送器空状态
14、位:0:发送器未空 1:发送器、发送缓冲器均空。U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器发送缓冲器空状态位:0:未空;1:空U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU
15、内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述位210功能发送器空状态位发送缓冲器空状态位接收缓冲器状态位Uart状态寄存器接收缓冲器空状态位:0:空;1:有数据U0RBRU0RSRUTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTRSTATnUBRDIVnAPB接口第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌
16、入式系统设计嵌入式系统设计 UART相关寄存器描述UTXHn描述复位值7:0发送数据缓冲寄存器,保存发送数据未定义发送/接收数据缓冲寄存器UTXHnShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnUFCONn与CPU内核相连UTXHnUBRDIVnAPB接口URXHnURXHn描述复位值7:0接收数据缓冲寄存器,保存接收数据未定义第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 UART相关寄存器描述名称描述复位值UBRDIV15:0波特率系数寄存寄存器:决定串行发送接收时钟率未定义Uart波特率系数寄存器UTXHn
17、ShifterTxD0URXHnShifterRxD0ULCONnUTRSTATnUCONnAPB接口UFCNn与CPU内核相连UBRDIVn第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 通过设置UCONn寄存器选择UART时钟是由S3C2410A的系统时钟(PCLK)产生还是由外部UART设备的时钟(UCLK)产生。波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,使用PCLK时的计算公式如下:UBRDIVn=(int)(PCLK/(bps x 16)-1 使用UCLK时的计算公式如下:UBRDIVn=(int)(UCLK/(bps x 16)
18、-1 其中PCLK 是系统时钟频率,UCLK是UART设备时钟。使用PCLK,在40MHz的情况下,当波特率取115200时 UBRDIVn=(int)(40000000/(115200 x 16)1=20波特率计算第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2.UART2.UART工作过程(以工作过程(以UART0UART0为例)为例)串口初始化u首先要设置相应I/O为TXD0、RXD0功能引脚;u然后通过ULCON0寄存器来设置串口数据格式;u然后通过UCON0寄存器来设置串口工作模式;u最后通过UBRDIV0来设置通讯波特率;第第6 6章章 嵌入式
19、系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 串口收发数据u发送:将待发送数据写入UTXH0寄存器,然后通过读取UTRSTAT0寄存器的值判断数据是否发送完成;u接收:通过读取UTRSTAT0寄存器的值判断是否接收到数据,如果接收到数据,则可以从URXH0寄存器中读出数据。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.3 与S3C2410A UART连接的串行接口电路1 1S3C2410A UARTS3C2410A UART与与RS-232CRS-232C的接口电路的接口电路 在图6.1.7中,包含有UART0和UART1与RS-2
20、32C的接口电路,通过9芯的D型插头与外设连接。也可设计数据发送与接收的状态指示LED,当有数据通过串行口传输时,LED闪烁,便于用户掌握其工作状态,以及进行软、硬件的调试。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 图6.1.7 S3C2410A的RS-232C接口电路 RS232电平TTL电平第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.1.4 S3C2410A UART编程实例 本程序实例实现从UART0接收数据,然后分别从UART0和UART1发送出去。其功能可以把键盘敲击的字符通过PC机的串口发送给AR
21、M系统上的UART0,ARM系统上的UART0接收到字符后,再通过UART0和UART1送给PC机,这样就完成了串口间的收发数据。要实现以上数据的收发功能,需要编写的主要代码如下。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 2 2主函数主函数 实现的功能为从UART0接收字符,然后将接收到的字符再分别从UART0和UART1送出去,其中Uart_Select(n)用于选择使用的传输通道为UARTn。代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统
22、设计嵌入式系统设计 第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 4 4发送数据发送数据 其中whichUart为全局变量,指示当前选择的UART通道,使用串口发送一个字节的代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 5 5接收数据接收数据 如果没有接收到字符则返回0。使用串口接收一个字符的代码如下:第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 对串口进行初始化时,首先要设置相应I/O 为TXD0、RXD0 功能引脚,然后通过ULCON0 寄存器来设置串口数据格式,通过
23、UCON0 寄存器来设置串口工作模式,最后通过UBRDIV0 来设置通讯波特率。使用串口发送数据时,将待发送数据写入UTXH0 寄存器,然后通过读取UTRSTAT0寄存器的值判断数据是否发送完成。当然,实际代码也可以先等待UTXH0 寄存器为空(通过读取UTRSTAT0 寄存器的值判断),再将数据写入UTXH0 寄存器。进行串口数据接收时,通过读取UTRSTAT0 寄存器的值判断是否接收到数据,如果接收到数据,则可以从URXH0 寄存器中读出数据。总结总结第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 6.2 I6.2 I2C C接口接口 6.2.1 I2C
24、 接口基本原理与结构 I2C BUS(Inter Integrated Circuit BUS,内部集成电路总线)是由Philips公司推出的二线制串行扩展总线,用于连接微控制器及其外围设备。如下图所示,在I2C总线上,只需要两条线串行数据SDA线和串行时钟SCL线,它们用于总线上器件之间的信息传递。SDA和SCL都是双向的。每个器件都有一个唯一的地址(读写不一样)以供识别,而且各器件都可以作为一个发送器或接收器(由器件的功能决定)。在标准模式下,总线数据传输的速度为100kbit/s,在高速模式下,可达400kbit/s;I2C总线有如下操作模式:主发送模式、主接收模式、从发送模式、从接收模
25、式。下面介绍其通用传输过程、信号及数据格式。第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 I2C简介电气连接 I2C总线接口均为开漏或开集电极输出,因此需要为总线增加上拉电阻Rp。RpRpVDDSCLSDASDA出SDA入SCL入SCL出SCLSDA器件1器件2I2C BUS总线速率越高,总线上拉电阻就越小,100Kbit/s总线速率,通常使用5.1K欧姆的上拉电阻第第6 6章章 嵌入式系统总线接口嵌入式系统总线接口 嵌入式系统设计嵌入式系统设计 (1)I2C总线的启动和停止信号 当I2C接口处于从模式时,要想数据传输,必须检测SDA线上的启动信号,启动信
展开阅读全文