![c2730073cbe61ec11adaa9a55f6c544e.png](https://img-blog.csdnimg.cn/img_convert/c2730073cbe61ec11adaa9a55f6c544e.png)
CAN为串行通讯协议,能有效地支持具有很高安全等级的分布实时控制。
CAN的应用范围很广,从高速的网络到低价位的多路接线都可以使用CAN。
在汽车电子行业里,使用CAN连接发动机控制单元、传感器、防刹车系统、等等,其传输速度可达1Mbit/s。同时,可以将CAN安装在卡车本体的电子控制系统里,诸如车灯组、电气车窗等等,用以代替接线配线装置。
技术规范的目的是为了在任何两个CAN仪器之间建立兼容性。可是,兼容性有不同的方面,比如电气特性和数据转换的解释。
为了达到设计透明度以及实现灵活性,根据ISO/OSI参考模型,CAN 2.0规范细分为以下不同的层次:数据链路层和物理层(如图所示)。
![4e9b0f42977405d3e835ddfcb50cd8f6.png](https://img-blog.csdnimg.cn/img_convert/4e9b0f42977405d3e835ddfcb50cd8f6.png)
在以前版本的CAN规范中,数据链路层的LLC子层和MAC子层的服务及功能分别被解释为“对象层”和“传输层”。
逻辑链路控制子层(LLC)的作用范围如下:
- 为远程数据请求以及数据传输提供服务。
- 确定由实际要使用的LLC子层接收哪一个报文。
- 为恢复管理和过载通知提供手段。
MAC子层的作用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。位定时的一些普通功能也可以看作是MAC子层的一部分。
物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输。
CAN具有以下的属性:
- 报文的优先权
- 保证延迟时间
- 设置灵活
- 时间同步的多点接收
- 系统内数据的连贯性
- 多主机
- 错误检测和错误标定
- 只要总线一处于空闲,就自动将破坏的报文重新传输
- 将节点的暂时性错误和永久性错误区分开来,并且可以自动关闭由OSI参考模型分层CAN结构的错误的节点。
依据ISO/OSI参考模型的层结构具有以下功能:
- 物理层定义信号是如何实际地传输的,因此涉及到位时间、位编码、同步的解释。技术规范没有定义物理层的驱动器/接收器特性,以便允许根据它们的应用,对发送媒体和信号电平进行优化。
- MAC子层是CAN协议的核心。它把接收到的报文提供给LLC子层,并接收来自LLC子层的报文。MAC子层负责报文分帧、仲裁、应答、错误检测和标定。MAC子层也被称作故障界定的管理实体监管。此故障界定为自检机制,以便把永久故障和短时扰动区别开来。
- LLC子层涉及报文滤波、过载通知、以及恢复管理。
![8e755fb6200f8c332f1b22054de9789d.png](https://img-blog.csdnimg.cn/img_convert/8e755fb6200f8c332f1b22054de9789d.png)
![2a681721a07f6c2fe9a53408e9002608.png](https://img-blog.csdnimg.cn/img_convert/2a681721a07f6c2fe9a53408e9002608.png)