STM32CAN波特率简易计算

CAN总线通信的各节点通信时会产生相位差,所以要进行位同步,两个节点保持步调一致。
CAN_SJW:重新同步跳跃宽度(SJW) 。定义了在每位中可以延长或缩短多少个时间单元的上限。其值可以编程为1到4个时间单元。
CAN_BS1:时间段1(BS1):定义采样点的位置。其值可以编程为1到16个时间单元,但也可以被自动延长,以补偿因为网络中不同节点的频率差异所造成的相位的正向漂移。
CAN_BS2:时间段2(BS2):定义发送点的位置。其值可以编程为1到8个时间单元,但也可以被自动缩短以补偿相位的负向漂移。
CAN_Prescaler:直观理解就是分频率。
CAN_SJW : CAN_SJW_1tq - CAN_SJW_4tq 一般默认为1  不能比任何一相位缓冲段长

CAN_BS1 : CAN_BS1_1tq - CAN_BS1_16tq

CAN_BS2 : CAN_BS2_1tq - CAN_BS2_8tq

CAN_Prescaler : 1 - 1024

STM32F1x配置说明:

baud = 36000000 / (1 + CAN_BS1 + CAN_BS2) / CAN_Prescaler

tss = 1;

ts1 = CAN_BS1;

ts2 = CAN_BS2;

Cia推荐对应波特率采样比率如下:

0.75     baud > 800k

0.80     baud > 500k

0.875    baud <= 500k

Ex:

  1. 根据需要使用的波特率选择采样率:

比如我需要baud = 250k,采样率就是0.875;

(tss + ts1)/(tss + ts1 + ts2) = 0.875

(1 + ts1) / (1 + ts1 + ts2) = 0.875

要让ts1 和ts2 都为整数且上面等式成立,则有:   CAN_BS1 = 6,CAN_BS2= 1;

CAN_BS1 = 13,CAN_BS2= 2

……

2.根据baud = 36000000 / (1 + CAN_BS1 + CAN_BS2) / CAN_Prescaler = 250K

Can分频: CAN_Prescaler = 36000000/(1 + 13 + 2)/250K = 9;

所以需要配置CanBand = 250K参数为:

CAN_BS1 = CAN_BS1_13tq(13)

CAN_BS2 = CAN_BS2_2tq(2)

CAN_Prescaler = 9

程序中Can波特率给对应参数:

STM32CAN波特率简易计算相关推荐

  1. 计算机房承重载荷,承重能力的简易计算

    <承重能力的简易计算>由会员分享,可在线阅读,更多相关<承重能力的简易计算(2页珍藏版)>请在人人文库网上搜索. 1.承重能力的简易计算在蓄电池的设计.施工过程中,经常需要考虑 ...

  2. stm32CAN波特率计算小程序(QT源码)

    软件:Qt Creator 开发环境:Window7 用qt做得一个计算波特率的小程序,在实际的应用中我们设置波特率的时候是通过以下参数来定的: CAN_InitStructure.CAN_SJW=C ...

  3. LPC23XX CAN波特率的计算

    1.首先确定PLL输入时钟源 lpc2300系列有三个可供选择的时钟源,分别为:内部RC振荡器.主振荡器和RTC振荡器. 2.然后确定系统时钟频率 PLL频率参数 参数 描述 PLL输入时钟的频率(时 ...

  4. 计算机上的波特率标准,电子信号术语-波特率9600计算单位是波特/每秒(B/s)

    波特率计算公式及含义是什么: 波特率 :Bps;Baud rate;BAUD;baudrate;band rate 电抗值,电阻(率)硬件方面设计了时钟电路和波特率配置: In the hardwar ...

  5. 不同波特率传输时间计算

    1.有关波特率600 bits per second涉及的传输时间计算 一帧数据包括: 1个起始位: 8个数据位: 1个标志位: 1个停止位: 总共11bits: 现有三帧数据要发送因此有3*11bi ...

  6. vb简易计算机器程序,vb简易计算器源码

    代码如下: /** *Author:乌鸟heart *Version:1.0 */ Dim IntX As Double '全局变量,用于存储计算的数值 Dim IntOperation As Dou ...

  7. 用java的二维数组做一个简易计算优惠小程序(附带源码)

    要求: 1.单点: 溜肥肠24元 酱肘子32 米饭3元 2.订单满30打八折 3.优惠价: 溜肥肠18元 4.打八折与优惠价不能同时使用,点这三样,最少多少钱? 思路: 首先定义一个 String 类 ...

  8. android简易计算,android实现简易计算器

    android实现简易计算器 时间:2021-05-20 本文实例为大家分享了android实现简易计算器展示的具体代码,供大家参考,具体内容如下 效果图: 一.如图,首先布局计算器主页显示 acti ...

  9. 对于畸变较小的相机,如何简易计算相机参数

    一.前言 在很多图像处理中,需要使用相机参数来校正图像畸变.相机参数的获取往往需要复杂的标定过程,耗时耗力. 对于一些消费级相机,其本身畸变较小,可以人工计算理想模型下的参数来近似相机参数.我们就可以 ...

  10. 【浅谈 5G宽带速率简易计算和方法】

    2021年5G越来越流行,应用范围很广,而且运营商多次推出免费宽带升级,比如我们听到的免费10M升级到100M,20M升级到50M等等,五花八门,让很多人感到疑惑: 我们平时的下载速度也就几百K或者偶 ...

最新文章

  1. iOS开发关于block学习的总结
  2. Docker 容器技术 — 基本使用
  3. 网络营销外包——改善企业网站排名现状网络营销外包少不了
  4. s l m 尺码排序 php,m l xl xxl是什么意思?服装尺码s m l xl xxl含义
  5. Xcode 6制作动态及静态Framework
  6. 你知道css单位fr吗?
  7. node 的path模块中 path.resolve()和path.join()的区别
  8. Codeforces Round #603 (Div. 2) E. Editor 线段树维护括号序列
  9. 【HDU - 6514】Monitor(二维差分,前缀和)
  10. 经典面试题(15):以下代码将输出的结果是什么?
  11. 龙蜥社区陈绪:从CentOS 停服说起,龙蜥操作系统的开源观
  12. MySQL字符串拼接的两种方式
  13. 初学者如何选择网络仿真软件
  14. 矩阵分析与应用 -- 线性方程组
  15. softice调试驱动程序
  16. 医学方面的创业计划书_医学生创业计划书怎么写
  17. 【功能代码设计】3D坦克大战
  18. 重磅!瑞泰信息发布中国企业数字化增长行业实践白皮书——《数字化平台造就企业增长新引擎》
  19. Element ui 修改 <el-collapse 的 <el-collapse-item 标题字体大小
  20. [Unity]摄像机动态人物头像amp;截图amp;TargetTexture问题

热门文章

  1. 大学计算机基础教程第9章计算机多媒体技术
  2. JAVA核心技术36讲教程
  3. 最好用的 3 个 Windows EPUB 阅读器推荐
  4. VB6源代码收藏页面
  5. 管家婆服务器端linux版,管家婆辉煌2005+4.2完美特别版-支持网络、单机、门店;无任何限制...
  6. adb for linux的工具包,adb工具包下载_adb工具包官方下载「最新版」-太平洋下载中心...
  7. CSDN积分获取规则
  8. [转]MapX 操作总结
  9. 用MapX与C#开发地理信息系统
  10. 用windows命令开启远程桌面