La mia comprensione è che le linee I2C utilizzano resistenze di pull-up per portare passivamente il bus a un valore logico alto perché i driver utilizzati sul bus sono driver attivi, ovvero open collector / open-drain.Poiché i driver open collector / open-drain possono portare la linea bassa ma non alta, il problema della contesa del bus è mitigato.
La mia domanda è, tuttavia, perché il protocollo I2C utilizza questi driver rispetto ai driver a tre stati?Se si dispone di più driver di uscita a tre stati collegati allo stesso bus, a condizione che i segnali di abilitazione per i tre stati si escludano a vicenda, non dovremmo essere in grado di occuparci della contesa del bus e anche di ottenere tempi di salita più rapidi in confrontoa topologie a collettore aperto / scarico aperto?