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

下载本文档

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

文档简介

1、2022-4-9计算机接口技术1第第8章章 串行通信接口串行通信接口本本 章章 内内 容容 串行通信的基本概念串行通信的基本概念 串行通信协议串行通信协议 串行通信接口标准串行通信接口标准 串行通信接口电路串行通信接口电路 RS-232C标准的串行通信接口设计标准的串行通信接口设计 RS-485标准的串行通信接口设计标准的串行通信接口设计 基于基于UART的串行通信接口的串行通信接口2022-4-9计算机接口技术28.1 串行通信的基本概念串行通信的基本概念 串行传送串行传送是在一根一根或一对一对传输线传输线上,在时钟时钟的作用下的作用下,一位一位一位一位地传送信息地传送信息,这根(对)线既作

2、为既作为数据线数据线又作为又作为联联络线络线。可以利用电话线进行数据传送,从而大大降低了成本,特别适用于远距离通信特别适用于远距离通信,但传送速度较慢。2022-4-9计算机接口技术38.1.1 串行通信的基本特点串行通信的基本特点1.采用1根或1对对传输线传输线按位按位传送信息传送信息。传输线传输线既作为数据线既作为数据线又作为联络线作为联络线; 2.为了对传输中的信息进行识别,要求有固定的有固定的数据格式数据格式,分同步同步和异异步步数据格式数据格式; 3.为了保持双方的收发速度一致,串行传输的串行传输的速率需要控制速率需要控制,采用双采用双方约定的方约定的波特率波特率进行传输。 4.串行

3、通信易受干扰串行通信易受干扰,特别是远距离传输,出错难以避免,故需要进行需要进行差错的检测与控制,差错的检测与控制,如奇偶校验,奇偶校验,CRCCRC等。 5.串行通信串行通信中对信号的逻辑定义对信号的逻辑定义和TTLTTL不一定兼容,需要进行需要进行逻辑关系逻辑关系和逻辑电平转换和逻辑电平转换;总之,串行通信制定了各种通信协议与标准,来规范串行通信双方共同遵守的操作规则。2022-4-9计算机接口技术48.1.2 串行通信的串行通信的工作制式工作制式1.1. 全双工全双工 全双工全双工是通信双方通信双方同时进行同时进行发送发送和接收接收操作。为此,要设置两根要设置两根( (或两对或两对) )

4、传输线传输线,分别发送和接收数据分别发送和接收数据,使数据的发送与接收分流,如图图8.18.1所示所示。全双工方式全双工方式在通信过程中在通信过程中,无须进行接收无须进行接收/ /发送方向发送方向的切换的切换,因此,没有没有切换操作所产生的时间延迟时间延迟,有利于远程实时监测与控制。图图8.1 8.1 全双工方式示意图全双工方式示意图 特点:每一端都有发送器和接收器 有二条传送线 应用:交互式应用,远程监测控制2022-4-9计算机接口技术52 2. .半双工半双工 半双工半双工是通信双方通信双方分时进行分时进行发送发送和接收接收操作,即双方都可发可收,但不能在同一时刻发送和接收,如图图8.2

5、8.2所示所示。因为半双工只设置设置1 1根根( (或或1 1对对) )传输线传输线,用于发送时就不能接收,用于接收时就不能发送。所以在半双工通信过程中半双工通信过程中,需要进行接收需要进行接收/ /发送方发送方向的切换向的切换,会有延时会有延时产生。图图8.2 8.2 半双工方式示意图半双工方式示意图特点:每端需有一个收/发切换电子开关 因有切换,会产生时间延迟应用:打印机串口,单向传送设备,发送器接收器 3. 单工单工 单工单工是通信双方通信双方只能进行一个方向的传输只能进行一个方向的传输,不能有双向传输不能有双向传输。此方式目前很少使用了。2022-4-9计算机接口技术78.1.3 串行

6、通信的串行通信的基本方式基本方式1 1. . 异步通信方式异步通信方式 异步通信异步通信是以字符为单位传输的以字符为单位传输的,每个字符经过格式化之后,作为独立的一帧数据,可以随机由发送端发出去可以随机由发送端发出去,即发送端发送端发出的发出的每个字符在通信线上出现的时间每个字符在通信线上出现的时间是任意的任意的。因此异步通信异步通信不要求不要求在收双收双方之间方之间使用同一根时钟线使用同一根时钟线。2.2.同步通信方式同步通信方式 同步通信同步通信是以数据块(字符块)为单位传输的以数据块(字符块)为单位传输的,每个数据块经过格式化之后,形成一帧数据,作为一个整体进行发送与接收,因此,传输一旦

7、开始,就要求数据块内部的每一位都要同步要求数据块内部的每一位都要同步。为此,收收/ /发两端发两端必须使用同一时钟必须使用同一时钟来控制控制数据块内部位与位之间的定时数据块内部位与位之间的定时,因此同步通同步通信信要求双方之间要求双方之间必须设置一根时钟线设置一根时钟线。 区别:异步通信方式的传输速率低,同步通信方式的传输速率高。异步传输的传输设备简单,易于实现,同步传输的传输设备复杂,技术要求高。因此,异步串行通信异步串行通信一般用在用在数据传输时间不能确定数据传输时间不能确定、发送数据发送数据不连续不连续、数据量较少数据量较少和数据传输速率较低数据传输速率较低的场合;而同步串行通信同步串行

