第09章-串行通信接口要点课件.ppt

上传人:小飞机 文档编号:4095722 上传时间:2023-04-03 格式:PPT 页数:64 大小:1.51MB
返回 下载 相关 举报
第09章-串行通信接口要点课件.ppt_第1页
第1页 / 共64页
第09章-串行通信接口要点课件.ppt_第2页
第2页 / 共64页
第09章-串行通信接口要点课件.ppt_第3页
第3页 / 共64页
第09章-串行通信接口要点课件.ppt_第4页
第4页 / 共64页
第09章-串行通信接口要点课件.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《第09章-串行通信接口要点课件.ppt》由会员分享,可在线阅读,更多相关《第09章-串行通信接口要点课件.ppt(64页珍藏版)》请在三一办公上搜索。

1、1,第9章 串行通信接口,主要内容:1、串行传送的基本概念 2、串行通信的数据格式 3、串行通信接口标准 4、串行通信接口的任务及组成 5、可编程串行接口芯片8251A 6、采用RS-232标准的全双工异步串行通信接口电路设计 7、采用RS-485标准的异步串行通信接口电路设计 8、PC微机异步通信适配器的分析和使用重点内容:1、串行接口电路的标准及使用 2、UART的工作原理及应用,2,3,第9章 串行通信接口,9.1 串行通信的基本概念,通信方式,并行通信(B/s),串行通信(b/s),一、串行通信的特点,(1)用一根传输线一位一位地传送数据和联络信息;,(2)固定的数据格式(异步和同步数

2、据格式),(3)信号的逻辑定义和TTL不兼容,需进行逻辑关 系和逻辑电平的转换;,(4)双方按约定的通信传输的波特率通信;,4,第9章 串行通信接口,二、串行通信双方需解决的问题,(1)双方发送和接收数据的速率波特率(2)双方的数据格式帧格式(3)双方的数据开始与结束的确定帧同步(4)双方的数据的采样位同步(5)接收方的数据的正确性数据校验(6)接收方出错如何处理 通信协议:通信双方对数据格式、同步方式、传送速度、传送步骤、检纠错方式及控制字符定义等问 题作出的统一规定,通信双方式必须共同遵 守的这些约定。,5,第9章 串行通信接口,三、串行数据传送方向,1、单工传送方式,2、半双传送方式,6

3、,第9章 串行通信接口,3、全双传送方式,收接和发送开关是由软件控制的电子开关。电话线是全双工。,7,第9章 串行通信接口,四、信号的调制和解调,五、信息的检错与纠错,1、奇偶校验或方阵检错 只能查错无纠正错误能力,以反馈重发方式纠错。,2、循环冗余码CRC,能查错并有自动纠正错误能力。,8,第9章 串行通信接口,1 1 0 1 0 0 1,0 1 0 0 0 0 0,1 0 1 0 1 0 1,1 1 1 1 0 0 1,1 1 0 0 0 0 1,0,1,偶校验,0,1,1,方阵检错,0,0,0,0,1,0,0,1,检验字符,在接收时数据块读出产生一个检验字符,将这个字符与发送来的检验字符

4、进行比较,不同表明有错重发。,9,第9章 串行通信接口,六、波特率与发送/接收时钟,1、波特率,单位时间内传送二进制数据的位数。,例:在异步串行通信中,传送一个字符,包括12位 其中有1个起始位,8位数据位,1个偶校验位,2个停止位,其传输速率是1200b/s,求:每秒 传送的字符的个数是多少个?,10,第9章 串行通信接口,2、发送/接收时钟,在发送数据时,发送器在发送时钟(下降沿)作用将发送移位寄存器的数据按位串行移位输出;在接收数据时,接收器在接收时钟(上升沿)作用下对来自通信线上串行数据,按位串行移入接收移位寄存器。,在实际数据传输过程中,收接器的采用比特率比发送器高得多的频率的时钟来

