“ 近期遇到CAN总线上错误帧的问题,花了些时间来了解CANbus数据帧的结构,利用工具也抓到了CANbus电压波形,在此来和大家分享一下。”
CAN的全称是Controller Area Network,是ISO国际标准化的串行通信协议。因其高性能及可靠性,已被广泛应用于船舶、工业、医疗等领域。
下图为一张完整的CAN frame,其中绿线表示CAN_H,棕线表示CAN_L,蓝线表示电位差。
![0873fd3a46f591d9ec2cd6869840262d.png](https://i-blog.csdnimg.cn/blog_migrate/e65b14817a5a52ee5c86ffe78c7a15ed.jpeg)
![fb9bb114b8a358bfdfc8ac6afd865029.png](https://i-blog.csdnimg.cn/blog_migrate/92e3cc6b6a5addfc337aa94194626ab0.jpeg)
高速CAN中,CAN_H/CAN_L电压及显性/隐形的定义如下:
![a92e7e22ed75622bb5cf4083110f6b69.png](https://i-blog.csdnimg.cn/blog_migrate/c7069e584671373c9faf4213d53982f0.jpeg)
下面就结合理论及实例展示来介绍帧结构中的各部分含义:
一、帧起始、帧结束