




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-5-5计算机接口技术1第第8章章 串行通信接口串行通信接口本本 章章 内内 容容 串行通信的基本概念串行通信的基本概念 串行通信协议串行通信协议 串行通信接口标准串行通信接口标准 串行通信接口电路串行通信接口电路 RS-232C标准的串行通信接口设计标准的串行通信接口设计 RS-485标准的串行通信接口设计标准的串行通信接口设计 基于基于UART的串行通信接口的串行通信接口2022-5-5计算机接口技术28.1 串行通信的基本概念串行通信的基本概念 串行传送串行传送是在一根一根或一对一对传输线传输线上,在时钟时钟的作用的作用下下,一位一位一位一位地传送信息地传送信息,这根(对)线既作
2、为既作为数据线数据线又作为又作为联联络线络线。可以利用电话线进行数据传送,从而大大降低了成本,特别适用于远距离通信特别适用于远距离通信,但传送速度较慢。2022-5-5计算机接口技术38.1.1 串行通信的基本特点串行通信的基本特点1.采用1根或1对对传输线传输线按位按位传送信息传送信息。传输线传输线既作为数据线既作为数据线又作为联络线作为联络线; 2.为了对传输中的信息进行识别,要求有固定的有固定的数据格式数据格式,分同步同步和异异步步数据格式数据格式; 3.为了保持双方的收发速度一致,串行传输的串行传输的速率需要控制速率需要控制,采用双采用双方约定的方约定的波特率波特率进行传输。 4.串行
3、通信易受干扰串行通信易受干扰,特别是远距离传输,出错难以避免,故需要进行需要进行差错的检测与控制,差错的检测与控制,如奇偶校验,奇偶校验,CRCCRC等。 5.串行通信串行通信中对信号的逻辑定义对信号的逻辑定义和TTLTTL不一定兼容,需要进行需要进行逻辑关系逻辑关系和逻辑电平转换和逻辑电平转换;总之,串行通信制定了各种通信协议与标准,来规范串行通信双方共同遵守的操作规则。2022-5-5计算机接口技术48.1.2 串行通信的串行通信的工作制式工作制式1.1. 全双工全双工 全双工全双工是通信双方通信双方同时进行同时进行发送发送和接收接收操作。为此,要设置两根要设置两根( (或两对或两对) )
4、传输线传输线,分别发送和接收数据分别发送和接收数据,使数据的发送与接收分流,如图图8.18.1所示所示。全双工方式全双工方式在通信过程中在通信过程中,无须进行接收无须进行接收/ /发送方向的发送方向的切换切换,因此,没有没有切换操作所产生的时间延迟时间延迟,有利于远程实时监测与控制。图图8.1 8.1 全双工方式示意图全双工方式示意图2022-5-5计算机接口技术52 2. .半双工半双工 半双工半双工是通信双方通信双方分时进行分时进行发送发送和接收接收操作,即双方都可发可收,但不能在同一时刻发送和接收,如图图8.28.2所示所示。因为半双工只设置设置1 1根根( (或或1 1对对) )传输线
5、传输线,用于发送时就不能接收,用于接收时就不能发送。所以在半双工通信过程中半双工通信过程中,需要进行接收需要进行接收/ /发送方发送方向的切换向的切换,会有延时会有延时产生。图图8.2 8.2 半双工方式示意图半双工方式示意图3. 单工单工 单工单工是通信双方通信双方只能进行一个方向的传输只能进行一个方向的传输,不能有双向传输不能有双向传输。此方式目前很少使用了。2022-5-5计算机接口技术68.1.3 串行通信的串行通信的基本方式基本方式1 1. . 异步通信方式异步通信方式 异步通信异步通信是以字符为单位传输的以字符为单位传输的,每个字符经过格式化之后,作为独立的一帧数据,可以随机由发送
6、端发出去可以随机由发送端发出去,即发送端发送端发出的每发出的每个字符在通信线上出现的时间个字符在通信线上出现的时间是任意的任意的。因此异步通信异步通信不要求不要求在收双收双方之间方之间使用同一根时钟线使用同一根时钟线。2.2.同步通信方式同步通信方式 同步通信同步通信是以数据块(字符块)为单位传输的以数据块(字符块)为单位传输的,每个数据块经过格式化之后,形成一帧数据,作为一个整体进行发送与接收,因此,传输一旦开始,就要求数据块内部的每一位都要同步要求数据块内部的每一位都要同步。为此,收收/ /发两端发两端必须使用同一时钟必须使用同一时钟来控制控制数据块内部位与位之间的定时数据块内部位与位之间
7、的定时,因此同步通同步通信信要求双方之间要求双方之间必须设置一根时钟线设置一根时钟线。 异步通信方式的传输速率低,同步通信方式的传输速率高。异步传输的传输设备简单,易于实现,同步传输的传输设备复杂,技术要求高。因此,异步串行通信异步串行通信一般用在用在数据传输时间不能确定数据传输时间不能确定、发送数据发送数据不连续不连续、数据量较少数据量较少和数据传输速率较低数据传输速率较低的场合;而同步串行通信同步串行通信则用在用在要求快速快速、连续连续传输大批量数据大批量数据的场合。 2022-5-5计算机接口技术78.1.4 串行通信的串行通信的调制与解调调制与解调 串行通信是数字通信串行通信是数字通信
8、,包含了从低频到高频的谐波成分,因此要求传输线的频带很宽要求传输线的频带很宽。在远距离通信时,为了降低成本,通信线路利用普通电话线,而这种电话线的频带宽度有限。如果用数字信号直如果用数字信号直接传输接传输,高次谐波的衰减就会很厉害,从而使从而使传输的信号产生严重的传输的信号产生严重的畸变和失真畸变和失真;若若用模拟信号用模拟信号传输传输时,则失真较小则失真较小。因此需要因此需要在通信双在通信双方方采用采用MODEMMODEM进行数字信号进行数字信号与模拟信号模拟信号转换转换,调制与解调调制与解调如图如图8.38.3所示所示。图8.3 调制与解调示意图2022-5-5计算机接口技术88.2 串行
9、通信协议串行通信协议 所谓通信协议所谓通信协议(也叫做通信控制规程)是指通信双方的一种约是指通信双方的一种约定定,约定中包括包括对数据格式数据格式、传输速度传输速度、检纠错方式检纠错方式、传送步骤传送步骤,以及控控制字符定义制字符定义等问题作出统一规定作出统一规定,通信双方必须共同遵守共同遵守。 8.2.1 串行通信串行通信中中的的传输速率控制传输速率控制1 1. . 数据传输速率控制的实现方法数据传输速率控制的实现方法 串行通信时串行通信时,要求双方的传输速率严格一致要求双方的传输速率严格一致,并在传输开始之前,要预先设定,否则,会发生错误。 在数字通信中,传输速率的控制传输速率的控制是通过
10、通过波特率时钟发生器波特率时钟发生器和设置波设置波特率因子特率因子或波特率除数波特率除数来实现的来实现的。2022-5-5计算机接口技术92.2.波特率、波特率、发送发送/ /接收时钟波特率因子接收时钟波特率因子 (1)(1)什么是波特率什么是波特率 波特率波特率(Baud)是每秒传输串行数据的位数每秒传输串行数据的位数。例如,每秒传输1b,就是1波特;每秒传输1200b,就是1200波特。其单位单位是b/sb/s(位/秒),也可写成也可写成bpsbps。 例如,串行通信的数据传输率为1200b/s,则每一个数据位的传输时间Td为波特率的倒数,即: (2)(2)发送发送/ /接收时钟接收时钟
11、发送时发送时,发送端发送端在发送时钟脉在发送时钟脉TxC的作用下的作用下,将将发送寄存器发送寄存器的数据数据按位串行移位按位串行移位输出输出,送到通信线上;接收时接收时,接收端接收端在接收时钟脉冲在接收时钟脉冲RxC的作用下的作用下,对来自对来自通信线上的串行通信线上的串行数据数据,按位串行移入移入接收寄存器接收寄存器,故发送发送/ /接收接收时钟脉冲时钟脉冲又可称为称为移位脉冲移位脉冲。d11 bT= 0 .8 3 3 m sB au d1 2 0 0 b /s位2022-5-5计算机接口技术10(3 3)波特率因子)波特率因子 发送发送/ /接收时钟接收时钟的频率频率,一般都设置为一般都设
12、置为波特率的整数倍波特率的整数倍,如1、16、32、64倍。并且,把这个把这个波特率的倍数波特率的倍数称为波特率因子波特率因子(factor)或波特率系数波特率系数,其含义其含义是每传输一个数据位需每传输一个数据位需要多是个移位脉冲要多是个移位脉冲,单位单位是个个/ /位位。 因此,可得出发送发送/ /接收时钟频率接收时钟频率TxC、波特率因子波特率因子factor和波特率波特率Baud三者之间的关系三者之间的关系,即: TxCTxCfactorfactorBaud Baud (8.18.1) 例如例如,某一串行接口电路的波特率为1200b/s,波特因子为16个/位,则发送时钟的频率为: Tx
13、CTxC1616个个/b/b1200b/s1200b/s19200Hz19200Hz 际上,波特率因子波特率因子可理解为理解为发送或接收发送或接收1b1b数据所需的时钟脉冲个数数据所需的时钟脉冲个数。引用波特率因子引用波特率因子的目的目的是为了是为了提高定位采样的分辨率提高定位采样的分辨率,有利于有利于鉴别干鉴别干扰扰和提高提高异步串行通信的可靠性可靠性。这一点可从图图8.48.4中看出。 如果没有这种倍频关系,定位采样频率和传输波特率相同,则在一个位周期中,只能采样一次,这样就容易产生错误。2022-5-5计算机接口技术11 图8.4 16倍波特率时钟的作用例如例如,为了检测起始位下降沿的出
14、现,在检测起始位的前夕采样一次,下次采样要到起始位结束前夕才进行,假若在这个位周期期间,因某种原因恰好使接收端时钟往后偏移了一点点,就会错过起始位,从而造成后面整个各位检测和识别的错误。2022-5-5计算机接口技术123.3.波特率时钟发生器波特率时钟发生器 波特率时钟发生器波特率时钟发生器可由定时定时/ /计数器计数器82C54A来实现来实现,关键关键是要找出是要找出波特率的发送波特率的发送/ /接收接收时针脉冲时针脉冲与定时定时/ /计数器的计数器的定时常数定时常数之间之间的的关系关系, 从第4章定时/计数器82C54A的工作原理可知,定时器82C54A的输出OUT、输入CLK及定时常数
15、TC的关系式如下: OUT=CLK/TCOUT=CLK/TC (8-28-2) (8-2)式中,OUT为输出波形频率;CLK为输入时针频率(通常是晶振的输出频率);TC为定时常数。如果把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-5-5计算机接口技术13 从式(从式(8-48-4)可知)可知,当当输入时钟频率输入时钟频率和波特率因
16、子波特率因子选定后选定后,求求波特率波特率的问题就变成了就变成了求求定时器82C54A的定时常数定时常数TC的问题了。而这个这个定时常数定时常数也就是波特率时钟发生器就是波特率时钟发生器的输入时钟频率的分频系数输入时钟频率的分频系数,或叫波特率除数波特率除数。 例如例如,要求串行通信的传输率为9600波特,波特率因子为16,82C54A的输入时钟为1.19318MHz,则82C54A的定时常数, 根据(8-4)式为:TC=1.19318106次/s/(9600b/s16次/b)=8 因此,利用利用82C54A82C54A作波特率时钟发生器作波特率时钟发生器,就需要利用式(需要利用式(8-48-
17、4)计算计算 出波特率相对应的定时常数出波特率相对应的定时常数,然后,将定时常数将定时常数装入装入82C54A的计数计数初初值值寄存器寄存器启动定时器即可启动定时器即可。2022-5-5计算机接口技术148.2.2 串行通信串行通信中中的的差错检测差错检测1. 误码率的控制 所谓误码率所谓误码率,是是指数据经过传输后发生错误的位数发生错误的位数与 总传输位数总传输位数之比之比。在计算机通信中,一般要求要求误码率达到误码率达到1010-6-6数量级数量级。2. 检纠错编码方法的使用 在实际应用中,具体实现具体实现检错编码的方法检错编码的方法很多很多,而在串行通信中在串行通信中应用最多应用最多的是
18、奇偶校验奇偶校验和循环冗余码校验循环冗余码校验。 错误检测错误检测只在接收方进行只在接收方进行,并且是在接收程序中通过软件来检测在接收程序中通过软件来检测。3. 错误状态的分析与处理 奇偶校验错奇偶校验错:通常是由噪声干扰而引起的,发生这种错误时,采用采用要求发送方重发要求发送方重发。 溢出错溢出错:通常是由收发双方的速率不匹配而引起的,可以采用采用降低降低发送方的发送速率发送速率或者或者在接收方设置设置FIFOFIFO缓冲区缓冲区的方法来减少这种错误。 帧格式错帧格式错:这种错误大多是由于双方数据格式约定不一致或干扰造成的,可通过通过核对双方的数据格式核对双方的数据格式减少错误。 超时错超时
19、错:一般是由于接口硬件电路速度跟不上而产生。2022-5-5计算机接口技术158.2.3 串行通信串行通信中中的的数据格式数据格式1 1. .起止式异步通信数据帧格式起止式异步通信数据帧格式 所谓起止式所谓起止式是在每个字符在每个字符的前面加前面加起始位起始位,后面加后面加停止位停止位,中间可中间可以加以加奇偶校验位奇偶校验位,空闲位空闲位,形成一个完整的字符帧格式完整的字符帧格式,如图如图8.58.5所示所示。图8.5 起止式异步通信数据格式2022-5-5计算机接口技术16下面分析起/止式数据格式每帧信息的内容及起/止位的作用。从图8.5可以看出,每个字符每个字符帧帧由4个部分组成个部分组
20、成。 1位起始位位起始位,低电平,逻辑值0。 58位数据位,位数据位,紧跟在起始位后,是要传输的有效信息。规 定从低位至高位依次传输。 1位校验位位校验位(也可以没有校验位)。 1位位,或1位半位半,或2位停止位位停止位,高电平(逻辑值1)。 停止位后面停止位后面是不定长度的空闲位空闲位。 停止位停止位和空闲位空闲位都规定为都规定为 高电平高电平,这样就保证保证起始位开始处起始位开始处 一定有一个一定有一个下跳变下跳变。 现在看看起起/止位的作用止位的作用。起始位和停止位起始位和停止位是作为联络信号作为联络信号而附加进来的,它们在异步通信格式中起着至关重要的作用。当当起始位起始位由由高电平高电
21、平变为变为低电平低电平的下跳变下跳变时,告诉告诉接收方数据的传输接收方数据的传输开始开始。它的到来它的到来,表示表示下面接着是数据位来了,要要接收方准备开始接收接收方准备开始接收。而停止位停止位标志一个字符的结束标志一个字符的结束,它的出现它的出现,表示表示一个字符传输结一个字符传输结束束。这样,就为通信双方提供了为通信双方提供了何时开始收发何时开始收发、何时结束的标志。何时结束的标志。2022-5-5计算机接口技术172 2. .面向字符的同步通信数据格式面向字符的同步通信数据格式 面向字符面向字符数据格式的典型代表典型代表是IBM公司的二进制同步二进制同步通信协议通信协议(BSC)。它的特
22、点它的特点是一次传送由若干个字符组成的数据块一次传送由若干个字符组成的数据块,并规定了并规定了1010个特殊字符个特殊字符作为作为这个数据块的数据块的开头开头与结束结束标志以及整个传输过程的传输过程的控制信息控制信息,它们也叫做通信控制字通信控制字,如图如图8.68.6所示所示。图8.6 面向字符的同步通信数据块的帧格式2022-5-5计算机接口技术183 3. . 面向比特的同步通信数据格式面向比特的同步通信数据格式 面向比特的协议面向比特的协议有同步数据链路控制规程同步数据链路控制规程SDLC、高级数据高级数据链路控制规程链路控制规程HDL、先进数据通信规程先进数据通信规程ADCCP等。这
23、些协议的特点协议的特点是所传输的一帧数据所传输的一帧数据可以是任意位可以是任意位,而且它是靠约定的位组合模式靠约定的位组合模式,而不是字符而不是字符,故称“面向比特”的协议,其数据格式数据格式如图如图8.78.7所示所示。图8.7 面向比特的同步通信数据帧格式2022-5-5计算机接口技术194 4. .I2CI2C串行总线数据格式串行总线数据格式 I2CI2C串行总线串行总线是Philips公司开发的可连接多个可连接多个主设备主设备及具有及具有不同速度的设备不同速度的设备的串行总线串行总线, 它它只使用只使用两根两根双向信号线双向信号线:串行串行数据线数据线SDASDA和串行串行时钟线时钟线
24、SCLSCL,其数据格式数据格式如图如图8.88.8所示所示。图8.8 I2C总线一帧完整的数据格式图2022-5-5计算机接口技术20下面通过通过I2C数据格式数据格式来了解I2C的传输过程与工作原理。传输过程与工作原理。 从图8.8可以看到,数据格式数据格式是以主设备主设备通过数据线发送启动信发送启动信号号Start开始开始,发停止信号发停止信号Stop结束结束。 在启动信号在启动信号后面后面,跟着发送第一字节发送第一字节,此字节的此字节的高高7位位为从设备从设备地址地址,最低位最低位为指明数据传送方向数据传送方向的R/W(读/写)位,该位该位为为0表示主设备向从设备发送数据主设备向从设备
25、发送数据,为为1表示从设备向主设备发送数据从设备向主设备发送数据。 地址字节地址字节后面后面,接着就可发送所要传输的发送所要传输的数据字节数据字节(DATA)。通信过程中,每次传送的字节数没有限制每次传送的字节数没有限制,即在Start与Stop之间的字节数可以是任意多个字节数可以是任意多个,但各字节之间但各字节之间必须插入一个必须插入一个应答位应答位(ACK),以表示以表示是否收到对方传来的数据是否收到对方传来的数据。 数据字节数据字节从最高位开始发送从最高位开始发送,全部数据发送完后,就发停止信号结束一次数据传输。2022-5-5计算机接口技术218.3 串行通信接口标准串行通信接口标准
26、串行接口串行接口所直接面向所直接面向的并不是某个具体的并不是某个具体的通信设备通信设备,而是一而是一种串行通信的种串行通信的接口标准接口标准。所以,要进行串行通信接口要进行串行通信接口设计设计,就必须先就必须先讨论串行通信接口讨论串行通信接口标准标准,然后,按照标准来设计接口电路。 这里以RS-232C和RS-485为主来讨论。8.3.1 RS-232C标准标准 EIA-RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的通信协议。它适合于数据传输速率在020000b/s范围内的通信,广泛用于计算机与计算机,计算机与外设近距离串行连接。2022-5-5计算机接口技术221
27、RS-232C标准对信号线的定义标准对信号线的定义 RS-232C定义的主信道信号使用9根线,包括2根数据线和1根地线,以及用于联络的6根控制线。6根联络控制信号线根联络控制信号线仅用于远距离通信用于远距离通信加加MODEM的应用环境的应用环境,而近距离通信近距离通信不加不加MODEM,故只使用只使用3根信号线根信号线,其定义如下。 2号线号线 发送数据(Transmitted dataTxD)线 3号线号线 接收数据(Received dataRxD)线 7号线号线 信号地(Signal groudSG)线 不使用不使用MODEM的通信的通信,称为称为零零MODEM方式方式,俗称俗称“3线制
28、线制”RS-232标准。零零MODEM方式的连接方式的连接如图如图8.9所示所示。图8.9 3线制零MODEM方式2022-5-5计算机接口技术232RS-232C标准对信号的逻辑定义标准对信号的逻辑定义(1)RS-232C标准对信号的逻辑定义标准对信号的逻辑定义 采用采用EIA逻辑,规定:逻辑,规定: 逻辑逻辑1(Mark)在驱动器输出端在驱动器输出端为515V,在负载端在负载端要求小于要求小于3V。 逻辑逻辑0(Space)在驱动器输出端在驱动器输出端为+5+15V,在负载端在负载端要求大于要求大于+3V。 可见可见,RS-232C采用的是负逻辑采用的是负逻辑,并且逻辑电平幅值很高,摆幅很
29、大。显然,RS-232C标准标准所采用的采用的EIA与计算机终端计算机终端所采用的采用的TTL在逻辑电平和逻辑关系上并不兼容并不兼容,故需要经过转换故需要经过转换,才能与计算机或终端进行数据交换。 (2 2)EIAEIA与与TTLTTL之间的转换之间的转换 EIAEIA与与TTLTTL之间的转换之间的转换采用专用芯片来完成采用专用芯片来完成。常用的转换芯片有有单向转换芯片单向转换芯片(如MC1488、SN75150),双向转换芯片双向转换芯片(如MAX232),可实现TTL与EIA之间的双向转换,一个MAX232芯片可实现两对接收/发送数据线的转换。2022-5-5计算机接口技术24MAX23
30、2的外部引脚的外部引脚和内部逻辑内部逻辑如图如图8.10所示所示。从图8.10可知,通过通过MAX232可将将TTL/CMOS电平电平(05V)转换转换成成RS-232C的的EIA电平电平(+10V10V)。图8.10 MAX232的内部逻辑框图2022-5-5计算机接口技术25(3)RS-232C标准的连接器及通信线电缆标准的连接器及通信线电缆 1)连接器)连接器 连接器连接器即通信电缆的插头插座通信电缆的插头插座。RS-232C有DB-25型型和DB-9型型两种不同的连接器两种不同的连接器,其引脚号的排列顺序各不相同。目前大多数目前大多数都都采用采用DB-9型型连接器连接器。DB-9型连接
31、器型连接器的外形及信号引脚分配外形及信号引脚分配如图如图8.11所示所示。如前所述,若采用采用“3线制线制”进行近距离通信连接时,还应将应将DB-9型连接器的型连接器的4号线号线与与5号线号线,以及6号线号线与与20号线号线短接短接。图8.11 DB-9型连接器的外形及信号引脚分配 2)通信电缆长度)通信电缆长度 RS-232C标准规定当采用双绞线屏蔽电缆,传输速率为20kb/s时,在零在零MODEMR下下,两台计算机或终端的直接连接的最大物理距直接连接的最大物理距离离为为15m。2022-5-5计算机接口技术268.3.2 RS-485标准标准 RS-485标准标准是在在RS-232C的基础
32、上的基础上,针对在不使用不使用MODEM情况下情况下,进行远距离串行通信而提出的而提出的,因此只对只对RS-485标准标准的数据信号线数据信号线和信号逻辑信号逻辑重新进行了定义重新进行了定义,不涉及其他控制信号线的定义,而通信过程中所传输的数据帧格式沿用数据帧格式沿用RS-232C的的。1RS-485标准对信号线的定义标准对信号线的定义 RS-485标准标准与RS-232C标准标准最主要的差别最主要的差别是采用双线平衡方式采用双线平衡方式传输数据,而不是使用单线对地的方式传输数据。所谓平衡方式所谓平衡方式,是指是指双端双端发送发送和双端接收双端接收,所以传输信号需要所以传输信号需要两条线两条线
33、AA和BB,发送端和接收端分别采用平衡发送器(驱动器)和差动接收器,如图8.12所示。 发送端发送端通过通过平衡发送器平衡发送器把把逻辑电平逻辑电平转换转换成电位差成电位差,根据两条传输线根据两条传输线之间之间的电位差值的电位差值来定义来定义逻辑逻辑1和和逻辑逻辑0,进行传输,最后到达接收端。接接收端收端通过通过差动接收器差动接收器,把,把差动信号差动信号转换为转换为逻辑电平逻辑电平。 图8.12 RS-485标准的传输连接2022-5-5计算机接口技术272RS-485标准对信号的逻辑定义(电气特性)标准对信号的逻辑定义(电气特性) RS-485标准标准采用采用电位差值电位差值定义定义信号逻
34、辑信号逻辑,当当AA线的电平线的电平比比BB线的电平线的电平高高200mV时,表示表示逻辑逻辑1;当当AA线的电平线的电平比比BB的电平的电平低低200mV时,时,表示表示逻辑逻辑0。3RS-485标准的连接器与通信电缆标准的连接器与通信电缆 RS-485标准标准采用采用4芯水晶头连接器芯水晶头连接器进行进行全双工异步全双工异步通信通信,4芯水晶头连接器使用方便且价格低廉。RS-485标准的通信电缆为屏蔽双绞线,半双工是一对双绞线,全双工是两对双绞线。4RS-485总线标准的特点总线标准的特点(1)由于采用差动采用差动发送/接收和双绞线平衡传输平衡传输,所以共模抑制比高共模抑制比高 ,抗干扰能
35、力强,抗干扰能力强。因此,特别适合在干扰比较严重的环境下工作特别适合在干扰比较严重的环境下工作(2)传输速率高传输速率高,可达10Mb/s(传输距离为15m)。(3)传输距离长传输距离长,不使用MODEM,采用双绞线,传输距离1.2km(4)能实现能实现一点对多点一点对多点、多点对多点通信多点对多点通信。2022-5-5计算机接口技术288.4 串行通信接口电路串行通信接口电路 串行传输相串行传输相比并行传输并行传输而言有许多特殊问题需要解决有许多特殊问题需要解决,因此,串行通串行通信接口信接口设计设计所涉及的所涉及的内容要复杂得多内容要复杂得多。下面先分析串行通信接口电路的任务(功能)及组成
36、,然后具体讨论串行接口电路设计。8.4.1 串行通信接口电路的基本任务串行通信接口电路的基本任务 由于各个串行总线的功能及用途不一样,串行接口电路的任务也不同,有的复杂,有的简单,其基本任务基本任务有如下几个方面。1进行串进行串-并转换并转换 串行通信接口的串行通信接口的首要任务首要任务是进行进行数据的串数据的串/并转换并转换。在发送端在发送端,把把由计算机送来的并行数据转并行数据转换为串行数据串行数据,然后再发送出去。在接收端在接收端,把把从接收器接收的串行数据串行数据转换为并行数据并行数据后,再送至计算机或终端。2提供串行通信总线标准所定义的信号线提供串行通信总线标准所定义的信号线 串行通
37、信接口的串行通信接口的第二个任务第二个任务是提供符合提供符合串行通信串行通信总线标准所定义的信号线的信号线。 例如,RS-232C标准的2号线TxD、3号线RxD和7号线SG。 I2C标准的串行数据线SDA和串行时钟线SCL。2022-5-5计算机接口技术293实现串行通信的数据格式化实现串行通信的数据格式化 串行通信接口的串行通信接口的第三个任务第三个任务是实现实现串行通信协议串行通信协议的的数据格式化数据格式化。因为来自计算机的因为来自计算机的数据是普通并行数据数据是普通并行数据,所以接口电路应具有使数据格式化的功能,实现不同串行通信方式下的数据格式化。 例如,对RS-232C标准,接口电
38、路需自动生成异步通信的起止起止式式数据帧格式数据帧格式。4进行错误检测进行错误检测 串行通信接口串行通信接口的第四个任务第四个任务是检测并报告检测并报告通信过程中通信过程中所产生的所产生的差错差错。在发送端在发送端,接口电路接口电路需对传输的字符数据自动生成奇偶校自动生成奇偶校验位或其他校验码验位或其他校验码。在接收端在接收端,接口电路接口电路需要对所接收的字符数据进行奇偶校验进行奇偶校验或其他校验码的检测其他校验码的检测,以确定所接收的数据中是否有错误信息和是什么性质的错误。5进行数据传输速率的控制进行数据传输速率的控制 串行通信接口串行通信接口的第五个任务第五个任务是对数据传输速率对数据传
39、输速率进行控制进行控制,确保确保串行通信双方的数据传输速率一致串行通信双方的数据传输速率一致。这意味着接口电路需设置波特率时钟发生器。 2022-5-5计算机接口技术308.4.2 串行通信接口电路的解决方案串行通信接口电路的解决方案 本章串行接口的串行接口的解决方案是解决方案是采用可编程通用串行通信接口芯片可编程通用串行通信接口芯片构成构成外置式外置式的接口电路接口电路。1 1串行通信接口电路的组成串行通信接口电路的组成 串行通信接口电路串行通信接口电路一般由一般由串行通信接口芯片串行通信接口芯片、波特率时钟发生器波特率时钟发生器、EIAEIA与与TTLTTL转换器转换器以及地址译码电路组成
40、地址译码电路组成。若采用采用RS-485RS-485总线标准总线标准,则接口电接口电路路还应包括平衡发送器平衡发送器和平衡接收器平衡接收器。 串行接口芯片串行接口芯片是串行通信接口电路的核心串行通信接口电路的核心,能实现上面提出的串行通信接口基本任务的大部分工作,采用它们来设计串行通信接口,会使电路结构比较简单。 在微机系统中在微机系统中,使用较多使用较多的串行通信接口芯片有异步收异步收/ /发器发器(UARTUART)16550和同步同步/ /异步收异步收/ /发器发器(USARTUSART)8251A,它们都是CPU的重要的串行通信接口支持芯片,其特点与所实现的功能基本相同,16550作为
41、异步通信的性能更优,而8251A应用更简洁。本章将对两种接口芯片的应用分别进行讨论。2 2串行通信接口的配置方式串行通信接口的配置方式 串行通信接口电路串行通信接口电路的配置配置有3 3种形式种形式:外置式外置式独立的接口芯片独立的接口芯片,用于用于台台式微机式微机系统;内置式内置式接口模块接口模块,用于用于ARMARM和和MCUMCU系统;用户用用FPGAFPGA构建构建的接接口电路口电路,并与应用系统其他硬件在一起开发。2022-5-5计算机接口技术318.5 RS-232C标准的串行通信接口设计标准的串行通信接口设计例例8.1 采用采用RS-232C 标准的异步串行通信接口设计标准的异步
42、串行通信接口设计8.5.1 设计要求设计要求 设计设计甲乙两台微机之间串行通信甲乙两台微机之间串行通信接口电路接口电路。 要求要求按按RS-232CRS-232C标准标准进行半双工半双工异步串行通信异步串行通信,把甲机上开发的步进电机控制用程序传送到乙机中去,以便在乙机上运行。字符帧格式字符帧格式采用采用起止式起止式异步方式异步方式,字符长度字符长度为8 8位位,停止位停止位为2 2位位,波特率因子波特率因子为6464,无无校验校验。波特率波特率为4800b/s4800b/s。CPU与接口芯片8251A之间用查询方式查询方式交换交换数据数据。2022-5-5计算机接口技术321. 8251A1
43、. 8251A的外部特性的外部特性251A251A的外部引脚的外部引脚如图如图8.148.14所示所示。引脚信号线定义引脚信号线定义表表8.28.2所示所示。图8.14 8251A引脚图表8.2 8251A外部引脚功能8.5.2 设计方案分析设计方案分析本方案本方案是采用可编程通用接口芯片采用可编程通用接口芯片8251A构成外置式外置式的接口电路接口电路。因此,先分析与介绍8251A的外部特性和编程模型2022-5-5计算机接口技术332. 8251A2. 8251A的编程模型的编程模型 8251A8251A的编程模型编程模型包括内部可访问的包括内部可访问的寄存器寄存器、分配给寄存器分配给寄存
44、器的的端口地址端口地址,以及编程命令编程命令。用户利用8251A的编程模型进行串行通信程序设计。 (1)(1)8251A8251A内部寄存器及端口地址内部寄存器及端口地址 8251A8251A内部设置内部设置有收/发数据寄存器数据寄存器,端口地址端口地址为为308H308H。方式方式命令寄存器命令寄存器、工作命令寄存器工作命令寄存器和状态寄存器状态寄存器,3 3个个寄存器共用寄存器共用1 1个个端口端口,端口地址端口地址为为309H309H。向该端口向该端口写操作写操作时,是写命令字是写命令字;从该从该端口端口读操作读操作时,是读状态字是读状态字。 2022-5-5计算机接口技术34 例如例如
45、在某异步通信中,数据格式数据格式采用采用位数据位位数据位,1 1位起始位位起始位,2 2位停止位位停止位,奇校验奇校验,波特率因子波特率因子是1616,其方式字为11011110B11011110B。 异步通信方式设置的程序段异步通信方式设置的程序段如下。 MOV DX,309H ;8251A命令口 MOV AL,11011110B11011110B ;方式命令字方式命令字 OUT DX,AL(2 2)方式命令)方式命令 方式命令格式方式命令格式如如8.158.15所示所示。图8.15 8251A通信方式命令的格式2022-5-5计算机接口技术35(3 3)工作命令)工作命令 工作命令的格式工
46、作命令的格式如图如图8.168.16所示所示。图8.16 8251A工作命令的格式例如例如,在异步通信时,若允许接收允许接收,同时同时允许发送允许发送,则工作命令字=00000101B。程序段如下程序段如下。 MOV DX,309H ;命令口 MOV AL,00000101B ;工作命令字工作命令字 OUT DX,AL2022-5-5计算机接口技术36(4 4)状态字)状态字 状态字格式状态字格式如图如图8.178.17所示所示。图8.17 8251A状态字的格式例如例如,串行通信时,在发送程序中在发送程序中,需检查状态字的需检查状态字的D0D0位是否置位是否置1 1,即查是否查是否TxRDY
47、=1TxRDY=1?,其程序段如下其程序段如下。L:MOV DX,309H ;8251A状态端口 IN AL,DX AND ALAND AL,01H01H ;查查是否是否TxRDY=1TxRDY=1? JZ L ;未就绪,则等待2022-5-5计算机接口技术373.8251A3.8251A的初始化的初始化(1 1)初始化内容)初始化内容 在异步方式下,8251A的初始化内容包括初始化内容包括:先写先写内部复位命令内部复位命令,再写再写方式命令方式命令,最后写最后写工作命令工作命令几部分。为了提高可靠性为了提高可靠性,往往还在写内部复位命令之前在写内部复位命令之前,向命令口写一长串向命令口写一长
48、串0 0,作为作为空操作空操作。在同步方式下,8251A的初始化还包括设置同步字符。(2)初始化顺序)初始化顺序 初始化顺序初始化顺序如图如图8.18所示所示。这种顺序不能颠倒或改变,若改变了这种顺序,8251A就不能识别,也就不能正确执行。图8.18 向8251A命令端口写入命令的顺序2022-5-5计算机接口技术388.5.3 电路与程序设计电路与程序设计1. 1. 串行接口电路设计串行接口电路设计 由于由于是近距离传输近距离传输,不需要不需要MODEMMODEM,故采用采用“3“3线制线制”的的3 3芯屏蔽通芯屏蔽通信电缆信电缆,把甲乙两台微机直接互连,异步串行通信接口电路异步串行通信接
49、口电路如图如图8.198.19所示所示。接口电路接口电路以8251A8251A为主芯片为主芯片,再加上波特率时钟发生器波特率时钟发生器、电平转换器电平转换器、地址译码器地址译码器等。图8.19 RS-232C标准半双工异步串行通信接口电路框图2022-5-5计算机接口技术392. 2. 串行通信程序设计串行通信程序设计 整个通信程序整个通信程序由甲机的发送程序甲机的发送程序和乙机的接收程序乙机的接收程序两部分组成,分别采用汇编语言与C语言编写。(1 1)甲机的发送程序)甲机的发送程序DATA SEGMENT BUF_T DB 45 DUP(?)DATD ENDSCODE SEGMENT ASS
50、UME CS: CODE,DS: DATASTART:MOV AX,DATA MOV DS,AX2022-5-5计算机接口技术40 MOV DX,309H ;8251A初始化 MOV AL,00H00H ;空操作空操作, 向命令端口发送任意数任意数 OUT DX,AL MOV AL,01000000B ;内部复位内部复位(使D61) OUT DX,AL NOP MOV AL,11001111B11001111B ;方式命令字方式命令字(8位数据,2位停止,无校验, ;波特因子为64) OUT DX,AL MOV AL,00110111B00110111B ;工作命令字工作命令字(RTS、ER、
51、RxE、DTR、TxEN置1) OUT DX,AL MOV SI,OFFSET BUF_T ;发送区首址 MOV CX,45 ;字节数L1: MOV DX,309H ;查状态,可否发送 IN AL,DX AND ALAND AL,01H01H ;查发送是否准备好查发送是否准备好(TxRDY1) JZ L1 ;发送未准备好,则等待2022-5-5计算机接口技术41 MOV DX,308H MOV AL,SI ;发送准备好,则从发送区取1个字节发送 OUT DX,AL INC SI ;发送区地址加1 DEC CX ;字节数减1 JNZ L1 ;未发送完,继续 MOV AX,4C00H ;已发送完,
52、回DOS INT 21HCODE ENDS END START2022-5-5计算机接口技术42 unsigned int i; unsigned char send45;/发送缓冲区 unsigned char *p; p=send; outportb(0 x309,0 x00);/空操作, 向命令端口发送任意数 outportb(0 x309,0 x40);/内部复位(使D61) delay(1); outportb(0 x309,0 x0cf);/方式命令字 outportb(0 x309,0 x37);/工作命令字 /(RTS、ER、RxE、DTR、TxEN均置1) for(i=0;i
53、45;i+) while(inportb(0 x309)&0 x01=0);/查发送是否准备好/(TxRDY1) outportb(0 x308,*p);/发送一个字节 p+; 2022-5-5计算机接口技术43(2 2)乙机的接收程序)乙机的接收程序接收程序接收程序要先检测有无差错先检测有无差错,若有,则需处理差错。DATA SEGMENT BUF_R 45 DUP(?) ERROR_MESS DBERR0R ! 0DH,0AH, $DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATABEGIN:MOV AX,DATA MOV DS,AX2022-5-5计
54、算机接口技术44 MOV DX,309H ;8251A初始化 MOV AL,0AAH0AAH ;空操作空操作,向命令端口送任意数 OUT DX,AL MOV AL,01010000B01010000B ;内部复位内部复位(含D6=1) OUT DX,AL NOP MOV AL,11001111B11001111B ;方式字方式字(与甲机的相同与甲机的相同) OUT DX,AL MOV AL,00010100B00010100B ;工作命令字工作命令字(ER、RxE置1) OUT DX,AL MOV DI,OFFSET BUF_R ;接收区首址 MOV CX,45 ;字节数L2: MOV DX,
55、309H ;查状态,可否接收 IN AL,DX ;先查接收是否出错 TEST ALTEST AL,38H38H ;同时查同时查3种错误种错误 JNZ ERR ;有错,转出错处理 AND ALAND AL,02H02H ;再查接收是否准备好再查接收是否准备好(RxRDY1) JZ L2 ;接收未准备好,则等待2022-5-5计算机接口技术45 MOV DX,308H ;接收数据 IN AL,DX ;接收准备好,则接收1个字节 MOV DI,AL ;并存入接收区 INC DI ;接收区地址加1 LOOP L2 ;未接收完,继续 JMP STOP ;已完,程序结束,退出 ERR:LEA DX,ERR
56、OR_MESSLEA DX,ERROR_MESS ;错误处理子程序错误处理子程序 MOV AH,09H INT 21H STOP: MOV AX,4C00H ;返回DOS INT 21HCODE ENDS END BEGIN2022-5-5计算机接口技术46 unsigned char recv45; unsigned char i,tmp; void main() outportb(0 x309,0 x0aa);/空操作,向命令端口送任意数 outportb(0 x309,0 x50); /内部复位(含D6=1) delay(1); outportb(0 x309,0 x0cf);/方式字
57、outportb(0 x309,0 x14);/工作命令字(ER、RxE置1) for(i=0;i45;i+)tmp=inportb(0 x309);/读状态端口if(tmp&0 x38!=0 x00)/先查接收是否出错 printf(Error!n); /打印出错信息 break;/退出else if(tmp&0 x02=0 x00)/再查接收是否准备好(RxRDY1) break; else recvi=inportb(0 x308);/准备好则接收1个字节 2022-5-5计算机接口技术478.6 RS-485标准的标准的串行通信接口设计串行通信接口设计例例8.2 采用采用RS-485
58、标准的异步串行通信接口设计标准的异步串行通信接口设计8.6.1 设计要求设计要求 要求要求在甲乙两台微机之间按按RS-485RS-485标准标准进行全双工异步串行通信全双工异步串行通信,也就是双方在各自的键盘上按键向对方发送字符时,同时又可接收对方发来的字符。字符帧格式字符帧格式采用异步起采用异步起/ /止方式止方式, ,1 1位位停止位停止位,7 7位位数据数据位位,无无校验校验,波特率因子波特率因子为1616。按ESC键退出。2022-5-5计算机接口技术488.6.2 设计方案分析设计方案分析 本例与前面例本例与前面例8.18.1不同之处有两点不同之处有两点:一是通信标准不同一是通信标准
59、不同,本例采用RS-485标准,而例8.1采用RS-232C;二是传送方式不同二是传送方式不同,本例是全双工,例8.1是半双工。因此因此,在接口电路组成在接口电路组成、通信电通信电缆缆、连接器连接器有所不同有所不同。但两者的通信方式相同,都是异步通信,故串行通信程序的编写步骤与方法相同。 RS-485RS-485标准标准与RS-232CRS-232C标准标准的不同之处不同之处主要是使用了平衡发送是使用了平衡发送器器/ /差动接收器差动接收器,实现实现双线平衡差动方式传输数据双线平衡差动方式传输数据。平衡发送器/差动接收器,简称收发器,如MAX485/MAX491芯片。 本方案本方案是采用可编程
60、通用接口芯片采用可编程通用接口芯片构成外置式的接口电路外置式的接口电路,来实现RS-485标准的接口设计要求,为此将为此将“8251A+MAX491“8251A+MAX491“作作为接口电路的核心为接口电路的核心。 下面先介绍MAX491的外部特性以及使用。2022-5-5计算机接口技术491收发器芯片收发器芯片MAX491的外部特性的外部特性 MAX491的引脚的引脚如图如图8.20所示所示,其引脚功能的定义如表8.3所示。图8.20 MAX491外部引脚2022-5-5计算机接口技术50表8.3MAX485/491引脚功能的定义2022-5-5计算机接口技术512信号的逻辑定义信号的逻辑定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分行业绩考核规定
- 家电维修管理体系规范
- 在党旗下擦亮人民教师的精神名片教师节专题党课
- 2025浙江温州瑞安市司法局编外人员招聘1人笔试参考题库附答案解析
- 动物遗传多样性研究总结
- 2025云南省昭通市建飞中学招聘教师笔试备考试题及答案解析
- 考研英语听力:如何迅速提高水平
- 农村新型社会组织发展模式分析
- 2025西北工业学校教师招聘笔试含答案
- 榨汁机贷款量维修规定
- 2025年山西太原供水集团有限公司招聘笔试参考题库含答案解析
- 《医院员工激励问题研究11000字(论文)》
- 品管圈计划书(模板)
- GB/T 26559-2011机械式停车设备分类
- GB/T 2423.22-2012环境试验第2部分:试验方法试验N:温度变化
- 水土保持工程质量评定表
- 项目团队实施及人员配置
- 人像摄影:户外人像摄影课件
- 纸张消耗统计表
- 《中国传统服饰简介》PPT课件(完整版)
- 《教育技术学导论》课程教学大纲
评论
0/150
提交评论