说到图形化的LabVIEW直接开发FPGA芯片,很多非圈内人士估计不是很了解,其实这个技术已经发展近20年,用过LabVIEW的客户都很清楚这个FPGA工具包的强大与不完美的地方。本章我们就为大家重点讲清楚以下4个方面的问题:LabVIEW是什么?FPGA又是什么?NI公司当年为什么要开发LabVIEW FPGA软件工具包?我们(神电测控)为何要投入人力物力开发新的、通用的、更加开放的LabVIEW My FPGA工具包呢?
1.1:LabVIEW是什么?
要想搞清楚LabVIEW是如何开发FPGA的,就需要先了解LabVIEW这款通用的图形化编程软件的本质与核心。首先需要说明的是LabVIEW这款图形化编程软件并非是组态软件,它是真正意义上的,类似C语言一样的编程语言,俗称G语言,也就是Graph图形化编程语言。之所以说它是通用的,是因为LabVIEW可以实现像C一样的面向对象编程,还有就是LabVIEW可以自己开发自己,这一点非常重要。正是因为LabVIEW本质是类似C一样的语言,所以不仅可以在windows、linux和mac OS上开发程序,也能直接编写传统的嵌入式芯片程序,比如单片机、DSP、ARM、FPGA等。原理很简单,LabVIEW程序框图很容易转换为文本代码,然后借助不同厂家的编译器Compiler进行编译就可以下载到不同的芯片里面去运行了。图1-1显示的是LabVIEW可以直接运行的几种硬件平台,不管是PC桌面系统或是RT实时系统,还是传统的嵌入式芯片(ARM、DSP、FPGA),都可以利用LabVIEW直接编程。
图1-1:LabVIEW支持的硬件开发平台
关于LabVIEW的定义,我想最权威的莫过于NI官方给出的说明,大家可以登录NI官网(ni.com),然后搜索关键字“LabVIEW”,就可以看到下面一段文字。
“LabVIEW是专为工程师和科研人员设计的集成式开发环境。LabVIEW的本质是一种图形化编程语言(G),采用的是数据流模型,而不是顺序文本代码执行,使您能够根据思路以可视化的布局编写功能代码。这意味着您可以减少花在语句和语法的时间,而将更多的时间花在解决重要的问题上。”-NI官网
这里面有几个重要的关键字,体现出了LabVIEW与文本编程语言最大的不同,就是数据流与可视化编程,不需要记忆太多语法,集中精力放在问题的解决上面。这一点对于传统嵌入式开发尤为重要,可以帮助客户节约大量的开发时间成本。因为传统嵌入式基本没有交互GUI,而LabVIEW可以做到边开发边实现GUI的功能。
目前LabVIEW的版本非常多,有