串行通信接口_第1页
串行通信接口_第2页
串行通信接口_第3页
串行通信接口_第4页
串行通信接口_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、串行通信接口第1页,共87页,2022年,5月20日,6点2分,星期日7.1 串行通信与接口 7.1.1 串行通信1. 并行传输与串行传输并行传输 数据代码的每一位各占一条传输线,在两个数据部件之间一次并行传输n位数据。并行传输适合在一米或数米范围内的近距离高速传输。计算机内CPU与主存之间的数据传输是并行传输的典型例子,并行的位数有8位、16位、32位、64位甚至更多。串行传输 数据代码的所有位顺序串行排列成数据流,在一条线缆上逐位传输。串行传输速度通常低于并行传输,但节省硬件(线缆),适宜远距离数据传输,通信网及计算机网络中服务器与站点之间、各个站点之间都以串行方式传输数据。计算机的某些部

2、件之间,如键盘到主机键盘接口电路的按键扫描码传送、磁盘驱动器与磁盘适配器(控制器)之间的数据传输都以串行方式进行。南桥芯片ICH5(2003年)支持的硬盘外部数据传输规范SATA(Serial ATA)、广泛应用的USB接口是高速串行传输的典范,串行传输在计算机系统中的应用日益广泛。并行与串行的数据传输如下图所示。 第2页,共87页,2022年,5月20日,6点2分,星期日2. 数据传输的同步 数据传输必须同步,以解决接收方在接收到的源源不断的数据流中如何正确区分发送方发送来的每一个代码,正确完成传输任务。并行传输因其距离进,收发双方可用同一频率时钟进行发送和接收,或增加一根或几根状态控制线(

3、称握手信号线)进行联络,协调收发双方,保证数据代码正确传输。在计算机和通信设备内部,不少部件之间都设有专门的握手信号线。 在串行通信中,一般不设握手信号线,因此,必须在传输的数据编码中解决同步问题。为了正确识别代码和恢复报文,收发双方必须区分出: 每个比特,即每个二进位; 每个代码(如ASCII字符),即区分出每个代码的 起始位和结束位; 完整的报文数据块,即数据帧的开始和结束。上述三个问题分别是位同步、字符同步和帧同步。 数据串行传输有异步传输和同步传输之分。采用异步传输方式,发送和接收设备的时钟是异步的;采用同步传输方式,收发的时钟是同步的。同步传输具有较高的传输效率和速率。 第3页,共8

4、7页,2022年,5月20日,6点2分,星期日2. 数据传输的同步(续) 异步传输异步传输每个字符前后分别加上起始位和停止位,表示一个字符的开始和结束,实现字符同步。起始位为“0”,长度为一个二进数据位(bit)的持续时间;停止位为“1”,长度为1、1.5或2个二进数据位的持续时间;字符的数据位可为5、6、7或8位;数据位后停止位前可以设置一位奇偶校验位,也可没有校验位。异步传输如下图所示。 传输时每一位宽度(占用的时间长度)由收发双方编程约定,保持不变,从而实现字符内的位同步。每位传输时间的倒数称波特率。字符之间的间距(时间间隔)是任意的,所以传输一帧的时间是不定的,靠传送特殊字符来表示一帧

5、的开始和结束,实现帧同步。异步传输收发之间无须传送定时信号,实现简单。缺点是每个字符都要加上起始位和停止位,传输效率低;而且收发双方时钟未严格同步,故通信时钟频率不能过高(否则一个字符传输时间内,收发时钟差异积累若达半个数据位宽就将使传输的字符出错),因而速度低,常用于低速数据传输。 第4页,共87页,2022年,5月20日,6点2分,星期日2. 数据传输的同步(续)同步传输同步传输时收发双方的时钟完全相同,时钟与传输的每一位严格对应,保持位同步;字符间顺序相连,没有间隙也没有插入位,在位同步的基础上靠完全相同的收发时钟和收发顺序来达到字符同步;在一帧字符前后有帧同步字符(或外加同步脉冲)和帧

6、终止字符,实现帧同步;帧与帧之间是空白字符。同步传输如下图所示。要做到收发时钟完全相同,近距离传输时可加一条时钟信号线,用同一时钟发生器驱动发送和接收设备;远距离传输时可通过编码技术(如曼彻斯特编码等)将发送时钟信息附加到数据流中,用一条信号线传输之,接收端用锁相技术从数据流中提取时钟信号,得到同发送端在频率和相位上完全相同的接收时钟。同步传输较为复杂,但节省传输时间,具有较高的传输速率和效率。 第5页,共87页,2022年,5月20日,6点2分,星期日3. 传输速率 传输速率指单位时间内传送的信息量。一般用每秒钟传送的二进位数(比特数)即比特率bps(bits per second)来衡量。

7、数据传输速率反映了主机通信端口与终端设备之间、终端设备相互之间的信息传输能力,通常指发送端和接收端之间在一段时间内数据传输的平均比特数,单位为bps(位/秒)、Kbps(千位/秒)、Mbps(兆位/秒)。在同步通信中,每个发/收时钟内发送/接受一个比特,因此比特率与通信时钟频率相同。信息传输速率与传输过程中的同步方式、差错编码及冗余字符填充、通信控制规程等诸种因素有关。当进行串行异步通信时,通常用n个时钟周期宽度来表示一个二进位数据(n常为16或64),为避免混淆,这时常用另一个速率测量单位波特率(baud rate),它指每秒钟传送二进制数据位数。采用串行同步通信,每个时钟发送(或接收)一个

