基于SAE J1939协议的发动机总线数据模拟器开发
送PDU编码为:0CFD0400 XX XX XX C0 5D XX XX XX(XX表示任意数据)。
3.5 实时参数曲线模块
实时参数曲线模块是利用Dundas Chart for.NET以动态曲线显示发动机转速、润滑油压力等参数以,并可以将显示数据输出、保存,同时还提供历史数据回放功能。包括转速、油压、水温、电压4种曲线。该模块和虚拟仪表模块共同实现发动机参数动态直观的显示,便于实验调试。
3.6 仪表测试模块
该模块将虚拟仪表的指针运行速度与开发仪表进行比较,测试开发仪表的步进电动机驱动效果。通过选择待测表盘,设置发送数据的最大值,以及测试次数,可以实现虚拟仪表在选定范围内的循环运行,从而与待测仪表进行比对。仪表测试模块可以较直观的对仪表的开发提供参考。
4 系统验证
4.1 连接USB-t0-CAN设备
USB-t0一CAN系统的设计都是基于连接USB-to-CAN设备实现的。首先选择设备索引号,调用函数,打开设备。选择第几路CAN,初始化CAN设备。打开设备界面如图4所示。
相关代码如下:
4.2 虚拟仪表与CAN帧信息显示模块验证
发动机参数报文发出后,经过解析,CAN帧信息以及虚拟仪表实时显示状态如图5所示。
4.3 实时参数曲线模块验证
实时曲线工具所显示的数据与虚拟仪表同步,虚拟仪表的数值变化时,图表控件也将同一个数据点添加到以时间为横坐标的图表中,从而生成一条连续的曲线。在完成一次测试过程后,可以将数据保存,并输出为标准XML格式文件。该模块还提供历史数据回放功能,将已保存的XML文件重新绘制成一条数据曲线。其工作过程如图6所示。
5 结论
本文在研究CAN总线协议的基础上,在C#编程环境下完成了基于SAE J1939协议的发动机总线数据模拟器开发。该系统与待开发总线仪表连接,可以模拟发动机的各项工况数据输出。一旦选定某个发动机参数,发动机参数即在报文规定的更新率下持续发送到待开发总线仪表。
此软件可部分替代真实的发动机,随机进行发动机各项工况检测,灵活性强,其选择范围较实际发动机更广。该系统可以辅助总线仪表等硬件开发,从而简化总线仪表测试过程。
- 现代汽车核心技术-CAN总线应用层协议标准SAE J1939(05-12)
- 基于CAN总线的车载故障诊断仪的设计与实现 (07-15)
- 基于SAE J1939协议的CAN总线汽车仪表设计(01-17)
- 菲亚特利用时间分析软件Symtavision使CAN总线负载率达到70%(01-09)