1) CAN介绍
a) 什么是CAN?
b) CAN总线特点
c) CAN应用场景
2)CAN物理层
a) CAN物理层特性
b) CAN收发器芯片介绍
3)CAN协议层
a) CAN帧种类介绍
b) CAN数据帧介绍
c) CAN位时序介绍
d) CAN总线仲裁
a)、CAN介绍
CAN(Controller Area Network),是ISO国际标准化的串行通信协议。
为了满足汽车产业的“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需求。
低速CAN(ISO11519)通信速率10~125Kbps,总线长度可达1000
高速CAN(ISO11898)通信速率125Kbps~1Mbps,总线长度≤40米
CAN FD 通信速率可达5Mbps,并且兼容经典CAN,遵循ISO 11898-1 做数据收发
CAN总线由两根线( CANL 和 CANH )组成,允许挂载多个设备节点(低速CAN:20 高速CAN:30)。
b)、CAN总线的特点
1)多主控制 每个设备都可以主动发送数据
2)系统的柔软性 没有类似地址的信息,添加设备不改变原来总线的状态
3)通信速度 速度快,距离远
4)错误检测&错误通知&错误恢复功能
5)故障封闭 判断故障类型,并且进行隔离
6)连接节点多 速度与数量找个平衡
c)、CAN应用场景
CAN总线协议已广泛应用在汽车电子、工业自动化、船舶、医疗设备、工业设备等方面。
a)、CAN物理层
CAN使用差分信号进行数据传输,根据CAN_H和CAN_L上的电位差来判断总线电平。
总线电平分为显性电平(逻辑0)和隐性电平(逻辑1),二者必居其一。
显性电平具有优先权。发送方通过使总线电平发生变化,将消息发送给接收方。
电平 | 高速CAN | 低速CAN |
显性电平(0) | UCAN_H – UCAN_L= 2V | UCAN_H – UCAN_L = 3V |
隐性电平(1) | UCAN_H – UCAN_L = 0V | UCAN_H – UCAN_L = - 1.5V |
b)、CAN收发器芯片介绍
CAN收发器芯片 TJA1050、TJA1042、SIT1050T
SIT1050T 支持高速CAN,传输速率可达1Mbps
3)、 CAN协议层
CAN总线以“帧”形式进行通信。CAN协议定义了5种类型的帧:数据帧、遥控帧、错误帧、过载帧、间隔帧,其中数据帧最为常用。
帧类型 | 帧作用 |
数据帧(Data Frame)* | 用于发送单元向接收单元传输数据的帧
|
遥控帧(Remote Frame)* | 用于接收单元向具有相同ID的发送单元请求数据的帧 |
错误帧(Error Frame) | 用于当检测出错误时向其他单元通知错误的帧 |
过载帧(Overload Frame) | 用于接收单元通知其尚未做好接收准备的帧 |
间隔帧(Inter Frame Space) | 用于将数据帧 及遥控帧与前面的帧分离开来的帧 |
数据帧由7段组成。数据帧又分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段
CAN位时序介绍
2,STM32 CAN控制器介绍
1)CAN控制器介绍
2)CAN控制器模式
3)CAN控制器框图
4)CAN控制器位时序