English
Language : 

EFM32WG Datasheet, PDF (429/834 Pages) List of Unclassifed Manufacturers – The EFM32WG Wonder Gecko is the ideal choice for demanding 8-, 16-, and 32-bit energy sensitive applications.
...the world's most energy friendly microcontrollers
See Table 16.9 (p. 429) for more information.
Table 16.9. I2C - Slave Receiver
I2Cn_STATEDescription
-
Repeated START
received
0x71
ADDR + W received
0xB1
Data received
-
Stop received
-
Arbitration lost
I2Cn_IF
Required Response
interaction
RSTART interrupt flag
(BUSHOLD interrupt
flag)
RXDATA
Receive and compare address
ADDR interrupt flag
RXDATA interrupt flag
(BUSHOLD interrupt
flag)
ACK +
RXDATA
NACK
NACK +
CONT +
RXDATA
ACK will be sent and data will be received
NACK will be sent, slave goes idle
NACK will be sent and DATA will be received.
RXDATA interrupt flag
(BUSHOLD interrupt
flag)
ACK +
RXDATA
NACK
ACK will be sent and data will be received
NACK will be sent and slave will go idle
NACK +
CONT +
RXDATA
NACK will be sent and data will be received
SSTOP interrupt flag None
The slave goes idle
START START will be sent when bus becomes idle
ARBLOST interrupt
flag
None
START
The slave goes idle
START will be sent when the bus becomes idle
16.3.10 Transfer Automation
The I2C can be set up to complete transfers with a minimal amount of interaction.
16.3.10.1 DMA
DMA can be used to automatically load data into the transmit buffer and load data out from the receive
buffer. When using DMA, software is thus relieved of moving data to and from memory after each
transferred byte.
16.3.10.2 Automatic ACK
When AUTOACK in I2Cn_CTRL is set, an ACK is sent automatically whenever an ACK interaction is
possible and no higher priority interactions are pending.
16.3.10.3 Automatic STOP
A STOP can be generated automatically on two conditions. These apply only to the master transmitter.
If AUTOSN in I2Cn_CTRL is set, the I2C module ends a transmission by transmitting a STOP condition
when operating as a master transmitter and a NACK is received.
If AUTOSE in I2Cn_CTRL is set, the I2C module always ends a transmission when there is no more
data in the transmit buffer. If data has been transmitted on the bus, the transmission is ended after the
(N)ACK has been received by the slave. If a START is sent when no data is available in the transmit
buffer and AUTOSE is set, then the STOP condition is sent immediately following the START. Software
must thus make sure data is available in the transmit buffer before the START condition has been fully
transmitted if data is to be transferred.
2013-05-08 - Wonder Gecko Family - d0233_Rev0.50
429
www.energymicro.com