引言 軟硬件結合構建寬帶互聯(lián)并行處理的數據處理系統是實(shí)現高速實(shí)時(shí)數據處理的有效方案;谶@樣的方案設計理念,采用多DSP、多FPGA通過(guò)SRIO互聯(lián)來(lái)實(shí)現一個(gè)高速互聯(lián)的計算網(wǎng)絡(luò ),數據可以在DSP之間及DSP與FPGA之間高速傳輸。這樣的互聯(lián)計算網(wǎng)絡(luò )在數據交互、任務(wù)切換、算法分解、計算負載均衡等方面具有較強的適應性、可擴展性。本文介紹了這種基于SRIO互聯(lián)技術(shù)的高速實(shí)時(shí)數據處理硬件平臺,并在該平臺上研究了多DSP之間、DSP與FPGA之間的SRIO通信技術(shù)。 1 SRIO標準 RapiclI/O是面向嵌入式系統開(kāi)發(fā)提出的高可靠、高性能、基于包交換的新一代高速互聯(lián)技術(shù),已于2004年被國際標準化組織(ISO)和國際電工協(xié)會(huì )(IEC)批準為ISO/IECDIS18372標準。SRIO則是面向串行背板、DSP和相關(guān)串行數據平面連接應用的串行RapidIO接口。串行RapidIO包含一個(gè)3層結構的協(xié)議,即物理層、傳輸層、邏輯層。物理層定義電氣特性、鏈路控制、低級錯誤管理;傳輸層定義包交換、路由和尋址機制;邏輯層定義總體協(xié)議和包格式?梢詫(shí)現最低引腳數量,采用DMA傳輸,支持復雜的可擴展拓撲,多點(diǎn)傳輸;可選的1.25 Gbps、2.5 Gbps、3.125Gbps三種速度能滿(mǎn)足不同應用需求,是未來(lái)十幾年中嵌入式系統互聯(lián)的最佳選擇之一。 2 基于C6455高速SRIO接口的互聯(lián)系統 2.1 C6455的SRIO端口 TMS320C6455(簡(jiǎn)稱(chēng)C6455)是德州儀器(TI)公司新推出的一款DSP產(chǎn)品,可實(shí)現更高性能,精簡(jiǎn)代碼,更多片上存儲器及超高帶寬的集成外設。其中最為引人矚目的是第一次實(shí)現了用于處理器間通信的SRIO總線(xiàn),C6455上的SRIO端口是面向嵌入式領(lǐng)域推出的具有高數率,很少引腳的互聯(lián)方案,并且RapiclI/O的數據傳輸完全是由硬件實(shí)現的,不需要處理器參與,因此這樣可以實(shí)現一個(gè)高效板級同構互聯(lián)多處理器系統。C6455的SRIO端口一對收發(fā)差分信號對構成一個(gè)全雙工的port(端口),可以工作在1.25 Gbps、2.5 Gbps、3.125 Gbps的波特率。 2.2 基于SRIO的多C6455互聯(lián)結構 C6455的SRIO端口可以與SRIO交換器件實(shí)現互聯(lián),也可以在C6455之間通過(guò)連接差分信號來(lái)實(shí)現。如圖1和圖2所示的1x模式和4x模式互聯(lián)關(guān)系,在1x模式中,器件的任何一對發(fā)收信號可以與另一個(gè)器件的收發(fā)信號相互連接組成獨立的1x模式工作。如果兩個(gè)C6455間采用四對全連接方式,則可實(shí)現1個(gè)4x工作模式或者是4個(gè)獨立的1x工作模式。 ![]() 多DSP及FPGA的并行處理系統主要由4個(gè)C6455處理器和4個(gè)Virtex5LX50T構成,系統結構如圖3所示。DSP與DSP之間的互聯(lián)采用圖1所示的連接方式來(lái)實(shí)現全連通的SRIO網(wǎng)絡(luò ),實(shí)現所有DSP之間的1路1x通道,各個(gè)通道上的控制、傳輸獨立并行工作。通過(guò)SRIO互聯(lián)網(wǎng)絡(luò ),任何一個(gè)DSPC6455都可以訪(fǎng)問(wèn)網(wǎng)絡(luò )上其他DSPC6455資源,實(shí)現網(wǎng)絡(luò )上的所有設備資源共享。而且這樣的全連通結構又可以根據不同任務(wù)處理的特點(diǎn),靈活地配置成菊花鏈串行流水線(xiàn)、一主多從的星形等拓撲結構,在不同數據處理應用中具有高度可動(dòng)態(tài)重構性。 ![]() 2.3 C6455的SRIO傳輸控制結構 C6455的SRIO包有directI/O包、DOORBELL包、Message包以及Maintenance包等等。其中最重要的是直接I/O包和DOORBELL包的傳輸控制,它的傳輸控制模塊分成LSU(Load/Store Unit)控制單元和MAU(Memo-ry AccessUnit)控制單元。LSU用于實(shí)現Direct I/O包、DOORBELL包的發(fā)送,MAU則負責DirectI/O包的接收。具體的傳輸控制結構框圖如圖4所示。 ![]() 所有直接I/O包和DOORBELL包的發(fā)送都由LSU模塊執行。直接I/O包內包含了數據本地DSP地址、目標設備ID及數據在目標SRIO設備上需要保存或讀取的地址,DSP通過(guò)配置總線(xiàn)對發(fā)送端口配置一系列MMRs作為傳輸描述符,在包傳輸之前硬件自動(dòng)把它們加在包頭。啟動(dòng)SRIO傳輸后數據自動(dòng)實(shí)現DSP內部存儲空間(L2SRAM)到SRIO發(fā)送端口緩沖區的DMA數據傳輸,處理器參與的僅僅是配置過(guò)程,而真正的數據搬移過(guò)程全由DMA完成,并且包信息中包含了接收端口的ID及地址信息,數據在接收端口由MAU模塊自動(dòng)DMA到包頭信息指定的地址空間,對用戶(hù)來(lái)說(shuō)是完全透明的。 2.4 C6455的SRIO關(guān)鍵事務(wù)處理 SRIO的邏輯層采用的是包格式來(lái)交換數據,所有包的有效載荷最大為256字節。事務(wù)就是指向SRIO地址空間的加載存儲及DMA的操作,其中最為關(guān)鍵重要的就是NREAD(讀操作)、NWRITE(寫(xiě)操作)、DOORBELL(門(mén)鈴操作)。通過(guò)SRIO包的這幾種事務(wù)處理可以實(shí)現互連器件間的數據傳輸。在發(fā)送DSP的SRIO端口和接收DSP的SRIO端口都需要首先進(jìn)行初始化,包括使能端口,配置端口工作模式,設置和使能PLL模塊,設置設備ID及數據傳輸速率(注意發(fā)送和接收端口速率要求一致)。在初始化完成后,通過(guò)循環(huán)查詢(xún)SRIO端口狀態(tài)寄存器來(lái)判斷鏈路的連接成功與否。一般情況下,鏈路會(huì )很快連接成功,否則前述的初始化配置可能有錯。鏈路連接成功后,就可以進(jìn)行讀寫(xiě)和門(mén)鈴操作。在系統測試中,發(fā)送端DSP通過(guò)寫(xiě)操作發(fā)送完一幀數據,隨即發(fā)送一個(gè)門(mén)鈴數據包,門(mén)鈴數據包在接收端DSP上產(chǎn)生一個(gè)系統中斷告知數據到達有效,于是接收端DSP又將一個(gè)門(mén)鈴數據包發(fā)送回發(fā)送端DSP,同樣產(chǎn)生一個(gè)中斷給發(fā)送端DSP,發(fā)送端DSP收到中斷后又繼續發(fā)送下一個(gè)數據幀,如此循環(huán)往復實(shí)現高速傳輸數據。 3 C6455與Virtex5-LXT的串行接口互聯(lián) 在DSP+FPGA復合架構中,DSP的優(yōu)勢在于,對新型及復雜算法開(kāi)發(fā)上只需較短的時(shí)間,并能夠快速靈活地移植到新一代DSP處理器上;而FPGA的最大優(yōu)勢在于,通過(guò)并行處理實(shí)現的效能最大化。因此通過(guò)SRIO實(shí)現DSP和FPGA的互聯(lián)可以達到兩者的優(yōu)勢互補。如圖3中,通過(guò)DSP的一個(gè)SRIO端口和一個(gè)Virtex5LX50T實(shí)現SRIO連接,每一個(gè)FPGA都可以通過(guò)SRIO通道訪(fǎng)問(wèn)SRIO網(wǎng)絡(luò )上的任何資源。用于SRIO的Xilinx端點(diǎn)IP解決方案針對RapidIO規范(v1.3)而設計,完整的Xilinx端點(diǎn)IP解決方案包括用戶(hù)收發(fā)數據接口邏輯、傳輸控制及緩存邏輯、SRIO物理層IP,以及SRIO管理配置寄存器實(shí)現邏輯4部分。 結語(yǔ) 在多處理器互聯(lián)處理系統實(shí)現方案中,SRIO是最佳的數據互聯(lián)方式之一。高帶寬、低延時(shí)、引腳少、DMA傳輸、低軟件復雜度滿(mǎn)足了飛速發(fā)展的高速實(shí)時(shí)數據處理對性能的要求。C6455間的SRIO高速通信滿(mǎn)足不同應用軟件設計的靈活性,DSP和FPGA的SRIO通信提高了多處理器系統的計算能力,通過(guò)SRIO通信方式構建的計算網(wǎng)絡(luò )提供了共享式分布處理,能輕松滿(mǎn)足不同應用領(lǐng)域高速發(fā)展的海量數據高速處理需求。 參考文獻 1. TI Inc.TMS320C6455 Fixed-Point Digital Signal Processor SPRS276H. 2. TI Inc.TMS320C645x Serial Rapid IO (SRIO) User's Guide SPRU976. 3. 王勇,林粵偉,吳冰冰.RapidIO嵌入式系統互聯(lián)[M].北京:電子工業(yè)出版社,2006. 4. Navneet Rao.串行Rapid IO連接功能增強了DSP協(xié)處理能力[J].賽靈思中國通訊.26期. 5. 屈磊,宋慰軍,茍冬榮,等.基于SRIO的多DSP并行信號處理系統[J].計算機工程,2008(9):13-15. 6. 黃克武,吳海洲.基于TMS320C6455的高速SRIO接口設計[J].電子測量技術(shù),2008(9):143-146. 作 者:黃曉云(四川大學(xué)) 程波,蘇海冰,吳欽章(中國科學(xué)院光電技術(shù)研究所) 來(lái)源:《單片機與嵌入式系統應用》 2009(9) |