English
Language : 

BQ26150 Datasheet, PDF (9/16 Pages) Texas Instruments – BATTERY PACK SECURITY AND AUTHENTICATION IC FOR PORTABLE APPLICATIONS (bqSECURE)
www.ti.com
bq26150
SLUS641A – JANUARY 2005 – REVISED JULY 2005
P14
x0
AV[15]
P13
x1
AV[14]
P12
x2
AV[13]
P11
x3
AV[12]
P10
x4
AV[11]
P9
x5
AV[10]
P8
x6
AV[9]
P7
x7
AV[8]
P6
x8
AV[7]
P5
x9
AV[6]
P4
x10
AV[5]
P3
x11
AV[4]
P2
x12
AV[3]
P1
x13
AV[2]
P0
x14
AV[1]
x15
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]
Random Challenge [31:0]
Input MSB
Input LSB
9