Inter-Integrated Circuit Peripherals
UG0331 User Guide Revision 15.0
549
15.3.2.2 Use Model 2: Configuring I
2
C as a Slave
The I
2
C peripheral can be configured to Slave mode. In Slave mode, the I2C_0 responds to the
commands received by the I
2
C master device.
page 544 to configure I2C_0 in the application.
15.3.2.2.1 Software Design Flow
I
2
C Slave Mode
The I
2
C instance I2C_0 can be initialized by using the MSS_I2C_init API. The slave device address
should be specified while initializing.
Write Operation
Following are the steps to complete the write transaction:
•
Set the slave receive buffer
The data receive buffer is used to store the data received when the I
2
C slave is the target of an I
2
C
write transaction. Use the MSS_I2C_set_slave_rx_buffer API.
•
Register the write handler
The handler function must be called on completion of the I
2
C write transaction. MSS_I2C_regis-
ter_write_handler API can be used to register the write handler function.
•
Enable the slave
The MSS_I2C_enable_slave API can be used to enable the slave.
Read Operation
Following are the steps to complete the read transaction:
•
Set the slave transmit buffer
The data buffer is transmitted when the I
2
C slave is the target of an I
2
C read transaction. Here, use
the MSS_I2C_set_slave_tx_buffer API.
•
Enable the slave
MSS_I2C_enable_slave API can be used to enable the slave.
15.3.2.3 Use Model 3: I
2
C Loopback Mode
I2C_0 and I2C_1 are internally connected in Loopback mode, as shown in the following figure. The
MSS_I2CLOOPBACK bit of the LOOPBACK_CR System register is used to enable the Loopback mode.
Following are the steps to configure I2C_0 and I2C_1 in Loopback mode to verify the data transfer
between I
2
C peripherals.
•
Enable the I2C_0 and I2C_1 in the MSS configurator of the Libero SoC design project.
•
Initialize I2C_0 and I2C_1 in the SoftConsole application.
•
Set the MSS_I2CLOOPBACK bit of the LOOPBACK_CR System register in the SoftConsole
application. For further details, refer to the
•
Use I
2
C read and write APIs from the MSS I
2
C driver to send and receive the data. While using APIs
from the MSS I
2
C driver, ensure that either I2C_0 or I2C_1 is in Master mode.
•
The data traffic from I2C_0 is looped back to I2C_1, and vice versa.
Содержание SmartFusion2 MSS
Страница 1: ...UG0331 User Guide SmartFusion2 Microcontroller Subsystem ...
Страница 166: ...Cortex M3 Processor Reference Material UG0331 User Guide Revision 15 0 132 ...
Страница 200: ...Embedded NVM eNVM Controllers UG0331 User Guide Revision 15 0 166 Figure 87 System Builder Window ...
Страница 407: ...Universal Serial Bus OTG Controller UG0331 User Guide Revision 15 0 373 ...
Страница 806: ...Fabric Interface Controller UG0331 User Guide Revision 15 0 772 Figure 345 FIC Master AHB Lite Subsystem ...