Trzy linie asynchronicznie kontrolują transfer danych pomiędzy urządze-niami na zasadzie dwustronnego potwierdzenia. Wykorzystanie wszystkich trzech nazywamy trzyliniowym handshake'm. Proces ten gwarantuje, że dane na linii danych są wysyłane oraz odbierane przez urządzenia bez błędów transmisji i jest on nazywany cyklem synchronizacji.
W zasadzie do wysyłania danych z potwierdzeniem dwustronnym wystarczą dwie linie (DAV, NRFD), czyli handshake dwuliniowy. Dodanie trzeciej linii (NDAC) przyspiesza transmisję przez umożliwienie wcześniejszej zmiany danych przez nadajnik, czyli nowe dane na magistrali już się stabilizują, podczas gdy odbiorniki jeszcze przetwarzają dane poprzednie. Przy kontroli dwuliniowej dane mogą być umieszczone na magistrali dopiero po zasygnalizowaniu gotowości wszystkich odbiorników.
DAV (Data Valid) - dane ważne.
Nadajnik wprowadza stan aktywny na tej linii gdy na magistrali znajdują się ustabilizowane dane. Podczas zmiany danych i w trakcie trwania stanu nieustalonego na liniach DIO nadajnik musi utrzymać linie DAV w stanie nieaktywnym.
NRFD (Not Ready For Data) - odbiorcy nie są gotowi do odebrania informacji.
Odbiornik wprowadza tą linię w stan aktywny, gdy nie jest przygotowany do odbierania danych, natomiast nadajnik nie może sygnalizować nowych danych na magistrali pomimo, że mogą one tam występować. Gdy na linii NRFD jest stan nieaktywny, znaczy to, że wszystkie odbiorniki są gotowe do przyjmowania danych, a nadajnik może zasygnalizować na linii DAV ważność danych.
NDAC (Not Data Accept) - dane nie zostały przyjęte.
Stan aktywny oznacza, że jest w systemie przynajmniej jeden odbiornik, który nie wykorzystał informacji z magistrali, w związku z czym nadajnik musi utrzymać dane do czasu aż sytuacja ta się nie zmieni. Gdy linia jest nieaktywna, nadajnik może wysyłać nowe dane.
Zasada działania handshake'u trzyliniowego.
Proces transmisji danych rozpoczyna się od sprawdzenia przez nadajnik stanu gotowości odbiorników (t1). Jeśli urządzenia są gotowe (linia NRFD), to nadajnik wysyła bajt na szynę danych (t2) oraz zgłasza jego ważność, wysterowując odpowiednio linie ważności bajtu (t3). Odbiorniki po stwierdzeniu ważności bajtu, likwidują stan swojej gotowości (t4) i przystępują do odbioru, czyli wpisania bajtu do swoich buforów wewnętrznych. Stan przyjęcia potwierdzają sygnałami akceptacji (t5-t6), z których tworzony jest globalny sygnał akceptacji, będący iloczynem sygnałów pochodzących od poszczególnych odbiorników. Nadajnik, stwierdzając akceptacje bajtu, likwiduje sygnał ważności (t7) i przygotowuje do wysłania kolejny bajt, jednocześnie oczekując na gotowość odbiorników. Po uzyskaniu stanu gotowości wszystkich odbiorników (t8-t9) cykl pracy się powtarza. Tym razem współpraca odbiornika przebiega poprawnie, ponieważ nadajnik nie wyśle bajtu dopóty, dopóki wszystkie odbiorniki nie uzyskają gotowości. Nadajnik nie usunie również bajtu z szyny DIO dopóki wszystkie odbiorniki go nie zaakceptują.
