基于CANape-Matlab联合仿真的旁通技术研究与实现

2018-07-04 07:25马开献
汽车电器 2018年6期
关键词:旁通子程序原型

马开献

(维克多汽车技术上海有限公司,上海 200050)

随着科技的发展,时代的进步,开发工具在ECU开发当中起到越来越重要的作用。同时一些先进的开发流程和开发理念也逐渐在国内被采用,如基于模型开发的V-Model流程。一旦ECU批量生产,如果对其功能进行升级,目前比较通用的方法就是采用旁通技术。

旁通技术特别适于为ECU添加新的算法以及对原有算法的优化。原有的ECU控制器仍然执行其全部应用程序,而新的算法同时在原型系统上执行。在ECU设计阶段可通过旁通技术获得极大的设计灵活性,使设计不受原有ECU的RAM、ROM、I/O以及Processor处理能力的约束。

1 CANape简介

CANape是由德国VECTOR公司开发的,可用于ECU开发、标定、诊断和测量数据采集的综合性工具。CANape主要用于ECU的参数优化,它在系统运行期间同时标定参数值和采集测量信号。同时CANape支持众多的接口,如CAN、LIN、FlexRay、MOST、Ethernet、K-Line等,如图1所示。也支持很多协议,如KWP2000、UDS、CCP、XCP等。目前CANape与Matlab无缝集成,使得CANape强大的通信功能与Matlab/Simulink强大的功能建模能力结合在一起,为ECU的开发提供更有力的支持。CANape通过ASAP3协议可以与台架进行结合,通过控制台架的上位机软件,实现自动定标功能。使用CANape自带的脚本语言,用户可以开发与诊断相关的Flash编程任务。使用脚本语言可执行诊断函数,并从ODX Flash容器中读取必要的信息和数据。可以使用ODX-F容器自动完成Flash功能,也可通过用户输入交互进行。CANape具备全面测试并分析相关的诊断通信的能力,这使它成为了进行Flash编程的一个理想开发环境。

图1 CANape支持的接口类型

为了缩短Flash编程过程的执行时间,VECTOR提供了一种压缩传输数据的方法,可使用CANape中针对Flash Bootloader CANfbl的扩展功能和相关的压缩功能。为优化Flash过程,CANape也支持对多个ECU并行编程,同时支持旁通技术的开发。

2 旁通的原理及实现

在ECU开发过程中,经常会频繁地将重要功能导出到外部仿真系统,这样可以花最小的代价来运行这些功能。直到仿真模型中的算法达到一定的成熟度,开发工程师可以将仿真模型生成代码,这些代码可与其它的ECU代码一起编译并烧写到ECU中。然而,在此之前,可以使用一种被称作“旁通”的技术(该技术耦合了真实ECU及其模型),通过旁通可以在开发初期不依赖硬件进行测试和优化算法。

在使用XCP的旁通技术中,XCP主设备使用DAQ从ECU中读取数据,将这些数据作为输入值发给模型并且使用STIM将模型返回的结果发送回ECU。使用普通的PC机平台就足以满足旁通和建模的要求。CANape作为一个高度优化的XCP主设备,可以同时处理真实ECU及在PC机上运行的算法模型之间的通信。

ECU中需要被旁通的功能通过总线网络把该子功能的参数变量传递给原型系统,并由原型系统对获得的参数变量处理完毕后,同样通过总线网络返回原型系统的处理结果,ECU用该结果替代子程序返回值,从而实现对ECU子功能的旁通。实现旁通原理图如图2所示。

图2 实现旁通原理图

例如ECU中需要被旁通的子功能y=f(x)的参数x通过XCP协议以数据包的形式传递给原型系统;原型系统调用相对应的旁通子程序y’=f’(x’)完成对参数x的运算后,通过STIM返回函数值y’。由于子程序中的y’与y在ECU中被设置为相同地址,函数f(x)的返回值y被y’取代,从而实现了原型系统f’(x’)对ECU子程序f(x)的旁通。旁通技术实现参数传递流程图如图3所示。

图3 旁通技术实现参数传递流程图

根据原理建立简单的模型来验证其可行性,其模型通过Matlab/Simulink进行创建,实现旁通模型如图4所示。

图4 实现旁通模型

在该模型中,通过加法算法进行旁通计算,对于加法算法有2个输入:输入1为ECU内部算法经过计算进行输出,该变量名为Channel1;输入2为常值,该变量名为Testbyte0,可以通过CANape对其值进行实时修改;经过算法计算过后进行输出到ECU中,该变量名字为Period。在Simulink环境中对模型进行配置,选择固定步长,选择cnp.tlc目标平台,编译生成该模型对应的DLL,然后把DLL调入到CANape中,把Input1和ECU中的某一个变量进行关联,同时把Output也与ECU中的某一个变量进行关联,此时就建立好旁通,在CANape中设置Input1和Output的周期均为10ms,通过XCP协议命令进行上传和下载,从而实现旁通中的DAQ和STIM命令。仿真结果如图5所示。

图5 仿真结果图

根据仿真结果可知:当输入2发生变化时,其输出也随之变化,同时Simulink的输出又是ECU的输入,因此输入1也随之发生变化,从而实现了旁通的功能。

3 结论

根据CANape和Simulink的联合仿真结果,可知CANape软件平台可以实现旁通技术,同时相对于硬件平台的成本已经大大降低。通过旁通技术,可以加快ECU的开发,缩短开发周期,提高开发效率。

猜你喜欢
旁通子程序原型
数控加工中数控程序的简化
混合级联特高压直流输电系统旁通对过负荷保护优化
子程序在数控车编程中的创新应用
包裹的一切
电控增压器旁通阀的控制及诊断方法
储备
《哈姆雷特》的《圣经》叙事原型考证
2014款凯迪拉克XTS车急加速动力不足
人人敬爱的圣人成为了 传说人物的原型
在数控车床上加工软轴零件