I²C BUS

De I²C bus is een tweedraadsverbinding tussen één of meerdere processoren (MASTERS) en speciale periferiecomponenten (SLAVES).
Al deze componenten zijn op dezelfde bus aangesloten en hebben hun uniek adres.
Adressen en data worden via dezelfde lijnen verzonden. De bus maakt gebruik van van de seriële datalijn (SDA) en de kloklijn (SCL).
Data en adressen worden met de klok verzonden.

Het I²C bus protocol kent een reeks nauwkeurig gedefineerde situaties, die het mogelijk maken elke busdeelnemer het begin en het einde
van een bericht en de adressering ervan te herkennen.
- Rusttoestand : SDA en SCL zijn beide hoog => niet actief.
- Startconditie : SDA wordt door de master laag gemaakt, terwijl SCL hoog blijft.

- Stopconditie : SDA gaat van laag naar hoog, terwijl SCL hoog blijft.

- Data overdracht : De betreffende zender zet 8 databits op de datalijn (SDA) , die door de klok pulsen van de master op de
kloklijn (SCL) verder worden geschoven. De overdracht begint steeds met de hoogstwaardige bit of de MSB (Most Significant Bit).

- Acknowledge : De ontvanger bevestigt de ontvangst van een byte door SDA laag te maken (1,2) tot de MASTER de negende klokpuls op SCL heeft gezet.(3)
Deze bevestiging houdt meteen in dat een volgende byte ontvangen kan worden. Wanneer de communicatie moet worden beëindigd, wordt dit kenbaar gemaakt door het uitblijven van de bevestiging. De communicatie wordt daadwerkelijk beëindigd met de stopconditie.

Adressen worden op exact dezelfde manier verzonden als data, en de onvangst wordt idem bevestigd.
|