APB TIMER验证【一】

发布时间 2023-08-20 21:49:00作者: FlowerDance、

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 输出 计时器中断输出