K线诊断协议驱动器设计
时间:03-23
来源:互联网
点击:
参数变量 | 描述 | 最小值(ms) | 最大值(ms) |
P1 | ECU响应的字节间时间间隔 | 0 | 20 |
P2 | 诊断仪请求和ECU响应之间的时间间隔,或两个ECU响应之间的时间间隔 | 25 | 50 |
P3 | ECU响应和诊断仪请求之间的时间间隔 | 55 | 5000 |
P4 | 诊断仪请求的字节间时间间隔 | 0 | 20 |
P1和P4是报文内字节间定时,P2和P3为报文间定时。诊断仪在初始化完成后或接收到诊断响应后需要在P3时间内发送诊断请求,否则ECU端退出诊断会话,断开诊断通讯,K线协议驱动器重启,等待诊断仪发出下一个WuP和STC Request。ECU在接收到诊断请求后,需要在P2时间内返回诊断响应, P2由ECU控制,通常采用25ms的固定值,当诊断请求报文中的Fmt字段指定目标地址为“功能地址”时,P2的取值需要用一个随机数发生器来产生,因为对于功能寻址的诊断仪请求来说,可能多个ECU都会返回响应,如果采用固定的P2参数的话,可能会因为多个ECU竞争总线而出现总线冲突问题,P2采用随机数,ECU不会在同一时间返回响应,从而避免了总线竞争问题。
3 协议驱动器测试
协议驱动器在Vector公司的CANoe软硬件平台上进行测试,进行基于K线的KWP2000服务测试时,将KWP2000.dll和KLineCPL.dll模块加入CANoe仿真环境,CANoe模拟诊断仪节点,并使用一个代理节点来实现CAN网络和K线之间的报文转发,此时CANoe使用计算机的串口,并通过串口/K线转换器与ECU相连,诊断实现框架如图2所示。
图2 K线诊断框架
与CAN总线诊断不同的是,K线诊断需要诊断仪通过初始化过程和ECU建立诊断通讯,诊断通讯的建立如图3所示。建立诊断通讯后便可以像CAN诊断一样进行诊断服务了,这方面论文很多,在此不再赘述。
图3 建立诊断通讯
结语
本文实现的K线协议驱动器模块经过严格测试, 能够高效完成K线诊断,性能和稳定性达到预期设计要求。驱动器独立于处理器和操作系统,具有良好的通用性和灵活性,可以方便得集成到应用程序中,具有很高的实用价值和借鉴意义。
来源:网络
- 电子技术的革新先锋(11-21)
- 现代汽车电子技术综述(06-24)
- 新技术、新应用让传感器深入汽车电子设备的各个角落(05-11)
- RFID技术在商用汽车生产及使用中的应用(05-11)
- 模糊控制在汽车离合器中的应用(05-11)
- 如何利用可编程器件设计车用显示系统(08-30)