bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 BATTERY PACK SECURITY AND AUTHENTICATION IC FOR PORTABLE APPLICATIONS (bqSECURE™) • FEATURES • • • • • • • Provides Authentication of Battery Packs Through a Programmable CRC With a 96-bit Unique Device ID 16 Bytes of User-Programmable Nonvolatile Memory 12.5 KV IEC ESD Protection on HDQ Input Internal Time-Base Eliminates External Crystal Oscillator Low-Power Operating: <30 µA Single-Wire HDQ Interface Powered Directly From the Communication Bus Pass-Through HDQ Version Supports Existing Packs With Gas Gauges APPLICATIONS • • • • • • Cellular Phones PDA and Smart Phones MP3 Players Digital Cameras Internet Appliances Handheld Devices DESCRIPTION The bq26150 provides a method to authenticate battery packs, ensuring that only packs manufactured by authorized sub-contractors are used in the end application. The bq26150 uses a 96-bit unique device ID, device unique 16-bit seed, and a 16-bit device specific CRC to provide security. The device ID, CRC seed, and CRC polynomial coefficients are stored securely in each bq26150 device, allowing the host to authenticate each pack. The bq26150 communicates to the system over a simple one-wire, bidirectional serial interface. The 5 kbits/s HDQ bus interfaces reduces communications overhead in the external microcontroller. The bq26150 also uses the HDQ bus to charge an external capacitor that provides power to the bq26150. TYPICAL APPLICATION Optional Battery Monitor/Gas Gauge Pack + R3 5 kW 0.01 mF HDQ 5 + R2 100 kW 4 bq26150 1 2 3 VCC VSS HDQ GPIO SRP SRN BAT R1 0.02 W Protector Pack - Please be aware that an important notice concerning availability, standard warranty, and use in critical applications of Texas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet. bqSECURE is a trademark of Texas Instruments. PRODUCT PREVIEW information concerns products in the formative or design phase of development. Characteristic data and other specifications are design goals. Texas Instruments reserves the right to change or discontinue these products without notice. Copyright © 2005, Texas Instruments Incorporated PRODUCT PREVIEW • Small 5-Pin SC 70 package bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 These devices have limited built-in ESD protection. The leads should be shorted together or the device placed in conductive foam during storage or handling to prevent electrostatic damage to the MOS gates. AVAILABLE OPTIONS TA PACKAGE PART NUMBER –20°C to 70°C 5-Lead SC 70 bq26150 ABSOLUTE MAXIMUM RATINGS (1) UNIT VSS Supply voltage (HDQ with respect to VSS) –0.3 V to 7.7 V VI Input voltage (HDQP with respect to VSS) –0.3 V to 7 V IO Output current (HDQ and HDQP) TA Operating free-air temperature range –20°C to 70°C Tstg Storage temperature range –65°C to 150°C TJ Junction temperature range –40°C to 125°C 5 mA Lead temperature (soldering, 10 sec) PRODUCT PREVIEW (1) 300°C Stresses beyond those listed under absolute maximum ratings may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under recommended operating conditions is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. RECOMMENDED OPERATING CONDITIONS MIN TJ NOM MAX UNIT Supply voltage, HDQ pull-up 2.5 5 V Operating free-air temperature range –20 70 °C ELECTRICAL CHARACTERISTICS All parameters over recommended operating temperature and supply voltage range (unless otherwise noted) PARAMETER TEST CONDITIONS MIN TYP MAX UNIT CI Input capacitance HDQ 400 pF td1 Power up communication delay Power capacitor charge time 100 ms ICC VCC current VCC > VCC(min) V(POR) POR threshold Low-to-high Nonvolatile memory programming voltage Nonvolatile memory programming supply current 20 7.0 –40°C and VCC = 2.75 V 30 µA 1.5 V 7.7 V 308 µA MAX UNIT HDQ AND HDQP PINS over recommended operating temperature and supply voltage range (unless otherwise noted) PARAMETER VIH Input high voltage VIL Input low voltage IOL Output low sink current 2 TEST CONDITIONS MIN TYP 1.8 V 0.7 VOL = 0.4 V 1 V mA bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 STANDARD SERIAL COMMUNICATION (HDQ) TIMING over recommended operating temperature and supply voltage range (unless otherwise noted) See Figure 1 PARAMETER TEST CONDITIONS Power up delay MIN Power capacitor charge time TYP MAX 100 UNIT ms 190 µs Break recovery 40 µs Host bit window 190 t(HW1) Host sends 1 0.5 50 µs t(HW0) Host sends 0 86 145 µs t(RSPS) bq26150 to host response 190 320 µs t(CYCD) bq26150 bit window 190 250 µs t(DW1) bq26150 sends 1 32 50 µs t(DW0) bq26150 sends 0 80 145 µs t(B) Break timing t(BR) t(CYCH) t(B) µs t(BR) t(HW1) t(DW1) t(HW0) t(DW0) t(CYCD) t(CYCH) (b) Host Transmitted Bit Timing; BREAK PRODUCT PREVIEW (a) Break and Break Recovery Timing; (c) bq26150 Transmitted Bit Timing; 7 bit ADDRESS 1 bit R/W 8 bit DATA t(RSPS) (d) bq26150 to Host Response Timing Figure 1. HDQ Bit Timing Diagrams 3 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 PIN ASSIGNMENT PWR HDQP 5 1 4 2 3 HDQ VSS VSS TERMINAL FUNCTIONS TERMINAL NAME NO. I/O DESCRIPTION HDQ 1 I/O VSS 2, 3 I Single-wire HDQ interface to host HDQP 4 I/O Single-wire HDQ interface to 2nd HDQ device PWR 5 I/O Power capacitor Ground PRODUCT PREVIEW FUNCTIONAL BLOCK DIAGRAM Private Nonvolatile Memory Public Nonvolatile Memory 96 bits Plaintext ID 16 bits Encrypted Polynomial 16 bits Plaintext Polynomial 96 bits Encrypted ID 16 bits 16 bits Encrypted Seed Plaintext Seed 128 bits General Use HDQ Public RAM 8 bits Control 32 bits Message Authentication CRC 16 bits Auth Code Power Control 4 Communication bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 APPLICATION INFORMATION Optional Battery Monitor/Gas Gauge Pack + R3 5 kW 0.01 mF HDQ 5 + R2 100 kW 4 bq26150 1 2 3 VCC VSS HDQ GPIO SRP SRN BAT R1 0.02 W Protector Pack - FUNCTIONAL DESCRIPTION The bq26150 provides a simple and cost effective method to authenticate battery packs for end equipment. Security is achieved through the use of a 16-bit CRC, a 16-bit CRC seed, a 96-bit device ID, and a 32-bit random challenge. The CRC polynomial, CRC seed, and 96-bit ID are unique from device to device, and are stored as encrypted text in public memory, and as plain text in private memory. The host system can decrypt the polynomial, seed, and ID values using a shared key that is stored in end-equipments memory. The encryption method and shared key used to store the polynomial coefficients and the device ID can be selected by the manufacturer. Contact TI for information regarding specifics for encryption of the device ID and CRC polynomial coefficients. To authenticate a battery pack, the host reads the encrypted device ID, polynomial, and seed values. It decrypts those values, then generates a 32-bit random challenge, which is transmitted to the bq26150. The bq26150 uses the plain-text version of the polynomial coefficients and device ID, along with the 32-bit random challenge from the host, to calculate the authentication CRC value. The host uses the polynomial coefficients, seed, and device ID that it decrypted, along with the 32-bit random challenge it sent to the bq26150, to calculate the authentication CRC value. When the host and bq26150 have completed the calculations, the host can read the authentication CRC value the bq26150 computed and compare to its own value. If the values match, the battery pack is authenticated. The bq26150 has a communication pass-through mode that allows it to be used in systems with an existing HDQ based battery monitor or gas gauge. Once the battery pack is authenticated, the bq26150 can be put in continuous pass-through mode, allowing the host system to communicate with a second HDQ device with no additional overhead. A one-time pass-through mode is also available, allowing the host to communicate once to the second HDQ device as needed. The bq26150 obtains the power needed to run from the HDQ bus. An external capacitor is charged when the bus is high and discharges while the bus is low. If the bq26150 is not authenticating or communicating and the HDQ bus is low, the power is reduced and it enters sleep mode. If the bus is held low until the capacitor fully discharges, the bq26150 is disabled. 5 PRODUCT PREVIEW Figure 2. Typical Application Circuit bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 APPLICATION INFORMATION (continued) Register Interface Table 1. Memory Map HDQ ADDRESS NAME FUNCTION NONVOLATILE REGISTERS PRODUCT PREVIEW 0x7F – 0x70 GEN General Purpose Memory 0x6F – 0x60 RSVD Reserved 0x5F – 0x59 RSVD Reserved 0x58 DL Device Lock 0x57 – 0x51 RSVD Reserved 0x50 SKI Secret Key Index 0x4F – 0x4E EDS Encrypted polynomial seed (ES[15:0]) 0x4D – 0x4C EDP Encrypted polynomial coefficients (EP[15:0]) 0x4B – 0x48 EDK1 Encrypted device ID registers (EI[95:64]) 0x47 – 0x40 EDK0 Encrypted device ID registers (EI[63:0]) 0x3F – 0x3E PDS Plaintext polynomial seed(PS[15:0]) 0x3D – 0x3C PDP Plaintext polynomial coefficients (PP[15:0]) 0x3B – 0x38 PDK1 Plaintext device ID registers (PI[95:64]) 0x37 – 0x30 PDK0 Plaintext device ID registers (PI[63:0]) 0x2F – 0x1A RSVD Reserved 0x19 FACTORY Factory Reserved 0x18 CTRL Authentication control register 0x17 – 0x06 RSVD Reserved 0x05 – 0x04 AC Authentication CRC value (AC[15:0]) 0x03 – 0x00 RC Random challenge registers (RC[31:0]) RAM REGISTERS Memory Descriptions Reserved Registers (RSVD)–Addresses 0x6F–0x59, 0x57–0x51, 0x2F–0x1A, 0x17–0x06 Registers reserved for future use. Any read from these registers returns 0xFF. General Use (GEN) – Addresses 0x7F – 0x70 General use memory allows battery manufacturer or other pack information to be stored in nonvolatile memory. Device Lock (DL) – Addresses 0x58 When DL[7:4] is nonzero, any attempt to write the EDS, EDP, EDK1, PDS, PDP, or PDK1 registers is blocked. When DL[3:0] is nonzero, any attempt to write to EDK0 or PDK0 is blocked. This feature allowed two entities to write device information, providing for more secure programming. The lock takes effect immediately after the DL register is written. Secret Key Index (SKI) – Addresses 0x50 This non-volatile register can be used in the event that more than a single key is used by the host to decrypt the EDP and EDK registers. For example, multiple pack manufacturers may be utilized to assembly packs for the end equipment. Each pack manufacturer can be given a separate key (KS), and key index value (I), to encrypt the plaintext polynomial and device ID values. The host end equipment is then programmed with each secret key (KS) used by the various pack manufacturers. When authentication is attempted, the host reads the encrypted polynomial, device ID, and key index values. The KS used by the manufacturer with key index is then selected to decrypt the values to plaintext. 6 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 Encrypted Device Seed (EDS) – Addresses 0x4F – 0x4E The unique 16-bit CRC seed stored as ciphertext in public nonvolatile memory. The host reads this seed and decrypts it using the shared key. The output of the decryption is the plaintext CRC seed that is used by the host to initialize the authentication CRC. Encrypted Device Polynomial Coefficients (EDP) – Addresses 0x4D – 0x4C The unique 16-bit CRC polynomial stored as ciphertext in public nonvolatile memory. The host reads this register pair and decrypts it using the shared key. The output of the decryption is the plaintext polynomial coefficients that are used by the host to define the authentication CRC. Encrypted Device ID (EDK) – Addresses 0x4B – 0x40 The unique 96 bit device ID used stored as ciphertext in public nonvolatile memory. The host reads this register pair and decrypts it using the shared key. The output of the decryption is the plaintext device ID that are used by the host to define the authentication CRC. Plaintext Device Seed (PDS) – Addresses 0x3F – 0x3E Plaintext Device Polynomial Coefficients (PDP) – Addresses 0x3D – 0x3C The unique 16 bit CRC polynomial stored as plaintext in private nonvolatile memory. The coefficients are written to the OTP at pack manufacturing or IC test. The plaintext polynomial coefficients are used by the bq26150 to define the authentication CRC. Any attempt to read the plaintext polynomial coefficients returns data 0xFF. Plaintext Device ID (PDK) – Addresses 0x3B – 0x30 The unique 96 bit device ID used stored as plaintext in public nonvolatile memory. The device is written to the OTP at pack manufacturing or IC test. The plaintext device ID is used by the bq26150 to calculate the authentication CRC value. Any attempt to read the plaintext device ID returns data 0xFF. Factory Reserved (FACTORY) – Address 0x19 This register is used internally to TI for simple identification. Writes are not permitted, and reads return a random value. Control Register (CTRL) – Address 0x18 BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 NAME CPASS OPASS RSVD RSVD RSVD POR DONE AUTH POR STATUS 0 0 0 0 0 1 0 0 CPASS Writing the bit to a 1 enables the Continuous HDQ Pass Through mode. All communication then passes through the HDQP pin, allowing the host to reach a 2nd HDQ based device. The CPASS bit is cleared when the bq26150 detects three consecutive breaks. OPASS Writing this bit to a 1 enables the One Time HDQ Pass Through mode. The next 16 valid bits of communication passes through the HDQP pin, allowing the host to reach a 2nd HDQ based device. The OPASS bit is cleared following the 16th valid data bit or when three consecutive breaks are sent from the host. RSVD Reserved – These bits are available for future functions. These bits (5, 4, and 3) should be written to 0 when the host system writes to the control register. These bits always return a 0 when the host reads from the control register POR The POR bit is set to 1 by the bq26150 following a Power on Reset. This is a flag to the host that VCC was less than V(POR) for some period of time. The device undergoes a full reset on a POR condition. The host must clear the bit. The host may set this bit, but it has no effect on the bq26150. 7 PRODUCT PREVIEW The unique 16 bit CRC seed stored as plaintext in private non-volatile memory. The seed registers are written to the OTP at pack manufacturing or IC test. The plaintext seed is used by the bq26150 to initialize the authentication CRC. Any attempt to read the plaintext seed registers will return data 0xFF. bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 DONE DONE is set when bq26150 has completed calculating the CRC after AUTH bit has been set. This is a flag to the host system that the message/authentication registers contain the calculated CRC value. The bit is automatically cleared when the AUTH bit is set. AUTH Writing this bit to 1 initiates the CRC calculation. The message written to the message/digest registers, 0x03 – 0x00, are used as input. This bit is automatically cleared when the CRC calculation is complete and the authentication value has been written to the message/authentication registers. Authentication CRC Value (AC) – Addresses 0x05 – 0x04 The value computed from the CRC. The register is cleared on POR. This register cannot be written by the host system Random Challenge (RC) – Addresses 0x03 – 0x00 The host system writes this register set with a random challenge that is used to calculate the CRC value (see below for details on the CRC calculation). The bq26150 uses the entire 4 bytes to calculate the CRC when the AUTH bit (CTRL[0]) is written to 1. After the authentication value is calculated, bq26150 writes the digest to the AC registers, clear the AUTH bit and set the DONE bit (CTRL[1]). CRC Description PRODUCT PREVIEW A CRC, or cyclic redundancy check, is normally used to detect small errors in the transmission of data. A CRC calculation is a form of polynomial modulo 2 arithmetic, so a CRC is usually referenced by means of a polynomial, i.e., 1 + x4 + x5 + x16. Most correct CRC polynomials ensure that the highest and lowest polynomial orders have a coefficient of 1. The highest order coefficient represents the number of bits in the final CRC value and the other terms with a coefficient of 1 represent the tap points where an XOR is performed. The example CRC 1 + x4 + x5 + x16 would then represent a 16 bit CRC value, with tap points at the x5, x4, and x0 stages. The bq26150 uses a 16 bit type 2 linear feedback shift register with programmable tap points. This allows the CRC polynomial to vary from device to device. 8 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 P13 P12 P11 x0 x1 x2 x3 AV[15] AV[14] AV[13] AV[12] P10 P6 P9 P8 P7 x4 x5 x6 x7 AV[11] AV[10] AV[9] AV[8] P5 P4 P3 x8 x9 x10 x11 AV[7] AV[6] AV[5] AV[4] P2 P1 PRODUCT PREVIEW P14 P0 x12 x13 x14 x15 AV[3] AV[2] AV[1] AV[0] INPUT (lsb first) Figure 3. bq26150 Programmable CRC Hardware Implementation The generic polynomial used in the bq26150 can be written as: 1+P14x1+P13x2+12x3+P11x4+P10x5+P9x6+P8x7+P7x8P6x9+P5x10+4x11+P3x12+P2x13+P1x14+P0x15+x16 Figure 3 shows the hardware implementation of the CRC, with the corresponding bits of the authentication value shown below each stage of the shift register. This configuration assumes that the x0 term coefficient, which is P15, is always 1, which was stated as an assumption of a normal CRC polynomial. This means that there are 215, or 32768, possible CRC polynomial values. In actually, the number of possible CRC polynomial will be less than 32758 because some values, such as all 0, do not provide sufficient mixing of the results to be secure. To authenticate a battery pack using the bq26150, the host must reproduce the CRC calculation in software. This is done by reading the encrypted device ID and encrypted polynomial coefficients, and encrypted seed. All values are decrypted by the host to provide the 16-bit polynomial, 16-bit seed, and 96 of the 128 bits of calculation’s input. The CRC input is: Device ID [95:0] Input MSB Random Challenge [31:0] Input LSB 9 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 Figure 4 provides a pseudo-code example of calculating the CRC in software and Figure 5 shows an example of the CRC calculations inputs and associated output. poly = P [15 : 0] ; strcpy (input, key [ 63 : 0 ] ) ; strcat (input, challenge [ 31 : 0 ] ) ; for ( i = o ; i < 96 ; i + + ) { if (crc [ 0 ] ^ input [ i ] ) crc = ( crc >> 1 ) ^ poly; else crc = crc >> 1 ; } Figure 4. Pseudo-C Code for CRC Calculation 2 5 Polynomial = 1 + x + x + x 11 +x P [ 15 : 0 ] = 1010010000010000 = A410 Seed [15:0] = 6a9f 16 (binary) (hex) (hex) PRODUCT PREVIEW Decrypted Device ID = 65a9b4f38dcc217d (hex) Random Challenge = a0071d8e (hex) CRC input = a0071d8e65a9b4f38dcc217d (hex) CRC output = 7ef8 Figure 5. Example Inputs and Output of CRC Calculation Writing and Reading Nonvolatile Memory The bq26150 has sixteen bytes of nonvolatile one time programmable memory for general use and 32 bytes for authentication information that can be programmed by the HDQ engine. All OTP registers are cleared at final test, allowing for programming at pack manufacturing. Programming a nonvolatile memory location requires sending the HDQ write command to that location and then pulling the HDQ line up to 7 V for 300 µs. If the programming pulse is not provided, the data transmitted by the host will not programmed into the OTP. Figure 6 shows an example of writing and programming address 0x71 with data 0x55 (timings are not drawn to scale). Figure 6, Figure 7 and Table 2 provide more information on the programming pulse specifications. VPROG VPullœup GND tPON Figure 6. Writing and Programming OTP Example 10 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 VPROG VPull-up GND tRISE tPROG tFALL Figure 7. OTP Programming Pulse Table 2. OTP Programming Specifications tPON Write to pulse rise tRISE Pulse rise time tPROG Pulse high time tFALL Pulse fall time TEST CONDITIONS MIN MAX µs 2 No overshoot above 7.7 V 1 10 µs µs 300 1 UNIT 10 µs The nonvolatile memory can be written to more than once. However, the data already in the byte goes through a logical bitwise OR with the new data. For example, if address 0x71 was programmed with data 0x55 initially and a second program to address 0x71 with data 0xAA was performed, subsequent reads of address 0x71 would return data 0xFF (0x55 OR 0xAA = 0xFF). Communication With a 2nd HDQ Device The bq26150 has two communication pass through modes to allow communication to a second HDQ based device from Texas Instruments. These modes allow the bq26150 to be put in an existing system utilizing a bq2018, bq2019, bq262xx, or bq27xxx device. The pass through modes can be enabled by setting the CPASS or OPASS bits in the control register. The Continuous Pass Through (CPT) mode is enabled when the CPASS bit is set. While in this mode the bq26150 passes all communication through to the 2nd device on the bus. The CPT mode is cancelled when the host transmits three consecutive breaks. Note that the 2nd device on the bus may only see two of these three breaks. The CPASS bit automatically clears after the third break is received. The One Pass Through (OPT) mode is enabled when the OPASS bit is set. While in this mode, the bq26150 passes 16 valid HDQ bits. This allows the host to perform a single read or write to the 2nd HDQ device. The OPT mode is cleared after the 16th valid HDQ bit passes through the bq26150 or when 3 consecutive breaks are received from the host. Note that the 2nd HDQ device may only see two of these three breaks. The OPASS bit is automatically cleared after the 16th bit or the third break. The OPT mode is useful for putting a 2nd HDQ device to sleep. The OPASS bit can be set in the bq26150, allowing the sleep command to be passed to the 2nd HDQ device. After the 16th bit is received from the host, communication reverts to the bq26150. The HDQP line will not be disturbed and the 2nd device enters sleep mode as expected. If the host writes both the CPASS and OPASS bits, the CPASS bit has priority and remains set after the first pass through is completed. The OPASS bit is cleared. Sending a Break During a Pass Through Read: The bq26150 pass through mode is implemented in logic rather than connecting the HDQ/HDQP pads directly through an analog transmission gate. This means the bq26150 cannot transmit the first break it receives to the 2nd device while the data is being driven from the 2nd device to the master. To transmit a break to the 2nd device while it is transmitting, the host is required to send 2 breaks. The first resets the bq26150 engine and prepares it to transmit from the host to the 2nd device. The second break actually reaches the 2nd HDQ device. Putting a bq262x0 to Sleep using Pass Through: 11 PRODUCT PREVIEW PARAMETER bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 A system using the bq26150 and a bq26200 or bq26220 communicates to the monitor during normal usage. This means that the continuous pass-through mode is used. To put the bq262x0 to sleep, the host should exit continuous pass through mode and put the bq26150 in one-time-pass-through mode. The host can then communicate to the bq262x0 to issue the sleep command and communication control reverts to the bq26150. The HDQP is not disturbed, allowing the bq262x0 to enter the low power mode. To wake the bq262x0, the bq26150 can be put in either continuous or one-time-pass-through mode and a break can be issued from the host. Communicating With bq26150 The bq26150 includes a single-wire HDQ serial data interface. Host processors, configured for either polled or interrupt processing, can use the interface to access various bq26150 registers. The HDQ pin is an open drain device, which requires an external pull-up or pull-down resistor. The interface uses a command-based protocol, where the host processor sends a command byte to the bq26150. The command directs the bq26150 either to store the next eight bits of data received to a register specified by the command byte, or to output the eight bits of data from a register specified by the command byte. The communication protocol is asynchronous return-to-one and is referenced to VSS. Command and data bytes consist of a stream of eight bits that have a maximum transmission rate of 5 Kbits/s. The least-significant bit of a command or data byte is transmitted first. Data input from the bq26150 may be sampled using the pulse-width capture timers available on some microcontrollers. A UART can also be configured to communicate with the bq26150. PRODUCT PREVIEW If a communication time-out occurs, for example, if the host waits longer than t(RSPS) for the bq26150 to respond or if this is the first access command, then a BREAK should be sent by the host. The host may then re-send the command. The bq26150 detects a BREAK when the HDQ pin is driven to a logic-low state for a time t(B) or greater. The bq26150 is ready for a command from the host processor t(BR) seconds after the HDQ line is released from the break. The return-to-one data-bit frame consists of three distinct sections: 1. The first section starts the transmission by either the host or the bq26150 taking the HDQ pin to a logic-low state for a period equal to t(HW1) or t(DW1). 2. The next section is the actual data transmission, where the data should be valid for t(HW0)–t(HW1) or t(DW0)–t(DW1). 3. The final section stops the transmission by returning the HDQ pin to a logic-high state and holding it high until the time from bit start to bit end is equal to t(CYCH) or t(CYCD). The HDQ line may remain high for an indefinite period of time between each bit of address or between each bit of data on a write cycle. After the last bit of address is sent on a read cycle, the bq26150 starts outputting the data after t(RSPS) with timing as specified. The serial communication timing specification and illustration sections give the timings for data and break communication. Communication with the bq26150 always occurs with the least-significant bit being transmitted first. Plugging in the battery pack may be seen as the start of a communication due to contact bounce. It is recommended that each communication or string of communications be proceeded by a break to reset the bq26150s HDQ engine. Command Byte The Command byte of the bq26150 consists of eight contiguous valid command bits. The command byte contains two fields: W/R Command and address. The Command byte values are shown in the following table: 7 6 5 4 3 2 1 0 W/R AD6 AD5 AD4 AD3 AD2 AD1 AD0 W/R Indicates whether the Command bytes is a read or write command. A 1 indicates a write command and that the following eight bits should be written to the register specified by the address field of the Command byte, while a 0 indicates that the command is a read. On a read command, the bq26150 outputs the requested register contents specified by the address field portion of the Command byte. AD6–AD0 The seven bits labeled AD6–AD0 containing the address portion of the register to be accessed. 12 bq26150 www.ti.com SLUS641A – JANUARY 2005 – REVISED JULY 2005 Cryptography Glossary PRODUCT PREVIEW This glossary is not intended to be exhaustive, but provides a quick reference to some of the terms included in this document. Plaintext Data in an immediately usable form. Texas Instruments Incorporated is an example of a plaintext string. Ciphertext Data that has been encrypted with any of a number of cipher algorithms. If bq26150 is the plaintext, the ciphertext string might be represented as *)d*0dsF. Shared Secret Key A key used by both Texas Instruments Incorporated and the host manufacturer to encrypt or decrypt the unique device ID. Contact the factory for more specific information. Unique Device ID A 96-bit value used to calculate the CRC authentication value. Encrypted Polynomial Coefficients Encrypted version of the 16-bit device specific CRC polynomial. Encrypted Device ID The encrypted version of the 96-bit unique device ID. 13 PACKAGE OPTION ADDENDUM www.ti.com 10-Oct-2005 PACKAGING INFORMATION Orderable Device Status (1) Package Type Package Drawing Pins Package Eco Plan (2) Qty BQ26150DCKR ACTIVE SC70 DCK 5 3000 Green (RoHS & no Sb/Br) CU NIPDAU Level-1-260C-UNLIM BQ26150DCKRG4 ACTIVE SC70 DCK 5 3000 Green (RoHS & no Sb/Br) CU NIPDAU Level-1-260C-UNLIM Lead/Ball Finish MSL Peak Temp (3) (1) The marketing status values are defined as follows: ACTIVE: Product device recommended for new designs. LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect. NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in a new design. PREVIEW: Device has been announced but is not in production. Samples may or may not be available. OBSOLETE: TI has discontinued the production of the device. (2) Eco Plan - The planned eco-friendly classification: Pb-Free (RoHS) or Green (RoHS & no Sb/Br) - please check http://www.ti.com/productcontent for the latest availability information and additional product content details. TBD: The Pb-Free/Green conversion plan has not been defined. Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes. Green (RoHS & no Sb/Br): TI defines "Green" to mean Pb-Free (RoHS compatible), and free of Bromine (Br) and Antimony (Sb) based flame retardants (Br or Sb do not exceed 0.1% by weight in homogeneous material) (3) MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDEC industry standard classifications, and peak solder temperature. Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited information may not be available for release. In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI to Customer on an annual basis. Addendum-Page 1 IMPORTANT NOTICE Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications, enhancements, improvements, and other changes to its products and services at any time and to discontinue any product or service without notice. Customers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All products are sold subject to TI’s terms and conditions of sale supplied at the time of order acknowledgment. TI warrants performance of its hardware products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI deems necessary to support this warranty. Except where mandated by government requirements, testing of all parameters of each product is not necessarily performed. TI assumes no liability for applications assistance or customer product design. Customers are responsible for their products and applications using TI components. To minimize the risks associated with customer products and applications, customers should provide adequate design and operating safeguards. TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right, copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information published by TI regarding third-party products or services does not constitute a license from TI to use such products or services or a warranty or endorsement thereof. Use of such information may require a license from a third party under the patents or other intellectual property of the third party, or a license from TI under the patents or other intellectual property of TI. Reproduction of information in TI data books or data sheets is permissible only if reproduction is without alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for such altered documentation. Resale of TI products or services with statements different from or beyond the parameters stated by TI for that product or service voids all express and any implied warranties for the associated TI product or service and is an unfair and deceptive business practice. TI is not responsible or liable for any such statements. Following are URLs where you can obtain information on other Texas Instruments products and application solutions: Products Applications Amplifiers amplifier.ti.com Audio www.ti.com/audio Data Converters dataconverter.ti.com Automotive www.ti.com/automotive DSP dsp.ti.com Broadband www.ti.com/broadband Interface interface.ti.com Digital Control www.ti.com/digitalcontrol Logic logic.ti.com Military www.ti.com/military Power Mgmt power.ti.com Optical Networking www.ti.com/opticalnetwork Microcontrollers microcontroller.ti.com Security www.ti.com/security Telephony www.ti.com/telephony Video & Imaging www.ti.com/video Wireless www.ti.com/wireless Mailing Address: Texas Instruments Post Office Box 655303 Dallas, Texas 75265 Copyright 2005, Texas Instruments Incorporated