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

发布者:EtherealJourney最新更新时间:2010-06-29 来源: 电子设计工程关键字:SAEJ1939协议  CAN总线  发动机总线数据模拟器  汽车仪表 手机看文章 扫描二维码
随时随地手机看文章

    在车载网络的开发过程中,需要发动机节点向总线网络发送报文,为了降低成本,提高开发效率,模拟发动机。基于SAE J1939协议巾车辆应用层子标准及应用层诊断子标准,通过软件编程进行发动机总线数据模拟器的开发,模拟总线网络中的发动机ECU节点,向总线网络发送报文,从而测试总线网络上的另一节点仪表,检验仪表是否工作正常。

1 SAE J1939协议概述

    SAE J1939标准是美国汽车工程师协会(SAE)发布的以CAN总线为核心的车辆网络串行通讯和控制协议,采用多路复用技术为车辆上各传感器、执行器和控制器提供在CAN总线基础上的标准化高速网络连接,在车辆电子装置之间实现高速数据共享,有效减少电子线束的数量,提高车辆电子控制系统的灵活性、可靠性、可维修性及标准化程度。

1.1 SAE J1939协议简介

    J1939协议包括12个子标准。本文主要涉及车辆应用层及应用层诊断2个子标准。车辆应用层子标准(SAEJl939/71)规定了车辆控制控制参数的格式,包括参数范围、分辨率、类型及刷新率,数据场各位的含义;应用层诊断子标准(SAEJl939/73)主要针对排放的要求规定了12种诊断结果信息。

1.2 协议数据单元

    SAE J1939应用层协议采用协议数据单元PDU传递信息,PDU由优先级P、保留位R、数据页DP、PDU格式PF、PDU特定域PS(可作为目标地址、组扩展或专用)、源地址SA和数据域7部分组成,如表1所示。每个PDU相当于CAN协议中的一帧,它们将被分组封装在一个或多个CAN数据帧中,通过物理介质传送到其他网络装置。

2 总体方案设计

    在开发过程中,通过调用USBCAN-Ⅱ接口卡库端口函数,利用CAN总线实现上位机与下位机之间的通讯。发动机总线数据模拟器通过USBCAN-II智能接口向总线仪表发送数据并实时显示,达到测试仪表的目的。系统结构如图1所示。


    该系统主要包括6大功能模块,分别是发动机参数报文发送模块、发动机故障报文发送模块、CAN帧信息显示模块、虚拟仪表模块、实时参数曲线模块和仪表测试模块。系统软件采用C#环境开发,运行于Windows平台。系统开发的总体流程是:首先实现与USBCAN-Ⅱ接口卡的通讯,连接成功后,在主界面选择需要实现的功能,然后执行相关模块的操作。在关闭程序的同时,关闭USBCAN-Ⅱ接口卡。程序开发流程如图2所示。

3 发动机总线数据模拟系统设计

    这里重点分析SAE J1939-7l关于发动机参数的定义以及SAE J1939-73关于故障诊断信息的定义,明确发动机发送报文的格式以及数据意义,进行系统各个模块的方案设计。

3.1 发动机参数报文发送模块

    该模块是类比现场测试的一组数据,按照适用于BOSCH高压共轨系统的欧Ⅲ发动机基于SAEJ1939的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 仪表测试模块

    该模块将虚拟仪表的指针运行速度与开发仪表进行比较,测试开发仪表的步进电动机驱动效果。通过选择待测表盘,设置发送数据的最大值,以及测试次数,可以实现虚拟仪表在选定范围内的循环运行,从而与待测仪表进行比对。仪表测试模块可以较直观的对仪表的开发提供参考。

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协议的发动机总线数据模拟器开发。该系统与待开发总线仪表连接,可以模拟发动机的各项工况数据输出。一旦选定某个发动机参数,发动机参数即在报文规定的更新率下持续发送到待开发总线仪表。
此软件可部分替代真实的发动机,随机进行发动机各项工况检测,灵活性强,其选择范围较实际发动机更广。该系统可以辅助总线仪表等硬件开发,从而简化总线仪表测试过程。