8、二进位,因此如果忽略同步字符等附加位,波特率就等于比特率;而采用串行异步通信,波特率等于时钟频率除以n。接收发送时钟频率与波特率的关系如下:收发时钟频率n收发波特率 其中n1,16,(32),64同步传送必须n1;异步传送常选n16,也可选n1或64,括号内的数值(32)尽量不选,因为许多通信电路不支持它。 第6页,共87页,2022年,5月20日,6点2分,星期日3. 传输速率 异步传输,收、发端使用独立的时钟,时钟频率须相同,其误差容限在4.5以内,大多数接收端时钟比发发端时钟频率略快。异步传输常采用16个时钟周期发送一个数据位,即数据位宽Td16Tc,Tc是时钟周期。接收器在每个时钟的上

9、升沿对传输线上的信号电平采样,检测到低电平后再延续8个时钟周期,仍在上升沿采样、监测传输线是否仍为低电平,若不是低电平则判为假起始位(传输线上噪音干扰产生的误动作),删除之;若仍是低电平则判为真起始位(已定位在16个时钟周期构成的起始位的中间点),以此为时间基准,每隔16个时钟周期Tc对传输线上送来的数据位采样,如右图所示。在时间上每一个采样点都接近每一位位宽的中心点,避免了干扰,有效地实现了收发同步。 第7页,共87页,2022年,5月20日,6点2分,星期日 4. 通信工作方式 按在不同方向上数据传输能力,传输线路有三种基本工作方式。 单工通信 两通信终端只能由一方将数据传输给另一方,即一

10、方仅可作为发送端,另一方只能为接受端。半双工通信 两通信终端都可以发送或接收数据,但任何一方都不能在同一时间内又发又收,在同一时间内只能由一方发另一方收。某些领域内将单工通信称为单向通信,而将半双工通信称为单工通信。全双工通信 两通信终端都可以同时在两个方向上进行数据的发送和接收。一般情况下,一条物理链路只能进行单工或半双工数据通信,而全双工信道需要两条传输链路。一条传输链路通常由两条传输线组成,称为二线制线路。 第8页,共87页,2022年,5月20日,6点2分,星期日5. 校验方式 数据代码在存储、传输和处理过程中,由于干扰或衰减会发生突变,出现差错。若不能及时识别、纠正这种差错,将产生无

11、法预料的后果。适当增加代码长度,按一定算法进行变换,形成含一定冗余度的校验码,可在一定范围内对错误进行检测甚至纠正。一般情况下,数据冗余度越大,校验码的检错、纠错能力越强。但冗余度越大,占据的存储空间越多,传输和处理的时间越长,使系统效率降低。校验码一般可分为两种:检错码和纠错码。检错码可以发现某些错误而不能纠正错误;纠错码不仅能发现某些错误,还能在一定程度上予以纠正。产生校验码的方法很多,如奇偶校验码、循环冗余校验码(CRC)、恒比码、群计数码、海明码等等,前两种校验码在计算机中有广泛的应用。 (1) 奇偶校验(Parity Check)奇偶校验码最简单,无纠错能力。编码规则是先将数据代码分

12、组(如一个ASCII字符为一组),在各组数据后加一位校验位,使包括校验码在内的数据代码中“1”的个数恒为偶数个(偶检验)或奇数个(奇校验)。设b0bm-1是同一组内m位数据,bm是附加的校验位,则偶校验:bm=b0b1bm-1奇校验:bm=b0b1bm-11进行校验时,必定:偶校验 b0b1bm-1bm0 (有偶数个“1”) 奇校验 b0b1bm-1bm1 (有奇数个“1”)否则出错。第9页,共87页,2022年,5月20日,6点2分,星期日5. 校验方式 (续)奇偶校验码只能检出数据代码中奇数个错误,偶数个错误必定漏检。理论计算和统计结果都表明:奇偶校验能查出绝大多数随机错误,漏检率为3.5

13、10-4,但对诸如通信系统中可能出现的突发性错误,漏检率接近1/2。根据数据代码的分组方法,奇偶校验可分为垂直奇偶校验、水平奇偶校验和纵横奇偶校验,水平奇偶校验相对比垂直奇偶校验复杂;纵横奇偶校验又称垂直水平奇偶校验,查错能力最强,能查出垂直和水平方向上的奇数个错误,还能查出不大于代码长度的突发错误,它产生校验码和校验逻辑更为复杂。(2) 循环冗余校验CRC(Cyclic Redundancy Check)CRC性能优秀,但其编码、检错、纠错的算法复杂。随着VLSI的发展,CRC的复杂算法都已由硬件电路实现,速度远高于软件计算;因此,CRC广泛用于计算机网络设备中。CRC码又称(n,k)循环码

14、,此编码共n位,前k位为数据位,后(n-k)=r位为冗余位,冗余位是原数据代码模2除某个r位二进制数得到的余数。对(n,k)循环码,有且只有一个r位二进制数g,满足:(n,k)循环码中任一合法码字都是g的整数倍,即任一合法码字模2除g的余数都为0; 任一非法的(n,k)循环码码字模2除g的余数都不为0; 合法的(n,k)循环码右移一位后仍为合法的循环码。g所对应的多项式称为生成多项式g(x),即把码字中码元当作多项式的系数(取值为0或1),码元所处的位置(从右向左数)作为对应项的幂。 第10页,共87页,2022年,5月20日,6点2分,星期日5. 校验方式 (续)CRC校验过程为:将发送帧看

