新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于SAE J1939协议的发动机总线数据模拟器开发

基于SAE J1939协议的发动机总线数据模拟器开发

作者:时间:2010-06-29来源:网络收藏



3 总线数据模拟系统设计
这里重点分析 -7l关于参数的定义以及 -73关于故障诊断信息的定义,明确发送报文的格式以及数据意义,进行系统各个模块的方案设计。
3.1 发动机参数报文发送模块
该模块是类比现场测试的一组数据,按照适用于BOSCH高压共轨系统的欧Ⅲ发动机基于的CAN通讯规范,将帧ID和代表发动机参数的数据字节位置相对应,在报文规定的更新率下.将发动机参数持续发送到总线网络。该模块有单次发送和按J1939规定的更新率发送2种模式。发动机参数包括发动机转速、汽车行驶速度、油压、水温等。
3.2 发动机故障报文发送模块
该模块为总线仪表增加了故障诊断功能,即总线仪表可以借助液晶显示屏实时显示发动机的故障类型。该模块程序流程见图3,标定的故障依次规定了故障路径、故障详情、编号、SPN和FMI。


3.3 虚拟仪表模块
虚拟仪表主要将发动机的发动机转速、车速、油压、水温、电压等重要参数显示在虚拟仪表盘上,更直观显示相应数据,模拟行车仪表实际运行状态。采用Dundas Software公司的Dundas Gauge for.NET进行虚拟仪表的可视化开发,Dundas软件平台完全支持Visual Studio 2005特征,包括智能标记、高级数据绑定等。Dundas仪表向导提供了丰富的素材库,利用该向导,用户设计应用于各领域的仪表控件外形和数据指示方式。用户只需在应用程序中对仪表需要动态变化和响应的部分编写代码即可实现虚拟仪表的功能。
3.4 CAN帧信息显示模块
本模块是通过调用一个listview控件实现的,列元素依次是时间、帧ID、P、R、DP、PF、PS、SA、帧格式、帧类型、数据长度、数据、传输方向、时间标识、第几路CAN。其中,P,R,DP.PF,PS,SA由帧ID解析函数得到,其他则由接口函数库的参数得出。
以发动机转速为例,给出CAN帧信息解析(实际参数=原始数×分辨率+偏移量)。报文名称:Electronic Engine Controller#1 (EEC1),SPN:190,PGN:61 444,ID:OxCF00,源地址:发动机(接收地址:ABS(0x0B)、仪表(0x17),更新率:10 ms,位置:4~5字节,分辨率:0.125 r/min,0偏移,数据范围:0~8 031_875 r/min。要发送转速为3 000 r/min,则发送数据的第4、5字节应为:3 000/0.125=24 000(0xC051))。发送PDU编码为:0CFD0400 XX XX XX C0 5D XX XX XX(XX表示任意数据)。
3.5 实时参数曲线模块
实时参数曲线模块是利用Dundas Chart for.NET以动态曲线显示发动机转速、润滑油压力等参数以,并可以将显示数据输出、保存,同时还提供历史数据回放功能。包括转速、油压、水温、电压4种曲线。该模块和虚拟仪表模块共同实现发动机参数动态直观的显示,便于实验调试。
3.6 仪表测试模块
该模块将虚拟仪表的指针运行速度与开发仪表进行比较,测试开发仪表的步进电动机驱动效果。通过选择待测表盘,设置发送数据的最大值,以及测试次数,可以实现虚拟仪表在选定范围内的循环运行,从而与待测仪表进行比对。仪表测试模块可以较直观的对仪表的开发提供参考。



关键词: J1939 SAE 协议 发动机

评论


相关推荐

技术专区

关闭