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%
相关推荐
AI视觉网奇7 分钟前
3d数字人 ue blender 绑定衣服对齐 2026
学习·ue5
Nan_Shu_61412 分钟前
学习: Blender 基础篇
学习·blender
Hello_Embed28 分钟前
libmodbus 移植 STM32(USB 串口后端篇)
笔记·stm32·单片机·嵌入式·freertos·libmodbus
奶茶精Gaaa1 小时前
工具分享--json在线转换工具
学习
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [drivers][I2C]I2C
linux·笔记·学习
盐焗西兰花2 小时前
鸿蒙学习实战之路-Reader Kit自定义字体最佳实践
学习·华为·harmonyos
近津薪荼2 小时前
dfs专题5——(二叉搜索树中第 K 小的元素)
c++·学习·算法·深度优先
来自晴朗的明天3 小时前
14、光耦隔离电路(EL3H7)
单片机·嵌入式硬件·硬件工程
G***技3 小时前
杰和IB3-272:以低功耗高性能打造新一代工业智能交互核心
单片机·嵌入式硬件·物联网
敏叔V5873 小时前
AI智能体的工具学习进阶:零样本API理解与调用
人工智能·学习