串行通信与可编程8251A接口芯.ppt

上传人:牧羊曲112 文档编号:6535429 上传时间:2023-11-10 格式:PPT 页数:100 大小:1.18MB
返回 下载 相关 举报
串行通信与可编程8251A接口芯.ppt_第1页
第1页 / 共100页
串行通信与可编程8251A接口芯.ppt_第2页
第2页 / 共100页
串行通信与可编程8251A接口芯.ppt_第3页
第3页 / 共100页
串行通信与可编程8251A接口芯.ppt_第4页
第4页 / 共100页
串行通信与可编程8251A接口芯.ppt_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《串行通信与可编程8251A接口芯.ppt》由会员分享,可在线阅读,更多相关《串行通信与可编程8251A接口芯.ppt(100页珍藏版)》请在三一办公上搜索。

1、第8章 串行通信与可编程8251A接口芯片,8.1 串行通信基础,8.2 8251A芯片引脚、内部结构和工作过程,8.3 8251A方式控制字及初始化编程,8.4 项目扩展与工程应用,8.1 串行通信基础,项目1:两台微机之间进行通信,8.1.2 知识讲解,第8章 串行通信与可编程8251A接口芯片,8.1串行通信基础,项目1:两台微机之间进行通信,1项目要求与目的,(1)项目要求:利用“串口调试助手”软件,实现两台微机与微机之间进行通信。,(2)项目目的:,了解微机与微机之间的通信方法。了解“串口调试助手”软件的使用。了解9针RS-232C接口的连线与制作方法。,第8章 串行通信与可编程82

2、51A接口芯片,2项目电路连接与说明,(1)项目电路连接:如图8-3所示的粗线为需要接的连线,两台微机之间通过9针RS-232C接口相连。,(2)项目说明:本实验需要一根9针串口线将两台微机相连。首先用串口线把两台微机连接好,各自打开从网上下载的“串口调试助手”设置好串口,波特率双方设置一致(例如设置为1200),在一台微机发送区输入数据(16进制或十进制),效果如图8-1所示,就可在另一台微机的接收区看到相应的数据(16进制或十进制),效果如图8-2所示。,第8章 串行通信与可编程8251A接口芯片,图8-2串口调试助手接收区看数据效果图,第8章 串行通信与可编程8251A接口芯片,图8-1

3、串口调试助手发送区看数据效果图,3项目电路原理框图,项目电路原理框图如图8-3所示。电路由两台微机之间和9针RS-232C接口连线等组成。,图8-3 电路原理框图,第8章 串行通信与可编程8251A接口芯片,8.1.2 知识讲解,1.概述,通信是指计算机与外部设备之间或计算机与计算机之间的信息交换。通信的基本方式可以分为并行通信和串行通信两种。,并行通信是指数据的每位同时传输,如第5章所述的8255A与外设间的数据交换就是采用的并行通信方式。这种方式的数据传输速度快,但是在使用时所需要的通信线多,随着传输距离的增加,通信成本增加,可靠性下降,因此并行通信适合短距离传输。,串行通信则是把需要传输

4、的数据按照一定的数据格式一位一位的按顺序传输。串行通信的信号在一根信号线上传输。发送时,把每个数据中的各个二进制位一位一位地发送出去,发送一个字节后再发送下一个字节;接收时,从信号线上一位一位地接收,并把它们拼成一个字节传输给CPU进行处理.,第8章 串行通信与可编程8251A接口芯片,串行通信只需一对传输线,并且可以利用现有的电话线作为传输介质,这样可以降低传输线的成本,特别是在远距离传输时,这一优点更为突出。但在进行串行通信时需要进行并-串和串-并之间的转换。主要应用于接口与外部设备、计算机与计算机之间,例如鼠标、键盘和接口。,2.单工、半双工和全双工通信,串行通信按照数据流的传送方式可以

5、分为单工、半双工和全双工,如图8-4所示。,(1)单工通信:如图8-4(a)所示,在单工通信方式中,信号只能在单一通信信道上向同一个方向传输,任何时候都不能改变信号的传送方向(如电视信号)。,(2)半双工通信:如图8-4(b)所示,在半双工通信方式中,信号可以双向传送,但必须交替进行,同一个时刻只能向一个方向传送数据(如对讲机)。,第8章 串行通信与可编程8251A接口芯片,(3)全双工通信:如图8-4(c)所示,在全双工通信方式中,信号可以同时双向传送。在全双工通信方式中数据的接收与发送分别由两条不同的传输信道来完成。全双工通信信道也可以用于单工通信或半双工通信(如上网)。,图8-4 数据传

