1.07k likes | 1.34k Views
第 4 章 串行通信接口. 1 、串行通信基础 2 、串行通信总线标准及其接口 3 、 Intel8250 可编程异步通信接口 4 、 Intel8251A 可编程通信接口 5 、 IEEE 1394. 串行通信基础. 串行通信接口( Serial Communication Interface )按国际标准化组织提供的电气标准及协议划分为 RS-232 、 RS-485 、 USB 、 IEEE 1394 等。 RS-232 和 RS-485 标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。
E N D
第4章 串行通信接口 • 1、串行通信基础 • 2、串行通信总线标准及其接口 • 3、Intel8250可编程异步通信接口 • 4、Intel8251A可编程通信接口 • 5、IEEE 1394
串行通信基础 • 串行通信接口(Serial Communication Interface)按国际标准化组织提供的电气标准及协议划分为RS-232、RS-485、USB、IEEE 1394等。 • RS-232和RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。 • USB和IEEE 1394是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。
基本通信方式 • 1、异步通信(Asynchronous Communication) • 异步串行通讯规定了字符数据的传送格式,每个字符数据按照相同格式传送,这个格式称为帧,每一帧信息由起始位、数据位、奇偶校验位和停止位组成,如图所示。
第n个字符(8~12位) MSB LSB 0 0/1 0/1 0/1 … 0/1 0/1 0/1 1 1 1 0 0/1 5~8位数据位(先送最低位) (可有可无) 图 异步串行通信格式 第n+1 空 停止位 个字符 (1,11/2 闲 位 或2位) 起 奇偶 始 校验 位 位 字符传送的开始 ,接收方开始准备接收数据信号。 用于有限差错检测 ,可选。 5~8位数据位 字符发送间隙 字符发送间隙(空闲状态 ) 数据传送结束的标志
字符格式: • ①1位起始位,低电平; • ②5-8个数据位,(如标准ASCII码。则为7位); • ③1个奇偶校验位(作为检错用); • ④1、1.5或2个终止位(停止位),高电平。 • 起始位后面紧跟的是要传送字符的最低位,每个字符的结束是1、1.5或2个高电平的终止位,起始位至终止位构成一帧。相连两个字符之间的间隔可以是任意长度的,两个相邻字符之间叫空闲位,为高电平。
异步通讯,发送和接受双方必须使用相同的字符数据帧格式,否则会造成数据错误,进而导致通讯失败。异步通讯,发送和接受双方必须使用相同的字符数据帧格式,否则会造成数据错误,进而导致通讯失败。 • 异步通讯通常用于信息传送量不太大、传输速度不太高的场合,如每秒50~115200位。
2、同步通信(Synchronous Communication) • 在数据块开始处要用同步字符来指明,同步传送速度高于异步传送速度,要求有时钟来实现发送端及接收端之间的同步,硬件电路比较复杂。 • 在异步通讯中,每个字符数据的帧格式要求使用起始位和停止位作为字符开始和结束的标志,占用了一定的传输时间。 • 去除这些标志后可以达到提高通讯速度的目的,这种通讯方式即为同步传送。 • 同步通讯通过同步字符在每个数据块传送开始时令发送和接收双方同步,其通讯格式如图4-2所示:
同步通讯的数据传送格式 同步通讯的特点是: 以同步字符作为传送的开始,使发送和接收双方取得同步。 每个字符数据位占用的时间相等。 在同步通讯方式中,字符数据之间不允许有空隙存在,当线路空闲或没有字符发送时发送同步字符。 同步字符可以由用户选择一个或二个特殊的8位二进制码作为同步字符。习惯上选用通讯过程中没有出现的字符数据。 同步通讯双方也必须使用相同的同步字符。 在信息量大、要求传输速度比较高的情况下,用同步通讯,速度可以达到每秒800,000位或更高。
波特率(Baud Rate) • 波特率是指单位时间内传送二进制数据的位数,以位/秒为单位。每个数据位的传送时间Td即为波特率的倒数。 例如:设数据传送的速率为120字符/秒,每个字符(帧)包括10个数据位,则传送的波特率为: 10×120=1200位/秒=1200波特率 每一位传送的时间为T=1/1200=0.833ms
波特率因子K • 在串行通信时,发送时钟和接收时钟统称为外部时钟,若设每个信息位所占时间为T,外部时钟周期为Tc,则 • Tc=Td/K • 其中K=16、32、64。这个倍数也称为波特率因子。 • 例如,当K取为16,在外部时钟脉冲的每个上升沿采样接收数据线,在发现第一个“0”(即起始位的开始),以后又连续采样8个“0”,则确定收到的是起始位(不是干扰信号)。然后,每隔16个外部时钟脉冲采样接收数据线的状态,以保证采样时刻正好处于各个信息位的中间时刻,从而可获得可靠的采样信息。
接收和发送时钟 • 接收和发送双方通过时钟信号对传送的数据进行定位及采样。 • 接收和发送时钟能够用来控制通讯设备接收和发送字符数据速度。 • 该时钟信号通常由外部时钟电路产生。
发送数据时,在发送时钟的下降沿,发送设备将移位寄存器中保存的数据串行移位输出;发送数据时,在发送时钟的下降沿,发送设备将移位寄存器中保存的数据串行移位输出; • 接收数据时,在接收时钟的上升沿,接收器对接收数据采样,即数据位检测。 从而,获得了最大的时钟频率偏差容限
接收器在每一个接收时钟的上升沿接收数据线,当发现接收数据线上出现低电平时认为是起始位,此后,如果在连续的8个时钟周期内检测到接收数据线上仍保持为低电平,确定为起始位。接收器在每一个接收时钟的上升沿接收数据线,当发现接收数据线上出现低电平时认为是起始位,此后,如果在连续的8个时钟周期内检测到接收数据线上仍保持为低电平,确定为起始位。 • 采用这种方法,能够排除接收线上的噪声干扰并识别假起始位,较精确地确定起始位的中间点,从而提供一个准确的时间基准。
A站 B站 发送器 接收器 信号地 单工 • 串行通信工作方式 • 单工(Simplex) • 仅能进行一个方向的传送。在单工方式下,通讯线路为单向连接,字符数据只能够按照固定方向传送。反方向传送是不允许的。 图 单工方式示意图
A站 B站 发送器 接收器 发送器 接收器 图 半双工方式示意图 • 半双工(Half-Duplex) • 能交替地进行双向数据传送,但两设备之间只用一根传输线,两个方向的数据传送不能同时进行。
A站 B站 发送器 接收器 发送器 接收器 图 全双工方式示意图 • 全双工(Full-Duplex) • A、B之间有两条传输线,能在两个方向上同时进行数据传送。
数字信号的调制与解调 • 在远距离串行通信中,为传送数字信号,必须在发送端采取措施把数字信号转换为适于传输的模拟信号(即,信号的调制),而在接收端再将模拟信号转换成数字信号(即,信号的解调)。
调制解调器Modulator-Demoduiator (MODEM): 完成调制-解调功能的设备称为调制解调器。 • MODEM的调制方式有3种: • 振幅调制(ASK):以两种振幅的大小来区别数字信号“0”与“1”; • 频率调制(FSK):利用两个固定的频率来分别代表数字信号“0”与“1”; • 相位调制(PSK):利用相位的差异来区别信号,当相位差180º时代表位值的变化
差错检测和校正 • 由于传输线路上的反射、噪声、衰减和串扰等影响,将引起信号的畸变。所以,要求通讯过程中引入差错检查并加以校正功能。 • 差错检查的基本方法有三种:奇偶校验、校验和、循环冗余码校验。 • 差错校正的方法主要采用海明码校验。
1、奇偶校验 • 实现过程是:发送时,在每个字符的最高位之后附加一个奇偶校验位。 • 奇偶校验位可能是“1”或“0”。 • 确定0或1的原则是:保证整个被传送的字符(包括校验位在内)为“1”的位数为偶数时,为偶校验;为奇数为奇校验。 • 接收时,根据发送方指定的校验方法,对接收到的每个字符进行校验,如果校验的结果不正确,说明出现了差错。
奇偶校验对每个字符只校验一次。 • 只能提供最低级的错误检测,即只能检测到影响了奇数个的位错误,例如:某个字符在传输过程中,如果有两个数据位发生了错误,即由“1”变成“0”或者由“0”变成“1”,那么这种方法是不能检测出来的。 • 一般,奇偶校验只用在异步通讯中。
校验和 • 是针对数据块传送设计的。在数据块发送之前,发送方对数据块中所有字符求和(逻辑和),产生一单字节校验字符(校验和)附加到数据块结尾,接收方接收到数据块之后,按照同样过程对数据块求和,所得的结果与接收到的校验和字符比较,如果两者相同,表示接收正确,否则有错。 • 需要注意的是,当信息段是随机、无序地发送时,产生的校验和仍然是相同的。所以校验和也不能用于出现顺序错误检测。
2、串行通讯总线标准及其接口 • 1、串行通讯接口 • 由美国电子工业协会(EIA)公布的异步串行通讯接口有三类: • RS-232C(RS-232A,RS-232B) • RS-449,RS-422,RS-423 • RS-485 • 其中: • RS-232C接口标准,包括了物理接口功能标准和电气接口标准。 • RS-449只定义了物理接口功能标准。 • RS-423A,RS-422A,RS-485则是电气标准,既可以通过RS-232C物理接口标准来实现,也可以通过RS-499物理接口标准来实现。 • RS-232C在异步串行通讯中是应用最广的标准总线。
为了提高并保证高可靠性的通讯要求,在选择接口标准时,必须注意:为了提高并保证高可靠性的通讯要求,在选择接口标准时,必须注意: • 1、通讯速度与距离的关系 • 通常的标准串行接口标准,其电气特性指具有可靠传输时的最大通讯速度或传送距离指标,但指标间性能不能同时具备。 • 选用RS-422标准时,最大通讯速度可达10Mb/S,最大传送距离可为300m;适当降低通讯速度时,最大传送距离可达到1200m 。 • 2、抗干扰能力 • 串行通讯需要考虑抗干扰能力,以保证信号的可靠传输。
一般的工业测控系统运行环境往往十分恶劣,因此,在通讯介质选择、接口标准选择时要充分注意其抗干扰能力,并采取必要的抗干扰措施。例如:在长距离传输时,使用RS-422标准,能有效地抑制共模信号干扰。一般的工业测控系统运行环境往往十分恶劣,因此,在通讯介质选择、接口标准选择时要充分注意其抗干扰能力,并采取必要的抗干扰措施。例如:在长距离传输时,使用RS-422标准,能有效地抑制共模信号干扰。 • 在高噪声污染环境中,使用带有金属屏蔽层、光纤介质减少电磁噪声的干扰,光电隔离提高通讯系统的安全性等。
RS-232C接口 • RS-232是微型计算机与通信工业中应用最广泛的一种串行通讯接口标准。 • RS-232采取不平衡传输方式,即单端通信方式。因此是一种在低速率、近距离环境使用的串行通信。 • RS-232C串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为20Kb/s的场合使用。
接口信号 • 完整的RS-232C接口有22根线,采用标准的25芯插头座。 • 绝大多数设备只使用其中9个信号,所以就有了9针连接器 • 232C包括两个信道:主信道和次信道 • 次信道为辅助串行通道提供数据控制和通道,但其传输速率比主信道要低得多,其他跟主信道相同,通常较少使用
EIA-RS-232C标准的信号线 • 信号线的定义(9根信号线) • 信号线的连接与使用 • 远程通信 • 近程通信(零MODEM方式) 简单连接 标准连接
TxD:发送数据,DTE DCE RxD:接收数据,DCE DTE DTR:DTE准备好,DTE DCE DSR:DCE准备好,DCE DTE RTS:请求发送,DTE DCE CTS:清除发送,DCE DTE (半双工用于方向切换) RI:振铃指示,DCE DTE DCD:载波检出,DCE DTE SG:信号地
远程通信信号线的连接 TxD TxD RxD RxD DTR DTR 调制解调器 调制解调器 计算机 计算机 DSR DSR 串口 串口 RTS RTS CTS CTS RI RI 电话线 DCD DCD SG SG 注:若电话线为专线,不使用DTR和RI
近程简单连接(交叉反馈、三线) DTE TxD RxD DTR DSR RTS CTS SG DTE TxD RxD DTR DSR RTS CTS SG • TxD与RxD交叉相连:可实现全双工通信 • DTR与DSR反馈相连:只要终端准备好 • RTS与CTS反馈相连:随时都可以发送
近程标准连接(双交叉环回法) DTE DTE TxD TxD RxD RxD DTR DTR DSR DSR RI RI RTS RTS CTS CTS DCD DCD SG SG • TxD与RxD互连:全双工通信 • DTR与对方DSR、RI相连:一方DTE准备好,对方就认为DCE准备好(实际不存在) • RTS与CTS反馈相连并与对方DCD相连:随时可发,并让对方准备好接收
有效:+3V~+15V 无效:-3V~-15V DTR、DSR、RTS、CTS、RI、DCD线上 1:-3V~-15V 0:+3V~+15V TxD、RxD线上 EIA:电压极性、负逻辑TTL:电压幅值、正逻辑 不兼容 发送:TTL EIA,MC1488,SN75150 接收:EIA TTL,MC1489,SN75154 MAX232 • 电气特性 • EIA-RS-232C对电气特性、逻辑电平的定义 • 与TTL之间的转换
机械特性 • 连接器 • DB-25型(还支持20MA电流环接口)DB-9型 • 电缆长度 • 速率低于20kb/s,15m • 最大直接传输距离的说明 • 误码率<4%——15米,实际误码率允许10%~20%,15米——保守
RS-449接口标准 • RS449实际上是一个一体化的三个标准,它的机械、功能和过程特性接口由RS449定义,而电气特性接口由两个不同的标准定义: • RS422A:用于平衡电路 • RS423A:用于非平衡电路 • RS449与RS232C相比: • 增加了10条接口引脚,从表4.3可以看出 • 传送速率高,传送距离长 • 100kb/s 1200m • 接口连接器采用37针和9针(安排辅助信道的管脚)
与RS-232C相比,在不使用调制解调器的情况下,RS-449传输速率更高,通讯距离更长。与RS-232C相比,在不使用调制解调器的情况下,RS-449传输速率更高,通讯距离更长。 • 由于RS-449接口采用平衡信号差电路传输高速信号,所以噪声更低。 • 还能够实现多台通讯设备共享公用线路通讯,即二台以上的设备可与RS-449通讯电缆连接。
RS-422A接口标准 • RS-422是一种单机发送、多机接收的单向、平衡传输规范。 • RS-422定义了一种平衡通信接口,将传输速率提高到10Mb/s,并允许在一条平衡总线上最多可连接10个接收器。 • RS-422A规范中给出了在RS-449应用中对电缆、驱动器和接收器的电气要求,规定了双端电气接口标准。 • RS-422A的最大传输率为10Mb/s,在该速率下通讯电缆长度可达到120m。如果采用较低的数据传输速率,如90,000波特率时,最大距离可达1,200m。
RS-422接口电路由发送器、平衡连接电缆、电缆终端负载、接收器几部分组成。RS-422接口电路由发送器、平衡连接电缆、电缆终端负载、接收器几部分组成。 • 每个通道要求用二条信号线。 • 任一时刻电路中只允许有一个发送器发送数据,但可以同时有多个接收器接收数据。
允许驱动器输出的电压范围为±2~±6V,接收器能够检测到的输入信号电平最低可达到200mV。允许驱动器输出的电压范围为±2~±6V,接收器能够检测到的输入信号电平最低可达到200mV。 • 数据信号传输采用差分方式,也称作平衡传输。 • 用一对双绞信号线,其中一线定义为A,另一线为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是逻辑”1”,负电平在-2~-6V,是逻辑”0”。另有一个信号地C。
接收器端的规定与发送端的规定相同,收、发端通过平衡双绞线将AA与BB对应相连,当接收器两端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在±0.2V~6V之间。接收器端的规定与发送端的规定相同,收、发端通过平衡双绞线将AA与BB对应相连,当接收器两端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。接收器接收平衡线上的电平范围通常在±0.2V~6V之间。 • ⑵RS-422电气特性 • 典型的RS-422通讯电缆有5根线,其中4根线用于双向数据传输,另一根线是信号地。
RS-422的接收器采用高输入阻抗,这样发送驱动器的驱动能力更强,所以允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve)。RS-422的接收器采用高输入阻抗,这样发送驱动器的驱动能力更强,所以允许在相同传输线上连接多个接收节点,最多可接10个节点。即一个主设备(Master),其余为从设备(Salve)。 • 从设备之间不能通信。因此,RS-422支持一对多点的双向通信。 • RS-422的四根传输线接口采用单独的发送和接收通道,不必控制数据方向。
⑶RS-422标准接口的实现及电平转换 • 目前RS-422与TTL的电平转换最常用芯片是传输线驱动器SN75174和传输线接收器SN75175,用+5V电源,如图所示。
⑷关于RS-422接口最大传输距离的说明 • 最大传输距离约1,219m,最大传输速率为10Mb/s。 • 其平衡双绞线的长度与传输速率成反比,在100Kb/s速率以下,才可能达到最大传输距离。只有在很短的距离下才能获得最高速率传输。一般100m长的双绞线上所能获得的最大传输速率仅为1Mb/s。 • 通常,采用RS-422接口公共线路的另一端要求安装一个终接电阻,其阻值约等于传输电缆的特性阻抗。在短距离( <300m)传输时可不用终接电阻。
RS-485标准接口 • RS-485规范中,增加了多点、双向通信以及抗共模干扰等能力。 • RS-485收发器分别采用平衡发送和差分接收,即在发送端驱动器将TTL电平信号转换成差分信号输出,在接收端接收器将差分信号变成TTL电平。因此,具有较强的抑制共模干扰的能力。 • 同时,提高接收器的灵敏度,能检测低达200mV的电压,所以,数据传输可达千米以外。 • RS-485许多电气规定与RS-422相仿。如都采用平衡传输方式、都需要在传输线上连接终接电阻等。
最简单的RS-485通讯线路电缆由两条信号线路组成,通讯电缆必须接大地参考点。最简单的RS-485通讯线路电缆由两条信号线路组成,通讯电缆必须接大地参考点。 • 这样的连接线路能支持32对发送/接收器。为了避免地面路电流,每个设备一定要接大地。 • 通讯电缆应包括第三信号参考线,连接到每个设备的电缆地。若用屏蔽电缆,屏蔽应接到电缆设备的机壳。
二线连接方式能实现真正的多点双向通信(即电路中可有多个发送器、接收器)。二线连接方式能实现真正的多点双向通信(即电路中可有多个发送器、接收器)。 • 采用四线连接方式时,与RS-422一样只能实现一对多点的通信,即只能有一个发送器,其余为接收器。但它比RS-422有改进。无论采用哪种连接方式总线上可连接多达32个设备。 • RS-485共模输出电压在-7~+12V之间,RS-422在-7~+7V之间;RS-485接收器最小输入阻抗为12KΩ,RS-422是4kΩ; • RS-485满足所有RS-422的规范。RS-485的驱动器可以用在任何使用RS-422应用中。反之则不行。
最大传输速率为10Mb/s。当波特率为1,200bps时,最大传输距离理论上可达15km。平衡双绞线的长度与传输速率成反比,在100Kb/s速率以下,才可能使用规定最长的电缆长度。最大传输速率为10Mb/s。当波特率为1,200bps时,最大传输距离理论上可达15km。平衡双绞线的长度与传输速率成反比,在100Kb/s速率以下,才可能使用规定最长的电缆长度。 • RS-485需要2个终接电阻,接在传输总线的两端,其阻值要求等于传输电缆的特性阻抗。在短距离传输( <300m)时可不用。
Intel 8250可编程异步通信接口 • 8250的基本性能指标 • ①完全双工、双缓冲器发送和接收器的异步通信接口电路。 • ②异步传送:5~8位字符,时钟频率为通讯波特率的16倍。 • ③通信波特率:50~9,600。 • ④停止位可编程选择为1、1.5和2位,可编程产生终止字符。 • ⑤可编程选择奇偶校验方式:奇校验、偶校验。 • ⑥出错检测——具有奇偶、溢出、帧错误等检测电路。 • ⑦片内具有优先权中断控制逻辑,具有很强的中断控制能力。