关键字:SAEJ1939协议  CAN总线  发动机总线数据模拟器  汽车仪表 引用地址:基于SAE J1939协议的发动机总线数据模拟器开发

上一篇:一种准确测量便携式设备电池剩余电量的方法
下一篇:基于GPRS的自来水流量监测终端的设计

推荐阅读最新更新时间:2024-03-30 21:31

集成TPMS功能的电动汽车仪表盘设计
仪表盘是一个多方位的汽车信息显示平台,它是驾驶员与汽车进行信息交流的窗口,电动汽车仪表盘是一种适应电动汽车电子化、数字化、信息化发展的高新技术产品,作为一个多信息显示平台,显示车速、档位状态、电机转速、电机状态、电池组状态等其他电动汽车特定的信息,同时实现电机故障报警、电池组低压、不均衡报警等功能。TPMS(TirePressure Monitoring System)是汽车轮胎压力监视系统,用于在汽车行驶时对轮胎气压及温度进行实时自动监测,以保障行车安全,属于汽车主动安全部件。目前得到广泛应用的是直接式TPMS,它利用安装在每一个轮胎里的以锂电池为电源的压力传感器直接测量轮胎的气压,并通过无线电频率调制发射到安装在驾驶台的接收器
[嵌入式]
基于CAN总线的电动机保护装置设计
  对三相异步电动机保护系统的硬件及软件实现进行了研究, 以Freescale DSP 56F807 微处理器为控制核心,配以CAN 总线、液晶显示以及采样等其他功能模块。而现场总线技术把专用微处理器置于测量控制设备中, 把单个分散的测量控制设备变成网络节点, 将其连接成可以相互沟通信息、共同完成控制任务的网络系统。在算法上由于DSP 有强大的数据处理能力,对瞬时电压、电流和负序电流的幅值进行精确的计算而不需考虑时间的问题, 用软件计算的方法替代硬件逻辑, 减少硬件资源的浪费。   电动机是各行各业应用最为广泛的动力设备, 但由于在使用过程中保护力度不够, 经常出现以下问题: 装置功效低下, 保护装置经常出现拒动从而使电动机烧毁
[单片机]
基于<font color='red'>CAN总线</font>的电动机保护装置设计
浅谈Small RTOS51 下CAN总线数据收发实现
1 CAN总线简介   现场总线(Fieldbus)是近年来迅速发展起来的一种工业数据总线,它主要解决工业现场的智能化仪器仪表、控制器、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视。现场总线(Fieldbus)是20世纪80年代末、90年代初国际上发展形成的,用于  现场总线技术   过程自动化、制造自动化、楼宇自动化等领域的现场智能设备互连通讯网络。它作为工厂数字通信网络的基础,沟通了生产过程现场及控制设备之间及其与更高控制管理层次之间的联系。它不仅是一个基层网络,而且还是一种开放式、新
[嵌入式]
CAN总线模块在机场跑道灯光控制中的应用
 系统介绍:   民航机场跑道灯,边线灯等是飞机安全着陆的重要条件,每当日光不足或者夜间,跑道灯一定要点亮以给准备着陆的飞机指示跑道的方向和轮廓,引导飞机安全着陆。当这些灯光部分损坏,会给飞机安全带来严重的后果。如何自动巡回检测这些灯光的工作状态是一个机场安全的重要课题。   具有专利技术的机场跑道单灯监控装置是可以同时监视从同一个供电的调光器控制的近百盏灯的装置。若干调光器联合工作构成了机场的跑道照明系统,而配套的若干监控装置也可以同时构成一套完整的监控系统。   设计要求:   1.将若干监控装置传来的灯状态信息集中并采集到数据库中(其中每个监控装置传送近百个灯状态)并通过软件动态显示在计算机屏幕上。每个灯根据故障或正
