【车载开发系列】TAU定时器
一. 什么是TAU
在RH850当中,TAU(Timer Array Unit) 是车规级定时器阵列,按功能/定位分为TAUJ,TAUB,TAUD,TAUMs等几个大类。
二. 什么是TAUJ
Timer Array Unit J,它是瑞萨RH850里轻量、低功耗、基础型定时器阵列,主打车身/低功耗场景,和TAUB/TAUG形成高低搭配。
RH850中的一个轻量定时器,它有以下的特点:
轻量通用、低功耗、基础定时/PWM,无死区/互补PWM
常见4/8通道,单模块最多8路
功耗低,适合车身/休眠唤醒场景
结构:寄存器精简、配置简单、资源占用小
时钟:支持PCLK、LOCO、EXTAL等多源,分频灵活
三. 什么是TAUB
TAUB = Timer Array Unit B,是RH850里高性能、全功能、带死区/互补PWM的主力定时器阵列,主打电机控制、车灯、通用PWM场景,是车规级最常用的定时器模块。
它是一个高性能的定时器,全能定时器。它的特点如下:
- 定位:通用高性能定时器,带死区与互补输出(TAUJ没有)
- 通道:常见 8/16通道,单模块最多16路
- 计数器:32位,精度高、周期长
- 时钟:PCLKB为主,支持多源与多级分频
- 功耗:功耗高,性能强
- 基础PWM + 互补PWM + 死区插入(TDIS)这个是TAUB所独有的。
四. 什么是TAUB
TAUB全称是Timer Array Unit B,16位,16通道/单元,功能强、支持死区。它是 RH850中最常用的16位通用定时器阵列,每单元 16通道,主打定时中断、输入捕获、PWM输出,汽车电子(车身/底盘/网关)用得最多。其中车灯/风扇/电机调速、LED灯呼吸,都是使用到了这个定时器,1ms/10ms系统节拍,任务调度。
它的关键寄存器如下:
- TAUD0TCR:时钟选择、计数模式、启动/停止
- TAUD0CNT:16位计数器(读当前值)
- TAUD0CDRm:通道数据寄存器(周期/比较值)
- TAUD0TIER:中断使能(OVIE/CMIE)
- TAUD0TSR:中断标志(OVF/CMF,需软件清0)
- TAUD0TOE:输出使能(1=输出,0=高阻)
- TAUD0CMURm:通道模式(捕获/比较/PWM)
五. 三者的共同点与区别
1)共同点
时钟源都来自 PCLK(外设总线时钟)
都支持内部再次分频
都有独立中断、独立通道控制
2)区别
| 对比项 | TAUJ | TAUB | TAUD |
|---|---|---|---|
| 定位 | 基础通用定时器轻量低功耗型 | 增强通用定时器平衡型 | 高性能专用定时器电机/高精度PWM型 |
| 通道数 | 少(4/8ch) | 中(8/16ch) | 多(16/32ch) |
| 主从同步 | 不支持 | 基础支持 | 完整支持 |
| 互补PWM | 无 | 有限 | 支持 |
| 死区控制 | 无 | 无 | 支持 |
| 时钟 | 支持低速时钟,功耗低 | 高低速均支持 | 高速时钟为主 |
| 精度/频率 | 低 | 中 | 高 |
| 典型用途 | 定时、唤醒、LED、简单IO | 通用PWM、传感器、普通电机 | 电机控制、多相PWM、逆变器 |
| 功耗 | 最低 | 中等 | 最高 |