当前位置: 首页 > news >正文

TI DSP TMS320F280025 Note13:CPUtimer定时器原理分析与使用

TMS320F280025 CPUtimer定时器原理分析与使用


`

文章目录

  • TMS320F280025 CPUtimer定时器原理分析与使用
  • 框图分析
  • 定时器中断
  • 定时器使用
    • CPUtimers.c
    • CPUtimers.h


框图分析

定时器框图如图所示

在这里插入图片描述

定时器有一个预分频模块和一个定时/计数模块, 其中预分频模块包括一个 16 位的定时器分频寄存器(TDDRH: TDDR) 和一个 16 位的预定标计数器(PSCH: PSC) ; 定时/计数模块包括一个 32 位的周期寄存器(PRDH: PRD)和一个 32 位的计数寄存器(TIMH:TIM)

使用定时器时初始化好定时器,设置好装载值并且启动定时器
在这里插入图片描述

每个系统时钟都会使定时器16位的预定标计数器减一,当16位的预定标计数器减到0时,16位的预定标计数器重置,同时32位计数器减一
在这里插入图片描述

当32位计数器减到0时,32位计数器重置,同时触发定时器中断

即:
当系统时钟(SYSCLKOUT) 来一个脉冲, PSCH: PSC 预定标计数器减 1, 当 PSCH: PSC 预定标计数器减到 0 的时候, 预定标计数器产生下溢后向定时器的 32 位计数器 TIMH:TIM 借位, 即 TIMH:TIM 计数器减 1, 同时 PSCH: PSC 可以重载定时器分频寄存器(TDDRH: TDDR) 的值; 当计数寄存器 TIMH: TIM 减到 0 产生下溢的时候, 计数寄存器会重载周期寄存器(PRDH: PRD) 的值, 同时定时器会产生一个中断信号给 CPU。

定时器中断

在这里插入图片描述

CPU定时器0的中断通过PIE传播给CPU
CPU定时器1和2的中断是直接传播给CPU
注意定时器中断优先级
定时器 0的中断属于 PIE 第一组中断中的第 7 个小中断。
在这里插入图片描述

CPU定时器1和2中断
在这里插入图片描述

定时器使用

(1) 使能定时器时钟

(2) 初始化定时器参数, 包括制定定时器寄存器地址、 周期寄存器值、 预定标计数器值等。

(3) 定时器的设置

(4) 开启定时器中断功能, 并使能定时器

(5) 编写定时器中断服务函数

CPUtimers.c

/** TimerDriver.c**  Created on: 2024年8月8日*      Author:*/
#include "main.h"
#include "TimerDriver.h"//
// Function Prototypes
//
__interrupt void cpuTimer0ISR(void);
__interrupt void cpuTimer1ISR(void);
__interrupt void cpuTimer2ISR(void);/** 配置定时器CpuTimer0、1、2,注意1、2不经过PIE*/
void Time
http://www.lryc.cn/news/451042.html

相关文章:

  • Australis 相機率定軟體說明
  • C++入门(有C语言基础)
  • 第四届高性能计算与通信工程国际学术会议(HPCCE 2024)
  • 负载均衡架构解说
  • 【异常数据检测】孤立森林算法异常数据检测算法(数据可视化 Matlab语言)
  • MKV转MP4丨FFmpeg的简单命令使用——视频格式转换
  • git使用“保姆级”教程4——版本回退及分支讲解
  • spring cache,Spring data redis
  • 10.数据结构与算法-线性表的应用(线性表与有序表的合并)
  • GAN|对抗| 生成器更新|判别器更新过程
  • day01——登录功能
  • Flutter中使用FFI的方式链接C/C++的so库(harmonyos)
  • 【C++】二义性
  • 高并发内存池(五):ThreadCache、CentralCache和PageCache的内存回收机制、阶段性代码展示和释放内存过程的调试
  • STL之stackqueue篇(上)探索C++ STL中的Queue与Stack——构建数据处理的基础框架
  • 代码随想录算法训练营Day13
  • 基于STM32的智能门禁系统
  • [EBPF] 实时捕获DM数据库是否存在SQL阻塞
  • 秋招内推--招联金融2025
  • Unity2022.3.x各个版本bug集合及推荐稳定版本
  • SparkSQL-性能调优
  • leetcode-链表篇
  • JetLinks物联网平台微服务化系列文章介绍
  • 【QT Quick】基础语法:导入外部QML文件
  • Llama 系列简介与 Llama3 预训练模型推理
  • 【AIGC】ChatGPT提示词助力自媒体内容创作升级
  • SSTI基础
  • 10.1软件工程知识详解上
  • 03Frenet与Cardesian坐标系(Frenet转Cardesian公式推导)
  • knowLedge-Vue I18n 是 Vue.js 的国际化插件