5、提高定位采样的分辨率和抗干扰能力。原因在于发送器发送过一个数据后,接收器可通过更高的时钟频率对传送过来的数据进行多次采样,不仅有利于实现收发同步,而且有利于抗干扰和提高异步通信的可靠性。(16倍、64倍等),11,第9章 串行通信接口,3、波特因子,是发送/接收1位数据所需要的时钟脉冲个数。,发/收时钟脉冲与波特率关系:,发/收时钟 Txc=Baud Factor,在异步通信中Factor=16,在同步通信Factor=1,在波特因子选定的情况下,可利用改变发/收时钟频率来控制串行通信的波特率。,4、传输距离与传输速率的关系,12,第9章 串行通信接口,七、串行通信的基本方式,1、异步串行通信

6、方式,以字符为信息单位传送的。一帧字符用起始位和停止位来完成收发同步。同一个字符的位与位是同步的,字符与字符间是异步的。,数据流的分界、定时及同步的方法的不同,2、同步串行通信方式,以数据块为信息单位传送,每帧信息包括多个字符,靠同步字符来完成收发双方同步的。同步通信不仅字符内部的位传送时同步的,字符与字符之间传送也是同步的,双方必须使用同一时钟来控制数据块传输过程中的定时。,13,第9章 串行通信接口,9.2 串行通信的数据格式,一、起止式异步通信数据格式,一帧数据的格式,起始位0、数据位58、校验位1和停止位12。,双方通信是靠起止位和停止位来完成信息传输的同步。,14,第9章 串行通信接

7、口,二、面向字符的同步通信数据格式,一次传送由若干个字符组成的数据块,并规定10个特殊字符组成的通信控制字作为数据块的开头、结束标志及整个传输过程的控制信息。,SYN:同步字符。,SOH:序始字符,表示标题的开始。,标题:源地址、目标地址和路由指示等。,STX:文始字符,表示数据块的开始。,ETB/ETX:组终/文终字符,表示传送数据块的组的结束及块的 结束。,块校验:它对SOH至ETB/ETX段信息的校验码。,15,第9章 串行通信接口,9.3 串行通信接口标准,在串行通信中,数据终端设备DTE与数据通信设备DCE之间的连接,要符合接口标准,目前使用最广泛的是串行标准 RS-232C、RS-

8、423、RS-422A、RS-485。RS-232C美国电子工业协会(EIA)在1969年为了电话网络进行数据通信而公布的数据通信标。通过调制将逻辑“1”和“0”的高低电压转换成高、低不同的频率在电话网络中传送,在接收端用解调器把不同的频率变在一系列高低电压以表示“1”和“0”。,16,RS-232C串行通信标准定义说明:,当初制定此标准的目的是为了使不同厂家生产的设备能达到接插的“兼容性”。也就是说不同厂家所生产的设备,只要它们都有具有RS-232C标准接口,则不需要任何转换电路,就可以互相插接起来。这个标准仅保证硬件兼容而没有软件兼容。此外,用它进行数据传输时,由于线路的损耗和噪声干扰,传

9、输距离一般不超过15m。通常两计算机的近距离通信可以通过RS-232C标准接口连接起来。,最初是为远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equipment)而制定的。,RS-232C标准包括机械指标和电气指标。,第9章 串行通信接口,17,1.电气特性,一、RS-232C串行通信标准,逻辑电平,逻辑1(MARK)=-3V-15V逻辑0(SPACE)=+315V,在TxD和RxD上,信号有效(接通,ON状态,正电压)=+3V+15V信号无效(断开,OFF状态,负电压)=-3V-15V,在RTS、

10、CTS、DSR、DTR和DCD等控制线上,!RTS:为请求发送信号。DTEDCE!CTS:为允许发送信号。DCE DTE!DSR:为数据装置准备好信号。有效时,表明DCE可以使用!DTR:为数据终端准备好信号。有效时表明DTE可以使用。!DCD:载波检测输出。,第9章 串行通信接口,18,1.电气特性,TTL-EIA电平转换,为了能够同计算机接口或终端的TTL器件连接,必须在EIA-RS-232C与TTL电路之间进行电平和逻辑关系的变换。,集成转换器件TTLEIAMC1488、SN75150EIATTLMC1489、SN75154TTLEIA MAX232,232C接口采用EIA电平高电平为3

