CPU、数字逻辑/FPGA以及编程和调试工具的创新都为嵌入式系统设计的改进作出了贡献。 然而控制工程网版权所有,即使是使用最新的工具与技术,不同计算元素和软件的集成仍是一个普遍存在的障碍 - 这种障碍会导致设计成本的增加,终端产品更为昂贵,许多设计无法问世。 这是一个重大的问题 -- 如果得不到解决,许多创新的设计将永远无法进入市场,即使产品问世,它们的成本也会相当的高。简而言之,嵌入式系统设计需要一场全面的革新。
从根本上说,通过标准的硬件架构和有效的系统设计工具对架构中的元素进行编程,这个问题可以得到解决。台式电脑的设计主要是一个自定制的过程——嵌入式系统设计需要与为桌面世界设计的相同PC架构。 本文将探讨使这一切成真的技术和工具,其中主要侧重于FPGA,它是为嵌入式设计实现标准架构的一个关键因素。 我们将剖析多个案例,并着重介绍标准架构和图形化系统设计软件工具所带来的经济影响。
嵌入式系统设计挑战
嵌入式系统包含软件和硬件,可运行特定的函数,往往伴随实时/稳定性的约束,这远远超出了日常计算。 为了满足硬件层面上的需求,传统的嵌入式系统一般包括微控制器、数字信号处理器(DSP)和/或现场可编程门阵列(FPGA)。 在软件方面,通常需要不同的语言或工具对硬件进行编程或配置。 因此,传统的嵌入式设计团队需要成员掌握渊博的软硬件设计知识,在典型的嵌入式系统中整合软硬件。
随着嵌入式设备在过去几十年的激增,硬件组件和软件工具都有了不小的改进。 然而控制工程网版权所有,尽管这两者的创新和发展相当迅速CONTROL ENGINEERING China版权所有,传统的嵌入式系统设计方法的改进却甚微,且越来越成为一种阻碍。 鉴于标准协议的不断更新,设计团队面临更大的市场压力,嵌入式系统设计必须作出进一步的改进。
为了更好地理解嵌入式系统设计革新的必要性,我们可以参考一下当前的流程和工具。 根据 UBM Electronics、EE Times和Embedded System Design近期联合作出的一项嵌入空间研究表明,嵌入式系统设计中的作用和流程非常明确。 一开始,一个嵌入式系统设计团队平均拥有13.5名成员,其中62%的人员专门负责软件资源,其余的则主攻硬件开发。 在过去5年中,这样的嵌入式设计团队结构和功能一直保持不变。
随着嵌入式项目的深入,43%的人员负责全新的开发,而其余57%的人员则在升级现有的嵌入式系统。 升级的首要原因就是增加/融入了新的或不同的软件功能和新的或不同的处理器。 项目平均完成时间为12个月,2011年,项目延期完成、甚至被取消的比例达到了惊人的57%。 此外,据设计团队报告,现有代码复用率为87%,其中包括内部开发、开源或购买的代码。 在过去5年中,嵌入式项目一直保持着这种趋势。
除了传统嵌入式设计团队和项目,关注典型的设计进程也非常有用。 一旦基于嵌入式系统规范的系统构架确定后,硬件和软件的设计团队就开始独立工作。 硬件工程师开发系统的硬件结构、合成以及物理设计。 软件工程师开发应用软件、编译器,在有些情况下还会开发操作系统。 在两个团队完成自己的工作后,还需进行为硬件接口开发软件驱动的集成工作。集成是一个重复的过程,往往会造成软件驱动/硬件接口合成的更新。
鉴于当前嵌入式系统设计的状态CONTROL ENGINEERING China版权所有,必须作出改进才能维持不断的创新,同时保持产品快速上市。 绝大多数UBM/EE Times的受访者反应说,他们的工作职能涉及到固件或软硬件的集成,这也进一步强调了改进的需求。 硬件技术和软件工具不断推陈出新,使得集成的挑战性也越来越大。 这样的挑战,如果得不到解决,将导致终端产品越来越贵,并阻碍创新性产品的试验、开发与上市。
标准化嵌入式架构
标准化硬件架构能够帮助省去大部分必须的集成工作。 标准化架构对于嵌入式空间来说似乎过于局限,相对来说,台式电脑的硬件标准化是一个很好的范例。 标准的架构不会限制日常计算中处理器的应用,并允许开发人员专注于提高竞争力以及将最佳的软硬件组件推向市场。 由此可以获得更为强大的操作系统和更加优化的终端应用,并且改进底层的硬件组件。 免去自定制硬件架构和相关软件组件的集成,由此节省的时间能够创造更好的终端解决方案,更快地将其推向市场。
图1 嵌入式设计的标准硬件架构: 处理器和FPGA相结合带来了无与伦比的灵活性和标准化架构CONTROL ENGINEERING China版权所有,可以开发更高级的工具,在嵌入式设计流程中带来可观的收益。 处理器可以允许现有代码库的复用,而FPGA允许自定制算法的灵活运行。
标准化架构的一个主要的好处是,可以开发并使用更佳、更为优化的高层工具。 由此,规模小的设计团队可在短时间内将更为复杂的产品推向市场。 领域专家们已经实现了这种转变, 将高层工具融入嵌入式设计,同时免去了各种软硬件组件的集成工作。
FPGA技术的优势
为了更好地理解标准架构的效用,弄清嵌入式设计中FPGA的益处非常重要。 在上层,FPGA是实现自定制硬件功能的可编程芯片。 上层设计工具的诞生使得那些没有丰富数字硬件设计经验的人士能够利用FPGA技术的优势。 FPGA具备硬件确定性和稳定性的优点,且无需ASIC设计的前期成本,也避免了它的不灵活。 此外,多核处理器并行执行指令的数量远少于现有FPGA,且需要更复杂的驱动和软件栈,因此相较FPGA,稳定性就更低,FPGA比多核处理器更具优势。
这些优势使得FPGA成为了实现快速原型设计和高性能嵌入式设计的一个理想的硬件元素。 FPGA技术也让设计师以更低的成本找到更快上市的捷径。 在FPGA芯片中能够加载新的逻辑并重新定义连接,因此无需硬件修改,就能让FPGA在未来进一步设计,实现可靠的更新。
行业范例
嵌入式系统中处理器和FPGA的组合在行业中越来越常见。 ePower Technology公司就是一个很好的范例,这家公司坐落在丹麦,专为肌肉测试和训练设备设计嵌入式控制系统。 他们开发SYGNUM能源培训系统采用了专利的五相电机,在练习运动时运用阻力,提供平稳流畅的控制。 他们使用FPGA来处理高速控制循环,使其保持速度和位置的设定值,并使用运行实时操作系统的处理器,来处理较低频率的控制循环。
另一个标准结构的范例是能源行业。 Xtreme Power是一家美国公司,它曾设计了一个分布式储能系统,其中涉及了基于多个处理器和FPGA的嵌入式控制。 FPGA可进行精确、高速的三相电源测量,并运行高级算法,以判定如何最佳应对电网不稳定问题。 处理器为其它分布式节点提供以太网通信,并允许远程数据访问、系统管理和诊断。
高层工具
除了标准的硬件架构,更高层的设计工具也相当重要,它们可以应对嵌入式设计所面临的日益严峻的挑战。 更高级别的工具允许领域专家们更密切地参与嵌入式系统设计,且能够使得设计团队规模更小、更为经济。在应用开发过程中使用较高层设计工具和语言可以提高效率, 通用计算就很好地证明了这一点。 不出所料,嵌入式市场已经开始见证高层设计工具的不断增长,例如Xilinx AutoESL C-to-Gates高层合成工具,Mentor Graphics Catapult C合成工具,与NI LabVIEW图形化系统设计工具。
设计团队由领域专家和系统架构设计师组成,高层设计工具可以使它们的规模变得更小控制工程网版权所有,开发进程会更有效率。 而前文提及的传统嵌入式设计团队的规模要大得多,它包含了更多各方面的专家,如FPGA设计师、ASIC设计师、Custom IC设计师、软件设计师等。 如此庞大的团队并行执行所有设计会相当困难。 每一组成员都必须了解领域专家的问题和需求所在,因为这涉及到他们的专业和执行方式。 将市场需求映射到系统特性中去具有一定的难度,领域专家和设计团队之间的沟通也有一定的困难,这导致需求不断变化,传统的设计团队工作起来相当棘手。
行业范例
有关高层工具和小规模设计团队的优秀行业范例不胜枚举。 Ventura Aerospace公司便是其一,这家小公司拥有硬物阻隔和灭火技术,为空运行业提供服务。 Ventura Aerospace公司凭借自身领域专家和系统设计组成的小团队以及NI图形化系统设计工具,为联邦快递公司开发了创新性灭火控制系统。 相比大型团队竞争对手,他们能够提供更经济、更高质量的解决方案,且速度要快得多。 Ventura Aerospace公司设计团队的成功充分证明了小型团队只要使用正确的工具就可以变得更富效率,且能比一成不变的传统设计竞争对手获得更多的市场份额。
大型、传统的企业开始越来越多地收购小规模、创新性公司,由此我们也可以看出小团队取得的成功。 OptiMedica公司将视网膜和青光眼资产出售给Topcon公司,这是嵌入式系统空间的又一范例。 OptiMedica公司是设立在加利福尼亚的一家小型创业公司,它已基于FPGA硬件和NI图形化系统设计工具,成功开发了新型眼科医疗设备。 Topcon公司成立于1932年,总部位于日本东京,是世界领先的眼科、验光、全球定位系统和定位控制系统制造商之一。 这一次成功出售,也体现了小团队利用基于FPGA的硬件和系统设计工具所取得的成功。
图2 Ventura Aersospace公司的小规模开发团队使用高层设计工具和现成即用的硬件,以及NI处理器和FPGA的标准架构,相比其它竞争对手,为联邦快递创造出了更高质量、更经济的解决方案。
嵌入式设计领域工具的下一步革新是集成平台,省去中间件的开发。 这些平台将标准的硬件架构与高层系统设计工具的优势相结合。 NI LabVIEW图形化系统设计软件和RIO硬件就是嵌入式领域中的集成式软硬件平台。
NI提供的集成式嵌入式平台可以免去嵌入式设计的中间件的开发。 LabVIEW软件提供了一种高层的、系统级的设计方法为RIO硬件进行编程,其中包含多核处理器和FPGA。 领域专家因此可以使用无缝工具,大幅降低了传统嵌入式设计的挑战。 未来的嵌入式设计将使用相似的工具和平台,因为它们可以越来越多地为实现创新消除各种障碍。