了解NI 产品和技术的工程师也许印象最深的是它基于图形设计工具Labview。其实NI技术的强大在于其内部强大的FPGA。某种意义上讲,labview 是一种图形化FPGA 编程工具。正是产品中强大的FPGA 实现了该产品实时性,确定性的性能。从而使labview 能够应用与无线通信,电力电子等实时性要求很高的场合应用。

NI 与Xilinx 长期深度的合作。PXI 总线的设备的每个插卡上都具有一颗xilinx 的FPGA,在compactRIO 中,采用了单处理器+单颗FPGA 实现,处理器通过PCIe 总线与FPGA 连接。由于FPGA 具有动态下载bitstream 的能力,NI的labview 能够将它的图形化程序转换成为VDHL,verilog语言,借助于xilinx 的编译工具以及PCAP和iCAP接口实现HDL 的自动编译和下载。

Zynq-7000 SoC 在单芯片上将双核 ARM Cortex-A9 CPU 与一组丰富的标准 I/O 外设和 SoC 处理系统域中的多端口内存控制器结合在一起,可编程逻辑域中的 FPGA 架构。超过 2,000 个互连将处理系统连接到可编程逻辑。这提供了处理和可编程逻辑之间的高性能、低延迟通信、扩展、灵活性和能力,这是其他通过印刷电路板和总线(PCIe,CAN,Ethernet)将基于分立处理器的设备连接到 FPGA 的系统无法实现的。这种集成是基于 Zynq-7000 的 NI 平台的关键价值,处理系统和可编程逻辑之间的高性能、低延迟互连支持 16 个并行 DMA 通道和超过 300 MB/s 的功能带宽。

目前NI 在多种产品中使用Zynq 芯片。

  1. CompactRIO 控制器 – 高端软件定义控制器
  2. myRIO – 用于教育的RIO产品
  3. 单板RIO
  4. sbRIO-9651 SOM 核心板,用户可以借助于SOM 开发自己的RIO控制器。
  5. roboRIO – 机器人控制
  6. MXI-express RIO 多机箱的RIO,通过PCIe连接。

各种NI 硬件的架构

NI 公司的CompactRIO​系统​提供​了​高​处理​性能、​传感器​专用​I/​O​和​紧密​集成​的​软件​工具,​使​其​成为​工业​物​联​网、​监测​和​控制​应用​的​理想​之​选。

从下面的列表可见,cRIO 的各种型号采用了双核Intel Atom 处理器,或者Xilinx 公司的Zynq2020。

基于ZYNQ 的cRIO 的内部结构

基于ZYNQ 的cRIO 的内部结构如下,zynq 中的PL 作为背板FPGA,cRIO 的模块通过15 针D型插头连接。模块只含有ADC 转换,信号调理,隔离等电路。控制功能和算法都在FPGA 中实现的。

模块背板接口

cRIO的内部包含一颗FPGA 芯片。labview 的图形块可以在CPU 上以软件的形式运行,也可能转换成为HDL 语言,通过xilinx 的vivado 编译工具编译成为FPGA 的bitstream。下载到FPGA 中运行。这一颗FPGA 也称为背板FPGA(backbone FPGA)

拆解图片

模块

一些想法

基于模型的设计方法越来越多地受到人们的欢迎。matlab/simulink,labview 这种基于图形和算法的开发工具功能已经非常强大,逐步涵盖了各种高端应用领域。这些产品的设计理念和架构是值得学习和借鉴的。在工业控制领域的PLC,PAC和IoT 设备中可以吸取其中的设计思想。甚至医疗设备,实验室测量设备也可以采取这种方式来构建。

相比之下, 软件才是关键技术,好的软件将会影响用户习惯,甚至生活方式,不过也不比完全去模仿NI,可以采用多种已经普及的方式,比如使用Python 语言接口,这比较适合AI 等应用,           而IEC61499 功能块也能够替代NI 的vi 方式作为构建基于模型设计的控制器的图形设计方式,与labview 十分相似。

