STM32-笔记44-CAN协议
一、什么是CAN协议?
1.1、CAN协议与I2C\SPI协议的不同?
CAN_High: 低速CAN ( ISO11519 )通信速率 10~125Kbps ,总线长度可达 1000 米。CAN_Low: 高速CAN ( ISO11898 )通信速率 125Kbps~1Mbps ,总线长度 ≤ 40 米。
1.2 特点:
- 多主控制:支持多主方式,即任何一个节点都可以在总线上发送数据,其他节点根据需要进行接收。当两个以上的节点同时开始发送数据时,会根据标识符(ID)决定优先级。
- 系统柔软性:与总线相连的单元没有类似于“地址”的信息,因此在总线上增加单元时,连接在总线上的其他单元的软硬件及应用层都不需要改变。
- 通信速度快、距离远:数据传输速率较高,标准速率为125kbps,扩展速率可达1Mbps,且通信距离远,最远可达10KM(速率低于5Kbps)。
- 错误检测与恢复:具有错误检测、错误通知和错误恢复功能,能够确保数据传输的可靠性。
- 故障封闭功能:能够判断出错误的类型,并将引起故障的单元从总线上隔离出去。
二、CAN协议分层结构
详解CAN总线:CAN协议分层结构及功能-腾讯云开发者社区-腾讯云
这里分为两层解析:
物理层和协议层
https://download.csdn.net/download/L_1068/90279533
三、STM32 CAN控制器介绍
3.1 CAN控制器介绍
3.2 CAN控制器模式
3.3 CAN控制器框图
发送处理过程
接收处理过程
接收过滤器
3.4 CAN控制器位时序
原文地址:https://blog.csdn.net/L_1068/article/details/145203140
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!