1.1.2 串行传输技术简介
1.串行传输技术原理
串行传输是指通信发送方和接收方之间的数据在单根通信线上逐位顺序传送,每一位数据都占据一个固定时隙,串行传输数据示意图如图1-9 所示。在时钟频率相同的情况下,串行传输的数据传输率比并行传输低。在计算机发展初期,串行传输的速率较低,从而未得到广泛应用。随着集成电路技术的发展及差分信号技术的出现,串行传输的速率大大提高,几乎替代了并行传输。
图1-9 串行传输数据示意图
在串行传输过程中,发送设备和接收设备必须达到比特同步,即发送设备与接收设备必须以同步时钟发送和接收数据,数据在接收端才能够被正确接收。衡量串行传输通道频宽的重要指标是波特率,表示单位时间内载波参数变化的次数,如每秒钟传输 240个字符,每个字符包含 10位(1个起始位,1个停止位,8个数据位),则波特率为 240Bd,比特率为 240*10=2400b/s。对串行接口必须要正确设置波特率,才能进行可靠的数据通信。
2.常用的串行接口协议简介
串行传输接口种类繁多,下面简要介绍几种常用的典型串行传输接口。
1)RS-232串行接口
RS-232是由美国电子工业协会 EIA制定的一种串行数据通信标准,其中使用最广泛的是 RS-232-C版本,RS是推荐标准(Recommended Standard)的缩写,232代表标识号,C表示第 3次修改。RS-232是目前主流的串行通信标准之一,目前 PC上广泛使用的 COM口即为 RS-232接口。
在 RS-232 标准中,数据是以比特串的形式逐比特串行传输的,这种传输方式的优点是传输线少,传输距离远。串行数据传输时,常用的编码格式是异步起停编码,它使用一个起始比特后面紧跟 7 或 8 个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比特,因此发送一个字符至少需要 10 bit,如图1-10所示。
图1-10 RS-232传输编码格式
使用 RS-232 接口进行通信时,需要对通信软件进行设置,主要设置内容包括波特率、奇偶校验和停止位。常见的串口波特率是 300Bd、1200Bd、2400Bd、9600Bd、19 200Bd和 115 200Bd等,一般通信两端设备都要设为相同的波特率。奇偶校验用来验证数据的正确性,一般不使用。停止位是在每个字节传输之后发送的,用于接收方进行硬件同步。RS-232在发送数据时采用异步传输的方式,不需要另外发送同步信号。RS-232接口的优点是所需传输线少,传输过程简单,传输距离较长;缺点是传输速率较低,抗干扰能力弱。常用的 RS-232接口连接器包括 DB-25和 DB-9两种型号,引脚示意图如图1-11所示。
图1-11 RS-232引脚示意图
RS-232接口引脚的定义如表 1-2所示。
表1-2 RS-232引脚的定义和功能说明
2)USB串行接口
USB的全称为 Universal Serial Bus(通用串行总线),是 1994年底由康柏、Intel、微软和惠普等多家厂商联合提出的,主要用于规范计算机和外部设备的连接。在 20年的发展历程中,USB协议经历 USB1.0、USB1.1、USB2.0和 USB3.0,传输速率也由 1.5Mb/s提升到 5Gb/s。USB1.0在 1996年提出,传输速率只有 1.5Mb/s,1998年升级为 USB1.1,速度也大幅提升为 12Mb/s。USB2.0是 2000年在 USB1.1的基础上演变而来的,理论传输速率达到了 480Mb/s(60MB/s),实际传输速率一般不超过 30MB/s,足以满足大多数外设与 PC 之间的高性能连接需求,并且向下兼容 USB1.1,目前大多数 USB 设备都采用 USB2.0。由于 USB2.0已经得到 PC厂商的普遍认可,2008年,Intel、微软、惠普、NEC等业界巨头组织成立 USB3.0 Promoter Group并发布 USB3.0规范。相比 USB2.0,USB3.0的传输速率进一步提高,达到 5Gb/s,目前 USB3.0已经在 PC上得到广泛应用。
USB接口具有传输速度快、使用简单、支持热插拔、连接灵活、独立供电等优点,已经逐渐取代串口和并口,成为 PC和智能设备必备的接口之一。USB接口分为 A型和B型接口,每种接口又分为公口和母口,如图1-12所示。USB接口采用 4根引脚线,用不同的颜色区分,其中两根用于数据的传输,一根接电源,另一根接地。
图1-12 USB类型示意图
USB引脚的定义如表 1-3所示。
表1-3 USB引脚的定义
3)IEEE 1394接口
IEEE 1394接口又称 “火线(FireWire)”接口,是由苹果公司于 1993年提出的串行总线,后经 IEEE协会于 1995年 12月正式接纳为工业标准。“火线”一词已经被苹果公司注册为商标,其他公司使用不同的名称指代该接口,如 Sony 的产品称这种接口为i.Link,德州仪器则称之为 Lynx。
IEEE 1394的设计初衷是以其高速传输率取代昂贵的 SCSI接口。采用“级联”方式,理论上 IEEE 1394可以将 63台设备串接在同一网络上,设备间采用树形或菊花链结构,其电缆的最大长度是 4.5m。IEEE 1394包括 IEEE 1394a、IEEE 1394b、IEEE 1394c和S1600、S3200 各个版本。IEEE 1394a 于 2000 年提出,支持的传输速率有 100Mb/s、200Mb/s、400Mb/s,又称 FireWire 400;IEEE 1394b的传输速率提高到 800Mb/s,因此又称为 FireWire 800;IEEE 1394c于 2007年提出,相比之前的版本,改进后的接头规格和 RJ45 相同,并使用 5 类双绞线和相同的自动协议,可以使用相同的端口来连接任何IEEE 1394设备或 IEEE 802.3的设备;2007年 12月,IEEE 1394的推广团队宣布,可以在 2008年年底使用新的 S1600和 S3200规格,理论传输速率达到 1.6 Gb/s和 3.2 Gb/s。
IEEE 1394采用点对点(Peer to Peer)结构,任何两个支持 IEEE 1394的设备可直接连接,不需要通过主机控制。IEEE 1394也支持热插拔,在增加或拆除外设后,IEEE 1394会自动调整拓扑结构,重设整个外设的网络状态。常用的 IEEE 1394接口包括 4引脚、6引脚和 9引脚,如图1-13所示。
图1-13 IEEE1394总线接口
IEEE 1394接口中每个引脚定义如表 1-4所示。
表1-4 IEEE1394总线引脚定义