11、V15V低电平为3V15V实际常用12V或15V,标准TTL电平高电平:2.4V5V低电平:0V0.4V,相互转换,第9章 串行通信接口,19,2.连接器的机械特性,DB-25,异步通信的9个电压信号(含信号地SG):2,3,4,5,6,7,8,20,22 20mA电流环信号 9个:12,13,14,15,16,17,19,23,24 空引脚6个:9,10,11,18,21,25 保护地(PE)1个,作为设备接地端:1,第9章 串行通信接口,20,DB-9,AT机以后(不支持20mA电流环接口),使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供

12、异步通信的9个信号。,DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。,第9章 串行通信接口,21,3.RS-232C的接口信号,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,第9章 串行通信接口,22,(1)联络控制信号线,TxD:发送数据串行数据的发送端RxD:接收数据串行数据的接收端,第9章 串行通信接口,23,RTS:请求发送当数据终端设备准备好送出数据时,就发出有效的RTS信号,用于通知数据通信设备准备接收数据CTS:清除发送(允许发送)(请求响应)当数据通信设备已准备好接收

13、数据终端设备的传送数据时,发出CTS有效信号来响应RTS信号RTS和CTS是数据终端设备与数据通信设备间一对用于数据发送的联络信号(握手信号),第9章 串行通信接口,24,DTR:数据终端准备好通常当数据终端设备一加电,该信号就有效,表明数据终端设备准备就绪DSR:数据装置准备好通常表示数据通信设备(即数据装置)已接通电源连到通信线路上,并处在数据传输方式DTR和DSR也可用做数据终端设备与数据通信设备间的联络信号,例如表示设备的状态,第9章 串行通信接口,25,SG:信号地为所有的信号提供一个公共的参考电平DCD:载波检测(DCD)当本地调制解调器接收到来自对方的载波信号时,该引脚向数据终端

14、设备提供有效信号RI:振铃指示当调制解调器接收到对方的拨号信号期间,该引脚信号作为电话铃响的指示、保持有效,第9章 串行通信接口,26,PG:保护地(机壳地)起屏蔽保护作用的接地端,一般应参照设备的使用规定,连接到设备的外壳或大地TxC:发送器时钟控制数据终端发送串行数据的时钟信号RxC:接收器时钟控制数据终端接收串行数据的时钟信号,第9章 串行通信接口,27,二、串行口互连,微机利用232C接口连接调制解调器,用于实现通过电话线路的远距离通信,第9章 串行通信接口,28,9.1 串行接口系统概述,9.1.4 RS-232C串行通信标准,29,1.零Modem 的最简连线(3线制),微机利用2

15、32C接口直接连接进行短距离通信。这种连接不使用调制解调器,所以被称为零调制解调器(Null Modem)连接。,第9章 串行通信接口,30,2.零Modem标准连接,第9章 串行通信接口,31,第9章 串行通信接口,3、信号线的连接和使用,(1)采用MODEM时RS-232C信号线的使用,二、RS-422/RS-423接口标准 1.特点:(1)采用平衡发送器和差动接收器,由于是双线传输,大大提高了抗共模干扰的能力。因为是两条传输线的电位差决定逻辑电平AA-BB+200mV,表示“0”(2)传输速率 10Mbps(15m时)90Kbps(1200m时)2.连接,三、RS-485接口标准1.特点

16、:(1)兼容RS-422A,扩展RS-422A的功能;(2)允许在电路中有多个发送器和允许一个发送器驱动多个接收器,多达32个收/发器;(3)搞干扰能力强,传送距离远,传输速率高。数传率:100Kbps 1.2Km 不用MODEM 9.6Kbps 15Km 10Mbps 15m四、几种标准的比较 见书224,表9.3列出,RS-232,423,422,485几种标准的工作方式,直接传输最大距离,最大数传率等参数。,34,第9章 串行通信接口,9.4 串行通信接口的任务及组成,一、串行通信接口的基本任务,1、实现数据格式化,2、进行串行与并行转换,3、控制数据传输速率,4、进行错误检测,5、进行

