Protokoll

Majdnem szabályos I2C. A PC a master, a kontroller a slave. Pár apró különbség van csak.

Alaphelyzetben a Clock (C) és a Data (D) magas. GP0 és GP1 bemenet. A master kezdeményezi a kommunikációt. Küld egy startbitet, majd beszélgetnek, végül a master küld egy stopbitet. A beszélgetés során az egyik fél 8 bitet küld, mire a másik egy bittel válaszol. A válasz 0-ás bit siker esetén (pozitív nyugta), vagy 1-es bit sikertelenség illetve az adatfolyam leállítása esetén (negatív nyugta). Az első 8 bitet a master küldi. Abban van a parancs, mely a további adatforgalom mennyiségét, irányát és váltakozását megszabja.

Start

Cs===============
  _______________
Cm

Ds===============
  ______
Dm      \________
Magas C mellett a master lehúzza D-t. Ennek a speckó szerint legalább 4 us-ig így kell maradnia.

Bit írás

Cs======_______======  ======__________====
  _____          ____  _____          _____
Cm     \________/           \________/
  _____          ____  _____            ___
A      \________/           \__________/

Ds===================  ====================
  ________ __________  _________ __________
Dm________X__________  _________X__________
A master lehúzza C-t. A slave csak akkor, ha tudja, hogy sokáig fog tartani a feldolgozás. A master véges időn belül (3.45 us) beállítja D-t, majd legkevesebb 4.7 us elteltével C felfut. Ha a slave nem bírja a tempót, lenn tartja C-t, amíg sikerül neki beolvasnia D-t. Ha a master magas A-t érzékel (A=Cs*Cm), tudja, hogy a művelet befejeződött.

Bit olvasás

Cs=====______=========   =====___________====
  ____           _____   ____          ______
Cm    \_________/            \________/
  ____           _____   ____             ___
A     \_________/            \___________/
          ____________                  _____
Ds=======<____________   ==============<_____
  ____________________   ____________________
Dm_____/                 _____/
A master lehúzza C-t, majd D-t a magasba emeli. A slave szükség esetén szintén lehúzza C-t, majd D-re kiteszi a beküldendő bitet, végül elengedi C-t. Valamikor a master is felhúzza C-t. Felfutó A élből tudja, hogy érvényes bit van D-n.

Stop

Cs=====_______=================    =====__________=============
  ____           ______________    ____        ________________
Cm    \_________/                      \______/
  ____           ______________    ____            ____________
A     \_________/                      \__________/
  _____                ________    _____              _________
Dm     \______________/                 \____________/
Úgy kezdődik, mint egy bit írás. Csak miután a master (és a slave) felhúzta (elengedte) C-t (A felfut), legalabb 4.7 us eltelte után a master felrántja D-t is, és így marad legalább 4.7 us-ig.