JAJSC39A December   2011  – October 2014

PRODUCTION DATA.  

  1. 1特長
  2. 2アプリケーション
  3. 3概要
  4. 4改訂履歴
  5. 5Pin Configuration and Functions
  6. 6Specifications
    1. 6.1 Absolute Maximum Ratings
    2. 6.2 Handling Ratings
    3. 6.3 Electrical Characteristics: DC
    4. 6.4 Switching Characteristcs: AC
  7. 7Detailed Description
    1. 7.1 Overview
    2. 7.2 Functional Block Diagram
    3. 7.3 Feature Description
      1. 7.3.1 EPROM
      2. 7.3.2 EPROM Status Memory
      3. 7.3.3 Error Checking
    4. 7.4 Device Functional Modes
      1. 7.4.1  Customizing the bq2026
      2. 7.4.2  Bus Termination
      3. 7.4.3  Serial Communication
      4. 7.4.4  Initialization
      5. 7.4.5  ROM Commands
        1. 7.4.5.1 Read ROM
        2. 7.4.5.2 Match ROM
        3. 7.4.5.3 Skip ROM
      6. 7.4.6  Memory and Status Function Commands
      7. 7.4.7  Read Memory and Field CRC
      8. 7.4.8  Read Status
      9. 7.4.9  Write Memory
      10. 7.4.10 Write Status
      11. 7.4.11 SDQ Signaling
      12. 7.4.12 Reset and Presence Pulse
      13. 7.4.13 Write
      14. 7.4.14 Read
      15. 7.4.15 Program Pulse
      16. 7.4.16 Idle
      17. 7.4.17 CRC Generation
  8. 8デバイスおよびドキュメントのサポート
    1. 8.1 商標
    2. 8.2 静電気放電に関する注意事項
    3. 8.3 用語集
  9. 9メカニカル、パッケージ、および注文情報

パッケージ・オプション

メカニカル・データ(パッケージ|ピン)
サーマルパッド・メカニカル・データ
発注情報

7 Detailed Description

7.1 Overview

The block diagram shows the relationships among the major control and memory sections of the bq2026. The bq2026 has three main data components: a 64-bit factory-programmed ROM, including 8-bit family code, 48-bit identification number and 8-bit CRC value, 1536-bit EPROM, and EPROM Status bytes. Power for read and write operations is derived from the SDQ pin. An internal capacitor stores energy while the signal line is high, and releases energy during the low times of the SDQ pin until the pin returns high to replenish the charge on the capacitor.

7.2 Functional Block Diagram

bq2026 bd_lus938.gif

7.3 Feature Description

7.3.1 EPROM

Table 1 is a memory map of the 1536-bit EPROM section of the bq2026, configured as six pages of 32 bytes each. The 1-byte RAM buffer is an additional register used when programming the memory. Data are first written to the RAM buffer and then verified by reading a 16-bit CRC from the bq2026 that confirms proper receipt of the data. If the buffer contents are correct, a programming pulse is issued and a 1-byte segment of data is written into the selected address in memory. This process ensures data integrity when programming the memory. The details for reading and programming the 1536-bit EPROM portion of the bq2026 are in the Memory and Status Function Commands section of this data sheet.

Table 1. 1536-Bit EPROM Data Memory Map

ADDRESS (HEX) PAGE
00A0-00BF Page 5
0080-009F Page 4
0060-007F Page 3
0040-005F Page 2
0020-003F Page 1
0000-001F Page 0

7.3.2 EPROM Status Memory

In addition to the programmable 1536-bits of memory are eight bytes of status information, the first seven bytes are available to the user, contained in the EPROM status memory. The status memory is accessible with separate commands. The status bytes are EPROM and are read or programmed to indicate various conditions to the software interrogating the bq2026. These general-purpose bytes can be used by the customer to store various information.

Table 2. EPROM Status Bytes

ADDRESS (HEX) PAGE
100h-107h General-purpose OTP status memory

7.3.3 Error Checking

Implement error checking by comparing the 16-bit CRC values transmitted by the bq2026. If the two CRC values match, the transmission is error-free. Details are found in the CRC Generation section.

7.4 Device Functional Modes

7.4.1 Customizing the bq2026

The 64-bit ID identifies each bq2026 device. The 48-bit serial number is unique and programmed by Texas Instruments. The default 8-bit family code is 09h; however, a different value can be reserved on an individual customer basis. Contact your Texas Instruments sales representative for more information.

7.4.2 Bus Termination

