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.

[参考译文] TPS65185:如何正确设置新的上电序列并激活它

Guru**** 2578945 points
Other Parts Discussed in Thread: TPS65185

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1558518/tps65185-how-to-properly-set-up-a-new-power-up-sequence-and-activate-it

器件型号:TPS65185


工具/软件:

大家好、TI 工程师和参加这个知识论坛的人员!

我是来自西班牙的一个硬件开发人员、他帮助 https://github.com/vroland/epdiy-hardware epdiy 项目、该项目是一个开源并行 Eink 控制器(使用 Espressif S3 MCU 作为核心驱动程序)。

最近、一些用户尝试了 Eink Carta 1300 显示器、这些显示器似乎具有与 TPS65185 标准不同的上电顺序:

ED103MC1 是我测试的显示器。 (带有较旧的显示屏,非 Carta 1300,一切工作正常。)
电源轨必须按以下顺序排序

  1.  VSS→VDD→VNEG→VPOS(源极驱动器)→VCOM
  2.  VSS→VDD→VGL→VGH(栅极驱动器)

为了实现这一点、我已经阅读了数据表中的相关器件、还询问了智能程度不够高、无法给出正确答案。

经过伪代码测试:

void TPS_set_POWER_Seq (i2c_port_t i2c_numuint8_t Seq){ 

TPS_WRITE_REGISTER (i2c_numTPS_REG_UPSEQ00x9C);//不更改 0x9C

TPS_WRITE_REGISTER (i2c_numTPS_REG_ENABLE0x00);//待机

vTaskDelay (PDMs_to_ticks (10));

TPS_WRITE_REGISTER (i2c_numTPS_REG_ENABLE0x01);//活动

}


我的问题是:
更改 UPSEQ 0x09 寄存器后、是否有任何其他步骤可以“激活“这个新的电源序列?  

运行该代码尝试在日志中执行不同的电源序列:

INT1 (0x07):0x00
INT2 (0x08):0x02
VNEG_UV:VNEG 欠压
VADJ (0x02):0x03
VPOS/VNEG:±15.000V
VCOM1 (0x03):0xA0
VCOM2 (0x04):0x00
VCOM 电压:–1.60V
ACQ 位:清除
PROG 位:清除
HIZ 位:清除
平均:1 次测量
TMST_VALUE (0x00):0x00
温度:0°C
TMST1 (0x0D):0x20
READ_THERM:空闲
Conv_End:完成
DT 阈值:2°C
TMST2 (0x0E):0x78
冷阈值:0°C
HOT 阈值:50°C
UPSEQ0 (0x09):0xE4
VDDH_UP:STROBE4
VPOS_UP:STROBE3
VEE_UP:STROBE2
VNEG_UP:STROBE1

所以我实际上不会更改默认的任何选通顺序、这是适用于大多数 Eink 显示器的。

