Function To Detect Loss Of Arbitration During Nack Transmission (Nale Bit) - Renesas RZ/A Series User Manual

Hide thumbs Also See for RZ/A Series:
Table of Contents

Advertisement

RZ/A1L Group, RZ/A1LU Group, RZ/A1LC Group
18.11.2

Function to Detect Loss of Arbitration during NACK Transmission (NALE Bit)

The RIIC has a function to cause arbitration to be lost if the internal SDA output level does not match
the level on the SDA line (the high output as the internal SDA output; i.e. the SDA pin is in the high-
impedance state) and the low level is detected on the SDA line during transmission of NACK in
receive mode. Arbitration is lost due to a conflict of NACK transmission and ACK transmission when
two or more master devices receive data from the same slave device simultaneously in a multi-master
system. Such conflict occurs when multiple master devices send/receive the same information through
a single slave device. Figure 18.35 shows an example of arbitration-lost detection during transmission
of NACK.
[Conflict during transmission of NACK (ACK received)]
SCLn
SDAn
SCLn
SDAn
BBSY
MST
TRS
AL
RDRFS
RDRF
ACKBT
Figure 18.35
The following explains arbitration-lost detection using an example where two master devices (master
A and master B) and a single slave device are connected through the bus. In this example, master A
receives two bytes of data from the slave device, and master B receives four bytes of data from the
slave device.
If master A and master B access the slave device simultaneously, because the slave address is identical,
arbitration is not lost in both master A and master B during access to the slave device. Therefore, both
master A and master B recognize that they have obtained the bus mastership and operate as such. Here,
master A sends NACK when it has received two final bytes of data from the slave device. Meanwhile,
master B sends ACK because it has not received necessary four bytes of data. At this time, the NACK
transmission from master A and the ACK transmission from master B conflict. In general, if a conflict
like this occurs, master A cannot detect ACK transmitted by master B and issues a stop condition.
Therefore, the issuance of the stop condition conflicts with the SCL clock output of master B, which
disturbs communication.
When the RIIC receives ACK during transmission of NACK, it detects a defeat in conflict with other
master devices and causes arbitration to be lost.
If arbitration is lost during transmission of NACK, the RIIC enters slave receive mode. This prevents a
stop condition from being issued, preventing a communication failure on the bus.
Similarly, in the ARP command processing of SMBus, the function to detect loss of arbitration during
transmission of NACK is also available for eliminating the extra clock cycle processing (such as FF
R01UH0437EJ0600 Rev.6.00
Jan 29, 2021
2
3
4
5
6
7
8
ACK
Data
2
3
4
5
6
7
8
ACK
Data
Receive data
Write 1 to RDRFS
Example of Arbitration-Lost Detection during Transmission of NACK
(NALE = 1)
NACK transmission mismatch
9
1
2
3
4
5
6
Data
9
1
2
3
4
5
6
Data
Receive data
Read RIICnDRR
18. I²C Bus Interface
(Arbitration-lost)
7
8
9
NACK
7
8
9
1
2
ACK
Read RIICnDRR Write 1 to ACKBT
Clear AL to 0
Release SCLn/SDA
3
4
5
Data
H
18-79

Advertisement

Table of Contents
loading

This manual is also suitable for:

Rz/a1 seriesRz/a1lu seriesRz/a1lc series

Table of Contents