高速串行总线技术发展与应用分析
虽然在嵌入式系统中有许多连接元件的方法,但最主要的还是以太网、PCI Express和RapidIO这三种高速串行标准。所有这三种标准都使用相似的串行解串器(SerDes)技术,它们提供的吞吐量和时延性能都要超过宽的并行总线技术。随着这些标准的不断发展,今后的趋势将是采用通用SerDes技术。这意味着这些协议提供的原始带宽不会有明显的差异。相反,每种协议的用途将取决于如何使用带宽。
本文引用地址:http://www.amcfsurvey.com/article/157630.htm大多数设计人员都很熟悉基本的以太网协议特征。以太网是一种'尽力而为'的数据包传送方式。在以太网物理层上建立的软件协议,如TCP/IP,需要提供信息的可靠传输,因为基于以太网的系统一般在网络层执行流量控制,而不是在物理层。一般基于以太网的系统带宽都要超配20%到70%。因此以太网最适合高时延的设备间应用,或带宽要求较低的板上/板间应用。
相反,PCI Express(PCIe)针对板上互连的数据包可靠传送作了优化,这种场合的典型时延在毫秒数量级。PCIe协议交换的是事务处理层数据包(TLP),如读和写,以及被称为数据链路层数据包(DLLP) 的少量特殊链路信息。DLLP用于链路管理功能,包括物理层的流量控制。PCIe后向兼容传统的PCI和PCI-X器件,这些器件认为处理器位于总线层的顶部,因此PCIe具有能够充分利用与PCI相关的软件和硬件知识产权的优势。正如后文要讨论的那样,传统PCI总线对交换式PCIe协议有很大的约束。
RapidIO 技术则针对嵌入式系统作了优化,尤其是那些要求多处理单元合作的嵌入式系统。与PCIe一样,RapidIO协议交换的是数据包和被称为控制符的少量特殊链路信息。RapidIO兼具PCIe和以太网的特性。例如,RapidIO可以提供可靠和非可靠的数据包传送机制。RapidIO也具有许多独特的功能,因此最适合板上、板间以及短距离(小于100米)的设备间应用。
物理层
在物理层/链路层,这些协议在流量控制和误码恢复方面有很大的区别。以太网流量控制主要是在网络层用软件实现的,因为对大型网络来说这是最有效的处理方式。以太网唯一的物理层流量控制机制是PAUSE,它将中断传输一定的时间。有限的物理层流量控制意味着以太网将采用弃包的方式处理拥塞。
相反,PCIe和RapidIO的物理层流量控制机制可确保数据包的可靠传送。每个包都会被发送器保留直到被确认。如果检测到发送误码,链路维护协议可确保发生误码的数据包得到重传。
PCIe 保证采用数据链路层数据包(DLLP)发送,而RapidIO则使用控制符进行发送。与DLLP不同的是,RapidIO控制符可以被嵌入在数据包内,这样可以实现低时延的RapidIO流量控制信息(如缓存占用量)交换,将允许更快地发送更多的数据包。图1阐明了这一概念。在最左边部分,器件A不能向器件B发送任何数据包,因为器件B中的缓存是满的。器件B在向器件A连续发送数据包。
图1:RapidIO嵌入式控制符和PCIe DLLP。
在图的中间部分,器件B中的一个缓存空出来了。此时器件B必须告知器件A它能发送数据包了。在右边底部的PCIe部分,DLLP在当前数据包的传送完成之前是无法得到传送的。在右边顶部的RapidIO部分,控制符被嵌入进了正在发送的数据包内。因此与其它协议相比,RapidIO协议能以更低时延和更高吞吐量完成可靠的数据包传送。将控制符嵌入进数据包的能力使得RapidIO流量控制的其余功能比PCIe或以太网都要丰富,后文对此将有进一步描述。
评论