嵌入式系统总线接口ppt课件

嵌入式系统总线接口ppt课件

ID:15358993

大小:1.60 MB

页数:101页

时间:2018-08-02

上传者:U-5097
嵌入式系统总线接口ppt课件_第1页
嵌入式系统总线接口ppt课件_第2页
嵌入式系统总线接口ppt课件_第3页
嵌入式系统总线接口ppt课件_第4页
嵌入式系统总线接口ppt课件_第5页
资源描述:

《嵌入式系统总线接口ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

ARM9嵌入式系统设计基础教程江苏大学计算机科学与通信工程学院通信工程系陈祖爵E-mail:chenzujue@126.comTEL:137753600082021/10/41 课程理论教学内容安排第1章嵌入式系统基础知识第2章ARM体系结构第3章32BitRISC微处理器S3C2410A第4章嵌入式系统的存储器系统第5章嵌入式系统输入/输出设备接口第6章嵌入式系统总线接口第7章嵌入式系统网络接口第8章嵌入式系统软件及操作系统基础第9章ARM汇编语言程序设计基础第10章Bootloader设计基础第11章Linux操作系统基础第12章嵌入式Linux软件设计第13章图形用户接口(GUI)2021/10/42 第6章嵌入式系统总线接口6.1 串行接口4-446.2I2C接口45-656.3USB接口66-866.4SPI接口87-1106.5PCI接口111-1216.6I2S总线接口122-1642021/10/43 6.1 串行接口6.1.1 串行接口基本原理与结构6.1.2S3C2410A的UART6.1.3与S3C2410A的UART连接的串行接口电路6.1.4S3C2410A的UART编程实例2021/10/44 6.1.1 串行接口基本原理与结构1.串行通信概述常用的数据通信方式有并行和串行两种。当传输距离较远时,往往以串行方式传输。串行通信是一位一位地传输,每一位数据占据一固定的时间长度。与并行通信相比,如果n位并行接口传送n位数据需时间T,则串行传送时间最少为nT。串行通信具有传输线少、成本低等优点,适合远距离传送。①串行数据通信模式串行通信有单工、半双工和全双工通信3种基本通信模式;●单工通信:数据仅能从设备A到设备B进行单一方向的传输。●半双工通信:数据可以从设备A到设备B进行传输,也可以从设备B到设备A进行传输,但不能在同一时刻进行双向传输。●全双工通信:数据可以在同一时刻从设备A传输到设备B,或从设备B传输到设备A,即可以同时双向传输。2021/10/45 ②串行通信方式串行通信可分为同步通信和异步通信两种方式。a.异步通信方式异步通信时数据是一帧一帧传送的,每帧数据包含有起始位(”0”)、数据位、奇偶校验位和停止位(”1”),每帧数据的传送靠起始位来同步。一帧数据的各位代码间的时间间隔是固定的,而相邻两帧的数据其时间间隔是不固定的。在异步通信的数据传送中,传输线上允许空字符。异步通信对字符的格式、波特率、校验位有确定的要求。2021/10/46 字符的格式、波特率●字符的格式传送时,前面加一起始位,最后加1、1.5或2位停止位。例如ASCII码传送时,一帧数据的组成是:前面1个起始位,接着7位ASCII编码,再接着一位奇偶校验位,最后一位停止位,共10位。●波特率传送数据位的速率称为波特率,用位/秒(bit/s)来表示,称之为波特。例如,数据传送的速率为120字符/秒,每帧包括10个数据位,则传送波特率为:10×120=1200b/s=1200波特每一位的传送时间是波特的倒数,如1/1200=0.833ms。异步通信的波特率的数值通常为:150、300、600、1200、2400、4800、9600、14400、28800等,数值成倍数变化。2021/10/47 校验位在一个8位的字节中,其中必有奇数个或偶数个的“1”状态位。对于偶校验就是要使字符加上校验位有偶数个“1”;奇校验就是要使字符加上校验位有奇数个“1”。例如数据“00010011”,共有奇数个“1”,当偶校验时,校验位就置“1”,反之,接收器要接收奇数个“1”时(即奇校验时),则校验位就置为“0”。一般校验位的产生和检查是由串行通信控制器内部自动产生,除了加上校验位以外,通信控制器还自动加上停止位,用来指明欲传送字符的结束。停止位通常取1、1.5或2个位。对接收器而言,若未能检测到停止位则意味着传送过程发生了错误。在异步通信方式中,在发送的数据中含有起始位和停止位这两个与实际需要传送的数据毫无相关的位。如果在传送1个8位的字符时,其校验位、起始位和停止位都为1个位,则相当于要传送11个位信号,传送效率只有约80%。2021/10/48 (2)同步通信方式为了提高通信效率可以采用同步通信方式。同步传输采用字符块的方式,减少每一个字符的控制和错误检测数据位,因而可以具有较高的传输速率。与异步方式不同的是,同步通信方式不仅在字符的本身之间是同步的,而且在字符与字符之间的时序仍然是同步的,即同步方式是将许多的字符聚集成一字符块后,在每块信息(常常称之为信息帧)之前要加上1~2个同步字符,字符块之后再加入适当的错误检测数据才传送出去。在同步通信时必须连续传输,不允许有间隙,在传输线上没有字符传输时,要发送专用的”空闲”字符或同步字符。在同步方式中产生一种所谓“冗余”字符,防止错误传送。假设欲传送的数据位当作一被除数,而发送器本身产生一固定的除数,将前者除以后者所得的余数即为该“冗余”字符。当数据位和“冗余”字符位一起被传送到接收器时,接收器产生和发送器相同的除数,如此即可检查出数据在传送过程中是否发生了错误。统计数据表明采用”冗余”字符方法错误防止率可达99%以上。2021/10/49 2.RS-232C串行接口RS-232C是美国电子工业协会EIA制定的一种串行通信接口标准。(1)RS-232C接口规格EIA所制定的传送电气规格如表6.1.1所示。RS-232C通常以±12V的电压来驱动信号线,TTL标准与RS-232C标准之间的电平转换电路通常采用集成电路芯片实现,如MAX232等。状态L(低电平)H(高电平)电压范围-25V~-3V+3V~+25V逻辑10名称SPACEMARK2021/10/410 25芯和9芯D型插接件引脚的定义2021/10/411 (2)RS-232C接口信号EIA制定的RS-232C接口与外界的相连采用25芯(DB-25)和9芯(DB-9)D型插接件,实际应用中,并不是每只引脚信号都必须用到,25芯和9芯D型插接件引脚的定义,与信号之间的对应关系如图6.1.1所示。RS-232CDB-9各引脚功能如下:●CD:载波检测主要用于Modem通知计算机其处于在线状态,即Modem检测到拨号音;●RXD:接收数据线用于接收外部设备送来的数据;●TXD:发送数据线用于将计算机的数据发送给外部设备;●DTR:数据终端就绪当此引脚高电平时,通知Modem可以进行数据传输,计算机已经准备好;2021/10/412 RS-232C接口信号●SG:信号地;●DSR:数据设备就绪此引脚为高电平时,通知计算机Modem已经准备好,可以进行数据通信;●RTS:请求发送此引脚由计算机来控制,用以通知Modem马上传送数据至计算机;否则,Modem将收到的数据暂时放人缓冲区中;●CTS:清除发送此引脚由Modem控制,用以通知计算机将要传送的数据送至Modem;●RI:振铃提示Modem通知计算机有呼叫进来,是否接听呼叫由计算机决定。2021/10/413 (3)RS-232C的基本连接方式计算机利用RS-232C接口进行串口通信,有简单连接和完全连接两种连接方式。简单连接又称三线连接,即只连接发送数据线、接收数据线和信号地,如下图。如果应用中还需要使用RS-232C的控制信号,则采用完全连接方式,如下图。在波特率不高于9600bps的情况下进行串口通信时,通信线路的长度通常要求小于15米,否则可能出现数据丢失现象。2021/10/414 3.RS-422串行通信接口RS-422标准是RS-232的改进型,RS-422标准全称是“平衡电压数字接口电路的电气特性”。允许在相同传输线上连接多个接收节点,最多可接10个节点,即一个主设备,其余10个为从设备,从设备之间不能通信。RS-422支持一点对多点的双向通信。RS-422四线接口由于采用单独的发送和接收通道,因此不必控制数据方向,各装置之间任何必需的信号交换均可以按软件方式(XON/XOFF握手)或硬件方式(一对单独的双绞线)实现。RS-422最大传输距离为1200m,最大传输速率为10Mb/s。传输速率与平衡双绞线的长度有关,只有在很短的距离下才能获得最高传输速率。在最大传输距离时,传输速率为100Kb/s。一般100m长的双绞线上所能获得的最大传输速率仅为1Mb/s。RS-422需要在电缆终端接一个匹配电阻,阻值约为传输电缆的特性阻抗。在短距离(300m以下)传输时可不连接电阻。2021/10/415 4.RS-485串行总线接口在RS-422基础上,EIA制定了RS-485标准,增加多点、双向通信能力。RS-485收发器采用平衡发送和差分接收,发送端将TTL电平信号转换成差分信号输出;接收端将差分信号变成TTL电平,具有抑制共模干扰的能力。接收器能够检测低达200mV的电压,具有高的灵敏度,故数据传输距离可达千米以上。RS-485用二线与四线方式,二线制实现多点双向通信。用四线连接时,只能实现点对多通信,RS-485可以连接32个设备。RS-485共模输出-7~+12V间,接收最小输入阻抗12kΩ.RS-485满足RS-422规范,RS-485的驱动器可在RS-422网络中应用。RS-485最大传输速率10Mb/s.最大距离时,速率为100Kb/s.RS-485传输总线的两端需终端电阻,电阻值约等于传输电缆的特性阻抗。在短距离传输(在300m以下)时可不需终端电阻。2021/10/416 6.1.2S3C2410A的UART1.UART简介UART(通用异步收发器)由数据线接口、控制逻辑、配置寄存器、波特率发生器、发送部分和接收部分组成,采用异步串行通信方式,采用RS-232C9芯接插件(DB-9)连接。UART以字符为单位进行数据传输,字符的传输格式如下图,包括线路空闲状态(高电平)、起始位(低电平)、5~8位数据位、校验位(可选)和停止位(位数可以是1、1.5或2位)。这种格式通过起始位和停止位来实现字符的同步。UART内部一般具有配置寄存器,通过该寄存器可以配置数据位数(5~8位)、是否有校验位和校验的类型以及停止位的位数(1位、1.5位或2位)等。2021/10/417 2.S3C2410A的UART结构S3C2410AUART提供3个独立异步串行I/O口,都可运行于中断或DMA模式。UART可产生中断或DMA请求,在CPU和UART间传输.在系统时钟下,UART支持最高230.4Kbps传输速率.如外部设备通过UEXTCLK为UART提供时钟,UART传输速率可更高。每个UART通道包含两个用于接收和发送数据的16字节的FIFO缓冲寄存器。S3C2410A的UART由波特率发生器、发送器、接收器以及控制单元组成。波特率发生器的时钟可以由PCLK或UEXTCLK提供。发送器和接收器包含16字节的FIFO缓冲寄存器和数据移位器。发送时,数据被写入FIFO,然后拷贝到发送移位器中,接下来数据通过发送数据引脚(TxDn)被发送。接收时,接收到的数据从接收数据引脚(RxDn)移入,然后从移位器拷贝到FIFO中。2021/10/418 S3C2410A的UART方框图(具有FIFO)2021/10/419 3.S3C2410AUART的操作S3C2410A的UART的操作包含有数据发送、数据接收、中断产生、波特率发生、回送模式、红外模式和自动流控制等。(1)数据发送发送的数据帧是可编程。包括1个起始位、5~8个数据位、1个可选的奇偶校验位和1~2个停止位,具体设置由行控制寄存器(ULCONn)确定。发送器还可以产生暂停状态,在一帧发送期间连续输出“0”。在当前发送的字完全发送完成之后发出暂停信号。在暂停信号发出后,继续发送数据到TxFIFO(发送保持寄存器在非FIFO模式)。(2)数据接收接收的数据帧是可编程的。它包括1个起始位,5~8个数据位、1个可选的奇偶校验位和1~2个停止位,具体设置由行控制寄存器(ULCONn)确定。接收器可以检测溢出错误和帧错误。溢出错误指新数据在旧数据还没有被读出之前就将其覆盖了。帧错误指接收的数据没有有效的停止位。当在3个字时间段没有接收任何数据和在FIFO模式RxFIFO不空时,产生接收暂停状态。2021/10/420 (3)自动流控制(AFC)S3C2410A的UART0和UART1使用nRTS和nCTS信号支持自动流控制(查询方式)。可将UART连接到Modem,则需要通过软件来禁止UMCONn寄存器中的自动流控制位并控制nRTS信号。AFC状态,nRTS根据接收器的状态和nCTS信号控制发送器操作。当nCTS有效时(在AFC状态,nCTS表示其他UART的FIFO已经准备好接收数据),UART的发送器才发送在FIFO中的数据。在UART接收数据之前,当其接收FIFO具有多余2字节的空闲空间时,nRTS有效;如果其接收FIFO的空闲空间少于1字节,则nRTS无效(在AFC状态,nRTS指示它自己的接收FIFO已经准备好接收数据)。2021/10/421 (4)RS-232接口如果用户希望将UART连接到Modem接口,则需要使用nRTS、nCTS、nDSR、nDTR、DCD和nRI信号。在这个状态,用户可以使用通用的I/O接口,通过软件来控制这些信号,因为AFC不支持RS-232C接口。2021/10/422 (5)中断DMA请求产生S3C2410A的每个UART有5个状态信号:溢出错误、帧错误、接收缓冲数据准备好、发送缓冲空和发送移位器空。状态通过相关的状态寄存器指示。溢出错误和帧错误指示接收数据时发生的错误状态。如控制寄存器中的接收模式置为1(中断请求模式或查询模式),在FIFO模式,当接收器将接收的数据传送到接收FIFO寄存器中,且接收的数据达到RxFIFO触发时,产生Rx中断。在非FIFO模式,如果采用中断请求和查询模式,当把接收移位器中的数据传送到接收保持寄存器中时,产生Rx中断。如控制寄存器中的发送模式置为1(中断请求模式或查询模式),在FIFO模式,当发送器发送FIFO的数据到发送移位器中,且发送FIFO中剩余的数据达到TxFIFO触发时,产生Tx中断。在非FIFO模式,如果采用中断请求和查询模式,当把发送保持寄存器中的数据传送到发送移位器时,将产生Tx中断。如在控制寄存器中的接收模式和发送模式选择了DMAn请求模式,那么在上面提到的情况下将产生DMAn请求,而不是Rx或Tx中断。2021/10/423 波特率的产生、回送和红外模式(6)波特率的产生UART的波特率发生器为发送器和接收器提供时钟。波特率发生器的时钟源可使用内部系统时钟或UEXTCLK。通过设置UCONn的时钟选择位可设置分频值。波特率时钟可通过对源时钟(PCLK或者UEXTCLK)16分频和对在UART波特率系数寄存器(UBRDIVn)中的16位分频数设置得到。(7)回送模式S3C2410ADART提供一种测试模式(回送模式),用于发现通信连接中的孤立错误。该模式在结构上使UART的RXD与TXD连接。发送的数据通过RXD被接收器接收。使处理器能够验证每个SIO通道内部发送和接收数据的正确性。该模式通过设置UART控制寄存器(UCONn)的回送位来进行选择。(8)红外模式S3C2410A的UART模块支持红外发送和接收,该模式可以通过设置UART行控制寄存器(ULCONn)中的红外模式位来选择。2021/10/424 6.1.3与S3C2410A的UART连接的串行接口电路1.S3C2410AUART与RS-232C的接口电路要完成最基本的串行通信功能,实际上只需要RXD、TXD和GND即可。由于RS-232C标准所定义的高、低电平信号与S3C2410A系统的LVTTL电路所定义的高、低电平信号不同,RS-232C标准采用负逻辑方式,标准逻辑“1”对应-5V~-15V电平,标准逻辑“0”对应+5V~+15V电平。而LVTTL的标准逻辑“1”对应2~3.3V电平,标准逻辑“0”对应0~0.4V电平。显然,两者间要进行通信必须经过信号电平的转换。目前常使用的电平转换电路有MAX232等。S3C2410A与MAX232的接口电路如4.21所示,关于MAX232更具体的内容可参考MAX232的用户手册(www.maxim-ic.com)。在下图中有UART0和UART1与RS-232C的接口电路,通过9芯的D型插头与外设连接。也可设计数据发送与接收的状态指示LED,当有数据通过串行口传输时,LED闪烁,便于用户掌握其工作状态,以及进行软、硬件的调试。2021/10/425 S3C2410A的RS-232C接口电路2021/10/426 2.S3C2410AUART与RS422和RS485接口电路一个采用MAX487与S3C2410A的UART1连接,构成支持RS422和RS485接口电路如下图。RS422至少分别有一个差分发送口和差分接收口。两节点通信时,一方的发送口与另一方的接收口相连,需两根线。RS422不能直接用于三点以上的直接互连,也不能直接用总线连接。电路中采用两片MAX487E,分别构成RS422的发送和接收通道。RS485的差分发送口与自身的差分接收口同相并连,多点间连接通过RS485总线只需一对线。电路中采用一片MAX487E构成RS485的发送和接收通道。2021/10/427 MAX487E的引脚端功能MAX487E的引脚端功能如下:引脚端RO为接收器输出,如果A>B200mV,RO将是高电平;如果A

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