`
`Smart Battery
`Data
`Specification
`
`Revision 1.0
`February 15, 1995
`
`Copyright 1996, Benchmarq Microelectronics Inc., Duracell Inc.,
`Energizer Power Systems, Intel Corporation, Linear Technology,
`Maxim Integrated Products, Mitsubishi Electric Corporation,
`National Semiconductor Corporation, Toshiba Battery Co.,
` Varta Batterie AG, All rights reserved.
`
`Apple Inc., et al.
`Exhibit 1022
`Apple Inc., et al. v. Global Touch Solutions, Inc.
`IPR2015-01174
`
`Exhibit 1022, Page 001
`
`
`
`Questions and comments regarding this
`specification may be forwarded to:
`
`Intel Corporation
`PHONE: (8am-5pm PST) (800) 628-8686
`FAX: (916) 356-6100
`INTERNATIONAL (916) 356-3551
`Email: IAL_Support@ccm.hf.intel.com
`
`THIS SPECIFICATION IS PROVIDED “AS IS”, WITH NO WARRANTIES WHATSOEVER,
`WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO
`ANY WARRANTY OF MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR ANY
`PARTICULAR PURPOSE, OR ANY WARRANTY OTHERWISE ARISING OUT OF ANY
`PROPOSAL, SPECIFICATION, OR SAMPLE.
`
`IN NO EVENT WILL ANY SPECIFICATION CO-OWNER BE LIABLE TO ANY OTHER
`PARTY FOR ANY LOSS OF PROFITS, LOSS OF USE, INCIDENTAL, CONSEQUENTIAL,
`INDIRECT OR SPECIAL DAMAGES ARISING OUT OF THIS AGREEMENT, WHETHER OR
`NOT SUCH PARTY HAD ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.
`FURTHER, NO WARRANTY OR REPRESENTATION IS MADE OR IMPLIED RELATIVE TO
`FREEDOM FROM INFRINGEMENT OF ANY THIRD PARTY PATENTS WHEN PRACTICING
`THE SPECIFICATION.
`
`Exhibit 1022, Page 002
`
`
`
`Table of Contents
`
`TABLE OF CONTENTS
`
`REVISION HISTORY
`
`1. INTRODUCTION
`
`1.1. Scope
`
`1.2. Audience
`
`2. REFERENCES
`
`3. DEFINITIONS
`
`4. SMART BATTERY
`
`4.1. Smart Battery Model
`
`4.2. Software Definition
`4.2.1. SMBus Host-to-Smart Battery
`4.2.2. Smart Battery Charger-to-Smart Battery or Smart Battery-to-Smart Battery Charger
`4.2.3. Smart Battery-to-SMBus Host or Smart Battery Charger
`
`4.3. Software Error Detection and Signaling
`4.3.1. Error Detection
`4.3.2. Error Signaling
`4.3.3. Error Handling
`
`4.4. Smart Battery Characteristics
`4.4.1. Initial Conditions
`4.4.2. On State
`4.4.3. Off State
`4.4.4. Off to On State Transition
`4.4.5. On to Off State Transition
`
`5. SMART BATTERY INTERFACE
`
`5.1. SMBus Host-to-Smart Battery Messages
`5.1.1. ManufacturerAccess() (0x00)
`5.1.2. RemainingCapacityAlarm() (0x01)
`5.1.3. RemainingTimeAlarm() (0x02)
`5.1.4. BatteryMode() (0x03)
`5.1.5. AtRate() (0x04)
`5.1.6. AtRateTimeToFull() (0x05)
`5.1.7. AtRateTimeToEmpty() (0x06)
`
`i
`
`iv
`
`1
`
`1
`
`1
`
`2
`
`2
`
`2
`
`3
`
`4
`4
`4
`5
`
`5
`5
`5
`5
`
`5
`6
`6
`6
`6
`6
`
`7
`
`8
`8
`8
`9
`10
`12
`13
`13
`
` -Page i-
`
`Revision 1.0
`
`Exhibit 1022, Page 003
`
`
`
`Smart Battery Data Specification
`
`5.1.8. AtRateOK() (0x07)
`5.1.9. Temperature() (0x08)
`5.1.10. Voltage() (0x09)
`5.1.11. Current() (0x0a)
`5.1.12. AverageCurrent() (0x0b)
`5.1.13. MaxError() (0x0c)
`5.1.14. RelativeStateOfCharge() (0x0d)
`5.1.15. AbsoluteStateOfCharge() (0x0e)
`5.1.16. RemainingCapacity() (0x0f)
`5.1.17. FullChargeCapacity() (0x10)
`5.1.18. RunTimeToEmpty() (0x11)
`5.1.19. AverageTimeToEmpty() (0x12)
`5.1.20. AverageTimeToFull() (0x13)
`5.1.21. BatteryStatus() (0x16)
`5.1.22. CycleCount() (0x17)
`5.1.23. DesignCapacity() (0x18)
`5.1.24. DesignVoltage() (0x19)
`5.1.25. SpecificationInfo() (0x1a)
`5.1.26. ManufactureDate() (0x1b)
`5.1.27. SerialNumber() (0x1c)
`5.1.28. ManufacturerName() (0x20)
`5.1.29. DeviceName() (0x21)
`5.1.30. DeviceChemistry() (0x22)
`5.1.31. ManufacturerData() (0x23)
`
`5.2. Smart Battery or SMB Host-to-Smart Battery Charger Messages
`5.2.1. ChargingCurrent() (0x14)
`5.2.2. ChargingVoltage() (0x15)
`
`5.3. Smart Battery Charger or SMB Host-to-Smart Battery Messages
`5.3.1. ChargingCurrent() (0x14)
`5.3.2. ChargingVoltage() (0x15)
`
`5.4. Smart Battery Critical Messages
`5.4.1. AlarmWarning() (0x16)
`
`6. SMART BATTERY DATA PROTOCOLS
`
`6.1.SMBus Host-to-Smart Battery Message Protocol
`
`6.2.Smart Battery-to-Smart Battery Charger Message Protocol
`
`6.3.Smart Battery Critical Message Protocol
`
`APPENDIX A THE COMMAND SET IN TABULAR FORM
`
`APPENDIX B UNITS OF MEASURE
`
`13
`14
`14
`14
`15
`15
`16
`16
`16
`17
`17
`18
`18
`19
`20
`20
`21
`21
`21
`22
`22
`22
`22
`23
`
`24
`24
`25
`
`26
`26
`27
`
`28
`28
`
`29
`
`29
`
`30
`
`30
`
`31
`
`33
`
` -Page ii-
`
`Revision 1.0
`
`Exhibit 1022, Page 004
`
`
`
`Smart Battery Data Specification
`
`APPENDIX C STATUS BITS AND ERROR CODES
`
`Alarm Bits
`
`Status Bits
`
`Error Codes
`
`34
`
`34
`
`34
`
`35
`
` -Page iii-
`
`Revision 1.0
`
`Exhibit 1022, Page 005
`
`
`
`Smart Battery Data Specification
`
`Revision History
`
`Revision Number
`1.0
`
`Date
`2/15/95
`
`General release
`
`Notes
`
` -Page iv-
`
`Revision 1.0
`
`Exhibit 1022, Page 006
`
`
`
`Smart Battery Data Specification
`
`1. Introduction
`The Smart Battery Specification presents an ideal solution for many of the issues related to
`batteries used in portable electronic equipment such as laptop computer systems, cellular
`telephones or video cameras. Batteries presently have a number of limitations from both the
`user's and the equipment's perspective. First and foremost, they represent an unpredictable
`source of power. Typically a user has little advance knowledge that their battery is about to run
`out or how much operating time is left. Second, equipment powered by the battery cannot
`determine if the battery, in its present state, is capable of supplying adequate power for an
`additional load (such as spinning up a hard disk). Third, battery chargers must be individually
`tailored for use with a specific battery chemistry and may cause damage if used on another
`battery with a different chemistry.
`
`This specification, as depicted below, defines the data that flows across the SMBus between the
`Smart Battery, SMBus Host, Smart Battery Charger and other devices. A more detailed
`description of the electrical interface and data protocols can be found in the supplementary
`documentation (refer to the References section).
`
`SMBus Interface
`
`Smart Charger
`and / or
`Other SMB Devices
`
`System Host
`
`Smart Battery
`
`The Major Components of the SMBus Interface :
`Electrical: Refer to the System Management Bus Specification for more information
`Protocol: Refer to the System Management Bus Specification for more information
`Data: Described in this specification
`
`This specification defines the information that the Smart Battery supplies to its user. It is not
`designed to limit innovation amongst battery manufacturers, but rather, provide the user and the
`SMBus Host with a consistent set of information about any particular Smart Battery.
`
`1.1. Scope
`This document specifies the data set that is communicated by a Smart Battery. The electrical and
`mechanical specifications are covered by other specifications (refer to the References section).
`This specification is generic with regard to the type of battery chemistry, the battery pack voltage,
`the battery pack capacity as well as the battery pack's physical packaging.
`
`1.2. Audience
`The audience for this document includes:
`Smart Battery manufacturers
`•
`• Readers of the System Management Bus Specification
`• Designers of Smart Battery device drivers
`• Designers of power management systems for Smart Battery powered portable electronic
`equipment
`
` -Page 1-
`
`Revision 1.0
`
`Exhibit 1022, Page 007
`
`
`
`Smart Battery Data Specification
`
`2. References
`The I²C-bus and how to use it (includes the specification), Phillips Semiconductors, January
`•
`1992
`System Management Bus Specification, Revision 1.0, Intel Inc., February, 1995
`Smart Battery Charger Specification Revision 0.95a, Duracell/Intel Inc., February, 1995
`System Management Bus BIOS Interface Specification, Revision 1.0, February, 1995
`IEC SC21A - "Alkaline Secondary Cells and Batteries", IEC committee 21, Sub-committee
`A responsible for development of standard battery pack sizes and electrical specifications
`IEC SC48B - "Connectors", IEC committee 48, Sub-committee B responsible for
`development of connector standards for the Smart Battery
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`3. Definitions
`•• APM: Advanced Power Management. A BIOS interface defined to enable system-wide
`power management control via software.
`• Battery: One or more cells that are designed to provide electrical power.
`• Cell: The cell is the smallest unit in a battery. Most batteries consist of several cells
`connected in series.
`I²C-bus: A two-wire bus developed by Phillips, used to transport data between low-speed
`devices.
`Smart Battery: A battery equipped with specialized hardware that provides present state,
`calculated and predicted information to its SMBus Host under software control. The content
`and method are described in this specification.
`Smart Battery Charger: A battery charger that periodically communicates with a Smart
`Battery and alters its charging characteristics in response to information provided by the
`Smart Battery.
`Smart Device: An electronic device or module that communicates over the SMBus with the
`SMBus Host and/or other Smart Devices. For example the back-light controller in a
`Notebook computer can be implemented as a Smart Device.
`SMBus: The System Management Bus is a specific implementation of an I²C-bus that
`describes data protocols, device addresses and additional electrical requirements that is
`designed to physically transport commands and information between the Smart Battery,
`SMBus Host, Smart Battery Charger and other Smart Devices.
`SMBus Host: A piece of portable electronic equipment powered by a Smart Battery. It is
`able to communicate with the Smart Battery and use information provided by the battery.
`
`•
`
`•
`
`4. Smart Battery
`In most systems today, the user never knows how much charge is left in the battery. While the
`user may translate this to the simple question "How long will this device continue to operate?";
`the answer is complex. Many products that attempt to answer the question use the system's
`hardware to account for the battery's charge state. This approach is destined to fail when
`different batteries are used because the battery's characteristics and history are associated with the
`system, not the battery. The Smart Battery fixes this problem by maintaining its own
`information, thus allowing for a mixture of batteries (different chemistries and/or charge states)
`to be used in a device. The user will now have access to accurate information because each
`Smart Battery will accurately report its own characteristics.
`
`A good example is a video camcorder where a user may have multiple batteries each with
`different capacities as well as different charge states. Even with an accurate state-of-charge
`indication, a full one AH (ampere hour) battery is not equivalent to a full 1.5 AH battery.
`Though they both can power the same camcorder, what the user wants to know is whether or not
`either of these batteries has adequate capacity to record a one hour event. The Smart Battery
`
` -Page 2-
`
`Revision 1.0
`
`Exhibit 1022, Page 008
`
`
`
`Smart Battery Data Specification
`
`provides the user with accurate state of charge information along with an accurate prediction of
`the remaining operating time.
`
`The goal of the Smart Battery interface is to provide adequate information for power
`management and charge control regardless of the particular battery's chemistry. Even though
`the major consumer of the battery information is the user, the system can also take advantage by
`using power consumption information to better manage its own power use. A charging system
`will be able to tell the user how long it will take to fully charge the battery.
`
`4.1. Smart Battery Model
`One possible Smart Battery model is a system consisting of a battery, battery charger and a host
`(notebook computer, video camera, cellular phone, or other portable electronic equipment).
`Since it is a system, it is important to examine the components and their interactions.
`
`Vcc,
`+12v,
`-12v
`
`System
`Power
`Supply
`
`DC (Unregulated/battery)
`
`Vbatt
`
`System Host
`
`Smart Battery
`
`Thermistor
`
`Smart Battery
`Charger
`
`AC
`
`AC-DC
`Converter
`(Unregulated)
`
`Critical Events
`
`Battery Data/Status Requests
`
`Charging Voltage/Current Requests
`
`Critical Events
`
`SMBus
`
`The Smart Battery Charger is a charging circuit that periodically polls the Smart Battery for its
`charging characteristics then adjusts its output to match the Smart Battery's requirements. This
`allows the battery to control its own charge cycle. Optionally, it may not allow the Smart Battery
`to supply power to the rest of the system when the Smart Battery is fully charged and the system
`is connected to AC power thus prolonging the life of the battery. The Smart Battery Charger will
`also receive critical events from the Smart Battery when it detects a problem. These include
`alarms for: over charge, over voltage, over temperature and temperature increasing too rapidly.
`
`The SMBus Host represents a piece of electronic equipment that is powered by a Smart Battery
`and that can communicate with the Smart Battery. The SMBus Host requests information from
`the battery and then uses it in the system's power management scheme and/or uses it to provide
`the user information about the battery's present state and capabilities. The SMBus Host will also
`receive critical events from the Smart Battery when it detects a problem. In addition to the
`alarms sent to the Smart Battery Charger, it receives alarms for end of discharge, remaining
`
` -Page 3-
`
`Revision 1.0
`
`Exhibit 1022, Page 009
`
`
`
`Smart Battery Data Specification
`
`capacity below the user set threshold value and remaining run time below the user set threshold
`value.
`
`4.2. Software Definition
`The software interface is separated into three parts: SMBus Host-to-battery, charger-to-battery
`and battery-to-charger or SMBus Host. Additionally, a discussion about error signaling and
`handling is included.
`
`4.2.1. SMBus Host-to-Smart Battery
`The SMBus Host-to-battery communication is used to get data that is either presented to a user or
`to the SMBus Host's power management system. The user can get two types of data from the
`battery: factual data and predictive data. Factual data can be measured, such as temperature,
`pack voltage or charge/discharge current, or it can be a battery characteristic, such as the battery's
`chemistry. Predictive data is calculated, based on the battery's present state and the battery's
`characteristics, such as the battery's remaining life at the present rate of drain. Additionally,
`since the battery has a clock, information can be presented as a rolling average over a fixed
`interval.
`
`The power management system may query a device driver to determine if an action will cause
`harm to the system's integrity. For example, spinning up a disk drive at the end of the battery's
`charge might cause its output voltage to drop below acceptable limits thus causing a system
`failure. In order to prevent this, the device driver needs information from the battery that will
`cause it to do the right thing. If the driver queries the battery and discovers that not enough
`power is available, it can request that the power management system turn off a non-critical power
`use such as the LCD screen back-light and then try again.
`
`•
`
`•
`
`•
`
`SMBus Host-to-Smart Battery communications are performed:
`To allow the user to know the Smart Battery's remaining life
`•
`To tell the user how long it will take to charge the Smart Battery
`To allow Smart Batteries to provide accurate information to their user
`To determine the SMBus Host's real-time power requirements
`To enable power management based on "real" information supplied by the battery
`To enable battery manufacturers to collect information about a Smart Battery's usage
`To allow battery manufacturers to electronically "stamp" batteries at time of manufacture
`
`•
`
`•
`
`•
`
`.
`4.2.2. Smart Battery Charger-to-Smart Battery or Smart Battery-to-Smart Battery
`Charger
`An internal or external battery charger must understand the characteristics of the battery it is
`charging. Today's laptops, using NiMH and NiCd batteries, apply a constant current to the
`battery. End-of-charge is determined by charger noting a sharp rise in the battery's internal
`temperature. There is a potential problem with this scheme; when a battery with a different
`chemistry is placed in the same size package, even though the voltage may be the same, the
`charging characteristics may not.
`
`A better method is to have the battery tell the charger when charging is complete and how to
`adjust the charging voltage and current so they best match the battery's present state. Chargers
`that cooperate with the battery have two distinct advantages over the simple model that watches
`for a thermal rise: first, they provide the battery with all the power it can handle (that is,
`maximum safe charge) without overcharging, and second, they will recognize and correctly
`charge batteries with different chemistries and voltages.
`
`Smart Battery Charger to Smart Battery communications are performed:
`To allow Smart Batteries to be charged as rapidly and as safely as possible
`•
`
` -Page 4-
`
`Revision 1.0
`
`Exhibit 1022, Page 010
`
`
`
`Smart Battery Data Specification
`
`•
`
`•
`
`To allow new and different battery technologies to be used in existing equipment
`To allow access to the "correct" charger algorithm for the battery
`
`4.2.3. Smart Battery-to-SMBus Host or Smart Battery Charger
`A Smart Battery must have the ability to inform the SMBus Host of potentially critical
`conditions. These notifications represent a final effort on the part of the battery to inform both
`the Smart Battery Charger and the SMBus Host that power is about to fail or that the battery is
`being overcharged. The Smart Battery expects that the user, Smart Battery Charger or SMBus
`Host will take the appropriate corrective action.
`
`•
`
`Smart Battery-to-SMBus Host or Smart Battery Charger communications are performed:
`To allow the Smart Battery to warn other system components of potential problems.
`•
`To allow the Smart Battery to warn the user about potentially dangerous situations that they
`can rectify.
`To allow the Smart Battery to instruct the Smart Battery Charger what Charge Current and
`Charge Voltage it would like to be charged with.
`
`•
`
`4.3. Software Error Detection and Signaling
`The Smart Battery provides a simple system for error signaling. The error system is designed to
`minimize the amount of traffic on the I²C bus and the amount of code required to communicate
`with the battery.
`
`4.3.1. Error Detection
`When a Smart Battery detects an error condition (such as an unsupported command, data
`unavailable, busy or bad data) it signals the SMBus Host that an error has been detected. All
`functions processed by the Smart Battery are assumed to be error-free unless the Smart Battery
`signals the SMBus Host that an error has occurred. After processing each function, the Smart
`Battery must place the appropriate error code in its ERROR register (note: this includes “OK” or
`“no error detected”).
`
`4.3.2. Error Signaling
`A Smart Battery signals the SMBus Host that it has detected an unrecoverable error by taking
`advantage of the I²C bus requirement that an acknowledge bit must be sent by the slave after
`every byte is transferred. When the Smart Battery fails to provide the acknowledge bit, the
`SMBus Host is obliged to generate a STOP condition, thus causing a premature termination of
`the transfer. This signals the SMBus Host that an error has occurred. For some functions,
`invalid data is used as a signal that valid data is NOT available. In these cases, the function will
`place OK in the error register.
`
`The Smart Battery must ALWAYS acknowledge its own address. Failure to do so might cause
`the SMBus Host or Smart Battery Charger to incorrectly assume the Smart Battery is NOT
`present in the system. The Smart Battery may choose not to acknowledge any byte following its
`address if it is busy or otherwise unable to respond.
`
`4.3.3. Error Handling
`When the SMBus Host detects that an error has occurred, it uses the BatteryStatus() function to
`get the error code from the Smart Battery. In the case where the error code is OK, there was an
`unrecognized bus error rather than a Smart Battery error and the SMBus Host should repeat the
`original function.
`
`4.4. Smart Battery Characteristics
`The Smart Battery may or may not be present in a system. Additionally, it may dynamically be
`added or removed while the system is powered. Therefore, it must exhibit predictable behaviors
`
` -Page 5-
`
`Revision 1.0
`
`Exhibit 1022, Page 011
`
`
`
`Smart Battery Data Specification
`
`when inserted in a system and/or when the system is turned on. The following is a description of
`the battery’s states and a description of the actions that take place as a result state changes.
`
`4.4.1. Initial Conditions
`When a Smart Battery is first delivered, several values are already set:
`• RemainingCapacityAlarm() which is set to 10% of the DesignCapacity()
`• RemainingTimeAlarm() which is set to 10 minutes
`• The BatteryMode()’s CHARGER_MODE bit and CAPACITY_MODE bit which are cleared
`• The BatteryStatus() INITIALIZED bit which is set
`• The CycleCount() which is cleared
`
`4.4.2. On State
`The Smart Battery enters the “on state” whenever the SMBus clock goes high. The battery
`should be active and able to communicate via the SMBus within 1 ms of detecting the SMBus
`clock going high. The battery may not disrupt traffic on the SMBus.
`
`4.4.3. Off State
`The Smart Battery must enter the “off state” whenever the SMBus clock and data lines both
`remain low for greater than two seconds. A Smart Battery may enter the “off state” in less time,
`however, in no case can it enter the off state in less than 10 times the SMB device TTIMEOUT
`value. The SMB lines may go low because the battery is removed from the system, the SMB host
`forces them low in order to reset the battery or power is removed from the SMBus (for example,
`when the system is turned off).
`
`4.4.4. Off to On State Transition
`Whenever the Smart Battery enters the “on state”, the following values are cleared:
`• The BatteryMode() CHARGER_MODE bit
`• The BatteryMode() CAPACITY_MODE bit
`
`The Smart Battery may not begin broadcasting ChargingVoltage(), ChargingCurrent() or
`AlarmWarning() messages to either the host or charger for at least 10 seconds after entering the
`“on state.”
`
`4.4.5. On to Off State Transition
`Whenever the Smart Battery enters the “off state”, the following values are cleared:
`If active, the BatteryMode() CHARGE_CONTROLLER_ENABLED bit
`•
`If active, the BatteryMode() PRIMARY_BATTERY bit
`
`•
`
`The Smart Battery defaults to disable the internal charge controller in-order to prevent possible
`overloading of the power supply in systems when more than one battery is present. Without this
`default, it is possible for multiple batteries to concurrently demand more charging power than is
`available potentially starving the system of power.
`
`The Smart Battery’s defaults to act as a secondary battery in order to prevent large amounts of
`energy that could potentially flow between two primary batteries not at the same charge level.
`
` -Page 6-
`
`Revision 1.0
`
`Exhibit 1022, Page 012
`
`
`
`Smart Battery Data Specification
`
`5. Smart Battery Interface
`The following functions are used by the Smart Battery to communicate with a SMBus Host,
`Smart Battery Charger and other devices connected via the SMBus.
`
`The functions are described as follows:
`FunctionName()
`0xnn (command code)
`Description:
`A brief description of the function.
`Purpose:
`The purpose of the function, and an example where appropriate.
`SMBus Protocol: Refer to Section 6 for details.
`Input, Output or Input/Output: A description of the data supplied to or returned by the
`function.
`
`The data is described as follows:
`data type:
`Units:
`Range:
`Granularity:
`Accuracy:
`
`The type of data the function conveys (See Appendix B)
`The units the data is presented in
`The range of valid data
`See paragraph below
`How "good" is the data.
`
`Granularity is described in this specification as a percentage of an associated maximum value.
`The data's granularity is determined by several factors. For measured data, the number of bits
`supplied by the A-D converter used in the Smart Battery generally will determine the granularity.
`In the case of calculated values, the granularity is generally determined by the granularity of the
`least-accurate data.
`
`For example, for a battery with a Design Voltage of 4.8 volts (4800 mv) the values would be:
`8-bit A/D
`9-bit A/D
`10-bit A/D
`11-bit A/D
`0.40
`0.20
`0.10
`0.05
`19.2
`9.6
`4.8
`2.4
`
`Granularity (%)
`Actual value (mv)
`
`However, for a 12 volt (12000 mv) battery they would be:
`8-bit A/D
`9-bit A/D
`0.40
`0.20
`48.0
`24.0
`
`Granularity (%)
`Actual value (mv)
`
`10-bit A/D
`0.10
`12.0
`
`11-bit A/D
`0.05
`6
`
`The fractional granularity values will always be rounded up to the next integer value. By
`specifying Voltage() in terms of DesignVoltage() rather than in absolute numerical values, the
`Smart Battery can supply useful data values while still retaining adequate dynamic range.
`
`Accuracy is specified either relative to some battery characteristic (such as DesignVoltage()) or
`relative to a battery characteristic and the battery-supplied error value, MaxError(). Generally,
`absolute accuracy is possible only for values that are known at the time the battery is
`manufactured. For example, the temperature's accuracy is known at the time of manufacture.
`
`This specification implies that an A-D with at least a 9-bit resolution be used to meet the
`minimum granularity requirements for "measured" values. Although the granularity and
`accuracy values specified represent a minimum standard of performance, better performance is
`encouraged.
`
` -Page 7-
`
`Revision 1.0
`
`Exhibit 1022, Page 013
`
`
`
`Smart Battery Data Specification
`
`For various classes of battery packs, the voltage, current and other parameters may have their
`limits or ranges clarified in ancillary battery pack specifications. These specifications will serve
`to better define the range over which high accuracy is required. Many of the default values
`contained in this specification may be superseded for a class of battery packs by values defined in
`an industry-wide ancillary pack specification. For example, although the battery temperature
`data can theoretically be reported ranging from absolute zero to the surface temperature of the
`sun, a class of battery packs destined for the consumer market may only require a temperature
`range of -10 to 45°C.
`
`A Smart Battery that complies with this specification must support all the command codes
`contained in this specification. It must support the defaults as specified. Additionally, it must
`support all modes and functions specified except those which it can explicitly signal the presence
`or absence thereof (e.g. the presence of an internal charge controller and the ability to enable or
`disable that controller).
`
`5.1. SMBus Host-to-Smart Battery Messages
`
`(0x00)
`
`5.1.1. ManufacturerAccess()
`Description:
`This function is optional and its meaning is implementation specific.
`Purpose:
`The ManufacturerAccess() function's purpose is manufacturer specific.
`SMBus Protocol: Read or Write Word
`Input/Output: word -- Content determined by the Smart Battery's manufacturer
`
`(0x01)
`
`5.1.2. RemainingCapacityAlarm()
`Description:
`Sets or gets the Low Capacity threshold value. Whenever the RemainingCapacity() falls below
`the Low Capacity value, the Smart Battery sends AlarmWarning() messages to the SMBus Host
`with the REMAINING_CAPACITY_ALARM bit set. A Low Capacity value of 0 disables this
`alarm. The Low Capacity value is set to 10% of design capacity at time of manufacture. The
`Low Capacity value will remain unchanged until altered by the RemainingCapacityAlarm()
`function. The Low Capacity value may be expressed in either current (ma) or power (10mwH)
`depending on the setting of the BatteryMode()'s CAPACITY_MODE bit (see BatteryMode()).
`Purpose:
`The RemainingCapacityAlarm() function can be used by systems that know how much power
`they will require to save their operating state. It enables those systems to more finely control the
`point at which they transition into suspend or hibernate state. The Low Capacity value can be
`read to verify the value in use by the Smart Battery's Low Capacity alarm.
`SMBus Protocol: Read or Write Word
`unsigned int -- value below which Low Capacity messages will be sent
`Input/Output:
`
`Battery Mode
`CAPACITY_MODE bit = 0 CAPACITY_MODE bit = 1
`maH @ C/5
`10mwH @ P/5
`0 to 65,535 maH
`0 to 65,535 10mwH
`not applicable
`see RemainingCapacity()
`
`Units:
`Range:
`Granularity:
`Accuracy
`
` -Page 8-
`
`Revision 1.0
`
`Exhibit 1022, Page 014
`
`
`
`Smart Battery Data Specification
`
`(0x02)
`
`5.1.3. RemainingTimeAlarm()
`Description:
`Sets or gets the Remaining Time alarm value. Whenever the AverageTimeToEmpty() falls below
`the Remaining Time value, the Smart Battery sends AlarmWarning() messages to the SMBus
`Host with the REMAINING_TIME_ALARM bit set. A Remaining Time value of 0 effectively
`disables this alarm. The Remaining Time value is set to 10 minutes at time of manufacture. The
`Remaining Time value will remain unchanged until altered by the RemainingTimeAlarm()
`function.
`Purpose:
`The RemainingTimeAlarm() function can be used by systems that want to adjust when the
`remaining time alarm warning is sent. The Remaining Time value can be read to verify the
`value in use by the Smart Battery's RemainingTimeAlarm().
`SMBus Protocol: Read or Write Word
`unsigned int -- the point below which Remaining Time messages will be sent
`Input/Output:
`Units:
`minutes
`Range:
`0 to 65,535 minutes
`Granularity:
`not applicable
`Accuracy:
`see AverageTimeToEmpty()
`
` -Page 9-
`
`Revision 1.0
`
`Exhibit 1022, Page 015
`
`
`
`Smart Battery Data Specification
`
`5.1.4. BatteryMode()
`Description:
`This function selects the various battery operational modes and reports the battery’s capabilities,
`modes, and condition.
`
`(0x03)
`
`Defined capabilities include:
`• Optional internal charge controller supported (INTERNAL_CHARGE_CONTROLLER)
`• Optional internal primary battery control (PRIMARY_BATTERY_SUPPORT)
`
`Defined modes include:
`• Battery's capacity information is specified in maH or 10mwH (CAPACITY_MODE bit)
`• Whether the ChargingCurrent() and ChargingVoltage() values are broadcast to the Smart
`Battery Charger when the Smart Battery requires charging (CHARGER_MODE bit)
`• Optional internal charge controller enable (CHARGE_CONTROLLER_ENABLED)
`• Optional internal primary battery control enable (PRIMARY_BATTERY)
`
`The defined condition is the battery requesting a conditioning cycle (CONDITION_FLAG).
`
`Purpose:
`The CAPACITY_MODE bit allows power management systems to best match their electrical
`characteristics with those reported by the battery. For example, a switching power supply
`represents a constant power load, whereas a linear supply is better represented by a constant
`current model. The CHARGER_MODE bit allows a SMBus Host or Smart Battery Charger to
`override the Smart Battery's desired charging parameters by disabling the Smart Battery's
`broadcast of the ChargingCurrent() and ChargingVoltage(). The CONDITION_FLAG bit allows
`the battery to request a conditioning cycle.
`
`SMBus Protocol: Read or Write Word
`unsigned int - bit mapped - see below
`Input/Output:
`Units:
`not applicable
`Range:
`0...1
`Granularity:
`not applicable
`Accuracy:
`not applicable
`
`The BatteryMode() word is divided into two halves, the MSB which is read/write and the LSB
`which is read only. Attempts to set (write 1's) the reserved bits in the MSB are prohibited.
`
` 15
`
` MSB
`
` 8
`
`7
`
` LSB
`
` 0
`
`R/W R/W res
`
`res
`
`res
`
`res R/W R/W R
`
`res
`
`res
`
`res
`
`res
`
`res
`
`R
`
`R
`
`The following table summarizes the meanings of the individual bits in the BatteryMode() word
`and specifies the default values if any. Power-on default values, where applicable, are discussed
`in section 4.4.
`
` -Page 10-
`
`Revision 1.0
`
`Exhibit 1022, Page 016
`
`
`
`Smart Battery Data Specification
`
`Field
`
`Bits Used
`
`Format
`
`Allowable Values
`
`INTERNAL_CHARGE_
`CONTROLLER
`PRIMARY_BATTERY_
`SUPPORT
`reserved
`CONDITION_FLAG
`
`CHARGE_CONTROLLER
`_ENABLED
`
`PRIMARY_BATTERY
`
`0
`
`1
`
`2-6
`7
`
`8
`
`9
`
`reserved
`CHARGER_MODE
`
`10-13
`14
`
`CAPACITY_MODE
`
`15
`
`read only
`bit flag
`read only
`bit flag
`
`0 - Optional Function Not Supported
`1 - Internal Charge Controller
`0 - Optional Function Not Supported
`1 - Primary or Secondary Battery Support
`
`0 - Battery OK
`read only
`1 - Conditioning Cycle Requested
`bit flag
`r/w bit flag 0 - Internal Charge Control Disabled
`(default)
`1 - Internal Charge Control Enabled
`r/w bit flag 0 - Battery operating in its secondary role
`(default)
`1 - Battery operating in its primary role
`
`r/w bit flag 0 - Enable broadcast to charger (default)
`1 - Disable broadcast to charger
`r/w bit flag 0 - Report in ma or maH (default)
`1 - Report in 10mw or 10mwH
`
`INTERNAL_CHARGE_CONTROLLER bit set indicates that the battery pack contains its
`own internal charge controller. When the b