CAN基础知识
ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准。
CAN协议的特点:
多主控制。系统柔软性。速度快,距离远。具有错误检测、错误通知和错误恢复功能。故障封闭功能。连接节点多。
显性电平对应逻辑:0
CAN_H和CAN_L之差为2V左右。
隐性电平对应逻辑:1
CAN_H和CAN_L之差为0V。
显性电平具有优先权,只要有一个单元输出显性电平,总线上即为显性电平。而隐形电平则具有包容的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平(显性电平比隐性电平更强)。另外,在CAN总线的起止端都有一个120Ω的终端电阻,来做阻抗匹配,以减少回波反射。
CAN通信是以以下5种类型的帧进行的:
数据帧遥控帧错误帧过载帧间隔帧
数据帧和遥控帧有标准格式和扩展格式两种格式。
标准格式有11 个位的标识符(ID),扩展格式有29 个位的ID 。
数据帧由7个段组成:
①,帧起始。
表示数据帧开始的段。
②,仲裁段。
表示该帧优先级的段。
③,控制段。
表示数据的字节数及保留位的段。
④,数据段。
数据的内容,一帧可发送0~8个字节的数据。
⑤,CRC段。
检查帧的传输错误的段。
⑥,ACK段。
表示确认正常接收的段。
⑦,帧结束。
表示数据帧结束的段。
STM32自带了基本扩展CAN外设,又称bxCAN,bxCAN的特点如下:
支持CAN协议2.0A和2.0B主动模式
波特率最高达1Mbps
支持时间触发通信
具有3个发送邮箱
具有3级深度的2个接收FIFO
可变的筛选器组(也称过滤器组,最多28个)
工作模式:
①初始化模式(INRQ=1,SLEEP=0)
②正常模式(INRQ=0,SLEEP=0)
③睡眠模式(SLEEP=1)
测试模式
①静默模式( LBKM=0,SILM=1 )
②环回模式( LBKM=1,SILM=0 )
③环回静默模式(LBKM=1,SILM=1)