收藏 分享(赏)

【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx

上传人:dzzj200808 文档编号:2279673 上传时间:2018-09-09 格式:DOCX 页数:6 大小:122.55KB
下载 相关 举报
【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx_第1页
第1页 / 共6页
【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx_第2页
第2页 / 共6页
【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx_第3页
第3页 / 共6页
【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx_第4页
第4页 / 共6页
【LabVIEW技术】LabVIEW FPGA加速嵌入式系统原型化的过程.docx_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、【LabVIEW 技术】LabVIEW FPGA 加速嵌入式系统原型化的过程目录1 嵌入式系统的发展趋势2 FPGA 在嵌入式系统中的优势3 通过图形化开发环境 LabVIEW FPGA 加速系统原型化4 结论5 更多相关资源1. 嵌入式系统的发展趋势嵌入式系统一般是指一个独立且具有专门用途的系统,随着半导体技术的飞速发展,嵌入式系统正在渗入现代社会的各个方面,被广泛地应用于航空航天、通信设备、消费电子、工业控制、汽车、船舶等领域。巨大的市场需求推动了嵌入式系统向更高的技术水平发展。嵌入式系统的开发流程,一般可以分为三个阶段:设计,原型化、以及发布。设计主要是对产品本身以及其中牵涉到的算法、概

2、念进行设计,原型化是对设计的可行性进行验证或评估,发布是产品的最终实现。大部分情况下整个开发流程中需要牵涉到多种软件开发工具。比如在设计的时候,可能会使用文本数学工具进行算法设计、建模、仿真,在原型化验证阶段,图形化的开发环境现在已经成为仿真、验证的主流工具。在发布阶段,可能会采用微处理器或 FPGA,就会牵涉到相关的开发环境比如 C 或 VHDL,甚至汇编。传统的开发模式中,文本编程工具占了主流地位。嵌入式软件及其开发人员目前似乎都处于各自发展的十字路口。Venture Development 公司(VDC)提供的行业统计数字表明,尽管软件代码的行数以每年大约 26%的速度增长,但嵌入式开发

3、人员的年增长速度却只有 8%。对嵌入式系统设计人员而言,这两个统计数字意味着工作量的增多。不过,事情还远不止此。除了以相对更少的人员完成更多的工作外,嵌入式开发者还必须在保证产品可靠性的前提下缩短系统设计周期。日益激烈的竞争使得今天的电子产品市场对上市时间的压力极为敏感。以消费市场为例,一个典型的嵌入式产品设计周期是 9 个月,而推出产品的市场机会可能只有 1 到 2 个月之短。如果没有一开始就抓住市场先机推出产品,很可能会造成市场份额的大幅减少,甚至导致产品推广的失败。这些因素大大增加了嵌入式系统设计“一次设计成功” 的压力,反过来也推动了系统级快速、高效、可靠的验证的需求,系统原型化,也就

4、是创建实速运行在系统环境中的设计原型,这种必要性正日益增大2. FPGA 在嵌入式系统中的优势实现这种原型验证的最具成本效益的技术是建立一个基于 FPGA 的原型。FPGA 是一种具有可重配置逻辑门的芯片,与供应商提供功能定义的 ASIC 芯片不同,FPGA 可根据每个应用的不同需要而进行配置和重新配置。由于 FPGA 允许在硬件中实现自定义算法,因此它具有精确时序和同步、快速决策及并行任务同时执行等优点。在 PC 或带有实时操作系统(RTOS)和微处理器的平台上,处理器必须对多个任务进行分时处理,而 FPGA 则可以配置为多个独立的并行计算资源,简言之,就像芯片上有多个微处理器一样,且这些微

5、处理器都针对特定的任务进行了优化。FPGA 的性能和灵活性使得它们成为处理输入输出非常有效的技术。通过自定义数字协议进行通信和生成PWM 信号是这种类型很好的例子,比如,可以对 FPGA 进行配置以利用自定义数字协议进行通信,如对输入信息进行解码,然后将信息组合编码作为输出数据包再发送出去。在一些情况下甚至需要同时进行多个操作,并使得这些操作互相同步,且和其它输入和输出任务同步。如果是用一个基于软件的系统完成此项工作,即使使用 RTOS,输出的性能也可能不一定够。FPGA 对于输入输出、并行性和实时性的出色性能使得它成为嵌入式系统原型化验证的理想工具。Intel 新一代多核处理器就选择了 FP

