MSP432的相关定时器

专栏

基于MSP432的嵌入式系统实践

定时器

​ 定时器模块是MSP432单片机中非常重要的资源,可以用来实现定时控制、延时、频率测量、脉宽测量以及信号产生等。此外,还可以在多任务的系统中作为中断信号实现程序的切换。例如在MSP432单片机实时控制和处理系统中,需要每隔一定时间就对处理对象进行采样,再对获得的数据进行处理,这就要用到定时信号。

​ MSP432单片机的定时器模块功能如下:

​ (1)看门狗定时器:基本定时,当程序发送错误时执行一个受控的系统重启动;

​ (2)16位定时器A:基本定时,支持捕获输入信号、比较产生PWM波形等功能;

​ (3)32位定时器:基本定时,功能基本同定时器A,但比定时器A灵活,功能更强大;

​ (4)定时时钟:基本定时,日历功能。

看门狗相关知识

看门狗相关知识

看门狗定时器

MSP432单片机内部集成了看门狗定时器,既可作为看门狗使用,也可为产生时间间隔进行进行定时。当用作看门狗时,若定时时间到,将产生一个系统复位信号;如果在用户应用程序中,不需要看门狗,可将看门狗定时器用作一般定时使用,在选定的时间间隔到达时,将发生定时中断。

看门狗定时器具有如下特点:

  • 软件可编程的8种时间间隔选择;
  • 看门狗模式;
  • 定时计数模式;
  • 对看门狗控制寄存器的更改受口令保护,若口令输入错误,则控制寄存器无法更改;
  • 多种时钟源供选择;
  • 可选择关闭看门狗以减少功耗;
  • 时钟故障保护功能。

MSP432单片机的看门狗定时器逻辑结构框图如图17-1所示。由该图可知,MSP432单片机的看门狗定时器由中断产生逻辑单元、看门狗定时计数器、口令比较单元、看门狗控制寄存器、参考时钟选择逻辑单元等构成。
Figure 17-1.Watchdog Timer Block Diagram

看门狗定时计数器(WDTCNT)

​ 看门狗定时计数器是一个32位增计数器,不能通过软件直接访问其计数值。软件可通过看门狗控制寄存器(WDTCTL)控制看门狗定时计数器及配置其产生的时间间隔。看门狗定时计数器的参考时钟源可通过WDTSSEL控制位配置为SMCLK、ACLK、VLOCLK或BCLK,产生的时间间隔可通过WDTIS控制位选择,具体请参考相应的寄存器配置。

​ 注意:当CPU停止工作时,看门狗定时计数器会自动配置为停止计数,这样可以在程序开发和调试中,不必禁用看门狗定时器,或者当CPU停止工作时,如果计数器被允许继续运行,则不会不断地出现看门狗启动的复位。

​ 看门狗定时器模块可以通过配置WDTCTL寄存器,使其工作在看门狗模式或定时计数模式。WDTCTL是一个16位的带密码保护的读写寄存器。对WDTCTL的配置需要先在高字节写入密码Ah,写入其它内容都会产生错误。若产生错误后,读WDTCTL高字节的结果是069h。

看门狗模式

​ 在一个上单复位清除后,看门狗定时器被默认配置为采用SMCLK作为参考时钟源,在计数到达之前,需要通过软件设置或停止WDT。例如,如果SMCLK默认来源于设置为3MHz的DCO,则会产生大约10.92ms的看门狗间隔窗口。用户必须在看门狗复位时间间隔期满或另一个复位信号产生之前,配置、停止或清除看门狗定时器。当看门狗定时器被配置工作在看门狗模式时,利用一个错误的口令密码操作看门狗控制寄存器(WDTCTL)或选择的时间间隔期满都将产生一个PUC复位信号,一个PUC复位信号可将看门狗定时器复位到默认状态。

定时计数模式

​ 将WDTTMSEL控制位选择为1,看门狗定时器被配置为定时计数模式。这个模式可以被用来产生周期性中断,在定时计数模式下,当选定的时间间隔到来时,将置位看门狗定时计数中断标志位(WDTIFG),但并不产生PUC复位信号。当看门狗定时计数中断允许控制位(WDTIE)置位,而且在NVIC中启动看门狗定时计数中断时,CPU将响应WDTIFG中断请求。中断请求被响应后,单片机将自动清除看门狗定时计数中断标志。当然,也可以通过软件手动清除看门狗定时计数中断标志位。

看门狗定时器中断

​ 看门狗定时器中断利用以下两个寄存器控制看门狗定时器中断;

​ (1)看门狗中断标志位WDTIFG;

​ (2)看门狗中断允许控制位WDTIE。

​ 当看门狗定时器工作正在看门狗模式时,看门狗中断标志位WDTIFG来源于一个复位向量中断。复位中断复位程序可利用看门狗中断标志位WDTIFG来判定看门狗定时器是否产生了一个系统复位信号。若WDTIFG标志置位,看门狗定时器产生一个复位条件,要么复位定时时间到,要么口令密码错误。

​ 当看门狗定时器工作在定时计数模式时,当定时时间到,将置位看门狗中断标志位WDTIFG。若WTDIE使能,则可响应看门狗定时计数中断。

时钟故障保护功能

​ 看门狗定时器提供了一个时钟故障保护功能,确保在看门狗模式下,参考时钟不失效,这就意味着低功耗模式将有可能影响看门狗定时器参考时钟的选择。如果SMCLK或ACLK作为定时器参考时钟源时失效,看门狗定时器将自动选择VCOCLK作为其参考时钟源。当看门狗定时器工作于定时计数模式时,看门狗定时器没有时钟故障保护功能。

低功耗模式下的看门狗操作

​ MSP432单片机具有多种低功耗模式,在不同的低功耗模式下,启用不同的时钟信号。程序的需要以及所选时钟的类型决定了看门狗定时器的配置,例如如果用户想用低功耗模式3(LPM3),需要将时钟源设置为BCLK或VLOCLK。当不需要看门狗定时器时,可利用WDTHOLD控制位关闭看门狗计数器(WDTCNT),以减少单片机功耗。

看门狗定时器控制寄存器

​ 看门狗定时控制寄存器(WDTCTL)列表如表6-8所示。
表6-8

定时器A(Timer_A)

​ Timer_A定时器为16位定时器,具有高达7个捕获比较寄存器。Timer_A支持多路捕获/比较、PWM输出和定时计数。Timer_A也具有丰富的中断能力,当定时时间到或满足捕获/比较条件时,将可触发定时器A中断。

定时器A具有如下特点:

  • 4种运行模式的异步16位定时/计数器;
  • 参考时钟源可选择配置;
  • 高达7个可配置的捕获/比较寄存器
  • 可配置的PWM输出;
  • 异步输入和输出锁存;
  • 具有可对Timer_A中断快速响应的中断向量寄存器。

基本结构

基本结构

工作模式

  • 单次计数模式:计数器计数到0就产生中断并停止计数
  • 循环计数模式:每次计数器计数到0便产生一次中断,随后重新载入初始值计数器的值,继续计数

特性

  • 输入捕获;
  • 输出比较;
  • 脉宽调制PWM(Pulse width modulation mode)。

MSP432中的定时器——Timer32

  • Timer32模块包含两个独立的递减计数器,每个都能配置为16位或32位。
  • 三种运行模式——自由运行模式、周期定时器模式或单次定时器模式
    • 自由运行模式:在计数器计数至0时,继续从最大值开始倒计时
    • 周期定时器模式:计数器以一定的间隔产生中断,并在计数至0时重新载入最初设定的值
    • 单次定时器模式:指计数器只产生一次中断,即计数器计数至0时,定时器挂起,直到用户对其进行重新编程

timer_A基本运行模式

MSP432中的定时器——TimerA

  • 4个TimerA模块
  • 每个TimerA模块有7个捕获/比较寄存器
  • 支持中断
  • 时钟源——ACLK、SMCLK、TAxCLK、INCLK
  • 四种计数模式——连续计数模式、增计数模式、增减计数模式、停止

连续计数模式

连续计数模式

增计数模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FantasyQin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值