Konstrukcja magistrali I2C jest taka, że -
- gdy na SCL występuje opadające zbocze, które może spowodować, że urządzenie podrzędne natychmiast potwierdzi SDA, bez szczególnego minimalnego opóźnienia;
- względne uporządkowanie rosnących i opadających krawędzi ma kluczowe znaczenie.
Z powodu różnicy w sile sterownika i pojemności linii teoretycznie byłoby możliwe, że jedno urządzenie zareaguje na nieco powolny opadający brzeg na SCL, napędzając SDA tak szybko, że inne urządzenie zobaczy SDA jako pierwsze.
Możliwe może być zdefiniowanie wielu progów logicznych na SCL i określenie, że aby opadające zbocze na SCL było uważane za nadchodzące po zboczu na SDA, nadal musi znajdować się powyżej 2/3 VDD po wykryciu zbocza na SDA, ale urządzenie może nie dochodzić SDA w odpowiedzi na opadające zbocze SCL, dopóki nie spadnie poniżej 1/3 VDD, ale specyfikacja nie jest zapisana w takich kategoriach.
Zamiast tego urządzenia, które widzą prawie równoczesne opadające zbocza na SDA i SCL, ogólnie uznają zbocze na SCL za pierwsze, chyba że jest ono zasadniczo poprzedzone zboczem na SDA. Niektóre implementacje I2C radzą sobie z tym, synchronizując SCL i SDA z zegarem zewnętrznym i wymagając, aby zbocze opadające SDA było obserwowane dwa okresy przed okresem SCL, aby można było uznać je za pierwsze. Jeżeli prędkość operacji na SCL i SDA jest zbyt duża w stosunku do zegara synchronizującego, urządzenia mogą odbierać dowolne sekwencje wysokich i niskich sygnałów na SCL i SDA; jeśli jedna z tych sekwencji wygląda, jakby adresowała wolne urządzenie, może odpowiednio zareagować, blokując wszelką inną komunikację.
Nie ma szczególnego powodu, dla którego urządzenia na magistrali I2C powinny polegać na synchronizacji z zegarem systemowym (lepsze byłoby wykrycie dwóch dyskretnych progów na SCL), ale faktem jest, że niektóre urządzenia faktycznie działają w ten sposób. Zauważ, że nawet jeśli urządzenie, które wewnętrznie było ograniczone do niskich prędkości, chciało koegzystować z szybką magistralą, prawdopodobnie musiałoby co najmniej stosować rozciąganie zegara za każdym razem, gdy coś się dzieje, co mogłoby go zainteresować.
Spowodowałoby to wolniejszą komunikację niż w innym przypadku, ale spadek prędkości prawdopodobnie nie byłby tak zły, jak jest to wymagane w przypadku projektu synchronizowanego zegarem (rzeczywista wielkość, o jaką wolne urządzenie rozciąga zegary, prawdopodobnie nie być tak złym, jak kwota, o którą należy spowolnić zegar, aby uniknąć awarii w najgorszym przypadku w zsynchronizowanych zegarach).