17、TTL与EIA电平转换,6、提供符合EIA-RS-232C接口标准所要求的信号线,二、串行通信接口电路的组成,由可编程的串行接口芯片、波特率发生器、EIA与TTL电平转换器及地址译码电路组成。,35,9.2 可编程串行口控制器8250,9.2.1 8250的逻辑结构和引脚功能,PC微机异步通信适配器是微机与微机、微机与MODEM及微机与外设之间进行异步通信的接口。其核心是通用异步收发传输器UART 常见的UART主要有INS8250、PC16450和PC16550。此外,还有带更大缓冲的UART,称为PC16650和PC16750。,第9章 串行通信接口,36,37,16550引脚简介数据信号

18、D7-D0:8根数据线和CPU数据总线连接。与地址有关的信号:CS0、CS1、!CS2、!ADS。当CS0=CS1=1、!CS2=0时,16550可被CPU访问,并由A2-A0选择要访问的寄存器。地址选通信号!ADS为低电平时,锁存三个片选信号以及A2-A0的输入状态。读写控制信号。16550有两对读写控制信号,两对信号功能完全相同,只不过是信号电平不同而已。RD、WR为高电平有效,!RD、!WR为低电平有效。,第9章 串行通信接口,38,中断控制和复位信号。16550具有中断控制和中断优先级处理能力,INTR引脚产生高电平有效地中断请求信号。PC中,使用OUT2来控制中断请求信号INTR的输

19、出,而OUT1没有使用。MR是复位信号,通常与系统RESET信号连接,在系统复位时对16550复位。时钟信号。XIN和XOUT是16550的主时钟引脚,晶体振荡器可连接在它们两者之间,或者XIN与外部时钟源连接。BAUDOUT输出是由发送器的波特率发生器产生的时钟信号,它常与RCLK输入连接,产生与发送器相等的接收器时钟。,第9章 串行通信接口,39,与通信设备连接的信号。请求发送RTS、允许发送CTS、数据终端准备好DTR、数据装置准备好DSR、振铃RI、载波检测DCD、串行数据信号RxD和TxD。这些信号经过EIA驱动器驱动后与9脚D型连接器相连。数据就绪信号。RxRDY和 TxRDY是接

20、收器和发送器的就绪信号,常用于DMA方式控制数据传送。,第9章 串行通信接口,40,16550内部有12个8位寄存器,但是只有8个端口地址,用8个地址表示12个寄存器,所采取的措施如下:发送保持寄存器THR 和 接收数据寄存器RBR 共用一个地址,以读写信号来加以区分。以读方式访问RBR,以写方式访问THR波特率除数寄存器的高字节TLH与中断允许寄存器IER使用相同的地址;波特率除数寄存器的低字节TLL与接收数据寄存器RBR和发送保持寄存器THR使用相同的地址,为了区分,借用线路控制寄存器LCR的最高位DLAB位来区分,第9章 串行通信接口,41,16550内部寄存器地址及其选择方法,第9章

21、串行通信接口,42,表 LCR格式,1,线路控制寄存器(LCR:Line Control Register)用于指定异步串行通信的数据格式,第9章 串行通信接口,43,2,线路状态寄存器(LSR:Line Status Register):只读存储器,用来向CPU提供数据接收和发送时的状态。这些状态可以被CPU查询,也可以触发中断请求。LSR格式,第9章 串行通信接口,44,3,波特率除数寄存器(TLH与TLL),波特率除数寄存器分为高字节寄存器TLH和低字节寄存器TLL该寄存器用于存放除数寄存器值,从而确定波特率。除数寄存器值不同,则波特率不同。(分频系数:在基准时钟频率的基础上所作的分频。

22、)除数寄存器值=基准时钟频率(16波特率)注:16为分频系数,即每16个基准时钟频率才会发送一位二进制数据在写入除数之前,应将线路控制寄存器的最高位DLAB置1,只有这样才可以访问到除数寄存器由于除数是16位的,所以应分别向TLH和TLL两个端口分别写入除数值的高8位和低8位。16550芯片输入的基准时钟频率为1.8432MHz,第9章 串行通信接口,45,常用波特率常数,第9章 串行通信接口,46,4,中断允许寄存器(IER:Interrupt Enable Register):16550有4级中断,按优先级从高到低依次为:接收出错中断、接收缓冲器满中断、发送保持寄存器空中断和MODEM输入

