USB251xB/xBi
5.3.2.1 Block Write/Read
The block write begins with a slave address and a write condition. After the command code, the host issues a byte count
which describes how many more bytes will follow in the message. If a slave had 20 bytes to send, the first byte would
be the number 20 (14h), followed by the 20 bytes of data. The byte count may not be zero. A block write or read allows
a transfer maximum of 32 data bytes.
Note: For the following SMBus tables:
Denotes Master-to-Slave
Denotes Slave-to-Master
TABLE 5-2: BLOCK WRITE
1
7
11
S
Slave Address
Wr A
8
Register Address
1
A ...
8
1
8
1
8
1
Byte Count = N A Data byte 1 A Data byte 2 A
8
11
Data byte N A P
5.3.2.2 Block Read
A block read differs from a block write in that the repeated start condition exists to satisfy the I2C specification’s require-
ment for a change in the transfer direction.
TABLE 5-3: BLOCK READ
1
7
11
8
1
S Slave Address Wr A Register Address A
1
7
11
S Slave Address Rd A ...
8
1
8
1
8
1
Byte Count = N A Data byte 1 A Data byte 2 A
8
11
Data byte N A P
5.3.2.3 Invalid Protocol Response Behavior
Note that any attempt to update registers with an invalid protocol will not be updated. The only valid protocols are write
block and read block (described above), where the hub only responds to the 7-bit hardware selected slave address
(0101100b). Also, the only valid registers for the hub are outlined in Section 5.1 on page 19. Attempts to access any
other registers will return no response.
5.3.3 SLAVE DEVICE TIMEOUT
Devices in a transfer can abort the transfer in progress and release the bus when any single clock low interval exceeds
25 ms (TTIMEOUT, MIN). The master must detect this condition and generate a stop condition within or after the transfer
of the interrupted data byte. Slave devices must reset their communication and be able to receive a new START condi-
tion no later than 35 ms (TTIMEOUT, MAX).
Note: Some simple devices do not contain a clock low drive circuit; this simple kind of device typically resets its
communications port after a start or stop condition. The slave device timeout must be implemented.
DS00001692C-page 34
2010 - 2015 Microchip Technology Inc.