《8251A幻灯片》由会员分享,可在线阅读,更多相关《8251A幻灯片(63页珍藏版)》请在金锄头文库上搜索。
1、第十章 串行通信和可编程接口芯片8251A,10.1 串行通信的基本概念 10.2 可编程串行通信接口芯片8251A 习题10,10.1 串行通信的基本概念,计算机与外部的信息交换称为通信。基本的通信方式有两种:并行通信和串行通信。各有自己的优缺点。 并行通信时,数据各位同时传送。传输数据的速度快,但使用的通信线多,成本较高,而且传输的可靠性随着距离的增加而下降。适用于近距离传送。 串行通信时,要传送的数据或信息必须按一定的格式编码,然后在单根线上,按一位一位的先后顺序进行传送。发送完一个字符后,再发送第二个。接收数据时,每次从单根线上一位接一位地接收信息,再把它们拼成一个字符,送给CPU作进
2、一步处理。传输速度较并行慢得多,但成本低。适于远距离通信。另一方面,串行通信还可利用现有的电话网络来实现远程通信,降低了通信费用。在实际传输中,是通过一对导线传送信息。在传输中每一位数据都占据一个固定的时间长度。,10.1.1 数据传送的方向 串行通信时,通常数据在两个站(或设备)A与B之间传送,按传送方向有三种不同的方式:单工通信方式、半双工通信方式和全双工通信方式。如图10.1所示。,图10.1 串行通信工作方式,1、单工方式 这种方式只允许数据按固定的方向传递,即一方只能发送,而另一方只能接收。传输的线路用一根线连接,通信的一端连接发送器,另一端连接接收器,即形成单向连接,如图10.1(
3、a)所示。即数据只能从A站点传送到B站点,而不能由B站点传送到A站点。 单工通信类似无线电广播,电台发送信号,收音机接收信号。收音机永远不能发送信号。 半双工方式 是指通信时,双方都能接收和发送,但不能同时接收和发送的通信方式。由于两个设备之间只有一根传输线,因此双方只能轮流地进行发送和接收,即A站发送,B站接收,或B站发送,A站接收。如图10.1(b)所示。,半双工通信方式类似对讲机,某时刻A方发送B方接收,另一时刻B方发送A方接收,双方不能同时进行发送和接收。 全双工工作方式 这种方式是指可以同时在两个站之间进行发送和接收的通信方式。可见全双工需要两条传输线 (一般是双绞线,或同轴电缆)来
4、连接发送方和接收方。这样发送方和接收方可同时进行工作,如图10.1(c)所示。 全双工通信方式类似电话机,双方可以同时进行发送和接收。,10.1.2 串行传送的两种基本工作方式 串行通信分为异步通信方式和同步通信方式两种。一、异步方式 异步通信方式的特点是:以字符为单位传送。字符是一帧一帧的传送,每一帧字符的传送靠起始位来同步。在数据传输过程中,传输线上允许有空字符。所谓异步通信,是指通信中两个字符之间的时间间隔是不固定的,而在同一字符中的两个相邻代码间的时间间隔是固定的通信。异步通信中发送方和接收方的时钟频率也不要求完全一样,但不能超过一定的允许范围,异步传输时的数据格式如图10.2所示。,
5、图10.2 异步通信字符格式,开始前,线路处于空闲状态,送出连续“1”。传送开始时首先发一个“0”作为起始位。起始位后面紧跟的是要传送的字符,每个字符的数据位长可以约定为58位,低位在前、高位在后。后面是一位奇、偶校验位,也可以约定不要校验位。最后是表示字符结束的高电平的停止位,停止位可以约定为1位、 1.5位或2位。至此,一个字符传送完毕。线路又进入空闲,持续为“1”。经过一段随机的时间后,下一个字符开始传送,发送起始位。,起始位至停止位构成了一帧信息。相邻两个字符之间可以是任意长度的。 总之,异步串行通信是指双方使用各自的时钟信号,而且允许有相对的延迟,因此实现较容易。为了避免连续传送过程
6、中的延迟积累,每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符之间还可能有长度不定的空闲时间,因此效率较低,但是经济实用,因此异步串行通信大量的用在计算机接口技术中。,概念讲解,二、同步方式 在异步通信中,每个字符都要用起始位和停止位作为字符开始和结束的标志,占用了一些时间,因而在数据块传送时,为了提高速度,就要设法去掉这些标志,而采用同步通信。 同步通信是通过同步字符在每个数据块开始时使收/发双方取得同步。 同步通信方式的特点是:由一个统一的时钟控制发送方和接收方,若干字符组成一个信息组,字符要一个接着一个传送;没有字符时,也要发送专用的“空闲”字符或者是同步字符,因为同
7、步传输时,要求必须连续传送字符,每个字符的位数要相同,中间不允许有间隔。同步传输的特征是:在每组信息的开始(常称为帧头)要加上l2个同步字符,后面跟着58位的数据。同步通信的数据格式如图10.3所示。,概念讲解,图10.3 同步通信字符格式,传送时每个字符的后面是否要奇/偶校验位,由初始化时设置的同步方式字决定。同步字符通常由用户确定,可以用一个或两个连续的特殊8位二进制代码作为同步字符。 同步传送速度高于异步传送,但它要求由时钟来实现发送端及接收端之间的同步,所以,硬件电路比较复杂,通常用于计算机之间的通信,或计算机到CRT等外设之间的通信等。,中科大概念讲解,10.1.3 串行传送速率 衡
8、量串行数据传送速度快慢的指标是波特率(baudrate)。波特率是指每秒钟传送的二进制数据的位数,以位/秒为单位,又称波特。实际上它是传送每一位信息所用时间的倒数。 波特率是表明传输速度的标准,国际上规定了一个标准的波特率系列,标准波特率也是最常用的波特率。有110,300,600,1200,1800,2400,4800,9600,19200。,例如:如果一个串行字符由1个起始位,7个数据位,1个奇偶校验位和1个停止位等10个数位构成,每秒钟传送120个字符,则数据传送的波特率为: 10位/字符120字符/秒=1200位/秒=1200波特传送每位信息所占用的时间为: 1秒/1200=0.833
9、 毫秒10.1.4 串行接口芯片UART和USART 由于计算机是按并行方式传送数据的,当它采用串行方式与外部通信时,必须进行数据格式转换。发送数据时,需把CPU送来的并行数据转换成串行的,再从串行数据线上发送出去;接收数据时,需把接收到的串行数据转换成并行格式,再送到CPU去。另外,在传送数据的过程中,需要一些联络信号,以确保发送方和接收方以相同的速度工作,同时还要检测传送过程中可能出现的一些错误等。这就需要有专门的电路来实现这些功能。这个电路就是串行通信接口芯片。,常用的通用串行接口芯片有两类,一种是仅用于异步通信的接口芯片,称为通用异步收发器UART;另一种芯片既可以工作于异步方式,又可
10、工作于同步方式,称为通用同步异步收发器USART ,如:8251A。 一种通用的硬件UART的电路由三部分组成:接收器、发送器和控制接收器。接收器把串行码转换为并行码,发送器把并行码转换成串行码,而控制器则用来接收CPU发来的控制信号,执行CPU所要求的操作,并输出状态信息和控制信息。 在UART工作时,其接收器始终监视着串行输入端,当发现一个起始位时,就开始一个字符的接收过程。在时钟控制下,先逐位把数据移入移位寄存器,再按相应的格式转换成并行数据,送入并行寄存器中,等待CPU来读取。在接收过程中,自动进行出错检测(奇偶校验、帧格式错、溢出错误),置位相应标志位,CPU检测状态位,可作出相应的
11、处理动作。 在UART工作于发送方式时,发送缓冲器把CPU来的并行数据加上相应的成帧信号(如起始位、停止位等),再在时钟控制下,经移位寄存器移位后,逐位从数据输出线上发送出去。,上述的UART是一种双缓冲器结构。例如在接收时,接收的数据先由移位寄存器移位,把串行的变为并行的,然后送到接收数据寄存器,由CPU的输入指令读入。若数据已变为并行且已送至接收数据寄存器中时,UART就可以接收另一个新的字符。但是,若已接收到第二个字符的停止位,且要把第二个字符传送到接收数据寄存器中时,CPU还未取走上一个数据,于是就会出现数据丢失,则置位溢出错误标志。,中科大概念讲解,10.1.5 调制解调器 能将数字
12、信号转换成音频信号及将音频信号恢复成数字信号的器件称为调制解调器(MODEM)。调制器(modulator)可把数字信号转换为模拟信号,解调器(demodulator)把模拟信号转换为数字信号。调制解调器是计算机在远程通讯中必须采用的一种辅助设备。 计算机通讯是一种数字信号的通讯。数字信号通讯要求传送的频带很宽,而计算机在远程通讯时,通常通过电话线传送,电话线的频带一般都比较窄。如果用数字信号直接通讯,那么经过电话线传送,信号就会产生畸变。为保证信息传输的正确,都普遍采用调制解调器(modem)来实现远距离的信息传输。在发送端,必须采用调制器把数字信号转换为模拟信号;而在接收端,又必须用解调器
13、检测发送端来的模拟信号,再把它转换成为数字信号。 按调制方式,MODEM可分为:幅度调制、频率键移FSK、相位键移PSK和多路载波等几种方法。,10.2 可编程串行通信接口芯片8251A,825lA是Intel公司生产的,通用可编程的串行同步/异步输入/输出接口芯片,可用来将8086/8088CPU与以串行方式工作的外设相连,或实现远距离的计算机之间的通信;它能将并行输入的8位数据变换成串行信号逐位输出,也能将串行输入的数据变换成并行数据一次传送给处理机。 它的基本性能有: (1) 可工作在同步方式,也可工作在异步方式。同步方式下波特率为064 000波特,异步方式下波特率为019 200波特
14、。 (2) 在同步方式时,每个字符可定义为5、6、7或8位。两种方法实现同步,由内部自动检测同步字符或由外部给出同步信号。允许同步方式下增加奇/偶校验位进行校验。,(3) 在异步方式下,每个字符可定义为5、6、7或8位,用1位作奇/偶校验。时钟速率可用软件定义为波特率的l、16或64倍。另外,8251A在异步方式下能自动为每个被输出的数据增加1个起始位,并能根据软件编程为每个输出数据设置1位、1.5位或2位停止位。 (4) 能进行出错检测。带有奇偶、溢出和帧错误等检测电路,用户可通过输入状态寄存器的内容进行查询。 (5)所有输入和输出电路都与TTL兼容。,10.2.1 8251A的内部结构和外
15、部引脚 8251A的外部引脚和内部结构如图10.4、10.5所示。从图中可以看出,它由数据总线缓冲器、读/写控制逻辑、发送器、接收器、调制/解调控制电路等五大部分组成。内部总线实现各部件相互间的通信。,中科大8251A讲解,中科大8251A讲解2,图10.4 8251A引脚图,图10.5 8251A内部结构框图,一、数据总线缓冲器 数据总线缓冲器是CPU与8251A之间的数据接口,是8251A与CPU之间并行交换信息的必经之路。它内部包含3个三态、双向、8位缓冲器(称为状态字缓冲器、接收数据缓冲器、发送数据/命令缓冲器)。前两个缓冲器用来存放8251A的状态信息和它所接收的数据,CPU通过执行
16、IN指令可以从这两个寄存器中分别读取状态字和数据;后一个用来存放CPU向8251A写入的数据或命令字,CPU通过执行OUT指令可向8251A写入,但由于二者合用一个缓冲器,因此须分时使用。,D7D0:8位双向、三态的数据线,和CPU的数据总线相连。 CPU与825lA之间的命令、数据以及状态信息都是通过这组线传送的。 二、接收器(接收缓冲器和接收控制电路) 接收缓冲器由接收移位寄存器、串/并变换电路和同步字符寄存器构成。在时钟脉冲RxC控制下,逐位接收从RxD引线上输入的串行数据,将它们送入移位寄存器,待接收到一个字符后,通过串/并变换电路,将移位寄存器中的数据变成并行数据,再通过内部总线送到接收数据缓冲器中。 如果是异步方式: 如果是同步方式,则要检测同步字符,确认已经达到同步,才开始串行接收数据。分为内同步和外同步两种。,