您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 第十章 串行通信和可编程接口芯片8251A
第十一章串行通信和可编程接口芯片8251A10-1串行通信基本概念串行通信◆串行通信是在传输线上一位一位地的传送,设置有联络信号。◆串行通信越来越多地用于中低速、甚至高速外设与主机的通信;◆并行与串行通信应用场合比较⑴串行通信传输距离长,可达到数千公里;⑵在短距离内,并行通信速率比串行通信速度高得多;但在长距离内,串行通信在各方面比并行通信更有优势。⑶串行通信抗干扰能力强,信号间的互相干扰完全可以忽略。⑷对于远距离通信,串行通信的费用显然低得多。◆串行通信的实现数据须通过串/并及并/串转换、以固定的数据格式传送;在一定的硬件支持下用软件实现,如使用循环左移指令“RCLCH,1”,逐位输出;使用硬件接口电路,如,UART、USRT、USART、ACIA。一、数据传送的方向TR(a)1.单工方式TRTR(b)2.半双工方式(c)TRRT3.全双工方式图10.1二、串行传送的两种基本工作方式串行通信有两种基本工作方式:异步方式和同步方式1、异步方式(Asynchronous)在通信的数据流中,字符间异步,字符内部各位间同步。异步通信方式的“异步”主要体现在字符与字符之间通信没有严格的定时要求。一旦传送开始,收/发双方则以预先约定的传输速率,在时钟的作用下,传送这个字符中的每一位;即要求位与位之间有严格而精确的定时。异步串行通信协议通信协议是指通信双方对数据传送控制的一种约定。空闲位起始位一帧图10.2异步串行数据发送格式①起始位先发出一个逻辑”0”信号,表示传输字符的开始。②数据位紧接着起始位之后。数据位的个数可以是5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。③奇偶校验位数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以此来校验数据传送的正确性。④停止位它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。⑤空闲位处于逻辑“1”状态,表示当前线路上没有数据传送。波特率是衡量数据传送速率的指标。表示每秒钟传送的二进制位数。例如数据传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200字符/秒=1200波特。注:异步通信是按字符传输的,接收设备在收到起始信号之后只要在一个字符的传输时间内能和发送设备保持同步就能正确接收。下一个字符起始位的到来又使同步重新校准。◆确保异步串行通信传输正确的措施:1)采用相反极性的起始位和停止位/空闲位提供准确的时间基准;2)接收器在每位的中心采样,以获得最大的收/发时钟频率偏差容限;3)接收器采用比传送波特率更高频率的时钟来控制采样时间,以提高采样的分辨能力和抗干扰能力。图10.3波特率系数为16时同步检测与采样过程例题:异步传输7位ASCII码,如果需要数据传输速率为240字符/秒,使用1位奇偶校验位和1位停止位,则:1)波特率应该是多少?2)有效数据位传输位是多少?3)传输效率是多少?答:1)波特率是(7位数据位+1位起始位+1位校验位+1位停止位)×240=2400bit/s2)有效数据位传输位是:7×240=1680bit/s3)传输效率是:1680/2400=70%2、同步方式(Synchronous)数据流中的字符与字符之间和字符内部的位与位之间都同步。同步串行通信是以数据块为信息单位传送,而每帧信息包括成百上千个字符;因此传送一旦开始,要求每帧信息内部的每一位都要同步。同步方式以一个帧为传输单位,每个帧中包含有多个字符。在通信过程中,每个字符间的时间间隔是相等的,而且每个字符中各相邻位代码间的时间间隔也是固定的。同步方式的数据格式如图所示图10.4同步方式的数据格式同步方式的规程有以下两种①面向比特(bit)型规程以二进制位作为信息单位。现代计算机网络大多采用此类规程。最典型的是HDLC(高级数据链路控制)通信规程。②面向字符型规程以字符作为信息单位。字符是EBCD码或ASCII码。最典型的是IBM公司的二进制同步控制规程(BSC规程)。在这种控制规程下,发送端与接收端采用交互应答式进行通信。三、串行传送速率波特率:单位时间内传送的二进制数据的位数,也称数据位率(bps)。收/发时钟:对传送的数据进行定位和同步控制;决定通信线路上数据传输的速率。用多个时钟调制一个二进制数据:收/发时钟频率=n×波特率;常用n=16。如,传输速率为1200波特,当选择n=16时,收/发时钟频=19.2kHz。可在时钟计数器为8时检测数据位;提高数据检出可靠性。四、串行接口芯片UART和USART计算机是并行方式传送数据的,在串行方式与外部通讯时,要串并行变换。发送数据时并行输出串并变换串行输出移位寄存器串行数据串行数据线输出接收数据时串行输入串并变换并行输出移位寄存器并行数据并行数据线输入常用串行接口芯片:通用异步接收器(UART)UniversalAsynchronousReceiverTransmitter,仅工作于异步通讯例如:NationalINS8250通用同步异步接收器(USART)UniversalSynchronous-AsynchronousReceiver-Transmitter,可工作于异步方式,也可工作于同步方式例如:Intel8251A1.基带传输方式在传输线路上直接传输不加调制的二进制信号,如图所示。它要求传送线的频带较宽,传输的数字信号是矩形波。基带传输方式仅适宜于近距离和速度较低的通信。五、调制解调器图10.5基带传输方式串行数据直接传送的距离限制图10.6最大传输距离-波特率曲线2.频带传输方式传输经过调制的模拟信号在长距离通信时,发送方要用调制器把数字信号转换成模拟信号,接收方则用解调器将接收到的模拟信号再转换成数字信号,这就是信号的调制解调。实现调制和解调任务的装置称为调制解调器(MODEM)。采用频带传输时,通信双方各接一个调制解调器,将数字信号寄载在模拟信号(载波)上加以传输。因此,这种传输方式也称为载波传输方式。这时的通信线路可以是电话交换网,也可以是专用线。发送方使用调制器,把要传送的数字信号调制转换为适合在线路上传输的音频模拟信号;接收方使用解调器,从线路上测出这个模拟信号,并还原成数字信号。串行通信信号的调制与解调图10.7远程通信示意图数字信号的调制方法:幅度调制(Amplitude)、频率键移FSK(Frequency-ShiftKeying)、相位键移PSK(Phase-ShiftKeying)和多路载波(MuitipleCarrier)等图10.8两种调制方法示意图幅度调制频率键移10.2可编程串行接口芯片8251A一.8251A的基本性能8251A是可编程的串行通信接口芯片,是Intel公司的通用同步/异步数据接收器(USART),应用于以Intel8080、8085、8088、8086和8048为CPU的微机中,基本性能:1.两种工作方式:同步方式,异步方式。同步方式下,波特率为0-64K,异步方式下,波特率为0-19.2K。2.同步方式下的格式每个字符可以用5、6、7或8位来表示,并且内部能自动检测同步字符,从而实现同步。除此之外,8251A也允许同步方式下增加奇/偶校验位进行校验。3.异步方式下的格式每个字符也可以用5、6、7或8位来表示,时钟频率为传输波特率的1、16或64倍,用1位作为奇/偶校验。1个启动位。并能根据编程为每个数据增加1个、1.5个或2个停止位。可以检查假启动位,自动检测和处理终止字符。4.全双工的工作方式其内部提供具有双缓冲器的发送器和接收器。5.提供出错检测具有奇偶、溢出和帧错误三种校验电路。二.8251A的内部结构图10.98251内部结构方框图内部组成:数据总线缓冲器、接收缓冲器、接收控制电路、发送缓冲器、发送控制电路、读写控制逻辑、调整解调器等1.数据总线缓冲器数据总线缓冲器是CPU与8251A之间的数据接口。包含3个三态、双向8位的缓冲寄存器:状态缓冲器、接收数据缓冲器、发送数据/命令缓冲器。前两个寄存器分别用来存放CPU向8251A读取的数据或状态信息。后一个寄存器用来存放CPU向8251A写入的数据或控制。2、接收缓冲器和接收控制电路接收缓冲器组成:接收移位寄存器、串并变换电路、同步字符寄存器等作用:接收移位寄存器从RXD引腿上接收串行数据转换成并行数据后存入接收缓冲器。异步方式:⑴接收时钟RxC的频率是波特率的1、16、64倍使用高的时钟频率能使接收移位寄存器在位信号的中间同步,不是在信号的起始边沿同步,减少信号噪声在信号起始处读错⑵CPU发出允许接收数据的命令,接收缓冲器开始监控数据接收引脚RxD的电平。无信号,RxD为高电平;若检测到RxD为低电平,启动接收控制器中的内部计数器对时钟频率计数。⑶在RxD线上检测低电平,将检测到的低电平作为起始位,8251A开始进行采样,完成字符装配,并进行奇偶校验和去掉停止位,变成了并行数据后,送到数据输入寄存器,同时发出RxRDY信号送CPU,表示已经收到一个可用的数据。采样数据启动位启动检测确定已检测到启动位图10.108251A对数据的采样过程下图是接收时钟RxC的频率是波特率的16倍的8251A对数据的采样过程的示意图8251A每隔一个数位传送时间,即16个时钟周期,对RXD引脚进行一次采样同步方式:分为内同步和外同步⑴内同步:①首先搜索同步字符。8251A监测RXD线,每当RXD线上出现一个数据位时,接收下来并送入移位寄存器移位,与同步字符寄存器的内容进行比较,如果两者不相等,则接收下一位数据,并且重复上述比较过程。②当两个寄存器的内容比较相等时,8251A的SYNDET升为高电平,表示同步字符已经找到,同步已经实现。③采用双同步方式,就要在测得输入移位寄存器的内容与第一个同步字符寄存器的内容相同后,再继续检测此后输入移位寄存器的内容是否与第二个同步字符寄存器的内容相同。如果相同,则认为同步已经实现。⑵外同步①由外部电路检测同步字符,若检测到,从同步输入端SYNDET输入一个高电平,通知8251A检测到同步字符,让8251A停止搜索同步字符。②同步输入端SYNDET的高电平维持一个RxC时钟周期,8251A达到同步。②同步输入端SYNDET的高电平维持一个RxC时钟周期,8251A达到同步。③接收器利用时钟信号对在RxD线进行采样,送采样数据到移位寄存器,等接收到的数据位数达到一个字符规定的位数时,将移位寄存器的内容由内总线送到输入缓冲器。④发出RxRDY的高电平信号送CPU,表示已经收到一个可用的数据。与接收端有关的信号:⑴RxD(ReceiverData)接收数据,输入外部串行数据从RxD引脚逐位移入接收移位寄存器中,经串并变换,变成并行数据,进入接收数据缓冲器,等待输入CPU。⑵RxRDY(ReceiverReady)接收数据准备好,输出,高电平有效此信号有效,表示数据缓冲器中已受到一个字符数据,可输入CPU中。当采用中断方式传送数据时,RxRDY可作为中断请求信号采用查询方式传送数据时,RxRDY可作为状态信号,CPU从8251A的接收数据缓冲器中读取一个字符后,RxRDY变为低电平,等又接收一个新字符后,又变为高电平。⑶SYNDET/BRKDET(SyncDetect/BreakDetet)接收数据,输入工作于同步方式时,用于同步检测,系统复位时,变低电平。对于内同步方式,为输出信号,当8251A检测到同步字符后,SYNDET输出高电平,表明达到同步对于外同步方式,SYNDET为输入信号,该引脚从低到高使8251A在下一个RxC的上升沿开始接收字符,一达到同步,电平由高到低。工作于异步方式时,该引脚为断点检测端,BRKDET是输出信号当8251A从RxD端连续收到两个由0数位组成的字符(包括起始、停止、奇偶校验位)时,该引脚输出高电平,表示当前无数据可读,只有当RxD端收到一个“1”信号或8251A复位时,BRKDET变为低电平。⑷RxC(ReceiverClock)接收时钟,由外部输入RxC决
本文标题:第十章 串行通信和可编程接口芯片8251A
链接地址:https://www.777doc.com/doc-3152840 .html