【车载开发系列】RH850常用的定时器
RH850常用的定时器
- 【车载开发系列】RH850常用的定时器
-
- [一. RH850定时器](#一. RH850定时器)
- [二. 什么是GPT定时器](#二. 什么是GPT定时器)
- [三. GPT支持定时器中断](#三. GPT支持定时器中断)
- [四. GPT最关键的3个值](#四. GPT最关键的3个值)
- [五. GPT的四种模式](#五. GPT的四种模式)
-
- [1. 连续PWM模式](#1. 连续PWM模式)
- [2. 单次脉冲模式](#2. 单次脉冲模式)
- [3. 输入捕获模式](#3. 输入捕获模式)
- [4. 互补 PWM + 死区](#4. 互补 PWM + 死区)
- [六. 什么是TAU](#六. 什么是TAU)
- [七. TAU的应用场景](#七. TAU的应用场景)
- [八. 两个定时器间的区别](#八. 两个定时器间的区别)
一. RH850定时器
RH850 里最常用、必须会的就两类:
- TAU:通用定时器(最基础、最多用)
- GPT:多功能定时器(PWM、输入捕获、电机控制)
二. 什么是GPT定时器
GPT的英文全称是General Purpose Timer。它是16位高精度的定时器,主要功能有:PWM 输出、输入捕获、触发 ADC、定时中断。
GPT的本质就是一个高速往上数的计数器,
上电后,从 0 开始往上数:0→1→2→3→...→最大值,每来一个时钟脉冲,就+1;数到你设定的最大值(周期),再清零重来。
三. GPT支持定时器中断
- 1ms / 10ms 定时任务
- 状态机调度
- 延时、超时判断
- 轮询、采样
以上这些都可以使用GPT来实现任务调度,GPT可以说是系统的"心跳",整个软件的节奏由它控制,它是节拍器。
四. GPT最关键的3个值
GPT是MCU里的硬件定时器,核心是32位向上计数器。GPT定时器完全依赖系统时钟,是系统时钟的"用户"。它最关键的三个值如下:
- 计数时钟
来自MCU内部时钟 PCLKC,比如80MHz。
→ 每12.5ns 计数 +1。 - 周期值 GTPR
你设定的最大值。数到它,就归零重新开始。
3. 比较值 GTDU / GTDD
决定高电平什么时候变低电平。
五. GPT的四种模式
GPT是你以后写驱动最常用、最离不开的外设。GPT 到底有什么用呢?所有需要精准计时、输出波形、测信号、同步触发的功能,全靠 GPT。没有 GPT,车灯不亮、电机不转、采样不准、软件不跑。
1. 连续PWM模式
一直输出固定频率、固定占空比的方波PWM,它是GPT模式中最为常见的。它需要不停的循环,它的频率由GTPR寄存器决定。
可以将它理解为无级旋钮。想多亮、多快、多大电流,全靠它输出波形。
2. 单次脉冲模式
发一个脉冲就停,- 某些驱动芯片的复位/使能时,就用了单次脉冲模式。可以将他理解成秒表和尺子。可以测转速和频率。
3. 输入捕获模式
测外部信号的频率、占空比、高/低电平时间时使用该模式。
上升沿/下降沿来时,GPT 自动把当前计数值存到寄存器。
4. 互补 PWM + 死区
输出一对互补的 PWM,专门驱动电机/半桥。
六. 什么是TAU
TAU的全称是Timer Array Unit。它是RH850的硬件定时器阵列,按型号分TAUA/B/J/D等,为GPT提供计时硬件载体;TAU通道被GPT驱动管理,作为GPT的"物理通道"存在
七. TAU的应用场景
- 系统滴答定时器(OS Tick 1ms)
- LED 闪烁、按键扫描、简单延时
- 低速 PWM(灯光、小风扇)
- 普通串口波特率生成、简单脉冲计数
- 车身电子、低功耗、低成本控制
可以得出结论只是做定时、闪烁、简单 PWM输出的时候用TAU更省资源,而要上电机,电源,高精度控制,使用GPT是必须的。
八. 两个定时器间的区别
GPT是统一的软件接口,TAU是具体的硬件实现;在RH850中,GPT通过驱动将TAU通道"包装"为标准GPT通道,让应用层以相同方式使用不同等级的TAU硬件,兼顾标准化与功能安全。
| 对比维度 | GPT | TAU |
|---|---|---|
| 计数器 | 16/32位计数器 | 8/16位计数器 |
| 精度 | ns/µs级控制 | ms级控制 |
| 资源 | 寄存器多、配置复杂、功能强、面积大 | 寄存器简洁、上手快、功耗低、资源占用小 |
| PWM能力 | 互补输出、硬件死区、边沿/中心对齐、三角波PWM | 单端普通PWM |
| 应用场景 | 专为电机、逆变器、DCDC 设计 | 只做简单调光、蜂鸣器、低速驱动 |