天天看点

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板卡出来,真正为军工企业或者有可能被卡脖子的行业做出一份贡献!!!

继续阅读