4412精英版迅为开发板。
uboot:uboot-2014-10。
PMIC:SAMSUNG S5M8767A
在移植新版u-boot的时候,上网搜电源管理芯片的使用方法资料,发现几乎没有,就算是datasheet也很难下载,不知道为什么?我只能理解这部分知识比较简单,没人愿意写。但记录原理和使用方法作为备忘,总是没有坏处。此外,还需要提前声明的是,这里只提供官方手册推荐的配置方法,免费玩法不能保证可行性和稳定性。
一、概览
LDO和BUCK概念:请参考嵌入式电路BUCK VS LDO》。
S5M8767A有9路BUCK和28路LDO,暂时可作为共有37路电源电路。这37路电源电路最低可使用6.25mV步进电压,多达60个电压档,可以准确控制输出电压。S5M8767A还有一个硬件RTC,时钟信息可以保存在外部电池供电的情况下。
二、PMIC与uboot的关系
uboot根据模块初始化硬件,有自己的代码顺序,这需要PMIC在特定的时间点提前为特定的硬件提供电源uboot初始配置。uboot例如,执行必然会失败PMIC需要在eMMC两个电源在初始化前供电。
另外PMIC初始化时间在uboot有默认的时间点,但这个时间点与核心板和底板的实际电路密切相关,需要根据实际需要提前或延迟。
2.0 PMIC中BUCK与LDO的分类
PMIC中的BUCK和LDO可分为两种:
一种是PMIC上电可直接输出电压BUCK和LDO。
另一种是PMIC上电不输出电压,需要使用i2c对PMIC只有在配置后才能输出电压BUCK和LDO。
2.1 PMIC与DDR的关系
对于4412来讲,DDR初始化是在BL2.如果使用汇编初始用汇编初始硬件i2c来对PMIC配置个人感觉没有意义,所以DDR的电源需要连接到PMIC的默认ON的BUCK上,即PMIC上电可直接输出电压BUCK,不需要代码配置。
S5M8767A推荐使用BUCK5做为DDR的电源,
但是,BUCK这里默认输出为15.2V,DDR标准1是需要的.5V,问题在哪里?
三星已经为我们考虑了这个问题,以适应不同类型的问题DDR,BUCK5可以通过K9 K输出四种默认电压:
这里设置了迅为的开发板:
这样一来,B5S1:B5S2 = 1:0 即BUCK5输出1.5V电压,恰到好处DDR的需求相吻合。
2.2 PMIC与4412主芯片的关系
给ARM核心提供电压PMIC的BUCK2,BUCK2也是默认ON默认输出1.1V。经过查阅4412 spec之后需要注意的是,1.1V电压下,给ARM提供时钟的核心APLL最大只能输出10000MHz,即使刚上电,如果没有设置PMIC,ARM核心只能工作1万MHz,最高频率1不能使用.4GHz。
三、PMIC的设置方法
3.1 通信协议
S5M8767A使用I2C协议与4412通信,从机地址分为两部分,PM(Power Manager)和RTC,也就是说PM和RTC寄存器地址分开,可视为两个单独的芯片。
3.2 举例
以BUCK1例说明寄存器的设置方法BUCK和LDO基本相似,必要时仔细阅读手册:
BUCK有两个8位控制寄存器,
CTRL1的低6位可以根据默认值设置,高两位需要解释,00和1x不需要解释01的意思。 BUCK1的开关由PWREN外引脚控制,这个PWREN引脚一般与4412相同XPWRRGTON引脚连接在一起,这个XPWRRGTON是由CPU自动控制,CPU这只脚处于休眠状态低,工作状态高,也就是说CPU一旦退出休眠状态,PMIC会给一切PWREN控制的BUCK & LDO上电。
CTRL2就是控制BUCK输出电压,6.25mV步进值,需要计算多少电压,然后写入。
四、引用高手PMIC技术贴
原载:什么是?PMU》
-----------------------------------------------------
什么是PMU(PMIC)
PMU(power management unit)是电源管理单元,一种高集成、便携式应用的电源管理方案,即将传统分离的几种电源管理芯片,如低压差线性稳压器(LDO)、直流直流转换器(DC/DC),但现在它们都集成到手机的电源管理单位(PMU)在这种情况下,可以实现更高的电源转换效率和更低的功耗,以及更少的组件数量来适应缩小的板级空间,成本更低。
PMU作为消费电子(手机,MP4、GPS、PDA等)具体主芯片配套的电源管理集成单元可以提供主芯片所需的不同电压的电源,同一电压的能源可以提供不同的手机工作单元,如处理器、射频设备、相机模块等,使这些单元能够正常工作。按主芯片需要而集成了电源管理,充电控制,开关机控制电路。包括自适应USB-Compatible的PWM多路直流直流转换器充电器(BuckDC-DCconverter),多路线稳压器(LDO),Charge Pump,RTC电路,电机驱动电路,LCD背光驱动电路、键盘背光驱动电路、键盘控制器、电压/电流/温度等多路12-BitADC,多路可配置GPIO。此外,还整合了过/欠压(OVP/UVP)、过温(OTP)、过流(OCP)等待保护电路。此外,还整合了过/欠压(OVP/UVP)、过温(OTP)、过流(OCP)等保护电路PMU可以在USB以及外部交流适配器、锂电池和应用系统负载之间安全透明的分配电能。动态电源路径管理 (DPPM) 共享系统和电池充电当系统负载升高时,电流会自动降低充电电流。当通过 USB 端口充电时,如果输入电压降至防止 USB 基于输入电压的动态电源管理在端口崩溃阈值以下 (IDPM) 降低输入电流。当适配器无法提供峰值系统电流时,电源路径架构也允许电池补偿此类系统的电流要求。 LDO它是一种稳压器件,利用较低的工作压差,通过负反馈调整输出电压,使其保持不变。如果压差小,使用LDO,便于电源管理,便于电源管理。压差大的还是用。DC-DC效率高。
根据系统的需要,可以提供电压调整所需的各种电压。此外,这些电源还可以与功能同步打开和关闭,以支持电压域切换。
PMU一般与主芯片绑定定制。因为它需要配合CPU上电时序。有些电压的上电顺序和时间间隔有先后关系和时间要求。这是一个很好的掩模。PMU它实际上是一个带有掩模程序的专用电源控制器。要32.768KHZ的晶体和19.2M的晶体.待机状态是32.768KHZ晶体工作,正常工作是19.2M主晶体工作。
靠上电池后PMIC进入待机状态,PMU由32.768KHZ晶体提供时钟,按POWER按钮触发启动后,按定制启动顺序对应LDO,DC-DC打开,19.2M主时钟工作,CPU电源正常后,给出输出设置CPU,给出输出复位信号CPU,释放复位信号,CPU开始启动。CPU输出PS_HOLD信号将PMIC工作状态。CPU输出PS_HOLD信号将PMIC工作状态。(关机时。CPU将PS_HOLD拉低电,PMIC关闭进入关机状态)
CPU正常工作后,可以通过I2C接口对PMIC控制每个模块。例如,当系统变频时,应调整不同的工作频率core电压到相应的电压。RTC时间设置和ALARM时钟PMIC异常事件可以产生中断信号CPU,CPU然后中断。
PMIC的电源越多,对系统的模块供电就越细,各个模块的电源受牵连就小,所以就越省电。
-----------------------------------------------------
参考资料:
[1]SEC_S5M8767A01-6070_Data Sheet_Ver.0.10.00_Preliminary.pdf
[2]DS_K4B2G1646Q-BC_Rev103.pdf
[3]SEC_Exynos 4412 SCP.pdf
来源于http://www.cnblogs.com/humaoxiao