ZHCAC86 March   2022 MSP430FR2422 , MSP430FR2433

 

  1. 1应用简报

应用简报

引言

本设计介绍如何使用 MSP430FR2433 微控制器 (MCU) 作为 I2C 控制器,与 BQ25890EVM-664 上的高度集成式电池充电管理和系统电源路径管理器件 BQ25890 进行 I2C 通信。BQ25890 使用与 I2C 兼容的接口,可实现灵活的充电参数编程和器件状态报告。I2C 通信速度设置为 100kHz。对于需要与 MSP430 MCU 进行 I2C 通信的器件,此处所述的功能非常有用。

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

I2C 通信模式

在 I2C 模式下,MSP430FR2433 eUSCI_B 模块可以在主机发送器、主机接收器、从发送器或从接收器模式下运行。在此处所描述的情况下,MSP430FR2433 在以下模式下用作主机:单字节读取、单字节写入、多字节读取和多字节写入。

I2C 通信逻辑因模式而异。有关基本通信协议的详细信息,请参阅 BQ25890 产品文件夹,其中介绍了事务的 START (S)STOP (P) 条件、字节格式确认 (ACK)非确认 (NACK)从器件地址数据方向位

在单次写入模式下(请参阅图 1-1),事务以 START (S) 开始。在 START 之后,发送从器件地地址。该地址为 7 位长,后跟第八位作为数据方向位(位 R/W)。零表示传输 (WRITE),一表示数据请求 (READ)。然后发送一个确认位,该位允许接收器向发送器发送一个字节已成功接收且可发送另一个字节的信号。每个字节后面必须有一个确认位。在确认位之后,将发送寄存器地址以指定主机将写入的 BQ25890 中的起始寄存器地址。再次发送确认位。最后,将 SDA 线上的一个字节数据写入 BQ25890。在 STOP 条件之后,总线是空闲的。

GUID-20220113-SS0I-GSRG-4TXX-ZFF1CCBCD3QD-low.svg图 1 单路写入模式

图 1-2 显示了单路读取模式。除了基本读取和写入,还对 I2C 进行多路复用,并且传输过程有两个 START (S) 信号。通常,在第一次传输中,主机在通过从器件地址查找从器件之后发送数据,指示从器件内部的寄存器或存储器地址;在第二次传输中,读取地址的内容。换句话说,第一个通信是将地址写入主机要访问的从机,第二个通信是读取的实际内容。

GUID-20220113-SS0I-6DNC-ZPR7-1ZKTT1BJDZPC-low.svg图 2 单路读取模式

对于多路写入模式(请参阅图 1-3)和多路读取模式(请参阅图 1-4),每次传输中要传输的字节数不受限制。充电器器件支持对 REG00(寄存器地址 0x00)到 REG14(寄存器地址 0x14)进行多路读取和多路写入,REG0C 除外。REG0C 是一个故障寄存器。REG0C 会存储上次读取的故障信息,直到主机发出新的读取。当长字节数据读取或写入完成时,会生成停止信号。

GUID-20220113-SS0I-FMG8-MRL4-22KZJBHS9MMJ-low.svg图 3 多路写入模式
GUID-20220113-SS0I-TM09-VWK9-Z2F6L8JKFJ0L-low.svg图 4 多路读取模式

实现

本节介绍 BQ25890EVM-664 上 BQ25890 的工作原理,以帮助解释此特定实现。

BQ25890 是一款适用于单节锂离子电池和锂聚合物电池的高度集成型 5A 开关模式电池充电管理和系统电源路径管理器件。BQ25890 支持高输入电压快速充电。其低阻抗电源路径对开关模式运行效率进行了优化、缩短了电池充电时间并延长了放电阶段的电池使用寿命。如需了解更多信息,请参阅 BQ25890 产品文件夹表 1-1 列出了 BQ25890 的 I2C 地址。

表 1 I2C 地址
器件 7 位地址 十六进制(7 位) 十进制(7 位)
BQ25890 01101010 0x6A 106

表 1-2 列出了 BQ25890 与 MSP430 MCU 的引脚连接。

表 2 I2C 引脚分配
引脚功能 BQ25890EVM-664 引脚 MSP-EXP430FR2433 引脚
I2C SCL J8.2 P1.3
I2C SDA J8.3 P1.2
PGND 引脚 J8.1 GND

