芯课堂 | 如何配置SWM系列系统时钟?

如何配置SWM系列

系统时钟?

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

S W M 1 9 0

最大时钟频率可达

60MHz

图片

有5个时钟源可供使用:

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

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

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

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

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

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

如图所示:

图片

 SWM190时钟框图

S W M 1 9 0

时钟配置方法

      在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宏定义来修改系统时钟。

S W M 1 9 0

PLL 设定

      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()

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/615185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android studio使用总结

gradle是项目构建的工具,在gradle-wrapper.properties这个文件中设置, 然后就会下载相应版本的安装包到这个路径C:\Users\ly.gradle\wrapper\dists,例如这里是7.0.2, gradle和studio中的jdk版本需要对应,否则无法构建项…

无代码DIY图像检索

软件环境准备 可参见《HuggingFists-低代码玩转LLM RAG-准备篇》中的HuggingFists安装及Milvus安装。 流程环境准备 图片准备 进入HuggingFists内置的文件系统,数据源->文件系统->sengee_fs_settings_201创建Image文件夹将事先准备的多张相同或不同种类的图…

那么多编程语言,我为什么选择了Python?

我为什么选择了Python 目前,Python语言的发展势头在国内国外都是不可阻挡的,Python凭借其简单优雅的语法,强大的生态圈从众多语言中脱颖而出,如今已经是稳坐编程语言排行榜前三的位置,而且在GitHub和IEEE发布的最受欢…

IDEA GitHub令牌原理(Personal Access Token)

1.IDEA的add github account 是什么原理? 在IntelliJ IDEA中添加GitHub账户,主要是为了让IDEA能够与GitHub进行交互,如克隆GitHub上的仓库,提交代码到GitHub等。其基本原理如下: 用户在IDEA中输入GitHub的用户名和密…

Jenkins使用随笔

1、如果要部署的springboot程序和jenkins在同一台linux上,需要增加一条 export BUILD_IDtomcat_mobile_build_id 如下图: 原因是:jenkins在执行sh脚本的时候,如果脚本中有启动后台进程的情况,例如tomcat的关闭和启动…

C#上位机与欧姆龙PLC的通信11----【再爆肝】上位机应用开发(WPF版)

1、先上图 继上节完成winform版的应用后,今天再爆肝wpf版的,看看看。 可以看到,wpf的确实还是漂亮很多,现在人都喜欢漂亮的,颜值高的,现在是看脸时代,作为软件来说,是交给用户使用的…

Ubuntu 上CUDA移动到别的目录

在 Ubuntu 上使用 CUDA 进行 GPU 加速的过程如下所示: 首先确保已经安装了 NVIDIA 显卡驱动。可以通过运行 nvcc -V 命令来查看当前系统中是否存在 NVIDIA 显卡并且正常工作。 接下来需要安装 CUDA Toolkit。CUDA Toolkit 包含了编译、调试和运行 CUDA 应用程序所必…

Linux之Iptables简易应用

文档形成时期:2009-2024年 和iptables打交道有15年了,经过无数实践后,形成一个简易应用文档。 文档主题是简易应用,所以其原理不详述了。 因软件世界之复杂和个人能力之限,难免疏漏和错误,欢迎指正。 文章目…

设置弹窗随鼠标位置移动

1.这是要移动的弹窗&#xff0c;隐藏显示逻辑、样式、展示内容自己写&#xff0c;主要就是动态设置弹窗的style&#xff0c;floatLeft和floatTop都是Vue中的data双向绑定数据&#xff1b; <div id"box" v-show"hasMove" :style"{ left: floatLeft…

C语言理解

目录 计算机语言算法C项目创建C程序框架经典实例 计算机语言 程序是用特殊的编程语言&#xff08;这里是C语言&#xff09;写出来表达如何解决问题的不是用编程语言来和计算机交谈&#xff0c;而是描述要求它如何做事情的过程或方法程序是问题的载体&#xff0c;程序的执行就是…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-6 线性控制器设计Linear Controller Design

本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-6 线性控制器设计Linear Controller Design

跨平台的文件传输协议@windows端服务器的配置@smb协议共享方案@ftp服务器设置

文章目录 abstractrefs ftp server下面是核心步骤FAQ smb server设置方法右键设置共享文件夹查看所有已经共享的文件夹停止某个文件的共享 共享文件夹的访问控制补充匿名访问问题协议相关信息参考android客户端推荐FAQ不同用户文件无法访问 比较和总结其他用户访问smb服务器共享…

【LV12 DAY15 WDT】

WDT简介 看门狗定时器&#xff0c;其主要作用是发生软件故障时可产生复位信号使SOC复位&#xff0c;其本质上是一个计数器。 #include "exynos_4412.h"void delay(unsigned int time){while(time--);}int main(){//设置一级分频//WDT.WTCONWDT.WTCON | (0X4e<&l…

【flink番外篇】13、Broadcast State 模式示例-简单模式匹配(1)

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

优惠券兑换码生成需求——事务同步回调问题分析

前段时间收到一个优惠券兑换码的需求&#xff1a;管理后台针对一个优惠券发起批量生成兑换码&#xff0c;这些兑换码可以导出分发到各个合作渠道&#xff08;比如&#xff1a;抖音、京东等&#xff09;&#xff0c;用户通过这些渠道获取到兑换码之后&#xff0c;再登录到我司研…

基于Docker官方php:7.4.33-fpm镜像构建支持67个常见模组的php7.4.33镜像

实践说明&#xff1a;基于RHEL7(CentOS7.9)部署docker环境(23.0.1、24.0.2)&#xff0c;所构建的php7.4.33镜像应用于RHEL7-9(如AlmaLinux9.1)&#xff0c;但因为docker的特性&#xff0c;适用场景是不限于此的。 文档形成时期&#xff1a;2017-2023年 因系统或软件版本不同&am…

鸿鹄云商B2B2C:JAVA实现的商家间直播带货商城系统概览

【saas云平台】打造全行业全渠道全场景的saas产品&#xff0c;为经营场景提供一体化解决方案&#xff1b;门店经营区域化、网店经营一体化&#xff0c;本地化、全方位、一站式服务&#xff0c;为多门店提供统一运营解决方案&#xff1b;提供丰富多样的营销玩法覆盖所有经营场景…

Flink集成Hive之Hive Catalog

流程流程: Flink消费Kafka,逻辑处理后将实时流转换为表视图,利用HiveCataLog创建Hive表,将实时流 表insert进Hive,注意分区时间字段需要为 yyyy-MM-dd形式,否则抛出异常:java.time.format.DateTimeParseException: Text 20240111 could not be parsed 写入到hive分区表 strea…

在 CentOS 7上创建本地 YUM 仓库,并且提供给其它服务器做yum源

在 CentOS 7.6 上创建本地 YUM 仓库的步骤如下&#xff1a; 上传 CentOS 镜像文件&#xff1a; 确保你已经将 CentOS 7.6 的 ISO 镜像文件上传到了服务器上。例如&#xff0c;假设你已经上传到 /path/to/your/iso 路径。 挂载 ISO 镜像&#xff1a; 你需要将 ISO 镜像文件挂载…

数据库与低代码:加速开发,提升效率的完美结合

随着技术的不断进步&#xff0c;数据库和低代码开发成为了现代应用程序开发中的两大关键要素。本文将探讨如何通过结合数据库和低代码开发&#xff0c;加速应用程序的开发过程&#xff0c;并提高开发效率和质量。 在过去的几十年中&#xff0c;数据库一直被视为应用程序开发中不…