基于FPGA實(shí)現(xiàn)DSP與RapidIO網(wǎng)絡(luò)互聯(lián)
1. 數(shù)據(jù)讀寫(xiě)控制產(chǎn)生電路在數(shù)據(jù)寫(xiě)時(shí)根據(jù)輸入管腳中的片選信號(hào)、寫(xiě)信號(hào),將DSP 要寫(xiě)入Avalon 總線(xiàn)的地址及數(shù)據(jù)寫(xiě)入host_address_fifo 中。當(dāng)是數(shù)據(jù)讀時(shí),根據(jù)輸入管腳中的片選信號(hào)、讀信號(hào),將DSP 要寫(xiě)入Avalon 總線(xiàn)的地址寫(xiě)入host_addrfifo 中,同時(shí)產(chǎn)生數(shù)據(jù)讀等待信號(hào),當(dāng)從host_readdata_fifo 總線(xiàn)讀到數(shù)據(jù)后,該電路撤銷(xiāo)讀等待信號(hào),并將得到的數(shù)據(jù)送入TS101 的數(shù)據(jù)總線(xiàn)。
2. host_address_fifo 模塊完成在TS101 控制系統(tǒng)總線(xiàn)時(shí),DSP 接口時(shí)鐘到Avalon 總線(xiàn)地址及寫(xiě)入數(shù)據(jù)的換時(shí)鐘控制。
3. host_readdata_fifo 模塊完成在TS101 控制系統(tǒng)總線(xiàn)時(shí),Avalon 總線(xiàn)到DSP 接口總線(xiàn)的讀入數(shù)據(jù)的換時(shí)鐘控制。
4. 數(shù)據(jù)讀控制狀態(tài)機(jī)電路部分完成TS101 的讀控制信號(hào)的產(chǎn)生,以及讀到的數(shù)據(jù)信號(hào)的存儲(chǔ)控制。
4.4 Avalon Master 模塊
Avalon_Master 模塊設(shè)計(jì)一個(gè)狀態(tài)機(jī)控制電路,完成在Avalon 總線(xiàn)上的地址、Byteenable、讀寫(xiě)控制信號(hào)、讀數(shù)據(jù)信號(hào)和寫(xiě)數(shù)據(jù)信號(hào)的產(chǎn)生與控制處理。同時(shí)還有等待讀數(shù)據(jù)到來(lái)以及讀數(shù)據(jù)確認(rèn)工作。
4.5 Avalon Slave 模塊
Avalon_Slave 模塊是一個(gè)Avalon 總線(xiàn)的從設(shè)備,它可接收Avalon 總線(xiàn)上其它主設(shè)備發(fā)送過(guò)來(lái)的數(shù)據(jù)寫(xiě)請(qǐng)求、數(shù)據(jù)讀請(qǐng)求,同時(shí)將從通過(guò)Host 接口讀到的數(shù)據(jù)按相應(yīng)的總線(xiàn)規(guī)則送到數(shù)據(jù)總線(xiàn)上,同時(shí)產(chǎn)生數(shù)據(jù)有效信號(hào)。由于這里的設(shè)計(jì)采用可變讀等待設(shè)計(jì),同時(shí)還需要完成對(duì)TS101 數(shù)據(jù)讀取換鐘轉(zhuǎn)換。該模塊主要由以下三部分構(gòu)成:
1. ts101_slave_address_fifo 模塊模塊完成在Avalon 總線(xiàn)上的主設(shè)備控制系統(tǒng)總線(xiàn)時(shí),Avalon 總線(xiàn)到DSP 總線(xiàn)的地址及寫(xiě)入數(shù)據(jù)的換時(shí)鐘控制。
2. ts101_slave_readdata_fifo 模塊模塊完成在Avalon 總線(xiàn)上的主設(shè)備控制系統(tǒng)總線(xiàn)時(shí),DSP 總線(xiàn)到Avalon 總線(xiàn)的讀入數(shù)據(jù)的換時(shí)鐘控制。
3. 數(shù)據(jù)讀控制電路部分完成讀數(shù)據(jù)的確認(rèn)以及讀值有效信號(hào)的產(chǎn)生。
4.6 Host Slave 模塊
Host_Slave 模塊為一個(gè)控制狀態(tài)機(jī)電路,它根據(jù)Avalon_Slave 模塊提供的信號(hào)完成對(duì)DSP 的主總線(xiàn)控制請(qǐng)求,帶發(fā)送信號(hào)的組織,發(fā)送和接收信號(hào)的確認(rèn)接收,包括產(chǎn)生HBRN信號(hào),并根據(jù)HBGN 信號(hào)的狀態(tài)產(chǎn)生讀寫(xiě)控制信號(hào)、讀寫(xiě)地址信號(hào)、寫(xiě)數(shù)據(jù)信號(hào)以及從DSP中讀回待接收的讀數(shù)據(jù)信號(hào)。
?。担?功能測(cè)試
目前,Altera 的RapidIO IP 核支持的RapidIO 事務(wù)有:讀操作NREAD 請(qǐng)求和響應(yīng),寫(xiě)操作NWRITE 請(qǐng)求,帶響應(yīng)的寫(xiě)操作NWRITE_R 請(qǐng)求和響應(yīng),流寫(xiě)(SWRITE)請(qǐng)求,維護(hù)(MAINTENANCE)讀請(qǐng)求和相應(yīng),維護(hù)(MAINTENANCE)寫(xiě)請(qǐng)求和響應(yīng),維護(hù)(MAINTENANCE)端口寫(xiě)請(qǐng)求,門(mén)鈴(DOORBELL)請(qǐng)求和相應(yīng)。在實(shí)際的測(cè)試中,將這個(gè)電路板和Mercury 公司Ensemble MPQ-101 同時(shí)安裝在Silicontkx 的串行RapidIO 開(kāi)發(fā)平臺(tái)上,結(jié)果證實(shí)DSP 通過(guò)轉(zhuǎn)接橋邏輯控制RapidIO IP 核,已經(jīng)實(shí)現(xiàn)了所有的這些事務(wù)。
6. 總結(jié)和展望
RapidIO 作為下一代嵌入式互聯(lián)技術(shù),在國(guó)內(nèi)的信號(hào)處理平臺(tái)上的運(yùn)用越來(lái)越廣泛。但是目前很多處理芯片不具有RapidIO 的接口。利用FPGA可以方便快速定制一個(gè)合適的接口,為RapidIO 網(wǎng)絡(luò)增添各種豐富的節(jié)點(diǎn)。同時(shí),本文給出了實(shí)現(xiàn)這個(gè)轉(zhuǎn)接橋的思路做了詳細(xì)討論,這樣不同的DSP,甚至CPU 都可以利用這種思路來(lái)接入RapidIO 網(wǎng)絡(luò)。
在目前的設(shè)計(jì)中,一個(gè) FPGA 為一個(gè)DSP 提供轉(zhuǎn)接橋邏輯,過(guò)于浪費(fèi)FPGA 的資源。在緊接下來(lái)的設(shè)計(jì)中,我們將4 片DSP 組成一簇接入FPGA,從而提高單板的處理能力,同時(shí)提高了FPGA 的利用率。
評(píng)論