【全文大纲】 : https://blog.youkuaiyun.com/Engineer_LU/article/details/135149485
1 . 概要
1 . CAN协议其实属于局域网领域,这里尽量往以往风格按物理层,协议层,应用层分析
2 . CAN协议属于半双工通信协议, 由于风格简洁,此篇文章适合入门
3 . 接下来从物理层,协议层,应用层,从下往上深入浅出剖析
2 . 物理层
- 如图所示,结构简洁,每个节点只需两根线通信CAN_H与CAN_L.
- CAN_H - CAN_L < 0.5V时为逻辑“1”.隐性
- CAN_H - CAN_L > 0.9V时为逻辑“0”.显性
3 . 协议层
- 如图所示,数据帧报文由12部分组成,由于CAN细节较多,本文偏向简洁风格,先讲述数据帧报文。
SOF(帧起始)
: 数据帧起始标志,固定为0ID(仲裁段)
: 数据帧的 ID 信息,仲裁依靠ID段仲裁RTR(远程帧)
: 0为数据帧;1为远程帧IDE(扩展位)
: 0为标准;1为扩展R0(保留位)
: 固定为逻辑0DLC(数据长度)
: 数据范围0-8,绑定数据段范围DATA(数据段)
: 数据范围0-8字节CRC(校验)
: CRC校验CRC(分隔位)
: 与后面ACK位分隔,输出1ACK(应答位)
: 发1,读到0,说明有应答ACK(分隔位)
: 与后面EOF位分隔,输出1EOF(帧结束)
: 由发送端发送 7个1表示结束IFS(帧间隔)
: 相隔3个位,一般全1
4 . 应用层
- 芯片自带CAN控制器 : 当物理层,协议层都明确后,只需配置寄存器,即可驱动。
- CAN控制器在外部 : 这种比较麻烦,需要配置CAN接口电路。
- 关于多节点通信CAN依靠ID段进行仲裁,按照逻辑“0”进行,谁的“0”多,谁是老大,可以继续发送
5 . 小结
CAN协议细节较多,后续持续补充内容。
个人风格秉承深入浅出,简洁风格描述,谢谢观看。
技术交流QQ群 : 745662457
群内专注 - 问题答疑,技术研究
图片资源本人在网上下载,若有侵权行为,请告知,本人会立刻删除