15、成是一长串的二进制位流,在发送的同时连续模2除一个二进制数(即生成多项式),数据位发送完毕再接着发送模2相除所得到的余数;接收方将接收到的二进制位流(包括余数)模2相除同一个生成多项式,若能除尽则认为传输无误,若除不尽肯定出错。模2加减即按位加减,不考虑进位和借位;模2乘除是在模2加减基础上进行乘除运算。CRC校验广泛用于高速同步通信。常用的生成多项式有CRC-12 x12+x11+x3+x2+1 美国二进制同步系统(如磁盘控制器)中采用, CRC-16 x16+x15+x2+1 (同上)CCITT x16+x12+x5+1 SDLC/HDLC通信规程中多采用CRC-32 x32+x26+x2

16、3+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 IEEE802.3标准的计算机局域网中采用CRC码查错功能较强,能查出: 全部奇数个错; 全部双错;全部不多于冗余位r=(n-k)的突发性错误; 对(n-k+1)位突发错,检出率为1-2-(r-1); 对大于(n-k+1)位突发错,检出率为1-2-r。 第11页,共87页,2022年,5月20日,6点2分,星期日5. 校验方式 (续)(3) 数据传输质量数据传输质量常用误码率来衡量,误码率是个统计平均值:误码率=接收方出现差错的比特数/总的传输比特数100%差错有独立型差错和突发型差错,前者码元间差错不存在关联,

17、后者多是由于外界强干扰引起的突发或成片差错。独立型差错又称随机差错,可通过改进传输设备和传输线路加以改善;突发型差错严重而通过检错纠错编码仍无法纠正的,接收方只有要求对方重发。 6. 调制-解调与多路复用二进制数字信号都是脉冲信号,其频谱很宽,从直流到很高频率;计算机进行远程数据传输大多借用现成的公用通信网。而公用通信网对用户端开通的通信信道带宽是有限的,如电话网为300Hz3400Hz。因此,对于远程数据传输,发送端要将数字信号经调制器调制成适合在通信信道上传输的模拟信号,到达接收端后用相应的解调器将模拟信号还原成原先的数字信号。对于需要收发的通信终端,将调制和解调两种设备做在一起,这就是调

18、制解调器Modem (Modulator-Demodulator)。 第12页,共87页,2022年,5月20日,6点2分,星期日6. 调制-解调与多路复用(续)调制信号的方法很多,常见的有调幅、调频、调相三种信号变换,分别称为ASK(幅度键控)、FSK(移频键控)、PSK(移相键控),如下图所示。 对二进制数值“0”和“1”,ASK用正弦波的两个不同振幅值表示,FSK用两个不同频率表示,PSK用一定频率正弦波的两个不同相位表示。对移相调制PSK有二相调制:移相0表示0,移相180表示1;四相调制:相位角变化0、90、180、270分别表示二位二进制数00、01、10、11;八相调制:相位角变

19、化0、45、90、135、180、225、270、315分别表示三位二进制数000、001、010、011、100、101、110、111。在高速调制解调器中,除移相调制PSK外,还常有相位幅度调制PAM,用相位和幅度不同状态的组合来表示数位二进制数。 第13页,共87页,2022年,5月20日,6点2分,星期日6. 调制-解调与多路复用(续)在长途通信中常用光纤、卫星、地面微波、同轴电缆等传输信号,它们容量高、频带宽,为了充分、高效、合理利用通信资源,一般采用多路复用技术,让多路数据信号共同使用一条线路进行传输:发送端将来自多条输入线的多路数据信号组合、调制成复用数据信号送上高容量的数据链路

20、,接收端用多路分配器接收复用数据信号,依照信道分离(分配)、还原为多路数据,将其送到相应的输出线上。多路复用技术逐步发展,从最初的由多条电线组成一根电缆的空分多路复用SDM(Space Division Multiplex)、到模拟通信中的频分多路复用FDM(Frequency Division Multiplex)、到数字信号传送的时分多路复用TDM(Time Division Multiplex)和统计时分多路复用SDTM(Statistical TDM,又称异步TDM或智能TDM),而现代广泛应用于卫星通信和移动通信的是码分多路复用CDMA(Code Division Multiplex

21、 Address,又称码分多址),随着光纤通信的发展又出现了波分多路复用WDM(Wavelength Division Multiplex)和光频分多路复用OFDM(Optical Frequency Division Multiplex),本质上WDM和OFDM属于频分多路复用FDM。 第14页,共87页,2022年,5月20日,6点2分,星期日7.1.2 串行接口 1. 串行接口标准简介数据的发送者和接收者分别称为数据源和数据宿,统称为数据终端设备,即DTE(Data Terminal Equipment)。DTE之间的通路称为数据电路。数据信号必须经信号变换设备变换后才能送上(通信网的)

22、传输信道进行传输,传输的信号也必须经反变换后才能为DTE所接收。信号变换设备位于数据电路的终端,称为数据电路终接设备,即DCE(Data Circuiting Equipment)。在简单的计算机数字传输系统中,计算机(或准确地讲计算机串行接口)就是DTE,调制解调器MODEM就是DCE,它们位于OSI通信模型的最低层物理层。为了统一物理层的操作,使得不同厂家生产的设备能相互连接起来,国际标准化组织ISO、国际电报电话咨询委员会CCITT、电气和电子工程师协会IEEE、美国电子工业协会EIA均制定了相应的标准和建议,例如CCITT制定的通过电话网进行数据传输的V系列建议、通过公用数据网进行数据

