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%
相关推荐
盐水冰6 小时前
【烘焙坊项目】后端搭建(12) - 订单状态定时处理,来单提醒和顾客催单
java·后端·学习
Hello小赵6 小时前
视频压缩编码学习(一)—— 基础知识大集合
学习
逐步前行7 小时前
STM32_TIM_寄存器操作
stm32·单片机·嵌入式硬件
似水明俊德7 小时前
02-C#.Net-反射-学习笔记
开发语言·笔记·学习·c#·.net
0南城逆流07 小时前
【STM32】知识点介绍七:PWM功能
stm32·单片机·嵌入式硬件
智者知已应修善业7 小时前
【51单片机独立按键控制数码管移动反向,2片74CH573/74CH273段和位,按键按下保持原状态】2023-3-25
经验分享·笔记·单片机·嵌入式硬件·算法·51单片机
adore.9688 小时前
3.18 复试学习
学习
留白_8 小时前
MySQL学习(9)——索引
学习
我是一棵无人问荆的小草8 小时前
单片机通电后延迟启动策略
单片机·嵌入式硬件
请你喝好果汁6418 小时前
生信学习笔记:ArchR 处理小麦单细胞 ATAC-seq 中的细胞数差异与 Embedding 报错调试
学习