8、通信则用在用在要求快速快速、连续连续传输大批量数据大批量数据的场合。 2022-4-9计算机接口技术88.1.3 串行通信的串行通信的基本方式基本方式1 1. . 异步通信方式异步通信方式 异步通信异步通信是以字符为单位传输的以字符为单位传输的,每个字符经过格式化之后,作为独立的一帧数据,可以随机由发送端发出去可以随机由发送端发出去,即发送端发送端发出的发出的每个字符在通信线上出现的时间每个字符在通信线上出现的时间是任意的任意的。因此异步通信异步通信不要求不要求在收双收双方之间方之间使用同一根时钟线使用同一根时钟线。2.2.同步通信方式同步通信方式 同步通信同步通信是以数据块(字符块)为单位传

9、输的以数据块(字符块)为单位传输的,每个数据块经过格式化之后,形成一帧数据,作为一个整体进行发送与接收,因此,传输一旦开始,就要求数据块内部的每一位都要同步要求数据块内部的每一位都要同步。为此,收收/ /发两端发两端必须使用同一时钟必须使用同一时钟来控制控制数据块内部位与位之间的定时数据块内部位与位之间的定时,因此同步通同步通信信要求双方之间要求双方之间必须设置一根时钟线设置一根时钟线。 区别:异步通信方式的传输速率低,同步通信方式的传输速率高。异步传输的传输设备简单,易于实现,同步传输的传输设备复杂,技术要求高。因此,异步串行通信异步串行通信一般用在用在数据传输时间不能确定数据传输时间不能确

10、定、发送数据发送数据不连续不连续、数据量较少数据量较少和数据传输速率较低数据传输速率较低的场合;而同步串行通信同步串行通信则用在用在要求快速快速、连续连续传输大批量数据大批量数据的场合。 2022-4-9计算机接口技术98.1.4 串行通信的串行通信的调制与解调调制与解调 串行通信是数字通信串行通信是数字通信,包含了从低频到高频的谐波成分,因此要求传输线的频带很宽要求传输线的频带很宽。在远距离通信时,为了降低成本,通信线路利用普通电话线,而这种电话线的频带宽度有限。如果用数字信号直如果用数字信号直接传输接传输,高次谐波的衰减就会很厉害,从而使从而使传输的信号产生严重的传输的信号产生严重的畸变和

11、失真畸变和失真;若若用模拟信号用模拟信号传输传输时,则失真较小则失真较小。因此需要因此需要在通信双在通信双方方采用采用MODEMMODEM进行数字信号进行数字信号与模拟信号模拟信号转换转换,调制与解调调制与解调如图如图8.38.3所示所示。图8.3 调制与解调示意图1. 什么叫调制? 调制就是进行波形变换。或者说进行频谱变换,就是将基带数字信号的频谱变换成适合于在模拟信道中传输的频谱。2. 作用: 调制器(Modulator)是一个波形变换器,它将基带数字的波形变换成适合于模拟信道传输的波形。 解调器是一个波形识别器,将模拟信号恢复成原来的数字信号。调制器解调器010010010010最基本的

12、调制方法有以下几种:(1)调幅(AM)即载波的振幅随基带数字信号而变化. “1”对应有载波 “0” 对应无载波3. 调制方法:(2)调频(FM) 即载波频率随数字信号而变化 “0”对应”f1” “1”对应“f2”(3)调相(PM) 即载波初始相位随基带数字信号而变化. “ 0”对应相位0度 “1”对应相位180度f1f2FMAM0 1 0 0 1 10度180度PM2022-4-9计算机接口技术128.2 串行通信协议串行通信协议 所谓通信协议所谓通信协议(也叫做通信控制规程)是指通信双方的一种约定是指通信双方的一种约定,约定中包括包括对数据格式数据格式、传输速度传输速度、检纠错方式检纠错方式

13、、传送步骤传送步骤,以及控控制字符定义制字符定义等问题作出统一规定作出统一规定,通信双方必须共同遵守共同遵守。 8.2.1 串行通信串行通信中中的的传输速率控制传输速率控制1 1. . 数据传输速率控制的实现方法数据传输速率控制的实现方法 串行通信时串行通信时,要求双方的传输速率严格一致要求双方的传输速率严格一致,并在传输开始之前,要预先设定,否则,会发生错误。 在数字通信中,传输速率的控制传输速率的控制是通过通过波特率时钟发生器波特率时钟发生器和设置波设置波特率因子特率因子或波特率除数波特率除数来实现的来实现的。2022-4-9计算机接口技术132.2.波特率、波特率、发送发送/ /接收时钟

14、波特率因子接收时钟波特率因子 (1)(1)什么是波特率什么是波特率 波特率波特率(Baud)是每秒传输串行数据的位数每秒传输串行数据的位数。例如,每秒传输1b,就是1波特;每秒传输1200b,就是1200波特。其单位单位是b/sb/s(位/秒),也可写成也可写成bpsbps。 例如,串行通信的数据传输率为1200b/s,则每一个数据位的传输时间Td为波特率的倒数,即: (2)(2)发送发送/ /接收时钟接收时钟 发送时发送时,发送端发送端在发送时钟脉在发送时钟脉TxC的作用下的作用下,将将发送寄存器发送寄存器的数据数据按位串行移位按位串行移位输出输出,送到通信线上;接收时接收时,接收端接收端在

15、接收时钟脉冲在接收时钟脉冲RxC的作用下的作用下,对来自对来自通信线上的串行通信线上的串行数据数据,按位串行移入移入接收寄存器接收寄存器,故发送发送/ /接收接收时钟脉冲时钟脉冲又可称为称为移位脉冲移位脉冲。d11 bT= 0 .8 3 3 m sB au d1 2 0 0 b /s位2022-4-9计算机接口技术14(3 3)波特率因子)波特率因子 发送发送/ /接收时钟接收时钟的频率频率,一般都设置为一般都设置为波特率的整数倍波特率的整数倍,如1、16、32、64倍。并且,把这个把这个波特率的倍数波特率的倍数称为波特率因子波特率因子(factor)或波特率系数波特率系数,其含义其含义是每传

