ZHCAAC5 October   2020 MSP430FR2433

 

  1.   应用简介

应用简介

电压监控对于电池供电和总线供电型应用至关重要,可起到在断电期间保存系统状态的作用。通常应将实时时间保存为时间戳来跟踪断电事件。通过利用内部模数转换器 (ADC) 及其内置窗口比较器、实时时钟 (RTC) 计数器和内部铁电随机存取存储器 (FRAM),MSP430FR2433 微控制器 (MCU) 可用作应对此问题的低成本解决方案。通过使用 UART 通信功能,主机可设置 POSIX 格式的初始时间,也可查询 MSP430™ MCU 来读取 POSIX 格式的当前时间。此外,在断电期间,实时时间会在 FRAM 中保存为时间戳,以供以后检索。首先,下载工程文件和演示此功能的示例代码

注: 您可借助所需的 MCU 外设将此示例与任何 MSP430 LaunchPad™ 开发套件搭配使用。若要了解如何迁移引脚分配和外设,请参阅器件特定数据表。

实现

该解决方案使用 MSP430FR2433 MCU 的内部 ADC 窗口比较器和外部电阻器来监控电源电压。图 1-1 展示了电阻 R1 和 R2 如何分配电源电压 (Vsupply),以及分压 (Vin) 如何连接至 ADC 输入通道。根据Equation1 计算输入电压。如果 Vsupply 为 3.3V,那么 Vin 将为 1.1V。

Equation1. GUID-20201106-CA0I-TJ5K-N3DT-ZZCK6QRTDRGB-low.gif

内部 1.5V 基准电压 (VREF) 被选作 ADC 基准电压,但可通过轻松更改固件来选择 AVCC 或外部基准电压。ADC 窗口比较器的初始高、低压阈值由固件中的 ADC_THR_HIGH_INIT 和 ADC_THR_LOW_INIT 宏定义,并分别根据Equation2Equation3 计算得出。

Equation2. GUID-20201106-CA0I-MLLS-V7KM-NLFL5JXZSCZJ-low.gif
Equation3. GUID-20201106-CA0I-BFJB-8WQS-2DTWLQ0RLHRZ-low.gif

RTC 计数器模块用作外部 RTC,可提供 POSIX 格式的当前实时时间。主机可设置初始时间,然后通过 UART 接口读取当前时间。内部 32768Hz REFO 振荡器用作 FLL 基准的时钟源和 ADC 触发器的计时器。16MHz SMCLK 用作 RTC 计数器和 UART 模块的时钟源。或者,如果更改 MSP430FR2433 LaunchPad 开发套件上的晶体选择电阻器并将 __ENABLE_XT1__ 符号添加到 CCS 工程中的编译器设置,则可使用外部 32768Hz 晶体作为时钟源。

GUID-20201106-CA0I-3N54-B4T1-3X7VCFH9G8DD-low.gif图 1-1 电压监控器方框图.

如果电源电压降至 3V 以下,Vin 会降至 1V 以下,低于 Vth(low)。如果电源电压升至 3.6V 以上,Vin 会升至 1.2V 以上,高于 Vth(high)。在以上任一情况下,都会触发 ADC 窗口比较器中断。在 ADC 中断服务例程 (ISR) 中,当前时间戳存储在 FRAM 中以记录断电或尖峰事件。通过更改电阻分压器以及固件中的 ADC_THR_HIGH_INIT 和 ADC_THR_LOW_INIT 宏,可根据特定应用要求监控不同的电压电平。

ADC 窗口比较器输入电压 (Vin) 根据分压器中两个电阻的比值设定。即使这一比值保持恒定,选择实际电阻值时也需要考虑一些权衡因素。电阻较低时,通过分压器的电流会增加。若要了解如何选择尺寸优化的电阻,请参阅优化比较器上的电阻分压器

另一种情况是将分压器的接地端连接到 MCU 的某个 GPIO,而不是将电路板接地端直接连接到 R1 电阻。测量 Vin 时设置 GPIO 输出为低电平可代替连接到 R1 电阻的接地端,不测量 Vin 时设置 GPIO 输出为高电平则可降低分压电路的静态功耗。

MSP430FR2433 LaunchPad 开发套件用于测试此解决方案,但它可用于具有适当外设支持和代码迁移的任意 MSP430 MCU。LaunchPad 的 eZ-FET 反向通道 UART 接口可在 9600 波特下连接到 PC 终端程序或 GUI Composer,用于评估和进一步测试。

该固件采用以下 UART 通信协议:

命令 D0 D1 D2 D3

对于 READ 命令,请求将数据字节作为来自 MSP430 MCU 的响应。每个响应的命令字节都包含在内,以便更轻松地识别数据。对于 WRITE 命令,数据字节会发送至待处理的 MSP430 MCU。会首先向时间戳和阈值数据发送 LSB。时间戳数据应解释为 D3D2D1D0h,阈值数据应解释为 D1D0h。

