为您下一个嵌入式项目或想法创建功能原型系统是得到预算和从高层管理获得批准的重要步骤。在开始原型开发之前,考虑一下您所有需要的工具。另一个需要记住的重要原则是原型开发应该足够快速,不应该在原型系统上花费过多的时间,投入过多的资源。
使用NI提供的图形化系统设计工具,用户可以快速对嵌入式设计开展原型开发。NILabVIEW图形化开发环境提供了与商业硬件的兼容性,其中包括内建处理器、现场可编程门阵列(FPGA)以及I/O,用户可以更快地对嵌入式设计进行原型开发,无论应用设计医疗、绿色、机器人或是其他快速发展的领域。在原型开发流程中有许多步骤,从构建软件体系结构、到连接传感器和致动器、再到开发人机界面(HMI)原型。考虑以下八个概念,学习用户如何在对设计进行原型开发的每个流程中更快地使用图形化系统设计工具。
从高级软件环境着手
在嵌入式市场里有着大量的低级硬件和软件工具,同时随着嵌入式设计和硬件技术(多核处理器、FPGA等等)不断提高的复杂性,要使用现有工具进行快速原型设计是困难的。
为了节省在软件原型开发中花费的时间和金钱,应当选择能够抽象大部分底层工作的工具。使用LabVIEW编程工具进行图形化系统设计为用户提供了强大而直观的开发环境,使用户能够直接开始进行原型开发。LabVIEW具有图形化特性,带有数千个内建函数块,可以用于信号处理、高级控制、通信、数据采集、记录等任务中。此外,LabVIEW能够在大量复杂的硬件目标上运行,从多核与实时处理器直至FPGA。因为用户可以使用LabVIEW对FPGA进行编程,可以方便地在原型系统中使用这个技术,而无需浪费大量的开发时间。
使用状态图从纸上的设计进行过渡
大多数设计或想法是从纸上开始的。无论是写在餐巾纸上还是更正式的书面计划,从纸面平稳过渡到软件帮助您更快开始您的设计。工程师在设计嵌入式系统软件体系结构中,已经使用状态图多年了。在20世纪90年代,状态图被认为是统一建模语言(UML)规范的行为框图,广泛用于对嵌入式系统进行建模。
使用LabVIEW状态图模块,用户可以使用状态图框图设计软件组件,使用数据流图形化编程定义状态行为和过渡逻辑。图1展示了用户如何从纸上的状态图过渡到LabVIEW状态图。
图1:从纸上的状态图过渡到LabVIEW状态图模块
快速连接到I/O以及嵌入式传感器
对于大多数实时嵌入式应用而言,连接到实际的I/O是必须的。因此,在创建原型系统时,使用工具快速地连接到传感器和致动器是十分重要的。NI提供了丰富的板卡级封装硬件,其中包括用户与任何传感器进行交互的模拟和数字I/O。举例而言,NI C系列模块的模块化特性和灵活性使它们成为原型开发I/O的理想选择。
图2:用于将原型系统连接到传感器的C系列I/O模块
用户可以在基于USB的系统中使用C系列模块,用于连接NI CompactDAQ、无线设备,甚至例如NI CompactRIO和板卡级NI单板RIO等嵌入式系统。NI和第三方厂商提供了超过80个C系列模块,用于将用户的原型系统与模拟、数字、运动、通信以及嵌入式传感器与原型系统进行交互。此外,用户可以使用LabVIEW工具对所有这些平台进行编程,它提供了与所有这些I/O模块进行交互的驱动程序和库。
使用开发式软件实现您的IP
在大多数情况下,嵌入式设计最重要的部分是嵌入在设计中的控制算法或处理算法,也称为知识产权。在大多数情况下,用户可能已经拥有以特定形式开发的IP(例如ANSI C、文本数学、VHDL或其他)。将IP转换为功能原型系统将会是耗费时间的过程。选择一个开放环境,可以将用户的IP与原型系统的其他部分整合在一起,这样可以将工作变得十分简单。LabVIEW提供了高级开放式环境,用户可以用来集成任何现存的C、文本数学以及VHDL IP。
将机械仿真与软件设计进行整合
“数字原型设计”的概念是将机械设计与软件设计进行连接的流程的新术语。将控制设计软件与机械仿真整合在一起帮助您快速开发原型系统仿真。使用数字原型设计,用户可以创建虚拟原型系统,而无需构建机械系统。
NI与SolidWorks进行合作,为用户提供了将机械仿真与控制设计软件进行整合的功能。这个新功能被加入LabVIEW 2009的NI SoftMotion模块中,用户可以在LabVIEW中构建控制设计算法,将控制功能与SolidWorks机械模型整合在一起,使用真实的机械模型对控制算法进行测试,而无需构建机械系统。
使用包含中间件的运行准备好硬件
在嵌入式设计中的最大挑战之一是创建、调试以及验证驱动程序级软件栈,将嵌入式系统的所有硬件组件整合在一起。过去,整合过程需要用户完成,这将嵌入式原型设计流程变得复杂而且耗时。
NI中间件软件驱动程序超出了传统单板计算机和其他嵌入式系统提供的用于提高生产力、性能以及上市时间的基本驱动程序的范畴。驱动程序软件和其他配置服务软件包含在每个支持可重复配置I/O(RIO)设备中。内建的中间件软件驱动程序工具包含以下功能:
- 内建函数,用于与模拟、数字、运动、通信I/O以及FPGA进行交互
- 传送函数,用于在FPGA与处理器之间进行数据通信
- 用于将FPGA/处理器与内存之间进行交互的方法
- 用于将处理器与外部设备(RS232串行接口、以太网)进行交互的函数
- 高性能的多线程驱动程序
不要忽视HMI
有时候,演示想法最简单也是最好的方法是通过HMI,即用户界面。如果用户可以找到用于快速构建用户界面的软件工具,用户可以与潜在的客户或投资者一起,在概念设计流程的早期对功能进行测试。
图3:LabVIEW图形化编程包含内建用户界面
LabVIEW图形化开发工具为快速建立用户界面提供了多种选项。首先,每个LabVIEW程序(即VI)包含了应用程序的图形化代码和程序的用户界面。因此,与其他编程语言不同,用户不需要编写大量附加的程序构建用户界面,使用LabVIEW,用户可以免费得到用户界面。在LabVIEW中,提供了数百个内建用户界面项目,从图表到拨盘直至三维图片控件,帮助用户为原型系统快速构建HMI。
测量原型系统
在设计流程的早期完成原型设计的另一个优点是它为用户提供了尽可能完善设计的机会。越早完成原型系统的开发,也就可以越早地开始测试硬件与软件设计,从而可以建立更加可靠的系统。在许多情况下,用户可能需要等到完成产品开发才会开始考虑测试。通过对原型系统进行测试,用户不仅能够建立更可靠的产品,而且还可以更早地开始设计生产测试系统。
图4:来自NI的测试产品用于测试原型系统
在构建原型系统时,考虑能够使原型系统设计变得更加简单的工具。用户可以在原型系统的设计与测试中,使用图形化系统设计工具。LabVIEW和模块化测试硬件(基于PC或PXI/CompactPCI技术)能够用于原型系统中,帮助用户更早地对设计进行测试。
快速从想法进入现实
原型开发是嵌入式设计流程的重要部分。向投资者、客户或管理层展示想法功能的能力是为想法得到预算的最佳方法之一。NI图形化系统设计工具可以在无需大量开发时间和大型设计团队的情况下,快速地完成具备功能的原型系统。在对下一个设计进行原型开发时,请考虑使用LabVIEW以及NI原型开发硬件,使原型开发变得更为快捷。