16、输一个数据位需每传输一个数据位需要多是个移位脉冲要多是个移位脉冲,单位单位是个个/ /位位。 因此,可得出发送发送/ /接收时钟频率接收时钟频率TxC、波特率因子波特率因子factor和波特率波特率Baud三者之间的关系三者之间的关系,即: TxCTxCfactorfactorBaud Baud (8.18.1) 例如例如,某一串行接口电路的波特率为1200b/s,波特因子为16个/位,则发送时钟的频率为: TxCTxC1616个个/b/b1200b/s1200b/s19200Hz19200Hz 际上,波特率因子波特率因子可理解为理解为发送或接收发送或接收1b1b数据所需的时钟脉冲个数数据所需

17、的时钟脉冲个数。引用波特率因子引用波特率因子的目的目的是为了是为了提高定位采样的分辨率提高定位采样的分辨率,有利于有利于鉴别干扰鉴别干扰和提高提高异步串行通信的可靠性可靠性。这一点可从图图8.48.4中看出。 如果没有这种倍频关系,定位采样频率和传输波特率相同,则在一个位周期中,只能采样一次,这样就容易产生错误。2022-4-9计算机接口技术15 图8.4 16倍波特率时钟的作用例如例如,为了检测起始位下降沿的出现,在检测起始位的前夕采样一次,下次采样要到起始位结束前夕才进行,假若在这个位周期期间,因某种原因恰好使接收端时钟往后偏移了一点点,就会错过起始位,从而造成后面整个各位检测和识别的错误

18、。2022-4-9计算机接口技术163.3.波特率时钟发生器波特率时钟发生器 波特率时钟发生器波特率时钟发生器可由定时定时/ /计数器计数器82C54A来实现来实现,关键关键是要找出是要找出波特率的发送波特率的发送/ /接收接收时针脉冲时针脉冲与定时定时/ /计数器的计数器的定时常数定时常数之间的之间的关系关系, 从第4章定时/计数器82C54A的工作原理可知,定时器82C54A的输出OUT、输入CLK及定时常数TC的关系式如下: OUT=CLK/TCOUT=CLK/TC (8-28-2) (8-2)式中,OUT为输出波形频率;CLK为输入时针频率(通常是晶振的输出频率);TC为定时常数。如果

19、把82C54A的输出方波OUT作为串行通信的发送/接收时钟TxC,则有 OUT=TxCOUT=TxC (8-38-3) 将式(8-1)和式(8-2)代入式(8-3),可得 CLK/TC=Baudfactor 所以 TC=CLK/TC=CLK/(BaudBaudfactorfactor) (8-48-4)2022-4-9计算机接口技术17 从式(从式(8-48-4)可知)可知,当当输入时钟频率输入时钟频率和波特率因子波特率因子选定后选定后,求求波特率波特率的问题就变成了就变成了求求定时器82C54A的定时常数定时常数TC的问题了。而这个这个定时常数定时常数也就是波特率时钟发生器就是波特率时钟发生

