Specifications

Smart Battery Charger Specification
SBS Implementers Forum -Page 23- Revision 1.1
6.1.9. Optional Smart Battery Charger Registers for Selector Support
To support implementations of a Smart Battery Charger and Smart Battery Selector combined in the same
component, optional charger command codes have been defined. These codes are optional and only used
by charger components that also include selector functionality. Their presence is indicated by the
SELECTOR_SUPPORT bit in the ChargerSpecInfo() function.
When implemented, the Smart Battery Charger’s SelectorState(), SelectorPresets() and SelectorInfo()
functions match the corresponding functions described in the Smart Battery Selector Specification. The
mapping of the Smart Battery Selector functions into the Smart Battery Charger’s command codes may be
accomplished by logical OR’ing the desired Smart Battery Selector command code with 0x20 and then
sending it to the Smart Battery Charger’s SMBus address. Therefore, for a Smart Battery Charger /
Selector component, the function code for SelectorState() is 0x21, for SelectorPresets(), 0x22 and for
SelectorInfo(), 0x24. The Smart Battery Charger’s defined optional manufacturer’s extended commands
remain located in the range of 0x3c-3f and both the charger and selector share this area in a dual-function
component.
6.1.10. Optional Charger Interrupt Mechanism
Smart Battery Chargers may have an optional interrupt mechanism to indicate to the system that a change
in its status has taken place, for example, battery insertion or removal or AC present. While this
mechanism is optional, its inclusion is highly recommended:
For single-battery systems which do not implement a Smart Battery Selector to indicate changes in the
system’s power status.
For multiple battery systems as a way to notify the Smart Battery Selector that it may automatically
charge the “next” battery.
One interrupt mechanism available is the SMBus Alert and AlertResponse protocol defined in the System
Management Bus Specification.
6.1.11. Battery Internal Charge Control
ChargingCurrent() and ChargingVoltage() requests from the battery may be used to define a charging
“envelope” within which a battery may internally charge itself. For example, a battery which pulse charges
itself with the full requested current and voltage from the charger for 80% of the time, and takes no power
during the remaining 20% of the time while the battery “rests”.