ZHCU917B November   2020  – June 2022 LP8764-Q1 , TPS6594-Q1

 

  1.   Scalable PMICs GUI 用户指南
  2.   商标
  3. 引言
  4. 支持的功能
  5. 修订
  6. 概述
  7. 入门
    1. 5.1 查找 GUI
    2. 5.2 下载所需的软件
    3. 5.3 启动 GUI
    4. 5.4 连接到 PMIC
  8. “Quick-start”(快速启动)页面
    1. 6.1 器件扫描结果
    2. 6.2 配置和监视
      1. 6.2.1 系统信息
      2. 6.2.2 BUCK
      3. 6.2.3 LDO
      4. 6.2.4 GPIO
      5. 6.2.5 中断
      6. 6.2.6 其他设置
      7. 6.2.7 高级选项卡
  9. “Register Map”(寄存器映射)页面
  10. NVM 配置页面
    1. 8.1 创建自定义配置
      1. 8.1.1 静态配置
      2. 8.1.2 可预配置的任务状态 (PFSM)
        1. 8.1.2.1 创建状态图
        2. 8.1.2.2 全局设置
        3. 8.1.2.3 电源序列
          1. 8.1.2.3.1 电源序列资源和命令
          2. 8.1.2.3.2 子序列
          3. 8.1.2.3.3 电源序列编辑工具
        4. 8.1.2.4 触发条件设置
        5. 8.1.2.5 触发条件优先级列表
        6. 8.1.2.6 PFSM 验证
    2. 8.2 程序
      1. 8.2.1 对现有 NVM 配置进行编程
      2. 8.2.2 NVM 配置特殊用例:更改通信接口
      3. 8.2.3 NVM 编程期间的锁定选项
  11. NVM 验证页面
  12. 10看门狗页面
  13. 11其他资源
  14. 12附录 A:疑难解答
    1. 12.1 无法识别硬件平台
    2. 12.2 未找到 PMIC 器件
    3. 12.3 I2C2 已配置但未连接
  15. 13附录 B:高级主题
    1. 13.1 脚本编写窗口
  16. 14附录 C:已知限制
  17. 15附录 D:迁移主题
    1. 15.1 从 LP8764-Q1 PG1.0 迁移到 PG2.0
    2. 15.2 更新 PFSM 以包含 PFSM_START 状态
    3. 15.3 更新时间延迟
    4. 15.4 更新触发条件优先级和设置
  18. 16修订历史记录
电源序列资源和命令

本节列出了可用的不同命令和资源。本节内容参考了器件数据表中介绍的 PMIC 指令集。

资源和命令