20、器的输入时钟频率的分频系数输入时钟频率的分频系数,或叫波特率除数波特率除数。 例如例如,要求串行通信的传输率为9600波特,波特率因子为16,82C54A的输入时钟为1.19318MHz,则82C54A的定时常数, 根据(8-4)式为:TC=1.19318106次/s/(9600b/s16次/b)=8 因此,利用利用82C54A82C54A作波特率时钟发生器作波特率时钟发生器,就需要利用式(需要利用式(8-48-4)计算计算 出波特率相对应的定时常数出波特率相对应的定时常数,然后,将定时常数将定时常数装入装入82C54A的计数计数初初值寄存器值寄存器启动定时器即可启动定时器即可。2022-4-

21、9计算机接口技术188.2.2 串行通信串行通信中中的的差错检测差错检测1. 误码率的控制 所谓所谓误码率误码率,是是指数据经过传输后发生错误的位数发生错误的位数与 总传输位数总传输位数之比之比。在计算机通信中,一般要求要求误码率达到误码率达到1010-6-6数量级数量级。2. 检纠错编码方法的使用 在实际应用中,具体实现具体实现检错编码的方法检错编码的方法很多很多,而在串行通信中在串行通信中应用最多应用最多的是奇偶校验奇偶校验和循环冗余码校验循环冗余码校验。 错误检测错误检测只在接收方进行只在接收方进行,并且是在接收程序中通过软件来检测在接收程序中通过软件来检测。3. 错误状态的分析与处理

22、奇偶校验错奇偶校验错:通常是由噪声干扰而引起的,发生这种错误时,采用采用要求发送方重发要求发送方重发。 溢出错溢出错:通常是由收发双方的速率不匹配而引起的,可以采用采用降低降低发送方的发送速率发送速率或者或者在接收方设置设置FIFOFIFO缓冲区缓冲区的方法来减少这种错误。 帧格式错帧格式错:这种错误大多是由于双方数据格式约定不一致或干扰造成的,可通过通过核对双方的数据格式核对双方的数据格式减少错误。 超时错超时错:一般是由于接口硬件电路速度跟不上而产生。4 4 信息的检错与纠错信息的检错与纠错 串行数据在传输过程中,由于干扰而引起误码是难免的,这直接串行数据在传输过程中,由于干扰而引起误码是

23、难免的,这直接影响通信系统的可靠性,对通信中的检影响通信系统的可靠性,对通信中的检/ /纠错能力是衡是一个通信系纠错能力是衡是一个通信系统的重要内容。统的重要内容。 检错:如何发现传输中的错误,称为检错。检错:如何发现传输中的错误,称为检错。 纠错:如何消除错误,称为纠错纠错:如何消除错误,称为纠错. .(自动重发、正向纠错)(自动重发、正向纠错) 例:例:奇偶校验检错奇偶校验检错 方阵码检错方阵码检错 循环冗余码(循环冗余码(CRCCRC)检错)检错 差错检测重要指标差错检测重要指标: :误码率误码率P0 : 是衡量一个信道质量的重要参数。即:是衡量一个信道质量的重要参数。即:P0 =发生差

24、错的码元数接收的总码元数 编码效率R: 是衡量编码性能好坏的重要参数。即:R=k/n=k/(k+r)其中:k 为码字中信息位;r 为编码时外加冗余位; n 为编码后得到的码长1.水平奇偶校验码(奇偶检错)水平奇偶校验码(奇偶检错)I 11I 12 I 1q r 1I 21I 22 I 2q r 2 . I p1I p2 I p qr q信息位冗余位编码效率: R=q/q+1奇校验:使字符中的“1”的总数为奇数偶校验:使字符中的“1”的总数为偶数 1 1 0 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 0 0 1 1 1 1 0 0 0 0

25、 1 1 0 0 0 0 1 0 0 (检验字符)(检验字符)冗余位2. 垂直水平奇偶校验码(方正检错) 编码效率: R=pq / (p+1)(q+1)3. 循环冗余码 CRC(最精确、最常用) 循环冗余码CRC(Cyclic Redundancy Code)又称多项式码。任何一个二进制数位串都可以和一个只含有0和1二系数的多项式建立一一对应关系。 如: 1011011 x6+ x4 + x3 + x + 1K(x) = x6+ x4 + 1信息位:1010001冗余位:1101R(x) = x3+ x2+ 1代码 :10100011101T(x)= x4 K(x)+R(x)=x10+ x8

26、+ x4+ x3 + x2 + 12022-4-9计算机接口技术248.2.3 串行通信串行通信中中的的数据格式数据格式1 1. .起止式异步通信数据帧格式起止式异步通信数据帧格式 所谓所谓起止式起止式是在每个字符在每个字符的前面加前面加起始位起始位,后面加后面加停止位停止位,中间可中间可以加以加奇偶校验位奇偶校验位,空闲位空闲位,形成一个完整的字符帧格式完整的字符帧格式,如图如图8.58.5所示所示。图8.5 起止式异步通信数据格式2022-4-9计算机接口技术25下面分析起/止式数据格式每帧信息的内容及起/止位的作用。从图8.5可以看出,每个字符每个字符帧帧由4个部分组成个部分组成。 1位

27、起始位位起始位,低电平,逻辑值0。 58位数据位,位数据位,紧跟在起始位后,是要传输的有效信息。规 定从低位至高位依次传输。 1位校验位位校验位(也可以没有校验位)。 1位位,或1位半位半,或2位停止位位停止位,高电平(逻辑值1)。 停止位后面停止位后面是不定长度的空闲位空闲位。 停止位停止位和空闲位空闲位都规定为都规定为 高电平高电平,这样就保证保证起始位开始处起始位开始处 一定有一个一定有一个下跳变下跳变。 现在看看起起/止位的作用止位的作用。起始位和停止位起始位和停止位是作为联络信号作为联络信号而附加进来的,它们在异步通信格式中起着至关重要的作用。当当起始位起始位由由高电平高电平变为变为

28、低电平低电平的下跳变下跳变时,告诉告诉接收方数据的传输接收方数据的传输开始开始。它的到来它的到来,表示表示下面接着是数据位来了,要要接收方准备开始接收接收方准备开始接收。而停止位停止位标志一个字符的结束标志一个字符的结束,它的出现它的出现,表示表示一个字符传输结一个字符传输结束束。这样,就为通信双方提供了为通信双方提供了何时开始收发何时开始收发、何时结束的标志。何时结束的标志。2022-4-9计算机接口技术262 2. .面向字符的同步通信数据格式面向字符的同步通信数据格式 面向字符面向字符数据格式的典型代表典型代表是IBM公司的二进制同步二进制同步通信协议通信协议(BSC)。它的特点它的特点

29、是一次传送由若干个字符组成的数据块一次传送由若干个字符组成的数据块,并规定了并规定了1010个特殊字符个特殊字符作为作为这个数据块的数据块的开头开头与结束结束标志以及整个传输过程的传输过程的控制信息控制信息,它们也叫做通信控制字通信控制字,如图如图8.68.6所示所示。图8.6 面向字符的同步通信数据块的帧格式2022-4-9计算机接口技术273 3. . 面向比特的同步通信数据格式面向比特的同步通信数据格式 面向比特的协议面向比特的协议有同步数据链路控制规程同步数据链路控制规程SDLC、高级数据高级数据链路控制规程链路控制规程HDL、先进数据通信规程先进数据通信规程ADCCP等。这些协议的特

30、点协议的特点是所传输的一帧数据所传输的一帧数据可以是任意位可以是任意位,而且它是靠约定的位组合模式靠约定的位组合模式,而不是字符而不是字符,故称“面向比特”的协议,其数据格式数据格式如图如图8.78.7所示所示。图8.7 面向比特的同步通信数据帧格式8位位8位位8位位0位0位16位位8位位01111110ACIFC01111110开始标志地址场控制场信息场校验场结束标志2022-4-9计算机接口技术284 4. .I2CI2C串行总线数据格式串行总线数据格式 I2CI2C串行总线串行总线是Philips公司开发的可连接多个可连接多个主设备主设备及具有及具有不同速度的设备不同速度的设备的串行总线

31、串行总线, 它它只使用只使用两根两根双向信号线双向信号线:串行串行数据线数据线SDASDA和串行串行时钟线时钟线SCLSCL,其数据格式数据格式如图如图8.88.8所示所示。图8.8 I2C总线一帧完整的数据格式图2022-4-9计算机接口技术29下面通过通过I2C数据格式数据格式来了解I2C的传输过程与工作原理。传输过程与工作原理。 从图8.8可以看到,数据格式数据格式是以主设备主设备通过数据线发送启动信发送启动信号号Start开始开始,发停止信号发停止信号Stop结束结束。 在启动信号在启动信号后面后面,跟着发送第一字节发送第一字节,此字节的此字节的高高7位位为从设备从设备地址地址,最低位

32、最低位为指明数据传送方向数据传送方向的R/W(读/写)位,该位该位为为0表示主设备向从设备发送数据主设备向从设备发送数据,为为1表示从设备向主设备发送数据从设备向主设备发送数据。 地址字节地址字节后面后面,接着就可发送所要传输的发送所要传输的数据字节数据字节(DATA)。通信过程中,每次传送的字节数没有限制每次传送的字节数没有限制,即在Start与Stop之间的字节数可以是任意多个字节数可以是任意多个,但各字节之间但各字节之间必须插入一个必须插入一个应答位应答位(ACK),以表示以表示是否收到对方传来的数据是否收到对方传来的数据。 数据字节数据字节从最高位开始发送从最高位开始发送,全部数据发送

33、完后,就发停止信号结束一次数据传输。2022-4-9计算机接口技术308.3 串行通信接口标准串行通信接口标准 串行接口串行接口所直接面向所直接面向的并不是某个具体的并不是某个具体的通信设备通信设备,而是一种串而是一种串行通信的行通信的接口标准接口标准。所以,要进行串行通信接口要进行串行通信接口设计设计,就必须先讨就必须先讨论串行通信接口论串行通信接口标准标准,然后,按照标准来设计接口电路。 这里以RS-232C和RS-485为主来讨论。8.3.1 RS-232C标准标准 EIA-RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的通信协议。它适合于数据传输速率在0200

34、00b/s范围内的通信,广泛用于计算机与计算机,计算机与外设近距离串行连接。2022-4-9计算机接口技术311RS-232C标准对信号线的定义标准对信号线的定义 RS-232C定义的主信道信号使用9根线,包括2根数据线和1根地线,以及用于联络的6根控制线。6根联络控制信号线根联络控制信号线仅用于远距离通信用于远距离通信加加MODEM的应用环境的应用环境,而近距离通信近距离通信不加不加MODEM,故只使用只使用3根信号线根信号线,其定义如下。 2号线号线 发送数据(Transmitted dataTxD)线 3号线号线 接收数据(Received dataRxD)线 7号线号线 信号地(Sig

35、nal groudSG)线 不使用不使用MODEM的通信的通信,称为称为零零MODEM方式方式,俗称俗称“3线制线制”RS-232标准。零零MODEM方式的连接方式的连接如图如图8.9所示所示。图8.9 3线制零MODEM方式2022-4-9计算机接口技术322RS-232C标准对信号的逻辑定义标准对信号的逻辑定义(1)RS-232C标准对信号的逻辑定义标准对信号的逻辑定义 采用采用EIA逻辑,规定:逻辑,规定: 逻辑逻辑1(Mark)在驱动器输出端在驱动器输出端为515V,在负载端在负载端要求小于要求小于3V。 逻辑逻辑0(Space)在驱动器输出端在驱动器输出端为+5+15V,在负载端在负

36、载端要求大于要求大于+3V。 可见可见,RS-232C采用的是负逻辑采用的是负逻辑,并且逻辑电平幅值很高,摆幅很大。显然,RS-232C标准标准所采用的采用的EIA与计算机终端计算机终端所采用的采用的TTL在逻辑电平和逻辑关系上并不兼容并不兼容,故需要经过转换故需要经过转换,才能与计算机或终端进行数据交换。 (2 2)EIAEIA与与TTLTTL之间的转换之间的转换 EIAEIA与与TTLTTL之间的转换之间的转换采用专用芯片来完成采用专用芯片来完成。常用的转换芯片有有单向转换芯片单向转换芯片(如MC1488、SN75150),双向转换芯片双向转换芯片(如MAX232),可实现TTL与EIA之

37、间的双向转换,一个MAX232芯片可实现两对接收/发送数据线的转换。2022-4-9计算机接口技术33MAX232的外部引脚的外部引脚和内部逻辑内部逻辑如图如图8.10所示所示。从图8.10可知,通过通过MAX232可将将TTL/CMOS电平电平(05V)转换转换成成RS-232C的的EIA电平电平(+10V10V)。图8.10 MAX232的内部逻辑框图2022-4-9计算机接口技术34(3)RS-232C标准的连接器及通信线电缆标准的连接器及通信线电缆 1)连接器)连接器 连接器连接器即通信电缆的插头插座通信电缆的插头插座。RS-232C有DB-25型型和DB-9型型两种不同的连接器两种不

