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.

[参考译文] DS90UB921-Q1EVM:ALP 脚本 I2C 读取事务

Guru**** 2581345 points
Other Parts Discussed in Thread: ALP, USB2ANY

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1010370/ds90ub921-q1evm-alp-scripting-i2c-read-transactions

器件型号:DS90UB921-Q1EVM
主题中讨论的其他器件:ALPUSB2ANY

我没有看到关于这一主题的更近期的问题/答案。

是否可以使用 ALP 脚本选项卡中的"board.ReadI2C()"执行多读事务? 无法对远程 I2C 总线上的 I2C 器件进行全面的故障排除、除非一个事务中可以读回8位以上的数据。

谢谢、

Mike

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

    Mike、

    ALP 支持多字节读/写事务

    请检查

    https://e2e.ti.com/support/interface/f/138/p/797643/2951039

    谢谢、

    Vishy

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

    您好、Vishy、

    这似乎对我不起作用。 我正在使用命令 board.WriteI2C (0x52、0x01、[0x1A、0x05])。 我在 I2C 总线上看到的输出仅为我提供前两个参数:0x01、然后是0x1A。 我看不到第三个参数0x05。

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

    Michael、

    确保已从 Web 安装了 ALP 框架 v1.57.0010以及最新的 ALP-PROFIT-UPDATE (v10)。 请检查您是否具有以下最新版本

    谢谢、

    Vishy

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

    是的、我安装了此版本以及您提到的配置文件更新。

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

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

    Michael、

    感谢您的检查。 您能否 检查是否收到任何 I2C 错误代码? 请参阅中的文档

    C:\Program Files (x86)\Texas Instruments\Analog LaunchPAD v1.57.0010\ALP_Documents\ALP_I2C_ErroCodes

    您必须检查变量'board.RC'。

    您能否解释一下访问远程设备的设置是什么样的? 如果您要通过925或921到远程设备、您是否初始化了从设备 ID 和别名? 另请查看此应用手册(如果您尚未阅读)

    https://www.ti.com/lit/pdf/snla131

    https://www.ti.com/lit/pdf/snla222

    谢谢、

    Vishy

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

    我不确定您是否能看到上面的图片、它的质量似乎比我拍摄的要低得多。  

    Board.RC 报告为"1"。 我已将 PC 插入带有926 (本地器件)的评估板、并且链接到921 (远程器件)。 我已经为远程侧 I2C 总线上的其他两个器件设置了 SlaveID 和从别名 ID。 本地器件地址为0x58。 远程设备地址为0x18。 远程总线上的另外两个器件地址为0x46和0x52。 出于测试目的、我已将 SlaveID 和 Slave Alias 设置为每个器件的相同值。

    我将使用示波器查看 I2C 远程总线上的波形。 当我运行单字节命令时、总线上的输出与命令相匹配。 我可以与两个远程器件通信-我可以使用寄存器值和单个数据字节写入0x46或0x52、并且可以从这些器件在总线上看到 ACK。

    当我运行一个两字节命令"board.WriteI2C (0x52、0x01、[0x1A、0x05])时 、我只能看到器件地址0x52、寄存器值0x01和第一个数据字节0x1A、然后在示波器上停止。

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

    Michael、

    感谢图片和说明。 当我单击图片时、它会弹出、我可以清楚地看到。

    我想我意识到这个问题:我们添加的这一多字节写入功能只适用于 usb2any 驱动程序接口。  在926等较旧的电路板上、我们有 "Nano"驱动程序、但我们没有针对它的扩展。 这就是您看不到它的原因。 很抱歉、这让我感到很失望。

    是否可以 尝试使用 USB2ANY 软件狗? 您必须将926个 I2C 引脚连接到 usb2any i2c。

    https://www.ti.com/tool/USB2ANY

    或者、如果您拥有内置 USB2ANY 电路的最新928 EVM、也可以使用。

    谢谢、

    Vishy