CAN OSI model
控制器局域网络(Controller Area Network,简称CAN)在技术术语中主要由数据链路层和物理层组成。
在7层OSI模型的背景下,CAN代表了两个最低的层次,如下图所示:
对于高速CAN,ISO 11898-1描述了数据链路层(Data link Layer),而ISO 11898-2描述了物理层(Physical Layer)。
物理层
Physical layer (ISO 11898-2)
CAN总线的物理层定义了电缆类型、电信号水平、节点要求、电缆阻抗等。例如,物理层规定了以下内容:
- 波特率:节点必须通过双线总线连接,波特率可达1 Mbit/s(经典CAN)或8 Mbit/s(CAN FD)
- 电缆长度:最大CAN电缆长度应在500米(125 kbit/s)到40米(1 Mbit/s)之间
- 终端电阻:CAN总线必须在总线的两端使用120欧姆的终端电阻进行终止
数据链路层
Data link layer(ISO 11898-1)
CAN总线的数据链路层定义了例如CAN帧格式、错误处理、数据传输,并帮助确保数据的完整性。例如,数据链路层规定了:
- 帧格式:四种类型(数据帧、远程帧、错误帧、过载帧)和11位/29位标识符
- 错误处理:检测/处理CAN错误的方法包括CRC、确认时隙、错误计数器等
- 仲裁:非破坏性的逐位仲裁有助于管理CAN总线访问,并通过基于ID的优先级避免冲突。
关于CAN Bus的详细内容(Standard CAN 及 Extended CAN)我们下期接着说明,敬请关注!
参考链接:
- https://www.ti.com/lit/an/sloa101b/sloa101b.pdf
- https://www.csselectronics.com/pages/can-bus-simple-intro-tutorial#osi-model
- https://www.circuitbread.com/tutorials/understanding-can-a-beginners-guide-to-the-controller-area-network-protocol