6、输方式,第8章 串行通信与可编程8251A接口芯片,3串行通信方式,按照串行数据的时钟控制方式,串行通信可分为同步通信和异步通信两类。,(1)同步通信,在数据块传输时为了提高传输速度,通常采用同步通信传输方式。同步通信不是用起始位来标识字符的开始,而是用一串特定的二进制序列,称为同步字符,去通知接收器串行数据第一位何时到达。串行数据信息以连续的形式发送,每个时钟周期发送一位数据。数据信息间不留空隙,数据信息后是两个错误校验字符。同步通信采用的同步字符的个数不同,存在着不同的格式结构,具有一个同步字符的数据格式称为单同步数据格式,有二个同步字符的数据格式称为双同步数据格式,如图8-5所示。在同步

7、传输中,要求用时钟来实现发送端与接收端之间的同步。,第8章 串行通信与可编程8251A接口芯片,(2)异步传输方式,发送或接收一个信息字符所需的一切数据和控制信息,都在单根通信线上移动,而且每次只移动一位。异步串行通信数据格式如图8-6所示。,起始位:位于字符帧开头,只占一位,为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。,第8章 串行通信与可编程8251A接口芯片,数据位:紧跟起始位之后,用户根据情况可取5位、6位、7位或8位,低位(D0)在前高位(D7)在后。,第8章 串行通信与可编程8251A接口芯片,奇偶校验位:位于数据位之后,仅占一位,用来表征串行通信中采用奇校验还是偶校

8、验,由用户决定。,停止位:位于字符帧最后,为逻辑1高电平。通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已经发送完,也为发送下一帧作准备。,在串行通信中,两相邻字符帧之间可以没有空闲位,也可以有若干空闲位,这由用户来决定。,例如用ASCII编码字符位7位加一位奇偶校验位、一个起始位以及一个停止位共10位。如图8-7所示传输F字符的ASCII码1000110波形。,图8-7 传送F字符的帧格式,第8章 串行通信与可编程8251A接口芯片,需要说明的是逻辑“0、1”通常有四种标准:TTL标准、RS-232C标准、20mA电流环标准和60电流环标准。,TTL标准:用+5V电平表示逻辑“1

9、”;用0V电平表示逻辑“0”,这里采用的是正逻辑。,RS-232C标准:用-5V-15V之间的任意电平表示逻辑“1”;用+5V+15V之间的任意电平表示逻辑“0”,这里采用的是负逻辑。,20mA电流环标准:线路中存在20mA电流表示逻辑“1”,不存在20mA电流表示逻辑“0”。,60电流环标准:线路中存在60mA电流表示逻辑“1”,不存在60mA电流表示逻辑“0”。,第8章 串行通信与可编程8251A接口芯片,4.通信速率,通信速率是反映数据传输速度的快慢,通信速率主要有数据传输速率和波特率两个指标。,(1)数据传输速率,数据传输速率是指每秒钟传输二进制数的位数(即比特率),以位/秒(bps或

10、bit/s简称b/s)为单位。数据传输速率反应了串行通信的速率,也反应了对传输通道的要求,传输速率越高,要求传输通道的频带越宽。以字符为单位传送时数据传输速率等于每秒传送的字符数与每个字符位数的乘积。例如每秒传送120个字符,每个字符包含10位(一个起始位、7个数据位、一个奇偶校验位、一个停止位)则数据传输速率为:120字符/每秒10位/字符=1200bps,第8章 串行通信与可编程8251A接口芯片,(2)波特率,波特率是指每秒传送的符号数。每次传送一位时,波特率大小与数据传输速率相等。波特率通常简称波特,用符号Baud或B表示。,在计算机中,一个符号的含义为高低电平,它们分别代表逻辑“1”

11、或逻辑“0”,所以每个符号所含的信息刚好为1比特,因此在计算机通信中,常常把比特率称为波特率,即,1波特(Baud)=1比特(bit)/秒=1位/秒(1bps),一般计算机异步通信的波特率在50bps9600bps之间。,波特率与串行接口内的时钟频率并不一定相等。时钟频率可以选为波特率的1倍、16倍或64倍。由于异步通信双方各自使用自己的时钟信号,要是时钟频率等于波特率,则双方的时钟频率稍有偏差或初始相位不同就容易产生接收错误。采用较高频率的时钟,在一位数据内有16个或64个时钟,捕捉信号的正确性就容易得到保证。,第8章 串行通信与可编程8251A接口芯片,5.串行通信接口标准,在计算机系统中

