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%
相关推荐
MartinYeung57 小时前
[论文学习]隐私保护联邦特徵选择与差分隐私的的工程实践框架
学习
qeen877 小时前
【C++】类与对象之类的默认成员函数(二)
android·c语言·开发语言·c++·笔记·学习
Flandern11118 小时前
Pull Requests(PR)
学习·github·pr
三佛科技-187366133979 小时前
FT32F103C8AT7兼容GD32F103C8T632 位通用微控制器MCU,替代性分析
单片机·嵌入式硬件
iCxhust9 小时前
8086汇编 word ptr
汇编·单片机·嵌入式硬件·微机原理·8088单板机
nashane9 小时前
HarmonyOS 6学习:JsCrash“闪退”法医指南——从FaultLog堆栈还原崩溃现场的终极手册
学习·华为·harmonyos
for_ever_love__9 小时前
UI学习:UICollectionView瀑布流
学习·ui·ios·objective-c·cocoa
嵌入式ZYXC9 小时前
第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》
stm32·单片机·嵌入式硬件·面试·职场和发展
AOwhisky9 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
_李小白9 小时前
【android opencv学习笔记】Day 32:直线检测之霍夫变换
android·opencv·学习