
SLES197C – APRIL 2007 – REVISED MARCH 2011
www.ti.com
Given the following example MCU data or program block (must be a multiple of 4 bytes for these blocks):
0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80
The checksum = 0x10 + 0x20 + 0x30 + 0x30 + 0x40 + 0x50 + 0x60 + 0x70 + 0x80 = 0x240, so
the values put in the checksum fields are MS byte = 0x02 and LS byte = 0x40.
If the checksum is >FFFFh, then the 2-byte checksum field is the least-significant 2 bytes.
For example, if the checksum is 0x1D 45B6, the checksum field is MS byte = 0x45 and LS byte = 0xB6.
Table 8-1. TAS3204 Master I2C Memory Block Structures
STARTING
DATA BLOCK FORMAT
SIZE
NOTES
BYTE
12-Byte Header Block
Checksum code Most Significant Byte
Checksum of bytes 2 through N + 12.
0
2 Bytes
If this is a termination header, this value is 00 00
Checksum code Least Significant Byte
Header ID byte 1 = 0x00
Must be 0x001F for the TAS3204 to load as part of
2
2 Bytes
initialization. Any other value terminates the initialization
Header ID byte 2 = 0x1F
memory load sequence.
0x00 – MCU program memory - or - termination header
0x01 – MCU external data memory
0x02 – Audio DSP core program memory
0x03 – Audio DSP core coefficient memory
4
Memory to be loaded
1 Byte
0x04 – Audio DSP core data memory
0x05–06 – Audio DSP upper program memory
0x07 – Audio DSP Upper Coefficient Memory
0x08–FF – Reserved for future expansion
5
0x00
1 Byte
Reserved
Start TAS3204 memory address Most Significant
Byte
6
2 Bytes
If this is a termination header, this value is 0000.
Start TAS3204 memory address Least Significant
Byte
Total number of bytes transferred Most Significant
Byte
12 + data bytes + last checksum bytes. If this is a
8
2 Bytes
termination header, this value is 0000.
Total number of bytes transferred Least
Significant Byte
10
0x00
1 Byte
Unused
11
0x00
1 Byte
Unused
Data Block for MCU Program or Data Memory (Following 12-Byte Header)
Data Byte 1 (LSB)
Data Byte 2
12
4 Bytes
MCU Bytes 1-4
Data Byte 3
Data byte 4 (MSB)
Data byte 5
Data byte 6
16
4 Bytes
MCU Bytes 5-8
Data byte 7
Data byte 8
Data byte 4×(Z – 1) + 1
Data byte 4×(Z – 1) + 2
N + 8
4 Bytes
MCU Bytes N-N+4
Data byte 4×(Z – 1) + 3
Data byte 4×(Z – 1) + 4 = N
28
Copyright 2007–2011, Texas Instruments Incorporated
I2C Control Interface