第2章:LabVIEW FPGA未来发展方向《LabVIEW ZYNQ FPGA宝典》

       2.1:NI的LabVIEW FPGA未来战略部署

        在展望NI公司的LabVIEW FPGA技术未来发展趋势之前,让我们先来回顾一下LabVIEW与FPGA的技术发展历程,如图2-1所示。可以看出,NI公司的LabVIEW FPGA软件一方面是跟随Xilinx最新的FPGA硬件可持续发展,另外一方面则是发展自己的IP核,同时开发出IPNet,类似开源软件社区,构建一个完善的生态圈,NI以及客户都可以将实际的工程应用案例、IP核、算法放在IPNet上面共享共助。

图2-1:LabVIEW FPGA发展历程

        NI正在加倍努力地开发LabVIEW FPGA及其相关的硬件产品,虽然LabVIEW FPGA已经帮助客户解决了很多FPGA技术难题,但是为了能够继续将FPGA技术提供给新的领域专家和工程师们使用,NI针对LabVIEW FPGA技术本身始终坚持以下几点:

  1. 对于一些由于编程和系统复杂程度原因而放弃考虑使用FPGA技术的工程师和科学家而言,为他们提供了一个可行方法。
  2. 跨越存在于顺序算法设计与并行FPGA实现之间的鸿沟。
  3. 通过抽象减轻实际数字设计的负担,使设计者能够关注更高层次、更为复杂的目标。
  4. 直观地表示仅仅适用于FPGA编程的并行、流水线、数据流设计方法。

        在未来20年中,对更高层次抽象以及更好开发工具的需求是显而易见的,特别是FPGA实现在不断蚕食曾经被应用程序专用集成电路(ASIC)所主导的市场。LabVIEW FPGA和各种NI FPGA硬件平台将会继续在嵌入式系统和测试与测量中,和NI的产品一起继续成长-NI官网。

        以上这段话是NI官方给出的答案,这里我们的结论是:NI的LabVIEW FPGA工具包会朝着两个方向发展,一是软件IP核算法的不断增加和更新,包括最新的5G算法、雷达仿真模型、电机模型、新型控制算法、CNN神经网络、自适应算法、多通道数字滤波器、人工智能、机器视觉算法等等;二是NI会持续推出基于Xilinx最新的FPGA芯片的RIO硬件平台,以适应越来越复杂的应用,将FPGA性能、参数、指标发挥到极致,将应用场合拓展到需要更高更强性能的领域,这类FPGA硬件会非常高端,甚至禁运。

       2.2:神电测控My_FPGA未来发展方向(高中低端,走量,专注细分行业)

        我们专注于通用型LabVIEW FPGA软件工具包的开发,FPGA硬件则交给客户自己定义。因此,我们未来的发展方向始终坚持的是My FPGA软件工具包IP核的开发,面向的客户群体则是需要能做项目或者产品走量,并且需要完善的软件和外设接口驱动IP的。通过图形化的LabVIEW方便客户自己集成,也就是更专注于细分行业,比如传统的工业自动化、运动控制、嵌入式开发、数据采集、信号处理、总线通信、物联网、边缘计算、人工智能、机器学习等需要FPGA注入新活力的领域。通常这类FPGA芯片性价比非常高,能够走量,可以实现传统MCU和MPU无法达到的性能。结合我们提供的My FPGA软件工具包里面的函数VI可以快速实现产品开发与原型验证。

        我们在软件开发方面会投入更多的精力,主要细分为以下几类。

  1. LabVIEW FPGA Communication工具包,顾名思义就是FPGA通信接口软件,包括UART串口、CAN总线、USB2.0、USB3.0、千兆以太网UDP/TCP、万兆SFP+光纤TCP、SPI、IIC、VGA、HDMI、RTC、EEPROM、Flash,目前已经完成。本书会着重告诉大家如果使用LabVIEW自己一个人同时开发ZYNQ芯片里面的PSARM)和PLFPGA)两部分的开发以及二者之间的通信和交互。
  2. LabVIEW FPGA Motion工具包,就是FPGA运动控制领域IP核,包括PID闭环控制算法、增量式编码器采集、SSI编码器采集、PWM脉冲生成、T型加减速、直线插补,多轴联合运动,目前已经完成。新增了带死区互补输出的PWM VI
  3. LabVIEW FPGA DAQ工具包,就是FPGA数据采集软件,包括8位、12位、16位、24位AD/DA芯片接口驱动、SD卡存储、脉冲宽度测量等,已经开发完成。新增了32位ADC芯片采集驱动VI。
  4. LabVIEW FPGA Vision工具包,就是FPGA图像视觉软件,目前已经开发完成了图像采集、视频传输,后续会重点开发图像处理算法IP核,目前已经完成全部开发。
  5. LabVIEW FPGA Signal工具包,即FPGA信号处理软件,包括信号生成、信号滤波、FFT与逆FFT变换、极坐标转换、三角函数、陷波器、信号测量等,开发完成。新增了FPGA端的滤波器系数自动加载VI

        我们所开发的通用型My FPGA工具包都是围绕着FPGA芯片展开的,可以最大程度节省硬件开发成本。My FPGA软件工具包对于Xilinx FPGA芯片的硬件支持,我们分为以下3个阶段。

        初级阶段:支持Spartan3E、Spartan6、Virtex5,目前已经开发完成。如图2-2所示。

        中间阶段:支持ZYNQ和ARTIX7,已于2019年7月份全部完成。

        高级阶段:支持Virtex7和KINTEX7,已经完成全部封装测试, 2019年10月完成。

        提升阶段:支持LabVIEW直接对7系列FPGA芯片里面的PCIe DMA IP核进行开发。提供一整套完整的LabVIEW FPGA PCIe/PXIe软硬件解决方案,包括下位机PCIe DMA程序开发、中间层固件代码开发、上位机LabVIEW/C#/C++程序开发。2020年9月完成。

        升华阶段:支持Xilinx ZYNQ芯片开发,也就是本书的重点内容。学完之后,用户能够自己独立自主的使用图形化的LabVIEW软件对ZYNQ芯片里面的PS(ARM)和PL(FPGA)程序开发,真正将芯片领域最难的SOC架构FPGA轻松拿下。

        注意:以上所有芯片不限制封装、引脚数量和速度等级。这样用户就可以根据实际需求选择不同封装和资源的FPGA芯片,多达上百种。

 

