day4(IMX6ULL)<定时器>

定时器 (EPIT GPT): 是一个通过对已知频率的时钟信号进行计数,来实现定时、延时或事件计数功能的硬件模块或软件机制。
时钟(clock): 在电子系统中是一个产生稳定、周期性振荡信号的电路或组件。这个信号像节拍器或心跳一样,为数字电路中的各种操作提供同步时序基准。

实时时钟(RTC real time clock): 是微处理器中的一个功能模块,用于在系统主电源关闭的情况下,继续提供精确的日历和时间信息。

一、硬件概念

(1)时钟源:

晶体整荡器:工作做原理是将石英晶体切割成音叉,施加电压,会产生稳定的震荡。

(2)PLL(phase locked loop)锁相环电路(倍频):

锁相环(PLL) 是一种反馈控制系统,能够使输出信号与参考信号的相位和频率保持同步。

(3)Prescale 分频器( 分频):

Prescale (预分频器)是一种整数分频电路 ,用于将输入时钟频率按固定比例降低 。它是数 字系统中最基础、最常用的时钟分频模块。

(4)PFD(phase fractional Prescale)相位分数分频器(输出频率可升可降):

分数分频器 是一种能够实现非整数分频比的分频器,例如 N.5、N.25 等。它解决了传统整数 分频器分辨率受限的问题。

二、代码编写

(1)kernal: CCM_ANALOG_PLL_ARMn

(1)先选择osc_clk,让step_clk为24MHz

(2)再将PLL1的输出改成step_clk,让ARM暂时工作在24MHz;

(3)配置PLL为1056,注意设置倍频因子之前先把PLL之后的二分频设置好,避免ARM内核故障!!

(4)最后改回pll1_main_clk

(2)528 PLL:CCM_ANALOG_PFD_528n

(3)480 PLL:CCM_ANALOG_PFD_480n

(4)AHB_CLK_ROOT(132M)

cpp 复制代码
		CBCMR[PRE_PERIPH_CLK_SEL]
		CBCDR[PERIPH_CLK_SEL]
		CBCDR[AHB_PODF]

(5)IPG_CLK_ROOT(66M)

bash 复制代码
		CBCDR[IPG_PODF]

(6)PERCLK_CLK_ROOT(66M)

cpp 复制代码
		CSCMR1[PERCLK_CLK_SEL]	
		CSCMR1[PERCLK_PODF]
相关推荐
为何创造硅基生物7 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好7 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab
星寂樱易李7 小时前
iperf3 + Python-- 网络带宽、网速、网络稳定性
开发语言·网络·python
仰泳之鹅7 小时前
【C语言】自定义数据类型2——联合体与枚举
c语言·开发语言·算法
之歆8 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
jolimark8 小时前
C语言自学攻略:小白入门三步走
c语言·编程入门·学习路线·实践项目·自学攻略
于小猿Sup9 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
cen__y9 小时前
Linux12(Git01)
linux·运维·服务器·c语言·开发语言·git
AI人工智能+电脑小能手9 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
社交怪人9 小时前
【算平均分】信息学奥赛一本通C语言解法(题号2071)
c语言·开发语言