23、传输的X系列建议、IEEE制定的用于局域网的IEEE802系列标准等等。其中两个最著名的协议实例是CCITT V.24和X.21。由于计算机网络最早使用的是模拟电话信道,CCITT较早地开发和建立了适合于电话网的CCITT V.24,用作计算机或终端与Modem之间的接口标准。CCITT V.24与广为流行的EIA RS-232-C标准相兼容,作为DTE-DCE之间的模拟接口标准非常实用。第15页,共87页,2022年,5月20日,6点2分,星期日1. 串行接口标准简介(续)RS-232-C规定了接口接插件(插头、插座)的规格、尺寸、针孔的数量与排列等机械特性如下图所示。RS-232-C规定了

24、连线的电气特性:信号电平采用负逻辑,即逻辑“1”为-3V-15V,逻辑“0”为+3V+15V;使用分立元件实现不平衡双流接口,最大工作速率为20Kbps,采用ISO2110规定的25芯连接器。当采用电容性(约150pF/m)多芯电缆时,最大缆长不超过15m。RS-232-C功能特性规定每条接口线有一个功能,接口线以英文字母组合命名。RS-232-C规程特性定义了接口控制信号线上电平升降的动作序列,它们对应了接口两侧物理连接的建立、维持、拆除以及比特流的传送情况。第16页,共87页,2022年,5月20日,6点2分,星期日1. 串行接口标准简介(续)计算机还用到其它串行接口。如IBM PC机支持

25、20mA电流环方式。以20mA电流的有和无来表示逻辑电平“1”和“0”,有4条信号线:发送+、发送-、接收+、接收-;在机器内借用RS-232-C的D型25针连接器中未使用的9、11、18、25号引线做为上述4条信号线。20mA电流环抗干扰能力强、传输距离远,是个非正式标准。高速远距离大容量传输场合,也用到RS-422和RS-423,它们采用差分平衡传输线和差分不平衡传输线,最大传输距离达1500m,传输速率可分别达到1Mbps和100Kbps。1997年以后,支持通用串行总线USB标准的外设迅猛发展,USB接口受到普遍支持,大有取代其它各种外设接口的架势,详见后述。 第17页,共87页,20

26、22年,5月20日,6点2分,星期日2. 串行接口连接 以RS-232-C为例介绍串行接口的连接。RS-232-C标准规定了串行通信时数据终端设备DTE(例如计算机)和数据电路终接设备DCE(如MODEM)之间的接口信号。RS-232-C共定义25条线,包括2条地线、4条收发数据线、11条控制线、3条定时线,另有2条留作测试用、3条保留备用。实际上常用的只有9条,分述如下。(2) 数据收发线TxD:发送数据线 DTE将串行数据经TxD端发送至DCE。RxD:接收数据线 DTE从RxD端接收DCE送来的串行数据。当数据传输距离大于15米时,DTE之间要加Modem进行调制解调,一般要用到RS-2

27、32-C定义的59条信号线,Modem之间距离近可用专线,距离远可通过电话网传输,接口连接如下图所示。 SG:信号地。第18页,共87页,2022年,5月20日,6点2分,星期日1. 串行接口标准简介(续)数据传输距离小于15米时,可在DTE之间直接通过RS-232-C连线而无须Modem,最简单情况只要使用3条信号线就能进行全双工通信,各种接线方式如右图所示。第19页,共87页,2022年,5月20日,6点2分,星期日7.2 可编程通信接口芯片 通信接口硬件电路可分为UART(Universal Asynchronous Receiver/Transmitter:通用异步收发器)、USRT(

28、Universal Synchronous Receiver/Transmitter:通用同步收发器)和USART(Universal Synchronous-Asynchronous Receiver/Transmitter:通用同步-异步收发器)。PC机中串行通信接口使用8250,属UART,只支持异步通信,采用单通道双缓冲结构,芯片外部有40条引脚。8251A-PCI(Programmable Communication Interface:可编程通信接口)属USART,采用单通道双缓冲结构,芯片有28条引脚。8251A的基本性能如下。同步传输:每个字符可设为58位,可内同步或外同步,内

29、同步自动插入同步字符; 传输速率可达64Kbps。 异步传输:每个字符可设为58位,传输速率可达19.2Kbps,收发时钟速率可为传 输波特率的1、16或64倍,可编程产生1、1.5或2位的停止位,能检测假起始位,自 动检测奇偶错、格式错和溢出错。 完全双工,具有双缓冲的接收器和发送器。所有输入输出电平与TTL兼容。 第20页,共87页,2022年,5月20日,6点2分,星期日7.2.1 编程结构 8251A有五个主要组成部分:面向通信端的接收器、发送器、调制解调控制逻辑和面向CPU端的读写控制逻辑、数据总线缓冲器。 (1) 接收器接收器按接收时钟RxC的节拍将RxD引脚上的串行数据一位位地移

30、入接收移位寄存器,按规定去掉起始位、校验位和停止位,一个字符接收完毕再将接收移位寄存器中并行数据送入接受数据缓冲寄存器。接收移位寄存器接收串行数据,送出并行数据,完成串-并转换。接收移位寄存器和接收数据缓冲寄存器组成了接收的双缓冲器结构。 (2) 发送器发送器按TxC的节拍,将发送移位寄存器中的数据按规定的格式装上起始位、校验位和停止位,再一位一位移到TxD引脚发送出去。发送的数据先由CPU送入发送数据缓冲寄存器,当发送移位寄存器移空时,自动将发送数据缓冲寄存器的内容装入发送移位寄存器。发送移位寄存器装入的是并行数据,送出的串行数据,完成并-串转换。发送数据缓冲寄存器和发送移位寄存器组成了发送

31、的双缓冲器结构。 第21页,共87页,2022年,5月20日,6点2分,星期日7.2.1 编程结构(续)(3) 调制解调(Modem)控制逻辑Modem逻辑控制产生8251A与Modem之间二对(四线)联络信号:和、和,以协调8251A与Modem之间同步地传输数据。(4) 读写控制逻辑读写控制逻辑对系统送入8251A的控制信号进行译码,实施对8251A的读写操作,如下表所示。(5) 数据总线缓冲器数据总线缓冲器包括状态缓冲寄存器、命令缓冲寄存器,以及发送数据缓冲寄存器、接收数据缓冲寄存器,经双向三态数据引脚D7D0与系统数据总线相连。CPU用输入/输出指令对8251A读/写数据、或读状态字/

32、写控制字,都通过数据总线缓冲器进行。 第22页,共87页,2022年,5月20日,6点2分,星期日7.2.2 引脚及其功能 8251A芯片是N沟道硅栅工艺MOS器件,采用28脚DIP封装,如下图所示。 (1) 数据线 D7D0 双向三态收发的数据、写入的方式字/同步字符/命令字、读出的状态,都经D7D0进行。 (2) 读写控制线C/-D(Control/Data) 控制/数据信号,输入 C/-D引脚有两种状态,表征8251A芯片内的数据端口和控制(状态)端口。当-CS有效时,C/-D=0表示对8251A读写数据,C/-D=1则表示读状态或写控制字。-RD(Read) 读,输入,低电平有效。 有

33、效时表示对8251A进行读操作。-WR(Writ) 写,输入,低电平有效。 有效时表示对8251A进行写操作。RESET 复位,输入,高电平有效。 RESET有效使8251A复位到空闲状态,只有重新初始化才能脱离空闲状态。CLK 时钟输入 CLK周期规定在0.32s1.35s之间。在同步方式CLK频率大于TxC或RxC(收或发时钟)30倍,异步方式须大于收发时钟4.5倍。 -CS (Chip select) 片选信号,输入,低电平有效 接地址译码器的输出,有效后才能对8251A进行读写操作。第23页,共87页,2022年,5月20日,6点2分,星期日7.2.2 引脚及其功能 (3)发送器引脚T

34、xD(Transmitter Data) 发送数据线,输出。TxC(Transmitter Clock) 发送时钟,输入。TxRDY(Transmitter Ready) 发送准备好,输出,高电平有效。当允许发送且发送数据缓冲寄存器已空时,TxRDY有效,告知CPU将下一个发送字符送来。该引脚可作为中断请求信号向CPU申请发送中断。TxE(Transmitter Empty) 发送器空,输出,高电平有效。TxE有效表示发送移位寄存器移空,已无数据可发。TxE有效,必然TxRDY已经有效。(4) 接收器引脚RxD(Receiver Data) 接收数据线,输入。RxC(Receiver Cloc

35、k) 接收时钟,输入。RxRDY(Receiver Ready) 接收准备好,输出,高电平有效。RxRDY有效,表示接收数据缓冲器中已收到一个接收好的数据,可供CPU来读取。该引脚可作为中断请求信号向CPU申请接收中断。SYNDET/BRKDET(Synchronous Detect/Break Detect) 同步检测/断点检测,输出/输入,高电平有效。8251A工作于同步方式该引脚表示SYNDET,内同步时该引脚为输出,有效状态(高 电平)表示8251A已经检测到同步字符;外同步时该引脚为输入,由该引脚输入同步 脉冲,上升沿启动8251A接收数据。8251A工作于异步方式该引脚表示BRKD

36、ET,是输出信号,有效状态(高电平)表示 接收端检测到间断点(编程规定长度的全“0”字符);恢复正常数据接收时该引脚被 复位。 第24页,共87页,2022年,5月20日,6点2分,星期日7.2.2 引脚及其功能 (续)(5) Modem联络线 -DTR(Data Terminal Ready) 数据终端准备好,输出,低电平有效。8251A以有效来通知Modem:DTE(即8251A)已经准备好。-DSR(Data Set Ready) 数据装置准备好,输入,低电平有效。这是Modem对的应答信号:表示调制解调器已准备好。-RTS(Request To Send) 请求发送,输出,低电平有效。

37、8251A通过有效来向Modem提出发送数据的请求。-CTS(Clear To Send) 允许发送,输入,低电平有效。这是Modem对的应答信号:Modem已经准备就绪,8251A可以发送数据。只有有效,TxRDY引脚才可能有效。 第25页,共87页,2022年,5月20日,6点2分,星期日7.2.3 数据收发过程 1. 发送过程设置好8251A方式字(规定数据格式、通信方式和通信波特率)后,CPU输出命令字到8251A,使其-DTR与-RST引脚有效(通知Modem),待Modem来的-DSR、-CTS以及TxRDY引脚有效(读状态字识别)后,CPU用输出指令将发送数据输出至8251A的发

