1第六章串并行通信和接口技术本章重点:1、计算机与外设的通信方式2、8251A的编程结构和功能结构3、8251A的初始化和应用4、8255A的编程结构5、8255A的工作方式6、8255A的初始化和应用2计算机与外设的通信方式1、并行方式2、串行方式数据各位通过信号线同时传输数据一位一位的通过同一信号线传输用的传输线多用的传输线少速率高速率低适于近距离传输适于远距离传输目录6.1概述36.2串行接口和串行通信一、串行接口1、适用场合:外设和计算机按串行方式进行通信。目录可编程串行接口的典型结构保存传输状态CPU给接口的控制信息保存CPU送外设的数据保存外设送CPU的数据5二、串行通信数据传送方式(1)单工方式发送器接收器只允许数据按一个固定方向传输。1、按数据传输时发送过程和接收过程的关系划分(2)半双工方式输入输出使用同一通路,需分时传输。发送器/接收器A发送器/接收器B6(3)全双工方式接收和发送采用不同的通路,A、B可同时发送和接收,两方资源完全独立。发送器/接收器A发送器/接收器B(1)同步通信1)概念:将要传输的数据组成一信息块(帧),每信息块开头加上同步字符,在约定的波特率下,使数据一个接一个的从发送端到接收端。2、按时钟对通信过程的定时方式划分2)基本特点(2)数据流中字符与字符间和字符内的各位间都同步;(3)发送端和接收端须用同一时钟信号同步。(1)以一个数据块(帧)为传输单位,每块开头用同步字符指示。~~~~同步字符数据数据数据校验字符3)优点4)缺点:硬件电路复杂。(2)适于传大量的数据(1)传送效率高同步要求每个数据内各位都按预定频率传送,数据间不允许有间隙,若有用同步字符填充,收发时钟严格同步。9(2)异步通信1)概念将要传输的数据分成小段,发送端在约定的波特率下发送数据,接收端按约定的波特率接收,不需发同步信号。2)基本特点(2)串行异步通信以字符为单位进行传输,其通信协议是起止式异步通信协议。(1)字符之间异步,字符内各位基本同步。二、串行通信数据传送方式10标准(起止式)异步通信协议格式起始位——每个字符开始传送的标志,起始位采用逻辑0电平。起始位校验位停止位空闲位数据位低位高位字符0/10/10/10/110111…数据位——数据位紧跟着起始位传送。由5~8个二进制位组成,低位先传送。校验位——用于校验是否传送正确;可选择奇检验、偶校验或不传送校验位。停止位—表示该字符传送结束。停止位采用逻辑1电平,可选择1、1.5或2位。空闲位——传送字符之间的逻辑1电平,表示没有进行传送。标识态3)优点4)缺点对时钟同步要求不严格。接收到起始位后,只要在一个字符传输时间内收发器保持同步就能正确接收。传送效率低。控制信息至少占总信息的20%。注:通信时,收发双方必须遵守共同的通信协议(通信规程),才能解决传送速率、信息格式、位同步、字符同步、数据校验等问题。12三、串行通信的传输率1、概念1)传输率:每秒钟传输的二进制数据的位数,又称波特率。2)发送时钟:异步方式通信时,发送端需用时钟决定每一位对应的时间长度,该时钟称发送时钟。国际上规定的标准波特率:110、300、600、1200、1800、2400、4800、9600、19200。4)波特率因子:接收时钟或发送时钟频率与位传输率的比。注:接收时钟或发送时钟频率可以是位传输率的16、32或64倍。3)接收时钟:异步方式通信时,接收端需用时钟测定每一位的时间长度,该时钟称接收时钟。例1、在一串行通信系统中,传送速率为960字符每秒,每个字符是10位,则波特率为多少?960×10=9600bit/s(bps)2、例例2、异步传输过程:设每个字符对应1个起始位、7个信息位、1个奇偶校验位和1个停止位,如果波特率为1200bps,那么,每秒钟能传输的最大字符数为多少个?1200/(1+7+1+1)=120个。例3、同步传输:设每个字符包含7个信息位,波特率为1200bps,用4个同步字符作为信息帧头部,但不用奇偶校验,每个信息帧包含100个字符,每秒钟能传输的字符数最大可达到多少个?传输100个字符所用的时间:7(100+4)/1200=0.6067s。则每秒钟能传输的字符数可达到:100/0.6067=165个。结论:在同样的传输率下,同步传输时实际字符传输率要比异步传输时高。15四、串行接口标准RS-232CRS-232C标准(协议)是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000bit/s范围内的通信。现在的台式PC机一般有两个RS-232串行口COM1和COM2,通常COM1使用的是9针D形连接器,而COM2使用的是25针连接器。161、RS-232C的电气特性注:负逻辑规定电平信号电平标准低电平(逻辑0):+5V~+15V高电平(逻辑1):-5V~-15V实际常用±12V或±15V2、RS-232C标准与TTL标准之间的转换标准TTL电平高电平(逻辑1):+2.4V~+5V低电平(逻辑0):0V~0.4V接口MC1489MC1488RS-232-C输入RS-232-C输出TTL输入TTL输出176.3可编程串行通信接口8251A一、8251A的基本性能1、通过编程,可工作于同步方式和异步方式。同步方式可用5~8位代表字符;可外部同步,也可内部同步;可自动插入同步字符;允许增加奇偶校验位进行校验;波特率为0~64Kbps。目录18一、8251A的基本性能异步方式5~8位/字符;用1位作为奇偶校验;能选择1、1.5、2位停止位;可检查假启动;可产生中止字符;能自动检测和处理中止字符;波特率可为0~19.2Kbps;时钟频率为波特率的1、16、64倍。19一、8251A的基本性能2、完全双工工作,具有双缓冲的发送器和接收器。4、输入输出电路为TTL电平。3、具有奇偶校验、溢出和帧错误检测等功能电路。注:8251A接口电平与EIARS-232-C所要求的电平不同,所以互相连接时,必须增加驱动级和接收电路。20二、8251A的基本原理1、8251A编程结构212、8251A的功能结构双向三态的8位数据缓冲器。与系统数据总线相连。配合数据总线缓冲器工作,接收来自系统控制总线的信号。1):片选信号。2):控制/数据信号。3):写控制信号。4):读控制信号。5)CLK:内部定时信号。6)RESET:复位信号。WRDC/CSRD提供了一组通用控制信号,使8251可直接与调制解调器连接。接收串行数据,并进行串并转换。配合接收缓冲器工作,管理有关接收的所有功能。1)异步方式,芯片复位后,先检查输入信号中有效的“1”,检测到后,搜索有效的低电平来确定起始位;2)消除假启动干扰;3)对接收到的信号奇偶校验,根据校验结果设置状态位;4)异步方式下,检测停止位,根据检测结果设置状态位。配合发送缓冲器工作,控制和管理所有和发送有关的功能。(1)异步方式下,为数据加上起始位、校验位和停止位;(2)同步方式下,插入同步字符,在数据中插入校验位。把并行数据加上相应的控制信息,转换成串行数据输出。273、8251A的发送和接收(1)检测起始位1)异步接收方式设数据接收时钟频率是数据传输频率的16倍。起始检测确定已检测到起始位起始位RXCRXDT16T8T备注:无数据传送时,RxD线上是高电平。如在RxD线上检测到低电平,启动接收控制电路中的内部计数器计数,计数脉冲为8251A接收器时钟脉冲。当计数进行到相当于半个数位传输时间时(如时钟脉冲为波特率的16倍时,则计到第八个脉冲相当与半个数位传输时间),再对RxD线检测,如仍为低,则确认为一有效起始位。如8251A在检测起始位时,半个数位传输时间后,没有再检测到低电平,而是测到高电平,8251A就把刚才检测到的信号看成干扰脉冲,再重新开始检测RxD线上是否出现低电平。采样数据起始检测确定已检测到起始位起始位RXCRXDT16T16T8T每隔一字符传输时间,对RxD进行一次采样,数据送移位寄存器移位,并进行奇偶校验和去掉停止位,得到并行数据。(2)8251A进行常规采样并进行字符装配(3)通知CPU接收数据并行数据经过内部数据总线送接收数据缓冲器,并置RxRDY有效,通知CPU已收到一个数据,可以取用。298251A异步接收数据传输格式注:对于少于8位的数据,8251A将高位补0。302)8251A异步发送方式(2)8251A由TxD线把串行数据送出。8251A从CPU接收到一个数据,移位形成串行数据,再加上起始位、奇偶校验位以及停止位,由TxD把数据送出。注:数据及起始位、校验位、停止位总是在发送时钟TxC的下降沿从8251A发出,数据传输的波特率为发送时钟频率的1、1/16或者1/64,具体决定于编程时给出的波特率因子。(1)程序置TxEN(允许发送)有效。检测到外设送来的CTS(请求发送信号的响应信号)有效,开始发送。318251A异步发送数据传输格式注:对于少于8位的数据,8251A将高位补0。323)8251A的同步接收方式单同步字符8251检测RxD线,当RxD线出现一数据位时,接收送移位寄存器移位,并与同步字符寄存器的内容比较,如不等,继续接收,比较。相等时,8251A的SYNDET引脚为高电平,表示同步已经实现。(1)搜索同步字符双同步字符检测到第一个同步字符后,再继续检测此后输入的移位寄存器的内容是否与第二个同步字符寄存器的内容相同,不同重新比较第一个同步字符;相同,则认为同步已经实现。内同步(a)(b)外同步通过在同步输入端SYNDET加一高电位实现同步。当SYNDET端出现一个高电平,并且维持一时钟接收周期,8251A认为已经完成同步。(2)数据的同步传输接收器利用时钟信号对RxD采样,把收到的数据送移位寄存器。当收到的数据位达到规定的一个字符位数时,将移位寄存器的内容送输入缓冲寄存器,且发出RxRDY信号,表示收到一数据。348251A同步接收数据传输格式354)8251A的同步发送方式(2)发送同步字符根据编程要求,发送器先发送一个或两个同步字符。注:如发送数据时,CPU来不及提供新数据,8251A发送器会自动插入同步字符,由TxD送出。(3)发送数据块发送数据块时,发送器根据要求对数据块中的数据加上奇偶校验位或不加。(1)程序置TxEN(允许发送)有效检测到外设送来的CTS(请求发送信号的响应信号)有效,开始发送。368251A同步发送数据传输格式37三、8251A的对外连接信号8251A对外连接信号8251A与CPU之间的信号8251A与外设之间的信号。1、8251A与CPU之间的信号1)数据信号D7~D0:双向数据线,与系统总线相连,传输数据、编程命令及状态信息。2)片选信号CS:CPU的地址信号译码后得到。CS=0:可以对8251A进行读写;CS=1:数据总线处于高阻态。381、8251A与CPU之间的信号3)读/写控制信号(1)RD:为低,表示CPU正从8251A读数据或状态信息。(2)WR:为低,表示CPU正往8251A写数据或控制字。(3)C/D:控制/数据信号CPU往8251写控制命令011CPU从8251读状态信息101CPU中数据82510108251中数据CPU100操作WRRDC/D391、8251A与CPU之间的信号4)收发联络信号(1)TxRDY:发送器准备好。通知CPU8251A已经准备好从CPU接收字符。CPU得到TxRDY有效后,往8251A写数据,8251A得到数据后,使TxRDY变为低。当CTS为低,TxEN为高,且发送缓冲器空时,TxRDY有效,可作为中断请求信号,也可作为查询方式的联络信号。40(2)TxE:发送器空信号。8251A无字符发送时,TxE为高,实际上指示了一次发送动作的结束。当8251A收到CPU发来的字符时,TxE变为低。注:在同步发送时,如CPU没及时往8251A送字符,TxE会变成高电平,发送器在输出线上插入同步字符,以填补空隙。1、8251A与CPU之间的信号(3)RxRDY