如果我忘记做一些显而易见的事情、您能告诉我吗?
提前感谢大家

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

    尊敬的 Martin:  

    感谢您在 E2E 上联系我们!

    为了正确写入 UPSEQ0、器件应写入之前处于待机模式。  
    (WAKE 引脚为高电平、而 PWRUP 引脚为低电平)

    要将器件设置为工作模式、特别是需要将 ENABLE 寄存器的位 7 设置为“1",“,即、即应将值 0x80 (1000 0000) 写入 TPS_REG_ENABLE

    要进行调试、您可以尝试以下操作:

    • 通过将 WAKEUP 引脚设置为高电平并将 PWRUP 引脚保持为低电平来将器件设置为待机模式
    • 将 0x9C 写入 UPSEQ0
    • 立即回读/日志 UPSEQ0、检查 0x9C 是否正确写入
    • 通过写入 0x80 以启用寄存器、或将 PWRUP 引脚拉至高电平、将器件设置为工作模式
    • 检查 UPSEQ0 和 选通序列。  

    如果您在执行上述步骤时遇到任何问题、请告诉我。  

    此致、  
    Sarah

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

    您好、Sarah:

    非常感谢您的回答。 我收到了错误的 I2C 命令、这是我的错。 我尝试了你推荐我的代码:

    void tps_set_power_seq(i2c_port_t i2c_num, uint8_t seq) {
        tps_write_register(i2c_num, TPS_REG_ENABLE, 0x40); // Standby mode
        // WAKE UP mode for PMIC
        ESP_ERROR_CHECK(pca9555_set_value(I2C_NUM_0, (PCA_PIN_PC15 >> 8), 1)); // WAKE up
        ESP_ERROR_CHECK(pca9555_set_value(I2C_NUM_0, (PCA_PIN_PC13 >> 8), 0)); // PWR down
        vTaskDelay(1);
        
        // power up order
        tps_write_register(i2c_num, TPS_REG_UPSEQ1, 0x56);
        tps_write_register(i2c_num, TPS_REG_UPSEQ0, seq);  // does NOT CHANGE to 0x9C
        printf("Setting TPS_REG_UPSEQ0 to %x\n",seq);
        
        tps_write_register(i2c_num, TPS_REG_VADJ, 0x04);   // CHANGES!
        //tps_write_register(i2c_num, TPS_REG_ENABLE, 0x40); // Standby mode
        tps_write_register(i2c_num, TPS_REG_ENABLE, 0x80); // Active
    }

    但可悲的是,我仍然无法使它发挥作用。  
    在我的 PCB 中、唤醒和 PWRUP 信号通过 IO 扩展器连接、这就是它看起来如此的原因。 我可以成功更改其他配置参数、如:  

    TPS_REG_VADJ 至 0x04。 并且确实会正确变化。 但 UPSEQ0 和 1 仍会抵抗。 不管我做什么,他们似乎有相同的价值。 明天会再试一次。 非常感谢您的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Martin:  

    感谢您的更新! 您是否有关于此功能现在如何工作的任何其他更新?

    很奇怪、您能够写入 VADJ 等其他寄存器、但 UPSEQ 寄存器无法写入...
    出于好奇心、DOWNSEQ 寄存器是否能够写入?

    我说,我想  
    在唤醒被拉高之前、PWRUP 应为低电平、
    然后、仅当器件在代码片段之前已处于活动模式时、才需要设置待机位(0x40 以启用)。  

    此致、  
    Sarah

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

    谢谢莎拉!

    我认为 在唤醒拉高之前 PWRUP 应该为低电平、

    这实际上是关键解决方案。 我还从任何其他初始化中清除与 TPS PMIC 接触的任何断电/上电、保留作为第一个命令更新函数。  
    可悲的是,即使我现在可以控制上电顺序,这 Carta 1300 显示器仍然不工作,是第一个不工作,如果你查看 https://github.com/vroland/epdiy 有超过 20 个显示面板列表(不同的分辨率和位宽),所有的工作都很好与 TPS65185。  

    当 TPS65185 报告 VNEG 欠压时、您会提出哪些建议来开始研究?
    因为在其他相同尺寸的显示器完美地工作,什么会是不同在这个特定的 Carta 1300,它不能稳定线?
    事实是: Waveshare 有一个 10.3 ITE8951 控制器,也使用相同的 PMIC ,一个朋友尝试了它,根据我的要求,似乎工作正常。 这个特定面板的设计中是否存在错误?

    在此原理图中、您可以了解 TI PMIC 的最新实施方式:  

    https://vroland.github.io/epdiy-hardware/build/boards/epdiy-v7_schematic.pdf

    感谢您发送编修。 现在我完全理解这是如何工作的!

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

    尊敬的 Martin:

    由于美国的国庆节,大多数专家今天都不在办公室。 请预计响应会延迟。 感谢您的耐心!

    此致、

    Ishtiaque

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

    尊敬的 Martin:  

    很高兴上电序列是固定的。

    VNEG UV 是否是唯一报告中断的寄存器? 您是否能够实际测量这是什么价值?

    我没有看到原理图中 VNEG 连接有任何问题,你能比较面板的布局吗?

    该主题也可能相关: https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1074320/tps65185-power-up-troubleshooting?tisearch=e2e-sitesearch&keymatch=tps65185%252525252525252520vneg#

    此致、
    Sarah

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

    您好、Sarah:

    VNEG UV 是唯一报告中断的寄存器吗? 您是否能够实际测量这是什么价值?

    是的、到目前为止是唯一一个返回 VNEG 欠压的器件。 但与第一个问题一样、如果无法对其进行调节、只会停止整个上电序列。 至少如果没有示波器或精密测量工具、这种测量是无法测量的、因为它无法达到稳定的–15 伏电压。
    两个 10.3 面板的布局、ED103TC2 和 ED103MC1 看起来完全相同、数据表没有给出任何提示、表明存在不同的 VNEG 设置。 有点迷路了。 我的合作伙伴向 EINK 发送了两块板子,看看他们是否能弄清楚它是什么。

    非常感谢您的帮助

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

    尊敬的 Martin:  

    感谢您的更新。 如果您有任何新发现、请更新。

    此致、  
    Sarah

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

    我使用相同的 TPS65185 对 Waveshare 10.3 控制板(工作正常)进行了最后一次比较。  
    基本电路是相同的。 它只是具有不同的电感器(相同的 uH 值,略微不同的电阻标记)  
    和在 VDD 线路中有一些额外的“滤波电容器“:

    10. VIN 22uF+10uF 47uF+47uF+10uF (Waveshare)
    24 VIN_P 22uF+10uF(我们的控制器) 47uF+47uF+10uF (Waveshare)
    25 VN_SW L1 4.7uH L6 GSDR43-4R7M +
    27 VEE_IN 4.7 μ F 4.7 μ F+4、7 μ F
    30 VEE_D C27 2、2 μ F C46 4.7 μ F
    34 VDDH_D C33 2、2 μ F C18 4.7 μ F
    40 VB_SW L2 2.2uH L3 GSDR32-2R2M

    我可以尝试将 TPS 电路切换为类似的电路、但我非常怀疑这可能是 VNEG 欠压的原因。