N900 Hardware Charge Meter

(Software)
(Software)
Line 16: Line 16:
-
There is no kernel driver in the default N900 software for this chip, a [http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/drivers/power/bq27x00_battery.c partial third party driver exists].
+
There is no kernel driver in the default N900 software for this chip, a [http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/drivers/power/bq27x00_battery.c partial third party driver bq27x00_battery exists].
-
This third party driver has some issues - for example - the 'current_now' value it exports is not mA, but needs multiplied by (3.57/n) - where n is the sense resistor in the N900.
+
This third party driver has some issues - for example - the 'current_now' value it exports is not mA, but needs multiplied by (3.57/n) - where n is the sense resistor in the N900. The sense resistor seems to be between 20 and 22 mR - but no accurate measurements have been performed, and the schematic does not help with this.
-
The sense resistor seems to be between 20 and 22 mR - but no accurate measurements have been performed, and the schematic does not help with this.
+
Now on kernel mailinglist is series of patches which improve (report more properties about battery then BME) kernel driver bq27x00_battery. All these issues are fixed. Backported patches for N900 are here: http://talk.maemo.org/showpost.php?p=925980&postcount=674
There's a [[N900_Hardware_Charge_Meter/bq-script|script]] and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK)
There's a [[N900_Hardware_Charge_Meter/bq-script|script]] and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK)
[[Category:N900 Hardware]]
[[Category:N900 Hardware]]

Revision as of 19:16, 18 February 2011

There is a charge meter chip in the N900, a TI BQ27200 this can be used to accurately measure the state of the battery.

Hardware

In many phones, this chip would be integrated into the battery, which has a number of benefits, from more rapid temperature sensing of potentially dangerous conditions in the battery, to being able to swap the battery, and have the swapped batteries charge accurately measured instantly.

The N900 integrates this chip onto the motherboard.

Software

It does not function properly in normal use with the stock BME as that usually turns off the phone before the threshold which would enable the charge monitor to properly learn the battery capacity.

With a replacement BME, it can learn battery capacity, and be used for useful life predictions.

It also can be used for energy profiling - see this page on power use.


There is no kernel driver in the default N900 software for this chip, a partial third party driver bq27x00_battery exists.

This third party driver has some issues - for example - the 'current_now' value it exports is not mA, but needs multiplied by (3.57/n) - where n is the sense resistor in the N900. The sense resistor seems to be between 20 and 22 mR - but no accurate measurements have been performed, and the schematic does not help with this.

Now on kernel mailinglist is series of patches which improve (report more properties about battery then BME) kernel driver bq27x00_battery. All these issues are fixed. Backported patches for N900 are here: http://talk.maemo.org/showpost.php?p=925980&postcount=674

There's a script and acompanying I2Ctools to read out the complete info from bq27200: http://enivax.net/jk/n900/bq.tar (thanks ShadowJK)