此应用中使用了图 1-5 中的硬件连接。首先将 MSP430FR2433 LaunchPad 套件连接到 BQ25890EVM-664。通过检查两个板上的 SCL 和 SDA 引脚排列,确保 BQ25890EVM-664 处于正确的方向。其次,连接 BQ25890EVM-664 上的相关接头,如 JP1、JP2、JP3、...、JP10。有关详细说明,请参阅 BQ25890 产品文件夹。对于 I2C 通信,JP4 必须设置为高电平,因为 SDA 和 SCL 引脚是开漏,必须通过电流源或上拉电阻器连接到正电源电压。

GUID-20220113-SS0I-K1D5-R7JV-CTXQMXWD2V2H-low.jpg图 5 硬件连接

在此应用中,执行器件复位后,MSP430 MCU 从运行频率配置为 8MHz 的 DCO 提供子系统主时钟 (SMCLK)。然后,器件执行外设初始化。稍后,MSP430 MCU 会继续与 BQ25890 进行数据的发送或接收。由主机选择读取或写入模式,还可以配置从器件地址、从器件寄存器和字节长度。

为了帮助用户了解演示,GUI 会显示结果。图 1-6 所示为此实现方案的系统图。MSP430FR2433 继续与 BQ25890 进行数据处理,并通过反向通道 UART 将数据更新到 GUI。

GUID-20220113-SS0I-WN3S-ZQV4-XPZMXSQ0GJFB-low.svg图 6 系统图

MSP430FR2433 LaunchPad™ 开发套件应与此示例工程结合使用。eZ-FET 上的反向通道 UART 接口用于与 GUI 进行 UART 通信。选择 9600 的波特率,并且只能有一个停止位且无奇偶校验。COM 通道编号信息可在控制面板下的 PC 器件管理中找到。

性能

GUI 用于输入数据并显示来自主机控制器 MSP430 MCU 的信息反馈。图 1-7 所示为 GUI 概况。GUI 顶部有一个文本框用于输入 I2C 从器件地址。例如,BQ25890 的从器件地址是 0x6A。“I2C Slave Address”下方是两个框,分别显示“Byte Read”和“Byte Write”两种不同的模式。

在“Byte Read”模式下,当将 GUI 用作主机时,需要输入两个文本框,包括“Slave Start Register”和“Read Bytes Number”,这两个文本框用于设置启动寄存器和 MSP430 MCU 读取的字节数。如果读取字节值为 1,则表示单路读取模式。任何其他值表示多路读取模式,字节数上限为 10。点击“Read”按钮时,GUI 会向 MSP430 MCU 发送命令以从 BQ25890 读取数据,并且 GUI 会在相关文本框中显示数据。

在“Byte Write”模式下,有三个文本框可供输入,包括“Slave Start Register”、“Write Bytes Number”和“Write Bytes”。如果写入字节编号为 1,则表示单路写入模式。任何其他值表示多路写入模式。接下来,在十个小框中输入 MSP430 MCU 应写入 BQ25890 的字节。它们从左到右以及从第一行到第二行排序。点击“Write”按钮时,GUI 会向 MSP430 MCU 发送写入 BQ25890 的命令,并且 GUI 会在相关文本框中按顺序显示数据。数据必须以十进制格式输入,在“Byte Read”模式和“Byte Write”模式下均以十六进制格式显示。

GUID-20220113-SS0I-D4XS-K0P5-H9ZN7SVKD1H2-low.png图 7 I2C 通信 GUI

图 1-8 中显示了代码流程图,以便了解软件。

GUID-20220208-SS0I-R8WL-DXMJ-LTC23BKF8SL7-low.png图 8 I2C 通信工作流程

开始使用

1.观看我们的培训视频“MSP I2C 主机与电池充电器 IC”,我们将在其中介绍如何使用 GUI 来显示 I2C 数据。

2.订购 MSP430FR2433 LaunchPad 套件BQ25890EVM-664 进行评估。

3.下载并使用 MSP I2C 主机与电池充电器 IC 示例 GUI 测试此示例。

4.评估 MSP430FR2433 LaunchPad 套件的 MSP I2C 主机与电池充电器 IC 示例代码。

器件推荐

该示例中使用的器件属于 MSP430 通用产品系列。此示例可与表 1-3 中的器件搭配使用,只需更改很少的代码。

表 3 MSP430FR243x 系列
器件型号 主要特性
MSP430FR2433 16KB FRAM,4KB SRAM,10 位 ADC,UART/SPI/I2C,计时器
MSP430FR2422 8KB FRAM,2KB SRAM,10 位 ADC,UART/SPI/I2C,计时器