基于FPGA實現的高速串行交換模塊實現方法研究
3 高速串行交換模塊的基本原理
3.1 RapidIO協議到PCIE協議的轉換
RapidIO協議到PCIE協議交換分為3個步驟:
(1)根據串行RapidIO協議將打包數據解析;
(2)將解析的數據緩存在乒乓使用的存儲器中,可以使用片外ZBTSRAM也可以使用片內RAM資源;
(3)數據根據PCIE協議規定的方式打包,并按照PCIE協議發送出去。
RapidIO與PCIE交換原理圖如圖3。本文引用地址:http://www.104case.com/article/191698.htm
3.2 光纖協議到PCIE協議的轉換
光纖協議使用的自定協議較RapidIO協議簡單得多,因此實現原理也簡單很多。從光纖協議到PCIE協議交換分為3個步驟:
(1)根據光纖自定義協議將打包數據提取;
(2)將解析的數據緩存在乒乓使用的存儲器中,可以使用片外ZBTSRAM也可以使用片內RAM資源;
(3)數據根據PCIE協議規定的方式打包,并按照PCIE協議發送出去。
光纖與PCIE交換原理圖見圖4。
4 交換模塊實現的關鍵技術
在此交換模塊中,關鍵技術集中在PCIE的DMA實現上,本節將討論存儲器寫模式下的TLP結構以及基于FPGA實現的PCIE的DMA寫操作核心狀態機的設計與實現。
4.1 TLP結構簡介
PCIE設備之間以數據包形式傳送信息,最主要類型的數據包是處理層數據包TLP。其包格式如圖5。
事務是在PCIE請求者和完成者之間進行的操作,包括存儲器事務、IO事務、配置事務和消息事務。本文討論的DMA讀寫操作是針對存儲器空間的操作,存儲器寫操作TLP頭的格式如圖6。
4.2 PCIE的DMA寫操作的設計與實現
PCIE的DMA寫操作實現的主要方法是將TLP包頭中的各個字段正確填充,并將數據按照64 bit或者32 bit并行放在TLP包頭后,按照64 bit或者32 bit并行傳輸給PCIE硬核,由硬核以PCIE協議串行傳輸給其他設備。PCIE的寫操作封裝在TX模塊的狀態機中。在本設計中規定一次DMA寫操作分為65 536次包傳輸,每次包傳輸的最大載荷為128 B,一次寫操作的傳輸數據為8 MB。其狀態機轉換模型如圖7(CPLD指返回完成包)。
評論