从Labview硬件平台看ZYNQ 的应用相关推荐

  1. 学习LabVIEW应看的几本书

    学习LabVIEW应看的几本书 前几天,看了"花开不谢"的博客,才知道NI在中国落户已经十年了,推算过来大概也就是1998年前后在中国落的户,那时中国的改革开放已经二十多年.NI在 ...

  2. Zynq linux启动过程,详解zynq的启动步骤

    本文主要介绍zynq启动过程,主要包括BootROM和FSBL等的执行过程. 硬件启动过程 1. 重新上电或POR复位后进行硬件启动过程 2. 扫描"启动引脚"设置,并存入只读寄存 ...

  3. 基于ZYNQ平台的powerlink接口平台搭建

    1,搭建powerlink接口所需硬件平台: · Zynq ZC702 board (used as openPOWERLINK MN) · AVNET expander board (AES-FMC ...

  4. labview 转标准c语言,如何将LabVIEW的VI转换为C语言代码

    工具链接: SDK: CrackTool: Manul: 如何将LabVIEW的VI转换为C语言代码 (2013-12-11 12:21:34) 如何将LabVIEW的VI转换为C语言代码? 这个问题 ...

  5. labview 转标准c语言,如何将LabVIEW的VI转换为C语言代码..docx

    如何将LabVIEW的VI转换为C语言代码 方法一:利用LabVIEW的C Generator工具包 下载安装LabVIEW 2012软件,下载LabVIEW工具包2012CGenerator.exe ...

  6. LabVIEW学习笔记(三)——程序结构

    前言: 任何计算机语言都离不开程序结构,LabVIEW 作为一种图形化的高级程序幵发语言也不例外.LabVIEW 中的程序结构包括if-else循环,while循环结构,使能结构,公式节点和数学脚本节 ...

  7. 花旗linux 内核 如何调试,揭秘首个运行在Linux平台的核心银行系统

    上个星期社区进行了一场直播,关于"新一代核心银行系统解决方案CBOD"--首个运行在Linux平台的核心银行系统. 国外上线Linux核心系统的银行已经不少,例如花旗银行在主机系统 ...

  8. 三易电子初级课程——计算器(正负号)

          近期初学Labview,看了三易电子初级课程,评论里面有许多人问正负号那部分程序怎么写,为此我将自己写的贴出来,供大家参考.       先说一下设计思路,声明一点,正负号默认就是负号,正 ...

  9. DS5解决 内存踩踏

    最近发现个问题:malloc出来的几组值(UINT32)总是发生变化,总有地方改他. 硬件平台:zynq 7045.软件平台 ucos II操作系统. 这种问题定位起来非常费劲,有可能数组越界,有可能 ...

  10. 博客文章总目录-祥瑞的技术博客

    直接点击标题进入文章. 博客文章总目录-邢翔瑞的技术博客 邮件地址:1057945230@qq.com 每日任务繁忙,如果博主能够解答的问题乐意解答.但是如果问题博主不太了解或者太过细节复杂,恕不能详 ...

最新文章

  1. 致所有IT工程师的信(网络工程师的发展方向)
  2. html分页首页上一页下一页,HTML静态分页(形如:首页,上一页,下一页,尾页)...
  3. (原創) 如何讀取/寫入文字檔? (IC Design) (Verilog)
  4. 一直使用管理员权限打开PowerShell
  5. win32 ——定时器消息 小程序:打印时间
  6. 编写可维护的javascript代码--- 2015.11.21(基本格式化)
  7. MYSQL数据库事务介绍
  8. ExtremeComponents源码解析(一)
  9. mac下的c语言程序开发,mac VS Code配置C语言开发环境(小白简单Clang版)
  10. speedoffice如何根据身份证号码提取出性别
  11. i春秋 - Exploit-Exercises: Nebula - level00
  12. OLED多级菜单记录
  13. aven 项目 pom.xml 第一行报错 Unknow。。。。。。。解决办法
  14. Google Paly 开发者账号需要注意的小细节
  15. android自定义view(三)绘制表格和坐标系
  16. fastjson 属性大写问题
  17. 文本域、标签、密码域、文本区、滚动窗格——文本输入
  18. Office文档在线编辑和预览服务搭建
  19. 基于MTK平台kpd驱动初步分析
  20. 和图片有关的几个旋转属性

热门文章

  1. 软件工程:第三章:可行性分析与需求分析
  2. 【新书推荐】【2018.07】计算电磁学的MATLAB仿真(第四版)
  3. 程序员交接文档格式(自己整理,仅供参考,付md文档)
  4. .Net 之时间轮算法(终极版)
  5. 使用Lingo求解简单的线性规划问题
  6. oracle加索引 oracle,Oracle索引创建及管理
  7. delphi与python_python和delphi哪个好
  8. 仿新浪微盾客户端项目简介一
  9. 水下通信方式以及WSN(无线传感器网络
  10. java applet_Java Applet 基础