关注“嵌入式软件学习圈”免费获取更多学习教程
6. CAN 协议的基本概念
CAN 协议如表 3 所示涵盖了 ISO 规定的 OSI*1 基本参照模型中的传输层、数据链路层及物理层。
CAN 协议中关于 ISO/OSI 基本参照模型中的传输层、数据链路层及物理层,具体有哪些定义如图 5 所示。
数据链路层分为 MAC 子层和 LLC 子层,MAC 子层是 CAN 协议的核心部分。数据链路层的功能是将物理层 收到的信号组织成有意义的消息,并提供传送错误控制等传输控制的流程。具体地说,就是消息的帧化、仲裁、 应答、错误的检测或报告。数据链路层的功能通常在 CAN 控制器的硬件中执行。
在物理层定义了信号实际的发送方式、位时序、位的编码方式及同步的步骤。但具体地说,信号电平、通信 速度、采样点、驱动器和总线的电气特性、连接器的形态等均未定义*1。这些必须由用户根据系统需求自行确定。
【注】 *1 驱动器及总线的电气特性等在博世公司的 CAN 规格书中没有定义。但在 CAN 的 ISO 标准 (ISO11898、ISO11519-2 等)中分别定义了总线及驱动器的电气特性等。
7. CAN 协议及标准规格
7.1 ISO 标准化的 CAN 协议
CAN 协议经 ISO 标准化后有 ISO11898 标准和 ISO11519-2 标准两种。ISO11898 和 ISO11519-2 标准对于数据 链路层的定义相同,但物理层不同。
(1)
关于 ISO11898
ISO11898 是通信速度为 125kbps-1Mbps 的 CAN 高速通信标准。 目前,ISO11898 追加新规约后,成为 ISO11898-1 新标准。
(2)关于 ISO11519
ISO11519 是通信速度为 125kbps 以下的 CAN 低速通信标准。ISO11519-2 是 ISO11519-1 追加新规约后的版本。
图 6 表示 CAN 协议和 ISO11898 及 ISO11519-2 标准的范围。
7.2 ISO11898 和 ISO11519-2 的不同点
(1) 物理层的不同点
如图 6 所示,ISO11898 和 ISO11519-2 在 CAN 协议中物理层的标准有所不同。CAN 协议的物理层如图 7 所 示,定义了三个子层,ISO11898 和 ISO11519-2 在物理层中的 PMA 层和 MDI 层有所不同。
3 总线拓扑
CAN 收发器根据两根总线(CAN_High 和 CAN_Low)的电位差来判断总线电平。 总线电平分为显性电平和隐性电平两种。总线必须处于两种电平之一。总线上执行逻辑上的线“与”时, 显性电平为“0”,隐性电平为“1”。物理层的特征如图 9 所示。
(2)ISO11898 与 ISO11519-2 的物理层的规格不同,每种规格需要有专门的驱动 IC 与之相对应。ISO11898 及驱动 IC 的选择ISO11519-2 所对应的主要的驱动 IC 如表 5 所示。
7.3 CAN 和标准规格
不仅是 ISO,SAE*1 等其它的组织、团体、企业也对 CAN 协议进行了标准化。
基于 CAN 的各种标准规格如表 6 所示,如图 10 所示,面向汽车的通信协议以通信速度为准进行了分类。
关注微信公众号“嵌入式软件开发学习圈”获取更多嵌入式学习资讯
如需获取其他学习资料,直接在微信公众号留言