ISO/OSI基本参照模型

我们知道ISO的基本模型可分为7层,分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中物理层、数据链路层为硬件控制的,网络层、传输层、会话层、表示层、应用层为软件控制的。

然而,CAN协议覆盖了ISO规定的OSI基本参照模型中的传输层、数据链路层、物理层。如下:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(1)

也就是说CAN协议对ISO中的物理层、数据链路层、传输层做了自己的规定。

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(2)

其中数据链路层可分为MAC(媒介访问控制)子层、LLC(逻辑链路控制)子层。MAC子层是CAN协议的核心部的分。数据链路层的功能是将物理层收到的信号组织成有意义的消息,并将提供传送错误控制等传输控制的流程。也就是消息的帧化、仲裁、应答、错误的检测或者报告。数据链路层的功能通常在CAN控制器的硬件中执行。

物理层定义了信号实际的发送方式、位时序、位的编码方式及其同步的步骤,但是具体的说:信号电平、通道的速度、采样点、驱动器、总线的电气特性,连接器的形态等均为定义。这些都需要自己去定义的,如博世公司的CAN协议,但是CAN的ISO标准(ISO11898、ISO11591-2)中是定义了总线及其驱动器的电气特性的。


下面我们就来看一下ISO标准化的CAN协议。

CAN协议经过ISO标准化后有ISO11898、ISO11591-2两种标准,ISO11898和ISO11591-2对于数据链路层的定义相同,物理层不同。如图:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(3)

其中;

ISO11898的通讯速率为125kbps~1Mbps的CAN高速通讯标准。

ISO11519的通讯速率为125kbps一下的CAN低速通讯标准。

ISO11898和ISO11591-2的异同

主要看一下物理层的不同,

CAN协议的物理层,被定义成了3个子层封分别是:PLS(物理信号子层)子层、PMA(物理介质连接)子层、MDI(介质相关接口)子层。ISO11898和ISO11591-2在物理层中的PMA和MDI层不同。如图:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(4)

主要不同点如下:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(5)

其实主要关注一下总线拓扑,我们知道CAN收发器根据两根总线(CAN_H和CAN_L)的电位差来判断总线电平的。总线电平和分为显性电平和隐形电平,总线必须处于两种电平之一。总线上执行逻辑上的线“与”时,显性电平为0,隐形电平为1。其特征如下:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(6)

由于ISO11898和ISO11591-2对物理层的规定不同,使得为之对应的驱动IC也不同。


CAN和标准规格

不仅是ISO,SAE等其它组织等也对CAN进行了标准化,图:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(7)

在汽车的通讯协议以通讯速度为准也进行了分类:

can通讯协议讲解(一文轻松了解CAN协议的基本概念及标准规格)(8)

,