38、送数据缓冲寄存器(TxRDY变为无效),发送数据缓冲寄存器的内容再送至发送移位寄存器(此时TxRDY又变为有效,等待CPU送来下一个发送数据),发送移位寄存器按照发送时钟TxC的节拍将其内容一位一位地移到TxD输出数据线上串行发送出去。若是异步通信方式,控制逻辑按规定的格式给发送数据加上起始位、校验位和停止位。若是同步方式,外同步在外界同步脉冲触发后/内同步在发送同步字符(一个或两个)后,再按TxC节拍将发送移位寄存器内容逐位移到TxD输出数据线上。当发送移位寄存器移空时,发送数据缓冲寄存器内容自动装入发送移位寄存器,接着发送下一个字符的各位,如此不断重复,使数据发送连续进行。CPU通过查询或

39、中断方式及时地将发送数据送到发送数据缓冲寄存器,保证内存中待发送的数据经发送数据缓冲寄存器发送移位寄存器TxD,按TxC的节拍,源源不断地从TxD引脚线上发送出去,直至发送结束。若发送的数据不能及时送到发送数据缓冲寄存器(TxRDY有效),8251A按照既定的TxC速率对发送移位寄存器继续发送,将发送移位寄存器移空后TxE变为有效,发送过程就将中断(没有有效的数据供发送)。 第26页,共87页,2022年,5月20日,6点2分,星期日7.2.3 数据收发过程 (续)2. 接收过程初始化设置好8251A方式字,对内同步方式CPU输出命令字使8251A进入收索同步字符状态,不断判断RxD引脚上是否

40、接收到同步字符(一个或二个),若接收到同步字符,CPU输出命令字允许8251A开始接收数据。对外同步方式,则接收到输入的同步脉冲后开始接收数据。同步方式按RxC节拍从RxD引脚上逐位接收串行数据放入接收移位寄存器中,每接收完一个字符后就将接收移位寄存器中内容装入接收缓冲寄存器中。对异步方式允许接收后,8251A不断判断RxD引脚上是否收到起始位(“0”电平),若收到起始位则每隔若干时钟周期在数据位的中间点判断RxD引脚上接受的是“0”还是“1”,每接收完一帧(一个字符)8251A就按规定的格式去掉起始位、校验位和停止位,将接收移位寄存器中内容装入接收缓冲寄存器中。接收缓冲寄存器中每装入一个接收

41、的字符,RxRDY引脚输出有效,同时状态寄存器的RxRDY位为“1”;如果接收的字符出错,则状态寄存器的相应出错标志位(共3个)置位。CPU用中断或查询方式读取接收的数据。中断方式由RxRDY引脚经中断控制器向CPU申请中断;查询方式CPU首先从8251A状态寄存器读入状态字,判断一个字符是否接收完毕?接收是否出错?若接受完毕且无差错则从接收数据缓冲寄存器中读入数据,否则等待或进行出错处理。若CPU迟迟未取走已经送到数据缓冲寄存器中的接收数据,8251A按RxC节拍从RxD引脚上又接收完一个字符数据并再次装入接收数据缓冲寄存器中,则前一个接收数据将被冲掉,这就发生了重叠错(又称溢出错,状态寄存

42、器的D4=1)。 第27页,共87页,2022年,5月20日,6点2分,星期日7.2.4 初始化编程 8251A是可编程单通道全双工通信接口芯片,软硬件协调工作,不管是发送还是接收数据,都必须先对芯片进行初始化编程。初始化编程定义8251A通信方式、字符格式、传输波特率等,设置收发操作及其工作状态。 1. 初始化流程初始化向8251A写入方式字、(同步字符)和命令字,它们都写入芯片的控制端口,靠写入时的状态和顺序来区分。在8251A复位状态下,依次写入方式字(同步字符)命令字,异步方式或外同步方式时不需写入同步字符。初始化后8251A才能收发通信,其流程如右图所示。 8251A只有一个控制端口

43、,必须复位后才能写入方式字、同步字符和命令字,而复位又必须由命令字完成,如何进行呢?一般先向控制口连续写入两个字节0AAH、40H,0AAH称为虚字节,若8251A认为是方式字则为异步方式,接着向控制口写入的必定是命令字;若8251A认为是命令字,则没有内部复位(D6=0),接着向控制口写入的仍为命令字。因此接在0AAH之后写入的40H为命令字,执行内部复位(D6=1),接下来向控制口写入的肯定是方式字了,开始实际的初始化操作,本小节最后的接收程序对8251A就是这样开始初始化编程的。 第28页,共87页,2022年,5月20日,6点2分,星期日2. 方式控制字 方式控制字规定了8251A通信

44、的字符格式与校验、波特率系数和同步方式。其格式如下图所示。 D1D0=00为同步传输, D1D0=01、10、11为异步传输,波特率系数分别为1、16、64。D3D2决定一个字符的长度。D5D4定义字符的奇偶校验及校验方式。D4=0则D5位无效D7D6同步时规定同步方式和单/双同步字符;异步时规定停止位位数。 第29页,共87页,2022年,5月20日,6点2分,星期日3. 命令控制字 命令控制字规定了8251A芯片的收发操作及其状态,其格式如下图所示。 D0允许发送位:=1允许发送,=0禁止发送。只有D0=1,TxRDY才可能有效。D1数据终端准备好:=1使-DTR引脚有效(为0)。D2允许

45、接收位:=1允许接收,=0禁止接收。只有D2=1,RxRDY才可能有效。允许接收必须使错误标志复位(使命令字D4=1),在同步方式允许接受时还必须进入同步收索操作(使命令字D7=1)。D5请求发送位:=1使引脚-RTS有效,向Modem提出发送请求。D6内部复位位:=1强制8251A内部复位,使之回到准备接收方式字状态。D7进入收索操作位:只用于内同步方式,为1使8251A进入收索同步字符操作状态,收索到则使SYNDET引脚有效,并开始对数据的接收操作。D3发送断点字符位:=1迫使TxD端发送断点字符“1”,=0正常传输。D4出错标志复位位:=1使状态寄存器中三个出错标志位复位,以便重新接收字

