Charging temperature control

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Charging temperature control

Jump to solution
755 Views
ivangolob
Contributor I

Hi,

just a question about the battery charger temperature control.

Can I disable the internal die temperature control (monitorDieTemp=0 in "arch/arm/mach-mx28/device.c") and leave enabled only a battery temperature control with a NTC connected to a LRADC ?

I ask this because sometimes the system stops and then resumes the battery charging due to a high die temperature. This is strange because the die temperature doesn't seem to rise too much, but the driver, when the battery is charging, returns that the die temperature is too high; the "MeasureInternalDieTemperature" function returns 314 when the battery is not charging, 340 when the battery is charging and this value stops the charge, but then almost instantly the charge is resumed (this is strange, the returned value falls almost immediately to the lower level 314).

When I measure the temperature with the NTC connected on the battery the temperature remains almost constant.

Is this normal? Did you already see something similar?

Thanks, best regards.

   Ivan

Labels (2)
0 Kudos
1 Solution
502 Views
GraceH
Senior Contributor II

Hi Ivan,

In "arch/arm/mach-mx28/device.c, you can see the DieTempHigh is set as 75. If the die temperature is higher than 75.

the battery charging is stopped.  You can get the die temperature of your board with maximum charging current and maximum CPU loading at room temperature and set DieTempHigh as the chapter 11.6 Battery Charger of i.MX28 reference manual.

.u8DieTempHigh = 75, /* deg centigrade */

.u8DieTempLow = 65, /* deg centigrade */

Before i.MX28 release Linux 2.6.35.1.1.0, ddi_power_GetBatteryTemp is not implemented. In Linux 2.6.35.1.1.0 release,  ddi_power_GetBatteryTemp is implemented. But it only supports thermistor which is used for external temperature sensing.  you can reference MeasureInternalBatteryTemperature in ddi_power_battery.c.

But to protect MX28 chip, we don't suggest to change monitorDieTemp to 0.

Regards,


Grace

View solution in original post

0 Kudos
1 Reply
503 Views
GraceH
Senior Contributor II

Hi Ivan,

In "arch/arm/mach-mx28/device.c, you can see the DieTempHigh is set as 75. If the die temperature is higher than 75.

the battery charging is stopped.  You can get the die temperature of your board with maximum charging current and maximum CPU loading at room temperature and set DieTempHigh as the chapter 11.6 Battery Charger of i.MX28 reference manual.

.u8DieTempHigh = 75, /* deg centigrade */

.u8DieTempLow = 65, /* deg centigrade */

Before i.MX28 release Linux 2.6.35.1.1.0, ddi_power_GetBatteryTemp is not implemented. In Linux 2.6.35.1.1.0 release,  ddi_power_GetBatteryTemp is implemented. But it only supports thermistor which is used for external temperature sensing.  you can reference MeasureInternalBatteryTemperature in ddi_power_battery.c.

But to protect MX28 chip, we don't suggest to change monitorDieTemp to 0.

Regards,


Grace

0 Kudos