第3章 高速数据传输设计
3.1 概述
3.1.1 高速数据通信的发展现状
基于TTL或CMOS电平的并行总线技术,接口简单、易于实现,在早期的电路设计中广泛应用。数字技术的快速发展及现代处理机设计复杂度的不断提高,使并行总线技术越显笨重。这主要体现在以下几个方面:①并行总线需要为每个信号按位提供多条链路,占据大量的PCB布线空间;②总线所采用的信号形式限制了速率的提升;③总线间串扰和外部干扰对传输质量影响很大,限制了实际应用速率和传输距离;④各链路到达时间不一致,易导致接收出错。
并行总线无法满足高速系统中数据传输速率和性能的要求,将被串行总线替代。串行总线是以串行化的方式将数据的高低位依次在同一条数据链路上发送,简化了系统互联的复杂度,提高了数据传输的质量。早期的串行技术并不能完全摆脱干扰对信号质量的影响,且数据在接收端能否可靠恢复在很大程度上依赖于同步传输质量,加上电平变换、信号衰减等原因,其传输速率和距离也有限。低电压差分信号(Low Voltage Differential Signal,LVDS)的出现,打破了数据传输的速度瓶颈,给高速数据通信的发展带来了新思路。
LVDS是20世纪90 年代美国国家半导体公司提出的一种高速串行信号形式,它以3.5mA的恒流源模式驱动信号发送,在接收端接100Ω的匹配电阻,产生350mV的低电压摆幅。因具有传输速度快、功耗低、抗干扰能力强、传输距离较远、易于匹配等优点,LVDS迅速得到诸多芯片制造厂商和应用商的青睐,获得广泛的认可和推广。目前,现场高速的数据通信方案,多采用基于 LVDS 技术的串行总线技术,或与之相似的 CML(Current Mode Logic,电流模式逻辑)信号作为高速码元的载体。
3.1.2 几种高速数据通信方案简介
目前,常用的几种高速数据通信方案都已在PICMG协会为满足下一代电信计算高速性需求而制定的互连架构中做了规范,即基于 PICMG3.X 的 ATCA 架构(Advanced Telecom Computing Architecture,高级电信计算架构),主要包括以太网和光纤信道、PCI Express、串行快速I/O传输(Serial Rapid I/O Transport)。
1. 以太网
1981年,Xerox、DEC和Intel制定了以太网标准,被IEEE 802.3委员会作为局域网标准的参考。之后,这一技术迅速成熟,成为最基本的局域网组网技术,得到普遍应用。1995年百兆以太网标准IEEE 802.3u颁布,1996年3月IEEE成立了802.3z工作组,开始制定千兆以太网标准。如今,万兆以太网的规范也已经在IEEE 802.3的补充标准IEEE 802.3ae中做了定义。
以太网技术的迅速发展,是日益增长的数据业务量催生的结果,并且基本保持着标准10Mbps以太网的体系结构和组网架构。千兆以太网除了速率上的优点外还在于它无须将信息包从当前10Base-T或100Base-X格式转换为千兆以太网格式。为了与已有的以太网兼容,千兆以太网的数据链路层(LLC子层与MAC子层)采用IEEE 802.2 LLC和CSMA/CD(或全双工MAC)技术,物理层采用标准光纤信道的8B/10B编码方式和差分总线技术。随着P2P技术的流行、三网融合的推进、HDTV走向成熟,以及3G/4G无线网络的逐步部署,以视频业务为主的新型宽带业务正在兴起,并将进一步推动网络互连技术和带宽的提升。
2. PCI Express
PCI Express(Peripheral Component Interconnect Express,PCIe)是Intel为取代PCI总线,支持AWG(Araphone Working Group)制定的第三代I/O技术。相对于PCI并行总线和总线共用的架构,以及33MHz × 32bits/66MHz × 64bits的通信带宽,PCIe采用目前业内最流行的点对点差分串行连接,数据传输率大幅提高,达到PCI或PCI-X所不能达到的带宽。
根据位宽的不同,PCIe接口分为×1、×2、×4、×8、×16和×32,其中×2用于内部接口而非插槽模式。PCIe卡支持热插拔,短卡兼容长槽,能满足不同设备的不同带宽需求。就目前来看,× 1和× 16将成为PCIe的主流规格,已在各大厂商的南北桥芯片组中得到芯片级支持。PCIe × 1支持双向数据传输,单向有效带宽250Mbps。采用16条点对点链接的PCIe × 16每向传输速率为4Gbps,双向带宽达8Gbps。PCIe采用差分串行数据包传递数据,除了提供极高的传输带宽,有效降低接口成本和体积外,还支持数据同步传输,为优先数据优化带宽。
硬件协议方面,PCIe是一个多层协议,包括对话层、数据交换层和物理层。PCIe以传输通道为点对点连接的基础,使用两对单向的LVDS总线,多通道数据可以交叉存取,即将连续字节的数据分配到不同通道上。与其他高速协议一样,PCIe也将时钟嵌入到数据流中,物理层采用8B/10B编码提高传输可靠性。数据链路层采用按序的交换信息包(Transaction Layer Packets,TLPs)(交换层生成),按32位的循环冗余校验码(CRC)进行数据保护。在交换层拥有可信的流控措施,采用数据提交和应答分离的交换技术,可保证传输通道在目标端设备等待发送应答信息时继续发送数据,从而最大化通道利用率。
目前,PCI Express已在计算机主板、显卡、数据采集卡等方面得到了应用,并将逐步成熟和完善,成为下一代主要的宽带总线传输技术之一。
3. Serial Rapid IO
Rapid IO最初是由Freescale和Mercury共同研发的一项互连技术,作为处理器的前端总线,以及系统级的高效前端总线使用。自1999年完成第一个标准制定至今,Rapid IO已经成为电信、通信及嵌入式系统中常用的互连技术之一。
Rapid IO是针对嵌入式系统的独特互连需求而提出的,在制定之初就明确了以下几个基本原则:①轻量型的传输协议;②对软件的制约少,层次结构清晰;③专注于机箱内部芯片与芯片、板卡与板卡之间的互连。经过数年研制而订立的Rapid IO具有许多特点,包括模块化延展性、高速连接性和坚韧强固性等。其协议分为三层,如图3-1 所示。逻辑层明确Rapid IO应用程序的通信方式,定义了报文格式及端点器件发起并完成一次事务的必要信息;传输层定义了Rapid IO的地址空间并为报文在端点设备间传输提供必要的路由信息;物理层描述设备级接口,说明报文传输机制、流控机制、电气特性和底层错误处理,包括8位/16位并行接口标准和l×/4×串行接口标准。
图3-1 Rapid IO分层结构
Rapid IO的分层体系结构使其扩展性、模块化及重用机制成为可能,提供了在任意层次增加新的事务类型而无须更改其他层规范的灵活性。新规范定义的事务将以向后兼容的方式通过现有的Rapid IO网络。
Serial Rapid IO是物理层采用串行差分信号传输的Rapid IO标准。串行物理层定义了器件间的全双工串行链路,每个方向支持一个差分对的1个通道(1×),或者同时支持4个并行的差分对的4个通道(4 ×),使用8B/10B编码。SRIO 1.x标准中每通道支持1.25Gbps、2.5Gbps、3.125Gbps的速率。未来的 Rapid IO 设计除了提升速率,还要跨出机箱。现有Rapid IO的速率已经达10Gbps,下一代将迈向40Gbps。凭借着简化系统设计、高带宽、低延时等特点,其应用领域将越来越宽泛。
此外,常用的高速总线标准还包括USB(Universal Serial Bus,通用串行总线)、IEEE-1394、SATA(Serial Advanced Technology Attachment,串行高级技术附件)等。USB支持的数据率为1.5Mbps、12Mbps和480Mbps;IEEE-1394的数据率为400Mbps和3.2Gbps;SATA每个通道的理论速率则达150Mbps。每种总线标准都有其出现的背景和设计应用目标。例如,以太网主要面向组网中计算机和其他数字终端的互连;PCI Express主要在计算机主板和服务性板卡中使用;USB、IEEE-1394和SATA则主要用于主从设备的互连。Rapid IO在嵌入式系统、无线基站等领域崭露头角,但其对可靠协议的需求必然增加额外的资源开销,在以数据运算为目标的高速系统设计中应用时具有很大的不便。因此,它们都不适于实时传输系统的应用,研究和设计高速、高效、便捷、可靠且易实现的实时现场数据传输系统是实际工程应用必须攻克的重点内容之一,也是本章研究的重点。