RTC_READ_TIME 命令
00h D0 D1 D2 D3
RTC_WRITE_TIME 命令
01h D0 D1 D2 D3
RTC_READ_THR_HIGH 命令
02h D0 D1 D2 D3
RTC_READ_THR_LOW 命令
03h D0 D1 D2 D3
ADC_READ_THR_HIGH 命令
04h D0 D1
ADC_READ_THR_LOW 命令
05h D0 D1
ADC_WRITE_THR_HIGH 命令
06h D0 D1
ADC_WRITE_THR_LOW 命令
07h D0 D1
= 响应

性能

该解决方案使用 ADC 窗口比较器来监控电源电压,只要检测到断电或尖峰事件,就会在 FRAM 中存储一个时间戳。默认情况下,FRAM 具有写保护功能。FRAM 仅在必须存储时间戳时才不受保护,然后在写入后又再次受到保护。

使用 ADC 窗口比较器可轻松设置不同的电压阈值。与普通 ADC 输入相比,ADC 窗口比较器的主要优势是 CPU 不需要评估输入电压。这些阈值由 ADC 模块自动监控,无需唤醒 CPU,从而降低功耗并增加整体带宽。该解决方案使用外部电阻分压器,因此还可以监控高于 MCU 电源电压的电压。主机可通过发送 ADC_READ_THR_HIGH 和 ADC_READ_THR_LOW 命令从 MSP430 MCU 请求电流阈值。主机还可通过发送 ADC_WRITE_THR_HIGH 和 ADC_WRITE_THR_LOW 命令使用新阈值来更改电流阈值。

器件中的 RTC 计数器模块会每秒更新一次实时时间。主机可通过向 MSP430 MCU 发送 RTC_READ_TIME 命令来请求当前实时时间。如果必须更新实时时间,主机可发送 RTC_WRITE_TIME 命令以及当前实时时间。还可通过分别发送 RTC_READ_THR_HIGH 和 RTC_READ_THR_LOW 命令来请求高阈值和低阈值的最新时间戳。例如,在 MSP430 MCU 断电并重新上电后,主机可发送 RTC_READ_THR_LOW 命令来了解断电的发生时间。此外,只要超过阈值,固件就会自动向主机发送时间戳。

对于独立演示,可使用 PC 终端程序(例如 Docklight、Tera Term 等)作为主机。图 1-2 中显示了一个示例,该示例演示了所有命令和数据,包括读取初始 RTC 时间、设置新时间和读取时间以确认其已更新。注意 RTC_WRITE_TIME 命令已在 09:54:06 发送给 MSP430 MCU 并设为 78563412h。1 秒后(即 09:54:07)发送了 RTC_READ_TIME 命令,回复显示当前时间戳值递增至 78563413h,增幅为 1 秒。请注意,不受支持的命令 95h 也被发送,但该命令已被 MSP430 MCU 正确忽略。

GUID-20201106-CA0I-SBKV-ZPFD-4H3MJD4KSKLB-low.png图 1-2 带时间戳的电压监控器的独立演示.

对于 GUI 演示,GUI 可用作主机,如图 1-3 所示。可通过点击第一部分中的“CURRENT TIMESTAMP”按钮来读取 RTC。可通过在文本框中输入 8 位 POSIX 时间戳并按 Enter 来设置新时间戳。通过移动滑块或在文本框中输入新值,然后按 Enter,可在第二部分中调整 ADC 窗口比较器的高低阈值。此部分中的按钮还可用于从 MSP430 MCU 请求阈值。GUI 会自动防止阈值重叠或超过最大值。点击第三部分中的“HIGH THRESHOLD”和“LOW THRESHOLD”按钮(例如,在电源故障后),则可从 MSP430 MCU 请求最新的时间戳。否则,只要输入电压超过某个阈值,系统就会自动更新文本框中的时间戳。请注意,通过删除 CCS 工程中编译器设置中的 __ENABLE_GUI__ 符号,重新编译代码并对器件进行编程,可在独立模式下使用 GUI 演示代码。

GUID-20201106-CA0I-WCBF-FTJV-3533L18HP9T9-low.png图 1-3 带时间戳的电压监控器的 GUI 演示.

开始使用

  1. 观看培训视频“使用内部管理型 MCU、带时间戳的电压监控器”,了解如何使用 GUI 设置时间戳然后确定电源发生故障的时间。
  2. 订购 MSP430FR2433 LaunchPad 开发套件,评估带时间戳的电压监控器示例 GUI 和代码。
  3. 下载并测试带时间戳的电压监控器示例 GUI,轻松配置和查看时间戳和阈值。
  4. 使用 MSP430FR2433 LaunchPad 开发套件评估带时间戳的电压监控器示例代码
表 1-1 器件推荐
器件型号 主要特性
MSP430FR2433 16KB FRAM,4KB SRAM,10 位 ADC,UART/SPI/I2C,计时器
MSP430FR2422 8KB FRAM,2KB SRAM,10 位 ADC,UART/SPI/I2C,计时器