高速串行總線(xiàn)技術(shù)發(fā)展與應用分析
雖然在嵌入式系統中有許多連接元件的方法,但最主要的還是以太網(wǎng)、PCI Express和RapidIO這三種高速串行標準。所有這三種標準都使用相似的串行解串器(SerDes)技術(shù),它們提供的吞吐量和時(shí)延性能都要超過(guò)寬的并行總線(xiàn)技術(shù)。隨著(zhù)這些標準的不斷發(fā)展,今后的趨勢將是采用通用SerDes技術(shù)。這意味著(zhù)這些協(xié)議提供的原始帶寬不會(huì )有明顯的差異。相反,每種協(xié)議的用途將取決于如何使用帶寬。
本文引用地址:http://dyxdggzs.com/article/157630.htm大多數設計人員都很熟悉基本的以太網(wǎng)協(xié)議特征。以太網(wǎng)是一種'盡力而為'的數據包傳送方式。在以太網(wǎng)物理層上建立的軟件協(xié)議,如TCP/IP,需要提供信息的可靠傳輸,因為基于以太網(wǎng)的系統一般在網(wǎng)絡(luò )層執行流量控制,而不是在物理層。一般基于以太網(wǎng)的系統帶寬都要超配20%到70%。因此以太網(wǎng)最適合高時(shí)延的設備間應用,或帶寬要求較低的板上/板間應用。
相反,PCI Express(PCIe)針對板上互連的數據包可靠傳送作了優(yōu)化,這種場(chǎng)合的典型時(shí)延在毫秒數量級。PCIe協(xié)議交換的是事務(wù)處理層數據包(TLP),如讀和寫(xiě),以及被稱(chēng)為數據鏈路層數據包(DLLP) 的少量特殊鏈路信息。DLLP用于鏈路管理功能,包括物理層的流量控制。PCIe后向兼容傳統的PCI和PCI-X器件,這些器件認為處理器位于總線(xiàn)層的頂部,因此PCIe具有能夠充分利用與PCI相關(guān)的軟件和硬件知識產(chǎn)權的優(yōu)勢。正如后文要討論的那樣,傳統PCI總線(xiàn)對交換式PCIe協(xié)議有很大的約束。
RapidIO 技術(shù)則針對嵌入式系統作了優(yōu)化,尤其是那些要求多處理單元合作的嵌入式系統。與PCIe一樣,RapidIO協(xié)議交換的是數據包和被稱(chēng)為控制符的少量特殊鏈路信息。RapidIO兼具PCIe和以太網(wǎng)的特性。例如,RapidIO可以提供可靠和非可靠的數據包傳送機制。RapidIO也具有許多獨特的功能,因此最適合板上、板間以及短距離(小于100米)的設備間應用。
物理層
在物理層/鏈路層,這些協(xié)議在流量控制和誤碼恢復方面有很大的區別。以太網(wǎng)流量控制主要是在網(wǎng)絡(luò )層用軟件實(shí)現的,因為對大型網(wǎng)絡(luò )來(lái)說(shuō)這是最有效的處理方式。以太網(wǎng)唯一的物理層流量控制機制是PAUSE,它將中斷傳輸一定的時(shí)間。有限的物理層流量控制意味著(zhù)以太網(wǎng)將采用棄包的方式處理?yè)砣?/p>
相反,PCIe和RapidIO的物理層流量控制機制可確保數據包的可靠傳送。每個(gè)包都會(huì )被發(fā)送器保留直到被確認。如果檢測到發(fā)送誤碼,鏈路維護協(xié)議可確保發(fā)生誤碼的數據包得到重傳。
PCIe 保證采用數據鏈路層數據包(DLLP)發(fā)送,而RapidIO則使用控制符進(jìn)行發(fā)送。與DLLP不同的是,RapidIO控制符可以被嵌入在數據包內,這樣可以實(shí)現低時(shí)延的RapidIO流量控制信息(如緩存占用量)交換,將允許更快地發(fā)送更多的數據包。圖1闡明了這一概念。在最左邊部分,器件A不能向器件B發(fā)送任何數據包,因為器件B中的緩存是滿(mǎn)的。器件B在向器件A連續發(fā)送數據包。
圖1:RapidIO嵌入式控制符和PCIe DLLP。
在圖的中間部分,器件B中的一個(gè)緩存空出來(lái)了。此時(shí)器件B必須告知器件A它能發(fā)送數據包了。在右邊底部的PCIe部分,DLLP在當前數據包的傳送完成之前是無(wú)法得到傳送的。在右邊頂部的RapidIO部分,控制符被嵌入進(jìn)了正在發(fā)送的數據包內。因此與其它協(xié)議相比,RapidIO協(xié)議能以更低時(shí)延和更高吞吐量完成可靠的數據包傳送。將控制符嵌入進(jìn)數據包的能力使得RapidIO流量控制的其余功能比PCIe或以太網(wǎng)都要豐富,后文對此將有進(jìn)一步描述。
評論