Because the drive output of the bq2026 is an open-drain, N-channel MOSFET, the host must provide a source current or a 5-kΩ external pullup, as shown in the typical application circuit in Figure 1.

bq2026 typ_app_cir_lus938.gif Figure 1. Bus Termination Example for SOT-23 Package

7.4.3 Serial Communication

A host reads, programs, or checks the status of the bq2026 through the hierarchical command structure of the SDQ interface. Figure 2 shows that the host must first issue a ROM command before the EPROM memory or status can be read or modified.

Initialization ROM Command Sequence Memory and Status Command Sequence
Figure 2. General Command Sequence

7.4.4 Initialization

Initialization consists of two pulses, the reset and the presence pulses. The host generates the reset pulse, while the bq2026 responds with the presence pulse. The host resets the bq2026 by driving the DATA bus low for at least 480 μs. For more details, see the Reset and Presence Pulse section.

7.4.5 ROM Commands

7.4.5.1 Read ROM

The Read ROM command sequence is the fastest sequence that allows the host to read the 8-bit family code and 48-bit identification number. The Read ROM sequence starts with the host generating the reset pulse of at least 480 μs. The bq2026 responds with a presence pulse. Next, the host continues by issuing the Read ROM command, 33h, and then reads the ROM and CRC byte using the read signaling (see the Write and Read sections) during the data frame.

bq2026 read_lus526.gif Figure 3. Read ROM Sequence

7.4.5.2 Match ROM

The Match ROM command, 55h, is used by the host to select a specific SDQ device when the family code and identification number is known. The host issues the Match ROM command followed by the family code, ROM number, and the CRC byte. The device that matches the 64-bit ROM sequence is selected and available to perform subsequent memory and status function commands.

bq2026 match_lus526.gif Figure 4. Match ROM Sequence

7.4.5.3 Skip ROM

This Skip ROM command, CCh, allows the host to access the memory and status functions without issuing the 64-bit ROM code sequence. The Skip ROM command is directly followed by a memory or status functions command.

bq2026 skip_lus526.gif Figure 5. Skip ROM Sequence

7.4.6 Memory and Status Function Commands

Four memory and status function commands allow read and modification of the 1536-bit EPROM data memory or the 7-byte EPROM status memory. There is a Read Memory and Field CRC command, plus the Write Memory, Read Status, and Write Status commands. The bq2026 responds to memory and status function commands only after a device is selected by a ROM command.

7.4.7 Read Memory and Field CRC

To read the memory, the ROM command is followed by the Read Memory command, F0h, followed by the address low byte and then the address high byte.

The host then issues read time slots and receives data from the bq2026, starting at the initial address and continuing until the end of the 1536-bit data field is reached, or until a reset pulse is issued. If reading occurs through the end of memory space, the host may issue sixteen additional read time slots and the bq2026 responds with a 16-bit CRC of all data bytes read from the initial starting byte through the last byte of memory. After the CRC is received by the host, any subsequent read time slots appears as logical 1s until a reset pulse is issued. Any reads ended by a reset pulse prior to reaching the end of memory do not have the 16-bit CRC available.

Initialization and ROM Command Sequence Read Memory Command
F0h
Address Low Byte Address High
Byte
Read EPROM Memory Until End of EPROM Memory Read and
Verify 16-bit CRC
A0 A7 A8 A15
1. Individual bytes of address and data are transmitted LSB first.
Figure 6. Read Memory and Field CRC

7.4.8 Read Status

The Read Status command is used to read data from the EPROM status data field. After issuing a ROM command, the host issues the Read Status command, AAh, followed by the address low byte and then the address high byte.

NOTE

An 16-bit CRC of the command byte and address bytes is computed by the bq2026 and read back by the host to confirm that the correct command word and starting address were received.

If the CRC read by the host is incorrect, a reset pulse must be issued and the entire sequence must be repeated. If the CRC received by the host is correct, the host issues read time slots and receives data from the bq2026 starting at the supplied address and continuing until the end of the EPROM Status data field is reached. At that point, the host receives a 16-bit CRC that is the result of shifting into the CRC generator all of the data bytes from the initial starting byte through the final byte.

This feature is provided because the EPROM status information may change over time making it impossible to program the data once and include an accompanying CRC that is always valid. Therefore, the Read Status command supplies a 16-bit CRC that is based on (and always is consistent with) the current data stored in the EPROM status data field.

After the 16-bit CRC is read, the host receives logical 1s from the bq2026 until a reset pulse is issued. The Read Status command sequence can be ended at any point by issuing a reset pulse.

