CAN总线学习笔记 | CAN基础知识介绍
发布网友
发布时间:2024-10-02 05:24
我来回答
共1个回答
热心网友
时间:2024-12-14 10:49
CAN,即控制器局域网络(Controller Area Network),由博世公司开发,现已成为国际标准(ISO11519及ISO11898),广泛应用于汽车领域。CAN物理层特征为异步通讯,由两条差分信号线(CAN_High和CAN_Low)构成。物理层形式有多种,TJA1050芯片常作为CAN收发器使用。差分信号采用两根信号线,振幅相等、相位相反,电压差表示逻辑状态,其中显性电平(正电压)对应逻辑0,隐性电平(小于或等于0)对应逻辑1,显性电平更强。
CAN协议层采用位同步方式,没有时钟信号线,节点间通过约定的波特率进行通讯。一个数据位传输需19个Tq周期,波特率计算公式为每秒传输数据位数=时钟频率/(1+TS1+TS2+BRP)。硬同步指节点在检测到帧起始信号时调整位时序与总线同步,重新同步则通过普通数据位的跳变沿调整同步。
数据帧结构由帧头、数据数据、CRC校验、帧尾等部分组成。CAN控制器集成于STM32芯片中,支持CAN协议2.0A和2.0B标准,最高传输速率为1Mb/s。STM32支持自动接收和发送报文,具备标准ID和扩展ID报文处理能力,有3个发送邮箱和2个3级深度接收FIFO,可进行优先级控制,记录发送时间,配置自动重发功能。
CAN控制器内的核心部件包括发送邮箱和接收FIFO,发送邮箱最多缓存3个待发送报文,包含标识符、数据长度控制和数据寄存器。接收FIFO最多缓存6个接收到的报文,通过报文计数器监控接收状态,并可设置锁定模式防止溢出时新报文覆盖旧报文。接收FIFO与发送邮箱结构相似,但用于接收已筛选的报文。
验收筛选器共有28组,每组包含2个寄存器,用于配置筛选条件,筛选器工作模式分为掩码模式和标识符模式,通过设置筛选ID长度和过滤方法(如匹配模式、掩码模式、等宽模式、不等宽模式)实现报文筛选。筛选器通过比较报文ID与配置的筛选条件,决定是否接收报文至FIFO。
深入了解CAN基础知识后,未来文章将介绍STM32芯片的CAN通信实例。