12、,常用的串行通信接口标准有:RS-232C、RS-449、RS-422A、RS-423A、RS-485、20mA电流环等总线接口标准。,(1)RS-232C总线,RS-232C是使用最早、应用最多的一种异步串行通信总线标准。它是美国电子工业协会(EIA)1962年公布,1969年最后修定而成的。其中,RS表示Recommended Standard,232是该标准的标识号,C表示最后一次修定。,RS-232C串行接口总线适用于:设备之间的通信距离不大于15 m,传输速率最大为20 kb/s。,第8章 串行通信与可编程8251A接口芯片,RS-232C信息格式标准,RS-232C采用串行格式,如

13、图8-8所示。该标准规定:信息的开始为起始位,信息的结束为停止位;信息本身可以是5、6、7、8位再加一位奇偶校验位。如果两个信息之间无信息,则写“1”,表示空。,图8-8 RS-232C信息格式标准,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。,第8章 串行通信与可编程8251A接口芯片,RS-232C机械特性,RS-232C标准规定使用符合ISO 2110标准的25芯D型连接器,如图8-9(a)所示。RS-232C总线标准有25条信号线,其中:4条数据线、11条控制线、3条定时线、7条备用和未定义线。目前大多数PC机的RS-232C接口不再使用25芯D型连接器,而

14、配备有主要功能相同的9芯D型连接器,如图8-9(b)所示。,25芯D型连接器与9芯D型连接器的引脚对应如表8-1所示。,图8-9 RS-232C连接器示意图,第8章 串行通信与可编程8251A接口芯片,表8-1 DB-25与DB-9引脚对应关系,第8章 串行通信与可编程8251A接口芯片,尽管RS-232C使用20条信号线,在近距离通信时常常只需三条连接线,即“发送数据”、“接收数据”和“信号地”,发送方和接收方的“发送数据”、“接收数据”端交叉连接,传输线采用屏蔽双绞线即可实现,如图8-10所示;当使用RS-232C进行远距离传送数据时,就必须配合调制解调器(modem)和电话线进行通信,其

15、连接及通信原理如图8-11所示。,图8-10 三线制连接原理图,图8-11 远距离串行通信原理图,第8章 串行通信与可编程8251A接口芯片,RS-232C电气特性,由于RS-232C是在TTL集成电路之前制定的,所以它的电平不是+5V和地,RS-232C标准规定了数据和控制信号的电压范围,它使用负逻辑,将-5V-15V规定为逻辑“1”,+5V+15V规定为逻辑“0”。,RS-232C电平转换电路,RS-232C电平与通常的TTL电平不兼容,所以两者之间必须加电平转换电路。常用的电平转换芯片有MC1488/MC1489和MAX232。MC1488/MC1489工作电压需要15V,而MAX232

16、工作电压只需要5V就可以。,第8章 串行通信与可编程8251A接口芯片,符合所有的RS-232C技术规范。只要单一+5V电源供电。具有升压、电压极性反转能力,能够产生+10V 和-10V电压V+、V-。低功耗,典型供电电流5mA。内部集成2个RS-232C驱动器。内部集成2个RS-232C接收器。,MAX232是单电源双RS-232C发送/接收芯片,如图8-12所示。芯片引脚如图8-12(a)所示,采用16脚双列直插式封装,采用单一+5V电源供电。外接只需4个电容,便可以构成标准的RS-232C通信接口,如图8-12(b)所示,由于硬件电路简单,所以被广泛采用。MAX232主要特性如下:,第8

17、章 串行通信与可编程8251A接口芯片,图8-12 MAX232实现TTL电平与RS-232电平转换,第8章 串行通信与可编程8251A接口芯片,(2)RS-449接口标准,RS-232C虽然使用很普遍,但由于采用非平衡传输方式,易受地线干扰,而且传输距离短,传输速率慢。为了实现更远距离和更高传输速率,采用RS-449接口标准。EIA 1977年公布的电子工业标准接口RS-449,在很多方面可代替RS-232C应用。两者的主要差别是信号在导线上的传输方法不同。RS-232C是利用传输信号与公共地之间的电压差,而RS-449接口是利用信号导线之间的信号电压差,由于它克服了RS-232C互不兼容的

18、25芯连接器以及接口处信号间易串扰等缺陷,最大传输距离达1200米,信号最高传输速率为100kb/s。,RS-449规定了两种接口标准连接器,一种为37芯,另一种为9芯。由于RS-449系统用平衡信号差传输高速信号,所以噪声低;它还可以多点或者使用公用线通信,故RS-449通信电缆可与多个设备并联。,第8章 串行通信与可编程8251A接口芯片,(3)RS-422A接口标准,采用了平衡差分传输技术,提高了共模抑制能力,大大减小了地线电位差引起的麻烦。,优点:RS-422A比RS-232C传输距离长、速度快,传输速率最大可达10Mb/s,在此速率下,电缆的允许长度为12m,如果采用低速率传输,最大

