C2000 CPU Timer 学习笔记

1. CPU Timer 是什么

C2000 的 CPU Timer 本质是:

复制代码
32 位倒计数器

从设定值开始减,减到 0 后产生中断,然后重新装载,继续下一轮。


2. 工作流程

CPU Timer 流程图​编辑

核心流程:

ini 复制代码
SYSCLKOUT
↓
预分频器 PSC
↓
TIMCLK
↓
主计数器 TIM
↓
TIM = 0
↓
产生中断

3. 两级计数

CPU Timer 时序图
​编辑

第一级:预分频器

复制代码
SYSCLKOUT 驱动 PSC 递减
PSC 减到 0 → 产生 TIMCLK

第二级:主计数器

复制代码
TIMCLK 驱动 TIM 递减
TIM 减到 0 → 产生定时器中断

4. 主要寄存器

寄存器 作用
PRD / PRDH 设置 32 位定时周期
TIM / TIMH 32 位当前计数值
TPR / TPRH 存放预分频设定值和当前预分频计数值
TCR 控制定时器启动、停止、中断

TPR、TDDR、PSC 的关系

TPRTPRH 是两个 16 位寄存器,但里面又分成几个 8 位字段:

寄存器 高 8 位 低 8 位
TPRH PSCH TDDRH
TPR PSC TDDR

组合后:

组合字段 含义
TDDRH:TDDR 16 位预分频设定值
PSCH:PSC 16 位预分频当前计数值

简单记:

makefile 复制代码
TDDRH:TDDR 决定分频多少
PSCH:PSC 是当前倒计数值
TPR/TPRH 只是存放这些字段的寄存器

5. 定时时间

scss 复制代码
定时时间 ≈ (PRD + 1) × (TDDR + 1) / SYSCLKOUT

不使用预分频时:

ini 复制代码
TDDR = 0
定时时间 ≈ (PRD + 1) / SYSCLKOUT

例子:

ini 复制代码
SYSCLKOUT = 60MHz
目标定时 = 1ms
PRD = 60000 - 1
TDDR = 0

6. 配置步骤

markdown 复制代码
1. 设置 PRD
2. 设置 TPR / TPRH
3. 重装载计数器
4. 使能定时器中断
5. 启动定时器
6. 配置 PIE 和 CPU 中断

7. 核心代码

ini 复制代码
CpuTimer0Regs.TCR.bit.TSS = 1;      // 停止定时器

CpuTimer0Regs.PRD.all = 60000 - 1;  // 1ms,60MHz
CpuTimer0Regs.TPR.all  = 0;         // TDDR = 0,不预分频
CpuTimer0Regs.TPRH.all = 0;

CpuTimer0Regs.TCR.bit.TRB = 1;      // 重装载
CpuTimer0Regs.TCR.bit.TIF = 1;      // 清中断标志
CpuTimer0Regs.TCR.bit.TIE = 1;      // 使能中断

CpuTimer0Regs.TCR.bit.TSS = 0;      // 启动定时器

8. 总结

makefile 复制代码
CPU Timer = 预分频器 + 32 位倒计数器。
TDDRH:TDDR 设置预分频;
PSCH:PSC 是预分频当前值;
TIMH:TIM 减到 0 后产生中断。

相关推荐
国科安芯1 天前
ASC4T245S分组双向控制架构深度解析:独立DIR/OE控制、QFN16封装与混合方向总线桥接
单片机·嵌入式硬件·物联网·fpga开发·架构·risc-v
JNX_SEMI1 天前
AT2401C 2.4GHz 全集成射频前端单芯片技术解析
前端·单片机·嵌入式硬件·物联网·硬件工程
电子工程师成长日记-C511 天前
51单片机智能灯光控制系统
单片机·嵌入式硬件·51单片机
狂奔蜗牛(bradley)1 天前
嵌入式软件编程思想之事件驱动+表驱动状态机+事件参数+优先级FIFO
单片机·mcu
secondyoung1 天前
Cortex-R52学习:存储系统
arm开发·单片机·学习·arm
开发笔记-阿牛1 天前
CK6159A 语音主控 USB 恒温热敷控制器硬件设计(原理图 + PCB + 温控安全方案)
单片机·嵌入式硬件
sramdram1 天前
低功耗串口通信蓝牙模块应用原理
单片机·嵌入式硬件·蓝牙模块·通信蓝牙模块·串口蓝牙模块
__Rhaast丶1 天前
set_data_check用法解析(一) lib库中的data check解析
单片机·嵌入式硬件
wuyk5551 天前
21. 嵌入式面试避坑指南:sizeof 是关键字,不是函数!
c语言·开发语言·stm32·单片机·嵌入式硬件
FreakStudio13 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机