主题中讨论的其他部件:BQ25756、、 BQ25756EVM
工具/软件:
您好、
我们有一个由 TPS25751 PD、BQ25756 充电器和 EEPROM (CAT24C512) 组成的三组模块、这些模块通过 I2Cc 总线连接。 没有 MCU 在运行。 我们要通过 I2Ct 总线写入 EEPROM。 为此、我们实现了 TI 应用手册 SLVAFL1 中的更新流程 和 TI 用户指南 SLVUCR8A 中的补丁流程 、以及只需通过 FLwd 将完整二进制文件写入 EEPROM 的初始刷写。
我们做了什么:
初始状态:
Mode:PTCH Patch Mode:True TPS25751 STATUS (0x1A): 0x0000000000 Interpreted Fields: Plug Present (0) : 0 → No plug connected Connection State (3:1): 0 → No connection Plug Orientation (4): 0 → CC1 (upright) Port Role (5): 0 → Sink Data Role (6): 0 → UFP (Device) VBUS Status (21:20): 0 → vSafe0V (< 0.8V) USB Host Present (23:22): 0 → No host Acting as Legacy (25:24): 0 → Not in legacy mode BIST in Progress (27): 0 → No SoC Ack Timeout (30): 0 → Responded Boot Flags Register Interpretation ---------------------------------- Revision ID: 193 Patch Config Source: 0 (No configuration has been loaded) System Thermal Shutdown (TSD): No Region 1 CRC Fail: No Region 0 CRC Fail: No Patch Download Error: No Region 1 EEPROM Error: No Region 0 EEPROM Error: No Region 1 Invalid: Yes Region 0 Invalid: Yes Region 1 Attempted: Yes Region 0 Attempted: Yes I2C EEPROM Present: Yes Dead Battery Flag: No Patch Header Error: No Reading BQ25756 configuration registers... Charge Voltage Limit: 1.504 V Charge Current Limit: 6.400 A Termination Current Limit : 6.600 A [...]
-
将完整二进制文件修补到 TPS 后:
Mode:APP Patch Mode:False TPS25751 STATUS (0x1A): 0x0000000005 Interpreted Fields: Plug Present (0) : 1 → Plug connected Connection State (3:1): 2 → Audio connection (Ra/Ra) Plug Orientation (4): 0 → CC1 (upright) Port Role (5): 0 → Sink Data Role (6): 0 → UFP (Device) VBUS Status (21:20): 0 → vSafe0V (< 0.8V) USB Host Present (23:22): 0 → No host Acting as Legacy (25:24): 0 → Not in legacy mode BIST in Progress (27): 0 → No SoC Ack Timeout (30): 0 → Responded Boot Flags Register Interpretation ---------------------------------- Revision ID: 193 Patch Config Source: 6 (Configuration loaded from I2C) System Thermal Shutdown (TSD): No Region 1 CRC Fail: No Region 0 CRC Fail: No Patch Download Error: No Region 1 EEPROM Error: No Region 0 EEPROM Error: No Region 1 Invalid: Yes Region 0 Invalid: Yes Region 1 Attempted: Yes Region 0 Attempted: Yes I2C EEPROM Present: Yes Dead Battery Flag: No Patch Header Error: No Reading BQ25756 configuration registers... Charge Voltage Limit: 1.566 V Charge Current Limit: 0.400 A Termination Current Limit : 0.250 A
-
将完整二进制文件修补到 EEPROM(地址 0)后:
Mode:APP Patch Mode:False TPS25751 STATUS (0x1A): 0x0000000005 Interpreted Fields: Plug Present (0) : 1 → Plug connected Connection State (3:1): 2 → Audio connection (Ra/Ra) Plug Orientation (4): 0 → CC1 (upright) Port Role (5): 0 → Sink Data Role (6): 0 → UFP (Device) VBUS Status (21:20): 0 → vSafe0V (< 0.8V) USB Host Present (23:22): 0 → No host Acting as Legacy (25:24): 0 → Not in legacy mode BIST in Progress (27): 0 → No SoC Ack Timeout (30): 0 → Responded Boot Flags Register Interpretation ---------------------------------- Revision ID: 193 Patch Config Source: 5 (Configuration loaded from EEPROM) System Thermal Shutdown (TSD): No Region 1 CRC Fail: No Region 0 CRC Fail: No Patch Download Error: No Region 1 EEPROM Error: No Region 0 EEPROM Error: No Region 1 Invalid: No Region 0 Invalid: No Region 1 Attempted: No Region 0 Attempted: Yes I2C EEPROM Present: Yes Dead Battery Flag: No Patch Header Error: No Reading BQ25756 configuration registers... Charge Voltage Limit: 1.566 V Charge Current Limit: 0.400 A Termination Current Limit : 0.250 A
刷写过程中没有错误。 也可以使用低二进制文件更新区域、而不会出现错误。
我们的问题是、BQ25756 显示的值与 USBCPD 应用中配置的值不匹配(例如,充电电流限制设置为 2A)。 也能更新 EEPROM 区域。 我们可以看到 TPS 从新更新的区域引导、但 BQ25756 的值保持不变。 为什么状态寄存器 0x1A 显示 0x5(已连接插头)?
我们尝试过的方法:
-
读回 EEPROM 会得到一个与 USB-EEPROM PD 应用程序自定义工具生成的二进制 blob 相同的二进制 blob。
-
我们将相同的二进制文件修补到 TPS25751EVM + BQ25756EVM 中。 此处、充电电流限制正确设置为 2A。
-
将各种低级二进制文件修补到 TPS 上。 每次输出都保持不变。
我们做什么错了?
谢谢、
Tobias