Результати різні, оскільки схема драйвера відрізняється для кожної технології.
100 кГц I2C зазвичай використовує підтягуючий резистор для підведення сигналу на високий рівень, а драйвери з відкритим зливом ставлять сигнал на низький рівень.
Висувні резистори, як правило, складають кілька кіло-Ом. Чим довше кабель отримує більшу ємність у нього. Час, який потрібен лінії для переходу від 0 до 1, буде пропорційним загальній ємності на лінії та величині резистора підтягування. Десь у діапазоні приблизно T = 2 * R * C було б приблизно правильно.
Наприклад, якщо у вас був 10-футовий кабель, що мав 20 пФ на фут ємності, і ви використовували резистор 10K підтягування, то для переходу від низького до високого знадобиться T = 2 * 20pF / фут * 10 футів * 10 К = 3,6 с.
У цьому випадку ви, очевидно, не могли мати жодного біта після нульового біта, який був шириною менше 3,6US, тому ваша швидкість передачі буде обмежена 277 кГц.
У реальній системі I2C специфікація I2C надає додаткові обов'язки щодо встановлення та утримання часу щодо переходів даних та годинників. Ці часи є або сотнями наносекунд, або мікросекундами. Час роботи був зроблений дуже повільно, щоб пристрої можна було дешевше реалізовувати (копійки) і споживати дуже мало енергії (міліват).
З іншого боку, Ethernet може працювати швидше, незважаючи на ємність кабелю, оскільки не використовує резистор. Він активно запускає високо або низько в кабель. У драйвера низький опір, і він може заряджати будь-яку ємність лінії дуже швидко. Зрозуміло, що все виходить ціною. Ethernet зазвичай споживає сотні МВт електроенергії, і коштує принаймні кілька доларів за порт.
Можливо, установка, схожа на I2C, працює швидше, звичайно, просто змініть 10K на 100 Ом, і тепер ваш час підйому на 10 футів падіння кабелю з 3,6 до 36 секунд. Тоді ви могли, ймовірно, працювати на частоті близько 10 МГц без надто багато проблем (крім того, що звичайні мікросхеми I2C не можуть так швидко говорити).