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.

[参考译文] DS90UB949-Q1:DS90UB949-Q1:从连接至解串器 DS90UB926的远程从器件中读取和写入的脚本

Guru**** 2577385 points
Other Parts Discussed in Thread: ALP

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1227659/ds90ub949-q1-ds90ub949-q1-script-to-read-and-write-from-a-remote-slave-connected-to-deserializer-ds90ub926

器件型号:DS90UB949-Q1
主题中讨论的其他器件:ALP.

大家好、我在    其中一个项目中使用了 DS90UB949串行器- EVM 和 DS90UB926解串器。

我正在尝试通过 ALP 脚本与连接到解串器 DS90UB926的远程从器件(MCU)进行通信。

我的串行器 ID 为0x18、解串器 ID 为0x5A、远程从器件 MCU ID 为0x6C。

我使用 ALP 应用程序脚本、并将串行器寄存器配置为

board.WriteI2C (0x18、0x03、0xDA)
board.WriteI2C (0x18、0x07、0x6C)
board.WriteI2C (0x18、0x08、0x6C)  
尝试从 解串器读取时、我得到了正确的响应
VAL = board.ReadI2C (0x5A、0x00、1)
打印十六进制(val)
结果:0x5A
但当我尝试从 MCU 读取时、我需要获得"0x01"作为响应、但在逻辑分析仪中获得 NACK 信号、并输出为"0"。
VAL = board.ReadI2C (0x36、0x10、1)
打印十六进制(val)
结果:0
 
我已尝试使用 I2CAnalyzer 工具单独连接 MCU、该工具工作正常。  
我需要知道、在访问从 MCU 之前、我们是否必须在串行器或解串器侧配置任何其他寄存器。
如果可能、请证明 ALP 脚本代码。
 
谢谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    您的寄存器设置看起来是正确的。

    您是否有可以与 DES 共享故障案例和成功案例与 MCU 共享的逻辑分析仪捕获?  

    此致、  

    Logan

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

    这是我们为  ALP 脚本中的 board.ReadI2C (0x36、0x10、1)命令获得的输出、 我可以 从该输出中暗示、从 MCU 保持着 SCL 线。 我的理解是正确的。  我在这里需要做什么?

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

    尊敬的 Sundar:  

    是的、一旦代理主器件(DES)提供第8个 SCL、从器件似乎卡在时钟延展模式下。 第9个 SCL 来自从器件。

    此致、  

    Logan