ZHCAAC4 November   2020 MSP430FR2422 , MSP430FR2433

 

  1.   应用简报

应用简报

一种常见的 MSP430 应用是使用来自计时器模块的脉宽调制 (PWM) 输出在 RGB LED 中混合颜色。RGB LED 是一种将红色、绿色和蓝色 LED 整合在一个封装内的 LED,它们共享一个共阳极或共阴极。RGB LED 通常用于多种不同的应用,包括舞台照明、室内照明、户外照明和家居装饰。每一个 LED 的电流通过使用限流电阻器和具有可变占空比的 PWM 波形来控制。通过单独控制 RGB LED 内红色、绿色和蓝色 LED 的 PWM 占空比,可观察到各种可见光谱范围的色调。通常,RGB 颜色的数值范围为 0-255(十进制)。通用异步接收器/发送器 (UART) 等协议可通过以下方法向 MCU 传达将哪种颜色输出到 RGB LED:发送包含所有颜色值的 24 位十六进制值或分别向每种颜色发送字节值。此外,中断功能可用于通过 UART 更新 PWM 占空比,同时使 MCU 保持在低功耗状态。

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

实现

此实现方案使用 UART 向红色、绿色和蓝色 LED 发送 8 位值(0-255 十进制)。固件采用这些值,将其转换为成比例的 PWM 占空比波形,并将信号输出到 LED 各自的 RGB 引脚。开发出了一种图形用户界面 (GUI) 以使用滑块、数字输入或色轮调色板单独或同时选择 RGB 色调。

Timer_A0 和 Timer_A1 配置为在 P1.2(红色)、P1.4(绿色)和 P1.5(蓝色)上输出变化的占空比 PWM 波形。通过为该引脚选择辅助 I/O 功能,将 P1.2 与 TA0.2 相连,而 TA0.2 对应于 Timer_A0 及其比较/捕捉寄存器 0 和 2。因此,对 Timer_A0 的比较/捕捉寄存器进行配置,以便通过调整 TA0CCR2 来调整占空比,占空比等于 TA0CCR2/TA0CCR0。使用 Timer_A1 及其比较/捕捉寄存器 0、1 和 2 配置 P1.4 (TA1.2) 和 P1.5 (TA1.1) 的过程类似。

图 1-1 所示为此实现方案的方框图。

GUID-20201026-CA0I-4K7T-NVGJ-LKJNQD7X0QS4-low.png图 1-1 实现概述

MSP430FR2433 LaunchPad™ 开发套件与此示例工程搭配使用,但它可用于具有适当代码迁移的任意 MSP430 微控制器。LaunchPad 套件 eZ-FET 上的反向通道 UART 接口用于与 GUI 进行 UART 通信,但是,UART 引脚必须连接到 P2.5 和 P2.6 而不是其预期配置(P1.5 和 P1.4),因为这些引脚分别用于 TA1.1 和 TA1.2。为此,请移除 RXD 和 TXD 跳线,并使用母对母跳线将 RXD 和 TXD(在 eZ-FET 调试探针侧)的顶部引脚分别连接到 P2.5 和 P2.6。这些引脚对应于 UCA1(eUSCI_A 模块的实例 1)而非 UCA0(用于其它内部管理示例),因此已更新固件以正确配置 UART。

COM 通道编号信息可在控制面板下的 PC 器件管理中找到。图 1-2 所示为 MSP430FR2433 LaunchPad 套件,包括 eZ-FET、连接 P2.5 (RXD) 和 P2.6 (TXD) 的 UART,以及 P1.2 (TA0.2)、P1.4 (TA1.2) 和 P1.5 (TA1.1) 上的 RGB PWM 输出。在此示例中,使用了带限流串联电阻的共阴极 RGB LED,如右侧所示。使用母对母跳线连接串联电阻和 RGB,如原理图中所示,并将共阴极连接到 Launchpad 的 GND 引脚。如有必要,使用试验电路板会有所帮助。确保根据单个 LED 的电流额定值和正向压降选择电阻值。

GUID-20201026-CA0I-1D0C-TF6B-ZM93C4XVNB2K-low.png图 1-2 MSP430FR2433 LaunchPad 和连接

图 1-3 所示,GUI 用于设置 RGB 颜色值以使用各个颜色滑块或输入框输出到 LED,或同时使用可点击的色轮调色板输出到 LED。若要使用滑块,只需将滑块拖动到颜色值 0-255(十进制)之间的所需数字处即可。若要使用输入框,请键入颜色值 0-255(十进制)之间的所需数字即可。若要使用色轮,请点击标记或将标记拖动到所需的颜色处。这会将该颜色实时输出到 RGB LED。

eUSCI_A1 外设在 UART 模式下使用,以允许在 P2.5/UCA1RXD 上接收命令并在 P2.6/UCA1TXD 上传输命令。LaunchPad 内部的 eZ-FET 用于评估。波特率必须为 9600,并且只能有一个停止位且无奇偶校验。如果在软件中启用了 GUI,PC 会通过 UART 向 MCU 发送一个字节的数据,其中包含十六进制的单个颜色值。如果使用色轮,PC 将发送 3 个字节的数据,其中包含十六进制的 RGB 值。

如果不使用 GUI,那么 MCU 将在从 PC 传输每 3 个字节的数据后输出 RGB 混合颜色。例如,如果 PC 发送数据 0xFF、0x00 和 0x00,那么 RGB LED 将输出红色,因为第一个字节是红色值,第二个字节是绿色值,第三个字节是蓝色值。

GUID-20201026-CA0I-H867-N2GC-TSW35622PGRD-low.png图 1-3 RGB LED 颜色混合 GUI.

性能

可按照“实现”一节中所述运行演示的操作,该部分介绍了如何使用 UART 配置 RGB LED 内红色、绿色和蓝色 LED 的 PWM 占空比。P1.2 (TA0.2)、P1.4 (TA1.2) 和 P1.5 (TA1.1) 用于向 RGB LED 输出可控 PWM 波形,从而创建用户所需的任何色调。图 1-3 展示了带可选颜色滑块、输入框和色轮的 GUI 界面,作为供用户确定要混合和输出的红色、绿色和蓝色强度的选项。当颜色滑块、输入框或色轮值发生更改时,将自动更新另一个混合颜色的相应值,并且 RGB LED 将立即输出该混合颜色。

开始使用

  1. 观看培训视频“带有内部管理 MCU 的 UART RGB 颜色混合”,了解如何使用 GUI 在 RGB LED 中混合颜色。
  2. 订购 MSP430FR2433 LaunchPad 套件评估 UART RGB 颜色混合示例代码。
  3. 下载并使用 UART RGB 颜色混合示例 GUI 测试此示例,以便在 RGB LED 中混合任意红色、绿色和蓝色组合。
  4. 评估 MSP430FR2433 LaunchPad 套件的 UART RGB 颜色混合示例代码

器件推荐

器件型号主要特性
MSP430FR243316KB FRAM,4KB SRAM,10 位 ADC,UART/SPI/I2C,计时器
MSP430FR24228KB FRAM,2KB SRAM,10 位 ADC,UART/SPI/I2C,计时器