Days 50 51 单片机与 i.MX6ULL 定时器对比:Timer、EPIT、GPT 原理与实验

前言

51 单片机定时器是入门定时器的经典案例,而 i.MX6ULL Cortex-A7 平台提供 EPIT、GPT 两类硬件定时器。本篇对比两者工作原理,讲解 EPIT 和 GPT 的特性、实验用法,同时附带作业思考题答案,适合嵌入式裸机学习笔记。

一、51 单片机定时器工作原理

51 单片机定时器核心分为两种模式:

  1. 8 位自动重装模式:THx、TLx,溢出后硬件自动把 THx 的值加载到 TLx,无需在中断服务函数手动赋值,适合周期性定时。
  2. 16 位模式 :16 位计数,溢出触发中断;中断服务函数内必须手动重装初值,硬件不会自动填充 TH、TL。

本质都是对系统机器周期脉冲计数,计数溢出后触发定时器中断。

二、i.MX6ULL 定时器介绍

1. EPIT 增强型周期中断定时器 Enhanced Periodic Interrupt Timer

EPIT 专门用于周期性定时中断,适合固定周期任务。

  • 特性:支持自动重装,计数到 0 触发中断。
  • 实验案例:1s 定时中断,中断服务函数翻转 LED。

注意区分两个 "M":

  • 频率:1000*1000 = 1MHz(兆赫兹,10⁶)
  • 存储:1024*1024 = 1MByte(兆字节,2²⁰)

2. GPT 通用定时器 General Purpose Timer

GPT 功能更丰富,支持输入捕获、输出比较

  • 自由运行模式:计数器从 0 一直递增到最大值,溢出回滚,不会自动停止。
  • 实验:基于自由运行模式编写精准硬件延时函数,替代软件空循环延时。

三、作业思考题解答

1、什么是 PLL,Prescaler、PFD,各自作用?

  • PLL(锁相环):倍频电路。输入低频基准时钟,输出稳定高频时钟,用来产生芯片内核、外设需要的高频时钟。
  • Prescaler 预分频器:对输入时钟分频,降低时钟频率。
  • PFD 相位分数分频器:可升频、可降频,从 PLL 输出衍生多路不同频率时钟,供给不同外设使用。

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

i.MX6ULL 一共7 路 PLL : PLL1 (ARM PLL)、PLL2 (528M System PLL)、PLL3 (480M USB1 PLL)、PLL4 (Audio)、PLL5 (Video)、PLL6 (Ethernet)、PLL7 (USB2)。 PFD 在 PLL2(528PLL)、PLL3(480PLL)内部,各 4 路 PFD,总共 8 个 PFD

3、简述 ARM PLL(PLL1)配置流程

  1. 先把 step_clk 选择为外部 24M 晶振 osc_clk;
  2. 将 ARM 内核时钟临时切换到低速 step_clk,防止修改高频 PLL 时内核崩溃;
  3. 配置 PLL1 倍频因子,优先配置 PLL 后端二分频
  4. 等待 PLL 锁定稳定;
  5. 切回 pll1_main_clk,内核使用 PLL1 输出的高频时钟运行。

4、IMX6ULL EPIT 和 GPT 工作原理

  • EPIT:增强周期中断定时器。用于周期性定时,配置计数初值,计数器递减到 0 产生中断,硬件自动重装初值,适合周期中断任务,如定时翻转 LED。
  • GPT :通用定时器。支持自由运行 / 重启模式,具备输入捕获(测量脉冲宽度)、输出比较(PWM / 定时触发);自由运行模式下计数器持续递增,可以读取计数值实现精准硬件延时。

四、小结

  1. 51 定时器:8 位自动重装 /16 位手动重装,是定时器基础。
  2. EPIT 主打周期中断;GPT 是多功能通用定时器,主打捕获、比较、精准延时。
  3. i.MX6ULL 的所有定时器都依赖 CCM 时钟树,使用前必须配置 PLL、PFD 并打开外设时钟门。
相关推荐
G.E.M.小白1 小时前
【IMX6ULL ARM内核启动与时钟系统超详解】PLL/PFD/分频/根时钟配置
嵌入式·arm·时钟·imx6ull
Doraemomo19 小时前
IMX6ULL裸机开发——PWM
arm开发·嵌入式硬件·imx6ull
myy-learn20 小时前
51单片机-外设温度计(DS18B20)知识总结
51单片机
Horn Still Sounds20 小时前
IMX6ULL嵌入式裸机开发|GPIO点灯、编译链接、GIC中断、协处理器完整笔记
arm汇编·imx6ull·裸机开发·gic中断
一直C1 天前
ARM裸机开发|IMX6ULL GIC中断详解,中断流程、GIC版本分类、CP15协处理器
arm·imx6ull·寄存器
捷瑞电子工坊1 天前
蓝桥杯嵌入式STM32G431定时器入门:从原理到CubeMX配置(LL库)
cubemx·定时器·定时中断·led闪烁·蓝桥杯嵌入式·stm32g431·ll库
老当益壮梁奶奶1 天前
ARM汇编学习笔记(四):i.MX6ULL裸机开发:从汇编点灯到C语言BSP工程管理
c语言·arm开发·单片机·嵌入式硬件·51单片机
sunoo-2291 天前
【ARM嵌入式学习笔记Day5】一文打通GPIO中断全链路:从硬件引脚→GIC→汇编入口→C语言处理
arm开发·笔记·学习·中断·gic·裸机开发
祖力551 天前
ARM中断(IMX6ULL中断、GIC通用中断控制器)
嵌入式硬件·arm·imx6ull·中断·gic·通用中断控制器