图2-2:已经开发完成的My_FPGA支持的芯片列表

        为了让客户更好的选择不同的FPGA芯片进行实际项目或者产品开发,我们将同一个系列里面不同的FPGA采取以下命名规则:芯片家族_具体型号_速度等级封装,例如本书我们重点用到的原子ZYNQ7020领航者开发板上的FPGA主芯片就是ZYNQ_XC7Z020_2CLG400,如图2-3所示。这样用户直接可以在LabVIEW里面选择对应的芯片,然后创建一个FPGA项目即可。一般FPGA芯片速度等级是2、3、4,我们取最常见的2和3,如果有用户需要用到4或者2L,也可以联系我们加进去。这本书重点讲解XilinxZYNQ芯片程序开发,所以这里我们把所有ZYNQ家族的FPGA目标终端设备全部新建出来,右击“我的电脑”,然后选择新建“终端和设备”即可,对应的项目浏览器,如图2-4所示。

图2-3:已经开发完成的My FPGA支持的芯片-命名规则(ZYNQ)

图2-4:新建出来的My FPGA(ZYNQ)目标终端设备-项目浏览器

        目前LabVIEW My FPGA ZYNQ Pro20工具包已经开发完成的ZYNQ配套案例程序多达100多个。为了方便讲解和演示,我们将ZYNQ范例程序分成PS(ARM)端例程和PL(FPGA)端例程两部分,其中,PL(FPGA)端的范例程序如图2-5所示,PS(ARM)端的范例程序如图2-6所示,但是二者内部是可以相互通信的,PS与PL的交互通信原理以及每个案例程序的编写过程、实现的功能可以参考后续第6~8章的实验详解部分。

图2-5:My FPGA工具包配套的ZYNQ里面的PL(FPGA)端案例实验程

(后续会持续补充)

图2-6:My FPGA工具包配套的ZYNQ里面的PS(ARM)端案例实验程

(后续会持续补充)

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值