6、GA 作为其原型化的平台。3. 通过图形化开发环境 LabVIEW FPGA 加速系统原型化将 FPGA 集成到嵌入式系统最大的挑战是如何配置 FPGA 的逻辑,以及将传感器输入和控制输出与它连接起来。许多嵌入式系统设计人员对于在实时操作系统下运行的微处理器上编程非常熟练,但他们不喜欢在芯片级对硬件进行定义,这需要有设计工具和语言如 VHDL 方面的知识。当然,冒昧进入芯片级领域还意味着需要设计和构建芯片周边的电路板,虽然这对于一些嵌入式系统设计人员来说已经过时了,但仍然有许多设计人员宁愿尽可能地使用现成的硬件,特别是当硬件必须精确地测量出传感器数据并对其作数字化处理时。FPGA 配置工具的比

7、较和选择目前有许多 FPGA 配置工具,有些工具需要 VHDL 或其它语言编码完成硬件定义,有些工具提供了图形配置环境,还有的工具允许你使用熟悉的工具编写软件,然后将代码下载到 FPGA 中。在选择哪种方式适合时需要考虑几个问题,其中一个考虑因素是你的背景。你是否是一个富有经验的硬件开发人员并对FPGA 的基本操作有深入的认识?如果是,就可以利用低级工具充分发挥你的经验并深入实地进行配置。也许你不是硬件工程师,但你是一位优秀的程序员并且能很容易掌握新的编程语言,那么你可能需要选择一个能够让你充分运用数据结构和程序细节进行编程的工具。另外一个可能是你既不是硬件专家也不是软件专家,但由于你对整个系

8、统内在的理论或系统所投入的应用非常熟悉而来设计系统,如果是这种情况,那么应该选择一个可以让你以自己的语言进行设计的工具,而不必学习复杂的 FPGA 或硬件描述语言。另一个很重要的考虑因素是你计划设计的系统所要求达到的功能是什么。如果正在设计多个不同类型的系统,可能通用硬件设计工具最为适合。有许多人花费很多时间成为使用这些工具的专家,你也可以加入其中。如果想将涉及面缩小一些,那么也有工具去处理那些“常规”事务,而让你专注于可以自己的研究领域。举个例子,有许多工具可以帮助你很快开发出信号处理系统并将其发布到 FPGA 中去,也有一些经优化的工具专门用来增加测量和控制功能。还需要考虑系统配置的问题。

9、要有怎样的尺寸?与 PC 连接吗?有的 FPGA 开发工具要求你开发 FPGA周边所有硬件,另一些则要求使用一种特殊的内建有 FPGA 的电路板。对于后者,很多和板上其它资源如 I/O 与总线连接的工作都已做好,这样可以大大加快开发的进度,因为你无须关注诸如抗噪性、稳定时间和串扰之类的事项。如果系统需要大量与运行 Windows 或 RTOS 的 PC 连接,那么应选择那些能够跨平台的设计工具。LabVIEW FPGA 图形化的开发环境20 年来,科学家和工程师一直在使用 LabVIEW 为他们的设计实验室、验证实验室和生产现场构建自动化数据采集和仪器控制解决方案,并在这些应用领域成为业界的事

10、实标准。其核心在于,LabVIEW 图形化编程语言使得没有经过正规编程培训或相关背景的技术专家能够快速搭建高级自动化测量和控制系统。过去,对于 FPGA 的编程需要深入掌握 VHDL 或者其他的低级设计工具,这需要一个较长的学习过程。通过 LabVIEW FPGA,可以用图形化的环境来定义 FPGA 逻辑,使更多的工程师们不需要掌握 VHDL 或硬件设计的专门知识,就能够利用 FPGA 技术来进行系统的设计和原型化。工程师们可以用图形化语言进行编程,而不必学习复杂的 FPGA 或硬件描述语言。另外,通过和 LabVIEW 中的一些工具包相配合,比如数字滤波器设计工具包,LabVIEW FPGA