38、同的连接器,其引脚号的排列顺序各不相同。目前大多数目前大多数都都采用采用DB-9型型连接器连接器。DB-9型连接器型连接器的外形及信号引脚分配外形及信号引脚分配如图如图8.11所示所示。如前所述,若采用采用“3线制线制”进行近距离通信连接时,还应将应将DB-9型连接器的型连接器的4号线号线与与5号线号线,以及6号线号线与与20号线号线短接短接。图8.11 DB-9型连接器的外形及信号引脚分配 2)通信电缆长度)通信电缆长度 RS-232C标准规定当采用双绞线屏蔽电缆,传输速率为20kb/s时,在零在零MODEMR下下,两台计算机或终端的直接连接的最大物理距直接连接的最大物理距离离为为15m。2

39、022-4-9计算机接口技术358.3.2 RS-485标准标准 RS-485标准标准是在在RS-232C的基础上的基础上,针对在不使用不使用MODEM情况下情况下,进行远距离串行通信而提出的而提出的,因此只对只对RS-485标准标准的数据信号线数据信号线和信号逻辑信号逻辑重新进行了定义重新进行了定义,不涉及其他控制信号线的定义,而通信过程中所传输的数据帧格式沿用数据帧格式沿用RS-232C的的。1RS-485标准对信号线的定义标准对信号线的定义 RS-485标准标准与RS-232C标准标准最主要的差别最主要的差别是采用双线平衡方式采用双线平衡方式传输数据,而不是使用单线对地的方式传输数据。所

