1、引言:神电测控为什么要做支持LabVIEW直接编程的树莓派+PCIe+FPGA国产化cRIO(图形化、国产化、定制化、模块化、成本化)
在很多嵌入式设备里面,除了FPGA外,一般还会存在一个运行实时系统的控制器,比如NI的cRIO设备,就是其中一种典型的代表。这种设备跟我们平时将FPGA插到电脑或者工控机上有些许不同,电脑和工控机主板上的CPU一般都是Intel X86结构,运行的系统一般都是非实时的Windows系统,这种主板的功耗和体积一般都比较大。
随着ARM内核的兴起,小型嵌入式设备逐步崛起,并且性能甚至超过了X86芯片,比如4核Cortex-A72,主频1.5G的树莓派ARM芯片,就是其中之一。ARM芯片非常适合跑嵌入式系统,比如开源的Linux系统(Ubuntu、Debian和Raspbian)。目前市面是上跑Linux系统销量最高的莫过于树莓派了,号称口袋计算机,相信很多人听说过。
好消息是,最新的树莓派开始往工业界渗透了,出现了工业级树莓派CM4(具体内容我们在后面给大家介绍),上面开始支持PCIe接口,这个PCIe接口不仅提高了树莓派跟其他外设之间的传输带宽,也给我们做FPGA嵌入式开发的工程师带来了福音,我们将Pro4开发宝典里面的FPGA板卡通过PCIe线缆直接接到树莓派主板上,这样就实现了一个类似于NI的cRIO控制器架构。
而Linux系统的程序开发,相信很多工程师都不会,所以我们选择LabVIEW直接编写Linux程序,极大的降低了开发门槛,加上我们一直以来的LabVIEW My FPGA软件工具包搞定了FPGA芯片里面的程序开发,这样二者一结合,一个人就能使用LabVIEW搞定Linux和FPGA的编程了,想要快速做出一个带FPGA高速处理的边缘计算盒子,也就是半天的功夫。更为重要的是,可以极大的降低硬件开发和设计成本,相对于NI的cRIO来说,硬件成本不到十分之一。而且树莓派和FPGA都是模块化的,树莓派的核心板,网上一大堆,白菜价,还是工业级的,FPGA的核心板也是一样,性价比都是极高的。
说到cRIO控制器架构,估计没有接触过NI的用户不是很了解,下面我们专门给用户讲解一下NI的cRIO控制器为什么受大家喜爱,有哪些特点值得我们学习。
2、NI cRIO控制器架构、优势、特点(RT OS+FPGA+Module)
NI公司最出名的莫过于PXI机箱和PXI控制器,这种设备在复杂环境下的抗干扰能力有限,于是在很多年前,NI创始人Dr.T开始规划和设计了一种全新的兼顾性能、可靠性、模块化、支持LabVIEW图形化编程的控制器,称之为compact RIO,简称cRIO。
下面,我们给出几种NI常见的cRIO设备实物照片和软件开发示意图,如图9-1~9-5所示。
图9-1:NI Compact RIO软硬件产品示意图

