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.

[参考译文] TPS25751:电池无电模式寄存器

Guru**** 2492385 points
Other Parts Discussed in Thread: TPS25751

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1484178/tps25751-dead-battery-mode-register

器件型号:TPS25751

工具/软件:


我们在一个设计中使用了 TPS25751DREFR 器件。 我们有一个疑问、引脚38 (VIN 3V3)应连接到外部3.3V 电源。 根据数据表、VIN 3V3为内部 IO 供电、但如果该电源不是外部提供、则会根据数据表将器件引导至电池无电模式、并且内部 LDO 将生成3.3V 电压以提供 IO。

我们已经检查了 SW 的电池无电模式寄存器、如果我们从 VBUS 为器件上电、然后连接 VIN 3V3、则不会清除电池无电模式寄存器、但会根据 TPS25751技术参考手册(修订版 A)的表3-3中的定义修补器件模式。因此、如果器件模式未引导、则电池无电模式寄存器应被清除。 您能帮助我们了解为什么不清除电池电量耗尽寄存器吗?

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

    您好:

    Unknown 说:
    您能否帮助我们知道电池电量耗尽寄存器为何无法清除?

    电池电量耗尽标志不会自动清除。  需要通过对 PD 控制器进行 I2C 写入(https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf#page=76)来清除该状态

    引导模式仅持续约10ms。

    此致、
    Chris

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

    您好、Chris、  

    根据 技术参考手册、电池无电模式寄存器的类型为只读。 您能为我们提供一些有关如何清除电池电量耗尽标志寄存器的详细信息。  

    如果需要更多详细信息、请告诉我。  

    此致、
    Navy Gupta

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

    您好:

    根据 技术参考手册、电池电量耗尽模式寄存器的类型是只读的。 您能为我们提供一些有关如何清除电池电量耗尽标志寄存器的详细信息。  
    电池电量耗尽标志不会自动清除。  需要通过对 PD 控制器进行 I2C 写入(https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf#page=76)
    )来清除该状态

    请参阅链接中描述的4CC 命令。

    此致、
    Chris

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

    您好 Chris、

    我将4CC 任务发送到 命令寄存器(8h)、如所示  
    char write_command_buffer[6]="DBfg"
    但无法识别命令。 我尝试了多种方法来安排命令
    但它没有得到认可。

    您能告诉进程发送命令和一些示例吗?

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

    字符串中的更正:
    char write_command_buffer[4]="DBfg"

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

    尊敬的 Runita:  

    电池无电标志不会被清除、因为器件处于 PTCH 模式、这意味着器件正在等待将配置加载到器件中。 加载配置后(请参阅相关 线程)、器件应进入 APP 模式、然后可通过"DBfg"清除电池电量耗尽标志。  

    此致、  

    Aya Khedr  

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

    尊敬的 Aya:
    我已经确认在将命令发送到命令寄存器之前模式是 APP、在写入命令寄存器之前是否需要任何其他步骤?

    请参阅 MODE 寄存器的日志:

    名称:mode_buffer

    详细信息:"\004APP"、此处004是读取的字节数。

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

    我尝试使用2种方法发送数据:
    写入命令的 ASCII 字符的十进制值、并直接以字符串的形式写入命令。 这两种方法都会给出相同的响应、 !CMD。

    请参阅我尝试使用的方法:

    方法1:十进制格式。

    REVAL = LPI2C_READ_reg (I2C0_MASTER、MODE_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、MODE_BUFFER);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER);

    uint8_t write_command_buffer[4]={68、66,102,103};

    REVAL = LPI2C_WRITE_reg (I2C0_MASTER、COMMAND_REG_ADDR、WRITE_COMMAND_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR

    4);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER);

    方法2:字符串格式。

    REVAL = LPI2C_READ_reg (I2C0_MASTER、MODE_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、MODE_BUFFER);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER);

    char write_command_buffer[4]="DBfg"

    REVAL = LPI2C_WRITE_reg (I2C0_MASTER、COMMAND_REG_ADDR、(uint8_t*) WRITE_COMMAND_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR

    4);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER);

    在这两种方法中、模式都是 APP。

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

    您好:

     您能否共享 I2C 流量/日志?  或者可能确认格式如下:


    此致、

    Chris

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

    您好 Chris、
    是、格式如 TRM 中所述、根据 ACDINx 引脚配置、USB-USB PD 控制器的从器件地址为0x21、寄存器地址
    为0x08、写入的数据为:


    接收的数据为:

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

    您好:

    我仅在读取中看到字节计数、而不在写入中看到。  请确认。

    此致、

    Chris

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

    尊敬的 Chris、请检查以下日志、以了解通过命令寄存器进行的写入事务:

    寄存器读取命令现在具有以下值:

    根据数据表、4CC 命令已被接受、但引导标志寄存器中仍会设置电池电量耗尽标志、如果存在任何错误或剩余任何步骤、请告知我、

    根据参考手册、第3位应被清除、但由于在突出显示的值中显示、该位仍处于设置状态。

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

    您好:

    发送 CLEAR DEBUG 标志时、您能否确认模式是 APP?  此外、电源路径的状态是什么、PD 是否从 VIN3V3运行?

    此致、

    Chris

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

    您好、Chris、
    当我们根据我们的要求尝试在不使用 EEPROM 或 GUI 的情况下配置 TPS25751时、模式为 PTCH、PD 与 VBUS 和 VIN3V3连接。

    与此类似、从技术参考中执行补丁捆绑包上传方法时、我要按如下所示设置 PBMs 命令的 DATA1寄存器值、其中我的捆绑包大小为32768个字节、

    REVAL = LPI2C_READ_reg (I2C0_MASTER、DATA_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、DATA_BUFFER、65);

    DATA_BUFFER[0]= 7;

    DATA_BUFFER[3]= 0x00;

    DATA_BUFFER[4]= 0x00;

    DATA_BUFFER[5]= 0x80;

    DATA_BUFFER[6]= 0x00;

    DATA_BUFFER[7]= 0x21;

    DATA_BUFFER[8]= 0x32;

    根据 ADCINx 引脚、目标地址为0x21、根据 TRM 建议、超时设置为0x32。

    REVAL = LPI2C_WRITE_reg (I2C0_MASTER、DATA_REG_ADDR、DATA_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR

    9);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER、5);

    uint8_t write_command_buffer[COMMAND_REG_LENGTH]={0x04、0x50、0x42、0x4D、0x73}; ("PBMs")

    REVAL = LPI2C_WRITE_reg (I2C0_MASTER、COMMAND_REG_ADDR、WRITE_COMMAND_BUFFER、USB_PD_CONTROLLER_SLAVE_ADDR

    5);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、COMMAND_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、COMMAND_BUFFER、5);

    REVAL = LPI2C_READ_reg (I2C0_MASTER、DATA_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、DATA_BUFFER、65);

    由于命令寄存器读取为空、但 DATA1寄存器未读取、因此命令寄存器读取成功

    在读取 CMD1寄存器后被清除。 您能先帮我解决可能出现的错误吗?

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

    您好:

    请忽略之前的回答。  TRM 中存在错误、我们正在努力解决该问题。

    https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1164564/tps25750-pbms-command-arguments/4381671#4381671

     如果不清楚、请告诉我。   

    此致、

    Chris

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

    嗨、Chris、 我按照应用手册中的值来设置 DATA1寄存器、我得到了以下值、请确认它是可以接受的、并且我可以开始传输补丁。

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

    您好:

    [引述 userid="645579" url="~/support/power-management-group/power-management/f/power-management-forum/1484178/tps25751-dead-battery-mode-register/5723206 #5723206"]

    与此类似、从技术参考中执行补丁捆绑包上传方法时、我要按如下所示设置 PBMs 命令的 DATA1寄存器值、其中我的捆绑包大小为32768个字节、

    REVAL = LPI2C_READ_reg (I2C0_MASTER、DATA_REG_ADDR、USB_PD_CONTROLLER_SLAVE_ADDR、DATA_BUFFER、65);

    DATA_BUFFER[0]= 7;

    DATA_BUFFER[3]= 0x00;

    DATA_BUFFER[4]= 0x00;

    DATA_BUFFER[5]= 0x80;

    DATA_BUFFER[6]= 0x00;

    DATA_BUFFER[7]= 0x21;

    DATA_BUFFER[8]= 0x32;

    [/报价]

    是否解决 TRM 中的错误、LINK、您是否更改了 DATA1寄存器值?

    此致、

    Chris

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

    您好:

    测试并记录了 I2C 流量。  请查找附件。

    /cfs-file/__key/communityserver-discussions-components-files/196/PMBs_5F00_DBFg.csv

    此致、

    Chris

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

    您好 Chris、

    感谢您提供了日志以及在 PBMs 命令之后正确发送数据的方式、我能够传输捆绑包并发送 PBMc 命令、但在 PBMc 命令之后、我将 DATA1寄存器 byte1值设置为0x3、并且模式也没有更改为 APP。 我还尝试使用 PBMe 命令结束补丁捆绑包上传、DATA1寄存器被清除、但同样地、模式没有更改为 APP。

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

    您好、Chris、

    在日志中、您已将 I2C 目标设置为0x35、您能告诉我如何选择此地址、因为在应用手册示例中、此地址取值为0x30、我无法在 TRM 或数据表中找到特定的 I2C 目标地址选择基准。

    我正在尝试以下方法:

    1.在写入"PBMs"命令之前、写入 DATA1寄存器的目标地址字节5。

    2.读取 DATA1寄存器:读取为空

    3.发送补丁捆绑包文件、从 GUI 生成的低区二进制文件、其中从器件地址作为0x35发送、并写入 DATA1寄存器。

    4.写入命令 PBMC、在 CMD 寄存器上、第一次尝试时读取为空。

    5.读取 DATA1寄存器、第一个字节作为0x3、在 TRM 中没有任何描述。

    我还在论坛上看到了类似的情况: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1277295/tps25750-patching-from-host-controller-patch-bundle-is-not-accepted-and-mode-remains-ptch-instead-of-app

    我尝试了这个论坛的建议,在 PBMC 命令后仍然没有正确的数据在 Data1寄存器

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

    您好:

    在您的日志中、您已将 I2C 目标设置为0x35、能否告诉我您如何选择此地址、因为在应用手册示例中、此地址取值为0x30、我无法在 TRM 或数据表中找到特定的 I2C 目标地址选择参考。

    该地址由主机随机选择。 任一值都应该起作用。

    5. 读取 DATA1寄存器、第一个字节为0x3、在 TRM 中没有任何描述。

    您是否尝试过重复检查 Data1?  

    我将努力解码0x3。

    此致、

    Chris

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

    您好:

    在查看0x3响应时、任务失败时会出现该响应、特别是如果提供的大小大于文件的实际大小、则表示您正在接收 标准任务响应

    请再次确认 PBMs 命令中提供的大小。

    此致、
    Chris

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

    您好、Chris、

    我的低区二进制文件与您的日志大小相同、我已确认这一点。

    WRITE_DATA_BUFFER[1]= 0x80;

    WRITE_DATA_BUFFER[2]= 0x33;

    WRITE_DATA_BUFFER[3]= 0x00;

    WRITE_DATA_BUFFER[4]= 0x00;

    这是我在发出"PBMs"命令之前在 DATA1寄存器中发送的数据

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

    您好:

    感谢您的确认。  我不确定导致问题的原因。  我已经向您发送了一个朋友请求,以便从您那里获得低区二进制文件,我会尝试我的。  如果您有 i2c 的日志、那么分析时序和指令也会很有帮助。

    此致、

    Chris

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

    您好、Chris、

    除了上述查询外、电路板一旦进入"APP"模式、是否有任何方法可以将模式更改为"PTCH"?  

    如果我要再次使用修改后的自定义更改二进制文件、具体方法是什么?

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

    您好:

    在上述查询中、是否有办法在电路板已处于"APP"模式后将模式更改为"PTCH"?  [/报价]

    4.3.4 'GO2P'-转至补丁模式

    https://www.ti.com/lit/ug/slvucr8a/slvucr8a.pdf#page=74

    如果我要再次更改二进制文件并进行修改自定义、那么这种方法是什么?

    您可以上传新的二进制文件、但无法修改 PD 上的现有二进制文件。

    此致、

    Chris

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

    您好:

    我通过消息应用程序联系到了我。  如果您仍然无法上传二进制文件、请告诉我、我将采用其他沟通形式。

    此致、
    Chris

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

    根据离线更新关闭此项。

    此致、
    Chris