Initialization and ROM CommandSequence Read Memory Command
AAh
Address Low
Byte
Address High
Byte
Read Status Memory Until End of Page Read and
Verify 16-bit CRC
A0 A7 A8 A15 of command, address and data
Figure 7. READ STATUS Command
bq2026 read_flow_lus938.gif Figure 8. Status Memory Read and Write Flowchart

7.4.9 Write Memory

The Write Memory command is used to program the 1536-bit EPROM memory field. The 1536-bit memory field is programmed in 1-byte segments. Data is first written into an 1-byte RAM buffer. The contents of the RAM buffer is then ANDed with the contents of the EPROM memory field when the programming command is issued.

Figure 9 illustrates the sequence of events for programming the EPROM memory field. After issuing a ROM command, the host issues the Write Memory command, 0Fh, followed by the low byte and then the high byte of the starting address. The host then transmits 1 byte of data to the bq2026.

a 16-bit CRC is calculated and transmitted based on the command, address and data. If this CRC agrees with the CRC calculated by the host, the host applies the programming voltage for at least 480 μs or tEPROG.

If at any time during the Write Memory process, the CRC read by the host is incorrect, a reset pulse must be issued, and the entire sequence must be repeated.

The Write Data Memory command sequence can be terminated at any point by issuing a reset pulse except during the program pulse period tPROG.

NOTE

The bq2026 responds with the data from the selected EPROM address sent least significant-bit first. This response should be checked to verify the programmed byte. If the programmed byte is incorrect, then the host must reset the part and begin the write sequence again.

For both of these cases, the decision to continue programming is made entirely by the host, because the bq2026 is not able to determine if the 16-bit CRC calculated by the host agrees with the 16-bit CRC calculated by the bq2026.

Prior to programming, bits in the 1536-bit EPROM data field appear as logical 1s.

bq2026 OTP_flow_chart_lusAO6des.gif Figure 9. General Use OTP Memory Read and Write Flowchart

7.4.10 Write Status

The Write Status command is used to program the EPROM Status data field after the bq2026 has been selected by a ROM command

The flow chart in Figure 9 illustrates that the host issues the Write Status command, 55h, followed by the address low byte and then the address high byte followed by the byte of data to be programmed.

NOTE

Individual bytes of address and data are transmitted LSB first. a 16-bit CRC of the command byte, address bytes, and data byte is computed by the bq2026 and read back by the host to confirm that the correct command word, starting address, and data byte were received.

If the CRC read by the host is incorrect, a reset pulse must be issued and the entire sequence must be repeated. If the CRC received by the host is correct, the programming voltage, VPP is applied to the SDQ pin for period tPROG. Prior to programming, the first 7 bytes of the EPROM STATUS data field appear as logical 1s. For each bit in the data byte provided by the host that is set to a logical 0, the corresponding bit in the selected byte of the EPROM STATUS data field is programmed to a logical 0 after the programming pulse has been applied at the byte location.

After the programming pulse is applied and the data line returns to VPU, the host issues eight read time slots to verify that the appropriate bits have been programmed. The bq2026 responds with the data from the selected EPROM STATUS address sent least significant bit first. This response should be checked to verify the programmed byte. If the programmed byte is incorrect, then the host must reset the device and begin the write sequence again. If the bq2026 EPROM data byte programming was successful, the bq2026 automatically increments its address counter to select the next byte in the STATUS MEMORY data field. The least significant byte of the new two-byte address is also loaded into the 16-bit CRC generator as a starting value. The host issues the next byte of data using eight write time slots.

As the bq2026 receives this byte of data into the RAM buffer, it also shifts the data into the CRC generator that has been preloaded with the LSB of the current address and the result is a 16-bit CRC of the new data byte and the new address. After supplying the data byte, the host reads this 16-bit CRC from the bq2026 with eight read time slots to confirm that the address incremented properly and the data byte was received correctly. If the CRC is incorrect, a Reset Pulse must be issued and the Write Status command sequence must be restarted. If the CRC is correct, the host issues a programming pulse and the selected byte in memory is programmed.

NOTE

The initial write of the Write Status command, generates a 16-bit CRC value that is the result of shifting the command byte into the CRC generator, followed by the two-address bytes, and finally the data byte. Subsequent writes within this Write Status command due to the bq2026 automatically incrementing its address counter generates a 16-bit CRC that is the result of loading (not shifting) the LSB of the new (incremented) address into the CRC generator and then shifting in the new data byte.