40、谓平衡方式所谓平衡方式,是指是指双端双端发送发送和双端接收双端接收,所以传输信号需要所以传输信号需要两条线两条线AA和BB,发送端和接收端分别采用平衡发送器(驱动器)和差动接收器,如图8.12所示。 发送端发送端通过通过平衡发送器平衡发送器把把逻辑电平逻辑电平转换转换成电位差成电位差,根据两条传输线根据两条传输线之间之间的电位差值的电位差值来定义来定义逻辑逻辑1和和逻辑逻辑0,进行传输,最后到达接收端。接接收端收端通过通过差动接收器差动接收器,把,把差动信号差动信号转换为转换为逻辑电平逻辑电平。 图8.12 RS-485标准的传输连接2022-4-9计算机接口技术362RS-485标准对信号的

41、逻辑定义(电气特性)标准对信号的逻辑定义(电气特性) RS-485标准标准采用采用电位差值电位差值定义定义信号逻辑信号逻辑,当当AA线的电平线的电平比比BB线的电平线的电平高高200mV时,表示表示逻辑逻辑1;当当AA线的电平线的电平比比BB的电平的电平低低200mV时,时,表示表示逻辑逻辑0。3RS-485标准的连接器与通信电缆标准的连接器与通信电缆 RS-485标准标准采用采用4芯水晶头连接器芯水晶头连接器进行进行全双工异步全双工异步通信通信,4芯水晶头连接器使用方便且价格低廉。RS-485标准的通信电缆为屏蔽双绞线,半双工是一对双绞线,全双工是两对双绞线。4RS-485总线标准的特点总线

42、标准的特点(1)由于采用差动采用差动发送/接收和双绞线平衡传输平衡传输,所以共模抑制比高共模抑制比高 ,抗干扰能力强,抗干扰能力强。因此,特别适合在干扰比较严重的环境下工作特别适合在干扰比较严重的环境下工作(2)传输速率高传输速率高,可达10Mb/s(传输距离为15m)。(3)传输距离长传输距离长,不使用MODEM,采用双绞线,传输距离1.2km(4)能实现能实现一点对多点一点对多点、多点对多点通信多点对多点通信。2022-4-9计算机接口技术378.4 串行通信接口电路串行通信接口电路 串行传输相串行传输相比并行传输并行传输而言有许多特殊问题需要解决有许多特殊问题需要解决,因此,串行通信接口

43、串行通信接口设计设计所涉及的所涉及的内容要复杂得多内容要复杂得多。下面先分析串行通信接口电路的任务(功能)及组成,然后具体讨论串行接口电路设计。8.4.1 串行通信接口电路的基本任务串行通信接口电路的基本任务 由于各个串行总线的功能及用途不一样,串行接口电路的任务也不同,有的复杂,有的简单,其基本任务基本任务有如下几个方面。1进行串进行串-并转换并转换 串行通信接口的串行通信接口的首要任务首要任务是进行进行数据的串数据的串/并转换并转换。在发送端在发送端,把把由计算机送来的并行数据转并行数据转换为串行数据串行数据,然后再发送出去。在接收端在接收端,把把从接收器接收的串行数据串行数据转换为并行数

44、据并行数据后,再送至计算机或终端。2提供串行通信总线标准所定义的信号线提供串行通信总线标准所定义的信号线 串行通信接口的串行通信接口的第二个任务第二个任务是提供符合提供符合串行通信串行通信总线标准所定义的信号线的信号线。 例如,RS-232C标准的2号线TxD、3号线RxD和7号线SG。 I2C标准的串行数据线SDA和串行时钟线SCL。2022-4-9计算机接口技术383实现串行通信的数据格式化实现串行通信的数据格式化 串行通信接口的串行通信接口的第三个任务第三个任务是实现实现串行通信协议串行通信协议的的数据格数据格式化式化。因为来自计算机的因为来自计算机的数据是普通并行数据数据是普通并行数据

45、,所以接口电路应具有使数据格式化的功能,实现不同串行通信方式下的数据格式化。 例如,对RS-232C标准,接口电路需自动生成异步通信的起止式起止式数据数据帧格式帧格式。4进行错误检测进行错误检测 串行通信接口串行通信接口的第四个任务第四个任务是检测并报告检测并报告通信过程中通信过程中所产生的所产生的差错差错。在发送端在发送端,接口电路接口电路需对传输的字符数据自动生成奇偶校验位或其他校自动生成奇偶校验位或其他校验码验码。在接收端在接收端,接口电路接口电路需要对所接收的字符数据进行奇偶校验进行奇偶校验或其其他校验码的检测他校验码的检测,以确定所接收的数据中是否有错误信息和是什么性质的错误。5进行

