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

關(guān)于PCIe協(xié)議中FPGA的實(shí)現(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個(gè)互連的設(shè)備采用事務(wù)的方式通信,,事務(wù)是指為實(shí)現(xiàn)設(shè)備間某種信息傳送。

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

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

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

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

  傳遞給軟件,,也就是對(duì)TLP進(jìn)行分裝和組裝。

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

  

o4YBAF0KA72AYln4AAEG18OxOLQ916.png

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

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

  

2.png

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


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