Inter-Integrated Circuit Peripherals
UG0331 User Guide Revision 15.0
542
15.2.4
Details of Operation
The I
2
C logic operates in the following modes:
•
Master Mode
•
Master-Transmitter mode: The master transmits serial data on SDA and drives the SCL.
•
Master-Receiver mode: The master receives serial data on SDA and drives the SCL.
•
Slave Mode
•
Slave-Receiver mode: Serial data and the serial clock are received through SDA and SCL.
•
Slave-Transmitter mode: Serial data is transmitted through SDA while the master drives SCL.
15.2.4.1 Master Mode
When the Cortex-M3 processor or any other bus master becomes the master, the I
2
C peripheral waits
until the serial bus is free. When the serial bus is free, the I
2
C peripheral generates a start condition,
sends the slave address, and transfers the direction bit. The I
2
C peripheral operates as a master
transmitter or as a master receiver, depending on the transfer direction bit.
15.2.4.1.1 Transfer Example
1.
The Cortex-M3 processor sets the ENS1 and STA bits of the Control register.
2.
The I
2
C peripheral sends a START condition and then generates an interrupt request, (STATUS
register = 0x08).
3.
The Cortex-M3 processor writes to the data register (7-bit slave address and direction bit) and then
clears the serial interrupt (SI) bit in the Control register.
4.
The I
2
C peripheral sends the data register contents and then generates the interrupt request.
5.
The Status register contains a value of 0x18 or 0x20,depending on the received ACK bit
(
6.
The transfer is continued according to the STATUS Register – Master-Transmitter Mode.
15.2.4.2 Slave Mode
After setting the ENS1 bit in the
, the I
2
C peripheral is in Slave mode (which is not
addressed by the master). I
2
C peripheral checks for its own slave address and the general call address.
If one of these addresses is detected, the I
2
C peripheral is addressed by the master and then an interrupt
is requested. The I
2
C peripheral can operate as a slave transmitter or a slave receiver.
15.2.4.2.1 Transfer Example
1.
The Cortex-M3 processor sets the ENS1 and AA bits of the Control register.
2.
The I
2
C peripheral receives its own address and the direction bit from master.
3.
The I
2
C peripheral generates an interrupt request, Status register = 0x60 (
4.
The Cortex-M3 processor prepares to receive the data and then clears the SI bit in Control register.
5.
The I
2
C peripheral receives the next data byte and generates the interrupt request. The Status
register contains a value of 0x80 or 0x88, depending on the AA bit. Refer to
6.
The transfer is continued according to the STATUS Register – Slave-Receiver Mode.
15.2.4.3 SMBus and PMBus Overview
The SMBus is a two wire interface through which devices can communicate with each other. The SMBus
interface can operate as a master or a slave. It is derived from the principles of operation of I
2
C. Refer to
the
SMBus protocol v2.0 specification
for more information.
Power management bus (PMBus) is an open standard two wire communications protocol through which
devices can communicate with each other. Refer to the
PMBus protocol v1.1 specification
information.
The following figure shows a PMBus or SMBus device interface example using the Cortex-M3 processor,
I
2
C, MSS, and general purpose input/output (GPIO).
PMBus protocols are run through the serial bus, and the additional PMBus control signal is routed
through the MSS GPIO. External SMBus devices may also be connected to the same bus, as shown in
the figure.
Содержание 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 ...