天天看點

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

1、提到PCIe總線通信,相信很多接觸過PCIe或PXIe闆卡的使用者估計都有所了解過,相對于傳統的序列槽、USB和千兆以太網通信協定,PCIe協定本身可以實作更高數量級的總線通信帶寬,比如目前Xilinx FPGA KU家族晶片内置的PCIe IP核可以做到6.6GB/s,這樣對于那些需要超高帶寬的RF射頻、數字化儀、高速流盤等應用領域FPGA就有了絕對無法替代的優勢了。這也是目前FPGA成為全球最火的晶片原因之一,真正的萬能晶片!

2、從硬體接口的實體形式出發,一般帶PCIe通信接口的闆卡要麼直接插到工控機或者普通PC的PCIe插槽裡面,目前常見的PCIe插槽,有X1、X2、X4、X8、X16,實際的實體接口如圖7-1所示。其中,X16向下相容其他位寬的端口,也就是說數字越大,向下相容性越好。另外,位寬越大,通信速度就越高,比如PCIe 2.0 X8接口可以實作6.6GB/s的傳輸速度;細心的使用者發現,一般的主機闆上還有一些古老的PCI插槽,其中,PCIe插槽跟PCI插槽底座形狀上的最大不同之處,PCIe小端口位于左邊,PCI小端口位于右邊,使用者千萬别接錯了!不過随着技術的發展,PCI早晚會被PCIe全部替換掉。

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

圖7-1:常見的PC或者工控機裡面不同位寬的PCIe插槽

3、如果使用者希望自己的硬體也具備PCIe通信,一般有兩種實作方法:一是采用專用的PCIe晶片,就像USB外置專用晶片(Cypress、FT232)那樣,這樣處理器那一端可以自由選擇的餘地就很大了,比如ARM、DSP、FPGA都可以,因為PCIe通信這塊交給了專用ASIC晶片來完成了,簡化了MCU端的程式設計複雜度;另外一種,就是直接采用内置了PCIe硬核IP的FPGA晶片,直接在FPGA晶片内部搞定PCIe所有的通信過程,那麼與之對應的FPGA PCIe硬體闆卡或者開發闆通常長什麼樣子呢?這裡使用者可以看一下圖7-2展示的實物圖,這塊開發闆是帶PCIe X4接口的黑金ARTIX7 FPGA開發闆(AX7103),也就是本書(LabVIEW My FPGA Pro4)配套的實驗平台;圖7-3是帶PCIe X8接口的黑金AX7325 FPGA開發闆(Kintex7),是我們下一本書(Pro5)配套的K7實驗平台。

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

圖7-2:帶PCIe X4接口的ARTIX7 FPGA開發闆(AX7103)

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

圖7-3:帶PCIe X8接口的Kintex7 FPGA開發闆(AX7325)

4、除了PCIe實體接口外,還可以将PCIe內建到PXIe接口裡面,然後插到PXI或者PXIe機箱背闆上,如圖7-4所示。因為PXIe的硬體實作成本要比PCIe高很多,而且需要結合PXIe機箱才能玩起來,是以從低成本的角度出發,選擇PC或者工控機作為載體,接入PCIe的方案無疑是一種成本效益更高的解決方案;當然,PXIe支援在多個闆子之間直接P2P互聯透傳等需要更複雜的應用時,具有一定的優勢。目前國内做PXIe機箱和闆卡種類比較齊全的是簡儀科技,當然,全球最大的PXIe廠商當屬NI公司。

LabVIEW FPGA PCIe開發講解-7.1節:FPGA PCIe/PXIe基礎知識和概念概述

圖7-4:NI PXI機箱和PXIe FPGA 7902光纖通信闆卡(內建Virtex7 FPGA)

5、無論是PCIe接口還是PXIe接口,底層走的通信協定本質上都是PCIe協定,是以在本章後續的内容裡面,我們統一以PCIe總線通信協定作為代表,覆寫了PXIe闆卡等硬體,因為PXIe就是在PCIe的基礎上人為添加了一些獨立的數字IO接口,作為一些補充功能使用:比如時鐘路由,外部觸發導入,内部時鐘輸出,觸發生成等等。對于FPGA來說,無非就是操作一下IO口,是以PXIe實際上很簡單,因為我們的LabVIEW FPGA可以實作對FPGA IO在任意時鐘周期内的操作和控制。

6、本書重點是教會使用者使用LabVIEW來開發FPGA晶片裡面的PCIe DMA通信程式,然後自己根據實際項目和産品功能需求,購買通用的FPGA闆子或者使用FPGA核心闆+底闆的方式,來擺脫NI、簡儀、淩華等這些廠商的硬體控制,真正做到硬體自由化,軟體開發圖形化,移植成本代價最小化,綜合效益最大化;同時也是為了下一步純國産化FPGA方案提供了切實可行的方案,比如使用者可以選擇深圳國微或者上海複旦微電子的K7、V7晶片來代替Xilinx的FPGA晶片,然後做出百分百國産化帶PCIe DMA高速接口的自定義LabVIEW FPGA闆卡出來,真正為軍工企業或者有可能被卡脖子的行業做出一份貢獻!!!

繼續閱讀