19、距离可达1200m。,RS-422A的接口电路如图8-13所示,发送器SN75174将TTL电平转换为标准的RS-422A电平;接收器SN75175将RS-422A接口信号转换为TTL电平。,图8-13 RS-422A接口标准,第8章 串行通信与可编程8251A接口芯片,(4)RS-423A接口标准,RS-423A规定为单端线,而且与RS-232C兼容,参考电平为地,该标准的主要优点是在接收端采用了差分输入。而差分输入对共模干扰信号有较高的抑制作用,这样就提高了通信的可靠性。RS-423A驱动器在90m长的电缆上传送数据的最大速率为100kb/s,若降低到l000b/s,则允许电缆长度为120

20、0m。如图8-14所示是RS-423A接口标准的连接示意图。,图8-14 RS-423A接口标准,第8章 串行通信与可编程8251A接口芯片,(5)RS-485接口标准,RS-485是一种多发送器的电路标准,它扩展了RS-422A的性能,允许双导线上一个发送器驱动32个负载设备。负载设备可以是被动发送器、接收器和收发器。RS-485电路允许共用电话线通信。电路结构是在平衡连接电缆两端有终端电阻,在平衡电缆上挂发送器、接收器和组合发收器。RS-485标准没有规定在何时控制发送器发送或接收机接收数据。,RS-485最小型由两条信号电路线组成。每条连接电路必须有接地参考点,这电缆能支持32个发送接收

21、器对。为了避免地面漏电流的影响,每个设备一定要接地。电缆应包括连至每个设备地的第三信号参考线。若用屏蔽电缆,屏蔽应接到设备的机壳。典型的RS-232到RS422/485转换芯片有:MAX481/483/485/487/488/489/490/491,SN75175/176/184等,它们均只需单一+5v电源供电即可工作。接口示意图如图8-15所示。,图8-15 RS-485接口示意图,第8章 串行通信与可编程8251A接口芯片,(6)20mA电流环串行接口,20mA电流环是目前串行通信中广泛使用的一种接口电路,其原理如图8-16所示。,由于20mA电流环是一种异步串行接口标准,所以在每次发送数

22、据时必须以无电流的起始状态作为每一个字符的起始位,接收端检测到起始位时便开始接收字符数据。,电流环串行通信接口的最大优点是低阻传输线对电气噪声不敏感,而且易实现光电隔离,因此在长距离通信时要比RS-232C优越得多。,图8-16 20mA电流环接口原理图,第8章 串行通信与可编程8251A接口芯片,(7)通信接口选择,通信速度和通信距离。这两个指标具有相关性,适当降低传输速度,可以提高通信距离,反之亦然。例如,采用RS-232C标准进行单向数据传输时,最大的传输速度为20 kb/s,最大的传输距离为15 m。而采用RS-422A标准时,最大的传输速度可达10 Mb/s,最大的传输距离为300

23、m,适当降低传输速度,传输距离可达1200 m。,抗干扰能力。在一些工业测控系统中,通信环境十分恶劣,因此在通信介质选择、接口标准选择时,要充分考虑抗干扰能力,并采取必要的抗干扰措施。例如在长距离传输时,使用RS-422A标准,能有效地抑制共模信号干扰;使用20mA电流环技术,能大大降低对噪声的敏感程度。,在高噪声污染的环境中,通过使用光纤介质可减少噪声的干扰,通过光电隔离可以提高通信系统的安全性。,第8章 串行通信与可编程8251A接口芯片,8.2 8251A芯片引脚、内部结构和工作过程,8.2.1 8251A“自发自收”通信,8.2.2 知识讲解,第8章 串行通信与可编程8251A接口芯片

24、,项目2:8251A“自发自收”通信,1项目要求与目的,(1)项目要求:实验板上的8251提供通信,8253提供8251通信的波特率,编制程序实现8251串行口“自发自收”通信。即在实验程序运行之前,某个特定地址存储区域的内容为“全0”,而运行实验程序后,该存储器的内容即为“特定信息”。,(2)项目目的:,了解串行口通信的协议、数据格式。了解8251和8253芯片性能及编程。,第8章 串行通信与可编程8251A接口芯片,2项目电路连接与说明,(1)项目电路连接:如图8-17所示的粗线为需要接的连线,连线说明为:8251的片选孔用导线接至译码处208H20FH插孔,8251的CLK接至1MHz插