图9-2:NI cRIO控制器里面的Linux RT和FPGA均支持LabVIEW图形化编程
图9-3:NI新款cRIO控制器侧面解剖示意图
图9-4:NI新款cRIO控制器正面解剖示意图
图9-5:NI cRIO软件开发示意图
这些cRIO设备由3部分构成:运行实时系统的CPU、机箱背板上的FPGA、各种功能模块。可以通过一幅系统框架来阐明cRIO设备的架构,如图9-6所示。
图9-6:NI cRIO系统组成框图
CPU:相当于大脑。早期的cRIO里面的控制器采用的是飞思卡尔PowerPC架构的CPU,跑VxWorks实时系统;随着ARM芯片的兴起,现在的cRIO控制器部分基本上都是ARM内核和X86 CPU,跑的是开源的Linux实时系统,简称Linux RT;当然也可以在里面跑Windows系统。当下和未来,Linux RT将是NI重点发展的方向,毕竟Linux开源和免费。
FPGA:相当于神经中枢。这个是cRIO里面最核心的部件,不同于市面上其他家的硬件,因为NI开发了LabVIEW FPGA工具包,可以直接对FPGA进行图形化编程,所以在cRIO里面集成FPGA,可以有效的解决并行和高速信号采集、处理、闭环控制等问题,极大的降低了RT里面的程序压力;同时解放了Linux RT里面的外设驱动编写,FPGA作为连接RT和模块之间的桥梁,可以将功能模块采集的数据直接通过PCIe或者AXI总线(ZYNQ)传输到Linux系统里面;也可以承担复杂的、对速度响应要求极高的任务执行以及对原始的数据进行高速处理,比如滤波,FFT,数值特征提取等等;FPGA既能起到桥梁的作用,还可以做CPU做不到的事情,一举两得。
功能模块:相当于手、脚和感官。NI针对cRIO开发了几百种功能模块,其功能覆盖了目前所有已知领域:数据采集、运动控制、信号生成、图像视觉、总线通信,更是在风电、能源、健康状态监测、资产监测、HIL硬件在环、模型仿真有着诸多的应用和案例。
总结:RT系统适合跑一些us级的任务,FPGA可以做多个并行的ns级的任务,功能模块负责输入和输出,也就是I/O。
可以看出,NI发明的cRIO设备有着许多其他厂商控制器无法取代的优势:
 充分发挥出Linux实时系统和FPGA并行计算的优势,二者结合基本上可以搞定80%的工程应用问题;us级的任务代码交给Linux RT处理,ns级的程序交给FPGA搞定,通力合作干掉市面上所有PAC控制器。
 支持LabVIEW图形化编程,Linux RT和FPGA里面的所有代码都可以采用LabVIEW编程,并且NI有着比Matlab更多更全面、极为丰富的软件工具包和各种算法VI,都可以直接编译部署下载到RT和FPGA里面运行,这个也是NI为人类贡献的宝贵财富。
 几百种功能模块可以自由组合,任意插拔,给不同行业的客户提供了快速的解决方案,就像乐高机器人那样,只要用户有好的idea,cRIO都能帮大家快速实现。
讲了这么多NI cRIO设备的优势,大家是不是都有点心动了,是不是想在自己现在或者今后的项目当中也试试cRIO呢?cRIO确实是个好东西,可惜价格太贵了,对于一般的公司和个体户来说,cRIO几~十几W的价格还是一座难以逾越的大山,毕竟我们是发展中国家,美国是发达国家,由于汇率和人民生活水平的原因,导致了NI硬件昂贵的感觉。
一个项目本身可能也就十几W的预算,如果全部被硬件占用的话,基本上大家就不用干了。所以我们这本书(Pro5)就是给用户开辟了一条另辟蹊径的道路,并且经过很多企业客户的实践证明是可行的,那就是接下来我们要向大家介绍的国产化cRIO。
无论是NI的cRIO设备还是我们这里提到的国产化cRIO,核心本质和灵魂都是前面介绍的那一套框架:Linux RT+PCIe+FPGA+Module。并且我们提出的由树莓派(英国Raspberry)或者RK3399(中国)+PCIe+FPGA实现的控制器跟NI本身没有版权冲突,用户可以放心自由的开发和使用。

