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.

[参考译文] BQ79600-Q1:SPI_READY 从不变为低电平

Guru**** 2474530 points
Other Parts Discussed in Thread: BQ79616

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1509668/bq79600-q1-spi_ready-never-goes-low

器件型号:BQ79600-Q1
主题中讨论的其他器件:BQ79616

工具/软件:

您好!  

我们目前正在尝试让我们的系统启动并运行、但我们在上一篇文章中得到了 ghosted。 任何帮助都将非常感谢。 看起来这个问题是由某人脱机解决的,会喜欢这样做的机会!

e2e.ti.com/.../bq79600-q1-bq79600-spi_ready-never-triggers-low

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

    您好、Melana:

    1.向 BQ79600发送唤醒 ping 后、是否在等待3.5ms 的启动时间?

    这样 BQ79600就可以完全唤醒并接受微控制器发出的命令。

    2.如果 SPI 就绪没有拉回,那么它就不喜欢从微控制器或菊花链接收什么。 要进行故障排除、您可以从 BQ79600到 BQ79616拔下菊花链电缆。 然后可以向 BQ79600发送单器件读取命令。 BQ79600是否响应 MISO? 如果 BQ79600响应单个器件读取、则问题发生在您通过600-616菊花链发送 VIF 的期间。 如果 BQ79600没有响应、则说明 MCU 和 BQ79600之间存在问题。  

    如果问题是由600-616菊花链导致的、您是否在菊花链仍在向 BQ79600发送回数据的过程中发送时钟周期? BQ79600可能会将其解释为新数据、并将 SPI_RDY 保持为低电平、以指示出现了错误。  

    如果问题是 MCU-600导致的、您能给我发送您的 Saleae 文件、以便我更仔细地查看您发送的波形吗?

    谢谢。此致、

    David Ray

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

    以下是可用于读取故障摘要的单器件读取命令:

    80 00 21 00 75 D4

    编辑:只有同步菊花链通信时才需要虚拟读取/写入命令。 因此、该测试可以是:

    1.发送唤醒 ping

    2.等待3.5ms

    3.发送单器件读取命令。

    然后、您可以确定600是否响应

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

    你好! 这似乎是我的 MCU 与 我尝试附加 Saleae 文件的600之间的问题、它应该位于 ZIP 文件中。 我包含了所有设置 SPI 的方法、您可以看到。 有趣的是、我可以通过桥接器件使用唤醒消息唤醒616堆栈器件、所以通信似乎正常工作? 但我还是遇到了试图阅读的问题。

    e2e.ti.com/.../Waveform-Help-5.5.docx

    e2e.ti.com/.../5.5.zip

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

    嗨、Melana、

    问题在于、当 MCU 尝试读取数据时、MOSI 需要为高电平:

    如果在 MCU 尝试读取数据时 MOSI 为0xFF 之外的任何内容、BQ79600会将其解释为 MCU 发送数据。 这将触发 RXDATA_UNEXP:

    SPI_RDY 将保持低电平、直到 MCU 发送通信清除。

    如果对 BQ796XX 器件有任何其他问题、疑虑或咨询、请告知我。

    此致、

    David Ray

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

    嗨、大卫!! 这完全做到了它看起来像的伎俩! 我得到了这个是为了响应发送该帧。 您能告诉我哪些字节是已发送数据、哪些字节是自动发送的协议字节? 据我所知、每次传输都会有4个协议字节或类似的内容、表明传输的来源等、但在文档中找不到。 我想确保在解析此主题之前正确地对该数据进行心理解码、并且所有内容都符合预期!

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

    很棒的 Melana!

    您可以在 BQ79600数据表的图7-8中找到响应帧的确切定义。 以下是接收内容的说明:

    初始字节:rx_data3[0]= 0x00、这意味着这绝对是一个响应帧、并且只有1个寄存器被读取。

    DEV 地址字节:rx_data3[1]= 0x00、这意味着此响应来自器件0x00 (基底器件、即 BQ79600)。 如果读数为0x01、这将是堆栈器件(BQ79616)的响应

    寄存器地址字节:rx_data3[2]& rx_data3[3]= 0x21 0x00、这意味着您正在从0x2100开始数据请求。 如果 MCU 将其有效载荷字节(单器件命令帧中的第5个字节)设置为0x01而不是0x00、您将分别接收0x2100和0x2101的数据。

    数据字节:rx_data3[4]= 0x02。 在0x2100寄存器中、0x02与系统故障相关。 这是正常的、因为设备刚刚唤醒。 存在一个数字复位故障、应清除该故障才能使此故障消失。

    CRC 字节:rx_data3[5]和 rx_data3[6]包含计算得出的高和低 CRC 字节。

    希望这对您有所帮助!

    此致、

    David Ray

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

    太棒了! 感谢您的澄清,并感谢您的超级迅速和彻底的回答!

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

    嗨、大卫!
             BQ79600芯片和 MCU 之间的 SPI 通信波形如下所示。 该波形是否正常? 在读取操作期间、MOSI 必须在整个数据帧周期内保持高电平、或者仅在字节读取周期期间保持高电平是否足够?

    此致、

    Hu Liao


              

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

    尊敬的 Hu:

    MOSI 仅在读取周期内处于高电平就足够了。

    此致、

    David Ray