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

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

3天内不再提示

如何配置SWM系列系统时钟?

jf_pJlTbmA9 来源:jf_pJlTbmA9 作者:jf_pJlTbmA9 2023-09-18 16:35 次阅读

系统时钟

华芯微特科技有限公司SWM系列芯片可通过软件配置改变时钟的速度,可以让我们的设计更加灵活,频率可选空间也更加广泛,用户可以根据自己的实际需求配置需要的系统时钟。为了让用户能够更简单的使用这一功能,下面小编将以SWM190为例,给大家展示如何配置SWM系列产品的系统时钟。

SWM190最大时钟频率可达 60MHz

有5个时钟源可供使用:

01、内部高频振荡器(RCHF):内部高频振荡器为片内时钟源,无需连接任何外部器件。频率为24MHz或48MHz,通过HRCCR寄存器进行切换,精度为百分之一,可提供较精确的固定频率时钟.

02、内部低频振荡器(RCLF):内部低频振荡器为片内时钟源,无需连接任何外部器件。频率为32KHz。

03、外部振荡器(XTAH):外部振荡器可接4~32MHz频率.

04、外部低频振荡器(XTAL):外部低频振荡器,支持32.768KHz时钟接入

05、PLL:支持RCHF或XTAH作为输入源

我们来看一下时钟系统框图

如图所示:

wKgaomUD682AQBvOAAAiz4bOWiw837.png SWM190时钟框图

SWM190时钟配置方法

在SWM190固件库中对时钟频率的选择进行了简化,原先的很多操作都在后台进行。系统给出的函数为SystemInit(void),可直接调用配置系统时钟,但在调用前还需要进行一些宏定义的设置,具体的设置在system_SWM190.c文件中。

如下:

/* 系统时钟设定 */

#define SYS_CLK_24MHz  0   //0 内部高频24MHz RC振荡器

#define SYS_CLK_3MHz  1  //1 内部高频 3MHz RC振荡器

#define SYS_CLK_48MHz  2  //2 内部高频48MHz RC振荡器

#define SYS_CLK_6MHz  3  //3 内部高频 6MHz RC振荡器

#define SYS_CLK_XTAL  4  //4 外部晶体振荡器(2-30MHz)

#define SYS_CLK_XTAL_DIV8 5  //5 外部晶体振荡器(2-30MHz) 8分频

#define SYS_CLK_PLL   6  //6 锁相环输出

#define SYS_CLK_PLL_DIV8 7  //7 锁相环输出 8分频

#define SYS_CLK_32KHz  8  //8 内部低频32KHz RC  振荡器

#define SYS_CLK_XTAL_32K 9  //9 外部低频32KHz 晶体振荡器

#define SYS_CLK   SYS_CLK_48MHz

//您只需要修改此处SYSCLK宏定义来修改系统时钟。

SWM190PLL 设定

PLL的输入参考时钟源可设置为内部高频时钟或外部高频晶振输入,最大输出时钟可设置为60MHz。

当系统时钟配置为PLL时钟时,可通过配置以下几处寄存器来配置PLL时钟,其配置公式为:VCO输出频率=PLL输入时钟/INDIV*4*FBDIV

PLL输出频率=PLL输入时钟/INDIV*4*FBDIV/OUTDIV=VCO输出频率/OUTDIV

具体宏定义如下:

#define SYS_PLL_SR

SYS_CLK_24MHz

//可取值SYS_CLK_24MHz、SYS_CLK_48MHz、SYS_CLK_XTAL

#define PLL_IN_DIV 6

//SYS_PLL_SRC = SYS_CLK_24MHz 时用6,SYS_PLL_SRC= SYS_CLK_48MHz 时用 12

#define PLL_FB_DIV 30

#define PLL_OUT_DIV8 0

#define PLL_OUT_DIV4 1

#define PLL_OUT_DIV2 2

#define PLL_OUT_DIV  PLL_OUT_DIV8

//此外,在system_SWM190.c文件中还定义了运行过程中更改时钟函数

SystemCoreClockUpdate()

switchTo24MHz()

switchTo3MHz()

switchTo48MHz()

switchTo6MHz()

switchToXTAL()

switchToPLL()

switchTo32KHz()

switchToXTAL_32K()

等一系列的函数方便用户在系统运行过程中修改系统时钟时使用。

