Hi3061M开发板——系统时钟频率
这里写目录标题
- 前言
- MCU时钟介绍
- PLL
- CRG_ConfigPLL时钟配置
- 另附完整系统时钟结构图
前言
Hi3061M使用过程中,AD和APT输出,都需要考虑到时钟频率,特别是APT,关系到PWM的输出频率。于是就研究了下相关的时钟。
MCU时钟介绍
MCU共有三个源时钟:HOSC、LOSC和XTAL。
HOSC是MCU集成的高精度高速振荡器,提供25MHz时钟clk_hosc。clk_hosc是MCU CORE电源域的默认时钟。
LOSC是MCU集成的低速振荡器,提供32kHz时钟clk_losc。clk_losc是MCU AON电源域的默认时钟,也为IWDG(Independent Watch Dog)模块提供计数时钟。
XTAL支持高速外部晶体或外部时钟源,提供4MHz ~ 30MHz时钟clk_xtal。
clk_hosc是MCU CORE电源域的默认时钟,说明系统的主要时钟是clk_hosc,也就是25MHz。
当然,之后还需要经过PLL锁相环来进行调节频率提供给外设工作时钟。
PLL

由上图是Hi3061M系统的时钟图,PLL部分,由上节我们知道,数据选择器(MUX)将会选择clk_hosc作为主要时钟,也就是25MHz。
之后会先经过prediv前置分频器进行分频后,再通过反馈分频器fbdiv进行倍频处理,再通过后面两个后置分频器进行分频作为两个工作时钟提供给外设。
对应的数据选择器和分频器都可以通过寄存器进行配置,软件进行设置。
在system_init.c文件中通常有一个相关时钟配置的函数CRG_Config如下:
BASE_StatusType CRG_Config(CRG_CoreClkSelect *coreClkSelect)
{CRG_Handle crg;crg.baseAddress = CRG;crg.pllRefClkSelect = CRG_PLL_REF_CLK_SELECT_HOSC;crg.pllPreDiv = CRG_PLL_PREDIV_4;crg.pllFbDiv = 48; /* PLL Multiplier 48 */crg.pllPostDiv = CRG_PLL_POSTDIV_2;crg.coreClkSelect = CRG_CORE_CLK_SELECT_PLL;crg.handleEx.pllPostDiv2 = CRG_PLL_POSTDIV2_3;crg.handleEx.clk1MSelect = CRG_1M_CLK_SELECT_HOSC;crg.handleEx.clk1MDiv = (25 - 1); /* The 1 MHz freq is equal to the input clock frequency / (clk_1m_div + 1). 25 is the div of the clk_1m in CLOCK. */if (HAL_CRG_Init(&crg) != BASE_STATUS_OK) {return BASE_STATUS_ERROR;}*coreClkSelect = crg.coreClkSelect;return BASE_STATUS_OK;
}
改函数会在初始化时进行调用,当然似乎是上电会自动运行的,并没有在用户main中初始化调用,具体也没有仔细研究。在下面的函数中进行调用了。chipinit.c中
void Chip_Init(void)
{CRG_CoreClkSelect coreClkSelect;/* Config CRG */if (CRG_Config(&coreClkSelect) != BASE_STATUS_OK) {Chip_InitFail();}
CRG_ConfigPLL时钟配置
接下来详细分析下CRG_Config函数中相关频率的选择和分频。
crg.pllRefClkSelect = CRG_PLL_REF_CLK_SELECT_HOSC;
//图中第一个选择器,系统时钟源选择,clk_hosc,25MHz.
crg.pllPreDiv = CRG_PLL_PREDIV_4;
//前置分频器,4分频,25/4MHz
crg.pllFbDiv = 48; /* PLL Multiplier 48 */
//反馈分频器,48倍频,25/4*48 = 300MHz
crg.pllPostDiv = CRG_PLL_POSTDIV_2;
//后置分频器,2分频,300/2 = 150MHz
crg.coreClkSelect = CRG_CORE_CLK_SELECT_PLL;
//系统时钟选择,选择为经过PLL后置分频输出的时钟,也就是150MHz
crg.handleEx.pllPostDiv2 = CRG_PLL_POSTDIV2_3;
//后置分频器,3分频,300/3 = 100MHz 主要用于ADC
clk_pll_pst1即是150MHz,也就是系统的时钟,大多数外设都是在这个时钟频率上工作。
clk_pll_pst2即是100MHz,是ADC工作的主要时钟。

ADC的时钟在使用时还需要特定的配置,进行时钟选择。
另附完整系统时钟结构图

相关文章:
Hi3061M开发板——系统时钟频率
这里写目录标题 前言MCU时钟介绍PLLCRG_ConfigPLL时钟配置另附完整系统时钟结构图 前言 Hi3061M使用过程中,AD和APT输出,都需要考虑到时钟频率,特别是APT,关系到PWM的输出频率。于是就研究了下相关的时钟。 MCU时钟介绍 MCU共有…...
C++入门基础知识110—【关于C++ if...else 语句】
成长路上不孤单😊😊😊😊😊😊 【14后😊///C爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于C if...else 语句的相关内容!…...
基于YOLO11深度学习的非机动车驾驶员头盔检测系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测、卷积神经网络
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
图像分类-demo(Lenet),tensorflow和Alexnet
目录 demo(Lenet) 代码实现基本步骤: TensorFlow 一、核心概念 二、主要特点 三、简单实现 参数: 模型编译 模型训练 模型评估 Alexnet model.py train.py predict.py demo(Lenet) PyTorch提供了一个名为“torchvision”的附加库,其中包含…...
excel 单元格嵌入图片
1.图片右键,设置图片格式 2.属性 随单元格改为位置和大小 这样的话,图片就会嵌入到单元格,也会跟着单元格的大小而改变...
GitHub简介与安装使用入门教程
1、Git与GitHub的简介 Git是目前世界上最先进的分布式控制系统,它允许开发者跟踪和管理源代码的改动历史记录等,可以将你的代码恢复到某一个版本,支持多人协作开发。它的核心功能包括版本控制、分支管理、合并和冲突解决等,其操作…...
HTML(五)列表详解
在HTML中,列表可以分为两种,一种为有序列表。另一种为无序列表 今天就来详细讲解一下这两种列表如何实现,效果如何 1.有序列表 有序列表的标准格式如下: <ol><li>列表项一</li><li>列表项二</li>…...
SparkSQL介绍及使用
SparkSQL介绍及使用 一、什么是SparkSQL(了解) spark开发时可以使用rdd进行开发,spark还提供saprksql工具,将数据转为结构化数据进行操作 1-1 介绍 官网:https://spark.apache.org/sql/ Spark SQL是 Apache Spark 用于…...
【聚星文社】3.2版一键推文工具更新啦
【聚星文社】3.2版一键推文工具更新啦。调试了好几个通宵就是为了效果和质量。 旧版尽早更新新版,从此告别手搓! 工具入口https://iimenvrieak.feishu.cn/docx/ZhRNdEWT6oGdCwxdhOPcdds7nof...
C++基础补充(03)C++20 的 std::format 函数
文章目录 1. 使用C20 std::format2. 基本用法3. 格式说明 1. 使用C20 std::format 需要将VisualStudio默认的标准修改为C20 菜单“项目”-“项目属性”,打开如下对话框 代码中加入头文件 2. 基本用法 通过占位符{}制定格式化的位置,后面传入变量 #…...
[论文笔记]DAPR: A Benchmark on Document-Aware Passage Retrieval
引言 今天带来论文DAPR: A Benchmark on Document-Aware Passage Retrieval的笔记。 本文提出了一个基准:文档感知段落检索(Document-Aware Passage Retrieval,DAPR)以及介绍了一些上下文段落表示的方法。 为了简单,下文中以翻译的口吻记录,…...
Spring Boot知识管理:智能搜索与分析
3系统分析 3.1可行性分析 通过对本知识管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本知识管理系统采用JAVA作为开发语言,Spring Boot框…...
操作系统(2) (进程调度/进程调度器类型/三种进程调度/调度算法)
目录 1. 介绍进程调度(Introduction to Process Scheduling) 2. 优先级调度(Priority Scheduling) 3. CPU 利用率(CPU Utilization) 4. 吞吐量(Throughput) 5. 周转时间…...
鸿蒙--知乎评论
这里我们将采用组件化的思想进行开发 在开发中默认展示的是首页也就是 pages/Index.ets页面 这里存放的是所有页面的配置文件,类似与uniapp中的pages.json 如果我们此时要更改默认显示Zh...
2024 - 两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本)
两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信(C语言版本) 给女朋友对象写得,她不会,我就写了一个 为了帮助您在两台CentOS服务器上的1000个Docker容器(每台500个)之间实现UDP通信&…...
小程序该如何上架
小程序的上架流程通常包括准备工作、代码审核、人工审核以及上线发布等关键步骤。以下是一个详细的小程序上架指南: 一、准备工作 注册开发者账号: 在微信小程序平台或支付宝开放平台等相应的小程序发布平台上注册开发者账号。 开发小程序: …...
XMOJ3065 旅游线路
10分钟没啥思路就去看题解了,结果发现很蠢。 题目大意 有一条河,河的东侧和西侧分别有 n , m n,m n,m 个景点,每个景点有个权值。有 k k k 条船,每条船连接东侧和西侧的一个景点。定义一个旅游线路是通过船连接起来的景点序列…...
量化之一:均值回归策略
文章目录 均值回归策略理论基础数学公式 关键指标简单移动平均线(SMA)标准差Z-Score 交易信号实际应用优缺点分析优点缺点 结论 实践backtrader参数:正常情况:异常情况: 均值回归策略 均值回归(Mean Rever…...
NVIDIA Bluefield DPU上的启动流程4个阶段分别是什么?作用是什么?
文章目录 Bluefield上的硬件介绍启动流程启动流程:eMMC中的两个存储分区:ATF介绍ATF启动的四个阶段:四个主要步骤:各个阶段依赖的启动文件一次烧录fw失败后的信息看启动流程综述Bluefield上的硬件介绍 本文以Bluefield2为例,可以看到RSHIM实际上是Boot相关的集合。也能看…...
最优美公式-欧拉公式,轻松理解版
Alan Becker创作的火柴人大战数学的打斗视频,风靡一时,并在B站荣耀斩获了“金知奖”。下面是网友对此视频的部分评价截图。 视频原址:火柴人 vs 数学,后续又一口气看完了“火柴人vs 几何”与“火柴人vs 物理”,通过火柴…...
VideoAgentTrek-ScreenFilter与ComfyUI联动:打造可视化视频过滤节点工作流
VideoAgentTrek-ScreenFilter与ComfyUI联动:打造可视化视频过滤节点工作流 1. 引言 如果你经常用ComfyUI做视频相关的AI实验,可能会遇到一个挺麻烦的事儿:想对视频做一些预处理或者后处理,比如过滤掉某些特定画面,就…...
AnimateDiff保姆级教学:负面提示词详解,轻松提升视频画质
AnimateDiff保姆级教学:负面提示词详解,轻松提升视频画质 你是否遇到过这样的困扰:用AnimateDiff生成的视频创意很棒,但画面总有些小瑕疵?比如人物皮肤上不自然的纹理、背景里莫名其妙的噪点,或是某些区域…...
igel高级功能解析:交叉验证与模型评估最佳实践
igel高级功能解析:交叉验证与模型评估最佳实践 【免费下载链接】igel a delightful machine learning tool that allows you to train, test, and use models without writing code 项目地址: https://gitcode.com/gh_mirrors/ig/igel igel是一个让机器学习变…...
OPCUA测试服务器权限问题排查与修复指南
1. 遇到BadUserAccessDenied错误怎么办? 最近在搭建OPCUA测试服务器时,不少小伙伴都遇到了BadUserAccessDenied这个烦人的错误。这个错误代码0x801f0000就像一扇紧闭的大门,明明服务器就在眼前,却因为权限问题无法访问关键数据。作…...
数据集成工具深度评测:SeaTunnel 与 DataX、Sqoop、Flume、Flink CDC 在实时场景下的性能较量
1. 实时数据集成工具选型的关键指标 在数据驱动的时代,企业每天需要处理海量实时数据流。选择合适的数据集成工具直接影响业务系统的响应速度和决策效率。我经历过多次数据同步工具选型的痛苦过程,总结出实时场景下最关键的5个评估维度: 首先…...
不止于地图:深入QGC地图插件机制,打造你的自定义地图源
不止于地图:深入QGC地图插件机制,打造你的自定义地图源 在无人机地面站软件生态中,QGroundControl(QGC)以其开源特性和模块化设计,成为开发者扩展定制的首选平台。当我们谈论地图功能时,大多数用…...
Cadence实战:从原理图到PCB的完整导入流程解析
1. Cadence设计流程概述 刚接触Cadence的硬件工程师常会遇到一个经典问题:为什么原理图设计得漂漂亮亮,导入PCB时却总出各种幺蛾子?这就像做菜时备好了所有食材,下锅时却发现灶台点不着火。我在带新人时发现,90%的导入…...
GEO时代媒体发布新范式:Infoseek如何用工程思维重构内容分发
上周跟一个做技术社区运营的朋友聊天,他吐槽了一件事:公司新功能上线,想发篇技术解读稿,找了家公关公司报价,一篇3000块,承诺发30家媒体,但具体发哪家、什么时候发、效果怎么样,全凭…...
电容器阻抗与ESR频率特性解析:从理论到高频应用实践
1. 电容器阻抗与ESR的基础原理 当你第一次听说电容器有"阻抗"和"ESR"时,可能会觉得这是两个高深莫测的专业术语。其实理解它们并不难,就像理解水管里的水流一样直观。想象一下,电容器就像是一个储水罐,而阻抗…...
Hardentools命令行模式详解:在虚拟机中安全加固Windows系统的终极指南
Hardentools命令行模式详解:在虚拟机中安全加固Windows系统的终极指南 【免费下载链接】hardentools Hardentools simply reduces the attack surface on Microsoft Windows computers by disabling low-hanging fruit risky features. 项目地址: https://gitcode…...
