M6的电量提示十分不准确,一直是机友们十分诟病的。本人的手机充满电四格电,不到一天后两格,之后两格电要维持3天左右,而欠电报警后大概还可以待机一天左右,有时候不得不进行放电(因为座充很遗憾的没有放电功能)。
关于这个问题,存在以下两种可能和两种结果:
1、电量检测采用专用芯片检测(MAXIM等都有类似产品),然后向CPU发出检测信号:包括很简单的电量指示(既几个阀值的指示条信号)和一个欠电信号。这种芯片要求电路设计人员给出的信号阀值非常准确,否则就会出现电量指示条的不准确,及欠电报警不准确。这个阀值和电池的特性有一定的关系,尤其是放电终止电压。
2、直接采用A/D转换电路,将电池电压转换成数字量,送CPU直接进行积分计算,然后与程序设定值比较,这样可以得出一个相对准确的电量指示和欠电报警。
基于以上两种方式的电量检测,其结果是,第一种方式是不可以通过软件程序进行改进的,因为专用检测芯片的外围参数已经做死了,除非拆开手机更换元件才可以解决电量指示不准确的问题。而第二种检测方式就可以通过程序修改来解决这个问题。
既然夏新在最新的0117版本都没有解决这个问题,本人怀疑M6的电量检测可能是采用的第一种方案。
其实不论采用何种检测方法,本人认为M6设计人员肯定对电池的放电特性不是十分了解。蓄电池的容量和电压肯定不是线性的关系。M6上出现电量指示非线性,估计是设计人员用电压直接对应了容量,而对电压-容量的曲线又没有充分的理解和认识。
当然以上仅仅是本人粗浅的猜测和分析,希望以次抛砖引玉。