46、数据传输速率的控制进行数据传输速率的控制 串行通信接口串行通信接口的第五个任务第五个任务是对数据传输速率对数据传输速率进行控制进行控制,确保确保串行通串行通信双方的数据传输速率一致信双方的数据传输速率一致。这意味着接口电路需设置波特率时钟发生器。 2022-4-9计算机接口技术398.4.2 串行通信接口电路的解决方案串行通信接口电路的解决方案 本章串行接口的串行接口的解决方案是解决方案是采用可编程通用串行通信接口芯片可编程通用串行通信接口芯片构成构成外置式外置式的接口电路接口电路。1 1串行通信接口电路的组成串行通信接口电路的组成 串行通信接口电路串行通信接口电路一般由一般由串行通信接口芯片

47、串行通信接口芯片、波特率时钟发生器波特率时钟发生器、EIAEIA与与TTLTTL转换器转换器以及地址译码电路组成地址译码电路组成。若采用采用RS-485RS-485总线标准总线标准,则接口电接口电路路还应包括平衡发送器平衡发送器和平衡接收器平衡接收器。 串行接口芯片串行接口芯片是串行通信接口电路的核心串行通信接口电路的核心,能实现上面提出的串行通信接口基本任务的大部分工作,采用它们来设计串行通信接口,会使电路结构比较简单。 在微机系统中在微机系统中,使用较多使用较多的串行通信接口芯片有异步收异步收/ /发器发器(UARTUART)16550和同步同步/ /异步收异步收/ /发器发器(USART

48、USART)8251A,它们都是CPU的重要的串行通信接口支持芯片,其特点与所实现的功能基本相同,16550作为异步通信的性能更优,而8251A应用更简洁。本章将对两种接口芯片的应用分别进行讨论。2 2串行通信接口的配置方式串行通信接口的配置方式 串行通信接口电路串行通信接口电路的配置配置有3 3种形式种形式:外置式外置式独立的接口芯片独立的接口芯片,用于用于台台式微机式微机系统;内置式内置式接口模块接口模块,用于用于ARMARM和和MCUMCU系统;用户用用FPGAFPGA构建构建的接接口电路口电路,并与应用系统其他硬件在一起开发。2022-4-9计算机接口技术408.5 RS-232C标准

49、的串行通信接口设计标准的串行通信接口设计例例8.1 采用采用RS-232C 标准的异步串行通信接口设计标准的异步串行通信接口设计8.5.1 设计要求设计要求 设计设计甲乙两台微机之间串行通信甲乙两台微机之间串行通信接口电路接口电路。 要求要求按按RS-232CRS-232C标准标准进行半双工半双工异步串行通信异步串行通信,把甲机上开发的步进电机控制用程序传送到乙机中去,以便在乙机上运行。字符帧格式字符帧格式采用采用起止式起止式异步方式异步方式,字符长度字符长度为8 8位位,停止位停止位为2 2位位,波特率因子波特率因子为6464,无无校验校验。波特率波特率为4800b/s4800b/s。CPU

50、与接口芯片8251A之间用查询方式查询方式交换交换数据数据。2022-4-9计算机接口技术411. 8251A1. 8251A的外部特性的外部特性251A251A的外部引脚的外部引脚如图如图8.148.14所示所示。引脚信号线定义引脚信号线定义表表8.28.2所示所示。图8.14 8251A引脚图表8.2 8251A外部引脚功能8.5.2 设计方案分析设计方案分析本方案本方案是采用可编程通用接口芯片采用可编程通用接口芯片8251A构成外置式外置式的接口电路接口电路。因此,先分析与介绍8251A的外部特性和编程模型2.2.功能功能:(1)具有独立的发送和接收器,可单工、半双工、全双工的方式通信(

51、2)能够以同步、异步方式进行通信(3)在同步方式中,每个字符可以定义5-8个数据位,通信的波特率:0-64Kbps(4)在异步方式中,每个字符可以定义5-8个数据位,波特率系数为1/16/64,停止位的位数1/1.5或2位,通信波特率:0-19.2Kbps。(5)可进行奇偶校验,并可编程选择奇校验或偶校验。(6)出错检测。3.3.组成组成: 接收器、发送器、调制控制、读/写控制、数据总线缓冲器数据总线缓冲器读/写控制逻辑调制控制发送缓冲器发送控制接收缓冲器接收控制TXDTXRDYTXEMPTYTXCRXDRXRDYSYNDET/BDRXCDTRDSRRTSCTS RESETCLKC/DRDWR

52、CS发送器准备好发送数据线发送器空输入时钟4.8251A4.8251A的内部逻辑的内部逻辑C/D-=1, 写命令,读状态; =0, R/W数据(1).发送器发送器(执行(执行CPU指令,并行数据指令,并行数据-发送缓冲器发送缓冲器-发送移位器并行发送移位器并行数据转换为串行数据)数据转换为串行数据)TXRDY(Transmitter Ready):):发送器准备好,高电平有效发送器准备好,高电平有效TXE(Transmitter Empty):发送器空,状态线,高有效:发送器空,状态线,高有效TXD:发送数据线:发送数据线TXC:发送器输入时钟:发送器输入时钟(2).接收器(接收在RxD上的串

53、行数据并按规定的格式转换为并行数据,存放在接受数据缓冲器中)RXD:接收数据线RXRDY:接收器准备好SYNDET/BD:双向信号,同步字符检出信号(同步方式)/间断检出信号(异步方式)TXC:接收器输入时钟(3).与调制器的接口接号DTR:数据终端准备好RTS:请发送DSR:数据装置准备好CTS:清除传送8251读写操作读写操作CSRDWRC/D操 作0010CPU读8251数据0100CPU向8251写数据0011CPU读8251状态字0101CPU向8251写控制字011*数据总线空1*数据总线空C/D:控制/数据信号输入端。C/D=1,数据总线传输的是控制信息和状态字;C/D=0,传送