23、状态改变中断。这些中断的允许或屏蔽由IER来控制,IER格式,只要IER寄存器的相应位写“1”就允许中断请求,写“0”就禁止中断请求,第9章 串行通信接口,47,5,中断标识寄存器(IIR:Interrupt identifier Register):如果16550工作于中断方式,IIR指出有无待处理的中断发生及其类型,并封锁比此类优先级低的所有类型中断。IIR格式,为了具体识别究竟是哪种事件引起的中断(即中断源),UART内部设置了中断识别寄存器IIR。它保存着在请求中断的中断类型编码。IIR是只读寄存器,它的内容随中断源而改变。,第9章 串行通信接口,48,6,发送保持寄存器(THR:Tr

24、ansmit Holding Register):该寄存器寄存CPU写入的一字节数据,在发送移位寄存器空闲时,自动转存到发送移位寄存器。按照编程制定的帧格式,发送移位寄存器为每一个数据添加起始位、校验位和停止位,转换成串行数据,在发送器时钟的控制下,经SOUT端一位一位地发送出去。7,接收缓冲寄存器(RBR:Receive Buffering Register):在接收器时钟的控制下,接收移位寄存器从SIN端子接收的一帧数据,去掉起始位、校验位和停止位,转换成并行数据送接收缓冲寄存器等待cpu读取。,第9章 串行通信接口,49,16550芯片数据传输过程,由于CPU与接口之间按并行方式传输,接

25、口与外设之间按串行方式传输,因此,在串行接口中,必须要有“接收移位寄存器”(串并)和“发送移位寄存器”(并串)。,第9章 串行通信接口,50,8,MODEM控制寄存器(MCR)。控制芯片的4个管脚的输出和芯片的环路检测。MCR的格式如表7所示。MCR格式,第9章 串行通信接口,51,9,MODEM状态寄存器(MSR)。反映UART与通信设备(如MODEM)之间联络信号的当前状态以及这些信号的变化情况。MSR格式,第9章 串行通信接口,52,10,FIFO控制寄存器(FCR)。16550有一个FIFO缓冲器,用于缓冲正在发出或接收的数据。FCR格式,第9章 串行通信接口,53,16550编程举例

26、,1初始化串行通信口,一 查询方式异步串行通信编程,在查询方式下异步通信编程一般有三个部分:初始化、发送一个字符及接收一个字符。下面以串行口COM1(端口地址3F8H)为例,分别说明这三个部分的编程方法。,初始化串行通信口的内容是:确定数据传输帧格式(包括数据位长度、停止位长度及有无奇偶校验和校验的类型)、确定传输波特率以及确定INS8250操作方式。操作方式是指自发自收的循环反馈方式(用于诊断)还是通常的两点之间的通信方式,是程序查询方式传送还是中断方式传送。,第9章 串行通信接口,54,1初始化串行通信口,初始化的一般方法是按一定的步骤分别对线路控制寄存器LCR、波特率除数寄存器TLL、T

27、LH 和 MODEM控制寄存器MCR等进行参数写入操作,其参数是在程序中由指令分散设定的;通过写除数寄存器TLL与TLH设置波特率通过写线路控制寄存器LCR设置通信数据格式通过写MODEM控制寄存器MCR设置MODEM控制字通过写中断允许寄存器IER设置中断允许控制字,第9章 串行通信接口,55,1初始化串行通信口,MOVDX,LCR;线路控制寄存器地址MOVAL,80HOUTDX,AL;使DLAB=1,以便下面写除数寄存器MOVDX,DLL;低位除数寄存器MOVAL,0CH;9600波特率的除数低8位OUTDX,ALMOVAL,00HINCDX;高位除数寄存器OUTDX,AL,第9章 串行通

