汽车电子中的自动编码及测试自动化技术

2015-08-10 10:59:28来源: vihome
汽车制造商们一直致力于将工业自动化不断推向新的高度。现在,他们在设计进程自动化领域更花功夫。随着软件复杂性的增强,他们将致力于在不牺牲稳定性的前提下,将研发重心向自动代码生成(ACG)和缩短量产时间转移。

在现在这个时代,最复杂的汽车可能拥有超过100个微处理器、超过1亿的编码行数(LOC)。而且目前我们还没看到任何迹象表明:这种不断增长的软件发展势头未来会受到遏制。令人惊讶地是,甚至许多资金短缺的公司,也在试图用机器而不是人类来解决这项技术挑战。其实自动代码生成很久以前就应用于这个行业了,现在看来,它正处于迫切需要突破的临界点。自动代码生成工具,有利于使设计原形进入量产。它们创造了易于维护的编码,也有助于工程师创建复合系统,快速进入市场。

“当人们将注意力转向较大型项目、更复杂的运算法则以及32位浮点芯片时,自动编码将成为主流,”MathWorks公司汽车行业部经理Wensi Jin说;“对于混合动力车相关项目而言,这种方式很适用,不需要和海量的修改代码打交道。”

新兴技术领域对自动代码生成特别感兴趣—绝大多数的设计团队都采用编码发生器,进行免修改编程,比如为主动安全和电动转向系统设计编码。现在,汽车制造商们在高级人机界面上应用此技术的机会也越来越多。

“随着越来越多的汽车采用图形显示和人机界面,汽车工业将采用更多工具手段,集中在图形用户界面设计、在实际设备上生成代码,”微软汽车组项目经理Walter Sullivan说。

自动编码的好处

软件技术日益成为促进汽车制造商差异化的关键—他们可以用软件添加特色和功能。对于动力传动系统而言,编程也很关键。适当的编程能够提高性能参数、燃料经济性,降低排放。自动代码生成的最大好处就是:机器编码比人类快得多。“显著降低开发时间,”天合汽车公司电动转向系统高级软件开发工程师Jon Chalmers说:“虽然开始时比较费时间,但是到项目收尾时,成效明显。“

众多观察家认为:手动编程已经不再能够满足行业需求。多年前,汇编语言就开始给C语言让位了。C语言将编程提高到一个更抽象的高度,让开发者能够在同一时间生成更多软件,错误更小。“基于模型的开发将超越C语言迈出一大步,”dSpace公司北美产品经理DirkFleischer说。“更抽象就意味着更不复杂,”自动代码生成工具,在最大程度上消除了一些普通编程错误,比如上溢。

采用模型和编码器,还有助于提高稳定性。因为软件能够在硬件功能完善前获得严格审核及修改。“在电子设备硬件完备之前,设计师可以将自动编码软件放在dSpace盒子中,进行硬件在环测试,”Chalmer说:“还可以尽早调整运算法则—这样当我们把盒子装到汽车上时,对其性能更有信心。”

业内对此技术的信心越来越强,已经将其进一步扩展到提高编码效率的应用上了。曾经有负面观点称:编码器会使软件无法承受、力不从心,占用更大内存和处理功能,超出汽车制造商的预期。

但是现在情况有所改变。“随着自动代码生成工具日益完善,将逐渐接近手动编码实现的效果,”Vector CANtech公司内嵌软件高级项目工程师Ralf Fritz说。

许多程序员称:机器生成代码的效率仅比优秀的手动编码高几个百分点。对于许多在其新项目上用自动代码生成技术的公司而言,这个结果还算令人满意。

自动代码生成不会产生额外工作。但是像许多新技术一样,开始时比传统项目需要花费的时间长,也需要一定的培训或较高的实践经验。

“设定一项自动编码项目是比较复杂的,”天合汽车公司产品总工程师Richard Blachford说;“先确定一个项目,然后用工具以你想要的确定方式生成代码。在此过程中,还需要一两个对自动编码工具没有抵触情绪的软件专家。”

挑战随之而来

