串行 RapidIO: 高性能嵌入式互連技術
發(fā)送時,邏輯層和傳輸層將組好的包經過CRC編碼后被送到物理層的FIFO中,“8b/10b編碼”模塊將每8bit數據編碼成10bits數據,“并/ 串轉換”模塊將10bits并行數據轉換成串行bits,發(fā)送模塊把數字bit轉換成差分交流耦合信號在信號線上發(fā)送出去。這里的8b/10編碼的主要作用是:
1. 保證信號有足夠的跳變,以便于接收方恢復時鐘。串行RapidIO沒有專門的時鐘信號線,接收端靠數據信號的跳變恢復時鐘。所以需要把信號跳變少的 8bits數據(如全0或全1)編碼成有一定跳變的10bits數據。另外,也使得總體數據中0和1的個數均衡,以消除直流分量,保證交流耦合特性;
2. 8b/10編碼可擴大符號空間,以承載帶內控制符號。10bits能表示1024個符號,其中256個表示有效的8bits數據,剩下的符號中的幾十個被用作控制符號。控制符號可被用作包分隔符,響應標志,或用于鏈路初始化,鏈路控制等功能;
3. 8b/10編碼能實現一定的檢錯功能。1024個符號中,除了256個有效數據符號和幾十個控制符號外,其它符號都是非法的,接收方收到非法符號則表示鏈路傳輸出錯。
接收的過程則正好相反,首先接收方需要根據數據信號的跳變恢復出時鐘,用這個時鐘采樣串行信號,將串行信號轉換為10bits的并行信號,再按8b/10b編碼規(guī)則解碼得到8bits數據,最后做CRC校驗并送上層處理。
數據被正確的接收時,接收端會發(fā)送一個ACK響應包給發(fā)送端;如果數據不正確(CRC錯或非法的10bits符號),則會送NACK包,要求發(fā)送方重傳。這種重傳糾錯的功能由物理層完成,而物理層功能往往由硬件實現,所以不需要軟件干預。
串行RapidIO支持的信號速率有三種:1.25GHz,2.5GHz,3.125GHz。但由于8b/10b編碼,其有效數據速率分別為:1Gbps, 2Gbps, 2.5Gbps。 4個1x端口或一個4x端口支持的最高速率為10Gbps。
串行RapidIO在無線基礎設施上的應用
無線基礎設施如基站、媒體網關等,是典型的高性能嵌入式通信系統,它們對互連的帶寬、時延、復雜度、靈活性、可靠性都有非常高的要求。而串行RapidIO正是滿足這些要求的最佳選擇。
以無線基站為例,在SRIO出現之前,無線基站的基帶處理的典型框圖如圖7所示。
圖7 傳統無線基站基帶處理框圖
在傳統的基站中,DSP與ASIC或FPGA之間的互連一般用外部存儲器接口EMIF(External Memory Interface);DSP之間或DSP與主機之間一般用HPI(Host Port Interface)或PCI互連。它們的主要缺點是:帶寬??;信號線多;主從模式接口,不支持對等傳輸。另外,DSP不能直接進行背板傳輸。
使用SRIO(Serial RapidIO)則可有效的解決這些問題,大大提高無線基站的互連性能。圖8顯示了一種無線基站基帶互連框圖。在這里,SRIO實現了大部分器件之間的互連,甚至可支持DSP進行直接背板傳輸。
圖8 SRIO提高無線基站互連性能
通過SRIO交換器件互連可以進一步提高基帶處理的靈活性,圖9顯示了一種基帶SRIO交換互連的框圖。這種互連有利于實現先進的基帶處理資源池架構,數據可被送到任何一個通過SRIO交換器互連的處理器中,從而達到各個處理器的負載均衡,更加有效的利用系統的整體處理能力。
圖9 SRIO交換為無線基站基帶處理提供更大的靈活性
綜上所述,對嵌入式系統尤其是無線基礎設施,串行RapidIO是最佳的互連技術。高達10Gbps的帶寬、低時延和低軟件復雜度滿足了飛速發(fā)展的通信技術對性能的苛刻需求;串行差分模擬信號技術滿足了系統對管腳數量的限制,及對背板傳輸的需求;靈活的點對點對等互連、交換互連,和可選的 1.25G/2.5G/3.125G三種速度能滿足多種不同應用的需求。
隨著串行RapidIO技術的發(fā)展成熟,以及越來越多的廠商的支持,串行RapidIO技術必將成為高性能嵌入式互連的主流技術。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論