使用RapidIO技術(shù)搭建可重構(gòu)信號處理平臺
2.3 FPGA內(nèi)部的邏輯設(shè)計
在DSP板卡上有一塊Altera公司的Stratix II GX系列的FPGA芯片。這塊FPGA芯片專門用來實現(xiàn)LINK口與RapidIO接口之間的數(shù)據(jù)轉(zhuǎn)換,將6路LINK口數(shù)據(jù)整合到1路RapidIO通路中。數(shù)據(jù)接收和發(fā)送的邏輯結(jié)構(gòu)如圖3所示。
當(dāng)DSP發(fā)送數(shù)據(jù)時,F(xiàn)PGA的LINK口接收模塊將收到的數(shù)據(jù)緩存到FIFO中,數(shù)據(jù)輪詢狀態(tài)機(jī)按順序檢查FIFO的存儲狀態(tài)。當(dāng)FIFO內(nèi)的數(shù)據(jù)滿足RapidIO包最大負(fù)載(256 B)時,啟動1次RapidIO數(shù)據(jù)發(fā)送操作。另外,由于LINK口傳輸協(xié)議不包含數(shù)據(jù)長度,所以1次LINK口傳輸?shù)臄?shù)據(jù)長度不可能正好是256 B的整數(shù)倍。如果當(dāng)前FIFO內(nèi)有低于256 B的數(shù)據(jù),而當(dāng)前LINK口又沒有處于傳輸狀態(tài),也認(rèn)為LINK口完成了1次數(shù)據(jù)發(fā)送,這時也啟動一次RapidIO數(shù)據(jù)發(fā)送操作。
在每次啟動RapidIO數(shù)據(jù)發(fā)送操作之前,配置寄存器模塊會根據(jù)不同的DSP號將對應(yīng)的路由信息輸入給RapidIO的IP核。RapidIO的IP核負(fù)責(zé)將輸入的路由信息和數(shù)據(jù)一起打包并發(fā)送出去。
在RapidIO的數(shù)據(jù)接收端,當(dāng)RapidIO核接收到數(shù)據(jù)時,首先檢查數(shù)據(jù)包包頭中的目標(biāo)板ID號信息。如果目標(biāo)板ID號與本地的ID號一致,說明數(shù)據(jù)包是發(fā)往這個板卡的,然后RapidIO核將接收到的數(shù)據(jù)和DSP地址信息傳遞給數(shù)據(jù)分發(fā)狀態(tài)機(jī),由數(shù)據(jù)分發(fā)狀態(tài)機(jī)根據(jù)地址信息將數(shù)據(jù)分發(fā)到對應(yīng)的FIFO中。最后,由LINK口發(fā)送模塊將數(shù)據(jù)傳給目標(biāo)DSP。
這種將不同的信號相互交織在不同時間段內(nèi),沿著同一個信道傳輸,在接收端再用某種方法將各個時間段內(nèi)不同的信號提取出來的方式,類似于通信中的時分復(fù)用的機(jī)制。
2.4 功能仿真
為了驗證rapidIO IP核的邏輯功能和LINK口與rapidIO接口的轉(zhuǎn)換邏輯功能,將2個rapidIO核的td[3:0],rd[3:0]對接起來。其中一個rapidIO核的后端連接發(fā)送數(shù)據(jù)包的控制邏輯,另一個rapidIO核后端連接接收數(shù)據(jù)包的控制邏輯。將LINK口邏輯、接口轉(zhuǎn)換邏輯和rapidIO核邏輯串接起來,然后在數(shù)據(jù)發(fā)送端施加激勵信號,在數(shù)據(jù)接收端進(jìn)行數(shù)據(jù)檢驗。整個過程如圖4所示。
在仿真過程中,最關(guān)鍵的部分是驗證rapidIO核的邏輯功能。Altera公司提供的rapidIO IP核的邏輯層接口符合avalon總線的接口時序[4](avalon總線是由Altera公司提出,用于在基于FPGA的片上系統(tǒng)中連接片內(nèi)處理器和片內(nèi)外設(shè)的總線結(jié)構(gòu))。對rapidIO核的控制可以參照avalon規(guī)范[5]。
2.5 缺陷及解決方案
在系統(tǒng)中,每路LINK口實現(xiàn)300 MB/s的帶寬,如果6路LINK口同時發(fā)送數(shù)據(jù),總帶寬將達(dá)到14 Gb/s,已經(jīng)超出了RapidIO的IP核所能支持的最大帶寬。這時,RapidIO鏈路將成為數(shù)據(jù)傳輸?shù)钠款i,從而造成DSP的傳輸速率降低。另外,當(dāng)少于3個DSP發(fā)送數(shù)據(jù)時,又會造成RapidIO鏈路的浪費(fèi)。這像大城市中的交通一樣,在上下班高峰時道路會擁堵,在其他時間,道路又暢通無阻。生活中,很多人會避免上下班高峰時期出行。類似地,在使用此系統(tǒng)時,應(yīng)該盡量避免在一塊DSP板卡上同時發(fā)送6個DSP的數(shù)據(jù)到其他板卡。
本文提出了一種利用RapidIO技術(shù)搭建的可重構(gòu)的信號處理平臺,并簡要介紹了其邏輯功能的實現(xiàn)。該平臺的最大優(yōu)勢就是系統(tǒng)的可重構(gòu)性。使用這樣的信號處理平臺,DSP工程師可以根據(jù)不同算法的數(shù)據(jù)流向重新搭建出更加優(yōu)化的DSP網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而提高數(shù)據(jù)的傳輸效率。總之,可重構(gòu)的信號處理平臺能夠靈活地改變系統(tǒng)中DSP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以適應(yīng)各種數(shù)據(jù)流向的應(yīng)用,為用戶和國家節(jié)省大量的設(shè)備購買費(fèi)用和研發(fā)時間。
參考文獻(xiàn)
[1] FULLER S.RapidIO:The embedded system interconnect. Wiley,ISBN:978-0-470-09291-0,US.,2005.
[2] RapidIO Trade Association.RapidIO interconnect Specification Rev.2.0.www.rapidio.org,2008.
[3] BOUVIER D,RapidIO:The interconnect architecture for high performance embedded systems.www.rapidio.org,2009.
[4] Altera Corparation.RapidIO megacore function user guide. www.altera.com,2008.
[5] Altera Corparation.Avalon interface specification.www.altera.com,2008.
評論