MCU

ADSP-BF533定时器相关寄存器介绍

0
阅读(14677)

今天介绍BF533定时器相关寄存器的功能配置,下面详细介绍各个寄存器的具体内容:

1. TIMERx_CONFIG:定时器配置寄存器,用于设置定时器工作模式

对于该寄存器,有一点必须要注意的,只有在定时器没有运行的情况下才能对其进行写入操作,所以对其进行写入操作之前,最好是读取TIMER_STATUS寄存器中的TRUNx值,判断定时器是否停止运行。然后该寄存器在任意时间都能被读取。ERR_TYP只能被读,当定时器使能后,ERR_TYP将被复位清零。每一次当TOVF_ERRx位被置1时,ERR_TYP都会加载检测到的错误类型值,并且该值将会保持到下一个错误值或者定时器使能的出现。TIMER_CONFIG寄存器还控制TMRx管脚的有效与否,当OUT_DIS位被清零并且TMODE=01时,PWM信号将会从TMRx管脚输出。

2. TIMERx_WIDTH和TIMERx_PERIOD:定时器宽度寄存器和周期寄存器,用于设置输出波形脉冲宽度和周期

当一个定时器使能后正在运行时,如果软件对TIMERx_PERIOD和TIMERx_WIDTH重新赋值,写入值将会暂存在缓冲器中,直到目前周期结束(即TIMER_COUNTER等于TIMERx_PERIOD)。

如果在对定时器进行设置时没有对TIMERx_PERIOD和TIMERx_WIDTH进行重新写入设定,上一次设置的值将被重新应用,并且该设置是自动的。

对于这两个寄存器的设置,一般是在定时器使能之前进行设置,设置后才使能定时器,这样最妥当。

3. TIMERx_COUNTER:定时器计数寄存器,读取捕获的脉冲数量

该寄存器在任何时候都能够被读,返回的是一个32位的值。根据不同的操作模式,加计数定时器的时钟源可以为系统时钟SCLK,TMRx管脚,可编程管脚PF1或者并行端口时钟PPI_CLK。

4.  TIMER_ENABLE:定时器使能寄存器

对相关位写1表示使能相应的定时器。

5. TIMER_DISABLE:定时器关闭寄存器

TIMER_DISABLE寄存器允许同时禁止三个定时器,对于每一个定时器都有一个禁止控制位,写1表示禁止对应的定时器,并且这三个位能够单独被清除或者以任意组合进行设置。在PWM模式,对某一位写1并不能马上停止对应的定时器,该定时器会继续计数定时直到该周期结束。而在WDTH_CAP和EXT_CLK模式下,对某一位写将马上停止相关的定时器。

6. TIMER_STATUS:定时器状态寄存器

定时器状态寄存器TIMER_STATUS表示三个定时器的状态,用来判断三个定时器所处的状态。

0~2位为芯片中断状态位TIMILx,TIMILx位是与TIMERx_CONFIG寄存器中的IRQ_ENA位一起工作的,如果一个定时中断发生并且IRQ_ENA被置1,这时TIMILx位将被置1,并且触发中断处理程序。

4~6位为TOVF_ERRx位,当计数器溢出时,即TIMER_COUNTER等于TIMER_PERIOD时,该位将置1,可用于查询法实现定时器功能。

12~14位为TURNx位,TRUNx为反映定时器的状态,当TRUNx为1时表示定时器正在运行,而0则表示定时器停止,当定时器处于PWM_OUT模式时,TRUNx位将在一个周期结束时自动清零。