CAN诊断基础——总结
CAN网络是一种非破坏性仲裁的通信网络,它因具有较高的通信速率(最高可达1Mbit/s)和灵活可靠的通信方式,在车载网络领域广受青睐。控制系统之间的信息交互即可通过CAN网络通信的方式进行。但如其他系统一样,通信实体之间也需要进行通信故障的诊断。而CAN网络通信不仅实现了车载电子单元之间的通信,同时也为在线诊断提供了网络载体。
CAN诊断技术随着时代的发展也经历了改朝换代,现在普遍使用的是诊断和外部诊断相结合的方式,采用的是ISO15765协议,该协议符合现代汽车网络总线系统的发展趋势,已被许多汽车厂商采纳,将会成为未来汽车行业的通用诊断标准。
如下图所示是OSI开放式互连系统的分层示意,在诊断系统中,因层级定义不同,主要分为两大块,汽车制造商增强型诊断主要是针对整车网络ECU的诊断,它的网络层是由ISO15765-2定义,应用层由ISO14229-1和ISO15765-3共同定义;而另一块排放相关诊断网络层则是由ISO15765-4定义。
ISO15765协议以及ISO14229协议内容如下:
今天我们主要来总结一下CAN诊断通信的流程。如下图所示,即为CAN诊断通信的大致流程。
在理顺流程之前,我们需要明白两个概念:协议是水平的,它是控制两个对等实体进行通信的规则;服务是垂直的,它是由下层通过层间接口向上层提供的。
在执行一个诊断服务时,首先由诊断仪发出一个请求服务帧,然后向下传递,通过每一层去请求这个服务,同时,每一层也要向上一层反馈已确认请求,最后通过总线上的电平信号与ECU通信传递请求,在ECU内也同样的一层层向上传递请求服务;在ECU响应请求服务时,步骤与上述类似。
总之,在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务,而由于上下层间的服务和对等实体间的通信,CAN才能进行诊断。
CAN诊断基 相关文章:
- CAN诊断基础——应用层(一)(12-13)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)