CubeMx-CAN

Mode

  1. 选择是否启用CAN

Parameter Settings

Bit Timings Parameters

CAN通信时钟、速率相关配置

1. Prescaler

  1. 分频系数:对APB1时钟进行分频后成为CAN的时间单元(TQ)
  2. TQ = APB1 / 分频系数

2. Time Quanta in Bit Segment 1

  1. 定义位时间中采样点之前的时间段长度
  2. BS1

3. Time Quanta in Bit Segment 2

  1. 定义位时间中采样点之后的时间段长度
  2. BS2

4. ReSynchronization Jump Width

  1. 重同步时间:定义在位同步过程中,允许一次最多延长或缩短位时间的TQ数量
  2. SJW,必须小于BS1和BS2

配置要求

  1. 波特率 = APB1 / 分频系数 / (1 + BS1 +BS2)
  2. 采样点位 = (1 + BS1) / (1 + BS1 + BS2) * 100%,推荐在75% ~ 85%

Basic Parameters

1. Time Triggered Communication Mode

  1. 是否启用 TTCM(时间触发通信模式)
  2. 启用:TTCAN是CAN协议的扩展,为了满足严格的实时性要求。基于硬件定时器在固定时间窗口发送消息,支持硬件时间戳。启用后需要禁止自动重传
  3. 禁用:普通CAN通信禁用
  4. 项目禁用

2. Automatic Bus-Off Management

  1. 自动Bus-Off管理
  2. 当发送错误计数器 > 255时,节点会进入Bus-Off状态,停止参与总线通信
  3. 启用:硬件自动监控,当满足恢复条件(连续128 * 11个隐性位)时,自动退出Bus-Off并恢复通信
  4. 禁用:进入Bus-Off后,需要手动清除错误计数器并重新初始化CAN才能恢复
  5. 项目启用

3. Automatic Wake-Up Mode

  1. 自动唤醒模式
  2. CAN控制器进入Sleep模式后,需要重新启用才能再进行CAN通信
  3. 启用:检测到总线活动(一个显性位)时,硬件自动退出Sleep模式并产生中断
  4. 禁用:需要软件手动发送唤醒请求才能退出Sleep
  5. 项目启用,但是项目不知道会不会进入Sleep模式

4. Automatic Retransmission

  1. ART:自动重传发送失败的消息
  2. CAN信息发送失败的原因
    1. 仲裁优先级不足
    2. 未收到ACK
  3. 启用:硬件自动无限重传,直到发送成功。标准CAN必须启用
  4. 禁用:只尝试发送一次,失败后放弃
  5. 项目启用

5. Receive Fifo Locked Mode

  1. 是否进行Fifo锁定行为
  2. 禁用:新消息覆盖最旧的信息,Fifo始终存储3条最新信息
  3. 启用:Fifo信息未被接受前一直保存信息
  4. 项目中禁用

6. Transmit Fifo Priority

  1. 发送邮箱是否采用优先级仲裁
  2. 禁用:发送信息按照ID优先级进行仲裁
  3. 启用:发送信息按照先入先发的顺序
  4. 项目中禁用

Advanced Parameters

1. Operating Mode

  1. CAN通信的模式
    1. Normal:正常模式,正常参与总线通信。产品实际应用的模式
    2. Loopback:环回模式,内部发送的信息直接环回到接受输入。用于进行单点自测
    3. Silent:静默模式,只监听不发送。用于总线分析、故障诊断
    4. Loopback conbined with Silent:环回静默模式。用于完全离线的测试,可连接真实总线但需要隔离测试

补充知识

CAN通信波特率计算(项目使用)

  1. 系统配置:APB1 = 40MHz、Pres = 8、SB1 = 7、SB2 = 2、SJW = 1
  2. 波特率 = 40M / 8 / (1 + 2 + 7)= 500kHz
  3. 采样点位 = (1 + 7) / (1 + 2 + 7) = 80%
相关推荐
世人万千丶18 小时前
Flutter 框架跨平台鸿蒙开发 - 恐惧清单应用
学习·flutter·华为·开源·harmonyos·鸿蒙
fie888918 小时前
基于51单片机的航模遥控器6通道接收机程序
单片机·嵌入式硬件·51单片机
yuzhuanhei18 小时前
Visual Studio 配置C++opencv
c++·学习·visual studio
llilian_1618 小时前
选择北斗导航卫星信号模拟器注意事项总结 北斗导航卫星模拟器 北斗导航信号模拟器
功能测试·单片机·嵌入式硬件·测试工具·51单片机·硬件工程
Yyq1302086968219 小时前
MH2457,‌国产 32 位屏驱 MCU‌芯片,支持‌1080P 高清显示‌与‌以太网通信‌,广泛应用于两轮车仪表盘及工控屏等领域
单片机·嵌入式硬件
此刻觐神19 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
憧憬从前19 小时前
算法学习记录DAY2
学习
babe小鑫19 小时前
会计岗位学习数据分析的价值分析
学习·数据挖掘·数据分析
千枫s19 小时前
电脑vm虚拟机kali linux安装shannon
学习·网络安全
zjnlswd19 小时前
tkinter学习案例--笔记代码
笔记·学习