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:使用 I2C2将 binfile 加载到外部 spiflash

Guru**** 2540720 points
Other Parts Discussed in Thread: TPS65987D

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1112641/tps65987d-use-i2c2-to-load-binfile-to-external-spiflash

器件型号:TPS65987D

我使用 I2C2与 TPS65987D 通信(将微代码刷写到其外部 SPiflash)、我有一些问题:

我似乎找不到 I2C 地址作为起始地址。

2. slvae21a.pdf h 只有一些部分示例代码引用了大量缺少详细信息的#defines / info。 从哪里可以获得完整的样本(尤其是寄存器偏移/位/字节含义以及各种数据长度等的头文件)?

谢谢。

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

    尊敬的 James:

    如果您使用的是闪存、它可能是地址0x50。 您能否确认您正在使用哪个 SPI 闪存、或者它是否用于 EVM?

    遗憾的是、我认为我们没有完整的代码、但我可以确认。

    谢谢、

    哈里

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

    您好 Hari、

    请尽力帮助获取完整代码、否则当前示例代码对我来说可能不可用。

    串行闪存为 M25P80。 请确认我的 I2C 地址。 谢谢。

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

    尊敬的 James:

    目前、我认为我们没有完整的代码。 我需要更多时间与我们的团队进行核实。

    对于闪存、您需要查看该特定器件的数据表以了解 I2C 地址、因为我不熟悉此器件。

    谢谢、

    哈里

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

    是的、请尽快获取完整的示例代码。 谢谢。

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

    此处的 I2C 地址似乎存在一些混淆。 SPI 闪存不需要 I2C 地址。  TPS65987D 的 I2C 地址根据 ADCIN 引脚的电阻器配置进行定义。 TPS65987D 数据表中提供了该功能。

    具有集成拉电流和灌电流电源路径且支持 USB3和交替模式的 TPS65987D USB Type-CRegistered和 USB PD 控制器数据表(修订版 C)

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

    好的、我所经历的是非常奇怪的:

    我的 I2C 通过其地址为0x70的 I2C2与 TPS65987D 进行通信(有线)。 但是 、TPS65987D 响应 NAK。 但是、如果我使用 I2C1地址(0x40)、 则 TPS65987D 将响应 I2C2线路。 我觉得 I2C1和 I2C2之间的文档可能会被误认为地址?

    同样、请帮助提供我在上面提到的完整示例。 slvae21中的源样本只是其中的.c 部分。 如果没有完整的示例代码、则无法使用。  

    谢谢。

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

    尊敬的 James:

    I2C 地址应根据文档进行设置、并由默认器件固件控制、我将在明天再次检查并与您确认。  

    文档中的示例应视为 sudo 代码。 在第6页、有一个闪存更新执行流程图、展示了通过 I2C 进行闪存更新背后的逻辑。 技术参考手册(TPS987D TRM)包括流程图中所示的4CC 命令的所有信息。  我们没有完整的代码、因为这取决于连接到 PD 控制器的 EC。

    此致、

    林德华

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

    大家好、Raymond、您是否有机会验证 I2C 地址为什么像我所说的那样被交叉引用?

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

    尊敬的 James:

    硬件 ADCIN 引脚搭接(ADCINx 分压器)可以覆盖固件、因此请在设置时验证您的分压器是否与解码相匹配(如下在数据表的第41页所示)

    如果您当前的 I2C 设置按预期工作、则可以保持原样。  

    此致、

    林德华

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

    大家好、Raymond、感谢您的快速响应。 上面是我对 ADCIN1和 ADCIN2地址选择器(两者均接地)的实际硬件设置。 但是、I2C2在加载其微代码(空白闪存)之前对地址0x40做出响应。 加载微代码后、I2C2会响应地址0x70。   不过、我可以使用一些不必要的额外 FW 逻辑。 但是、我很重要的一点是要了解这种行为;尤其是为什么加载微代码后地址会切换...等等 如果您能帮助消除这种困惑、我将不胜感激。 谢谢。  

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

    尊敬的 James:

    我不太确定 I2C 地址为什么会像这样做出反应。 请允许我咨询固件团队成员、并在星期四之前回复您、感谢您的耐心等待。

    此致、

    林德华