0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于UART/CAN/PLL时钟计算波特率的方法

0xQC_gh_ed4f95b 来源:华芯微特32位MCU 作者:华芯微特32位MCU 2022-03-18 16:52 次阅读

本文介绍

SWM系列关于UART/CAN/PLL等时钟相关模块,计算波特率的方法。

01

UART波特率的计算

SWM181系列

SWM260系列

SWM320系列

319fc618-a684-11ec-952b-dac502259ad0.png

计算公式:

目标波特率= 系统主时钟 ÷ (16 * (BAUD + 1))

UART通讯波特率初始化:

31bc8bea-a684-11ec-952b-dac502259ad0.png

BAUD的取值为整数为佳。如小数位大于5,串口数据包越大引起的累积误差会随之增大。

SWM190系列

SWM341系列

SWM201系列

31cc6b14-a684-11ec-952b-dac502259ad0.png

计算公式:

目标波特率=

系统主时钟 ÷ (BAUD.BAUD x16 +BAUD.FRAC + 1)

UART通讯波特率初始化:

31dca2ea-a684-11ec-952b-dac502259ad0.png

可通过 BAUD 寄存器 FRAC 位进行波特率微调,使波特率的误差在 5%以内,提高波特率精度。

02

CAN波特率的计算

SWM181系列

SWM320系列

SWM341系列

具有CAN通讯模块

31ef357c-a684-11ec-952b-dac502259ad0.png

计算公式:

BRP =

系统时钟÷2÷目标波特率÷(1+(BS1+1)+(BS2+1)) -1

CAN通讯波特率初始化:

32018aa6-a684-11ec-952b-dac502259ad0.png

注意

BRP的值要为整数。BS1、BS2的配置值要使得BRP值为整数。

1

确定目标波特率

2

确定系统时钟

3

TEMP为中间值,TEMP = 系统时钟÷2÷目标波特率。

4

SWM181系列、SWM320系列输入BRP的值,取值范围为0 ~ 31。

SWM341系列输入BRP,取值范围在0~1023。

5

输入BS1的值,取值范围为0 ~ 15。

6

B2的值会根据TEMP、BRP、BS1的值进行计算。取值范围为 0 ~ 7。

7

BS1、BS2的值不宜过小。就是采样点设置最好在后半段,即(1+bs1)/(1+bs1+bs2)推荐70%~90%。

8

CAN 初始化配置中SJW的取值建议,SJW小于PBS1和PBS2的最小值,最大值不超过4。

03

PLL时钟的计算

SWM181系列

SWM320系列

SWM341系列

具有CAN通讯模块

32175822-a684-11ec-952b-dac502259ad0.png322ac038-a684-11ec-952b-dac502259ad0.png

PLL输出频率 =

PLL输入时钟 ÷ INDIV x 4 x FBDIV ÷ OUTDIV =

VCO输出频率 ÷ OUTDIV

注意

SWM320 -- VCO输出频率需要在 [600MHz, 1200MHz] 之间。

SWM320的系统时钟不能超过120Mhz。

SWM341 -- VCO输出频率需要在 [600MHz, 1400MHz] 之间。

SWM341的系统时钟不能超过150Mhz。

SWM190系列、SWM260系列,VCO输出频率需要在 [300MHz, 600MHz] 之间。

SWM190、SWM260的系统时钟不能超过60Mhz

1

确定PLL输入时钟。可以是内部RC振荡,也可以是外部晶振

2

确定目标系统时钟

3

确定PLL_IN_DIV,一般设置为6,或是可以被PLL输入时钟源整除的数,取值范围1 ~ 31

4

确定PLL_IN_DIV,需手动输入,一般取值为5或10的倍数,取值范围1 ~ 511

5

自动计算VCO的频率,根据公式自动计算,确定必须在要求范围内。

6

PLL_OUT_DIV值会自动计算,取值必须是2,或4,或8,一般取值为8

7

系统时钟计算值,是用于与目标系统时钟进行比较,便于调整PLL_IN_DIV、PLL_FB_DIV、PLL_OUT_DIV。

SYNWIT MCU UART波特率、CAN波特、PLL系统时钟计算应用工具,有助于应用过程中提高对波特率、系统时钟的理解,和取值设置。工具文件可以通过百度网盘进行下载应用参考。如下:

链接:

https://pan.baidu.com/s/1atLWlk1_SUR8WjISr-Bfpw

提取码:byv2

文件名:

CAN_UART_波特率&PLL时钟计算_20220314.xlsx。(存放位置在“其它公用资料”)

原文标题:SYNWIT MCU 时钟计算应用工具

文章出处:【微信公众号:华芯微特32位MCU】欢迎添加关注!文章转载请注明出处。

审核编辑:彭菁

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • CAN
    CAN
    +关注

    关注

    57

    文章

    2714

    浏览量

    463328
  • 计算
    +关注

    关注

    2

    文章

    444

    浏览量

    38726
  • uart
    +关注

    关注

    22

    文章

    1227

    浏览量

    101161
  • 波特率
    +关注

    关注

    2

    文章

    294

    浏览量

    34060