《LabVIEW FPGA开发宝典》第9章:利用树莓派Linux RT+FPGA PCIe实现国产化RIO相关推荐

  1. linux fpga 开发板,香蕉派BPI-F2S ,四核Linux工业级应用的开源硬件开发板,FPGA教学套装...

    香蕉派BPI-F2S 是 香蕉派团队 and 凌阳科技首次合作开发的一款工业级应用的开发板, 使用SP7021芯片设计.具有高性能,低功耗的特点; 内嵌 Linux Embed 系统,适合于语音图像处 ...

  2. Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)

    对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译 以下步骤均在PC端虚拟机上完成 准备材料:PC端虚拟机.树莓派交叉编译工具.树莓派内核(交叉编译工具.内核下载步骤见树莓派内核源码) ...

  3. FPGA开发全攻略——概念篇

    原文链接: FPGA开发全攻略连载之一:FPGA为什么这么热? FPGA开发全攻略连载之二:为什么工程师要掌握FPGA开发知识? FPGA开发全攻略连载之三:FPGA基本知识与发展趋势(part1) ...

  4. FPGA开发全攻略——ISE基本操作

    原文链接: FPGA实战开发技巧(2) FPGA开发全攻略连载之十二:FPGA实战开发技巧(3) FPGA开发全攻略连载之十二:FPGA实战开发技巧(4) 5.2 如何进行FPGA设计早期系统规划 作 ...

  5. (08)FPGA开发软件

    (08)FPGA开发软件 1 文章目录 1)文章目录 2)FPGA入门与提升课程介绍 3)FPGA简介 4)FPGA开发软件 5)技术交流 6)参考资料 2 FPGA入门与提升课程介绍 1)FPGA入 ...

  6. 为什么工程师要掌握FPGA开发知识?

    作者:张国斌.田耘 2008 年年初,某著名嵌入式系统IT 公司为了帮助其产品售后工程师和在线技术支持工程师更好的理解其产品,举行了ASIC/FPGA 基础专场培训.由于后者因为保密制度而只能接触到板 ...

  7. 基于DE2-115 FPGA开发板的VGA显示

    文章目录 一.VGA简介 二.基于DE2-115 FPGA开发板的VGA显示 一.VGA简介 VGA的全称是Video Graphics Array,即视频图形阵列,是一个使用模拟信号进行视频传 输的 ...

  8. 全志A40i+Logos FPGA开发板(4核ARM Cortex-A7)硬件说明书(下)

    前 言 本文档主要介绍板卡硬件接口资源以及设计注意事项等内容,测试板卡为创龙科技旗下的全志A40i+Logos FPGA开发板. 核心板的ARM端和FPGA端的IO电平标准一般为3.3V,上拉电源一般 ...

  9. 三、1【Verilog HDL】基础语法快速入门(FPGA开发)

    参考资料: 参考野火FPGA开发视频的基础语法:[野火]FPGA系列Xilinx Artix7教学视频,真正的手把手教学,"波形图"教学法,现场画波形图写代码,硬件基于野火FPGA ...

  10. 【紫光同创国产FPGA教程】【第二章】LED流水灯实验及仿真

    原创声明: 本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com). 适用于板卡型号: PGL22G/PG ...

最新文章

  1. elementui datetimepicker 移动端_在 Gitee 收获 2.5K Star,前后端分离的 RuoYi 它来了
  2. Struts2中的struts.multipart.saveDir的配置
  3. 如何通过Keil将程序正确的下载进flash中
  4. 评奖.婚礼及“形而上”
  5. Mysql异常问题排查与处理——mysql的DNS反向解析和客户端网卡重启
  6. Java自动切表_java_Mybatis自动创建表和更新表结构,最近有小伙伴问我mybatis有没有 - phpStudy...
  7. 关于spring的事务管理(单数据库):纯属猜测。
  8. Stanford NLP 第六课: Long Short Term Memory
  9. 数据结构上机实践第二周项目1
  10. Javascript第六章JavaScript中构造器创建对象第二课
  11. Linux多线程同步之相互排斥量和条件变量
  12. JAVA代码 httpclient 模拟NTLM域登录 GET、POST两种连接方式
  13. 脑筋急转弯合集,主治心情不好!开心一笑
  14. 中国砷化镓产业链调研与投资战略报告(2022版)
  15. P2010 [NOIP2016 普及组] 回文日期
  16. java链接ev3_乐高机器人ev3 usb连接电脑方法lejos
  17. 桥接模式+C#发送邮件+配置文件
  18. emouse思·睿—评论与观点整理之三
  19. python生产式系统动物识别_在MES生产管理系统中,人脸识别技术以什么形式存在?...
  20. ant design vue全局引用一直提示没有isMoment参数的问题

热门文章

  1. 技术员 Ghost Win 7 Sp1(x86/x64)装机版/纯净版 201808
  2. win7IE10和win7IE11浏览器更新所需补丁全套【附安装流程】
  3. 『号外号外』WoS数据库更新后导入VOSviewer出错的原因
  4. Activity-GalleryView
  5. 《Android框架揭秘》——2.5节应用程序Framework源码级别调试
  6. JAVA计算机毕业设计宠物医院管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  7. 单片机音频谱曲软件_单片机音乐代码转换软件(Music Encode)
  8. mac 自带连接ftp服务器,Mac自带FTP工具使用
  9. 麦子学院3天带你学会Apple Watch开发
  10. 极光IM简单接入步骤