高速串行總線技術發展與應用分析
雖然在嵌入式系統中有許多連接元件的方法,但最主要的還是以太網、PCI Express和RapidIO這三種高速串行標準。所有這三種標準都使用相似的串行解串器(SerDes)技術,它們提供的吞吐量和時延性能都要超過寬的并行總線技術。隨著這些標準的不斷發展,今后的趨勢將是采用通用SerDes技術。這意味著這些協議提供的原始帶寬不會有明顯的差異。相反,每種協議的用途將取決于如何使用帶寬。
本文引用地址:http://www.j9360.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或以太網都要豐富,后文對此將有進一步描述。
評論