资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
天津易博达动力科技有限公司 内部资料,注意保密 汽车诊断 K 线的特点 1、诊断诊断 K 线通讯特点线通讯特点 根据 SAE 规定的 OBD 标准,车辆行业使用 K、L 线进行诊断和标定。通过 K 线对某 个控制单元进行查询,通过 K 线、测试仪和控制单元可进行数据交换。换句话说,即通过 K 线数据被双向传送(从测试仪到控制单元以及从控制单元到测试仪) 。最近生产的车上都 装有 K 线。而 L 线则是用来对控制单元进行查询的导线,此线在目前生产的车辆中已经不 存在。由于串口的普及,所以 K 线实现起来更容易。而逻辑电平的改变,只是需要转换电 路。因此本系统采用 K 线的通讯方式。由于 K 线只是一根线,而 PC 机与控制单元都要向 对方发出信息,所以可以判定此线是半双工串行通讯。 K 线通讯主要有以下特点: (1) 双方采用半双工异步串行通讯。 (2) 工作电压范围为 818V。 (3) 使用环境温度为40C125C。 (4) 最大速度是 50kbps。 (5) 支持大电流。 (6) 与单片机 CMOS 电平无缝连接。 (7) 具有对地线保护作用。 (8) 串行通讯码的每个单元包括 10 位二进制数据,分别为起始位、8 位数据、停止位, 每个单元发送完毕后设有空闲等待。 (9) 双方的通讯以“行”为单位轮流发送,即 PC 机发送一行消息后,ECU 再发送一行 消息,反之亦然。 (10) 一信息行由下列数据组成:第一位数据表示本行还要发送多少数据;第二个数据 用来表示关键码,表示此次用来完成什么样的操作,如开始参数、写数据到 EEPROM 中等; 第三个数据表示要发送的数据。 (11) 在一信息行中,还包括用于校验的反码,一方每发出一个数据后,对方必须对回 应此数据的反码进行校验;由于 K 线是单线通讯,所以只有在正确处理回应数据的反码进 行校验时,才能保证通讯的顺利进行。 (12) 至于 PC 机在每一个功能块中如何发出命令,ECU 是如何给出相应信息的,在软 件结构中会做说明。 2、K 线通线通讯定义讯定义 在车辆网络中,为准确、可靠地通讯,必须确定一个固定的通讯波特率。假设诊断设备及 其连接导线的电容为 CTE,K 线对地电容为 COBW,车辆 ECU 的电容为 CECU,定义为: 天津易博达动力科技有限公司 内部资料,注意保密 设计时以上各电容必 须满足以下关系: 12V 电源供电:CECU+COBW7.2nF;CTE2nF; 24V 电源供电:CECU+COBW5nF;CTE2nF。 假定 K 线通讯波特率最大为 10.4kbps,若通讯波特率高于最大波特率,则必须减小允许 电容;反之,必须增加允许电容。同时,在车辆诊断网络设计时,必须保证任何 ECU 信息不能 引起其它 ECU 进行数据通讯,在诊断仪初始化时,只能有一个 ECU 响应,或若干个 ECU 按一 定顺序响应。 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 标准功能兼容的集成芯片,是专门为车辆诊断而开发的双向、半双工通讯接口芯片。同时 K 线也可进行电控标定系统的开发,因此,本研究工程应用前景非常广泛。 4、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=。 K 线协议采用消息结构进行信息传递,可分为请求消息、指示消息和响应消息,其中,响 应消息可分为正响应和负响应,所有这些消息都具有相同的结构。 Webasto 汽车天窗马达 ECU 与 PC 机的通讯方式是 K 线通讯协议的一种应用,其代码 基本格式如下:长度位、命令标志位、数据位(n=016)和校验位,如表 3 所示。 所以最小的通讯长度为 3,即:传输的信息包括 LEN、ID、CHKSUM(传输的数据位数 n0)。 为了保证 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, 若超过,则认为此次操作失败。 5、程序设计程序设计 此汽车天窗马达 ECU 通讯系统软件的程序流程如图 4 所示。 汽车天窗马达 ECU 通讯系 统的软件运行如图 5 所示。 天津易博达动力科技有限公司 内部资料,注意保密 此汽车天窗马达 ECU 通讯系统中所使用的参数主要有两种类型:*.s 参数类型和*.par 参数 类型的文件。 其主要的区别是: *.s 参数文件所采用的代码格式是 S-record, 它是 Motorola 公司提供的一种标准文件格式, 通过 Srecords 代码, 将可执行代码从主 PC 机发送到另外 一个目标系统。在发送的过程中,Srecords 在其代码头上包含目标地址信息和校验信息 来检验误差; 而*.par 参数文件是 Webasto 公司专用的代码格式, 它的代码主要是包含在 ECU 中的具体参数和此参数的具体数值。 此马达天窗 ECU 通讯系统的软件部分就是在对这两种参 数类型熟悉的基础上进行的。 5 5.1 S.1 S- -recordrecord 格式说明格式说明 每个 Srecord 由如下六部分组成: (1) SOR:代码的开始部分(ASCII S); (2) Type:Srecord 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:064 个 ASCII 字符,表示加载到目标系统的实际代码; (6) Checksum:检测在传送中是否有错误发生,它的求法如下: (1+sump+checksum)mod256=0 注:sump 是 length、Load Address、Code/Data 中从左至右每两位十六进制数代表的十进 制数值进行累加所得到的值。 5 5.2.2 *.par *.par 参数说明参数说明 .par 文件包含了 ECU 具体的参数名称和值,需要与参数说明文件 excel 共同使用进行 ECU 的读写。以图 3 为例解释 excel 中的信息和*.par 文件代码的意义。 代码如下: NORMAL ucCarType=2 aucPartNumber0=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 数组 6、汽车汽车 K 总线与总线与 CAN 的区别的区别 在大众车系里, K 线一般用于检测系统, 属单线模式, 与诊断仪器连接并相互传递数据。 CAN 线主要用于控制单元与控制单元之间传递数据、属双线模式,分高位线和地位线, 优点是传输速率高,抗干扰能力强。在开迪车、宝来车、新款奥迪 A6,A4 及 A8 上都使用 了 CAN 线。 一般分舒适 CAN 线、驱动 CAN 线、诊断 CAN 和仪表 CAN 舒适 CAN 线的传输速 率是 100K 波特,主要用于舒适系统,如电动座椅控制单元、空调控制单元和舒适电脑等。 驱动 CAN 线的传输速率是 500K 波特, 主要用于发动机系统、 ABS 系统和气囊系统等。 诊断 CAN 线主要用于
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号