2004 Microchip Technology Inc.
DS21818C-page 21
PS501
8.1.4
BatteryMode
(0x03)
This function selects the various battery operational
modes and reports the battery’s capabilities, modes
and condition.
Bit 0: INTERNAL_CHARGE_CONTROLLER
Bit set indicates that the battery pack contains its own
internal charge controller. When the bit is set, this
optional  function  is  supported  and  the
CHARGE_CONTROLLER_ENABLED  bit  will  be
activated.
Bit 1: PRIMARY_BATTERY_SUPPORT
Bit set indicates that the battery pack has the ability to
act as either the primary or secondary battery in a sys-
tem. When the bit is set, this optional function is
supported and the PRIMARY_BATTERY bit will be
activated.
Bit 2-6: Reserved
Bit 7: CONDITION_FLAG
Bit set indicates that the battery is requesting a
conditioning cycle. This typically will consist of a full
charge to full discharge, back to full charge of the pack.
The battery will clear this flag after it detects that a
conditioning cycle has been completed.
Bit 8: CHARGE_CONTROLLER_ENABLED
Bit is set to enable the battery pack’s internal charge
controller. When this bit is cleared, the internal charge
controller is disabled (default). This bit is active only
when the INTERNAL_CHARGE_CONTROLLER bit is
set. 
Bit 9: PRIMARY_BATTERY
Bit is set to enable a battery to operate as the primary
battery in a system. When this bit is cleared, the battery
operates in a secondary role (default). This bit is active
only when the PRIMARY_BATTERY_SUPPORT bit is
set. 
Bit 10-12: Reserved
Bit 13: ALARM_MODE
Disables the Smart Battery’s transmission of the
BatteryStatus
bits on an alarm condition. Will reset to
enabled after 60 seconds.
Bit 14: CHARGER_MODE
Enables or disables the Smart Battery’s transmission of
ChargingCurrent
and ChargingVoltage
messages to
the Smart Battery Charger. When set, the Smart
Battery  will  not  transmit  ChargingCurrent
and
ChargingVoltage
values to the charger. When cleared,
the Smart Battery will transmit the ChargingCurrent
and ChargingVoltage
values to the charger when
charging is desired. 
Bit 15: CAPACITY_MODE
Indicates if capacity information will be reported in mA/
mAh or 10 mW/10 mWh. When set, the capacity informa-
tion will be reported in 10 mW/10 mWh. When cleared,
the capacity information will be reported in mA/mAh.
8.1.5
AtRate
(0x04)
AtRate
is a value of current or power that is
usedbythree  other  functions:  AtRateTimeToFull
,
AtRateTimeToEmpty
and AtRateOK
:
• AtRateTimeToFull
returns the predicted time to full 
charge at the AtRate
value of charge current.
• AtRateTimeToEmpty
function returns the 
predicted operating time at the AtRate
value of 
discharge current.
• AtRateOK
function returns a Boolean value that 
predicts the battery’s ability to supply the AtRate
value of additional discharge current for 
10 seconds.
8.1.6
AtRateTimeToFull
(0x05)
Returns the predicted remaining time to fully charge the
battery at the AtRate
value (mA). The AtRateTimeToFull
function is part of a two-function call set used to deter-
mine the predicted remaining charge time at the AtRate
value in mA. It will be used immediately after the SMBus
Host sets the AtRate
value. 
8.1.7
AtRateTimeToEmpty
(0x06)
Returns the predicted remaining operating time if the
battery is discharged at the AtRate
value. The
AtRateTimeToEmpty
function is part of a two-function
call set used to determine the remaining operating time
at the AtRate
value. It will be used immediately after the
SMBus Host sets the AtRate
value.
8.1.8
AtRateOK
(0x07)
Returns a Boolean value that indicates whether or not
the battery can deliver the AtRate
value of additional
energy for 10 seconds (Boolean). If the AtRate
value is
zero or positive, the AtRateOK
function will always
return true. The AtRateOK
function is part of a two-
function call set used by power management systems to
determine if the battery can safely supply enough energy
for an additional load. It will be used immediately after
the SMBus Host sets the AtRate
value.
8.1.9
Temperature
(0x08)
Returns the cell pack’s internal temperature in units of
0.1°K.
8.1.10
Voltage
(0x09)
Returns the pack voltage (mV).
8.1.11
Current
(0x0a)
Returns the current being supplied (or accepted)
through the battery’s terminals (mA).
Adding text pdf - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
how to insert text box on pdf; add text to pdf in preview
Adding text pdf - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
adding text to pdf document; adding text to a pdf in reader
PS501
DS21818C-page 22
2004 Microchip Technology Inc.
8.1.12
AverageCurrent
(0x0b)
Returns a one-minute rolling average based on at least
60 samples of the current being supplied (or accepted)
through the battery’s terminals (mA). 
8.1.13
MaxError
(0x0c)
Returns the expected margin of error (%) in the State-
Of-Charge calculation. For example, when MaxError
returns 10% and RelativeStateOfCharge
returns 50%,
the RelativeStateOfCharge
is actually between 50%
and 60%. The MaxError
of a battery is expected to
increase until the Smart Battery identifies a condition
that will give it higher confidence in its own accuracy.
For example, when a Smart Battery senses that it has
been fully charged from a fully discharged state, it may
use that information to reset or partially reset MaxError
.
The Smart Battery can signal when MaxError
has
become too high by setting the CONDITION_FLAG bit
in BatteryMode
.
8.1.14
RelativeStateOfCharge
(0x0d)
Returns the predicted remaining battery capacity
expressed as a percentage of FullChargeCapacity
(%).
8.1.15
AbsoluteStateOfCharge
(0x0e)
Returns the predicted remaining battery capacity
expressed as a percentage of DesignCapacity
(%).
Note that AbsoluteStateOfCharge
can return values
greater than 100%.
8.1.16
RemainingCapacity
(0x0f)
Returns the predicted remaining battery capacity. The
RemainingCapacity
value is expressed in either current
(mAh) or power (10 mWh), depending on the setting of
the BatteryMode
’s CAPACITY_MODE bit.
8.1.17
FullChargeCapacity
(0x10)
Returns the predicted pack capacity when it is fully
charged. It is based on either current or power,
depending on the setting of the BatteryMode
’s
CAPACITY_MODE bit.
8.1.18
RunTimeToEmpty
(0x11)
Returns the predicted remaining battery life at
thepresent  rate  of  discharge  (minutes).  The
RunTimeToEmpty
value is calculated based on either
current or power, depending on the setting of the
BatteryMode
’s CAPACITY_MODE bit. This is an impor-
tant distinction because use of the wrong calculation
mode may result in inaccurate return values.
8.1.19
AverageTimeToEmpty
(0x12)
Returns  a  one-minute  rolling  average  of  the
predictedremaining  battery  life  (minutes).  The
AverageTimeToEmpty
value is calculated based on
either current or power, depending on the setting of the
BatteryMode
’s CAPACITY_MODE bit. This is an impor-
tant distinction because use of the wrong calculation
mode may result in inaccurate return values.
8.1.20
AverageTimeToFull
(0x13)
Returns a one-minute rolling average of the predicted
remaining time until the Smart Battery reaches full
charge (minutes).
8.1.21
ChargingCurrent
(0x14)
Sets the maximum charging current for the Smart
Charger to charge the battery. This can be written to the
Smart Charger from the Smart Battery or requested by
the Smart Charger from the battery. 
8.1.22
ChargingVoltage
(0x15)
Sets the maximum charging voltage for the Smart
Charger to charge the battery. This can be written to the
Smart Charger from the Smart Battery or requested by
the Smart Charger from the battery. 
8.1.23
BatteryStatus
(0x16)
Returns the Smart Battery’s status word (flags). Some of the
BatteryStatus
flags, like REMAINING_CAPACITY_ALARM
and REMAINING_TIME_ALARM, are calculated based
on either current or power, depending on the setting of
the BatteryMode
’s CAPACITY_MODE bit. This is impor-
tant because use of the wrong calculation mode may
result in an inaccurate alarm. The BatteryStatus
function
is used by the power management system to get alarm
and status bits, as well as error codes, from the Smart
Battery. This is basically the same information returned
by the SBData AlarmWarning
function except that the
AlarmWarning
function sets the error code bits all high
before sending the data. Also, information broadcasting
is disabled in the PS501.
Battery Status Bits:
bit 15: OVER_CHARGED_ALARM
bit 14: TERMINATE_CHARGE_ALARM
bit 13: Reserved
bit 12: OVER_TEMP_ALARM
bit 11: TERMINATE_DISCHARGE_ALARM
bit 10: Reserved
bit 9:
REMAINING_CAPACITY_ALARM
bit 8:
REMAINING_TIME_ALARM
bit 7:
INITIALIZED
bit 6:
DISCHARGING
bit 5:
FULLY_CHARGED
bit 4:
FULLY_DISCHARGED
The Host system assumes responsibility for detecting
and responding to Smart Battery alarms by reading the
BatteryStatus
to determine if any of the alarm bit flags
are set. At a minimum, this requires the system to poll
the Smart Battery BatteryStatus
every 10 seconds at all
times the SMBus is active.
VB.NET PDF Text Box Edit Library: add, delete, update PDF text box
Provide VB.NET Users with Solution of Adding Text Box to PDF Page in VB.NET Project. Adding text box is another way to add text to PDF page.
how to insert text box in pdf file; adding text to pdf in preview
C# PDF Text Box Edit Library: add, delete, update PDF text box in
Provide .NET SDK library for adding text box to PDF document in .NET WinForms application. Adding text box is another way to add text to PDF page.
how to add text boxes to pdf; how to insert text into a pdf file
2004 Microchip Technology Inc.
DS21818C-page 23
PS501
8.1.24
CycleCount
(0x17)
CycleCount
is updated to keep track of the total usage
of the battery. CycleCount
is increased whenever an
amount of charge has been delivered to, or removed
from, the battery equivalent to the full capacity.
8.1.25
DesignCapacity
(0x18)
Returns the theoretical capacity of a new pack. The
DesignCapacity
value is expressed in either current or
power, depending on the setting of the BatteryMode
’s
CAPACITY_MODE bit.
8.1.26
DesignVoltage
(0x19)
Returns the theoretical voltage of a new pack (mV).
8.1.27
SpecificationInfo
(0x1a)
Returns the version number of the Smart Battery
specification the battery pack supports.
8.1.28
ManufactureDate
(0x1b)
This function returns the date the cell pack was manu-
factured in a packed integer. The date is packed in the
following fashion: (year-1980) * 512 + month * 32 + day.
8.1.29
SerialNumber
(0x1c)
This function is used to return a serial number. This
number, when combined with the ManufacturerName
,
the DeviceName
and the ManufactureDate
, will
uniquely identify the battery.
8.1.30
ManufacturerName
(0x20)
This function returns a character array containing the
battery manufacturer’s name.
8.1.31
DeviceName
(0x21)
This function returns a character string that contains
the battery’s name.
8.1.32
DeviceChemistry
(0x22)
This function returns a character string that contains
the  battery’s  chemistry.  For  example,  if  the
DeviceChemistry
function returns “NiMH”, the battery
pack would contain nickel metal hydride cells. The
following is a partial list of chemistries and their
expected abbreviations. These abbreviations are not
case sensitive.
Lead Acid: PbAc
Lithium Ion: LION
Nickel Cadmium: NiCd
Nickel Metal Hydride: NiMH
Nickel Zinc: NiZn
Rechargeable Alkaline-Manganese: RAM
Zinc Air: ZnAr
8.1.33
ManufacturerData
(0x23)
This function allows access to the manufacturer data
contained in the battery (data).
8.1.34
OptionalMfgFunction
The PS501 includes new SBData functions using the
OptionalMfgFunction
command codes. The command
codes, 3C hex to 3F hex, report the individual cell volt-
ages as measured by the analog-to-digital converter.
These voltages are reported in mV and are calculated
to include compensation for calibration and sense
resistance voltage drops. Only one cell voltage is mea-
sured per measurement cycle (depending on Run or
Sample mode operation).
Rapid voltage changes will see some variation in volt-
ages due to the delay of measurement. These voltage
values may be used for cell balancing or other
functions as the Host system may desire.
VB.NET PDF Text Add Library: add, delete, edit PDF text in vb.net
VB.NET PDF - Annotate Text on PDF Page in VB.NET. Professional VB.NET Solution for Adding Text Annotation to PDF Page in VB.NET. Add
adding text to pdf file; add text box in pdf
VB.NET PDF Page Insert Library: insert pages into PDF file in vb.
Support adding PDF page number. Offer PDF page break inserting function. DLLs for Adding Page into PDF Document in VB.NET Class. Add necessary references:
how to insert text in pdf file; adding text to pdf online
PS501
DS21818C-page 24
2004 Microchip Technology Inc.
TABLE 8-2:
PS501 ALARMS AND STATUS SUMMARY
TABLE 8-3:
Temperature
, C
harging
C
urrent
( ) AND C
harging
V
oltage
( ) SUMMARY
For all other temperature conditions: ChargingCurrent
( ) = ChrgCurr 
ChargingVoltage
( ) = ChrgVolt
Battery Status
Set Condition
Clear Condition
FULLY_CHARGED bit
Set at End-Of-Charge Condition:
Charge FET off
AND
Any VC(x) input > 4.175V
AND
IAVG < EOC_IAVG for ChrgCntrlTimer number 
of consecutive counts
RelativeStateOfCharge
( ) < ClrFullyChrg
(default RSOC = 80%)
OVER_CHARGED_ALARM bit
V
CELL
x > TCAVolt (default 4.5V/Cell)
All V
CELL
x < TCAVolt 
TERMINATE_CHARGE_ALARM bit
V
CELL
x > TCAVolt (default 4.5V/Cell)
OR
Charging Temperature ( ) > ChrgMaxTemp 
(default 60°C)
OR
FULLY_CHARGED bit = 
1
All V
CELL
x < TCAVolt
AND
Temperature
( ) < ChrgMaxTemp
AND
Current
( ) = < 0
OVER_TEMP_ALARM bit
Temperature
( ) > HighTempAl (default 55°C)
Temperature
( ) < HighTempAl
TERMINATE_DISCHARGE_ALARM bit t Primary Method:
V
CELL
x < VEOD1 (per look-up table)
AND
Above condition continues for 
NearEODRecheck time.
Secondary Method:
V
CELL
x < VEOD2 (default 3.1V/Cell)
AND
Above condition continues for EODRecheck time.
Primary Method:
All V
CELL
x > VEOD1
OR
Current
( ) > 0
Secondary Method:
All V
CELL
x > VEOD2
OR
Current
( ) > 0 
REMAINING_CAPACITY_ALARM bit
RemainingCapacity
( ) < 
RemainingCapacityAlarm
( )
RemainingCapacity
( ) > 
RemainingCapacityAlarm
( )
REMAINING_TIME_ALARM bit
AverageTimeToEmpty
( ) < 
RemainingTimeAlarm
( )
AverageTimeToEmpty
( ) > 
RemainingTimeAlarm
( )
FULLY_DISCHARGED bit
RemainingCapacity
( ) = 0
RelativeStateOfCharge
( ) > ClrFullyDischrg
(default RSOC = 20%)
Temperature
( ) > HighTempAI (default 60°C)
Charging
Discharging
TERMINATE_CHARGE_ALARM and OVER_TEMP_ALARM
OVER_TEMP_ALARM
Cleared
Temperature
( ) < HighTempAI
Temperature
( ) > ChrgMaxTemp
(default 50°C)
Temperature
( ) > DischrgMaxTemp
(default 65°C)
Charging
Discharging
ChargingCurrent
( ) = ChrgCurrOff
ChargingVoltage
( ) = ChrgVoltOff
Temperature
( ) < ChrgMinTemp
ChargingCurrent
( ) = ChrgCurrOff
ChargingVoltage
( ) = ChrgVolt
VB.NET PDF Library SDK to view, edit, convert, process PDF file
Support adding protection features to PDF file by adding password, digital signatures and redaction feature. Various of PDF text and images processing features
adding text field to pdf; adding text fields to pdf acrobat
C# PDF Annotate Library: Draw, edit PDF annotation, markups in C#.
Provide users with examples for adding text box to PDF and edit font size and color in text box field in C#.NET program. C#.NET: Draw Markups on PDF File.
how to add text to a pdf document using acrobat; acrobat add text to pdf
2004 Microchip Technology Inc.
DS21818C-page 25
PS501
9.0
PARAMETER SETUP
This section documents all of the programmable
parameters that are resident in the EEPROM. The
Parameter Set is organized into the following functional
groups:
1. Pack Information
2. Capacity Calculations
3. EOD and FCC Relearn
4. Charge Control
5. GPIO
6. PS501 Settings
7. SBData Settings
8. Calibration
TABLE 9-1:
PACK INFORMATION
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
BatStatus
1
0
255
b01000000 Lower byte of SBData register for BatteryStatus
.
Cells
1
0
255
4
Number of cells in the battery pack.
Chemistry
4
LION
SBS data for chemistry. Can be any ASCII string. The 
chemistry name can be programmed here and retrieved 
with the SBData DeviceChemistry
command.
Date
2
0
65535
0x3042
SBData value for ManufactureDate
. The date of 
manufacture of the battery pack can be programmed here 
and retrieved with the SBData ManufactureDate
command. 
Coding: Date = (Year-1980) x 512 + Month x 32 + Day
DesignCapacity
2
0
65535
4400
SBData value for DesignCapacity
. This is the first 
capacity loaded into the FullChargeCapacity
upon 
power-up.
DesignVPack
2
0
65535
14800
SBData value for DesignVoltage
.
DeviceName
8
PS501
SBData value for DeviceName
. Can be any ASCII string. 
The battery circuit device name can be programmed here 
and retrieved with the SBData DeviceName
command.
MFGData
4
0x0
SBS string for ManufacturerData
.
MFGName
10
Microchip SBS string for ManufacturerName
. Can be any ASCII 
string, typically the name of the battery pack 
manufacturer. Length of string is defined by 
MfgNameLength
.
PackRes
2
0
65535
65
Resistance of pack.
PW1
2
0
65535
AA4D
First password for the battery pack lock.
PW2
2
0
65535
D4AA
Second password for the battery pack lock.
SpecInfo
2
0
65535
33
Specification info according to SBS Spec.0011, refers to 
Smart Battery Specification version 1.1.
SerialNumber
2
0
65535
100
SBData value for SerialNumber
. The serial number of the 
battery pack can be programmed here and retrieved with 
the SBData SerialNumber
command.
C# PDF insert image Library: insert images into PDF in C#.net, ASP
application? To help you solve this technical problem, we provide this C#.NET PDF image adding control, XDoc.PDF for .NET. Similar
how to add text to pdf; how to add text to a pdf file
C# PDF Page Insert Library: insert pages into PDF file in C#.net
By using reliable APIs, C# programmers are capable of adding and inserting (empty) PDF page or pages from various file formats, such as PDF, Tiff, Word, Excel
how to add text to a pdf in reader; add text field to pdf acrobat
PS501
DS21818C-page 26
2004 Microchip Technology Inc.
TABLE 9-2:
CAPACITY CALCULATIONS
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
CurrError
1
0
255
1
Current measurement error. This is the error due to the 
accuracy of the A/D converter to measure and integrate the 
current, 255 = 24.9%.
Cycles
2
0
65535
0
SBData register for CycleCount
Cycles is updated to keep 
track of the total usage of the battery. Cycles is increased 
whenever an amount of charge has been delivered to or 
removed from the battery, equivalent to the full capacity. For a 
4000 mAh battery, Cycles is increased every time 4000 mAh 
goes through the battery terminals in any direction.
InitialCap
2
0
65535
2048
The initial capacity of the battery. When the PS501 is first 
powered up and initialized, before a learning cycle takes place 
to learn the full capacity, the full capacity will take the value 
programmed into InitialCap to compute relative 
State-Of-Charge percentage.
LowCurrError
1
0
255
25
Current offset for error calculation. Since the error of the A/D 
converter is proportional to the level of current it is measuring, 
the error term can be too low when the current is very low. For 
this reason, the LowCurrError will compensate the ERR term 
for low currents. LowCurrError milli-Amps are added to the 
current when factoring in the error. Thus, the error is: 
Error = (Current + LowCurrError) * CurrError.
NChangeState
1
0
255
8
State change delay filter. Delays the change between “charge 
increasing” state and “charge decreasing” state based on current 
direction. To avoid problems with current spikes in opposite 
directions, a delay filter is built-in to control when to change from 
charging status to discharging status. The current must change 
directions and stay in the new direction for CST_DELAY * period 
before the status is changed and capacity is increased or 
decreased as a result of the new current direction.
NullCurr
1
0
255
3
A zero zone control is built into the PS501 so that any small 
inaccuracy doesn’t actually drain the gas gauge, when in fact 
the current is zero. For this reason, current less than NullCurr 
mA in either direction will be measured as zero.
PwrConsumption
1
0
65535
140
Current consumption of the battery module. This is the average 
current that the battery module typically draws from the battery 
(255 = 1 mA).
SelfDischrgErr
1
0
255
1
Self-discharge error. This is the error inherent in the ability of 
the self-discharge look-up tables to meet actual battery 
characteristics, 255 = 100%.
2004 Microchip Technology Inc.
DS21818C-page 27
PS501
TABLE 9-3:
EOD AND FCC RELEARN
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
ADLNearEmpty
2
0
65535
3600
Cell voltage at which A/D switches to emphasize voltage 
over current measurement near EOD (mV).
ADLNearFull
2
0
65535
4000
Cell voltage at which A/D switches to emphasize voltage 
over current measurement near EOC (mV).
EOD1Cap
2
0
65535
150
The capacity that remains in the battery at EOD1Voltage. 
This is typically a small amount used to power a shutdown 
sequence for the system.
EOD1Voltage
2
0
65535
3100
Voltage for EOD1 fixed voltage point (mV).
EOD1Recheck
1
0
255
6
Delay filter for the EOD1 condition. Number of checks before 
EOD1 trigger. The End-Of-Discharge conditions must 
remain for at least this number of periods before being 
considered true, to help filter out false empty conditions due 
to spikes. EOD1 condition is based on the Variable Voltage 
Look-up Table or EOD1Voltage.
EOD2Recheck
1
0
255
6
Delay filter for EOD2 condition; EOD2 is based on Vempty.
FullCapacity
2
0
65535
4150
Learned value of battery capacity. Used for SBData value of 
FullChargeCapacity
. This is a learned parameter which is 
the equivalent of all charge counted from fully charged to 
fully discharged, including self-discharge and error terms. 
This is reset after a learning cycle and used for remaining 
capacity and relative State-Of-Charge calculations.
RelearnCurrLim
2
0
65535
10,000 Value of measured current that prevents a capacity relearn 
from occurring when a terminate discharge alarm condition 
is reached at End-Of-Discharge (EOD). A learning cycle will 
happen when the battery discharges from fully charged, all 
the way to fully discharged, with no charging in between and 
the discharge current never exceeds RelearnCurrLim 
(Example: 3000). A relearn will only occur if current does not 
exceed 3000 mA.
RelearnLimit
1
0
255
205
The maximum relearn limit. The maximum percentage that 
the FULL_CAPACITY can change after a learning cycle, 
where 255 = 100%.
RelearnMaxErr
2
0
65535
300
Maximum error for learning FullCapacity. The 
FULL_CAPACITY will not be learned after a learning cycle if 
the error is too great.
RLCycles
1
0
255
2
The number of initial cycles without RelearnLimit. The initial 
number of cycles where RelearnLimit is not active.
FullCapacity can vary more greatly with the first learning 
cycle since the initial capacity may not be correct, thus this 
should be set to at least ‘
2
’.
Vempty
2
0
65535
3000
Second and final End-Of-Discharge voltage point. At this 
point, remaining capacity is optionally set to ‘
0
’.
PS501
DS21818C-page 28
2004 Microchip Technology Inc.
TABLE 9-4:
CHARGE CONTROL
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
ChrgCurr
2
0
65535
3000
This is the full charging current that the battery requires 
during normal charging. It can be broadcasted to the charger 
or read from the PS501.
ChrgCurrOff
2
0
65535
0
Trickle charging current. This is a small amount of current 
that the charger should deliver when full charging needs to 
be halted temporarily due to high temperature.
ChrgMaxTemp
1
0
255
235
Temperature threshold when charging, 
Coded value = (Celsius * 10 + 200)/4. When the temperature 
exceeds ChrgMaxTemp and the battery is charging, then 
ChargingCurrent
is set to ChrgCurrOff and ChargingVoltage
is set to ChrgVoltOff.
ChrgMinTemp
1
0
255
50
Low temperature threshold, 
Charging coded value = (Celsius * 10 + 200)/4. When 
charging, if the temperature is less than ChrgMinTemp, then 
ChargingCurrent
isset to ChrgCurrOff and 
ChargingVoltage
is set to ChrgVoltOff.
ChrgVolt
2
0
65535
16800 This is the voltage required by the battery during normal 
charging.
ChrgVoltOff
2
0
65535
16800 Voltage required when charging should be halted.
ClrFullyChrg
1
0
255
90
Reset FULLY_CHARGED bit at this level, 100 = 100%. Once 
the FULLY_CHARGED bit is set, taper or pulse current will 
not be monitored any more. When discharging begins, the 
FULLY_CHARGED bit must remain set until the cell voltages 
are below EOC_VOLT so that a small current will not trigger 
a false End-Of-Charge trigger. Thus, ClrFullyChrg is set at 
about 90%. FULLY_CHARGED bit will be on until the battery 
has discharged to less than 90%.
ClrFullyDischrg
1
0
255
10
Reset FULLY_DISCHARGED bit, 100 = 100%. Once fully 
discharged bit is set, it will stay set until capacity rises above 
this value, typically 10%.
EOCCurAvg
2
0
65535
200
EOC trigger for pulse charging. If the average current during 
charging, with the CFET turned off, has dropped below the 
AvgCurrEOCThresh threshold for a pass count equal to the 
EEPROM parameter value ChrgCntrlTimr (typically 
between 8 and 16), the End-Of-Charge state will be reached. 
EOCRecheck
1
0
255
6
Delay filter for the EOC condition. Number of checks before 
EOC trigger. The End-Of-Charge conditions must remain for 
at least this number of periods before being considered true, 
to help filter out false full conditions due to spikes.
EOCVolt
2
0
65535
4175
EOC trigger cell voltage. When any cell in the battery pack 
reaches this voltage, the End-Of-Charge determination will 
start monitoring the average current to determine when the 
battery is full. When the average current is in the proper 
range and the cell voltage is greater than EOC_VOLT, then 
FULLY_CHARGED bit in BatteryStatus
will be set and 
terminate charge alarm will be active.
MaxTemp
1
0
65535
750
Maximum temperature measured (including external and 
internal sensor). Coded value = (Celsius * 10 + 200)/4. This 
is where the PS501 keeps track of the highest temperature it 
has measured.
2004 Microchip Technology Inc.
DS21818C-page 29
PS501
PrechargeCurr
2
0
65535
100
Precharge current required. Posted to SBData 
ChargingCurrent
during precharge conditions.
PrechargeMax
2
0
65535
500
Maximum precharge current allowed. When exceeded under 
precharge conditions, SBData ChargingCurrent
is set to 
zero.
PrechargeTemp
1
0
255
60
Precharge temperature, Coded value = (Celsius * 10 + 200)/4. 
This is the temperature under which precharging should occur.
PrechargeVCell
2
0
65535
2500
Precharge cell voltage. This is the voltage under which 
precharging should occur.
SOCThreshold
1
0
255
125
Second EOC trigger based on State-Of-Charge, 
100 = 100%. A second End-Of-Charge trigger is built into the 
PS501, such that if the State-Of-Charge exceeds a certain 
value, End-Of-Charge will be forced, even if the taper or 
pulse current was not detected. When State-Of-Charge 
reaches SOCThreshold
, then End-Of-Charge will trigger.
StableCurr
1
0
255
50
EOC trigger current deviation level. In order to prevent 
current spikes from causing a premature taper current trig-
ger, the average current and the instantaneous current must 
be within StableCurr of each other for the End-Of-Charge to 
trigger on the taper current.
TaperCRate
6
0
255
3
Upper limit EOC taper current based on temperature, 
TaperCRate = 64/1C. Example: If 1C = 2200 and 
TaperCRate = 3, then the upper limit for taper window is 
3/64 * 2200 = 103 mA.
TaperLow
1
0
255
1
Lower limit EOC taper current, TaperLow = 64/1C. 
Example: If 1C = 2200 and TaperLow = 1, then the lower 
limit for taper window is 1/64 * 2200 = 34 mA.
TaperTemp
5
0
255
125
Temperature corresponding to TaperCRate byte, 
TaperTemp = (temp. °C * 10 + 200)/4. 
Example: TaperTemp = 100 [(100 * 4 – 200)/10 = 20°C].
TABLE 9-4:
CHARGE CONTROL (CONTINUED)
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
PS501
DS21818C-page 30
2004 Microchip Technology Inc.
TABLE 9-5:
PS501 SETTINGS
Parameter
Name
Bytes
Lower
Limit
Upper
Limit
Typical
Value
Operational Description
AOMInt
1
0
255
60
The frequency of the auto-offset calibration cycle.
ConfigEOC
1
0
255
b01101001 Bit coded as follows:
Bit
Function
7
EOC on charge timer
6
EOC on TCAVolt
5
Limit remcap to FCC
4
Set overcharge alarm at EOC
3
Load capacity with FCC at EOC
2
Trigger EOC on RSOC > SOCThreshold 
1
Trigger EOC on average current 
0
Trigger EOC on taper current
ConfigEOD
1
0
255
b01111000 Bit coded as follows:
Bit
Function
7
Evaluate EOD1 on fixed voltage (else table)
6
Set fully discharged bit on EOD1
5
Set capacity to residual capacity value immediately 
upon EOD1 (EOD1Voltage or LUT voltage)
4
Set terminate discharge alarm on EOD1 
(EOD1Voltage or LUT voltage)
3
Learn FCC at EOD1 (EOD1Voltage or LUT voltage)
2
TDA alarm at EOD2 (Vempty)
1
Set capacity to zero at EOD2 (Vempty)
0
Do not allow capacity to drop below EOD1Cap
ConfigCAP
1
0
255
11010100 Bit
Function
7
Compensate remcap – the displayed remcap 
actually equals FCC minus capacity used, minus 
residual capacity due to temperature. remcap is 
compensated for temperature.
6
Remcap decrease only – when compensating, if 
temperature changed causing a decrease in residual 
capacity, do not let remcap rise to reflect this. 
Instead, hold it steady until discharge catches up. 
This is so user does not see capacity increase while 
discharging (though usable capacity may increase if 
the temperature changes, user would be confused).
5
Use compensated FCC – use compensated FCC 
to compute RSOC. Allows compensated RSOC to 
equal 100% at full charge (delete).
4
Limit RSOC to 99% until EOC.
3
Report compensated FCC – the compensated FCC 
is reported in SBData to allow for externally 
calculated RSOC (delete).
2
Set capacity to positive immediately upon 
charging. If discharged below zero, this allows 
capacity to count up immediately upon charging.
1
Learn unconditionally – relearn FCC no matter 
what. Typically we have a max. current and a max. 
error limitation on relearn. This would take away 
the limitations. Typically used for testing only.
0
Self-discharge disable.
Documents you may be interested
Documents you may be interested