ARM——定时器(EPIT GPT)

一、定时器的定义

定时器是嵌入式系统中的重要组件,用于产生精确的时间延迟、测量时间间隔、执行周期性任务以及提供系统时基。在i.MX6ULL处理器中,定时器模块通过内部时钟信号进行计数,当达到预设值时可触发中断或执行特定操作。

二、定时器的分类

  • 通用定时器(GPT)
    • General Purpose Timer,通用目的定时器
    • 支持多种工作模式
    • 可配置的预分频器
    • 适用于精确的时间测量和控制
  • 增强型周期中断定时器(EPIT)
    • Enhanced Periodic Interrupt Timer,增强型周期中断定时器
    • 专为周期性中断任务设计
    • 预装载寄存器支持
    • 适用于周期性任务调度

三、定时器的工作流程

3.1.GPT通用定时器

3.1.1 GPT初始化阶段
步骤 操作 寄存器 配置值 说明
1 复位GPT模块 GPT1->CR 设置第15位置位 触发复位操作
2 等待复位完成 GPT1->CR 检查第15位 确认复位操作完成
3.1.2 GPT时钟配置阶段
步骤 操作 寄存器 配置值 说明
1 配置时钟源 GPT1->CR 清除第26-28位 选择内部时钟源
2 设置工作模式 GPT1->CR 清除第18-19位 设置为自由运行模式
3 启用模模式 GPT1->CR 设置第9位 启用模模式计数
3.1.3 GPT预分频配置阶段
步骤 操作 寄存器 配置值 说明
1 配置预分频 GPT1->CR 设置第6-8位 配置预分频器值
2 禁用重启功能 GPT1->CR 清除第1位 禁用重启功能
3 设置预分频值 GPT1->PR 设置第0-11位 设置预分频器为65
3.1.4 GPT启动阶段
步骤 操作 寄存器 配置值 说明
1 清零计数器 GPT1->CNT 设置为0 初始化计数值
2 启动定时器 GPT1->CR 设置第0位 启动GPT计数器

3.2 EPIT定时器

3.2.1 EPIT基本配置阶段
步骤 操作 寄存器 配置值 说明
1 配置时钟源 EPIT1->CR 设置第24-25位 选择GPT时钟作为源
2 启用比较功能 EPIT1->CR 设置第17位 启用比较功能
3 配置预分频 EPIT1->CR 设置第4-15位 配置预分频器为65
3.2.2 EPIT工作模式配置阶段
步骤 操作 寄存器 配置值 说明
1 设置工作模式 EPIT1->CR 设置第3位 设置为连续运行模式
2 启用中断 EPIT1->CR 设置第2位 启用中断功能
3 启用比较中断 EPIT1->CR 设置第1位 启用比较匹配中断
4 写入配置寄存器 EPIT1->CR 更新值 应用所有配置
3.2.3 EPIT寄存器配置阶段
步骤 操作 寄存器 配置值 说明
1 设置加载值 EPIT1->LR 1000000 设置为1秒周期
2 设置比较值 EPIT1->CMPR 0 设置比较值
3 设置计数值 EPIT1->CNR 1000000 初始化计数器
3.2.4 EPIT中断配置阶段
步骤 操作 寄存器 配置值 说明
1 启用GIC中断 GIC_EnableIRQ EPIT1_IRQn 启用EPIT1中断
2 设置中断优先级 GIC_SetPriority 0 设置最高优先级
3 注册中断服务函数 system_interrupt_register epit_irq_handler 绑定中断处理函数
4 启动定时器 EPIT1->CR 设置第0位 启动EPIT定时器
相关推荐
网安情报局13 小时前
告别排队与高延迟:直连GPT全系列,解锁低门槛、高稳定的AI生产力
人工智能·gpt·api·ai大模型
CV-deeplearning13 小时前
李沐论文精读合集:67 篇深度学习经典论文逐段精读,从 AlexNet 到 Sora,B 站播放百万级的 AI 自学圣经
gpt·大模型·transformer·李沐·论文精读·ai学习路线
me83215 小时前
【AI面试】小白理解大模型:仅编码器(BERT类)、仅解码器(GPT类)和完整的编码器-解码器架构各有什么优缺点?
人工智能·gpt·ai·bert
时代文章20 小时前
GPT-SoVITS 模型测试笔记
笔记·gpt·语音识别
kishu_iOS&AI2 天前
LLM —— 基础知识(Bert&GPT&T5)浅析
人工智能·gpt·bert
人工智能培训2 天前
从GPT到开源大模型
人工智能·gpt·深度学习·机器学习·容器·知识图谱
程序员佳佳2 天前
我在 Windows 和低配 Linux 上做 RAG:Milvus、FAISS、向量 API 中转的中立实测
linux·人工智能·windows·gpt·aigc·milvus·faiss
鲁子狄2 天前
lrnev:让 AI 协作开发「有记忆、可追溯」的项目治理引擎 | 零模型依赖,文件即真相
人工智能·笔记·gpt·ai·ai编程
searchforAI2 天前
利用AI翻译视频做双语笔记,一套视频翻译到知识库沉淀的完整方案
人工智能·笔记·gpt·音视频·语音识别·知识图谱·机器翻译
向量引擎2 天前
腾讯混元 API 接入与国内模型统一入口实践:API Key、OpenAI 兼容调用、向量引擎中转配置与企业安全检查
人工智能·gpt·aigc·ai编程·ai写作·agi·api调用