《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 業(yè)界動態(tài) > 關(guān)于PCIe協(xié)議中FPGA的實現(xiàn)

關(guān)于PCIe協(xié)議中FPGA的實現(xiàn)

2019-06-19
關(guān)鍵詞: PCIe FPGA

  PCIe鏈路協(xié)議使用“端到端的數(shù)據(jù)傳送方式”,發(fā)送端和接收端中都含有TX(發(fā)送邏輯)和RX(接收邏輯)。PCIe協(xié)議采用分層結(jié)構(gòu),分為事務(wù)層、數(shù)據(jù)鏈路層和物理層 。PCIe中2個互連的設(shè)備采用事務(wù)的方式通信,事務(wù)是指為實現(xiàn)設(shè)備間某種信息傳送。

  而定制的由一個或者若干個包組成的發(fā)送序列,事務(wù)通過事務(wù)包(TLP) 具體實現(xiàn)。協(xié)議每層的功能如下:

  1、物理層(PhysicalLayer):電氣特性,使用兩個單向的低電壓差分對信號實現(xiàn)數(shù)據(jù)傳輸,同時也承擔(dān)8b/10b的數(shù)據(jù)編解碼,即在PCIe鏈路上的10 bit中含有8 bit的有效數(shù)據(jù)

  2、數(shù)據(jù)鏈路層(DataLink Layer):對該層傳輸?shù)腡LP進行組裝和分拆,作為中間層為上下兩層服務(wù)。

  3、事務(wù)層(TransactionLayer):接受從軟件方送來的請求,并生成請求包傳輸?shù)綌?shù)據(jù)鏈路層。同時接受從數(shù)據(jù)鏈路層傳來的數(shù)據(jù)包,

  傳遞給軟件,也就是對TLP進行分裝和組裝。

  PCIE協(xié)議通信框圖如下:

  

o4YBAF0KA72AYln4AAEG18OxOLQ916.png

  用戶邏輯與PCI Express事務(wù)層接口直接連接,可發(fā)送或接收事務(wù)層數(shù)據(jù)包用以實現(xiàn)BAR(基址地址寄存器)空間訪問功能和DMA讀寫功能。計算機對板卡BAR空間的memory讀寫即為 CPU( 計算機) 發(fā)出存儲器映射地址寫寄存器的命令,該命令包括了存儲器映射地址字節(jié)使能和寄存器內(nèi)容,PCIe相應(yīng)的TLP 端點 接收該TLP并將寄存器內(nèi)容寫到對應(yīng)的本地寄存器后,事務(wù)結(jié)束。

  當(dāng)CPU發(fā)出存儲器映射地址讀寄存器的命令,該命令包括了存儲器映射地址字節(jié)使能,生成相應(yīng)的TLP, 端點收到該TLP后會生成響應(yīng)TLP( 包含數(shù)據(jù)) 完成包傳送,提取其有效載荷并賦值給指定寄存器后,事務(wù)結(jié)束。 用戶邏輯設(shè)計結(jié)構(gòu)如圖2所示:

  

2.png

  上圖中PCIe集成端點模塊核可以在FPGA中直接使用PCIe的IP核實現(xiàn),我們需要在FPGA中自已實現(xiàn)的主要是上圖中與PCIe IP核相連接的部分幾個模塊。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。