利用RapidIO技術搭建的可重構信號處理平臺
2.3 FPGA內部的邏輯設計
在DSP板卡上有一塊Altera公司的Stratix IIGX系列的FPGA芯片。這塊FPGA芯片專門用來實現LINK口與RapidIO接口之間的數據轉換,將6路LINK口數據整合到1路RapidIO通路中。數據接收和發送的邏輯結構如圖3所示。本文引用地址:http://www.104case.com/article/173319.htm
當DSP發送數據時,FPGA的LINK口接收模塊將收到的數據緩存到FIFO中,數據輪詢狀態機按順序檢查FIFO的存儲狀態。當FIFO內的數據滿足RapidIO包最大負載(256 B)時,啟動1次RapidIO數據發送操作。另外,由于LINK口傳輸協議不包含數據長度,所以1次LINK口傳輸的數據長度不可能正好是256 B的整數倍。如果當前FIFO內有低于256 B的數據,而當前LINK口又沒有處于傳輸狀態,也認為LINK口完成了1次數據發送,這時也啟動一次RapidIO數據發送操作。
在每次啟動RapidIO數據發送操作之前,配置寄存器模塊會根據不同的DSP號將對應的路由信息輸入給RapidIO的IP核。RapidIO的IP核負責將輸入的路由信息和數據一起打包并發送出去。
在RapidIO的數據接收端,當RapidIO核接收到數據時,首先檢查數據包包頭中的目標板ID號信息。如果目標板ID號與本地的ID號一致,說明數據包是發往這個板卡的,然后RapidIO核將接收到的數據和DSP地址信息傳遞給數據分發狀態機,由數據分發狀態機根據地址信息將數據分發到對應的FIFO中。最后,由LINK口發送模塊將數據傳給目標DSP。
這種將不同的信號相互交織在不同時間段內,沿著同一個信道傳輸,在接收端再用某種方法將各個時間段內不同的信號提取出來的方式,類似于通信中的時分復用的機制。
評論