学习嵌入式的第四十一天——ARM——时钟与定时器

1、什么是PLL,Prescaler、FPD,它们各自有什么作用?

PLL(Phase locked loop):锁相环电路,倍频

Prescaler:预分频器 分频

FPD(Phase fractional divider):相位分数分频器 可以分频也可以倍频

2、IMX6ULL中有几个PLL?几个PFD?

7个PLL

仅有PLL2和PLL3配置有PFD,分别有4个,共计8个

3、简述ARM PLL的配置流程

1、先选择osc_clk,让step_clk为24MHz。

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

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

4、最后改回pll1_main_clk

1.选择24M的晶振

2.使能时钟输出

3.选择需要的倍频数

4、IMX6ULL中的EPIT和GPT的工作原理是什么?

EPIT

EPIT中是增强型周期性中断定时器,其中是自减计数器,具体工作原理是:

通过选通门选择一种信号,再通过预分频器进行分频,把分频后的信号传入计数寄存器,计数寄存器-1,并且把值与比较器中的值比较,这样每隔固定的周期就会传入一个信号,计数寄存器就会-1,并进行比较,当计数寄存器减到0时,会根据配置的工作模式选择从load寄存器加载数值继续计数,或者从0xFFFFFFFF开始继续。当计数寄存器中的值等于比较寄存器中的值就会输出一个高电平,并且把计数寄存器中的值重新加载,高电平会触发EPIT中断,中断信号会与上中断使能,如果成功使能,就会发出一个EPIT中断。当我们把传入的信号频率设为1M(周期为1us),且load寄存器,计数寄存器中的值设为1000000,比较寄存器中的值设为0,并且正确使能中断,那么,EPIT就会每隔1s发出一个中断,并且不断重复。

GPT

GPT是通用定时器,我们作为精确延时使用

选择一个输入信号,对其分频,禁止输入捕获和输出比较,选择自由运行模式,即计数器会从0一直+1加到0xFFFFFFFF,然后再回到0继续,使能GPT。在软件中,我们通过对GPT中计数寄存器的循环访问,当瞬时值与开始值的差值等于我们要延时的时间时,跳出循环,视为延时完成。

相关推荐
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫6 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms6 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下6 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。6 天前
2026.2.25监控学习
学习
im_AMBER6 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J6 天前
从“Hello World“ 开始 C++
c语言·c++·学习