LabVIEW+FPGA加速嵌入式系统原型化的过程教学内容_第1页
LabVIEW+FPGA加速嵌入式系统原型化的过程教学内容_第2页
LabVIEW+FPGA加速嵌入式系统原型化的过程教学内容_第3页
LabVIEW+FPGA加速嵌入式系统原型化的过程教学内容_第4页
LabVIEW+FPGA加速嵌入式系统原型化的过程教学内容_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通过LabVIEW FPGA加速嵌入式系统原型化的过程 嵌入式系统的发展趋势 嵌入式系统一般是指一个独立且具有专门用途的系统,随着半导体技术的飞速发 展,嵌入式系统正在渗入现代社会的各个方面,被广泛应用于航空航天、通信设备、消 费电子、工业控制、汽车、船舶等领域。巨大的市场需求推动了嵌入式系统向更高的技 术水平发展。 嵌入式系统的开发流程,一般可以分为三个阶段:设计,原型化及发布。设计主 要是对产品本身以及其中牵涉到的算法、概念进行设计,原型化是对设计的可行性进行 验证或评估,发布是产品的最终实现。大部分情况下,整个开发流程中需要牵涉到多种 软件开发工具。比如在设计的时候,可能会使用文本数学工

2、具进行算法设计、建模、仿 真,在原型化验证阶段,图形化的开发环境现在已经成为仿真、验证的主流工具。在发 布阶段,可能会采用微处理器或FPGA,就会牵涉到相关的开发环境比如C或VHDL , 甚至汇编语言。传统的开发模式中,文本编程工具占了主流地位。 嵌入式软件及其开发人员目前似乎都处于各自发展的十字路口。Ven ture Development 公司(VDC)提供的行业统计数字表明,尽管软件代码的行数以每年大约 26%的速度增长,但嵌入式开发人员的年增长速度却只有8%。对嵌入式系统设计人 员而言,这两个统计数字意味着工作量的增多。 不过,事情还远不止于此。除了以相对更少的人员完成更多的工作外,嵌

3、入式开 发者还必须在保证产品可靠性的前提下缩短系统设计周期。日益激烈的竞争使得今天的 电子产品市场对上市时间的压力极为敏感。以消费市场为例,一个典型的嵌入式产品设 计周期是9个月,而推出产品的市场机会可能只有12个月之短。如果没有从一开始 就抓住市场先机推出产品,很可能会造成市场份额的大幅减少,甚至导致产品推广的失 败。这些因素大大增加了嵌入式系统设计一次设计成功”的压力,反过来也推动了系 统级快速、高效、可靠的验证的需求,系统原型化,也就是创建实速运行在系统环境中 的设计原型,这种必要性正日益增加。 FPGA在嵌入式系统中的优势 实现这种原型验证的最具成本效益的技术是建立一个基于FPGA的原

4、型。FPGA 是一种具有可重配置逻辑门的芯片,与供应商提供功能定义的ASIC芯片不同,FPGA 可根据每个应用的不同需要而进行配置和重新配置。由于FPGA允许在硬件中实现自定 义算法,因此它具有精确时序和同步、快速决策及并行任务同时执行等优点。在PC或 带有实时操作系统 (RTOS) 和微处理器的平台上, 处理器必须对多个任务进行分时处理, 而 FPGA 则可以配置为多个独立的并行计算资源, 简言之, 就像芯片上有多个微处理器 一样,且这些微处理器都针对特定的任务进行了优化。 FPGA 的性能和灵活性使其成为处理输入输出非常有效的技术。 通过自定义数字协 议进行通信和生成 PWM 信号是这种类

5、型很好的例子, 比如, 可以对 FPGA 进行配置以 利用自定义数字协议进行通信, 如对输入信息进行解码, 然后将信息组合编码作为输出 数据包再发送出去。 在一些情况下甚至需要同时进行多个操作, 并使得这些操作互相同 步,且和其他输入和输出任务同步。如果是用一个基于软件的系统完成此项工作,即使 使用 RTOS ,输出的性能也不一定能满足要求。 FPGA 对于输入输出、并行性和实时性 的出色性能使得它成为嵌入式系统原型化验证的理想工具。 Intel 新一代多核处理器就 选择了 FPGA 作为其原型化的平台。 通过 LabVIEW FPGA 加速系统原型化 将 FPGA 集成到嵌入式系统最大的挑战

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

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

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