25、孔,8251的Txclk和Rxclk接至8253的OUT1插孔,8251的RXD与TXD接通(短接);8253的片选孔用导线接至译码处200H207H插孔,CLK1接至1MHz插孔,GATE1 接到+5V插孔。,(2)项目说明:操作步骤如下:,实验连线按照项目电路连接完毕,录入程序。,编译连接以“单步方式”将光标执行到MAIN程序的第3条指令(即LEA SI,SBUF)的位置。,第8章 串行通信与可编程8251A接口芯片,打开“数据段窗口”,观察第03H17H地址中的内容,注意此时03H0CH地址的内容为01H0AH(它对应于程序中数据区SBUF的内容),而0DH17H地址的内容均为00H(它

26、对应于程序中数据区RBUF“此时的内容”)。,将光标定位到MAIN程序最后一条指令(即HLT)的位置,执行“执行到光标所在处”的动作。,执行对上述“数据段窗口”的“刷新操作”,再观察0DH17H地址的内容,此时它应为01H0AH,若达到了上述目标,就表示“本项目达到了目的,实验成功”。,第8章 串行通信与可编程8251A接口芯片,3项目电路原理框图,8251A“自发自收”通信电路原理框图如图8-17所示。电路由8086CPU芯片、8251芯片、8253芯片等组成。,第8章 串行通信与可编程8251A接口芯片,4项目程序设计,(1)程序流程图,8251A“自发自收”通信程序流程图如图8-18所示

27、。,图8-18 程序流程图,第8章 串行通信与可编程8251A接口芯片,(2)程序清单,上位PC机与8251A串行口通信程序清单如下所示。,STACK SEGMENT STACKSTACK ENDSDATA SEGMENTDATA ENDSCODE SEGMENT,ASSUME CS:CODE,DS:DATA,SS:STACKSTART:PUSH CS,POP DS MOV DX,203H;设置8253计数1工作方式3(方波)MOV AL,56H;01010110H OUT DX,AL MOV AL,52;方波(26个高电平,26个低电平)MOV DX,201H;给8253计数器1送初值OUT

28、 DX,AL;波特率1MHz5216=1200b/s MOV DX,209H;奇地址是控制端口,初始化8251 XOR AL,AL;清AX MOV CX,03;向8251控制端口送3个0,第8章 串行通信与可编程8251A接口芯片,DELAY:CALL OUT1;调子程序(向外发送一字节的子程序),LOOP DELAY;循环3次 MOV AL,40H;写操作命令字:向8251控制端口送40H,使其复位(内部复位)CALL OUT1;调子程序(向外发送一字节的子程序)MOV AL,4EH;方式控制字:01001110B设置为波特率因子为16、8个数据位、一个停止位,CALL OUT1 MOV A

29、L,27H;写操作命令字:00100111B向8251送控制字允许其发送和接收CALL OUT1,NEXT:MOV DX,209H;奇地址是控制端口,,IN AL,DXTEST AL,02;状态控制字:检查接收器是否准备好 JZ NEXT;没有准备好,等待(循环)MOV DX,208H;偶地址是数据端口 IN AL,DX;准备好,接收,数据在AL里 PUSH AX;保存数据 MOV CX,40H,S51:LOOP S51;延时WAITI:MOV DX,209H,第8章 串行通信与可编程8251A接口芯片,IN AL,DXTEST AL,01;发送器是否准备好 JZ WAITI;没有准备好,等待

30、(循环)MOV DX,208H;偶地址是数据端口 POP AXOUT DX,AL JMP NEXT,OUT1 PROC NEAR;向外发送一字节的子程序,OUT DX,AL PUSH CX MOV CX,400HGG:LOOP GG;延时 POP CX RETOUT1 ENDPCODE ENDS END START,第8章 串行通信与可编程8251A接口芯片,8.2.2 知识讲解,1.概述,可编程串行接口芯片有多种型号,常用的有Intel公司生产的8251A,Motorola公司生产的6850、6952、8654,ZILOG公司生产的SIO及TNS公司生产的8250等。这些芯片结构和工作原理大

31、同小异,不必一一介绍。下面以Intel公司生产的8251A为例介绍可编程串行通信接口的基本工作原理、内部结构、编程方法及应用。,2.8251A芯片引脚,8251A是一个采用NMOS工艺制造的28条引脚双列直插式芯片,全部输入输出与TTL电平兼容,单一+5V电源,单一TTL电平时钟,8251A芯片引脚信号分配如图8-19所示。,第8章 串行通信与可编程8251A接口芯片,图8-19 8251A引脚信号图,第8章 串行通信与可编程8251A接口芯片,8251A的28条引脚按其信号分为两组:,(1)8251A与CPU相连的信号线,D0D7:双向数据线,与系统的数据总线相连。CLK(20脚):时钟信号