并非所有命令都适用于所有器件。请参阅器件数据表。

  1. BUCKx

    BUCK 资源是汇编指令 REG_WRITE_VCTRL_IMM 和 REG_WRITE_VOUT_IMM 的抽象概念。在“Update action”(更新操作)窗口中选择“VCTRL”或“VOUT”选项卡将确定要应用的指令。每个选项卡中都包含每条指令的各种参数。

    BUCKx 命令可用于每个可用的 BUCK。如果 BUCK 是多相的,则分组反映在资源名称中(例如 BUCK1_2_3_4),但“Parameter”窗口中仅显示主 BUCK 信息。在生成的程序中,主 BUCK 将是指令中唯一反映的压降。

  2. BUCKx Monitor

    BUCK Monitor 是 REG_WRITE_VCTRL_IMM 和 REG_WRITE_VOUT_IMM 指令的特殊子集。未用于该资源的参数是不可选的。“VIN”选项卡相同,但表示监视器电压设置。

  3. VMONx

    与 BUCKx 监视器类似,VMONx 是 LP876x-Q1 系列器件上的专用电压监视器。此资源仅在 GPIO 函数配置为 VMONx 函数时才可用。VMONx 是一个抽象的 REG_WRITE_MASK_IMM,用于寄存器地址 0×2B (VCCA_VMON_CTRL)。

  4. LDOx

    与“BUCK”和“BUCK Monitor”资源类似,这是汇编指令 REG_WRITE_VCTRL_IMM 和 REG_WRITE_VOUT_IMM 的抽象概念。在“Update action”(更新操作)窗口中选择“VCTRL”或“VOUT”选项卡将确定要应用的指令。每个选项卡中包含每条指令的参数。

  5. nRSTOUT

    nRSTOUT 命令写入或清除 MISC_CTRL 寄存器中的 nRSTOUT 位。该命令是应用于寄存器 MISC_CTRL(地址为 0x81)的 REG_WRITE_MASK_IMM 汇编指令的抽象概念。通过选择“unchanged”(未改变)、“high”(高)或“low”(低)来确定数据和掩码。选项 unchanged(未改变)不会产生任何影响,仅作为一个指令周期的延迟。

  6. nRSTOUT_SOC

    nRSTOUT_SOC 命令写入或清除 MISC_CTRL 寄存器中的 nRSTOUT_SOC 位。该命令是应用于寄存器 MISC_CTRL(地址为 0x81)的 REG_WRITE_MASK_IMM 汇编指令的抽象概念。通过选择“unchanged”(未改变)、“high”(高)或“low”(低)来确定数据和掩码。选项 unchanged(未改变)不会产生任何影响,仅作为一个指令周期的延迟。

    注: nRSTOUT 和 nRSTOUT_SOC 都可以在 MISC_CTRL 寄存器中找到。可以使用一个 REG_WRITE_MASK_IMM 命令更有效地设置和清除这两个位,而不是使用两个单独的命令 nRSTOUT 和 nRSTOUT_SOC。
  7. WAIT

    WAIT 命令在指令集中提供条件分支,类似于 ifwhile 语句。当提供超时时,WAIT 条件实际上是一条 if 语句,如果条件为真,则继续执行下一条指令,如果条件为假,则跳转到目标。如果超时不为零,则 PMIC 将等待,直到条件为真,然后执行下一条指令,或直到超时,然后跳转到目标。目标必须始终位于 WAIT 命令之后,因为 WAIT 指令的跳过计数始终为正。在版本 3.0.0 中,超时值必须可以通过电流 PFSM_DELAY_STEP 来实现。如果无法实现超时,GUI 将在 PFSM 验证中返回错误。使用 PFSM_DELAY_STEP 命令以更新 PFSM_DELAY_STEP。

    注: 不建议对多个器件使用超时,因为如果在超时之前满足条件,则其他器件不知道会等待多长时间。

  8. JUMP

    JUMP 命令是 WAIT 命令的特殊实现,其超时时间为 0,并且条件始终为假。目标必须位于 JUMP 命令之后。

  9. RESET_BUCKs

    RESET_BUCKs 命令直接写入地址 0×87 的 BUCK_RESET_REG 寄存器中。在该命令中,复位是针对每个 BUCK 进行的,即使 BUCK 是多相的,也必须对每个 BUCK 进行配置。RESET_BUCKs 命令被转换为 REG_WRITE_MASK_IMM 命令以寻址 0×87,以清除或设置位 0 至 4(表示 BUCKS 1-5)。

    警告: RESET_BUCK 命令将使降压稳压器停止开关。只应在断电序列中使用该命令。
  10. GO_TO_LP_STANDBY

    GO_TO_LP_STANDBY 命令直接将 1 写入 LDOINT_CTRL 寄存器中的 LDOINT 禁用位,地址为 0x21。LDOINT 是一个自行清除位。GO_TO_LP_STANDBY 命令被转换为 REG_WRITE_MASK_IMM 命令以寻址 0×21,数据值为 0x01,掩码为 0xFE。

  11. SET_WD_LONGWINDOW

    将 SET_WD_LONGWINDOW 命令直接写入 WD_LONGWIN_CFG 寄存器中的 WD_LONGWIN 字段,地址为 0x405。该字段用于对看门狗长窗口的持续时间进行编程。SET_WD_LONGWINDOW 命令被转换为 REG_WRITE_MASK_IMM 命令以寻址 0×405,数据值为 0x00 至 0xFF,掩码为 0x00。 0x00 的值约为 100ms,而 0xFF 的值约为 12 分钟。

  12. GO_TO_LONGWIN

    GO_TO_LONGWIN 命令直接将 1 写入 WD_MODE_REG 寄存器中的 WD_RETURN_LONGWIN 位,地址为 0x406。此命令将使看门狗在当前看门狗序列完成后返回长窗口。GO_TO_LONGWIN 命令被转换为 REG_WRITE_MASK_IMM 命令以寻址 0x406,数据值为 0x01,掩码为 0xFE。

  13. FIRST_STARTUP_DONE

    FIRST_STARTUP_DONE 命令直接将 1 写入 RTC_CTRL_2 寄存器中的 FIRST_STARTUP_DONE 位,地址为 0xC3。FIRST_STARTUP_DONE 命令被转换为 REG_WRITE_MASK_IMM 命令以寻址 0×C3,数据值为 0×80,掩码为 0×7F。

  14. INCREASE_RECOVERY_COUNT

    INCREASE_RECOVERY_COUNT 命令直接将 1 写入 RECOV_CNT_PFSM_INCR 中的 INCREASE_RECOVERY_COUNT 位,地址为 0×A5。该位会自行清除,因此每条命令都会使恢复计数器递增。INCREASE_RECOVERY_COUNT 命令被转换为 REG_WRITE_MASK_IMM 指令以寻址 0×A5,数据值为 0x01,掩码为 0xFE。

  15. ACTIVATE

    ACTIVATE 命令是与上电序列相关的若干命令的组合。这些命令包括:

    1. 应用于 ENABLE_DRV_STAT 的 REG_WRITE_MASK_IMM,用于清除 SPMI_LPM_EN。
    2. 应用于 VCCA_VMON_CTRL 的 REG_WRITE_MASK_IMM,用于清除或设置 VCCA_VMON_EN,具体取决于从“ACTIVATE”命令窗口中选择的值。
    3. 应用于 MISC_CTRL 的 REG_WRITE_MASK_IMM,用于清除或设置 AMUXOUT_EN/REFOUT_EN 和 CLKMON_EN,具体取决于从“ACTIVATE”命令窗口中选择的值。该指令包含 LPM_EN 清除。
  16. DEACTIVATE

    DEACTIVATE 命令是与断电序列相关的几个命令的组合。不建议在多 PMIC 应用中使用此命令。这些命令包括:

    1. 应用于 ENABLE_DRV_STAT 的 REG_WRITE_MASK_IMM,用于设置 SPMI_LPM_EN。
    2. 应用于 VCCA_VMON_CTRL 的 REG_WRITE_MASK_IMM,用于清除或设置 VCCA_VMON_EN,具体取决于从“DEACTIVATE”命令窗口中选择的值。
    3. 应用于 MISC_CTRL 的 REG_WRITE_MASK_IMM,用于清除或设置 AMUXOUT_EN/REFOUT_EN,具体取决于从“ACTIVATE”命令窗口中选择的值。该指令包含 LPM_EN 设置。

    不建议将 Deactivate 命令用于多 PMIC 应用。 SPMI_LPM_EN、VCCA_VMON_EN、AMUXOUT_EN/REFOUT_EN、CLKMON_EN 和 LPM_EN 等参数的控制由 ACTIVATE 和 DEACTIVATE 命令抽象。SPMI_LPM_EN 将 SPMI 设置为停止 SPMI WD(总线检测信号)的低功耗模式。在多 PMIC 应用中,必须同时处理 SPMI_LPM_EN 以防止 SPMI WD 故障。因此,为了缓解时钟变化,必须在每个 PMIC 序列中尽早设置和清除 SPMI_LPM_EN 。

    LPM_EN 参数将 PMIC 置于低功耗模式。预期的用例是 PFSM 在进入低功耗状态时设置 LPM_EN。最终目标是禁用数字振荡器以减少功耗。有关设置 LPM_EN 时禁用的函数,请参阅数据表。

    表 8-3 SPMI_LPM_EN、FORCE_EN_DRV_LOW 和 LPM_EN 示例汇编指令
    TO_SAFE TO_STANDBY TO_RETENTION TO_ACTIVE
    SPMI_LPM_EN=1,FORCE_EN_DRV_LOW =1 SPMI_LPM_EN=1,FORCE_EN_DRV_LOW =1 nRSTOUT = 0,nRSTOUT_SOC=0 LPM_EN=0,AMUXOUT_EN = 1,CLKMON_EN = 1
    nRSTOUT = 0,nRSTOUT_SOC=0 nRSTOUT = 0,nRSTOUT_SOC=0 SPMI_LPM_EN=1,FORCE_EN_DRV_LOW =1 SPMI_LPM_EN = 0
    ... ... ... ...
    LPM_EN=1,AMUXOUT_EN = 0,CLKMON_EN = 0 LPM_EN=1,AMUXOUT_EN = 0,CLKMON_EN = 0 LPM_EN=1,AMUXOUT_EN = 0,CLKMON_EN = 0 FORCE_EN_DRV_LOW =0
    nRSTOUT = 1,nRSTOUT_SOC=1

    注: EN_DRV、nRSTOUT 和 nRSTOUT_SOC 引脚可能不会在应用中使用,但出于完整性考虑在此处显示。在这些示例中,VCCA_VMON_EN 保持为“1”。

    多 PMIC 解决方案的关键要求是 SPMI_LPM_EN 应首先出现,而 LPM_EN 应在序列最后出现。因为 DEACTIVATE 命令将 LPM_EN 和 SPMI_LPM_EN 封装在一组执行中,因此,在开头或结束时放置 DEACTIVATE 将违反其中一个要求。

  17. ENDRV

    ENDRV 命令是直接写入 ENABLE_DRV_STAT 寄存器中的 FORCE_EN_DRV_LOW 位,地址 0×82。ENDRV 命令被转换为 REG_WRITE_MASK_IMM 命令,地址为 0×82,数据值为 0×08 或 0×00,掩码为 0×F7。

  18. DELAY_IMM

    DELAY_IMM 命令是 DELAY_IMM 指令的直接表示。该命令中指定的延迟应用于所有器件。在版本 3.0.0 中,如果现有 PFSM_STEP_SIZE 无法实现 DELAY_IMM 的大小,GUI 将不再自动调整 PFSM_STEP_SIZE。用户负责管理所需延迟的 PFSM_STEP_SIZE。这也适用于所有具有定时元件的指令。如果无法实现延迟,会在 PFSM 验证中提供错误。

    注: 汇编器将对 DELAY_IMM 指令进行优化并与以下指令相结合(如果该指令包含计时参数)。

  19. REG_WRITE_MASK_IMM

    REG_WRITE_MASK_IMM 命令是 REG_WRITE_MASK_IMM 指令的直接表示。REG_WRITE_MASK_IMM 命令包含一个掩码,用于在不影响寄存器中的其他位的情况下写入或清除特定的位。

  20. TRIG_MASK

    TRIG_MASK 命令是 TRIG_MASK 指令的直接表示。触发条件掩码将决定要启用和禁用的中断。如果使用自动触发条件,则会根据“TARGET STATE”中的触发条件设置来设置触发条件。

  21. REG_WRITE_IMM

    REG_WRITE_IMM 命令是 REG_WRITE_IMM 指令的直接表示。REG_WRITE_IMM 命令覆盖指定的寄存器中的所有位。

  22. REG_WRITE_MASK_SREG

    REG_WRITE_MASK_SREG 命令是 REG_WRITE_ MASK_SREG 指令的直接表示。REG_WRITE_MASK_SREG 命令包含一个掩码,用于在不影响寄存器中的其他位的情况下写入或清除特定位。数据来自指定的擦除寄存器。

  23. SREG_READ_REG

    SREG_READ_REG 命令是 SREG_READ_REG 指令的直接表示。该命令将寄存器的内容复制到指定的擦除寄存器。

  24. SREG_WRITE_IMM

    SREG_WRITE_IMM 命令是 SREG_WRITE_IMM 指令的直接表示。

  25. DELAY_SREG

    DELAY_SREG 命令是 DELAY_SREG 指令的直接表示。该延迟不同于资源和命令中的其他延迟。该延迟仅应用于指定的器件。

  26. PFSM_DELAY_STEP

    PFSM_DELAY_STEP 是写入 PFSM_DELAY_STEP 寄存器的 SET_DELAY 指令的直接表示。

  27. END

    END 命令是 END 指令的直接表示。这可以用于终止在 PFSM 序列中使用 JUMP 和 WAIT 命令创建分支。