28、信接口,56,MOV AL,00011011b;偶校验、1位停止位;8位数据位MOV DX,LCR;线路控制寄存器地址OUTDX,ALMOVAL,03H;MOVDX,MCR;MODEM控制寄存器地址OUTDX,ALMOVAL,0;禁止中断MOVDX,IER;中断允许寄存器地址OUTDX,AL,57,1发送一个字符程序,一 查询方式异步串行通信编程,采用查询方式下的字符发送编程,有两种方法:第一种方法,近距离传送不考虑RS-232C的MODEM控制信号,CPU只要检测到INS8250发送保持寄存器为空(即线路状态寄存器D5=1),即可向发送保持寄存器输出一个字符;第二种方法,考虑到发送持续的通用

29、性,即可能用于远距离通信的要求,故应按照RS-232C配置MODEM时的控制规则去处理。在这种情况下,发送方首先要使RTS和DTR有效,即在MCR中使RTS=DTR=1。然后,检测MODEM状态寄存器MSR,只有当MSR中的CTS和DSR有效,CPU才可按第一种方法向INS8250输出一个字符。按第二种方法编写发送程序的流程图如图5-8所示。,第9章 串行通信接口,58,2发送一个字符程序,自行思考与实现:如果采取第一种方法发送一个字符,程序该如何编写,第9章 串行通信接口,59,3接收一个字符程序,采用查询方式接收一个字符的编程,也有两种方法第一种方法是不考虑RS-232C的MODEM控制信

30、号,CPU只要检测到INS8250的接收数据寄存器准备好(即线路状态寄存器D0=1),即可从接收数据寄存器读取一个字符;第二种方法,考虑到发送持续的通用性,即可能用于远距离通信的要求,故应按照RS-232C配置MODEM时的控制规则去处理。在这种情况下,接收方首先要在MCR中设置数据终端就绪信号(DTR=1),然后,检测MODEM状态寄存器MSR。只有当MSR中的数据设备就绪信号DSR=1有效,CPU才可按第一种方法从INS8250接收一个字符。按第二种方法编写接收程序的流程图见下页。,一 查询方式异步串行通信编程,第9章 串行通信接口,60,3接收一个字符程序,自行思考与实现:如果采取第一种

31、方法发送一个字符,程序该如何编写,第9章 串行通信接口,61,REV_SHOW子程序流程图,第9章 串行通信接口,62,1通信中断初始化,二.中断方式异步串行通信编程,(1)修改中断向量,使新的中断向量指向自行编制的通信中断程序。(2)确定16550的操作方式,设置中断允许寄存器相应位的允许或禁止(选择中断源类型),并允许中断操作(置MCR的OUT2有效(该步骤原因详见教材P274)。(3)确定起止式通信协议,设置通信波特率及数据桢传输格式。(4)开放通信中断,对8259A中断控制器的屏蔽寄存器编程(OCW1),开放串口中断。,第9章 串行通信接口,2通信中断主程序,该程序没有统一的模式,完全

32、随用户应用的要求自行编制。,63,3通信中断服务程序,该程序是中断处理的核心,一般分成以下3段:(1)判断发生中断的中断源类型,通过读取中断识别寄存器(IIR)的标识位,找到相应中断服务程序的入口地址。(2)中断处理,对不同的中断类型,进行不同的处理:如果是接收数据寄存器就绪中断则从INS8250数据寄存器读取数据如果是发送保持寄存器空中断,则从内存读取字符写到16550发送保持寄存器如果是接收数据出错引起的中断,则从16550线路状态寄存器读取状态进行分析,根据错误终止或作出相应的处理;如果是MODEM状态变化引起的中断,则从16550的MODEM状态寄存器读取状态进行分析,根据状态变化,作出相应的处理。,第9章 串行通信接口,64,3通信中断服务程序,(3)判断是否有尚未处理的中断。每种中断源处理后,要继续判别中断识别寄存器的最低位IP是否为0。若为0,则输入标识位指示的相应中断处理;若为1,则结束中断处理(通常发中断结束命令EOI到中断控制器),并以IRET返回被中断的通信程序。,第9章 串行通信接口,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号