46、符。 第30页,共87页,2022年,5月20日,6点2分,星期日4. 状态字 状态寄存器记录了8251A在收发数据过程中的状态,供CPU读取。状态字格式如下图所示。 D0:TxRDY位,为1表示发送数据缓冲寄存器已空。D1:RxRDY位,为1表示接收数据缓冲寄存器中已有一个接收好的数据。D2:TxE位,为1表示发送移位寄存器已空(无数据可发),其电平与TxE引脚相同。D3:PE(奇偶错)位,为1表示接收到的数据出现奇偶校验错。D4:OE(溢出错)位,为1表示出现溢出错,前一个已接受好的数据被冲掉。D5:PE(格式错)位,为1表示不能收到字符的有效停止位,字符格式出错。D6:SYNDET/BR

47、KDET(同步/断点检测)位,为1表示已经检测到同步字符(内同步方式)或接收到断点字符(异步方式)。D7:DSR(数据装置准备好)位,为1表示Modem已准备好,电平状态与引脚-DSR相反。 第31页,共87页,2022年,5月20日,6点2分,星期日5. 8251A应用 (1) 8251A与CPU、RS-232-C的硬件连接8251A作为串行通信接口,与CPU、RS-232-C的硬件连接如下图所示。经RS-232-C标准接口,8251A可连接异步/同步调制解调器等通信设备。 第32页,共87页,2022年,5月20日,6点2分,星期日(2) 软件编程控制通信 以甲乙两台TP86单板机之间通信

48、为例介绍编程控制。两台单板机均以8251A作为DTE,若距离很近,只需将甲机8251A的TxD、RxD同乙机8251A的RxD、TxD引线互连、再将信号地线GND直接相连即可。若相距较远,可经RS-232-C接口使用Modem、再经专线或电话网连接通信,参考前图。要求把甲机上存储在TBUFFER缓冲区、长度为2DH的数据块(一段显示程序)传送到乙机的RBUFFER的缓冲区中,采用异步方式,字符长度为8位、停止位2位、无校验,波特率系数为16。因此8251A的方式字为0CEH,发送命令字为33H(DTE准备好、允许并请求发送、错误标志复位),接受命令字为54H(错误复位、允许接受)。CPU采用查

49、询方式与8251A交换数据,8251A的控制口地址为0F2H,数据口地址为0F0H(即8251A的C/接系统地址总线A1)。接收与发送程序分别编写,每个程序都包括8251A初始化、状态查询和数据传输。第33页,共87页,2022年,5月20日,6点2分,星期日TP86发送程序CSEGSEGMENTASSUME CS:CSEG;以下是待发送的45个字节数据TBUFFERDB DB TCOUNT EQU $-TBUFFERTRANPROCFARMOV DX,0F2H;DX指向控制口MOV AL,0;连同以下三句使8251A进入复位状态OUT DX,ALOUT DX,ALOUT DX,ALMOV A

50、L,40H;内部复位命令字OUT DX,ALNOPMOV AL,0CEH;设置方式字OUT DX,ALMOV AL,33H;设置发送方命令字OUT DX,ALMOV CX,TCOUNT;设置发送字节数LEA SI,TBUFFER;发送字节的首地址送SI地址指针第34页,共87页,2022年,5月20日,6点2分,星期日TP86发送程序(续)LTRA:IN AL,DX;读取状态TEST AL,01H;发送缓冲器空吗?JZ LTRA;不空则继续询问等待MOV DX,0F0H;DX指向数据端口MOV AL,SI;取发送字节OUT DX,AL;送去发送INC SI;指向下一个发送字节MOV DX, 0

51、F2HLOOP LTRA;未发送完,继续JMP FF00:0000H;发送完毕,返回监控TRAN ENDPCSEGENDSEND 第35页,共87页,2022年,5月20日,6点2分,星期日TP86接收程序CDSEGSEGMENTASSUME CS:CDSEG RBUFFERDB45 DUP(?);设置45个字节长的接受字符缓冲区 RCOUNTEQU $-RBUFFERRECEPROCFAR START:MOV DX,0F2H;DX指向控制口MOV AL,0AAH;使8251A进入复位状态OUT DX,ALMOV AL,50H;复位并清除出错标志命令OUT DX,ALNOPMOV AL,0CE

52、H;设置方式字OUT DX,ALMOV AL,54H;设置接收方命令字OUT DX,ALMOV CX,RCOUNT;设置接收字节数LEA DI,RBUFFER;DI指向接受缓冲区首地址 第36页,共87页,2022年,5月20日,6点2分,星期日TP86接收程序(续)LREC:MOV DX,0F2H;DX指向状态口IN AL,DX;读取状态TEST AL,02H;接收到一个字符吗?JZ LREC;未接受到,继续询问等待TEST AL,38H;接收出错否?JNZ ERR;出错则转ERR处理MOV DX,0F0H;无差错则转数据口接收数据IN AL,DXMOV DI,AL;接收数据送接收缓冲区IN