9、发工 具要求你开发 FPGA 周边所有硬件,另一些则要求使用一种特殊的内建有 FPGA 的电 路板。对于后者, 很多和板上其他资源如 I/O 与总线连接的工作都已做好, 这样可以大 大加快开发的进度,因为你无须关注诸如抗噪性、稳定时间和串扰之类的事项。如果系 统需要大量与运行 Windows 或 RTOS 的 PC 连接,那么应选择那些能够跨平台的设计 工具。 LabVIEW FPGA 图形化的开发环境 过去,对于 FPGA 的编程需要深入掌握 VHDL 或者其他的低级设计工具,这需要 一个较长的学习过程。 通过 LabVIEW FPGA ,可以用图形化的环境来定义 FPGA 逻辑, 使更多的

10、工程师们不需要掌握 VHDL 或硬件设计的专门知识,就能够利用 FPGA 技术 来进行系统的设计和原型化。 另外,通过和 LabVIEW 中的一些工具包相配合,比如数字滤波器设计工具包, LabVIEW FPGA 可以帮助工程师很快开发出信号处理系统并将其发布到 FPGA 中去, 并提供了很多专门的测量和控制函数。比如, LabVIEW FPGA 内置了多种函数,可用 于闭环 PID 控制、 5 阶 FIR 滤波、一维查找表、线性插值、过零检测和正弦波的直接 数字合成。 对于系统的配置和 I/O 连接,工程师们可以利用 LabVIEW FPGA 和 NI RIO 设 备来大大加快开发的进度,

11、因为 NI RIO 设备将 I/O 与总线连接的工作都已做好,工程 师们可以通过 LabVIEW FPGA 快速的定制 I/O 或控制硬件电路, 而且这些电路所具有 的性能媲美经厂商定义并优化的硬件性能。使用 LabVIEW FPGA 模块,工程师可以在 运行 Windows 的主机上开发 FPGA 程序,然后用 LabVIEW 进行编译并在硬件上运 行这些代码程序。由于 LabVIEW FPGA 是用硬件来实现程序算法,它对于算法的执行 性能要比基于软件的系统好得多。 对于时间和并行性的支持 和传统的文本编程相比, LabVIEW 天生是一种并行结构的编程语言, 非常适用于 FPGA 的并行

12、结构,用以实现同步或异步的并行任务。考虑一个包含 8PID 控制循环的 应用,如图 1 所示,应用程序将在 FPGA 上创建了 2 个完全独立的处理器, 可以和 FPGA 时钟同步或异步的运行。甚至在同一个 while 循环或类似结构中,我们都可以通过对 代码的流程线操作进行并行化来提高执行速度。将处理过程分割成数个片断,并在连续 的循环中依次执行这些片断。如图 1 所示,我们将控制算法就分成了 2 个片断。 while 循环的每次执行都会更新 PID 控制输出, 但是模拟输入 (AI) 及控制算法 1 ,与模拟输出 (AO) 及控制算法 2 是并行执行的。结果显示,通过这种方式,算法的执行速

13、度要比顺 序处理的结构快得多。 图 1 代码流程线操作的并行化 通过 LabVIEW FPGA和 NI RIO 设备进行原型化 很多设计比预期时间晚上市,并且有一些在投入市场以后发现未达到预定的功能 和指标,因此必须采取一定的措施来加快设计流程,提高设计质量。一种解决方案就是 更早地将真实世界的信号和硬件引入到设计流程之中,进行更好的系统原型化,从而在 早期就发现并修正潜在的问题。 但是在任何设计和开发流程中,在基于软件设计和仿真工具的虚拟世界,与电子 或机械测量的物理世界之间有一个很大的鸿沟。 LabVIEW 平台最明显的价值就是在虚 拟世界和物理世界间的鸿沟之间建立一座桥梁。 物理测量是与

