杰发科技AC7840——CAN通信简介(8)_通过波特率和时钟计算SEG_1/SEG_2/SJW/PRESC

通过公式计算

cpp 复制代码
 *  波特率和采样点计算公式:
 *  tSeg1 = (S_SEG_1 + 2); tSeg2 = (S_SEG_2 + 1).
 *  BandRate = (SCR_CLK / (S_PRESC + 1) / ((S_SEG_1 + 2) + (S_SEG_2 + 1))), SCR_CLK 为CAN 模块源时钟
 *  SamplePoint = (tSeg1 / (tSeg1 + tSeg2)).
cpp 复制代码
{0x0D, 0x04, 0x04, 0x3B},  // SEG_1, SEG_2, SJW, PRESC  50K, 75%  
{0x0D, 0x04, 0x04, 0x1D},  // SEG_1, SEG_2, SJW, PRESC 100K, 75%  
{0x0D, 0x04, 0x04, 0x02},  // SEG_1, SEG_2, SJW, PRESC   1M, 75%  
{0x15, 0x06, 0x06, 0x00},  // SEG_1, SEG_2, SJW, PRESC   2M, 77%  
{0x09, 0x03, 0x03, 0x00},  // SEG_1, SEG_2, SJW, PRESC   4M, 73%  
{0x05, 0x02, 0x02, 0x00},  // SEG_1, SEG_2, SJW, PRESC   6M, 70%  
{0x04, 0x01, 0x01, 0x00},  // SEG_1, SEG_2, SJW, PRESC 7.5M, 75%

把公式给文心一言

用文心一言验证50K配置

用文心一言验证100K配置

用文心一言验证7.5M配置

上述验证全部正确,计算60Mhz 5M 75%配置

cpp 复制代码
60Mhz 5M 75%
{0x07, 0x02, 0x01, 0x00}

测试OK

上述验证全部正确,计算60Mhz 500K 80%配置

因为1M的分频在2,

并且普通CAN的分频也是2,

因此设置预分频2来计算配置(之前默认0计算结果都错的)

cpp 复制代码
60Mhz 500K 80%
{0x1E, 0x07, 0x01, 0x02}

测试OK

相关推荐
向量引擎4 天前
我用AI给自己搭了一套热点证据系统
人工智能·gpt·aigc·文心一言·ai编程·ai写作·agi
库拉大叔5 天前
2026 国产 AI 大模型横评:DeepSeek、通义千问、Kimi、文心一言、星火、豆包谁更能打?
人工智能·文心一言
LeoZY_5 天前
CH347应用 USB转JTAG功能之:probe-rs搭配CH347下载MCU命令全指南
单片机·嵌入式硬件·mcu·开源·github
sramdram6 天前
基于MCU微控制器的电子血压计应用解决方案
单片机·嵌入式硬件·mcu·mcu微控制器
DXM05216 天前
第10期| 卷积神经网络CNN通俗详解:AI遥感的底层核心
人工智能·python·神经网络·机器学习·arcgis·cnn·文心一言
南岸的水7 天前
BMS国标充电解析
单片机·嵌入式硬件·mcu
sramdram7 天前
低功耗国产蓝牙芯片,蓝牙MCU方案
单片机·嵌入式硬件·mcu·蓝牙mcu·蓝牙方案
DS随心转插件7 天前
AI导出鸭深度评测:DeepSeek 转 Word 实战表现与边界分析
人工智能·ai·word·文心一言·deepseek·ai导出鸭
魔极客10 天前
利用文心一言解决“1panel下载ollama镜像时间太长引起的不能远程连接ssh故障”
运维·ssh·文心一言
haven-85212 天前
后端如何参与 Agent 开发生态
文心一言