产品展示
PRODUCT DISPLAY
牛宝体育官网您现在的位置: 首页 > 产品展示 > 电量传感器

android电池(四):电池 电量计(MAX17040)驱动理解篇【转】

发布时间:2024-04-18 09:14:11

来源:牛宝体育app

  防火门监控器图片

  电池电量计,库仑计,用max17040这颗电量IC去计量电池电量,这种形式较量合理。思起较量遥远的年代,做samsungs5pc110/sp5v210的时期,计量电量用一个AD口加两个分压电阻就做了,低电量的时期体例从来鉴定不精确,“低电合机”提示一会有,一会没有,客户谁人烦闷呀,“结果是有电依然没电?”。

  电量计MAX17040,他通过芯片去丈量电池电量,芯片自身集成的电道较量繁复,同时能够通过软件上的极少算法去完成极少解决,是丈量出的电量尤其精确。尚有一个好处,便是他之接输出数字量,通过IIC直接读取,咱们正在电道安排、步调解决上尤其的联合化。

  如下图所示,MAX17040和电池盒主控的相合,一个AD脚接到电池VBAT+,检测到的电量音信,通过IIC传到主控。

  下面是电道图,电道接口较量方便,VBAT+,接到max17040的CELL,IIC接到主控的IIC2接口,这个咱们正在步调中要摆设。看这个器件较量方便吧。

  看下max17040的内部组织,原本这也是一个AD转换的进程,单唯一颗芯片去完成,如许看起来较量专业些。CELL接口,原本便是一个ADC转换的引脚,咱们能够看到芯片内部有自身的时钟(timebase),IIC限度器之类的,通过CELL采撷到的模仿量,转换成数字量,传输给主控。

  通过上面的先容Max17040的硬件、道理咱们根基上都清楚了,较量方便,下面咱们就重心去明白下驱动步调。

  电量计的处事流程较量方便,max17040通过CELLADC转换引脚,把电池的干系音信,及时读取,存入max17040相应的寄存器,驱动申请一个依时器,记时完毕,通过IIC去读取电池状况音信,和老的电池音信比较,即使用转变上报,然后从头计时;如许轮回操作,流程如下所示:

  5、max17040测到电量后若何上传到体例(这个电池体例中有扼要的明白);

  IIC这个总线,正在处事顶用的较量多,TP、CAMERA、电量计、充电IC、音频芯片、电源打点芯片、根基全数的传感器,以是这多人要提神看下,后面有时分的话零丁列一片先容下IIC,从单片机时间都用的较量多,看来条总线的人命力很强,像C言语相通,很难被同类的东西替换到,起码现正在应当是如许的。

  依时器,便是定一个时分,譬喻:申请一个10秒依时器,linux体例着手计时,到10秒,讨教器清零从头计时并发出信号见知体例计时完工,体例接到这个信号,做相应的解决;

  INIT_DELAYED_WORK_DEFERRABLE(work,func);

  使命组织体的初始化完工后,接下来要将使命计划进处事队伍。可采用多种形式来完工这一操作。开始,操纵

  queue_work方便地将使命计划进处事队伍(这将使命绑定到暂时的CPU)。或者,能够通过

  queue_work_on来指定解决步调正在哪个CPU上运转。两个附加的函数为延迟使命供给无另表功效(其组织体装入组织体

  4中的依时器记时完工,就能够更动队伍,chip-work履行:max17040_work函数,把改读取的音信上传,咱们看下max17040_work函数的完成:

  这个是因为咱们的体例耗电较量大,用USB充电时,电流过幼,以是闪现越充越少的景象,以是这个功效给去掉了。

  电池弧线,便是电池的冲放电音信,便是用专业的筑立,对电池贯串充放电几天,测出一个较量均匀的值。然后转换成针对电量IC(如咱们用的max17040)的数字量,填入一个数组中,如下图所示:

  上面咱们方便清楚驱动顶用到的合键学问点,后面咱们把这些点串起来,驱动依然从probe说起;

  如:把电池电量音信上报:咱们正在max17040_work队伍更动函数中,即使有电池音信、状况转变,则上用power_supply_changed上报。

联系方式
  • 电话

    86-021-69155901

  • 传真

    86-021-69155906

在线客服