To determine the Start and Stop conditions in a slave-device a special hardware circuit is typically provided, as it is quite difficult to implement the software interface of a slave-subscriber: there is need for constant check on the SDA line for data identification.
There is also a state of “repeated Start”, which may occur in the middle of an information packet. A little later, we will consider the situation when there is a condition of “repeated Start”.
Data transfer on the bus is performed in 8 bits. It is followed by a confirmation signal (acknowledge). Acknowledge indicates that the data is properly received and processed.
After the Start condition is worked off, the transmitter consistently sets in the data on the SDA line, starting with the most significant bit (MSB) and ending with the youngest (LSB). The data is sampled on the SCL line with impulses 1 ... 8.
Please note: the SDA line of the receiver (slave-subscriber) at the time of receiving the data bits (MSB-LSB) must be set in one state. Physically, this means that the transistor connected to the SDA line should be closed. At the time of falling edge of impulse 8 on the SCL line, the slave-subscriber must set in zero level on the SDA line - to open the transistor.