软件向自动模式转化

发布者:神秘行者最新更新时间:2014-01-04 来源: 21ic关键字:自动模式  自动代码  ACG 手机看文章 扫描二维码
随时随地手机看文章
汽车制造商们一直致力于将工业自动化不断推向新的高度。现在,他们在设计进程自动化领域更花功夫。随着软件复杂性的增强,他们将致力于在不牺牲稳定性的前提下,将研发重心向自动代码生成(ACG)和缩短量产时间转移。

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

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

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

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


Vector CANtech公司工程师用自动编码开发网络软件

自动编码的好处

软件技术日益成为促进汽车制造商差异化的关键—他们可以用软件添加特色和功能。对于动力传动系统而言,编程也很关键。适当的编程能够提高性能参数、燃料经济性,降低排放。自动代码生成的最大好处就是:机器编码比人类快得多。“显著降低开发时间,”天合汽车公司电动转向系统高级软件开发工程师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说。
关键字:自动模式  自动代码  ACG 引用地址:软件向自动模式转化

上一篇:高压看门狗定时器提高车载系统安全性
下一篇:汽车防盗报警系统常见故障原因

推荐阅读最新更新时间:2024-05-02 22:54

自动生成代码工具使用教程(二) FreeMaster调试
对于使用调试口,下位机不需要做任何特别的设置,直接按照链接中设置方法来设置上位机即可,注意FreeMaster只能监测下位机中的全局变量。链接地址:https://blog.csdn.net/u010875635/article/details/84789579 若是使用普通通讯口,则下位机需要做一些额外的工作。 由于暂时的版本FreeMaster自动配置的Bug,会导致许多编译错误,所以我们手动添加FreeMaster,而不使用Processor Expert自动生成。 先我们要提取出FreeMaster文件夹中我们需要的文件。可以参考上面的连接地址。 1、提取到的文件夹我们放到项目根目录 2、在项目右键属性
[单片机]
<font color='red'>自动</font>生成<font color='red'>代码</font>工具使用教程(二) FreeMaster调试
自动驾驶的一个概念、二个模式、三个要素、四个方向、五个模块、六个等级
自动驾驶的发展给智能交通的实现提供了更多的可能,随着低速自动驾驶的逐渐普及与各地区高速自动驾驶试验区域的开设,我们生活的方方面面都开始有自动驾驶身影的存在。自动驾驶技术的提升也让自动驾驶的发展模式愈发统一,其概念也越发清晰,今天智驾最前沿就带大家来聊聊自动驾驶中的一、二、三、四、五、六。 一个概念 一个概念即是指自动驾驶的概念,自动驾驶,又称为无人驾驶汽车、电脑驾驶汽车、无人车,是一种通过高级辅助驾驶系统对驾驶员进行辅助或者不需要通过驾驶员进行操作的车辆。作为自动化载具,自动驾驶汽车可以不需要人类操作即能感知其环境并对需要出行的路径进行导航,自主完成出行过程。 全自动驾驶汽车通过雷达(激光雷达、毫米波雷达)、车载摄像头
[汽车电子]
用STM32F407玩控制—模式设别法PID参数自动整定
模式设别法PID参数自动整定,是指在闭环系统阶跃响应下(也可以是扰动响应下),设别出衰减比和振荡周期,这是主要两个量,另外也需要判断欠阻尼和发散振荡的情况,然后据此调整PID参数,理想目标是以4比1幅值衰减,这些量的辨识应该说并不难,但由于干扰的存在,问题就变得很复杂,识别有关状态后,就进行PID值得修改,这里修改就存在一个过犹不及的尴尬,pid参数调整幅度小了,就要增加次数,调整幅度过猛了,又要反过来再调,对这个系统是合适的调整,对另外一个未必是合适的调整,也不存在折中的办法,我们做的模式设别法PID参数自动整定效果如图1-图6所示,图1中系统响应曲线是振荡的,调整PID参数后,系统不再振荡,但调整过程时间太长,再一次调整PID
[单片机]
用STM32F407玩控制—<font color='red'>模式</font>设别法PID参数<font color='red'>自动</font>整定
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved