ZHCAAC7A November 2020 – January 2021 MSP430FR2433
引言
MSP430FR2433 微控制器 (MCU) 的可编程系统唤醒控制器功能提供了一种向现有系统添加外部实时低功耗唤醒控制器的简单方法。这种类型的系统唤醒控制器对于需要在不同时间段内保持低功耗模式的应用非常有用。首先,下载工程文件和演示此功能的代码示例。
实现
此应用需要一个低频 32.768kHz 晶振。主机 MCU/PC GUI 可通过通用异步接收器/发送器 (UART) 将唤醒时间发送到 MSP430FR2433。此时,主机应进入低功耗或睡眠模式,因为实时时钟 (RTC) 在接收到时间数据后立即启动。当唤醒计时器倒计时到零时,MSP430FR2433 将切换 P1.0 以唤醒主机 MCU 并将唤醒信号发送回 GUI(请参阅图 1-1)。
唤醒时间与 RTC 计数器外设和软件缩放因子相关。此应用中的 RTC 计数器模块由 XT1 提供时钟,频率约为 32.768kHz。模块的最大预分频器为 1024。通过使用此分频器值,RTC 计数器的每 32 次计数为 1 秒。RTCMOD 寄存器保存一个计数值,当 RTC 计数器对其计数时,该值会发出中断。RTC 计数器的 RTCMOD 寄存器为 16 位宽,因此 RTC 计数器在溢出前能够计数的最大时间约为 34 分钟。RTCMOD 设置为 31,并且在本例中是固定的,每秒提供一个中断。唤醒时间定义为无符号 int8 格式。它允许客户在示例代码中设置 1-255s 的唤醒时间。例如,如果主机想要设置 60 秒的唤醒时间,它将通过 UART 发送值 0x3C。
可编程唤醒控制器旨在保持低功耗模式 3 (LPM3) 以节省功耗。当主机控制器发送唤醒时间数据时,RTC 开始计数到发送到器件的时间值。RTC 中断管理总唤醒时间,并在达到时间值后向主机控制器发送一个从低到高的脉冲。MSP430 MCU 还向 GUI 发送倒计时剩余时间数据(请参阅图 1-3)。主机 MCU 和 GUI 可随时通过向 MSP430 MCU 发送新值来更改唤醒时间。当 MSP430 MCU 收到新数据时,会重新配置唤醒计时器设置。
性能
可编程系统唤醒控制器的平均功耗约为 1.3μA。应用的平均电流由器件的 LPM3 电流决定,并且随着唤醒时间段的延长而接近该水平。
开始使用
器件推荐
器件型号 | 主要特性 |
---|---|
MSP430FR2433 | 16KB FRAM,4KB SRAM,10 位 ADC,UART/SPI/I2C,计时器 |
MSP430FR2422 | 8KB FRAM,2KB SRAM,10 位 ADC,UART/SPI/I2C,计时器 |