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