新闻  |   论坛  |   博客  |   在线研讨会
技术分享|使用TSMaster从零打造车辆控制器HIL实时仿真系列5-ECU HIL仿真的具体实施
汽车电子工程师 | 2022-11-22 17:33:46    阅读:1084   发布文章

一、HIL硬件在环


上一个章节介绍的ABS算法仿真和车辆模型的运行,它们的 功能并不是简简单单地绘制曲线,搜集运行数据,而是有着 更深层次的目的,那就是与外部世界联动,将输入和输出数 据完完全全暴露在真实世界中,达到HIL的真正目的——硬件 在环。


与外部世界交互这个过程可以说十分简单,只需要为此专门 设计一个dbc文件,加载到TSMaster中,再将系统变量中的 内容映射到总线上即可。


在此我准备了一个简单的dbc文件,它包含四个轮速,还有 四个轮缸压力信号。我们将其拖入tsmaster中。


图片


再打开RBS,让剩余总线仿真接管这些信号的发送

 

随后我们打开硬件通道选择器,将CAN通道选择为同星的一 款总线工具——TC1005,作为演示,TC1005的通道1 和通道 2互相连接在了一起,确保发出的报文可以被正确应答。


图片


我们启动RBS,打开Trace窗口,就可以看到我们需要的信号都在总线上以预定的频率发送 着,当然这些信号由于没有更新,初始值都是0,下一步就是


做信号绑定,将系统变量中的值传给这些信号。

 

首先停止仿真,回到我们的算法小程序,添加预发送函数,接管 轮速和压力报文的发送过程,这意味着每当报文即将被发出,系统都会调用这些预发送函数,我们只需要简单地在这 些函数内更新我们所需的信号即可。


图片


我们试着赋一下值。最后我们在图形窗口中,添加需要观测的CAN信号,包括速度信号和压力信号等等。


图片


至此,我们完成了所有所需的信号的预发送函数,是时候启 动整个仿真过程了,还是同样的流程,连接TSMaster的应 用程序,点击自动化模块的启动按钮。可以看到车辆正在运行过程中。


图片


随着程序的运行,我们可以实时观测到总线上活跃的轮速和 压力信号,这些信号就最终与真实世界发生了交互。


二、实现车辆控制器的HIL仿真


有了前面的基础,可以说此时我们真正踏入了HIL实时仿真 的大门。使用这一整套流程,以不变应万变,实现各式各样 的车辆控制器的HIL仿真。


举个简单的例子,倘若我们需要对所开发的ibooster进行 HIL仿真, ibooster是真实的ECU。我们就需要导入 这个ibooster的所有网络的dbc文件,用我们的RBS将它所需的信号全部仿真出来。


图片


而要仿真信号,最简单的方法则是,在RBS仿真界面上,选中我们所需的ibooster节点,点击右键,一键自动生成HIL配置,这步操作可以自动激活   ibooster依赖的其他节点和报文。


其次,来到小程序中,通过预发送函数,构造此节点所需的 各类总线信号。


图片


再接下来就是一些硬件的信号,比如遇到踏板信号,可以通过电缸自动化接口或是定制的 API实现。


图片


同时,如果遇到IO或通断信号,则通过我们的IO板卡和继电器 板卡API实现;


如果是遇到轮速等特殊传感器信号,则通过我们的轮速模拟板卡API实现;


如果遇到电源电压的控制,可以使用可编程电源配合API 的方式实现;

 

最后,我们可以打开自动化模块,编写一系列用例,来对我 们的产品进行各种可能的测试。


图片


当然,这一切背后还有个重要的前提,那就是软件之外的一切准备工作,也就是ECU机械和液压负载必须提前准备完毕。


只要上述内容都就绪,那么便可以设计并最终执行无人值守的全自动化参数遍历和测试,在测试结束后,再通过预先配置的信息,实现测试报告的一键自动生成。


最后的实现内容,由于细节过于繁杂,实现方式各异,在此 从略,我们有理由相信,基于TSMaster的这一整套仿真架构,小伙伴们也可以发挥自己的聪明才智,设计出各式各样的HIL实时仿真系统。



*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客