摘 要:文章对多种协议串行通信进行了分析与讨论,针对传统的串口通信实现中的问题以及实际的广域网串行通 信的需求,结合Sipex公司出品的多协议串口芯片SP507,提出了一种多协议串行接口的设计实现方法。
关键词:多协议串口通信,通信协议,收发器,连接器,多协议串口芯片
引言
随着通信网的发展,越来越多的连网设备(如路由器、开关、网关、存取装置)的串行接口在广域网(Wide Area Network)中被设计为能够支持多种物理接口协议或标准。广域网串行口可包括RS-232,RS-449,EIA-530,V.35
,V.36或X.21等协议。一个简单的通信接口图1所示。
主要串口通信协议的简单介绍
串口通信协议规定了数据终端设备(DTE)和数据通信设备(DCE)之间的串行二进制数据交换的接口。它主要包含以下四方面的内容:接口的机械特性,信号的电气特性,信号的功能特性,以及接口的规程属性。下面对一些常用标准或建议作一简单介绍。
EIA接口标准
尽管EIA不是国际性的标准化组织,但由于EIA制定的一些标准广为流行,且其和ISO、CCITT标准或建议有许多共同之处,因此有必要对它进行介绍。
1) RS-232协议
主要用于近距离内计算机和终端之间的通信。最常用的是RS232C协议,是以非平衡式传输的标准。接口采用DB25连接器。规定逻辑0的电平是在-315V,逻辑1的电平是+315V。最大传输速率为115k
bit/s,此时最远传输距离为10米。
2) RS-449协议
RS-449接口标准主要是为克服RS-232接口标准的通讯距离短和传输速率慢而建立的,它是一种以平衡方式传输的标准,不仅提高了传输速率,而且也解决了地电位差不同而引起的问题。RS-449规定信号电平为-6V-+6V。采用DB37作为接口连接器。传输距离为10米时最大传输速率可达10M
bit/s。RS-449采用两个伴随标准:RS-422A和RS-423A。
3) EIA-530协议
EIA-530采用了平衡方式传输,与RS-449相似的是它能支持设备的高速率数据传输。但其插头却是与RS-232一样使用DB25连接器。由于这种协议的设备不多,本文不多介绍。
V.35协议
图1 串口通信的物理连接原理图(略)
图2 典型的V.35平衡式接口(略)
图3 SP507的封装形式(略)
表1 两种方法实现串接通信的性能比较(略)
图4 SP507的工作原理图(略)
V.35协议主要用于路由器,接口线采用平衡绞合多线对电缆,每对平衡线两个端子之间正常工作电压为0.55V 20% 。一个典型的V.35平衡式接口如图2所示。当端子A对端子B的电压为正(A>B)时确定为逻辑0,为负(A<B)时确定为逻辑1。其接口采用DB34连接器,最大传输速率为2M
bit/s。V.35接口要求在驱动器端和接收器端有一个T型或 型网络终端,这种结构在多协议串口通信时会带来一定的困难,这一点在本文中还将会提到。
传统的多协议串口通信电路实现方法及其存在的问题
采用"子板"方式
在广域网串口应用中的一种设计和实现方法是为所需的每一种物理协议提供一个独立的子板。例如,一个支持EIA-232,EIA-449及V.35协议的系统,需要三个独立的子板以及三个不同的连接器。这种方法对于支持较少协议的通信来说开销不是很大,但如果要求支持多协议串口通信,则由于每种协议要求配置一块子板,因此系统需要对PCB子板、收发器芯片、连接器等进行管理,既浪费资源又使管理工作复杂化。
采用通用连接器方式
为解决"子板"方式的缺点,提出的改进方法是使用一块母板及通用连接器,母板上有多种收发器芯片以满足多串口协议的要求。这时,可共用一些通用器件,以减少资源的浪费。
这种方法又带来一个问题:所有收发器的I/O线至通用连接器的管脚必须彼此共用。例如,一个V.11驱动器芯片中发送数据信号线接至连接器的管脚2和14;而V.35驱动器芯片中发送数据信号线也会接至连接器的管脚2和14。此时,通用连接器的管脚2和14分别接有两根信号线。因此,在这一配置中所有的驱动器都必须具有三态特性,以禁止不必要的输出。否则需要使用一个多路复用器,用它来选择相应的输出端。而收发器在禁止使用时会有漏电电流产生,这些影响必须在电路设计时充分考虑。
使用多协议串口芯片实现串口通信
原理
现在,一些收发器的生产厂商将多种协议收发器集成在一个芯片上。Sipex是一家生产此种芯片的公司,其SP50X系列产品,更是最多能支持8种协议标准。表2为采用分立的收发器芯片与采用一片多协议收发器芯片实现相同功能多协议串口通信的方法比较。
由上表可知,采用多协议收发器芯片时,无论是电路的设计与实现,还是从功能的管理与控制都要简单、灵活得多。除此之外,多协议收发器对驱动器使能控制和对输出的漏电电流的处理要容易得多。当选择了某一协议时,驱动器和接收器的电气参数将调整至适当的大小,电路内部操纵驱动器的输出电平、接收器的输入门限、驱动器和接收器的阻抗值以及每一物理层协议的常用模式范围。
另外,由于外部网络终端对V.35的需求,使得对V.35收发器的连接不能象其它协议那么简单。当使用分立收发器芯片时,常常采用昂贵的继电器开关电阻在选择其它协议接口时将V.35网络终端断开,或者要求用户每当选择一个新的接口标准时就改变终端模块。而多协议串口芯片通过自动提供适当的终端和片上开关以符合V.10、V.11、V.28和V.35电气协议,即可轻松解决电缆终端转换问题。
SP507芯片介绍
SP507是一个支持7种常用的串行接口标准、具有DTE或DCE模式的多协议收发器芯片,有7个驱动器,7个接收器,信号的传输速率可超过20Mbps。其主要特性有:
● 支持的通信协议有:RS-232(V.28) 、X.21/RS-422(V.11) 、EIA-530(V.10 & V.11)
、EIA-530A (V.10 & V.11) 、RS-449(V.10 & V.11) 、V.35(V.35
& V.28)。
● 软件可选择协议方式;
● 差动传输方式时的最高传输速率可超过20Mbps;
● 单+5V 供电;
● 7个驱动器,7个接收器,驱动器和接收器都具有三态特性;
● 对于V.11 和 V.35 协议提供片上电缆终端;
● 提高了ESD的保护能力;
● 主要用于广域?WAN)的数据路由器、信息业务单元(CSU)、数据业务单元(DSU)及其它存取设备中。
SP507芯片对于所有7种通信协议均不需要附加外部的器件,所需的终端电路都在芯片内实现,当驱动器工作在V.35模式,接收器工作在V.35或V.11模式时,片上电缆终端可自动进行切换。
1.内部结构
SP507芯片采用80L QFP的封装形式,如图3所示:
其主要引脚的说明如下:
● 时钟和数据信号:
引脚 1: 接收数据RxD;
引脚14:发送数据TxD;
引脚15:发送时钟TxCE;
引脚20:接收时钟RxC;
引脚22:DCE方式时的发送定时DCE_ST;
引脚79:DTE方式时的发送定时DTE_ST;
引脚61:发送信号SD(a);
引脚59:发送信号SD(b);
引脚70:接收信号RD(b);
引脚71:接收信号RD(b)。
● 控制信号:
引脚13:数据终端就绪DTR;
引脚16:准备发送RTS;
引脚78:数据设置就绪DSR;
引脚80:清除发送CTS。
● 控制寄存器:
引脚10,11,12:发送器/接收器译码寄存器;
引脚23:驱动器DTE模式使能;
引脚 8:译码锁存控制;
引脚 7:接收器DTE模式使能;
引脚 9:接收器网络终端使能。
2.工作原理
图4是SP507芯片的一个典型的工作原理图。
除了7个驱动器/接收器外,芯片还包括一个电荷泵、一个用于对驱动器、接收器译码的锁存使能及其它相关电路。
1) 工作模式选择
通过对M0、M1、M2三根输入线的控制,实现驱动器和接收器的各种工作模式的选择,这三根线的逻辑值编码后共有八种状态,其中全"1"时为收发器的高阻状态,其它七种状态对应于所提供的七种通信模式,具体可查阅厂家提供的技术手册。
2) DTE/DCE方式选择
由ITU-T V.24的建议可知,串行通信中,发时钟信号TxC、载波侦听信号DCD由DCE方产生,而本地环路信号LL由DTE方产生。因此一个通信设备工作在DTE方式还是DCE方式,最主要的是分清以上三种信号的产生源。在SP507芯片中,当系统工作在DTE方式时,TxC作为接收信号,连接TxC的驱动器被禁用,即此时驱动器的输入DCE_ST信号无效;同时启用与TxC相连的接收器,接收器的输出DTE_ST信号有效。DCD与LL信号的流向控制与TxC相同。
以上对各种驱动器/接收器的三态控制,是通过RTEN、RREN、TMEN、LLEN、TTEN、SCTEN、RLEN、STEN等控制寄存器实现的。因此,作为用户,只需要对以上寄存器控制即可实现DTE/DCE工作方式的切换。
需要注意的是:此时必须将DCE_ST信号的引脚与DTE_ST信号的引脚相连,将RL信号的引脚与DCD信号的引脚相连,将TM信号的引脚与LL信号的引脚相连。
3) 终端电路
对于V.35、V.11等协议,其终端阻抗有一定要求,因此在使用分立收发器时相对于电路的设计要复杂得多,尤其是V.35所要求的T型网络终端。而SP507在其芯片内部设计了相应的电路(如图3中的A、B),极大地简化了对终端的要求。通过对TERM_OFF控制寄存器的控制,实现对网络终端的选择,不再需要外部的电路支持。
3.典型应用
图5为采用SP507芯片进行串行通信的一个典型应用。
本例中,SP507的电路输出与一个DB25的连接器相连,TTL端的数据线直接连至UART芯片的串行数据输入端,M0M1M2模式选择线与
控制线则连接至系统总的逻辑控制单元,由CPLD实现。
由于系统要求的工作模式中有V.35协议模式,因此要将TERM_OFF引脚置高位,使得芯片内部的网络终端被选用。锁存控制引脚 也要接高位,这样使得模式选择的译码输入始终有效。
由于芯片支持7种通信协议,因此对于线路中的电压应有较强的耐压能力。为了保护电荷泵外部的电容不被过压击穿毁坏,应当在Vss、VDD、Vcc端连接保护二极管。
系统工作时,通过CPLD选择工作模式和DCE/DTE方式。需要注意的是,如果在工作过程中进行DCE/DTE的切换,应当先将与连接器连接的电缆换为相应的模式,以免出现不必要的问题。
4.与其它芯片的比较
笔者就曾用过的Linear公司生产的LTC1544/1543套片组与SP507芯片进行了比较,在完成同样功能的情况下,后者与前者相比,有如下优点:
1) 芯片数量少,功能实现简单。在DCE/DTE方式下,只需要一片SP507即可实现所要求的功能;而需要LTC1544、LTC1543及LTC1433三片芯片才能完成同样的功能。显然,后者使得电路变得复杂和庞大。
2)DCE/DTE 的控制方式不同。LTC1544/1543套片组中,DCE/DTE 是一根简单的控制线,具体的工作方式的切换由LTC1544/1543套片组内部完成,用户不参与。而在SP507中,DCE/DTE
的切换不是由一根线简单地控制,它是通过对一系列的控制寄存器的操作,在外部实现工作方式的切换。表面上看似乎这种方式过于复杂,但实际上正是这种透明的切换控制方式使得用户在使用时可根据自己的实际需求进行设置,从而加大系统的灵活性。
3) 提供专用信号。LTC套片组中,当工作于DCE方式时,并不提供TM和RL信号,此时如果需要这些信号,就必须再加一个收发器芯片,这给设计和使用带来很大的不便。而在SP507芯片中,不会出现这个问题(注意这些信号在半双工工作模式下不支持)。
4) 独立的驱动器/接收器控制。LTC套片组中相关驱动器输出与接收器输入的连接已由芯片内部实现,无法更改。而在SP507中,所有的输入/输出都是独立的,可由用户自行连接。每个驱动器与接收器都有相对应的使能端,当使能为逻辑"1"时,DCE_ST、RL驱动器及RL接收器启用;当使能为逻辑"0"时,DTE_ST、DCD接收器及LL驱动器启用。
此外, SP507芯片的应用配置可与LTC套片组相兼容,即其模式选择信号M0M1M2的译码与LTC套片组相同,这样,如果要将LTC套片组改为SP507,并不需要改变在FPGA或是CPLD内中已有的编码状态,从而大大缩短用户因更换芯片而带来的生成周期。
结束语
实现多协议串口通信的方法很多,尤其是不同厂家提供了功能各不相同的串口芯片,使得设计者可根据自己的需求进行选择。作者以SP507多协议串口芯片为例,说明了当设计一个支持各种物理层协议的复杂的DTE/DCE模式时,和使用许多分立的元器件相比,选择一个单片多协议串行收发器将会简化配置,所设计的电路也会更灵活、方便和简单。
|