32、输入线,用于产生8251A的内部时序。CLK的周期为0.42 us 1.35us。为了电路可靠,CLK的时钟频率至少应是发送接收时钟的30倍(同步方式)或4.5倍(异步方式)。RESET(21脚):芯片的复位信号。当该信号处于高电平时,8251A各寄存器处于复位状态,收、发线路上均处于空闲状态。通常该信号与系统的复位线相连。(11脚):片选信号,低电平有效。C/(12脚):控制数据信号。根据C/信号是1还是0,来判别当前数据总线上信息流是控制字还是与外设交换的数据。当C/1,传输的是命令、控制、状态等控制字;C/=0,传输的是数据。通常将此端与地址线的A0相连,于是8251A占有两个端口地址,

33、偶地址是数据端口,奇地址是控制端口。,第8章 串行通信与可编程8251A接口芯片,(13脚):读信号,低电平有效。有效时,CPU正在从8251读取数据。(10脚):写信号,低电平有效。有效时,CPU正在向8251写入数据。,综上所述,、C/、信号配合起来可以决定8251A的操作,如表8-2所示。,表8-2、C/、的编码和对应操作,第8章 串行通信与可编程8251A接口芯片,TxRDY(15脚):发送器准备好信号,输出,高电平有效。当8251A处于允许发送状态(即TxEN被置位,为低电平)并且发送缓冲器为空时,则TxRDY输出高电平,表明当前8251A已经作好了发送准备,因而CPU可以往8251

34、A传送一个数据。在中断方式下,TxRDY可作为向CPU发出的中断请求信号;在查询方式下,则TxRDY作为状态寄存器中的D0位状态信息供CPU检测。当8251A从CPU接收了一个数据后,TxRDY输出线变为低电平,同时TxRDY状态位被复位。,RxRDY(14脚):接收器准备好信号,输出,高电平有效。当RXRDY=1表示接收缓冲器已装有输入的数据,通知CPU取走数据。若用查询方式,可从状态寄存器D1位检测这个信号。若用中断方式,可用该信号作为中断申请信号,通知CPU输入数据。RXRDY=0表示输入缓冲器空。,SYNDET/BRKDET(16脚):同步或中止符检测信号,高电平有效。在同步方式下,S

35、YNDET是同步检测信号,该信号既可工作在输入状态也可工作在输出状态。内同步工作时,该信号为输出信号。,第8章 串行通信与可编程8251A接口芯片,当SYNDET=1,表示8251A已经监测到所要求的同步字符。若为双同步,此信号在传输第二个同步字符的最后一位的中间变高,表明已经达到同步。外同步工作时,该信号为输入信号。当从SYNDET端输入一个高电平信号,接收控制电路会立即脱离对同步字符的搜索过程,开始接收数据。在异步方式下,BRKDET作为中止符检测信号,当8251A检测到对方发送的中止用来表示字符时,则从该端输出一个高电平,同时将状态寄存器的SYNDET/BRKDET位置“1”。,TXEM

36、PTY(18脚):发送移位寄存器空信号。当TXEMPTY=0时,发送移位寄存器已经满;当TXEMPTY=1时,发送移位寄存器空,CPU可向8251A的发送缓冲器写入数据。,(2)8251A与外部或调制解调器相连的信号线,RxD(3脚):数据接收端,用来接收由外设输入的串行数据。低电平为“0”,高电平为“1”,进入8251A后转变为并行方式。,第8章 串行通信与可编程8251A接口芯片,(25脚):接收时钟信号,输入。在同步方式时,等于波特率;在异步方式时,可是波特率的1倍、16倍或64倍。TxD(19脚):数据发送端,输出串行数据输往外部设备。(9脚):发送时钟信号,外部输入。对于同步方式,的

37、时钟频率应等于发送数据的波特率。对于异步方式,由软件定义的发送时钟可是发送波特率的1倍(1)、16倍(16)或64倍(64)。(24脚):数据终端准备好信号,输出,低电平有效。此信号有效时,表示接收方准备好接收数据,通知发送方。该信号可用软件编程方法控制,设置命令控制字的D1=1,执行输出指令,使线输出低电平。(22脚):数据装置准备好信号,输入,低电平有效。它是对的回答信号,表示发送方准备好发送。可通过执行输入指令,读入状态控制字,检测D7位是否为1。(23脚):发送方请求发送信号,输出,低电平有效。可用软件编程方法,设置命令控制字的D5=1,执行输出指令,使线输出低电平。,第8章 串行通信