53、C DI;指向下一个接收单元地址DEC CX;接收计数JNZ LREC;未完,继续接收ERR: ;接受出错处理RECEENDPCDSEGENDSEND 第37页,共87页,2022年,5月20日,6点2分,星期日7.3 微机异步通信适配器 异步通信适配器是计算机和调制解调器等外部通信设备之间的接口电路。早期微机异步串行通信适配器有两个通信通道,分主、辅两个串行口(COM1和COM2), PC机中相应有主、辅两块插卡,PC/XT机将两卡合一、并和其他电路做在一块适配卡上,再往后两个异步通信适配器直接整合在微机的主板内。PC/XT机异步通信适配器以可编程异步通信控制器8250为核心,配以TTLEI

54、A电平转换等电路,采用RS-232-C和20mA电流环传输方式。8250芯片采用DIP 40引脚封装,片内有10个8位寄存器用来控制传输数据格式、通信波特率,记录通信线路和Modem的状态,管理中断。8250有一个全双工的异步通信通道,不支持同步通信方式。 第38页,共87页,2022年,5月20日,6点2分,星期日7.3.1 异步通信适配器硬件逻辑结构 异步通信适配器硬件逻辑结构如下图所示,包括8250与系统总线的连接、以及通信端口的连线。 第39页,共87页,2022年,5月20日,6点2分,星期日8250是微机异步通信适配器的核心,其内部编程结构和外部引脚示于下图。 第40页,共87页,

55、2022年,5月20日,6点2分,星期日1. 主辅串口地址及8250片内寄存器寻址 主串口地址:跨接器U15的J12接通、J10断开,当AEN=0(非DMA操作)时,若A9A3为全“1”,与非门U2输出为“0”,片选有效(另两个片选端CS0与CS1接+5V,一直有效),主串口的8250被选中,故主串口地址为1111111xxx,即3F8H3FFH。辅串口地址:跨接器U15的J10接通、J12断开,将A8反相接至U2,其它与主串口情况相同,故辅串口地址为101111xxx,即2F8H2FFH。片内寄存器寻址:由地址线A2A0及片内线路控制寄存器最高位D7(DLAB位)实现对8250片内10个寄存

56、器寻址。 2. 对通信适配器的读写控制由系统信号-IOR和-IOW直接控制对8250的读和写。8250芯片的正数据输入选通引脚DISTR和正数据输出选通引脚DOSTR直接接地、一直 无效,系统读信号-IOR经两级反相接到8250的负数据输入选通引脚-DISTR,控制对其读出; 系统写信号直接与8250的负数据输出选通引脚-DOSTR相连,控制对其写入。 两个输入选通引脚DISTR和-DISTR、两个输出选通引脚DOSTR和-DOSTR中,只要有一 个有效即可对8250进行读或写。 3. 基准时钟输入 1.8432MHz晶振脉冲经三态门U7隔离、整形送到8250的基准时钟输入端XTAL1。基准

57、时钟再用片内的两个8位除数锁存器锁存的除数(16位)对之分频,即得到发送器的 发送时钟; 将芯片输出引脚BAUD OUT与输入引脚RCLK相连,则8250接收器的接收时钟与发送 器的发送时钟相同。 第41页,共87页,2022年,5月20日,6点2分,星期日7.3.2 异步通信接口 如图所示,异步通信接口有6条(3233、3639)与Modem的联络控制线,提供RS-232-C电压传输方式和20mA电流传输方式。U14将Modem信号线上EIA电平转换成TTL电平送到8250的-RLSD (Receiver Line Signal Detect:接收线路信号检测)、-CTS(Clear To

58、Send:允许发送)、 -DSR(Data Set Ready:数据装置准备好)和 -RI(Ring:振铃)引脚,U12则把8250的输出引脚-DTR(Data Terminal Ready:数据终端准备好)和-RTS(Request To Send:请求发送)的TTL电平转换成EIA电平送到RS-232-C的D型插座20#和4#引脚上。采用RS-232-C方式传输,则跨接器U5的J7和J8接通,J1、J2和J3断开。8250串行输出数据从SOUT引脚经U13变成EIA电平,通过J7输出到RS-232-C的D型插座TxD线(脚2#)。而从D型插座的RxD线(脚3#)来的接收数据经U9转换成TT

59、L电平,通过J8送入8250的串行输入引脚SIN。使用20mA电流环方式传输,跨接器U5的J1、J2和J3接通,J7和J8断开。SOUT的输出数据经U8(3个并联的集电极开路电路)产生20mA电路,该电流通过J2、通信线路、对方两个接收端(18#和25#)和J1构成电流环路。作为接收方20mA电流流经U4使发光二极管发光,紧挨着的光敏二极管导通,使三极管导通,其集电极变为低电平,反相后为高电平,即TTL电平“1”,经J3送入8250的串行输入端SIN;若没有20mA电流,则送入SIN引脚的为“0”。 第42页,共87页,2022年,5月20日,6点2分,星期日7.3.3 串行通信功能调用 基本

60、输入输出系统BIOS提供了对异步通信功能的调用,用“INT 14H”指令实现。这样,用户就不必熟悉异步通信适配器的硬件结构及有关细节,只要给出相应的通信参数、然后调用即可。调用主串口(地址范围3F8H3FFH),须令DX=0;DX=1调用辅串口(地址范围2F8H2FFH)。串行通信功能调用INT 14H 有四种功能,功能号为03,由AH指明。1. 初始化通信口功能号:AH=0入口参数:AL出口参数:AX 第43页,共87页,2022年,5月20日,6点2分,星期日出口参赛返回通信线路状态(在AH中)和Modem状态(在AL中),如下图所示。 入口参数规定数据格式、校验方式和波特率,如下图所示。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论