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.

[参考译文] TPS25750:PD 控制器#39;SK-TDA4VM 的默认配置

Guru**** 2589280 points
Other Parts Discussed in Thread: TDA4VM, SK-TDA4VM, TPS25750

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1370069/tps25750-pd-controller-s-default-configuration-for-sk-tda4vm

器件型号:TPS25750
主题中讨论的其他器件:SK-TDA4VM、、TDA4VM

工具与软件:

我参考 SK-TDA4VM 制作了定制电路板设计。

问题是 PD 控制器未为电路板提供电源。 它会给您一段时间、然后就会消失。 如果我在 Vmain 上提供12v 电压、则表示该电路板工作正常。

定制电路板设计与 SK-TDA4VM 完全相同、但外设有所减少。

那么、我是否需要向 EEPROM 写入一些默认配置?  

如果是、应该编写什么以及使用什么工具?

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

    尊敬的 Sathiya:

    EEPROM 中是否存储了任何 PD 固件、或者在启动时是否对 PD 进行了任何修补? PD 控制器需要在启动时加载固件才能正常运行、并正确启用受电路径。 请使用下面适用于 TPS25750的 Web GUI 来创建配置并导出 PD 固件二进制文件。

    https://dev.ti.com/gallery/view/USBPD/TPS25750_Application_Customization_Tool ver/7.0.4/

    要将固件加载到 PD、请 首先将此固件存储在 EEPROM 中、PD 将在启动时从 EEPROM 获取固件。 您可以使用 I2C 加载到 EEPROM。 我们使用的一个工具是 Aardvark SPI/I2C 主机适配器、但是任何 I2C 控制器都应该可以使用。

    此致!

    Alex

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

    您好、Alex、

    我这边没有向 EEPROM 更新固件。 但我不知道 TDA4VM 的软件架构是否在启动期间写入任何补丁。 如上一主题中所述、如果我使用与 SK-TDA4VM 相同的 EEPROM、则定制板中的内容应该相同。

    此外、我是否可以使用 SK-TDA4VM 的单独 I2C (不是连接到 PD 的 I2C、而是将新 I2C 连接到 EEPROM)进行闪存?

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

    尊敬的 Sathiya:

    您可以直接使用 EEPROM 的 I2C 线路来加载固件。 启动时、PD 控制器将使用连接到 EEPROM 的 I2C 的 I2Cm (控制器模块)从 EEPROM 加载固件。 必须发生这种情况、或者必须在启动时将固件修补到 PD。

    另外、请检查 ADCIN 引脚上的电阻分压器。上拉电阻器显示 DNA、因此我不知道这些电阻器的值是什么。 ADCIN 配置错误也可能导致 PD 控制器使用默认配置而不是加载的固件。

    此致!

    Alex

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

    您好、Alex、

    未刷写 PD 控制器的 EEPROM。 我刷写了。 然后 PD 工作。


    I2C 闪存命令:

    使用 另一个 Linux 系统(SK-TDA4VM 电路板、任何其他具有开放 I2C 的电路板)

    要读取0x50处的 EEPROM:(一次最多可读取8192个字节)

    i2ctransfer -y <BUS> w<LENGTH>@<EEPROM_ADDRESS> <READ_ADDRESS_2BYTE:MSB> <READ_ADDRESS_2BYTE:LSB> r<READ_LENGTH=8192 maximum>
    
    Eg: 
    # First 8192 Bytes
    i2ctransfer -y 5 w2@0x50 0x00 0x00 r8192
    
    # Next 8192 Bytes
    i2ctransfer -y 5 w2@0x50 0x20 0x00 r8192

    要在0x50处写入 EEPROM:(一次最多可写入64个字节)

    i2ctransfer -y <BUS> w<WRITE_ADDRESS_LENGTH + WRITE_LENGTH>@<EEPROM_ADDRESS> <WRITE_ADDRESS_2BYTE:MSB> <WRITE_ADDRESS_2BYTE:LSB> <BYTE:1> <BYTE:2> ..... <BYTE:n>
    
    Eg: 
    # First 64 Bytes
    i2ctransfer -y 5 w66@0x50 0x00 0x00 0xab 0xcd 0xef........
    
    # Second 64 Bytes
    i2ctransfer -y 5 w66@0x50 0x00 0x40 0xab 0xcd 0xef........