基于CANoe-MATLAB的车辆CAN总线的联合仿真基于CANoe—MATLAB的车辆CAN总线的联合仿真/李顶根,曹晶,张杰计算飙应用基于CANoe-MA TLAB的车辆CAN总线的联合仿真李顶根.曹1.华中科技大学能源与动力工程学院.武汉晶1.张杰z430074:2.浙江万向集团技术中心,杭州311215)摘要:为了搭建具有多个车辆电控节点及传感器节点的CAN(ControllerAreaNetwork)总线网络仿真系统,使用CANoe-MA TLAB接口将MATLAB/Simulink强大的建模功能与CANoe完善的总线仿真功能相结合,对带有AT(自动变速器)和发动机进气系统模型的CAN总线网络进行联合仿真.由MATLAB/Simulink仿真发动机进气瞬态过程,AT两参数控制策略,由CANoe仿真CAN总线网络通信,验证两个节点之间的联合控制的实时性和准确性.结果表明,由CANoe及MATLAB/Simulink搭建的联合仿真系统对汽车多节点的综合控制和CAN总线系统的仿真提供了更加便捷的方法,且具有很强的扩展性.关键词:CANoe—MATLAB接口:CAN总线:自动变速器:发动机进气中图分类号:U463.6文献标志码:A文章编号:1005—2550(2009)06一o057—05 Co-simulationofV ehicleCANBUSBasedonCANoe-MATLABLIDing-gen,CAOJing,ZHANGJie(1.ShoolofEnergyandPowerEngineering,HuazhongUniversityofScienceandTechnolog y,Wuhan,430074,China:2.TechnicalCenter,WanxiangGroup,Hangzhou,311215,China)Abstract:InordertobuildtheCAN(ControllerAreaNetwork)busnetworksimulationsyste mwithseveralvehicle'Selectricalcontrollerandsensornodes,CANoe—MAT 【ABinterfaceisconnectedwithMATLAB/Simulinkwhichhas,. powerfulmodelingfunctionsandCANoewhichhasperfeetfunctionofbussimulation.They areisusedfortheunitedCANbussimulationwithAT(AutomaticTransmission)andtheengineintakesystem.Simulatingt heengineintaketransientprocess,thetwo—parametercontrolstrategyofATbyMATLAB/Simulink,thensimulatingtheCANbusnetwo rkcommunications,toauthenticatetheaccuracyandreal—timeofthecontrolbetweentwonodes.TheresultshowsthattheCO—simulationsystembuiltbytheCANoeandtheMA TLAB/Simulinkprovidesamoreconvenie ntmethodoncompositecontrolandCANbussystemsimulation,whichhasstrongsealability.Keywords:CANoe—MATLABinterface;CANbus;ATiengineintakeCAN总线在上世纪80年代由Bosch公司提出[.是一种有效支持分布式控制和实时控制的串行通信网络,现在主要为车辆网络通信系统的载体在CAN总线网络的开发流程中,需要对设计结果进行仿真评价,以确定所设计的总线网络系统模型是否完善,开发的协议是否能够符合设计要求.这就要使用专门的总线仿真工具.由德国VECTOR公司开发的CANoe软件所提供的~系列CAN网络系统级别设计分析开发工具就可以帮助研发人员进行完整的各项总线网络的系统仿真工作作为一个完整的网络仿真工具,CANoe能够同时仿真网络总线收稿日期:2009—09—15基金项目:浙江省重大科技攻关项目(2006C11155)作者简介:李项根(1977一),男,安徽桐城人,副教授,博士,主要从事汽车电子及发动机电控的研究.通讯和节点控制的各项功能.一般情况下,CANoe中所有节点的控制算法和控制功能需要使用CAPL (CANAreaProgramLanguage)语言来实现,它是一种C语言.但是由于CAPL语言的描述能力有限,因此对于控制算法和控制功能复杂的节点仿真是比较困难的,一定程度上限制了节点控制模型的开发而研发人员常用的MATLAB/simulink具有很强的构建复杂功能模型的能力,但是它对于总线网络系统的仿真却不完善.VECTOR最新的CANoe—MA T. LABInterface能够将CANoe和MATLAB/Simulink连接在一起,取长补短,将CANoe强大的总线仿真能力与MATLAB/Simulink完善的建模能力结合在一起,为车用CAN网络及各种电控节点单元开发提供了更有力的工具支持.在安装CANoe-MA TLABInterface软件之后,MATLAB/Simulink的模块库中57?计算飙应用汽车科技第6期2009年11月出现一组属于CANoe的输入和输出模块.包括环境变量输入输出,报文输入输出,信号输入输出,CAPL程序触发等,如图1所示.叵叵叵区报文输入报文输出信号输入信号输出环境环境变量输入变量输出图1CANoe—MATlJAB接口输入输出模块将这些CAN0e的输入和输出模块替换Simulink模型中原有的输入和输出模块.并添加SimulationStep模块,即可将CAN0e与Simulink连接在一起.CANoe-MA TLAB接口有两种使用模式[3].一种是离线模式,一种是硬件在环回路模式在离线模式下,仿真在Sireulink中进行.利用CANoe接口模块读,写CANoe中的环境变量或信号,从而形成系统的输入和输出.离线模式作为一种非实时仿真,多用于设计阶段初期的模型验证环节:硬件在环回路模式则是一种实时仿真.在CAN0e的仿真环境中调用并仿真节点功能.可以用来测试和验证真实的网络总线和节点1AT与发动机进气系统的建模与仿真由MATIJAB/Simulink分别建立A T控制模型和发动机进气系统模型,作为CAN总线系统的节点, 使用CANoe—MATLAB接口的MessageOutput及MessageInput模块发送或接收总线系统的报文,通过CAN0e监控测试仿真总线系统的各项属性. 1.1AT模型AT系统控制模型由发动机模型,液力变矩器模型,车辆模型,控制器模型,驾驶模型和道路模型组成.其中,换挡控制器模型以车速和油f-1为控制信58?号,采用不同的控制策略确定最佳挡位:驾驶模型模拟驾驶员,脚踏板以及转向盘等的输入,其中节气门开度信号从总线上接收,由发动机进气系统节点发出:道路模型给定仿真条件:车辆模型根据车辆系统动力学换算出车速,并广播到总线.供其它节点取用.AT系统框图如图2所示,图中,为发动机扭矩;是变矩器模型反馈的扭矩修正:是变矩器的输出转矩;n为发动机转速:nT为变矩器输出转速:而与分别为发动机模型与车辆模型中的转动惯量:F表示传动系输出力风:坡滚道路阻:阻阻模型图2AT模型系统框图1-2发动机进气模型发动机进气模型由三部分组成:节气门体子模型(ThrottleModel1),进气门子模型(CylinderModel1),PCV(曲轴箱强制通风)子模型(被封装在进气门子模型当中),如图3所示.PCV系统是利用进气系统和曲轴箱的压力差.实现曲轴箱通风换气,减少曲轴箱中的有害气体排放到大气当中去.另外,节气门体子模型中的节气门开度值信号发送到总线,由AT节点收取,用于"两参数"换挡控制策略中,实现实时控制.另外.总线接口由CANoe—MATLABInterface提供的报文输入输出模块将模型里的物理信号数据图3发动机进气系统模型Scope2基于CANoe—MATLAB的车辆CAN总线的联合仿真/李顶根,曹晶,张杰计算机瞳用发送到总线,如图3所示.另外也在总线接口处添加Simulink的Scope模块,监视总线上发动机进气系统瞬态流量及压力情况,并用于之后仿真结果验证之用AT与发动机进气系统进行联合仿真的总体模型如图4所示1.3总线系统联合仿真MessageOutputMessageOutputMessageOutput在总线网络系统设计初期的需求分析阶段.对于网络中的各个节点.由于其所实现的功能不同, 其CAN网络通讯功能也具有不同的要求CAN网络功能可以包括CAN驱动,交互层,网络管理层, 传输协议,诊断系统,实时操作系统,网关服务,标定系统等各个方面当然,各个ECU根据自己的功能需求以及成本要求,也许并不需要上述所有网络功能,只需实现部分网络功能即可在本系统中除了AT及发动机进气系统模型本身故有的模块之外,还建立了总线输入输出模块完成网络模型的构建.并提供节气门开度信号供两节点分别发送和收取,可以实现两节点联合控制的仿真过程首先使用CAN0e的CANdb++模块建立网络数据库,描述仿真对象总线的属性,包括节点(n0de), 报文(message),信号(signa1),环境变量(environment variables).创建和管理前述分布式网络定义和通讯数据.在传输层中需要定义总线报文,信号,而模型中传感器则是通过定义环境变量实现通过通讯矩阵能检查出概念定义的一些错误并及时改正.同时可以帮助对网络进行优化对象的信号数量不多,也暂不需要扩展性及高速度,因此可以在满足传输速率的前提下选择更为简短的CAN2.OA协议定义各个报文IDs.每个控制节点发送信息的类型都是有ID来表示的.如表1 所示.总线上的信息按照优先级分为5类.由最高O01H到最低101H依次是:紧急信息,广播信息,命令信息,状态信息,数据信息,优先级高低不但在CANID中表现,还需要具有高优先级的报文的发送周期更短,可以避免由于总线繁忙而延时由于涉及交互层的数据传输,数据库在CAN0e d}】++中选取V ector—IL—Basictempiate.dbc形式CAN总线是时间响应型总线,所以仿真中报文的发送类型及发送周期是在数据库中定义的.为循环发送(cycle)及定周期发送,这里设置的周期值要根据报文的类型而定图4联合仿真的总体模型表1报文ID分配MATLAB/Simulink优先级信息类型报文ID报文名称OlOH广播信息2EOH车速1OlH数据信息3E0H节气门开度10lH数据信息4EOH进气量lOlH数据信息5EOH进气歧管压力lOOH状态信息6EOH捎位值looH状态信息7E0H离合状态将建立好的CAN总线数据库导入CANoe中的ModelGenerationWizard中.即可生成CANoe的仿真配置文件在总线配置文件中设置Graphics窗口就可以同样监视总线上信号的波形变化.另外.Trace窗口则监视各个报文的发送,接收时间,报文值等,Data模块测试总线属性值整个系统仿真过程基于CANoe-MA TLAB接口的离线模式,此模式下CANoe作为MATLAB/ Simulink的附属模式启动当开始运行Simulink模型的时候,CANoe会自动打开总线监测.并显示总线报文数值,信号值,可以用于反馈Silnulink模型的准确性及实时性2仿真结果分析仿真验证的目标包括,一方面是对MATLAB/ Simulink控制模型的仿真,检验各节点控制模型的功能定义和建模的正确性.观察其结果是否符合设计要求:AT系统两参数控制策略以避免亡乱的换挡",满足"加速过程不降挡,减速过程不升挡"的策略.同时还要验证传输层CANoe与MATLAB传输通讯的;隹确性及实时性,由Simulink的Sc0De模块中的波形与CANoe的Graphics模块的波形是否一致,是否有延时,以及查看报文信号是否完整地在总线上按周期发送及接收.另一方面,充分利用CA—Noe提供的各种报文,信号显示工具和总线统计工59?计算飙应用汽车科技第6期2009年11月具完善CAN总线系统的设计,不出现错误帧,从而使整个网络通讯功能最优化.2.1MATLAB/Simulink模型仿真结果仿真过程车速变化情况见图5所示.挡位变换见图6所示.整个仿真过程车速由0起步,最高可至l{1廿一100km/h,其中并带有加速和减速过程:挡位由1挡启动,加速过程分别在20km/h,40km/h,60km/h左右升挡,最高挡位至4挡,之后的减速过程为制动过程,降挡迅速且不忙乱,最后经过一段加速后保持匀速,挡位保持稳定.时间,s图5AT节点车速仿真结果图6AT节点挡位仿真结果由图5,图6可以看出挡位变化是非常平稳的,完全按照设计的换挡时刻换挡.没有出现"忙乱的换挡"的情况,满足"加速过程不降挡,减速过程不升挡"的策略.如果节点控制模型使用CANoe的CAPL 编程.程序量将非常大,而MATLAB/Simulink建模强大的建模能力正好能弥补CANoe这方面的不足, 很好地完成建模任务.2.2CANoe—MATLAB通讯仿真结果验证通过MATLAB/SimuIink中的Scope模块显示数据图形与CANoe中Graphics模块中报文信号物理值曲线相比较,用以验证通讯的可靠性,AT节点发出的车速信号如图7,图8所示.60?图8CANoe监视总线的车速信号通过图7,图8比较显示,车速信号分别在40s和75S处有两处极大值.分别为83km/h和100km/h.CANoe上并没有出现比MATLAB/Simulink中的数据点延时现象,两者数据吻合,证明通讯是畅通的.对于发动机进气流量的仿真如图9,图10所示.图7MATLAB/Simulink仿真的车速图9MATLAB/Simulink仿真的发动机瞬态进气流量I_q.g对奸基于CANoe—MATLAB的车辆CAN总线的联合仿真/李顶根,曹晶,张杰计算机应用图10CANoe监视总线进气流量信号通过图9,图l0比较,两者发动机瞬态进气量的峰值位置及宽度是相互吻合的.由于MATLAB与CANoe是两个不同的软件,数据通讯还是会存在一定误差,通过取点比较,各点数值相对误差的平均值仅有0.43%.几乎不会影响模型的准确性MATLAB/Simulink可以很好地建立复杂模型.但是却对CAN总线的协议仿真及CAN总线属性测试方面没有很好的支持.这一点正好是CANoe的强项,两者互补,对整个CAN总线网络仿真系统具有很全面的掌控.CANoe的Traee模块可以实时监控节点报文信号的编码及物理量数值.Data模块用于测试CAN总线各项属性值.由CANoe仿真结果表明,总线负载率为0.8%,误码率为O,没有错误帧发生,各项属性是符合设计使用要求的.3总结CANoe—MATLAB接口具有很强的实用性.它将CANoe强大的总线仿真能力与MAILAB/Simulink强大的建模能力结合在一起,既弥补了CANoe的CAPL语言对于复杂模型建模能力的缺失,有利于减少总线开发人员的编程量,也很全面地完善了MATLAB/Simulink对CAN总线协议仿真及总线属性测试能力的不足,简化设计的冗杂,也更利于检查出模型的缺陷,完善模型的算法和控制策略.此仿真方法必将有很广的应用参考文献:[1]闫在春,程夕明,南金瑞,等.燃科电池客车CAN通信协议仿真[J].系统仿真,2006,18(9):2381—2455.[2]恒润科技.CANoe—MAnAB接口帮助文挡.北京:北京恒润科技.2008.[3]VECT0RInformatik.CANoeaddOnMA1LBInterface UserGuide.Germany:V ectorInformatikGmbH,2008.『4]恒润科技.整车CAN系统开发工具解决方案.北京:北京恒润科技.20o6.[5]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社.1996.[6]程军,崔继波,苟凯英.车辆控制系统CAN总线通信的实施方法[J].汽车工程,2001,5(23):300—305.[7]赵明,高松,杨效军,等.客车车身CAN总线网络通讯协议的制定与实现[j].农业装备与车辆工程,2006,(2):29~32.[8]过学迅.汽车自动变速器——结构?原理[M].北京:机械工业出版社.1998.欢迎订阅《辜科技杂志邮发代号:38—343定价:5.00元,本全年定价:3O.0o元<汽车科技>杂志系东风汽车有限公司主办,国内外公开发行的综合性技术期刊.本:FIJ在国内外享有较高的知名度,现为双月刊,大l6开本,单月25日出版经邮局向全国发行.国际统一刊号ISSN1005--2550,国内统一刊号CN42一l323,U.(汽车科技)杂志创刊于1973年,已有35年的办刊历史.曾荣获"湖北省优秀科技期刊"等奖项,被列入(中国期刊网>,<中国学术期刊(光盘版)),(中国核心期刊(遴选)数据库>,<中国期刊全文数据库),<中国学术期刊综合评价数据库),<中文科技期刊数据库)全文收录期刊.本刊设有特稿,聚焦东风有限,综述,设计?研究,工艺?材料,计算机应用,管理,试验?测试,使用?维修等栏目.多年来,<汽车科技)杂志为广大读者提供了大量的科研成果,专家论述及国内外汽车行业的前沿信息.本刊以实用技术为主.真诚欢迎汽车行业的企事业单位,大专院校,技术人员,管理人员,汽车驾驶和维修人员及汽车爱好者到各地邮局订阅单位名称:东风汽车有限公司科技情报所(汽车科技)编辑部地址:湖北省武汉市经济技术开发区东风大道10号电话:027—8428375584283753传真:027—84283757邮编:430056l¨I_.Il¨_I.l¨¨,¨|.I.一….|Ⅲ.川lh..¨.¨."P..'h…¨.…..…¨……, -61?。