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