14、设计和仿真完全不同的挑 战, 要求与广泛的测量和控制硬件紧密集成, 并以优化的性能处理大量的通道数或超高 速吞吐量。 LabVIEW 平台经过不断演进,在物理测量领域提供极高的性能和灵活性。 更重要的是, LabVIEW 平台是开放的,因此,设计人员可以将测量数据与仿真结果相 映射,甚至互换仿真和物理数据,以用于设计中的行为建模,或者以仿真的激励驱动物 理测试,从而更为有效快速的进行系统原型构建。 嵌入式系统开发人员如果要定制硬件用于最终的发布,很难同时并行开发软件和 硬件,因为直到系统集成步骤之前,软件从未在有代表性的硬件上经过测试。此外,设 计师们也不希望软件开发是纯理论的进行,如果直到系

15、统集成测试的时候才引入 I/O , 用真实世界的信号检验设计, 一旦发现存在问题, 那就意味着很难在预期时间完成设计 任务了。 大多数设计师当前用评估板来进行系统的原型化,但是,原型板往往只具备少量 的模拟和数字 I/O 通道,也很少支持视觉、运动或同步的功能。此外,设计师经常因为 需要传感器或特殊 I/O 的支持而花费大量时间来开发定制的原型板, 而这些仅仅是为了 设计概念的验证。使用灵活的、商业化的原型平台可以大大简化这个过程,消除其中硬 件验证和板级设计的大量工作。 对于大多数系统, 原型化平台必须包括最终发布系统的 同样部件,比如用于执行算法的实时处理器、用于高速处理的可编程逻辑器件,

16、或者将 实时处理器接口到其他部件。因此,如果这个商业化的系统不能满足所有的要求,那么 这个平台必须是可扩展的,并且支持自定义。 NI 提供了各种硬件平台与 LabVIEW 集 成,完成从设计、原型到部署的全过程。 例如使用 LabVIEW 和 NI 可重复配置 I/O(RIO) 设备或 NI CompactRIO 平台,可以快速而便捷地创建嵌入式系统的原型。从图 2 可 以看到,通过 LabVIEW FPGA 可以对多种 NI RIO 设备进行配置。 图 2 LabVIEW F PGA 程序框图和 RIO 硬件平台 一个客户案例是 Boston Engineering 公司。他们要开发一种牵力

17、控制机用于数 码照片打印系统。其中,彩色墨盒通过驱动马达馈送到打印头,由卷带电机和推进电机 来控制牵力。 切割机底盘的振动、每次打印的照片数目和每个电机的速度变化都会影响 到底层的牵力。 控制系统通过两个电机的位置来保证卷带和推进的牵力处于设定范围之 内,否则就会有色差。设计的牵力控制硬件需要两个脉宽调制输出来控制电机,两个编 码器将转速反馈给电机, 两个模拟输入通道连接霍尔传感器用来测量位置, 两根数字线 用于信令。 由于传统的原型板无法满足这些要求, 所以需要使用可以自定义 I/O 的原型平台, 因此他们使用 CompactRIO 平台来进行原型化工作。 CompactRIO 系统包含一个

18、 266MHz 的嵌入式微处理器、以太网控制器,以及背板上的 1 百万门 FPGA 。通过 LabVIEW FPGA 对背板上的 FPGA 编程,他们的控制、机械和电子工程师就可以直接 参与到编程工作中。 他们在嵌入式控制器中运行管理程序, 在 FPGA 中运行电机控制算 法,这种资源配置使得原型化构建和最终系统发布在编程模式上是非常相似的。为了在 FPGA 中运行控制算法,他们将 ZPK(zero-pole- gain) 模型转化为 LabVIEW 数字滤 波器设计工具包中提供的一种滤波器, 由于这个工具包支持 LabVIEW FPGA 代码的自 动生成和优化,所以原先的 ZPK 模型就可以直接转化成能够在 FPGA 上运行的代码。 另外,他们还使用这个工具包对原先的浮点算法进行了定点转换,以节约 FPGA 资源, 并对量化后的模型进行测试、验证、修正从而得到预期的结果。通过这种原型化方式, 他们节约了大量的开发时间。 结论 随着嵌入式系统复杂性的不断增加,设计师们正在面对严峻的挑战。产品上市时 间的压力大大增加了嵌入式系统设计 “一次设计成功 ”的压力, 反过来也推动了系统级快 速、高效、可靠的验证的需求,系统原型化的必要性正日益增大。由于 FPGA 具有高性 能、可重新配置、 小尺寸和较低的工程开发成本等诸多优

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论