随着自动编码在新领域得到更大应用、在大多数系统设计里应用更广泛,免修改代码也出现了—毕竟,没人喜欢改来改去。将机器生成和手工编写结合,对于那些在这个要求高可靠性工业工作的人而言,是一大挑战。

只要在这个领域工作,就需要提高效率、尽快修改不合适的编码。工具供应商承认:在此领域还有很多工作需要去做,“今天我们所面对的重要障碍,就是在免修改环境下的自动代码生成工具集成,”Etas公司产品市场经理VivekJaikamal说。

还有一些挑战比较简单,只要求尽可能减少耗费时间。但是在复杂领域(比如动力传动和安全领域),数据价值变动频繁,程序员必须想法子找到解决之道。

“必须搞清楚如何实现这样的功能,这相对较简单,”MathWorks公司内嵌应用经理Tom Erkkinen说:“如果拥有大量的、还未清楚传送出去的全球数据,很难洞悉未来走向。”
在设计进程中,设计师们还必须面对一个挑战,即:需要程序员修改软件。通常,程序员能够找到容易修改的方式。但是绝大多数观察家认为:很少有人回应这种需求,通过手动编码修改软件。

“如果要消费者自己修改,有时他们会觉得手动的速度更快,”Vector CANtech公司内嵌软件产品线经理Robert Miller说:“但是当你在整个生命周期内做修改,就需要重新生成代码。如果采用手动生成的话,这些变革通常不会实现。

当编码随着供应链移动时,这点特别重要。如果卖方手动修改编码,当OEM商通过同一种编码器查阅编码时,会改变其中记录的信息,卖方对编码的改动可能丢失。

如果用人工进行此类改动,原模型将不再呈现量产时的代码信息。那么在后续项目中,软件工程师就得不断更新手动修改过的软件,还要决定是否使用原始模块或修改过的原代码。
“如果选择质量已经过检验的修改过的原代码,功能模块的价值将逐步消退,”Etas公司的市场副总裁Jeff Kessen说:“代码生成后的修改,可能不会传递到新项目上。”

修改自动生成代码,会扰乱进程持续性,为重新使用带来障碍。现在,越来越多公司在整个开发周期均采用自动编码软件。“但是还有很多公司不信任自动编码,所以他们用它作原型模块,用手动编码量产,”美国国家仪器公司硬件在环(HIL)和动态测试产品经理Chris Washington说:“随着工具公司日益优化代码生成方式,这种情况将越来越少。”

自动编码带动测试自动化

绝大多数自动代码生成(ACG)的拥趸者,都致力于降低开发时间、增加软件的再利用率。但是对于许多人来说,自动代码生成的一大关键好处,就是可以使开发者更容易地测试,确保耐用性。在建模过程中,自动代码生成使工程师更容易持续验证其理念和完成情况。
“所采用的实施方案越高级,就越能持续验证,”Chris Washington说:“这是获得最大好处的关键。”自动代码生成的好处,会在设计和测试过程中一直保持下去。设计团队希望节省时间,对创造成果再加工。能够采用已经考验证明成效的测试,对于手动设计团队非常重要。

“用自动编码来证明效用,是非常容易的,”MathWorks的WensiJin说:“还能再次利用自己的测试案例,大大提高生产率。”

自动代码生成能够满足的各种需求中,验证软件可靠性是非常重要的一项。消费者希望其寿命能够远超其他消费类产品。在这个汽车开始决定乘客生死的时代,性能可靠有效的软件,意义非常重要。“对于安全类系统,我们更关注验证进程,而机器生成的代码非常好用,”MathWork公司内嵌应用经理Tom Erkkinen说。

自动代码生成还有一个好处,就是使工程师团队的工作更轻松,即使没有在技术层面产生重大影响。它还能提供许多程序记录,为开发商提供进程报告。“自动记录能够减少检查的麻烦,”VectorCANtech公司Steve Traicoff说。

关键字:汽车电子  自动编码  测试自动化

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2015/0810/article_12665.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
汽车电子
自动编码
测试自动化

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved