设计工程师通常使用C等编程语言来开发基于微处理器或微控制器架构的嵌入式系统。 C语言的普及催生了用于程序库、编译器和 *** 作系统等工具的大型技术生态系统。现场可编程门阵列(FPGA)是嵌入式领域的新技术,采用硬件描述语言来创建可重配置数字逻辑。为了描述硬件和利用数字电路的高性能并行性,硬件描述语言提供的语法与软件工程师习惯使用的语法截然不同。通过提供包含软件工程师熟悉的编程构造的FPGA开发环境,在设计中使用FPGA嵌入式软件工程师就可以充分发挥FPGA的优势。
使用NI硬件的嵌入式系统设计工程师在构建其系统时可以选择一系列编程语言和工具。阅读本文档,了解如何编程NI嵌入式系统以及下载您需要的软件工具。
1. NI嵌入式系统架构介绍
图1. NI嵌入式硬件架构
NI可重配置硬件
在嵌入式系统设计中引入FPGA,使得无需自定义ASIC设计就可以创建高性能数字逻辑。FPGA的开发通常是采用基于文本的硬件描述语言来实现,如VHDL或Verilog,这些是由数字设计工程师编写。但是由于这些硬件描述语言的语法过于复杂,要利用FPGA设计的全部功能非常困难。这一点充分体现在嵌入式行业亟需寻找更高层次抽象的FPGA设计,如C-to-gates工具或LabVIEW FPGA的G语言等图形化编程语言。
图2. NI嵌入式系统软件架构
NI嵌入式软件架构
实时 *** 作系统 - 您可以灵活地选择使用LabVIEW Real-TIme、C / C+ +、文本数学或这些语言的组合来编程嵌入式处理器。您可以从多个软件架构中进行选择,使您既可以集成以往项目的现存源代码,同时还可利用LabVIEW的特性来节省开发时间。
FPGA - LabVIEW提供了一种全功能的编程语言,因此如果您熟悉基于文本的传统编程语言,如C,您就可以放心地使用环境,同时利用新硬件平台——FPGA的优势。
2. 选择NI嵌入式硬件平台NI RIO硬件提供了最好的现成平台来帮助您完成任何的控制和监测任务。NI基于平台的方法使得小团队能够自信地构建创新型嵌入式系统,而且不需要浪费开发时间和成本在自定义设计上。
3. NI LabVIEW for FPGA Development
LabVIEW编程环境显然非常适用于FPGA编程,因为它可清晰地显示并行机制和数据流。使用 LabVIEW FPGA Module,擅长C语言的工程师和科学家也可以在他们的设计中利用FPGA,而无需学习硬件设计。此外,FPGA接口C API提供了FPGA和实时应用程序之间的通信层,用于实现I/O控制和数据流。有了这个API,您可以使用LabVIEW图形化工具对FPGA进行编程,并选择LabVIEW或C / C+ +工具来对系统内的处理器进行编程。
LabVIEW FPGA可帮助您创建自定义测量和控制硬件而无需底层硬件描述语言或板卡级设计。您可以使用此自定义硬件来实现独特的定时和触发程序、超高速控制、数字协议连接、数字信号处理(DS),P以及许多其他需要高速硬件可靠性和严格确定性的应用。
图3. LabVIEW FPGA中定时循环
4. C++/C++实时应用程序开发程序员有几种不同的软件架构可供选择,但是他们必须首先将项目需求与最佳的软件设计进行匹配。他们必须考虑软件性能预期等技术需求以及项目截止期限、现有代码重用和团队成员的编程语言技能等业务需求。
例如,系统设计人员必须决定如何最好地利用LabVIEW的生产效率优势来进行实时编程,同时集成之前项目的C / C+ +代码。一种解决方案是从LabVIEW应用程序中调用C或C+ +共享库,C或C+ +共享库使用的是LabVIEW固有的并行线程调度。设计人员还可以使用内置的LabVIEW信号处理函数或结合LabVIEW MathScript RT模块使用.m算法,进一步节省开发精力。另外,程序员可以使用Eclipse或任何其他的集成开发环境(IDE)来开发、调试和部署完全使用C或C+ +编写的应用程序,同时利用LabVIEW的优势来编程FPGA。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)