原文标题:SYNWIT MCU 时钟计算应用工具

文章出处:【微信号:gh_ed4f95bde4df,微信公众号:华芯微特32位MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    can波特率计算

    can波特率其实并不难计算,这里给出了can波特率的简单计算,并给出了实例STM32的
    发表于 12-14 17:02 1.3w次阅读
    <b class='flag-5'>can</b><b class='flag-5'>波特率</b><b class='flag-5'>计算</b>

    什么是串口波特率?串口波特率的分类及应用详解

    什么是串口波特率串口波特率是指串口通信系统中传输数据的速率。在UART串口通信中,数据以位(bit)的形式传输,波特率是指每秒钟传输的位数。在串口通信中,
    的头像 发表于 08-08 10:09 5751次阅读
    什么是串口<b class='flag-5'>波特率</b>?串口<b class='flag-5'>波特率</b>的分类及应用详解

    非标准CAN波特率计算

    影响CAN总线稳定的因素有很多,其中波特率是一项非常重要的指标,很多工程师在选择波特率时非常头疼。今天我们就来说说该如何快速解决特殊波特率计算
    发表于 07-29 08:00

    CAN波特率计算

    车辆使用的250K 的波特率,使用STM32制作的控制板中的CAN波特率计算波特率=APB1Clock/(1+
    发表于 08-20 08:11

    CAN通信波特率设置

    CAN通信波特率设置 LM3S2000、LM3S5000、LM3S8000系列CPU内部有1~3路CAN控制器,通过对CAN位定时寄存器CANBIT及
    发表于 04-06 18:00 24次下载

    CAN 波特率计算器(MCP2515)

    电子发烧友网站提供《CAN 波特率计算器(MCP2515).exe》资料免费下载
    发表于 08-13 19:46 314次下载

    51波特率计算

    51波特率计算
    发表于 12-28 11:07 2次下载

    CAN特殊波特率如何计算

    CAN总线采用的是异步串行通信,也就是没有单独的时钟线来保证各个收发器之间时钟的一致,每个收发器是按事先设置的波特率来对总线上的电平进行分位。因此
    发表于 08-17 18:19 7043次阅读
    <b class='flag-5'>CAN</b>特殊<b class='flag-5'>波特率</b>如何<b class='flag-5'>计算</b>

    非标准的CAN波特率计算方法

      CAN总线采用的是异步串行通信,也就是没有单独的时钟线来保证各个收发器之间时钟的一致,每个收发器是按事先设置的波特率来对总线上的电平进行分位。因此
    发表于 09-19 09:07 26次下载
    非标准的<b class='flag-5'>CAN</b><b class='flag-5'>波特率</b><b class='flag-5'>计算方法</b>

    串口波特率计算详解

    STM32下波特率计算详解波特率计算    STM32下的波特率和串口外设时钟息息相关,USA
    发表于 12-05 09:06 22次下载
    串口<b class='flag-5'>波特率</b><b class='flag-5'>计算</b>详解

    MSP432UART波特率时钟关系

    时,都会进行波特率的设置,在MSP432中如何快速设置波特率??1.首先确定时钟频率下面是可选项(一般选用12MHZ/24MHZ)2.串口配置参数结构体设置最主要设置这三项这是如何计算
    发表于 12-16 16:54 11次下载
    MSP432<b class='flag-5'>UART</b><b class='flag-5'>波特率</b>与<b class='flag-5'>时钟</b>关系

    STM32下波特率计算详解

    波特率计算 STM32下的波特率和串口外设时钟息息相关,USART 1的时钟来源于APB2,USART 2-5的
    发表于 02-11 10:46 20次下载
    STM32下<b class='flag-5'>波特率</b><b class='flag-5'>计算</b>详解

    MPC5744p的CAN通信波特率计算

    本篇笔记主要记录MPC5744p的CAN通信波特率计算,以及需要注意的问题。
    的头像 发表于 07-10 17:40 2596次阅读

    MPC5744p的CAN通信波特率如何计算

    本篇笔记主要记录MPC5744p的CAN通信波特率计算,以及需要注意的问题
    的头像 发表于 01-20 14:58 1982次阅读
    MPC5744p的<b class='flag-5'>CAN</b>通信<b class='flag-5'>波特率</b>如何<b class='flag-5'>计算</b>

    uart波特率和传输频率的关系 UART串口的常用波特率为多少

    UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的异步串行通信技术,它允许两台设备之间进行双向数据传输。在UART通信中,波特率和传输
    的头像 发表于 10-06 16:12 1685次阅读
    <b class='flag-5'>uart</b><b class='flag-5'>波特率</b>和传输频率的关系 <b class='flag-5'>UART</b>串口的常用<b class='flag-5'>波特率</b>为多少