English
Language : 

MCP2221 Datasheet, PDF (40/80 Pages) Microchip Technology – USB 2.0 to I2C™/UART Protocol Converter with GPIO
MCP2221
3.1.6
I2C™ WRITE DATA
REPEATED-START
This command is used to write user-given data to the
I2C Slave device (the speed is specified by the
STATUS/SET Parameters command).
The command will have the following effects:
• The I2C engine will send the “Repeated-START”
condition.
• The selected I2C slave address is sent next and
the I2C engine will wait for the slave to send an
acknowledge bit.
• The user data follows next and the I2C engine
waits for the acknowledge bit from the slave.
• If the requested length is more than 60 bytes,
subsequent user bytes will be sent on the bus.
• When the user data length (being sent on the bus)
reaches the requested length, the I2C engine will
send the “STOP” condition on the bus.
TABLE 3-22: COMMAND STRUCTURE (1)
Byte
Index
Value
Effect
0
0x92 I2C Write Data Repeated-START – command code
(cI2C_CMD_RSTART_WRDATA7)
1 Low Byte Requested I2C transfer length –
16-bit value – low byte
2 High Byte Requested I2C transfer length –
16-bit value – high byte
3 I2C Slave 8-bit value representing the I2C slave address to communicate with (even – address to write,
Address odd – address to read) (Note 2)
4-63
User data to be sent to the selected I2C slave device
Note 1: When the requested transfer length is more than 60 bytes, subsequent “I2C Write Data Repeated-START”
commands will transport the reminder of the user data (till the requested length).
2: The I2C slave address is represented on 8 bits, with even values for writes and odd for reads. To get the
8-bit address value out of a 7-bit address, the 7-bit value needs to be shifted left by 1 position. For write
operations use the shifted value, while for reads add 1 to the shifted value.
3.1.6.1 Responses
TABLE 3-23: RESPONSE 1 STRUCTURE
Byte
Index
Value
Effect
0
1
2
3-63
0x92
0x00
0x01
Don’t
care
I2C Write Data Repeated-START – command code echo
(cI2C_CMD_RSTART_WRDATA7)
Command completed successfully
I2C Engine is busy
(command not completed)
Internal I2C Engine state (at the moment the command was issued) – useful for monitoring the
status of the I2C Engine
DS20005292B-page 40
 2015 Microchip Technology Inc.