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