我使用 I2C2与 TPS65987D 通信(将微代码刷写到其外部 SPiflash)、我有一些问题:
我似乎找不到 I2C 地址作为起始地址。
2. slvae21a.pdf h 只有一些部分示例代码引用了大量缺少详细信息的#defines / info。 从哪里可以获得完整的样本(尤其是寄存器偏移/位/字节含义以及各种数据长度等的头文件)?
谢谢。
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.
此处的 I2C 地址似乎存在一些混淆。 SPI 闪存不需要 I2C 地址。 TPS65987D 的 I2C 地址根据 ADCIN 引脚的电阻器配置进行定义。 TPS65987D 数据表中提供了该功能。

具有集成拉电流和灌电流电源路径且支持 USB3和交替模式的 TPS65987D USB Type-C和 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。
此致、
林德华