11、 可以帮助工程师很快开发出信号处理系统并将其发布到 FPGA 中去,并提供了很多专门的测量和控制函数。比如,LabVIEW FPGA 内置了多种函数,可用于闭环 PID 控制,5 阶 FIR 滤波,一维查找表,线性插值,过零检测和正弦波的直接数字合成,使得工程师们不用花太多时间在一些“常规” 事务上,而可以专注于自己的研究领域。对于系统的配置和 I/O 连接,工程师们可以利用 LabVIEW FPGA 和 NI RIO 设备来大大加快开发的进度,因为 NI RIO 设备将 I/O 与总线连接的工作都已做好,工程师们可以通过 LabVIEW FPGA 快速的定制 I/O或控制硬件电路,而且这些电

12、路所具有的性能媲美经厂商定义并优化的硬件性能。使用 LabVIEW FPGA模块,工程师可以在运行 Windows 的主机上开发 FPGA 程序,然后用 LabVIEW 进行编译并在硬件上运行这些代码程序。由于 LabVIEW FPGA 是用硬件来实现程序算法,它对于算法的执行性能要比基于软件的系统好得多。对于时间和并行性的支持和传统的文本编程相比,LabVIEW 天生是一种并行结构的编程语言,非常适用于 FPGA 的并行结构,用以实现同步或异步的并行任务。考虑一个包含 8PID 控制循环的应用,如图 1 所示,应用程序将在 FPGA上创建了 2 个完全独立的处理器,可以和 FPGA 时钟同步

13、或异步的运行。甚至在同一个 while 循环或类似结构中,我们都可以通过对代码的流程线操作进行并行化来提高执行速度。将处理过程分割成数个片断,并在连续的循环中依次执行这些片断。如图 1 所示,我们将控制算法就分成了 2 个片断。While 循环的每次执行都会更新 PID 控制输出,但是模拟输入 (AI)及控制算法 1,与模拟输出 (AO)及控制算法 2 是并行执行的。结果显示,通过这种方式,算法的执行速度要比顺序处理的结构快得多。图 1. 代码流程线操作的并行化通过 LabVIEW FPGA 和 NI RIO 设备对嵌入式系统进行原型化很多设计比预期时间晚上市,并且有一些在投入市场以后发现未达

14、到预定的功能和指标,因此必须采取一定的措施来加快设计流程,提高设计质量。一种解决方案就是更早地将真实世界的信号和硬件引入到设计流程之中,进行更好的系统原型化,从而在早期就发现并修正潜在的问题。但是在任何设计和开发流程中,在基于软件设计和仿真工具的虚拟世界,与电子或机械测量的物理世界之间有一个很大的鸿沟。LabVIEW 平台最明显的价值就是在虚拟世界和物理世界间的鸿沟之间建立一座桥梁。物理测量是与设计和仿真完全不同的挑战,要求与广泛的测量和控制硬件紧密集成,并以优化的性能处理大量的通道数或超高速吞吐量。LabVIEW 平台经过不断演进,在物理测量领域提供无与匹敌的性能和灵活性。更重要的是,Lab

15、VIEW 平台是开放的,因此,设计人员可以将测量数据与仿真结果相映射,甚至互换仿真和物理数据,以用于设计中的行为建模,或者以仿真的激励驱动物理测试,从而更为有效快速的进行系统原型构建。嵌入式系统开发人员如果要定制硬件用于最终的发布,很难同时并行的开发软件和硬件,因为直到系统集成步骤之前,软件从未在有代表性的硬件上经过测试。此外,设计师们也不希望软件开发是纯理论的进行,如果直到系统集成测试的时候才引入 I/O 用真实世界的信号检验设计,一旦发现存在问题,那就意味着很难在预期时间完成设计任务了。大多数设计师当前用评估板来进行系统的原型化,但是,原型板往往只具备少量的模拟和数字 I/O 通道,也很少

