几种流行的串行通信协议最被人们熟悉的串行通信技术标准是EIA-232、EIA-422和EIA-485,也就是以前所称的RS-232、RS-422和RS-485。
由于EIA提出的建议标准都是以“RS”作为前缀,所以在工业通信领域,仍然习惯将上述标准以RS作前缀称谓。
EIA-232、EIA-422和EIA-485都是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,EIA-232在1962年发布,后来陆续有不少改进版本,其中最常用的是EIA-232-C版。
目前EIA-232是PC机与通信工业中应用最广泛的一种串行接口。
EIA-232被定义为一种在低速率串行通信中增加通信距离的单端标准。
EIA-232采取不平衡传输方式,即所谓单端通信。
标准规定,EIA-232的传送距离要求可达50英尺(约15米),最高速率为20kbps。
由于EIA-232存在传输距离有限等不足,于是EIA-422诞生了。
EIA-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(约1219米),并允许在一条平衡总线上连接最多10个接收器。
当然,EIA-422也有缺陷: 因为其平衡双绞线的长度与传输速率成反比,所以在100kbps速率以内,传输距离才可能达到最大值,也就是说,只有在很短的距离下才能获得最高传输速率。
一般在100米长的双绞线上所能获得的最大传输速率仅为1Mbps。
另外有一点必须指出,在EIA-422通信中,只有一个主设备(Master),其余为从设备(Salve),从设备之间不能进行通信,所以EIA-422支持的是点对多点的双向通信。
为扩展应用范围,EIA于1983年在EIA-422基础上制定了EIA-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
由于EIA-485是从EIA-422基础上发展而来的,所以EIA-485许多电气规定与EIA-422相仿,如都采用平衡传输方式、都需要在传输线上接终接电阻、最大传输距离约为1219米、最大传输速率为10Mbps等。
但是,EIA-485可以采用二线与四线方式,采用二线制时可实现真正的多点双向通信,而采用四线连接时,与EIA-422一样只能实现点对多点通信,但它比EIA-422有改进,无论四线还是二线连接方式总线上可接多达32个设备。
由于EIA-232、EIA-422与EIA-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,标准内容规定比较简单,在此标准基础上,用户可以建立自己的高层通信协议。
因此,这些串行通信技术应用很广,如录像机、计算机以及许多工业控制设备上都配备有EIA-232串行通信接口。
几十年不变的串行通信技术近两年被打破了,打破坚冰的技术就是USB。
USB 接口的出现在工业通信领域的反映很冷淡,然而在IT界的反响却十分强烈。
如今在计算机外联的设备中,越来越多的设备开始使用USB接口。
IT新锐-USBUSB是英文Universal Serial Bus 的缩写,翻译成中文的含义是“通用串行总线”。
从技术上看,USB是一种串行总线系统,它的最大特性是支持即插即用和热插拔功能。
在Windows 2000的操作系统中,任何一款标准的USB设备可以在任何时间、任何状态下与计算机连接,并且能够马上开始工作。
USB诞生于1994年,是由康柏、IBM、Intel和Microsoft共同推出的,旨在统一外设接口,如打印机、外置Modem、扫描仪、鼠标等的接口,以便于用户进行便捷的安装和使用,逐步取代以往的串口、并口和PS/2接口。
发展至今,USB共有三种标准:1996年发布的USB1.0,1998年发布的USB1.1以及刚刚发布的最新标准USB2.0。
此三种标准最大的差别就在于数据传输速率方面,当然,在其他方面也有不同程度的改进。
就目前的USB2.0而言,其传输速度可以达到480Mbps,最多可以支持127个设备。
目前在IT领域,USB接口可谓春风得意。
人们在市场上可以看到,每一款计算机主板都带有不少于2个USB接口,USB打印机、USB调制解调器、USB 鼠标、USB音箱、USB存储器等产品越来越多,USB接口已经占据了串行通信技术的垄断地位。
但是,在工业领域,使用USB接口的产品则甚为少见。
在工业领域,人们更要求产品的可靠性和稳定性,目前,EIA标准下的串行通信技术完全可以满足人们对工业设备传输的各种性能要求,而且,这些产品价格非常低廉。
相比之下,USB价格较高,并且其即插即用的功能在工业通信中没有优势。
因为工业设备一般连接好以后很少进行重复插拔,USB特性的优越性不能很好地被体现出来,也就得不到工业界的普遍认可。
因此,在工业领域,EIA标准依然占据统治地位。
目前,还有一项串行通信技术受到人们的关注,这就是IEEE 1394,这项技术虽然还没有普及,但是,人们对它的前景十分看好。
未来之星-IEEE 1394IEEE 1394是一种与平台无关的串行通信协议,标准速度分为100Mbps、200Mbps和400Mbps,是IEEE(电气与电子工程师协会)于1995年正式制定的总线标准。
目前,1394商业联盟正在负责对它进行改进,争取未来将速度提升至800Mbps、1Gbps和1.6Gbps这三个档次。
相比于EIA接口和USB接口,IEEE 1394的速度要高得多,所以,IEEE 1394也称为高速串行总线。
IEEE 1394提供了一种高速的即插即用总线。
接入这条总线,各种外设便不再需要单独供电,它也支持等时的数据传输,是将计算机和消费类电器连接起来的重要桥梁。
例如,用户可以在计算机上接驳一部数字VCR,把它当作一个普通的外设使用,既可用来播放电影,亦可以录制在计算机上编辑视频流。
除此以外,带有IEEE 1394接口的DV(数字视频)摄影机和数字卫星接收器目前均已上市。
由于速度非常快,所以它是消费类影音(A/V)电器、存储、打印、高分辨率扫描和其他便携设备的理想选择。
从技术上看,IEEE 1394具有很多优点,首先,它是一种纯数字接口,在设备之间进行信息传输的过程中,数字信号不用转换成模拟信号,从而不会带来信号损失;其次,速度很快,1Gbps的数据传输速度可以非常好地传输高品质的多媒体数据,而且设备易于扩展,在一条总线中,100Mbps、200Mbps和400Mbps 的设备可以共存;另外,产品支持热插拔,易于使用,用户可以在开机状态下自由增减IEEE 1394接口的设备,整个总线的通信不会受到干扰。
也许有人会问,采用并行方式不是可以达到更高的传输速度吗?例如,包含了8根线芯的一条并行电缆和一条串行电缆相比,前者的速度可以是后者的8倍。
从理论上看的确如此,但是在实际使用时,人们还要考虑其他许多因素。
例如,在并行电缆的多股线芯之间,电子干扰比较厉害; 速度较高的时候,线芯之间的同步也是一个问题; 总线的问题则更加复杂。
而各种IEEE 1394可通过菊花链的形式连接成一个网络,当然,由于成本原因,它只适合组成一个小网,而且内含的设备都是家用电器和计算机外设之类的东西,不适合组建一个真正的“计算机网络”。
但它在一条总线内可以连接大量设备(最多63个),数据的传输得到极大简化,不仅需要的命令集被精简了,而且只需针对一个地址直接进行读写。
目前支持IEEE 1394的产品有台式计算机、笔记本电脑、高精度扫描仪、数字视频(DV)摄影机、数码音箱(SA2.5)、数码相机等。
串口通信协议串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
目录什么是串口串口是计算机上一种非常通用设备通信的协议(不要与Universal SerialBus或者USB混淆)。
大多数计算机包含两个基于RS232的串口。
串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有口。
同时,协议也可以用于获取远程采集设备的数据。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型地,串口用于ASCII码字符的传输。
通信使用3根线完成:(1)地线,(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是、数据位、停止位和。
对于两个进行通行的端口,这些参数必须匹配:a,波特率:这是一个衡量通信速度的参数。
它表示每秒钟传送的bit 的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII 码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
c,停止位:用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d,奇偶校验位:在串口通信中一种简单的检错方式。
有四种检错方式:偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。