基于K线的汽车天窗马达ECU通讯系统的设计
以下为文章全文:(本站微信公共账号:cartech8)
汽车零部件采购、销售通信录 填写你的培训需求,我们帮你找 招募汽车专业培训老师
2.2 K线通讯定义 在车辆网络中, 为准确、可靠地通讯,必须确定一个固定的通讯波特率。假设诊断设备及其连接导线的电容为CTE,K线对地电容为COBW,车辆ECU的电容为CECU,定义为:
设计时以上各电容必 须满足以下关系: 12V电源供电:CECU+COBW≤7.2nF;CTE≤2nF;24V电源供电:CECU+COBW≤5nF;CTE≤2nF。 假定K 线通讯波特率最大为10.4kbps,若通讯波特率高于最大波特率,则必须减小允许电容;反之,必须增加允许电容。同时,在车辆诊断网络设计时,必须保证任何ECU 信息不能引起其它ECU进行数据通讯,在诊断仪初始化时,只能有一个ECU响应,或若干个ECU按一定顺序响应。 2.3 K线电路连接方式 K 线通讯本质上为半双工串口通讯。为保证准确、可靠的数据通讯, ECU和K线都必须有正确的电平。在K线系统中,发送时若电压低于工作电压的20%, 则认为逻辑“0”,高于工作电压的80%,则定义为逻辑“1”;接收时低于工作电压的30%为逻辑“0”,高于工作电压的70%为逻辑“1”,电压在工作电压的30%~70%之间状态不确定。由以上分析可知,其电平与常用的串口电平不一致,因此必须设计专门的K 线接口电路,以满足车辆K 线诊断要求。图2 为利用L9637D完成的K 线接口转换电路。 K线可双向传递数据,系统初始化后先传递ECU地址,连接成功后用于信息交换,典型接口转换芯片有ST公司的L9637D和Motorola公司的33290等。L9637D是一个与ISO9141标准功能兼容的集成芯片,是专门为车辆诊断而开发的双向、半双工通讯接口芯片。 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文件代码的意义。 |
文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到
你的权益请联系qchjl_admin@126.com,我们会及时处理。
会员评价:
共0条 发表评论