通过定制电源管理集成电路轻松缩短上市时间

2024-05-09

Figure 1

   

摘要

电源管理集成电路(PMIC)有益于简化最终应用并缩小其尺寸,也因此备受青睐。然而,当默认启动时序和输出电压与应用要求不符时,就需要定制上电设置。大多数情况下,电路没有可以存储这些设置的非易失性存储器(NVM)。对此,低功耗微控制器是一个很好的解决方案,其功能特性和所包含的工具可以在上电时对PMIC控制寄存器进行编程,而不需要开发固件。本文将探讨如何使用工具链来解决集成难题。该工具链无需开发固件,能够简化PMIC的定制过程,并显著缩短开发周期。

简介

为了减小手持设备、智能相机和其他便携式设备的尺寸并降低 成本,设计时需使用高度集成且功能强大的器件。MAX77714是一款高度集成的PMIC,包含多个降压转换器、低压差(LDO)稳压 器、通用输入输出(GPIO)和实时时钟(RTC),可用于生成应用所需 的所有电源轨。

灵活的时序控制器支持针对目标应用定制上电和关断时序。

这款PMIC提供的几种VOUT/时序控制器选项(由完整产品型号定义)不符合应用要求。为了提高灵活性,可以使用低功耗微控制器作为替代解决方案。该器件可以在上电时唤醒,对器件寄存器进行编程,然后休眠以节省电力。

要求高集成度的中等规模应用需要采用现成器件的简单解决方案,并根据需求定制操作。

硬件设计人员一直希望能够拥有可以自动生成固件代码的工具,让他们可以在前期开发时避免涉及软件资源,同时还能优化资源的使用。

MAX28200

MAX28200是一款低功耗、小尺寸(1.7 mm × 1.8 mm)RISC微控制器,带有多种外设。对于此应用,我们使用两个GPIO引脚作为位触发I2C 主机。

电源电压最高为3.6 V,因此如果输入电压超过3.6 V,则使用始终开启的LDO稳压器为微控制器供电。该器件可以通过 I2C 节点接口 进行编程。

MAX77714

MAX77714(图1)是一款高度集成的PMIC,包含四个降压转换器、九个LDO稳压器、八个GPIO、一个RTC和一个灵活的电源时序控制器(FPS)。降压转换器和LDO稳压器按照默认时序和电压上电,并遵循电压轨规范。用户可以通过 I2C 嵌入式接口进行修改。然 而,在大多数情况下,我们需确保默认时序和电压与连接到PMIC的器件的要求相匹配;如果电压超过其最大额定值,器件可能会损坏。

上电和关断时序也很重要,因为现场可编程门阵列(FPGA)等器件为了正常运行,需要按照正确的时序使能和禁用电压。图2为默认上电时序。共有八个时隙,电压可以在任意一个时隙中使能。该器件可以由高达5.5 V的电压供电。

Figure 1. A MAX77714 simplified block diagram.

图1. MAX77714简化功能框图。

Figure 2. A MAX77714EWC+ default power-up sequence.

图2. MAX77714EWC+默认上电时序。

器件接口

P0.0和P0.1用于生成针对PMIC的 I2C事务;P0.2负责监控GPIO4的状态;P0.3利用SPDT开关选择 I2C主机(MAX28200或主机微控制器)。模拟开关是选配项,仅在主机微控制器需在上电后控制PMIC时才需要配置(见图3)。

Figure 3. The MAX28200 and MAX77714 interfacing with the MAX14689 and the ADP166.

图3. MAX28200和MAX77714与MAX14689和ADP166连接。

上电复位(POR)如图4所示:

  1. P0.3置为低电平,选择该器件作为PMIC的I2C 主机。
  2. 写入以下所需的数据寄存器。
  3. P0.3置为高电平,选择主机微控制器作为 I2C主机,该器件进入休眠模式。
  4. P0.2连接到GPIO4,用于在关断时唤醒器件并对寄存器重新编程。

请注意,在配置结束时,必须将GPIO4置为高电平。

一旦使用EN0和EN1信号使能PMIC,它就会以新的时序/电压配置上电。

Figure 4. A MAX28200 program flow.

图4. MAX28200程序流程。

MAX77714上电和关断时序由此处 提供的MAX77714 GUI定义。

使用“GUI导入/导出”选项卡,可以将寄存器值导出为Excel文件。

在展示如何使用GUI EVKIT之前,我们需要先知道哪些寄存器对于定制启动很重要。

MAX77714寄存器详细信息

降压转换器

每个降压转换器实例都有三个相关寄存器(SDx_CNFG1、SDx_CNFG2 和SDx_CNFG3),用于定义启动电压、斜坡速率和工作模式。

CNFG1用于设置输出电压,7位至8位位域如下:

VSD0 = 0.26 V + ((SD0VOUT[6:0] - 1) × 10 mV) 范围为0.26 V到1.56 V

VSD1 = 0.26 V + ((SD1VOUT[6:0] - 1) × 10 mV) 范围为0.26 V到1.56 V

VSD2 = 0.6 V + (SD2VOUT[7:0] × 6.25 mV) 范围为0.6 V到2.194 V

VSD3 = 0.6 V + (SD3VOUT[7:0] × 12.5 mV) 范围为0.6 V到3.7875 V