审核编辑:彭菁

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

    关注

    31

    文章

    5342

    浏览量

    120328
  • 时钟
    +关注

    关注

    10

    文章

    1733

    浏览量

    131474
  • 函数
    +关注

    关注

    3

    文章

    4331

    浏览量

    62594
  • 系统时钟
    +关注

    关注

    1

    文章

    30

    浏览量

    9309
收藏 人收藏

    评论

    相关推荐

    华芯微特屏驱MCU-SWM320系列

    ◼ 128KB/256KB/512KB ◼ 支持用户定制 ISP(在系统编程)更新用户程序 ⚫ 串行接口 ◼ UART 模块,具有独立 8 字节 FIFO,最高支持主时钟 16 分频 ◼ SPI 模块
    发表于 08-05 09:31

    SWM211系列MCU数据手册

    1 概述 SWM211 系列 32 位 MCU(以下简称 SWM211)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制
    发表于 09-14 07:39

    SWM341系列MCU数据手册

    SWM341 是一款基于 ARM○R Cortex®-M33 的 32 位微控制器。具有高性能、低功耗、代码密度大等突出特点,适用于工业控制、白色家电、电机驱动等诸多应用领域。SWM341 内嵌
    发表于 09-14 07:59

    SWM320系列MCU数据手册

    SWM320 是一款基于 ARM○R CortexTM-M4 的 32 位微控制器。具有高性能、低功耗、代码密度大等突出特点,适用于工业控制、人机界面、白色家电、电机驱动等诸多应用领域。SWM
    发表于 09-14 08:13

    SWM260系列MCU数据手册

    SWM260 系列 32 位 MCU(以下简称 SWM260)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 08:14

    SWM20D系列MCU数据手册

    SWM20D 系列 32 位 MCU(以下简称 SWM20D)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 06:59

    SWM20P系列MCU数据手册

    SWM20P 系列 32 位 MCU(以下简称 SWM20P)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 07:02

    SWM201系列MCU数据手册

    SWM201 系列 32 位 MCU(以下简称 SWM201)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 08:56

    SWM190系列MCU数据手册

    SWM190 系列 32 位 MCU(以下简称 SWM190)内嵌 ARM® CortexTM-M0 内核,凭借其出色的性能以及高可靠性、低功耗、代码密度大等突出特点,可应用于工业控制、电机控制
    发表于 09-14 07:16

    SWM181系列MCU数据手册

    、白色家电等多种领域。SWM181 支持片上包含精度为 1%以内的 24MHz、48MHz 时钟,并提供最大为 248K字节的 FLASH 和最大 16K 字节的 SRAM。此外,芯片支持 ISP(在系统
    发表于 09-14 08:24

    STM32时钟系统时钟树和时钟配置函数介绍及系统时钟设置步骤资料

    本文档的主要内容详细介绍的是STM32时钟系统时钟树和时钟配置函数介绍及系统
    发表于 10-11 08:00 22次下载
    STM32<b class='flag-5'>时钟</b><b class='flag-5'>系统</b><b class='flag-5'>时钟</b>树和<b class='flag-5'>时钟</b><b class='flag-5'>配置</b>函数介绍及<b class='flag-5'>系统</b><b class='flag-5'>时钟</b>设置步骤资料

    小编科普如何使用SWM系列产品的TIMER功能?

    华芯微特公司SWM系列单片机提供的TIMER个数和功能有些微差别,为了让您更加简单的使用这一功能,下面小编将以SWM190为例,给大家展示如何使用SWM
    的头像 发表于 06-26 09:01 7610次阅读
    小编科普如何使用<b class='flag-5'>SWM</b><b class='flag-5'>系列</b>产品的TIMER功能?

    STM32F1系列HAL库配置系统时钟

    STM32F1系列HAL库配置系统时钟其实一开始对于时钟我也是知之甚少,在MSP432中我就一直忽视时钟
    发表于 12-16 16:57 2次下载
    STM32F1<b class='flag-5'>系列</b>HAL库<b class='flag-5'>配置</b><b class='flag-5'>系统</b><b class='flag-5'>时钟</b>

    SWM341系列之86盒智能开关应用

    SWM341系列之 86盒智能开关应用
    的头像 发表于 11-10 18:25 1157次阅读
    <b class='flag-5'>SWM</b>341<b class='flag-5'>系列</b>之86盒智能开关应用

    SWM341系列SWM34SRET6介绍

    SWM341系列SWM34SRET6介绍
    的头像 发表于 10-27 10:19 2175次阅读
    <b class='flag-5'>SWM</b>341<b class='flag-5'>系列</b>之<b class='flag-5'>SWM</b>34SRET6介绍