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.

[参考译文] BQ76942:SPI 操作

Guru**** 2553720 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1059637/bq76942-spi-operation

器件型号:BQ76942

您好、Matt、

看来、SPI 操作非常复杂。 我需要你的帮助。

对于写入操作、我只需要输入3个字节、即 regaddress、write_byte 和 CRC、对吧?

对于读取操作、我应该先输入虚拟写入、然后读取寄存器吗? 我已经完成了测试、但失败了。 输出数据为 0xFFFFFF00。

例如、如果我想读取 FET 状态、我发送0x7F 0xFF、CRC 首先。 然后我发送0x7F、读取数据和 CRC。 对吧?

非常感谢你的帮助。

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

    您好 Sean、

    当器件返回0xFFFFFF00时、表示数据未就绪。 需要有足够的等待时间。 《BQ769x2软件开发指南》在 SPI 部分提供了一些应使用的延迟说明、但产品页面的软件部分也提供了示例微控制器代码。 您可能需要查看代码示例、看看它是否能更清楚地说明问题。

    代码示例: https://www.ti.com/lit/zip/sluc701

    代码示例的视频演练: https://www.youtube.com/watch?v=RfyzTKTLQCM 

    此致、

    Matt

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

    您好、Matt、

    感谢你的答复。

    我描述的读取流程是正确的吗?

    如果我想读出寄存器、应该执行多少个操作周期或事务?

    根据我的理解、应该有两个。 首先、我应该发送一个带有虚拟字节的读取操作。 然后、我应该再次发送读取操作以获取芯片的输出。 对吧?

    感谢你的善意帮助。

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

    您好 Sean、

    没错。 如果使用子命令(写入0x3E、从0x40回读)进行读取、请确保在读取前有足够的延迟。

    此致、

    Matt