Simulink把整个模型或者部分模型生成转化为嵌入式代码(embeddedcode)是个复杂的过程, 东莞谢岗登高车出租
新闻分类:公司新闻 作者:admin 发布于:2017-12-084 文字:【
大】【
中】【
小】
摘要:
Simulink把整个模型或者部分模型生成转化为嵌入式代码(embeddedcode)是个复杂的过程, 东莞谢岗登高车出租, 东莞谢岗登高车, 东莞登高车出租 但是代码生成工具可以简化嵌入式系统软件的开发。解释了simulink模型被RealTimeWorkShop生成*rtw中间文件,接下来MATLAB的TargetLanguagecompiler(目标语言编译器)把*rtw文件编译成C文件或C++文件。这个目标语言编译器有个设置模板需要设置,也就是simulink参数设置面板里关于RealtimeWorkshop的设置项*.TLC选项,当然也可以选择生C或C++代码。事先对模型进行了AUTOSAR配置所以选择生成的是autosar.tlc。Simulink是一种图形化建模工具,模型的每一个模块背后都对应相应的代码,在工程实践和应用开发中,工程问题都可以进行数学建模,利用图形表达整个模型从而解决问题。但是Simulink作为一仿真计算软件不仅仅能表达工程问题进行仿真计算而且能设计控制器对物理模型进行控制分析、调试和修改。达到满意效果后就可以把控制器生成目标板的代码。这样就跟传统的软件测试和调试相比更加简化了工作,提高了工作效率。
模型配置生成代码完成AT系统建模后,对系统进行如表所示的配置生成与AUTOSAR兼容的程序代码:要先选择SimulinkFixedPoint算法,Simulation/ConfigurationParameters菜单下/Real-TimeWorkshop/SystemTargetFile配置系统目标文件为Autosar.tlc文件。这样就可以控制模型的生成代码为AUTOSAR兼容类型。然后配置硬件类型devicevender为Infineno设置devicetype为Tricore等设置。以上为部分的代码生成要求的设置。然后进行Simulink模型到AUTOSAR的映射。 对模型端口映射,输入端口Inport到AUTOSAR的ImplicitReceive,输出端口Outport映射为ImplicitSend。Simulink的子系统配置为运行实体,Stateflow中的触发事件配置为RTE事件。输出调用底层驱动的配置为服务端口。这样就完成了输入输出映射到AUTOSAR的工作。
代码生成的要求和Simulink模型到AUTOSAR的配置完成后,生成代码报告包括了主要的.c文件和data文件以及模型描述文件。SIL软件在环测试对模型生成了目标代码后,模型在Simulink中运行和代码在目标板上运行的结果是否相同,仿真模型的行为和目标板运行行为是否一致。这就涉及到代码安全的问题,所生成的代码是否正确描述模型,是否在目标板上正确运行包括运行的速度是否一致,运行结果是否相同。即使模型是正确无误的,在生成代码过程中对模型进行了配置,对生成代码目标进行了自己定制,这样就有可能在生成的过程中引入错误。代码的功能就会发生偏差,所以做Software-in-the-LoopSimulation(SIL)软件在环模拟测试是非常必要的。SIL软件在环测试是一种对比性的测试,它的目的就是检测算法代码运行的速度和算法可行性,和算法代码与模型的一致性。 控制策略模块和与之对应的代码同时有相同的输入,分别是外部输入的油门开度信号和车辆模块计算得到的车速信号。整个仿真模型形成闭环回路,本课题采集了大量有门开度和制动力矩数据覆盖了车辆基本的行驶工况作为两者的输入来验证代码的有效性。 Simulink根据用户在生成代码配置时选择的为控制器类型产生一个目标微控制器模拟的模块代替微控制器模拟运行代码,本课题选用的AURIX233,测试模型的Scope显示模块第一曲线为模型计算挡位输出结果,第二曲线为代码计算挡位输出。观察两个输出结果在时间和数值都相同。说明代码运行正确。
处理器在环测试在整个模型中名为PIL的绿色的模块是代表生成的目标代码的在Simulink中表示模块。对模型和在环的处理器输入相同的有门开度和制动力矩信号两者输出在同一个Scope模块显示。PIL测试就是Simulink通过Simulink自带IDElink与目标板链接,这样代码就在目标板上运行,如果只是在处理器上验证一个算法的正确性,这样就就没有必要处理外围电路只要在控制算法代码中补充串口接收和发送的代码,这样目标板可以通过串口接收来自Simulink输入并且将代码运行的结果通过串口返回的Simulink进行对比测试。本课题将模型产生代码,把代码集成到AURIX233的开发环境Hightec中经过代码补充调试,编译后烧录到AURIX233开发板上,利用串口将开发板与上位机链接,代码在目标板上运行的结果返回到Simulink结果。
对比结果曲线处理器输出曲线相对后移线型与模型输出相同且数值相同,说明目标板上代码运行的速度较慢但结果正确。代码与目标处理器匹配。SIL、PIL测试都是对比性验证代码的正确性两者是递进的关系,SIL是代码在Simulink中运行,Simulink只是模拟用户选择的目标处理器但仍是在Simulink中运行这样代码运行的速度较高,实时性较好。但是PIL将模型生成代码通过编译器编译后形成可执行文件,代码在目标板上运行另外经过串口线传输到上位机,相比模型输出较慢,但可投入实用。
主要对控制器模型进行了生成代码的配置,代码生成后进行了软件在环代码测试和处理器在环测试。代码运行结果与模型结果相同,误差在允许范围内证明有效可用。556ECU配置和底层程序整合Simulink生成的AT软件组件arxml描述文件,包括软件组件、运行实体、接口和数据类型等,按照描述文件和开发环境的习惯,在英飞凌Hightec开发环境中完成软件组件之间进行端口映射,添加基础层软件相应硬件端口,进行基础层软件和RTE中间层的配置,完成基础层的层驱动代码和RTE中间层代码。
东莞谢岗登高车出租, 东莞谢岗登高车, 东莞登高车出租