1.概述
市面上的高端PMIC芯片,功能都非常丰富,输出电压可调节、故障监控、启动配置、MCU认证等,用户可以根据项目实际需求,进行灵活的配置,让PMIC芯片的功能最大限度的满足项目需求。
PMIC芯片通常支持多种编程接口,如I2C、SPI等,这些接口使得PMIC芯片可以与MCU、DSP进行通信,向PMIC芯片内的寄存器写入配置数据,配置芯片的功能。
2.解决的问题
通过对PMIC芯片编程,可以使得嵌入式系统的电源管理、静态功耗、系统稳定、系统安全等各个方面进行精细化控制,具体有下面几个方面:
- 电源管理优化
输出电压和电流的调整:通过编程,PMIC芯片可以根据具体的应用需求调整输出电压和电流,应用工程师能根据项目需求进行最佳匹配。
多电源输出管理:对于需要多种电源电压的复杂系统,PMIC芯片可以通过编程管理多个电源通道,确保每个电源通道都能提供稳定、精确的电压输出。
- 功耗优化
动态功耗管理:PMIC芯片能够根据设备的运行状态(如空闲、待机、正常等)动态调整功耗,降低不必要的能源浪费,通过编程,用户可以设定不同的功耗模式,以适应不同的应用场景。
电源门控:某些PMIC芯片支持电源门控功能,即在不使用某些电路时将其断电,以减少功耗。通过编程,用户可以控制电源门控的开启和关闭。
- 系统稳定性和安全性
过压保护:PMIC芯片可以设置过压保护阈值,当输入电压超过设定值时自动切断电源,防止设备受损。
过流保护:PMIC芯片也可以设置过流保护阈值,当电流超过设定值时采取措施保护电路和设备。
温度监控:一些PMIC芯片具备温度监控功能,通过编程可以设定温度报警阈值,当设备温度过高时发出警报或采取降温措施。
- 智能化管理
电池管理:对于依赖电池供电的设备,PMIC芯片通过编程可以实现智能化的电池管理,包括充电控制、电量监测、电池健康状态评估等。
电源时序控制:在复杂系统中,各个模块的上电和断电顺序至关重要。通过编程,PMIC芯片可以精确控制电源时序,确保系统稳定启动和关闭。
- 灵活性和可扩展性
可编程性:PMIC芯片的可编程性使其能够适应不同的应用场景和需求,用户可以根据具体需求调整电源管理策略和功能。
升级和更新:随着技术的不断发展,PMIC芯片的固件和软件可以通过编程进行升级和更新,以支持新的功能和优化性能。
还是以VR5510为例,讲解PMIC的编程。
3.VR5510的I2C编程
VR5510 的 I2C 接口是3.4 Mbit/s 的高速接口。I2C 接口协议要求在多设备总线上为目标 IC 提供一个设备地址。VR5510 有两个设备地址:一个用于访问主逻辑,另一个用于访问故障安全逻辑。这两个 I2C 地址由 OTP 设置。
I2C 接口使用 VDDIO 作为主电源,并且与 1.8 V / 3.3 V 输入电源兼容。SCL 和 SDA 引脚可以通过 2.2 kΩ 电阻上拉到 VDDIO。
I2C命令序列
I2C write command:
DEVADDR-W + REG_ADDR + MASTER_DATA_MSB + MASTER_DATA_LSB + CRC
CRC is calculated with bits from B39 to B8
I2C read sequence:
DEVADDR-W + REG_ADDR + I2C_REPEAT_START + DEVADDR-R +SLAVE_DATA_MSB + SLAVE_DATA_LSB + CRC
CRC is calculated with bits from DEVADDR-R + REG_ADDR + SLAVE_DATA_MSB + SLAVE_DATA_LSB
部分I2C寄存器地址
部分I2C寄存器描述
OTP寄存器
OTP寄存器在生产过程中一次性设置某些参数,之后无法更改,VR5510包含27个OTP寄存器。
4.总结
本文介绍了PMIC芯片需要支持编程的原因,是为了适配项目需求,灵活性的扩展,以VR5510的I2C编程为例,说明了PMIC编程的一种方式,其他PMIC芯片类似。
嵌入式开发的实操,已在github公开,需要学习研究的自取。
https://github.com/sydyg/Vehicle_Soft_Class.git