38、与可编程8251A接口芯片,(17脚):清除发送信号,输入,低电平有效。它是对RTS的回答信号,表示接收方作好接收数据的准备。当=0时,命令控制字的TxEN=1,且发送缓冲器为空时,发送器可发送数据。,3.8251A的内部结构,8251A的内部结构如图8-20所示。共有5个部分。,第8章 串行通信与可编程8251A接口芯片,图8-20 8251A的内部结构图,数据总线缓冲器:双向、三态缓冲器,用来与CPU传输数据信息、命令信息、状态信息。接收器:包括接收缓冲器、接收移位寄存器及接收控制器三部分。串行接口收到的数据,转变成并行数据后。存放在该缓冲器中,以供CPU读取。发送器:包含发送缓冲器、发送

39、移位寄存器、发送控制器三部分。是一个分时使用的双功能缓冲器。一方面,CPU把发送的并行数据存放在该区中,准备由串行接口向外发送。另一方面,命令字也存放在这里,以指挥串行口工作。读/写逻辑电路:用来接收CPU的控制信号,以控制数据的传输方向。调制解调器控制电路:用来简化8251A和调制解调器的连接,提供与调制解调器的联络信号。,48251A的工作过程,(1)接收器的工作过程,当控制命令字的“允许接收”位RxE(D2位)和“准备好接收数据”位DTR(D1位)有效时,接收控制器开始监视RxD线。,第8章 串行通信与可编程8251A接口芯片,外设数据从RxD端逐位进入接收移位寄存器中,接收中对同步和异

40、步两种方式采用不同的处理过程。,异步方式时,当发现RxD线上的电平由高电平变为低电平时,认为是起始位到来,然后接收器开始接收一帧信息。接收到的信息经过删除起始位和停止位,把已转换成的并行数据置入接收数据缓冲器。,同步方式时,每出现一个数据位移位寄存器就把它移一位,把移位寄存器数据与程序设定的存于同步字符寄存器中的同步字符相比较,若不相等重复上述过程,直到与同步字符相等后,则使SYNDET=1,表示已达到同步。这时在接收时钟的同步下,开始接收数据。RxD线上的数据送入移位寄存器,按规定的位数将它组装成并行数据,再把它送至接收数据缓冲器中。,当接收数据缓冲器接收到由外设传送来的数据后,发出“接收准

41、备就绪”RxRDY信号,通知CPU取走数据。,第8章 串行通信与可编程8251A接口芯片,(2)发送器的工作过程,当操作命令寄存器中的TxEN=1(D0位)且引脚=0时,才能开始发送过程。,接收来自CPU的数据并存入发送缓冲器。发送缓冲器存有待发送的数据后,使引脚TxRDY变为低电平,表示发送缓冲器满。当调制解调器做好接收数据的准备后,向8251A输入一个低电平信号,使(低电平有效)引脚有效。在编写初始化命令时,使操作命令控制字的TxEN位(D0位)为高,让发送器处于允许发送的状态下。满足以上、条件时,若采用同步方式,发送器将根据程序的设定自动送一个(单同步)或两个(双同步)同步字符,然后由移

42、位寄存器从数据输出线TxD串行输出数据块;若采用异步方式,由发送控制器在其首尾加上起始位及停止位,然后从起始位开始,经移位寄存器从数据输出线TxD串行输出。待数据发送完毕,使TxEMPTY有效(高电平)。CPU可向8251A发送缓冲器写入下一个数据。,第8章 串行通信与可编程8251A接口芯片,8.3 8251A方式控制字及初始化编程,:上位PC机与8251A串行口通信,8.3.2:知识讲解,第8章 串行通信与可编程8251A接口芯片,项目3:上位PC机与8251A串行口通信,1项目要求与目的,(1)项目要求:利用上位PC机与实验板上的8251A进行通信。实验板上的8251A提供通信,8253

43、提供8251A通信的波特率,编制程序实现,上位PC机与实验板上的8251A串行口进行通信。,(2)项目目的:,了解串行口通信的协议、数据格式。了解通信电缆的制作。掌握PC机与下位机的通信方法。掌握8251和8253芯片性能及编程。,第8章 串行通信与可编程8251A接口芯片,2项目电路连接与说明,(1)项目电路连接:如图8-22所示的粗线为需要接的连线,连线说明为:上位PC机通过9针RS-232C与实验箱9针RS-232C接口相连;8251的片选孔用导线接至译码处208H20FH插孔,8251的CLK接至1MHz插孔,8251的Txclk和Rxclk接至8253的OUT1插孔,8251的RXD

