A96G150 User's manual
15. Combination of USART, SPI, and I2C (USI)
201
To operate as a slave when the MLOSTn bit in USInST2 is set, the ACKnEN bit in USInCR4
must be set and the received 7-bit address must equal to the USInSLA[6:0] bits in USInSAR.
In this case I2C operates as a slave transmitter or a slave receiver (go to appropriate section).
In this stage, I2C holds the SCLn LOW. This is because to decide whether I2C continues serial
transfer or stops communication. The following steps continue assuming that I2C does not
lose mastership during first data transfer.
I2C (Master) can choose one of the following cases regardless of the reception of ACK signal
from slave:
Case 1: Master receives ACK signal from slave, so continues data transfer because slave can
receive more data from master. In this case, load data to transmit to USInDR.
Case 2: Master stops data transfer even if it receives ACK signal from slave. In this case, set
the STOPCn bit in USInCR4.
Case 3: Master transmits repeated START condition with not checking ACK signal. In this
case, load SLAn+R/W into the USInDR and set STARTCn bit in USInCR4.
After doing one of the actions above, write any arbitrary to USInST2 to release SCLn line. For
the case 1, move to step 7. For the case 2, move to step 9 to handle STOP interrupt. For the
case 3, move to step 6 after transmitting the data in USInDR and if transfer direction bit is ‘1’
go to master receiver section.
7.
1-Byte of data is being transmitted. During data transfer, bus arbitration continues.
8.
This is ACK signal processing stage for data packet transmitted by master. I2C holds the SCLn
LOW. When I2C loses bus mastership while transmitting data arbitrating other masters, the
MLOSTn bit in USInST2 is set. If then, I2C waits in idle state. When the data in USInDR is
transmitted completely, I2C generates TENDn interrupt.
I2C can choose one of the following cases regardless of the reception of ACK signal from
slave:
Case 1: Master receives ACK signal from slave, so continues data transfer because slave can
receive more data from master. In this case, load data to transmit to USInDR.
Case 2: Master stops data transfer even if it receives ACK signal from slave. In this case, set
the STOPCn bit in USInCR4.
Case 3: Master transmits repeated START condition with not checking ACK signal. In this
case, load SLAn+R/W into the USInDR and set the STARTCn bit in USInCR4.
Содержание A96G150
Страница 126: ...12 Timer 0 1 2 3 4 5 A96G150 User s manual 126 Figure 43 16 bit Timer Counter Mode Operation Example...
Страница 136: ...12 Timer 0 1 2 3 4 5 A96G150 User s manual 136 Figure 51 16 bit Timer Counter Mode Operation Example...
Страница 147: ...A96G150 User s manual 12 Timer 0 1 2 3 4 5 147 Figure 59 16 bit Timer Counter Mode Operation Example...
Страница 157: ...A96G150 User s manual 12 Timer 0 1 2 3 4 5 157 Figure 67 16 bit Timer Counter Mode Operation Example...
Страница 171: ...A96G150 User s manual 14 12 bit ADC 171 Figure 79 ADC Operation Flow Sequence...
Страница 333: ...A96G150 User s manual Revision history 333 Revision history Revision Date Notes 1 00 2022 06 22 First creation...