www.digiembedded.com
547
I2C Master/Slave Interface

Bus arbitration

Any M_READ or M_WRITE command causes the I2C module to participate in the bus
arbitration process when the I2C bus is free (idle). If the module becomes the new
bus owner, the transaction goes through. If the module loses bus arbitration, an
M_ARBIT_LOST interrupt is generated to the host processor and the command must be
reissued.
I2C registers
All registers have 8-bit definitions, but must be accessed in pairs. For example,
TX_DATA_REG and CMD_REG are written simultaneously and RX_DATA_REG and
STATUS_REG are read simultaneously.
Table336 shows the register addresses.
After a reset, all registers are set to the initial value. If an unspecified register or bit
is read, a zero is returned.
Register Description
9050 0000 Command Transmit Data register (CMD_TX_DATA_REG)
Status Receive Data register (STATUS_RX_DATA_REG)
9050 0004 Master Address register
9050 0008 Slave Address register
9050 000C Configuration register
Table 336: I2C register address map