Chapter 9: Using User Flash Memory in MAX II Devices
Software Support for UFM Block
9–15
START and STOP Condition
The master always generates start (S) and stop (P) conditions. After the start
condition, the bus is considered busy. Only a stop (P) condition frees the bus. The bus
stays busy if the repeated start (Sr) condition is executed instead of a stop condition.
In this occurrence, the start (S) and repeated start (Sr) conditions are functionally
identical.
A high-to-low transition on the SDA line while the SCL is high indicates a start
condition. A low-to-high transition on the SDA line while the SCL is high indicates a
stop condition.
shows the start and stop conditions.
Figure 9–12.
Start and Stop Conditions
SDA
SDA
SCL
S
Start Condition
P
Stop Condition
SCL
Acknowledge
Acknowledged data transfer is a requirement of I
2
C. The master must generate a clock
pulse to signify the acknowledge bit. The transmitter releases the SDA line (high)
during the acknowledge clock pulse.
The receiver (slave) must pull the SDA line low during the acknowledge clock pulse
so that SDA remains a stable low during the clock high period, indicating positive
acknowledgement from the receiver. If the receiver pulls the SDA line high during the
acknowledge clock pulse, the receiver sends a not-acknowledge condition indicating
that it is unable to process the last byte of data. If the receiver is busy (for example,
executing an internally-timed erase or write operation), it will not acknowledge any
new data transfer.
shows the acknowledge condition on the I
2
C bus.
Figure 9–13.
Acknowledge on the I
2
C Bus
Data Output
By Transmitter
Not Acknowledge
Data Output
By Receiver
Acknowledge
SCL From
Master
S
Start Condition
Clock Pulse For
Acknowledgement