기술마다 드라이버 회로가 다르기 때문에 결과가 다릅니다.
100kHz I2C는 일반적으로 풀업 저항을 사용하여 신호를 높은 레벨에 놓고 오픈 드레인 드라이버를 사용하여 신호를 낮은 레벨에 놓습니다.
풀업 저항은 일반적으로 몇 킬로 옴입니다. 케이블이 길수록 용량이 커집니다. 라인을 0에서 1로 전환하는 데 걸리는 시간은 라인의 총 커패시턴스와 풀업 저항 값에 비례합니다. 약 T = 2 * R * C 범위의 어딘가에있을 것입니다.
예를 들어, 커패시턴스 피트 당 20pF 인 10 피트 케이블이 있고 10K 풀업 저항을 사용한 경우 T = 2 * 20pF / ft * 10ft * 10K = 3.6us가 로우에서 하이로 전환됩니다.
이 경우 폭이 3.6us보다 작은 제로 비트 다음에 하나의 비트를 가질 수 없으므로 전송 속도는 277kHz로 제한됩니다.
실제 I2C 시스템에서 I2C 사양은 데이터 및 클럭 전환에 대한 설정 및 유지 시간을 추가로 요구합니다. 이 시간은 수백 나노초 또는 마이크로 초입니다. 타이밍을 의도적으로 매우 느리게하여 장치를 저렴하게 구현 (페니)하고 전력 (밀리 와트)을 거의 소비 할 수 없었습니다.
반면 이더넷은 풀업 저항을 사용하지 않기 때문에 케이블 커패시턴스에도 불구하고 더 빠르게 실행할 수 있습니다. 케이블로 적극적으로 높거나 낮게 운전합니다. 드라이버는 임피던스가 낮아 모든 라인 커패시턴스를 매우 빠르게 충전 할 수 있습니다. 물론 모든 것이 가격이옵니다. 이더넷은 일반적으로 수백 mW의 전력을 소비하며 구현하는 데 포트 당 최소 몇 달러가 소요됩니다.
I2C와 유사한 설정이 더 빨리 실행될 수 있다면, 10K 풀업을 100 옴으로 변경하면 10ft의 케이블 낙하로 상승 시간이 3.6us에서 36ns로 증가합니다. 그런 다음 너무 많은 문제없이 약 10MHz에서 실행할 수 있습니다 (일반 I2C 칩이 그렇게 빨리 말할 수 없다는 사실 제외).