Como dijo Oli, 100 kbits / sy 400 kbits / s son velocidades de bus IIC "estándar". Sin embargo, en la práctica, en la mayoría de los casos, la velocidad del bus IIC está limitada por los tiempos de aumento de la señal. Ambas líneas son pasivas y altas, y estas flexiones están limitadas a 3 mA, por lo que los flancos ascendentes tomarán algún tiempo.
Los chips IIC reales solo están obligados a superar 3 mA de la corriente de pullup para obtener una línea por debajo del umbral lógico bajo máximo. Sin embargo, si sabe exactamente qué está conectado al bus y qué capacidad de extracción tiene realmente, puede usar pullups más rígidos y, por lo tanto, correr más rápido. Verifique las capacidades actuales del sumidero de los pines de salida utilizados para conducir el bus IIC en los micros que está usando. Lo más probable es que puedan hundir significativamente más de 3 mA. Con los pullups rígidos y un bus IIC corto en la misma placa, debería poder obtener hasta 1 Mbit / s o más, ya que IIC es en última instancia síncrono.
Experimente con las partes que tiene y mire las formas de onda en un alcance para ver de qué son capaces. Recuerde, esto solo es válido si todos los dispositivos en el bus pueden hacer esto. Si conecta un chip IIC dedicado, como una EEPROM, por ejemplo, debe atenerse a la norma.