For both of these cases, the decision to continue programming the EPROM Status registers is made entirely by the host, because the bq2026 is not able to determine if the 16-bit CRC calculated by the host agrees with the 16-bit CRC calculated by the bq2026. If an incorrect CRC is ignored and a program pulse is applied by the host, incorrect programming could occur within the bq2026. Also note that the bq2026 always increments its internal address counter after the receipt of the eight read time slots used to confirm the programming of the selected EPROM byte. The decision to continue is again made entirely by the host, therefore if the EPROM data byte does not match the supplied data byte but the master continues with the Write Status command, incorrect programming could occur within the bq2026. The Write Status command sequence can be ended at any point by issuing a reset pulse.

Table 3. Command Code Summary

COMMAND
(HEX)
DESCRIPTION CATEGORY
33h Read serialization ROM and CRC ROM Commands Available in Command Level I
55h Match serialization ROM
CCh Skip serialization ROM
F0h Read memory and field CRC Memory Function Commands
Available in Command Level II
AAh Read EPROM status
0Fh Write memory
55h Write EPROM status

7.4.11 SDQ Signaling

All SDQ signaling begins with initializing the device, followed by the host driving the bus low to write a 1 or 0, or to begin the start frame for a bit read. Figure 10 shows the initialization timing, whereas Figure 11 and Figure 12 show that the host initiates each bit by driving the data bus low for the start period, tWSTRB / tRSTRB. After the bit is initiated, either the host continues controlling the bus during a write, or the bq2026 responds during a read.

7.4.12 Reset and Presence Pulse

If the data bus is driven low for more than 120 μs, the bq2026 may be reset. Figure 10 shows that if the data bus is driven low for more than 480 μs, the bq2026 resets and indicates that it is ready by responding with a presence pulse.

bq2026 reset_lus938.gif Figure 10. Reset Timing Diagram

7.4.13 Write

The Write bit timing diagram in Figure 11 shows that the host initiates the transmission by issuing the tWSTRB portion of the bit and then either driving the data bus low for a write 0, or releasing the data bus for a write 1.

bq2026 write_bit_lus526.gif Figure 11. Write Bit Timing Diagram

7.4.14 Read

The Read bit timing diagram in Figure 12 shows that the host initiates the transmission of the bit by issuing the tRSTRB portion of the bit. The bq2026 then responds by either driving the data bus low to transmit a read 0, or releasing the data bus to transmit a read 1.

bq2026 read_bit_lus526.gif Figure 12. Read Bit Timing Diagram

7.4.15 Program Pulse

Figure 13 shows the program pulse timing.

bq2026 program_lus526.gif Figure 13. Program Pulse Timing Diagram

7.4.16 Idle

If the bus is high, the bus is in the idle state. Bus transactions can be suspended by leaving the data bus in idle. Bus transactions can resume at any time from the idle state.

7.4.17 CRC Generation

The bq2026 has a 8-bit CRC stored in the most significant byte of the 64-bit ROM. The bus master computes a CRC value from the first 56 bits of the 64-bit ROM and compares it to the value stored within the bq2026 to determine if the ROM data has been received error-free by the bus master. The equivalent polynomial function of this CRC is shown in Figure 14.

Under certain conditions, the bq2026 also generates a 16-bit CRC value using the polynomial function is shown in Figure 15 and provides this value to the bus master which validates the transfer of command, address, and data bytes from the bus master to the bq2026. The bq2026 computes a 16-bit CRC for the command, address, and data bytes received for the Write Memory and the Write Status commands, and then outputs this value to the bus master which confirms proper transfer. Similarly, the bq2026 computes a 16-bit CRC for the command and address bytes received from the bus master for the Read Memory, and Read Status commands to confirm that these bytes have been received correctly.

In each case, where a CRC is used for data transfer validation, the bus master must calculate a CRC value using the polynomial function in Figure 14 or Figure 15 and compares the calculated value to either the 8-bit CRC value stored in the 64-bit ROM portion of the bq2026 (for ROM reads) or the 16-bit CRC value computed within the bq2026. The comparison of CRC values and the decision to continue with an operation are determined entirely by the bus master. No circuitry on the bq2026 prevents a command sequence from proceeding if the CRC stored in or calculated by the bq2026 does not match the value generated by the bus master. Proper use of the CRC can result in a communication channel with a high level of integrity.

bq2026 8bit_CRC_lus938.gif Figure 14. 8-bit CRC Generator Circuit (X8 + X5 + X4 + 1) for Serial Number Read

SPACER

bq2026 16bit_CRC_lus938.gif Figure 15. 16-bit CRC Generator Circuit (X16 + X15 + X2 + 1) for Memory Interface