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.

[参考译文] BQ34Z100:通过 UART 使用 HDQ 接口进行 BQ34Z100控制命令通信

Guru**** 2418200 points
Other Parts Discussed in Thread: BQ34Z100, EV2400, BQSTUDIO, BQ34Z100-G1

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/636594/bq34z100-bq34z100-control-command-communication-using-hdq-interface-over-uart

器件型号:BQ34Z100
主题中讨论的其他器件: EV2400BQSTUDIO

通过 HDQ 接口进行 BQ34Z100控制命令通信  

我们使用 UART 上的 HDQ 接口与电量监测计通信。 查询是 w.r.t 到如何检索 化学 ID:0x0008、FW_VERSION: 0x0002 等?

我们使用以下协议来检索标准命令(如 Voltage (0x08/0x09) AverageCurrent (0x0A/0x0B)),它适用于我们。

1 .read 高字节(H0)

2.读取低字节(L0)

3.再次读取高字节(H1)

4、如果 H1 = H0、则有效的16位结果为 H0:L0 5。 否则、再次读取低字节(L1)、且有效的16位结果为 H1:L1。

这个过程足以保证16位字被正确读取

据我所知,控制命令需要发送命令和子命令。 您能通过提供如上所述的协议流帮助我们使 Control 命令正常工作 吗? 请记住,我们使用 HDQ 接口。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mukesh、
    请参阅随附应用手册的示例3。 即使是为 i2c 编写的、该过程也应大致相同。 您是否有 EVM 和 EV2300来测试这些序列?

    www.ti.com/.../slua790.pdf

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

    您好 Ahiakwo、

    感谢您的响应。 它有助于理解协议、但我们仍需要大量帮助才能将其映射到 HDQ 协议方式。  

    正如我所说的,我们可以读取电压和电流设置等。 为此、我们使用 UART 上的读取事务、如下所示

    我们将0x9与 R/W 的最后一位一起放置。 我们将读取设置为零。 器件使用来自位置0x9的数据进行响应  

    从0x8读取也是如此。 总之,它使协议读取高字节(H0)和读取低字节(L0)。 这符合 http://www.ti.com/lit/an/slua408a/slua408a.pdf 规范

    现在 w.r.t 要控制命令和子命令 ,我们是否应该将控制命令视为写入命令 ,子命令作为数据? 请查看我们的以下理解是否正确? 。 这用于固件版本命令0x0002

    1) 1)写入0x00 0x02

    2) 2)写入0x1 0x00

    一些延迟

    按照协议读取0x0100 控制对

    3) 3)读取高字节0x1

    4) 4)读取低字节0x0

    合并结果?  

    我们尝试了上述某些序列,并且始终使用读取周期返回一些常量值,如0x19。  

    此处密封的非密封访问是否有任何限制?

    提前感谢您的帮助  

    Mukesh.k

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

    您好 Ahiakwo、

    感谢有人能提供帮助。

    Mukesh.k  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mukesh
    我们将获得一个电路板、并在 HDQ 中测试命令、然后返回给您。
    谢谢
    Onyx
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Onyx、
    是否有机会尝试 HDQ 命令序列?

    Mukesh.k
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mukesh、
    很抱歉耽误你的时间、我不是在做测试。 我的同事今天将对此进行测试、并希望今天能做出回应。

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

    您好、Mukesh、

    我无法在实验中重复您的问题。 请使用 BqStudio 和 EV2300/EV2400尝试该序列、以尝试将问题隔离给 UART 编程器。

    请注意:bqStudio 不会在 HDQ 模式下检测到器件。 手动选择 bq34z100-G1。

    在 bqStudio 中、禁用自动刷新。 "Registers"屏幕是在 HDQ 模式下唯一更新的屏幕。

    如果您能够使用 bqStudio 通过 HDQ 读取和修改寄存器、请告诉我。

    此致、
    Bryan Kahler

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

    您好、Bryan、

    感谢您的响应。

    我的问题是 HDQ 控制命令读取序列 AM 尝试是否正确? 读取命令和数据的正确顺序应该是什么 ? 这是正确的顺序  

    我的查询中的数据  

    ####

    现在 w.r.t 要控制命令和子命令 ,我们是否应该将控制 命令视为写入命令 ,子命令作为数据? 请查看我们的以下理解是否正确? 。 这用于固件版本命令0x0002

    1) 1)写入0x00 0x02

    2) 2)写入0x1 0x00

    一些延迟

    按照协议读取0x0100 控制对

    3) 3)读取高字节0x1

    4) 4)读取低字节0x0

    合并结果?  

    ####

    Mukesh.k

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

    您好、Bryan、

    如果您可以对上述查询进行评论、请不胜感激  

    Mukesh.k

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

    您好、Mukesh、

    使用 HDQ、您可以输入如下所示的命令。  请注意、由于字节字节序的原因、您需要翻转字节。

    读取 ChemID (0x0008)

    写入0x 08 00

    读取(2字节)…… 您将收到0x 07 01、即0x0107 (十进制263)

    对固件版本(0x0002)遵循相同的过程

    此致、
    Bryan Kahler