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.

[参考译文] TPS65987D:编程 SPI-Flash 后 I2C 地址失败

Guru**** 2387060 points
Other Parts Discussed in Thread: TPS65987D, TUSB1146, TUSB1146EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1260653/tps65987d-fail-with-i2c-address-after-spi-flash-is-program

器件型号:TPS65987D
主题中讨论的其他器件: TUSB1146TUSB1146EVM

你好

设计 USB-C 交替模式。

使用的 IC 是:

  • 电源器件 TPS65987D
  • 线性 Re 驱动器交叉点开关 TUSB1146

电气图是洗脱板 TUSB1146EVM 的副本。

在使用 SPI-Flash 编程之前、我可以扫描2pc i2c 寻址器。

  • TPS65987D 0x20
  • TUSB1146 0x44

PD 可以通过 i2c 0x20进行调试和配置。

如果获取 SPI-Flash 回避板 TUSB1146EVM 的缩写、则在 我的设计上对 SPI-Flash 进行编程。 完成编程后、USB-C 交替模式可实现完整的工作功能。

但是!

TPS65987D i2c-地址无法扫描、也无法执行调试、在使用洗脱板 SPI-Flash 复制的编程之后。

注意! 缩写板 TUSB1146EVM IC TPS65987D i2c 地址不可用(TUSB1146可用)。

如何在我的设计或回避板上访问 TPS65987D i2c 地址?

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

    I2C 地址应该不会更改。 您能否探测 I2C 信号并查看状态是什么? 当你扫描时、你从地址0x20获得 NAK。

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

    我们采用 Totalphase 的加密狗 USB 转 SPI/I2C 模型 Aardvark。  无论使用哪种 PC 程序(TI 或 Totalphase)、都能获得相同的结果。

    下图显示了 i2c 地址0x20、可将其与来自 i2c 地址0x44的应答进行比较、应答工作正常。

    (我认为是主器件使用 i2c 地址0x20时钟延展)。  

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

    您好、Hans、

    我不熟悉这个问题和器件、不是很相信我知道发生了什么、因此我的回答可能会有一些延迟。

    为了帮助我理解、0x20器件地址正常工作、但在刷写后不工作?

    我想知道您是否在闪存时更改 I2C 地址。 使用它作为主设备吗? 您是否要写入寄存器0x64? 这是单端口还是双端口?  

    谢谢。
    字段

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

    是的、在使用开发套件 TUSB1146EVM 中的 SPI-Flash 副本对 SPI-Flash 进行编程之前、i2c 地址0x20工作是正确的。

    如果 SPI-Flash 擦除器件并将其硬件复位、则 i2c 地址0x20再次正常运行(TI GUI 程序可用于读取寄存器和调试)。

    需要 TUSB1146EVM 上使用的 TPS65987D 的完整列表寄存器设置支持从 SPI-Flash 引导 TPS65987D 时哪个注册表会影响 i2c。

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

    您好、Hans、

    是否在刷写之后对 EVM 进行下电上电? 您是否可以尝试使用0x38作为地址、看看这是否得到响应?

    另外、如果您正在使用应用程序自定义工具、或者如果您无法在 此处链接的 TI 网站上找到该工具、那么您可以尝试扫描 I2C 地址。 可通过以下方式完成:适配器选项卡->配置 I2C/SPI 适配器设置->(由于/如果您正在使用 Aardvark、请从"Configurations"下拉菜单中的选项列表中选择该选项)->扫描 I2C 地址范围以进行器件响应。 也可以在以下屏幕截图中查看此内容。

     

    谢谢。
    字段

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

    高场强。

    将 GUI 程序从版本6.1.3更新为6.1.4。

    同样的问题、只能扫描0x44 i2c 地址到 板载 TUSB1146EVM 上的开关 TUSB1146 。

    如果尝试使用0x20或0x38、则 i2c 上的响应没有答案。

    /Hans

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

    Hans,  

    您报告的问题似乎与本主题中提出的问题相关: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1261990/tps65987d-discrepancies-between-datasheet-and-tusb1146evm-implementation/4776606#4776606

    根据问题描述、我假设您正在 I2C1上读取 I2C 地址、当 TPS65987D 处于 PTCH 模式(未加载配置)时、该地址将用作 I2C 目标器件。 然后、加载 TUSB1146EVM 的配置后、I2C1端口配置为 I2C 控制器、因此您不再能在 I2C1上看到0x20 I2C 地址。

    如果您需要从 TPS65987D 上的 I2C 端口读取、我建议连接到 I2C2端口、因为它始终是 I2C 目标端口。

    谢谢!
    埃里克

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

    okej. I2C1从从从从器件更改为主器件。

    阅读手册并理解、但不了解为什么开发卡是用于无调试的配置。

    8.3.9数字接口
    TPS65987D 包含多个不同的数字接口、可用于与其他
    器件。 可用接口包括三个 I

    2C 端口(I2C1是主/从端口、I2C2是从端口、I2C3是
    主器件)、一个 SPI 控制器和12个附加 GPIO。

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

    Nilsson、您是否有 TPS65987D EVM 来尝试 FW 映像?

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

    否、请将  TUSB1146EVM 用于默认具有交替模式(DisplayPort)的 USB-C。 其中   TPS65987D 导入了 元件 以进行正确配置。

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

    您好、Hans、

    如果您想测试 TPS65987D 上所有调试接口的完整功能、我建议使用 TPS65987DEVM 进行测试。 TUSB1146EVM 旨在重点介绍 TUSB1146的更多功能。 并不是 TPS65987D 的所有功能都会在该 EVM 上公开。

    谢谢!
    埃里克