合作开展设计与测试
扫描二维码
随时随地手机看文章
试飞阶段的BA609倾转旋翼机在意大利北部的阿尔卑斯山上空以飞机模式飞行。
强大的高级软件工具使航天工程技术、医疗电子设备等多种领域的专家能越来越多地控制嵌入式系统的设计与验证。而且,工具自身也在调整,用于测试的图形设计环境目前在帮助完成设计流程,而设计、建模、模拟工具则在促成硬件在环(HIL)测试等方法。
在2008年嵌入式系统大会的一次小组讨论期间,用行业专家代替电气工程师的想法被广泛传播。倘若人们关注一下相关事件的当前状况,就会发现行业专家和高级系统体系结构设计者已经获得了相当强的能力,能够参与整个嵌入式系统设计流程。但对C代码编写者和硬件工程师的需求并未消失。多数情况下,行业专家和电气工程师是在携手把日趋复杂的产品迅速推向市场。
在2009年5月接受一次采访时,The MathWorks公司院士Jim Tung在谈论2008年的这次小组讨论时说道:“促成讨论的前提是那些必须实现嵌入式系统的人和那些知道需要实现哪些内容的人,他们从不知道如何彼此交谈。当然,世界已经离开了那个起点。你现在看到的当然是协作。那些具备必要实现技能来交付具有特定功耗和性能曲线的人,可以更高效地与行业专家合作,后者知道功能必须是什么样子。”他说,促使上述协作变为现实的,正是类似The MathWorks公司的Matlab和Simulink这样的高级语言。
测试软件用于设计工作
另一家在与行业专家合作方面看到机遇的公司是National Instruments公司(NI公司)。NI公司一直在宣传它的LabView图形设计软件,它最初是提供测试与测量应用,作为一种嵌入式系统设计工具。
Alliance Spacesystems公司为NASA制造机器人等机械电子系统,它就是在嵌入式系统设计领域成功使用NI公司工具的客户之一。Shelley Gretlein是NI公司的LabView实时嵌入式产品营销经理,她把这家客户的机械电子部描绘成一个由航天、机械、电气、控制工程师彼此合作而结成的多学科团队。Gretlein说:“这里单纯运用电气工程技术或嵌入式经验的情形比别处少得多。更多时候,你会看到具有不同背景的人在构建这些系统。”
NI公司生物医药细分市场负责人即嵌入式软件经理PJ Tanzillo以另一位客户为例,后者在某个嵌入式系统设计项目中成功应用了NI公司的工具。该客户就是Sanarus公司,它在开发肿瘤治疗用Visica 2冷冻消融系统时使用了这些工具。Tanzillo没有把该项目的系统工程师Jeff Stevens说成是行业专家,而是一位电气工程师,他的专业知识培训不是在编码和硬件优化级别进行,而是在系统体系结构级别进行的。这类系统体系结构设计师也许能够把他们的天分应用于机器人、医疗电子设备等多个学科,不过Tanzillo表示:他们了解底层技术,尽管未必深入到了为ADC开发驱动程序或为FPGA编写HDL代码的程度。
设计Visica 2
笔者曾与Stevens交谈,以便了解他对领域专业知识和嵌入式系统设计的看法。他说自己是一位系统工程师,拥有电气工程学位,以前从未编写过最终投入使用的代码。他说:当他于2005年11月加入Sanarus公司并担任首席系统工程师,并且面临四个月期限来开发Visica 2的完全可用原型之后,事情发生了变化。
只有一个小团队从事这个项目,这使该项任务变得更具挑战性。这个四人团队还包括项目经理、机械工程师,以及一位“超级技术员”,他拥有心理学学位,但在原型制作方面很有创造性,并且能焊接电路板。Steven说:“总之,我认为8个月也许足以完成电路板、代码编写和集成工作,但4个月绝对不行。”
就在那时,他见到了NI公司的代表,并研究了该公司的CompactRIO平台,把它作为嵌入式代码的硬件目标,能运行他在LabView上开发的软件。他从以前工作的那些公司的测试业务部听说过这种工具,但从未用过。他把自己的案例向Sanarus公司管理层做了汇报,并获准采用NI公司的方法。在NI公司支持人员以及Cal-Bay公司一位开发人员(他花了一周时间把LabView最佳实践教给Steven)的帮助下,他说:“我在4个月预定期限内很轻松地完成了工作原型。从需求文档到第一笔收入,Visica 2只用了14个月时间。”
更高的抽象级
Visica 2项目是在没有传统嵌入式系统设计师干预的情况下完成的项目之一。但它也许是证明该规则的一个例外。The MathWorks公司的Tung说:“想想‘过去的好日子’,如果你想得到在你的台式机上运行的高性能软件,你就必须用汇编程序编写代码。编译器的优化使人们不再那么需要在这个级别工作,因此他们可以工作在更高的抽象级——比方说C代码。”