44、接通信接口的RXD插孔,8251的TXD接通信接口的TXD插孔;8253的片选孔用导线接至译码处200H207H插孔,CLK1接至1MHz插孔,GATE1 接到+5V插孔。,(2)项目说明:本实验需要一根9针串口线将实验箱的串口与PC机串口相连。,第8章 串行通信与可编程8251A接口芯片,首先用串口线把实验箱与PC机连接好,实验连线按照项目电路连接完毕,录入程序,编译连接运行后,打开从网上下载的“串口调试助手”设置好串口,波特率设置为1200,可看到在发送区输入数据,就可在接收区看到显示的数据如图8-21所示。,图8-21串口调试助手效果图,第8章 串行通信与可编程8251A接口芯片,3项目

45、电路原理框图,项目电路原理框图如图8-22所示。电路由上位机PC机、8086CPU芯片、8251芯片、8253芯片、8255A芯片、开关和发光二极管LED等组成。,图8-22 电路原理框图,第8章 串行通信与可编程8251A接口芯片,4项目程序设计,(1)程序流程图,上位PC机与8251A串行口通信程序流程图如图8-23所示。,图8-23 程序流程图,第8章 串行通信与可编程8251A接口芯片,(2)程序清单,上位PC机与8251A串行口通信程序清单如下所示。,STACK SEGMENT STACKSTACK ENDSDATA SEGMENTDATA ENDS CODE SEGMENT ASS

46、UME CS:CODE,DS:DATA,SS:STACKSTART:PUSH CS POP DS MOV DX,203H;设置8253计数1工作方式3(方波)MOV AL,56H;01010110BOUT DX,ALMOV AL,52;方波(26个高电平,26个低电平)MOV DX,201H;给8253计数器1送初值OUT DX,AL;波特率1MHz5216=1200b/s,第8章 串行通信与可编程8251A接口芯片,MOV DX,209H;奇地址是控制端口,初始化8251 XOR AL,AL;清AX MOV CX,03;向8251控制端口送3个0DELAY:CALL OUT1;调子程序(向外

47、发送一字节的子程序)LOOP DELAY;循环3次 MOV AL,40H;写操作命令字:向8251控制端口送40H,使其复位(内部复位)CALL OUT1;调子程序(向外发送一字节的子程序)MOV AL,4EH;方式控制字:01001110B设置为波特率因子为16、8个数据位、1个停止位 CALL OUT1 MOV AL,27H;写操作命令字:00100111B向8251送控制字允许其发送和接收 CALL OUT1 NEXT:MOV DX,209H;奇地址是控制端口,第8章 串行通信与可编程8251A接口芯片,IN AL,DX TEST AL,02;状态控制字检查接收器是否准备好(D1位=1准

48、备好)JZ NEXT;(D1=0)没有准备好,等待(循环)MOV DX,208H;偶地址是数据端口 IN AL,DX;准备好,接收,数据在AL里 PUSH AX;保存数据 MOV CX,40H S51:LOOP S51;延时WAITI:MOV DX,209H;奇地址是控制端口 IN AL,DX TEST AL,01;发送器是否准备好(D0=1吗)JZ WAITI;(D0=0)没有准备好,等待(循环)MOV DX,208H;偶地址是数据端口,第8章 串行通信与可编程8251A接口芯片,POP AX OUT DX,AL JMP NEXT OUT1 PROC NEAR;向外发送一字节的子程序 OUT

49、 DX,AL PUSH CX MOV CX,400H GG:LOOP GG;延时 POP CX RET OUT1 ENDP CODE ENDS END START,第8章 串行通信与可编程8251A接口芯片,8.3.2 知识讲解,1.8251A的方式控制字,8251A芯片在工作前要先对其初始化,以确定其工作方式。三种控制字:分别为工作方式控制字、操作命令控制字和状态控制字。8251A方式控制字各位的定义如图8-24所示。,第8章 串行通信与可编程8251A接口芯片,图8-24 8251A方式控制字,方式控制字决定8251A是工作在异步方式还是同步方式。在异步方式时,关于传送的数据位的位数、停止

50、位的位数图、传送速率等的约定;在同步方式时,是双同步还是单同步等约定。,B2、B1两位有两个作用,一是确定通信方式是同步还是异步方式,另一个是确定异步通信方式的传送的速率。如64表示时钟频率是发送或接收波特率的64倍,其它类推。,2.操作命令字,使8251A处于发送或接收数据状态,通知外设准备接收或发送数据,都是通过CPU执行输出命令发出相应的操作命令字来实现的。操作命令控制字各位的定义如图8-25所示。,第8章 串行通信与可编程8251A接口芯片,图8-25 8251A操作命令字,第8章 串行通信与可编程8251A接口芯片,TXEN位:发送允许位。TxEN=1允许发送,TxEN=0禁止发送。

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号