CNFG2和CNFG3寄存器用于选择斜坡速率(2.5 mV/μs或10 mV/μs)、使能/禁用主动放电、使能/禁用跳频模式、选择响应时间和过压阈值。

LDO电压调节器

每个LDO稳压器实例都有两个相关寄存器(LDO_CNFG1_Lx和LDO_ CNFG2_Lx)。

CNFG1设置输出电压:

LDO0和LDO1为0.8 V至2.375 V。

VLDO = 0.8 V + (VOUT_LDO[5:0] × 25 mV)

LDO2、LDO3、LDO5、LDO6、LDO7、LDO8为0.8 V至3.95 V

VLDO = 0.8 V + (VOUT_LDO[5:0] × 50 mV)

LDO4为0.4 V至1.275 V

VLDO = 0.4 V + (VOUT_LDO[5:0] × 12.5 mV)

CNFG2用于使能/禁用过压箝位、使能/禁用自动低功耗模式、使能/禁用主动放电、选择快速/慢速启动。

GPIOs

每个GPIO实例都有一个相关寄存器CNFG_GPIOx,该器件负责选择方向GPO/GPI、输出类型(开漏/推挽)和输出驱动电平(若为GPO),以及输入驱动电平、中断行为和去抖动配置(若为GPI)。

FPS

时序由xxxFPS寄存器定义,LDO0FPS至LDO8FPS用于线性稳压器, SD0FPS至SD3FPS用于降压转换器,GPIO0FPS、GPIO1FPS、GPIO2FPS、 GPIO7FPS用于GPIO,RSTIOFPS用于复位。

FPS[2:0]用于设置关断时隙(SLOT0至SLOT7)

FPS[5:3]用于设置上电时隙(SLOT0至SLOT7)

FPS[7:6]用于设置分配的时序控制器(FPS0、FPS1)

FPS0由EN0使能,FPS1由EN1使能

上电和关断时隙的大小可以利用MSTR_PU_PD寄存器指定:

MSTR_PU_PD[2:0]用于指定关断时隙,MSTR_PU_PD[6:4]用于指定上电 时隙

可能的步长为:31 μs、63 μs、127 μs、253 μs、508 μs、984 μs、1936 μs、 3904 μs,MAX77714EWC+的默认值为3904 μs。

GUI实际应用

在图5中,已利用GUI将SD0的输出电压修改为0.7 V。

Figure 5. GUI used to modify SD0 voltage.

图5. 用于修改SD0电压的GUI。

SD0上电和关断时序已修改为时隙2(图6)。

Figure 6. GUI used to modify SDO slot number.

图6. 用于修改SDO时隙号的GUI。

GPIO4已配置为推挽输出,驱动电平为高电平(图7)。

Figure 7. GUI used to configure GPIO4.

图7. 用于配置GPIO4的GUI。

最后,使用“导入/导出”选项卡将修改后的寄存器值导出为 Excel文件(图8)。

Figure 8. GUI used to export register values.

图8. 用于导出寄存器值的GUI。

以下是生成的.csv文件(图9)。

Figure 9. The format of the MAX77714 .csv file.

图9. MAX77714 .csv文件的格式。

请注意,如果必须在上电期间对连接到 I2C的其他器件进行编 程,用户可以使用相同格式将其他命令附加到.csv文件。

从.csv文件创建 I2C 主机固件

您可以点击此处获取MAX28200 GUI,按照以下步骤可对器件进行编程:

  1. 从.csv文件构建.hex文件(图10)。
  2. . 对器件进行编程(图11和图12)。

Figure 10. Build a .hex file from the original .csv file.

图10. 从原始.csv文件构建.hex文件。

Figure 11. A programming device with the selected script.

图11. 使用选定脚本对器件进行编程。

Figure 12. A programming device with a data pattern.

图12. 使用数据模式对器件进行编程。

对建议解决方案进行测试

一旦在上电时使用MAX77714.hex进行编程,P0.3就会置为低电平,以将MAX77714 I2C线连接到MAX28200,并使用新值对SD0和GPIO4寄存器进行编程(图13)。

Figure 13. The MAX77714 SD0 and GPIO4 registers are programmed with new values.

图13. MAX77714 SD0和GPIO4寄存器已用新值进行编程。

现在,当MAX77714使能时,EN0置为高电平,SD0将按照编程设定,以0.7 V在时隙2上电。图14为寄存器写入之前上电(a)和寄存器写入之后上电(b)的情况。

Figure 14. SDO power-up before and after registering writing. (a) Power-up before register writing. (b) Power-up after register writing.

图14. SDO在寄存器写入之前和之后上电。(a)寄存器写入之前上电。(b)寄 存器写入之后上电

关于作者

Franco Contadini
Franco Contadini拥有超过35年的电子行业从业经验。在从事电路板和ASIC设计工作10年之后,他成为现场应用工程师,为工业、电信和医疗客户提供支持,主要负责电源和电池管理、信号链、加密系统和微控制器。 Franco撰写了多篇关于信号链和电源的应用笔记和技术文章。在意大利热那亚国际信息学院学习期间,他主修电子学。

最新视频 21

Subtitle
了解更多
添加至 myAnalog

将文章添加到 myAnalog 的资源部分、现有项目或新项目。

创建新项目