16、支持视觉,运动或同步的功能。此外,设计师经常因为需要传感器或特殊 I/O 的支持而花费大量时间来开发定制的原型板,而这些仅仅是为了设计概念的验证。使用灵活的、商业化的原型平台可以大大简化这个过程,消除其中硬件验证和板级设计的大量工作。对于大多数系统,原型化平台必须包括最终发布系统的同样部件,比如用于执行算法的实时处理器、用于高速处理的可编程逻辑器件,或者将实时处理器接口到其他部件。因此,如果这个商业化的系统不能满足所有的要求,那么这个平台必须是可扩展的,并且支持自定义。NI 提供了各种硬件平台与 LabVIEW 集成,完成从设计、原型到部署的全过程。例如使用 LabVIEW 和 NI 可重复配

17、置 I/O(RIO)设备或 NI CompactRIO 平台,可以快速而便捷地创建嵌入式系统的原型。从图 2 可以看到,通过 LabVIEW FPGA 可以对多种 NI RIO 设备进行配置。图 2. LabVIEW FPGA 程序框图 和 RIO 硬件平台一个客户案例是 Boston Engineering 公司。他们要开发一种牵力控制机用于数码照片打印系统。其中,彩色墨盒通过驱动马达馈送到打印头,由卷带电机和推进电机来控制牵力。切割机底盘的振动、每次打印的照片数目和每个电机的速度变化都会影响到底层的牵力。控制系统通过两个电机的位置来保证卷带和推进的牵力处于设定范围之内,否则就会有色差。设计

18、的牵力控制硬件需要两个脉宽调制输出来控制电机,两个编码器将转速反馈给电机,两个模拟输入通道连接霍尔传感器用来测量位置,两根数字线用于信令。由于传统的原型板无法满足这些要求,所以需要使用可以自定义 I/O 的原型平台,因此他们使用CompactRIO 平台来进行原型化工作。CompactRIO 系统包含一个 266 MHz 的嵌入式微处理器,以太网控制器,以及背板上的 1M 门 FPGA。通过 LabVIEW FPGA 对背板上的 FPGA 编程,由于 LabVIEW FPGA 是一种图形化的编程环境,不需要 VHDL 的经验,他们的控制、机械和电子工程师就可以直接参与到编程工作中。他们在嵌入式

19、控制器中运行管理程序,在 FPGA 中运行电机控制算法,这种资源配置使得原型化构建和最终系统发布在编程模式上是非常相似的。为了在 FPGA 中运行控制算法,他们将ZPK(zero-pole-gain)模型转化为 LabVIEW 数字滤波器设计工具包中提供的一种滤波器,由于这个工具包支持 LabVIEW FPGA 代码的自动生成和优化,所以原先的 ZPK 模型就可以直接转化成能够在 FPGA上运行的代码。另外,他们还使用这个工具包对原先的浮点算法进行了定点转换,以节约 FPGA 资源,并对量化后的模型进行测试、验证、修正从而得到预期的结果。通过这种原型化方式,他们节约了大量的开发时间。4. 结论

20、随着嵌入式系统复杂性的不断增加,设计师们正在面对严峻的挑战。产品上市时间的压力大大增加了嵌入式系统设计“一次设计成功”的压力,反过来也推动了系统级快速、高效、可靠的验证的需求,系统原型化的必要性正日益增大。由于 FPGA 具有高性能、可重新配置、小尺寸和较低的工程开发成本等诸多优异特性,特别是对于输入输出、并行性和实时性的出色性能使得它成为嵌入式系统原型化验证的理想工具。LabVIEW FPGA 模块为 NI RIO 硬件上的 FPGA 芯片提供了图形化的开发环境。使用 LabVIEW FPGA 模块,工程师们可以在运行 Windows 的主机上开发 FPGA 程序,然后用 LabVIEW 进行编译并在硬件上运行这些代码程序。利用 LabVIEW FPGA 模块,无需先掌握硬件设计知识或 VHDL,就可以自己定制 I/O或控制硬件电路,加速嵌入式系统原型化的过程。图形化的编程模式使得更多的工程师和科学家可以使用他们的专业知识开发嵌入式应用。使用统一的环境进行设计、原型到发布,LabVIEW 为嵌入式系统开发提供了前所未有的革新方式。5. 更多相关资源 嵌入式系统设计全面介绍:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报