爱普特APT32F110x系列时钟介绍
最近要用APT32F110x做一些开发,顺便学习一下。
APT32F110x 是由爱普特推出的基于平头哥(T-Head Microsystems)CPU 内核开发的 32 位高性能低成本单片机。
APT32F1104x基于嵌入式 Flash 工艺制造,内部丰富的模拟资源,包括模拟比较器、LCD 控制器,面向的应用为工业控制,小家电,消费电子设备,可穿戴设备等应用。
APT32F1104x的系统时钟源选择和 HCLK/PCLK 频率管理
支持多种时钟源作为系统时钟运行:
- 内部低速振荡器(IMOSC)为缺省时钟源:5.556MHz/4.194MHz/2.097MHz/131.072KHz
- 内部高速振荡器(HFOSC):48MHz
- 外部主晶振(EMOSC):0.4MHz ~ 24MHz/32.738KHz
- 外部 RTC 晶振(ESOSC):32.768KHz
- 内部超低功耗振荡器(ISOSC):27KHz
可编程 CPU 时钟(HCLK)和外设时钟(PCLK)
外部时钟失效监测(Clock Fail Monitor),支持时钟去抖选项
可选择的系统内部时钟源输出(CLO)
时钟结构如下图:
爱普特提供了demo,其时钟设置在board_config.c中的:
csi_clk_config_t tClkConfig = {SRC_HFOSC, HFOSC_48M_VALUE, SCLK_DIV1, PCLK_DIV1, 5556000, 5556000};//{SRC_EMOSC, 20000000, SCLK_DIV1, PCLK_DIV2, 5556000, 5556000};//{SRC_IMOSC, IMOSC_5M_VALUE, SCLK_DIV1, PCLK_DIV2,5556000, 5556000};//{SRC_HFOSC, HFOSC_48M_VALUE, SCLK_DIV1, PCLK_DIV1,5556000, 5556000};//{SRC_IMOSC, IMOSC_4M_VALUE, SCLK_DIV1, PCLK_DIV1,5556000, 5556000};//{SRC_IMOSC, IMOSC_2M_VALUE, SCLK_DIV1, PCLK_DIV1,5556000, 5556000};//{SRC_IMOSC, IMOSC_131K_VALUE, SCLK_DIV1, PCLK_DIV1,5556000, 5556000};//{SRC_ESOSC, ESOSC_VALUE, SCLK_DIV1, PCLK_DIV1,5556000, 5556000};
csi_clk_config_t的结构则定义在sys_clk.h:
typedef struct {cclk_src_e eClkSrc; //clock sourceuint32_t wFreq; //clock frequencyhclk_div_e eSdiv; //SDIVpclk_div_e ePdiv; //PDIVuint32_t wSclk; //SCLKuint32_t wPclk;
}csi_clk_config_t;
结构字段的具体解释:
cclk_src_e eClkSrc; //对应的是SYSCLK_SEL[2:0]
uint32_t wFreq; //clock frequency, 输入时钟的频率,比如内部低速振荡器(IMOSC)的:5.556MHz/4.194MHz/2.097MHz/131.072KHz
hclk_div_e eSdiv; //SCLK的分频,即SYSCLK_DIV的值, 由“wTargetSclk = wFreq/g_wHclkDiv[tClkConfig.eSdiv];”中的“g_wHclkDiv”决定,取决于g_wHclkDiv的索引值是多少
pclk_div_e ePdiv; //PCLK分频,即PCLK_DIV, 实际值是“tClkConfig.wPclk = tClkConfig.wSclk/(0x1<<tClkConfig.ePdiv);”
uint32_t wSclk; //SYSCLK,设置无意义,实际由“tClkConfig.wSclk = wTargetSclk;”决定,csi_sysclk_config中会重新赋值
uint32_t wPclk; //PCLK,设置无意义,实际由”tClkConfig.wPclk = tClkConfig.wSclk/(0x1<<tClkConfig.ePdiv);“决定,csi_sysclk_config中会重新赋值
爱普特APT32F110x系列时钟介绍相关推荐
- 理想L9供应链清单 | 整车企业供应链系列盘点 | 爱普搜汽车
作为理想汽车目前最高端的车型,理想L9获得极大关注.8月19日,理想汽车宣布,理想L9自6月21日发布以来,累计预订量超过5万,其中,确认定购定单数量超过3万. 理想L9 8月18日在理想汽车常州基地 ...
- 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- Intel 5 6 7 8系列芯片组介绍
Intel 5 6 7 8系列芯片组介绍 Iknow.2015-11-05 22:40|知识编号:122257 操作步骤: [Inetl 5.6.7.8系列芯片组介绍] 芯片组是主板电路的核心.一定意 ...
- VR系列--VR介绍
VR系列--VR介绍 1 定义 基础设施 应用领域 行业痛点 优势 核心 2 发展历程 3 VR/AR/MR/XR区别 4 VR玩家 Facebook Apple Goole Sony HTC Pic ...
- 华为智慧办公全系列终端介绍
** 华为智慧办公全系列终端介绍 ** 华为企业智慧屏具有智能语音助手.智能显示.智能手写识别.智能音幕.发言人跟踪.电子名牌.多模态会议记录等一系列黑科技,轻松实现跨地域.跨团队的沟通与协作:同时内 ...
- 普冉PY32系列(三) PY32F002A 资源实测 - 这个型号不简单
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- 【Vivado那些事】Xilinx 7系列时钟结构详解
Xilinx 7系列时钟结构 xilinx 的 FPGA 时钟结构,7 系列 FPGA 的时钟结构和前面几个系列的时钟结构有了很大的区别,7系列的时钟结构如下图所示. Clock Region:FPG ...
- 普冉PY32系列(六) 通过I2C接口驱动PCF8574扩展的1602LCD
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...
- Microsemi SmartFusion2从入门到精通<3>时钟介绍
目录 前言 一.时钟源 1.1.片上振荡器 1.2.Fabric CCCs 1.3.MSS CCC 1.4.global buffers 1.5.Dedicated global I/Os(专用的全局 ...
最新文章
- 14 岁发现 Bug 兼职游戏开发、拒绝过乔布斯,Dropbox 创始人成为科技创业者的偶像...
- Tomcat 配置 项目 到tomcat目录外面 和 域名绑定访问(api接口、前端网站、后台管理网站)...
- 表数据比图数据更难处理
- 2假动作,数据缓冲,CCEaseExponential,CCEaseElastic,CCEaseBounce,CCCallFunc,funcNCallBack,funcNDCallBack,funcO
- 反馈页面设计_获得设计反馈的艺术
- Navicat Premium 实用快捷键
- Java小对象的解决之道——对象池(Object Pool)的设计与应用
- 正则表达式的先行断言(lookahead)和后行断言(lookbehind)
- 【LeetCode】【数组】题号:*189,旋转数组
- 高数特殊符号-希腊字母
- send/recv与socket
- 微信公众号自动回复如何添加超链接
- 老王论坛蓝色大屏幕调节亮度
- 营销科学学会2021年年会揭晓玫琳凯博士论文奖得主
- android 简单的exoplayer全景播放器
- linux中常用的压缩命令,Linux中常用的压缩和解压缩命令汇总
- Android初学之十二:Broadcast
- 网关 Spring Cloud Zuul 自定义过滤器认证转换 Token
- 自然语言c,自然语言处理_自然语言处理常用方法举例说明 - 人工智能 - 电子发烧友网...
- PCB板框的绘制——AD19
热门文章
- 华为交换机:批量配置端口——端口组
- LaTeX技巧010:生成长度固定的下划线
- 怎么导出mysql数据库注释_数据库基础:如何查看并导出数据表中字段的注释信息...
- 2021/1/12 2019全国大学生电子设计大赛 - F题纸张计数 (纯模电设计方案 全国一等奖)
- 修改 Eclipse 的 Tomcat 端口
- java.time.Year详解
- redisTemplate Hash 使用方法
- Matlab系列之GUI设计基础
- Python脚本编写的学习
- Java初级面试题整理 (147题)。