CAN 标准协议
1. CAN 协议标准
物理层(Physical Layer): 主要功能是完成相邻节点之间的原始比特流的传输,非屏蔽双绞线(Unshielded Twisted Pair- UTP)是应用中最常用的物理传输介质,在其上发生对称信号传输。通常,非屏蔽双绞线具有0.34
和0.6
之间的导线横截面。线路电阻应小于60mΩ。CAN的边界条件:最大数据速率为1 Mbit / s。允许最大网络扩展约40米。在CAN网络的末端,总线终端电阻有助于防止瞬态现象(反射)。ISO 11898将CAN节点的最大数量指定为32。
数据链路层 (Data Link Layer):主要是如何在不可靠的物理层线路上进行数据的可靠性传输,完成的是网络中相邻节点之间可靠的数据通信,由于物理线路的不可靠,因此发送方发出的数据帧有可能在线路上发射出错或者丢失。
网络层(Network Layer):主要功能是完成网络中主机之间的报文传输,关键问题是使用数据链路层的服务将每个报文从源端传输到目的端。网络层的任务就是选择合适的路由,使发送站的传输层所传下来的分组能够正确地按照地址找到目的站,并交付给目的站的传输层。这就是我们所说的网络层的寻址功能。
传输层(Transport Layer):主要功能是完成网络中不同主机上的用户进程之间的可靠数据通信,任务是根据下面通信子网的特性,最佳的利用网络资源,并以可靠的和经济的方式为源站和目的站之间进程建立一条可靠的传输连接,以便透明的传送报文。
会话层(Session Layer):会话层允许不同机器上的用户之间建立回话关系,进行类似传输层的普通数据的传送,回话层提供的服务之一是管理回话控制,回话层允许信息同时双向传输,或同一时刻只能单向传输。
表示层(Presentation Layer):表示层涉及到数据压缩和解压,数据加密和解密等工作,表示层服务的一个典型例子是用大家一致选定的标准方法对数据进行解码。
应用层(Application Layer):连网目的在于支持不同计算机的进程进行通信,对于需要通信的不同应用来说,应用层的协议都是必须的。


ISO 11898 是CAN 总线规范,对应的是OSI 模型物理层和数据链路层,对于物理层而言,定义了CAN 总线信号在双绞线的电压形式;对于数据链路层而言,定义了CAN 帧的各个域的用途。
ISO 15765-2 是诊断服务在CAN总线传输的 实现方式,对应OSI 的传输层,对于classical CAN 总线来说,它一帧只能承载8个字节,而上层的诊断服务却可能超过8个字节,这时候就需要传输层对数据进行分包重组流控制。ISO 15765-2还定义了应用层、传输层、数据链路层之间的编程接口,其实就是request, confirm, indication这几个原语的定义。ISO 15765-3和ISO 14229-3的内容是一样的,后者取代了前者。ISO 15765-4定义了基于CAN总线实现OBD通信的方式。
ISO 14229-1 对应于OSI的层7,即应用层,它定义了诊断服务的格式。ISO 14229-2定义

本文深入解析CAN总线标准协议,涵盖物理层、数据链路层、网络层等OSI模型层级,详细介绍CAN总线的通信机制、错误检测、位定时与同步等内容。同时,文章对比了A类、B类和C类总线标准,阐述了CAN总线在汽车领域的应用。

8万+

被折叠的 条评论
为什么被折叠?



