微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 汽车电子 > 一种汽车天窗马达ECU通讯系统的设计

一种汽车天窗马达ECU通讯系统的设计

时间:09-25 来源:互联网 点击:
3 软件结构

此汽车天窗马达ECU通讯系统中所使用的参数主要有两种类型:*.s参数类型和*.par参数类型的文件。其主要的区别是:*.s参数文件所采用的代码格式是S-record,它是 Motorola 公司提供的一种标准文件格式,通过S-records代码,将可执行代码从主PC机发送到另外一个目标系统。在发送的过程中,S-records在其代码头上包含目标地址信息和校验信息来检验误差;而*.par参数文件是Webasto公司专用的代码格式,它的代码主要是包含在ECU中的具体参数和此参数的具体数值。此马达天窗ECU通讯系统的软件部分就是在对这两种参数类型熟悉的基础上进行的。

3.1 S-record格式说明

每个S-record由如下六部分组成:



(1) SOR:代码的开始部分(ASCII ‘S’);

(2) Type:S-record Type,有几种类型:

S0:代码起始段(可选),表示在其后还有其他的代码。S0后面的地址代码不被使用,经常是(0X0000),有的还包括额外的信息,如表1所示。



S0代码不被加载,可以被忽略,通常为S0030000 FC;

S1:16位地址的数据代码;

S2:24位地址的数据代码;

S3:32位地址的数据代码;

S4:不同的目标系统不同的含义;

S5:不同的目标系统不同的含义;

S6:不同的目标系统不同的含义;

S7:S3代码结束段;

S8:S2代码结束段;

S9:S1代码结束段;

如果S9代码后的地址代码为 0X0000,则表示数据段的结束;如果其后代码不为0,则地址代码表示其开始执行代码的位置,通常为S9030000FC(注:S0,S9代码是被忽略的);

(3) Length:两位十六进制数,表示Load Address、Code/Data、Checksum的字节数;

(4) Load Address: 4、6、8个ASCII字符,表示Code/Data要加载的目标地址。如s1,用4位十六进制数来表示要加载的地址;

(5) Code/Data:0~64个ASCII字符,表示加载到目标系统的实际代码;

(6) Checksum:检测在传送中是否有错误发生,它的求法如下:

(1+sump+checksum)mod256=0

注:sump 是length、Load Address、Code/Data中从左至右每两位十六进制数代表的十进制数值进行累加所得到的值。

3.2 *.par 参数说明

.par文件包含了ECU具体的参数名称和值,需要与参数说明文件excel共同使用进行ECU的读写。以图3为例解释excel中的信息和*.par文件代码的意义。



代码如下:

[NORMAL]

ucCarType=2

aucPartNumber[0]=17

其中包含的参数所代表的含义和参数具体值的信息如下:

(1) Location表示此par参数在excel中的位置,此例表示在NORMAL段;

(2) Addr.表 示代码在EEPROM中的存储地址信息;

(3) Parameter name表示代码参数的名称;

(4) Parameter description表示代码参数的含义;

(5) SpecifIC description对此代码进行特定的描述;

(6) Allowed value表示此代码取值的范围;

(7) Excel value表示此代码实际的数值,此例分别为2、17;

(8) S Value以ASCII码形式表示代码,此例分别为02、11;

(9) Drive Value表示通讯过程中实际发送和接收的数值;

(10) Parameter表示参数类型;

(11) C source表示此代码在ECU中,用哪段代码来表示;

(12) Type key表示此代码的数据类型。

注: 0 代表无符号字符

1 代表有符号字符

2 代表无符号的短整型

3 代表有符号的短整型

4 代表8 bit 数组

5 代表16 bit 数组

3.3 K线通讯协议及应用

ISO9141 主要为车辆与诊断设备之间的通讯国际标准, ISO9141已被美国加州大气委员会(California Air Resource Board)所采纳,其ISO14230为专门指定的用于道路车辆诊断的协议。根据ISO14230 的规定, K线通讯消息基本格式如表2 所示。



表2中各参数含义如下:

Fmt:帧字节;Tgt:目标地址;Src:源地址;Len:附加长度字节; Sld :功能识别字节;Data :数据字节;CS:校验和。

其校验和满足以下公式:

i={(i-1)+}mod256(1)

式(1)中:1=<1>。

K 线协议采用消息结构进行信息传递,可分为请求消息、指示消息和响应消息,其中,响应消息可分为正响应和负响应,所有这些消息都具有相同的结构。

Webasto汽车天窗马达ECU与PC机的通讯方式是K 线通讯协议的一种应用,其代码基本格式如下:长度位、命令标志位、数据位(n=0…16)和校验位,如表3所示。



所以最小的通讯长度为3,即:传输的信息包括LEN、ID、CHKSUM(传输的数据位数n=0)。

为了保证PC机与ECU之间的通讯正常,使用校验码来确保发送代码的安全性,它是通过所有代码的位与CHECKSUM_BASE=0xAA异或来求得。计算方法如下:

发送端的校验码:

CHKSUM_s=CHECKSUM_BASE xor LEN xor ID xor DATA_1 xor... xor DATA_n

接收端的校验码:

CHKSUM_r=LEN xor ID xor DATA_1 xor... xor DATA_n xor CHKSUM_s xor CHECKSUM_BASE

CHKSUM_r的结果为0,说明通讯顺利完成。

为了确保通讯正常,在串行通讯过程中,规定两个接收字节之间的时间不得超过50ms,若超过,则认为此次操作失败。

此汽车天窗马达ECU通讯系统软件的程序流程如图4所示。汽车天窗马达ECU通讯系统的软件运行如图5所示。





界面上半部分负责*.s参数读写的部分,下半部分负责*.par参数读写的部分。此系统的硬件和软件在Webasto车顶供暖系统有限公司的测试平台上已经通过验证。此系统对其天窗马达ECU进行参数读写、故障分析时,缩短了周期,大大提高了工作效率。

当前,汽车天窗市场多由国外厂商控制,价格昂贵,其马达检测系统的理念也是随着国外先进技术的引进而来的。因此,开发适合我国的汽车天窗马达ECU通讯系统不仅可以降低整车成本,还可以提高其国产化速度。现在越来越多的电控系统将在车辆上使用,这些设备都可通过K 线使PC机与ECU进行信息交换,以满足实际车辆使用和维护的要求。同时K线也可进行电控标定系统的开发,因此,本研究工程应用前景非常广泛。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top