APB TIMER功能介绍
APB TIMER是一个32位的递减计数器,有以下特点:
- 当计数器到达0时,可以产生一个中断请求信号TIMERINT。这个中断请求信号会一直保持直到它被清除(写入到INTCLEAR寄存器中)。
- 可以使用外部输入信号EXTIN的0到1的变换,作为计数器的使能信号。
- 如果APB计数器计数到达0,并且在同一时间,软件清除了先前的中断状态,那么中断状态就会被设置为1。
- 外部的时钟信号EXTIN,时钟频率必须低于外设时钟(APB时钟)频率的一半(时钟域可能不同,EXTIN需要经过两级同步电路消除亚稳态)。当EXTIN作为时钟信号时要经过一个边沿检测逻辑。
- 一个独立的时钟引脚PCLKG,用于APB寄存器读或写逻辑,当没有APB的活动时,它能够停止APB寄存器时钟。
- 组件ID和外设ID寄存器。这些只读ID寄存器是可选择的,必须在寄存器中修改以下数值:
-- Part number,12bits.
-- JEDEC ID value,7bits. - ECOREVNUM输入信号被连接到ECO的 revision number上(外设ID寄存器3)
寄存器配置
寄存器详解
CTRL:控制寄存器。CTRL[3]:计数器中断使能;CTRL[2]:外部输入作为时钟信号;CTRL[1]:外部输入作为使能信号;CTRL[0]:TIMER使能
VALUE:TIMER计数器的current value,写入时计数器值改变为写入值。
RELOAD:重载值。TIMER计数器的预加载值,写入时当计数器减至0时,才改变为RELOAD值。
INTSTATUS/INTCLEAR:TIMER中断。对该寄存器写1时清除当前中断状态。
信号描述
信号 | 方向 | 描述 |
---|---|---|
EXTIN | 输入 | 外部信号。需要两级寄存器同步。 |
TIMERRINT | 输出 | 计时器中断输出 |