[工业控制]
<font color='red'>CAN总线</font>模块在机场跑道灯光控制中的应用
基于ARM微控制器AT91M40800和CAN总线的煤矸石分选系统设计
  引言   随着嵌入式技术的不断发展,高性能、低功耗、低价格的32位RISC芯片的ARM微控制器呈现出强劲的发展趋势,嵌入式系统和现场总线技术结合,结合二者的优点,为传统的选煤技术提供了新的改造方案。将嵌入式技术和现场总线技术相互融合,设计了一种新的煤块和矸石在线识别与自动分选系统。   煤矸石在线识别与自动分选系统   煤块和矸石在线识别与自动分选系统的原理框图如图1所示。根据选煤工艺要求,本系统主要由下面三大部分构成:      图1 煤矸石在线自动分选系统框图   (1)检测部分:由进料斗、输送带、CCD摄像头、图像数据采集电路等组成。开采出来的原煤常含有矸石,必须将矸石从传送带上挑选出来。CCD摄像头将
[单片机]
基于ARM微控制器AT91M40800和<font color='red'>CAN总线</font>的煤矸石分选系统设计
庖丁解车:关于总线技术之应用与特点讲解(三)
这一期小编主要介绍什么是现场总线,以及现场总线的主要类型CAN总线和LIN总线。众所周知,现场总线应当是应用在生产最底层的一种总线型拓扑的网络。直白一点来讲,这种总线是作用于现场的控制系统、直接与所有控制(设备)节点串行相连接的通信网络。汽车电子控制的现场范围可以从车窗升降器驱动机构到仪表显示装置,也可以从汽车悬架系统到发动机电子点火系统,安全气囊系统。汽车上受控制设备以及网络所处的环境很特殊,对信号的干扰有很多方面,而不同的部分要求控制的实时性也是有所区别的。这就决定了汽车上的现场总线既有区别于一般网络的特点又有一般工业自动化控制现场总线的特点。 20世纪八十年代现场总线技术才开始形成和发展,这要与微型计算机,特别是嵌入式系
[汽车电子]
庖丁解车:关于<font color='red'>总线</font>技术之应用与特点讲解(三)
基于CAN总线的EV电控系统通信的设计与开发
        随着汽车上电子控制装置越来越多,车身布线也愈来愈复杂,使得运行可靠性降低,故障维修难度加大。   为了提高信号的利用率,要求大批数据信息能在不同的电控单元中共享,同时汽车综合控制系统中大量的控制信号也能实时进行交换。但是,传统的汽车电子系统采用串行通信的方法,如用SAE1587等标准来实施,通信速度较慢、传递的数据量少,远不能满足高速通信的需求。近年来CAN总线已发展成为汽车电子系统的主流总线,并有基于CAN总线通信协议的车辆应用层通讯标准SAEJ1939 产生。    利用CAN总线开发的纯电动车(EV)电控系统的通信网络具有通信速率高、准确、可靠性高的特点,易于整车控制网络的连接和管理,为传感器信号、各个
[嵌入式]
基于CAN总线的温度检测节点设计(图)
  在对电子点火模块的测试中,为了模拟电子点火系统的真实工况,电子点火模块往往被置于高于常温的环境下进行电子点火实验,以获得最接近真实汽车运行工况的点火参数数据。由于电子点火模块自身的发热,其核心元件的温度成为影响电子模块性能的重要因素;另外,还要考虑环境温度是否达到模拟真实工况的要求等。   本文介绍了一种应用LM35温度传感器和PICMicro的温度检测节点的设计方案,用于检测在模拟汽车电子点火的过程中,电子点火模块的核心模块温度和环境温度,将阐明模块结构、工作原理及采样值量化的方法。    节点原理与结构   该温度检测节点由传感器电路、信号调理电路、单片机应用系统、CAN总线接口等构成。电路基本工作原理是:传感器电路
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved