This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] BQ76952EVM:bq76952 SPI

Guru**** 2769455 points

Other Parts Discussed in Thread: BQ76952, BQSTUDIO

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1012381/bq76952evm-bq76952-spi

器件型号:BQ76952EVM
主题中讨论的其他器件:BQ76952BQSTUDIO

大家好、

我尝试通过 SPI 从 EVM 板与 BQ76952进行通信、但尚未成功。

通过 bq studio、我激活了所有必要的寄存器、如下所述: REG12 = 0x0d、REG0 = 1、通信类型= 0x0F、SPI 配置= 0x60 (在不对器件进行写入的情况下更改条目、然后再次加载器件配置、确认 BQ 具有正确的配置...)

然后、我断开 J19和 J16上的跳线以断开板载 MCU。

在 J15上、我放置一根跳线来激活 MISO 线路上的3.3V 上拉电阻。

我来自外部 MCU 的程序在 MOSI 线路0xE6和0x82上写入两个字节、我也会与一个振荡器进行交叉校验。 (正确的 CS 线路变为活动低电平、1MHz 的正确 CLK 和正确的数据)

但不幸的是、BQ 不做任何事情。 MISO 线路保持高电平、甚至不返回0xff。

您有什么想法吗? 我忘记了配置或激活的选项吗?

感谢您的支持!

此致、

Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    我建议首先使用 EVM 在 SPI 模式下进行通信、以确保 SPI 通信成功。 SPI Config = 0x60时、MISO 线路上不需要上拉电阻器。 它将根据您的 REG12设置驱动0V 和3.3V。

    在 EVM 上设置 SPI 的步骤:

    • 设置数据存储器中的寄存器(REG12 = 0x0d、REG0 = 1、通信类型= 0x0F、SPI 配置= 0x60)。 测量电路板上的 REG1引脚以验证是否已设置。
    • 发送 swap_COMM_MODE()命令。 可通过单击命令窗口中的 SWAP_COMM_MODE 按钮来发送此消息。
    • 现在、器件应该处于 SPI 模式、并且不应该与 BQStudio 通信。 单击"Registers"屏幕上的"Refresh"按钮进行验证。
    • 将 J13和 J16跳线设置到 SPI 位置。 填充 J10和 J19跳线(确保 J19设置为 SPI 位置)。
    • 重新启动 BQStudio。 它现在应该在 SPI 模式下与器件通信。

    EVM 在 SPI 模式下工作后、您可以根据需要将设置写入 OTP。 这将更改器件的默认模式。 EVM 用户指南中列出了写入 OTP 的指令。 这也是连接逻辑分析仪了解 SPI 格式在板载 MCU 和器件之间的情况的好时机。

    现在、您可以移除 J13、J16、J10和 J19跳线并连接您的 MCU。 我建议仔细查看 BQ76952软件开发指南中的示例。 我还在下面附加了一个有效的 SPI 示例、供您使用基于 ARM 的 MCU 参考。

    e2e.ti.com/.../7180.main.c

    我还应该注意的一点是、BQ7695204器件型号已预先配置了这些精确设置、但您可能已经知道这一点。  

    此致、

    Matt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Matt、

    首先、感谢您的快速回复和详细帮助、这对我有很大帮助。

    但遗憾的是、我没有使 SPI 通信与我的外部 MCU 协同工作。 SPI 可与板载 MCU 和 bq-studio 配合使用。

    我将 SPI 例程从您附加的代码文件中取出。

    但是、无论我在 MOSI 上发送何种命令、MISO 线路始终保持高电平。  

    这是我一直得到的结果。

    根据软件开发指南中的说明、器件至少应通过 MISO 发送某些内容。

    我可以排除外部 MCU 侧面的硬件问题、因为即使我没有连接 MISO、而是仅使用示波器进行测量、MISO 也不会发生任何情况。

    也许您有另一个想法、这里可能会有什么问题?

    此致、

    Martin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:

    如从软件开发指南中的 CELL1读取示例所示、第一对夫妇的读数应为0xFFFF。 但第三次应发送电池电压数据。 也许您可以使用 BQStudio 捕获电池1电压读取的时序(关闭仪表板并在 "Command Sequence"窗口中从0x14读取)、以查看时序与微控制器之间是否存在任何主要差异。  

    连接 MCU 时、我假设 EVM 仍通电、并且未发送 RESET 命令(这会将器件寄存器重置为默认值)?

    此致、

    Matt