搜索

112

主题

166

帖子

1886

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1886
发表于 2022-6-24 11:15:38 1397 浏览 0 回复

GM30/GM25一些常见问题和科普

本帖最后由 星空 于 2022-6-24 11:16 编辑

    因为一些刚接触到MTK平台的客户,会不知道MTK平台电量计的工作原理。会误认为,电量显示的百分比就是:电池的剩余mah与电池标定mah的比值 。实际上mtk平台出于对PMIC供电的稳定考虑,会以电池电压3.4V的CV值作为考量,去拟合UISOC。故做此FAQ以便客户了解一些MTK的gauge概念。

名词解释:
    ||: 绝对值符号,|i|表示为i的绝对值
    OCV:电池开路电压,也可以理解为电池拆下来后,量取的电池电压。但是如果要对应zcv table的mah需要静置30分钟。
    CV:电池闭路电压,也就是sw上面读到的,也是VBAT ADC量取的电压。
    R:粗略估计为,电池内芯到ADC检测点的电阻(实际上电池有化学特性,即电池的化学特性也会成为一个非线性阻抗)
    i:流过电池的电流,默认流出电池方向为正,即数值上放电表示+|i|,充电表示-|i|。

公式1:
        CV =OCV - i*R

(以下问题是基于电量已经调整过后的问答)
    静置30分钟之后的OCV可以对应mah(电池电压回弹现象,电池化学性质),而CV值不可以。即OCV才是参考mah的指标之一,CV不是。(具体看zcv table)
    OCV仅是参考电池剩余电量的参考值;而MTK的UISOC是根据3.4V的CV去拟定,以手机正常工作为目的电量显示。即MTK UISOC显示的不是电池剩余电量,而是手机能正常使用的电池电量。  

问题:
        1.为什么高负载的时候,拆下来量取的电池电压(实际是OCV),还没有达到3.4V就关机了?/电池电量为什么没有放到指定mah就关机了?/为什么Amah电池,为什么只放到Bmah就关机了?
》》因为MTK的电量计,是考虑PMIC供电稳定性进行设计的(当CV值低于一定阈值条件的时候,会引起pmic掉电,具体情况因PMIC型号和sw配置而异),即CV值为3.4V的时候关机。当重载情况下,参考公式(1),可知道,放电的时候,当电池|iR|数值越大,达到关机的时候的OCV越大,会出现所谓的电量耗不尽的情况。但实际上这个是MTK为PMIC供电稳定性进行的考量设计。

        2.为什么低温(或者常温)情况下,突然重载,就会很快掉电?
》》同样参考公式1,因为低温情况下,电池内阻会相对较大,举例:假设内阻为0.5Ω,那么当电流是200ma和1A的时候,带来的i*R的压降为:0.1V和0.5V的差值。一般电池的电压在4.3V~3.4V,这样电池在低温的时候,可用电量会大大受限。但这也是出于PMIC的供电稳定性考虑,若是电池在低温的时候,电池内阻不大,那么受电流变化的影响会相对较小了。常温下,一般的电池内阻会比较小,除非高负载,不然不会出现电量掉电快的情况。(同样思考OCV 对应mah,则可了解其实可用mah都不一样)

        3.重载转轻载,为什么低电的持续时间较久?/轻载转重载,为什么突然掉电加快?
》》补充一下,这里说的加快是指,例如以OCV来看,电量还剩很多,以当前电流,应当掉电速度为mah/i,而实际比这个要快得多。而低电持续时间较久,是指同低电情况下,重载转轻载会比恒定轻载的百分比持续时间比要久。
     因为MTK是以CV为3.4V关机作为考量设计的,重载情况下,对应的|i*R|数值就大;相反,轻载情况下就比较小。同理,重载情况下,关机对应的OCV,就比较高,轻载的时候,关机的OCV就会比较低,即两者OCV实际上是不一样的。OCV对应电池的电量,可知两者实际上拟合的电量是不一样的,所以在进行转换的时候,会根据负载变化拟合曲线。
    但是这现象对客户来说很正常,使用就掉电快,不使用掉电慢。

        4.电量在常温的时候电量还为较高的A%,为什么到低温情况下就成较低的B%了?
》》这个主要跟电池本身特性有关,电池本身就是化学特性,他的电量并不是完全线性的。另外加上低温条件下,不同电池本身的电池内阻会不一样(低温条件下电池内阻会增大),参考公式1,那么按照MTK对3.4V CV的考量,那么对应的电量估算百分比就不一样,这个主要依据电池本身特性。

        5.为什么从log里面看,电池电压CV值还有3.6V,为什么瞬间打到掉电关机?
》》怎么判断是掉电关机这里不提,根据公式1,可知,当瞬间抽载较大的时候,会导致|i*R|的数值瞬间增大,打到PMIC掉电hw行为。比如闪光灯,可以瞬间抽1A以上的电流,暗场景会更多,具体情况因芯片和控制配置而异(之前由碰过因调试不当抽到2.5A的情况)。

        6.为什么看log里面的CV值,充电和不充电的时候,差值那么大?
》》同样参考公式1,当充电的时候,CV(充)= OCV +|I*R|;当放电的时候,CV(放)= OCV -|i*R|。那么CV(充)-CV(放)= R*( |I|+|i|),所以差值就会因电流和电阻而变化。

        7.为什么充电的时候看log电压值是3.9V,应该显示A%左右,为什么显示的低很多?/为什么放电的时候,看log电压值是3.7V,应该显示B%左右电量,为什么显示的要高很多?
》》一般电池的电量估算是使用OCV进行估算加上MTK3.4V的CV值进行估算,先姑且抛开MTK设计。Log里面看到的电压值都是CV值,而非OCV,同样参考公式1,即可知,充放电的时候,OCV和CV是存在差值的,所以直接使用log里面看到的电压去估算电池电量是不对的。

        8.为什么电池在某个区间的时候,开机电量会有大的跳变现象?
》》电量是参考OCV,但是电池是化学特性,所以OCV对应百分比也不是呈现线性变换的,他会有一个电压变换较为平缓的区域。即在这个区域内OCV变换很小,电量变化较大,就会看到相对跳变较大的情况,这个可以咨询MTK进行解决。(这现象主要针对配置为非嵌入式电池,因为非嵌入式电池要考虑客户换电池的算法)

回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表