54、的是数据信息。8251A与与CPU的连接的连接2022-4-9计算机接口技术486 6. . 8251A8251A的编程模型的编程模型 8251A8251A的编程模型编程模型包括内部可访问的包括内部可访问的寄存器寄存器、分配给寄存器分配给寄存器的的端口地址端口地址,以及编程命令编程命令。用户利用8251A的编程模型进行串行通信程序设计。 (1)(1)8251A8251A内部寄存器及端口地址内部寄存器及端口地址 8251A8251A内部设置内部设置有收/发数据寄存器数据寄存器,端口地址端口地址为为308H308H。方式命方式命令寄存器令寄存器、工作命令寄存器工作命令寄存器和状态寄存器状态寄存器,

55、3 3个个寄存器共用寄存器共用1 1个端个端口口,端口地址端口地址为为309H309H。向该端口向该端口写操作写操作时,是写命令字是写命令字;从该端从该端口口读操作读操作时,是读状态字是读状态字。 2022-4-9计算机接口技术49 约定双方的通信方式,数据格式,传送速率约定双方的通信方式,数据格式,传送速率. .a.a.作用:作用:对对8251A8251A工作方式进行选择,是异步方式还是同步方式工作方式进行选择,是异步方式还是同步方式. .b.b.方式命令字格式:方式命令字格式:例如例如在某异步通信中,数据格式数据格式采用采用位数据位位数据位,1 1位起始位位起始位,2 2位停止位位停止位,

56、奇校验奇校验,波特率因子波特率因子是1616,其方式字为11011110B11011110B。 异步通信方式设置的程序段异步通信方式设置的程序段如下。 MOV DX,309H ;8251A命令口 MOV AL,11011110B11011110B ;方式命令字方式命令字 OUT DX,AL(2 2)方式命令)方式命令 方式命令格式方式命令格式如如8.158.15所示所示。图8.15 8251A通信方式命令的格式2022-4-9计算机接口技术50(3 3)工作命令)工作命令 工作命令的格式工作命令的格式如图如图8.168.16所示所示。作用:作用:是确定是确定8251A8251A的实际操作,迫使

57、的实际操作,迫使8251A8251A进行某种操作进行某种操作或工作状态,以便接收或发送数据。或工作状态,以便接收或发送数据。 图8.16 8251A工作命令的格式例如例如,在异步通信时,若允许接收允许接收,同时同时允许发送允许发送,则工作命令字=00000101B。程序段如下程序段如下。 MOV DX,309H ;命令口 MOV AL,00000101B ;工作命令字工作命令字 OUT DX,AL2022-4-9计算机接口技术51(4 4)状态字)状态字 状态字格式状态字格式如图如图8.178.17所示所示。作用:作用:8251A8251A执行命令进行数据传送后的状态字存放在执行命令进行数据传

58、送后的状态字存放在状态寄存器中,状态寄存器中,CPUCPU通过读出状态字进行分析和判断,以决定通过读出状态字进行分析和判断,以决定下一步的操作。下一步的操作。图8.17 8251A状态字的格式例如例如,串行通信时,在发送程序中在发送程序中,需检查状态字的需检查状态字的D0D0位是否置位是否置1 1,即查是否查是否TxRDY=1TxRDY=1?,其程序段如下其程序段如下。L:MOV DX,309H ;8251A状态端口 IN AL,DX AND ALAND AL,01H01H ;查查是否是否TxRDY=1TxRDY=1? JZ L ;未就绪,则等待2022-4-9计算机接口技术523.8251A

59、3.8251A的初始化的初始化(1 1)初始化内容)初始化内容 在异步方式下,8251A的初始化内容包括初始化内容包括:先写先写内部复位命令内部复位命令,再写再写方式命令方式命令,最后写最后写工作命令工作命令几部分。为了提高可靠性为了提高可靠性,往往还在写内部复位命令之前在写内部复位命令之前,向命令口写一长串向命令口写一长串0 0,作为作为空操作空操作。在同步方式下,8251A的初始化还包括设置同步字符。(2)初始化顺序)初始化顺序 初始化顺序初始化顺序如图如图8.18所示所示。这种顺序不能颠倒或改变,若改变了这种顺序,8251A就不能识别,也就不能正确执行。图8.18 向8251A命令端口写

60、入命令的顺序2022-4-9计算机接口技术538.5.3 电路与程序设计电路与程序设计1. 1. 串行接口电路设计串行接口电路设计 由于由于是近距离传输近距离传输,不需要不需要MODEMMODEM,故采用采用“3“3线制线制”的的3 3芯屏蔽通芯屏蔽通信电缆信电缆,把甲乙两台微机直接互连,异步串行通信接口电路异步串行通信接口电路如图如图8.198.19所示所示。接口电路接口电路以8251A8251A为主芯片为主芯片,再加上波特率时钟发生器波特率时钟发生器、电平转换器电平转换器、地址译码器地址译码器等。图8.19 RS-232C标准半双工异步串行通信接口电路框图2022-4-9计算机接口技术542. 2

温馨提示

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

评论

0/150

提交评论