El entrevistador quería saber por qué las resistencias pull-up se utilizan en SDA y SCL cuando la opuesta a la lógica también puede ser implementado. Hay una explicación de por qué las resistencias pull-up de uso es el diseño elegido?
Respuestas
¿Demasiados anuncios?Para ampliar Jon respuesta un poco:
Sí, es todo que ver con que los MOSFETs que desea utilizar.
Canal N Mosfet son mucho mejores para la conmutación de la lógica de P-canal porque:
- Suelen tener mucho más bajos de la resistencia (\$R_{DSON}\$)
- Que el interruptor de encendido y apagado más rápido
Así que para un drenaje abierto de configuración (que es lo I2C) es mucho más barato y más fácil para crear utilizando un "idle alta", de acuerdo con canal N Mosfet en lugar de "inactivo" baja " con P-Mosfet de canal.
Una tercera opción sería la de "ralentí bajo" uso de canal N Mosfet, pero para eso se necesita de un alto voltaje de la puerta del conductor para elevar el voltaje de la puerta lo suficiente por encima de la tensión de la fuente para el MOSFET para encender. No es práctico para los pequeños buses de comunicación, pero este arreglo es en realidad que se usa muy comúnmente en H-puentes para el motor de conducción donde usted quiere tener el mismo (o similar) de respuesta entre el lado de alta y el lado bajo del puente H. El uso de P-canal y canal N pares en un puente H normalmente significa que usted tiene que incorporar una zona muerta entre la conmutación de la P-canal off y cambiar el N-canal, ya que se necesita mucho más tiempo, y que reduce su eficiencia energética.
Pero para los pequeños buses de comunicación como I2C, donde se necesita una alta velocidad, bajo costo y la sencillez de uso, el "idle" con canal N Mosfet y resistencias pull-up es por lejos el más rentable.
Otra de las ventajas de pasivo pull up / activo tirar abajo, es que puede funcionar con un rango de voltajes de alimentación. Tenga en cuenta que el digital de alta y baja de los niveles especificados explícitamente con el IIC. Los niveles son lo suficientemente bajos para trabajar con 3.3 V pullups. Los dispositivos pueden por lo tanto ser construido que trabajar con 5 V y 3.3 V de alimentación. De hecho, la CII las líneas de autobús se puede subir a 3.3 V, y esto va a funcionar con una mezcla de dispositivos en el bus por separado alimentado a diferentes voltajes.
Supongo que la respuesta se remonta a por qué utilizamos una tierra negativa de la convención, en primer lugar (y esto seguramente no ubicua antes de que el semiconductor de la época). La razón de esto es que el N-Canal dispositivos tienen un mejor rendimiento que los P-dispositivos de Canal debido a la física de los tipos de la mayoría de soportes utilizados en ellos.
En los primeros días de circuitos integrados, esto fue un grave limitación y, entonces, hubo una preferencia por el uso de Canal N (o NPN) transistores para lograr el mayor rendimiento posible. De esto tenemos un sistema de tierra negativo y salidas de colector abierto que requerían el uso de resistencias pull-up en lugar de pull-downs.
Por supuesto, el bus I2C es apenas de alta velocidad, así que no hay razón por la que no podía aplicarse en el uso de los resistores pull-down, pero también ninguna ventaja. Así que nos quedamos con las convenciones y los usos de pull-ups.
Mientras NMOS tiene una ventaja sobre el PMOS en términos de velocidad/área, esta diferencia es realmente minuto cuando se está hablando de un controlador en uno o dos pines. Y después de todo, la mayoría de los controladores de salida son en realidad totem-pole tipos que requieren tanto NMOS y PMOS, así que si habían elegido un menú desplegable o un pull-up de configuración, que habría terminado con un controlador de salida menor que la de un tótem-pole conductor.
Pero no es uno de los beneficios de NMOS drenaje abierto salidas a través de PMOS drenaje abierto que no se aplica a I2C directamente: cuando VCC es positivo, NMOS drenaje abierto permite fichas con diferentes VCC niveles para ser conectados uno al otro. Este es (parte de) por lo que numerosas NMOS de drenaje abierto discreta lógica de ICs.
Por otro lado, yo no soy consciente de que CUALQUIER disposición PMOS de drenaje abierto de chips en el mercado. De hecho no creo que jamás he encontrado un PMOS de drenaje abierto de salida en cualquier chip. (Yo he usado ECL muchas veces, que tiene un abierto NPN emisor de salida con un comportamiento similar a PMOS drenaje abierto)
La disponibilidad de NMOS drenaje abierto discreta lógica de chips hace NMOS drenaje abierto mucho más familiar para los diseñadores electrónicos de PMOS drenaje abierto.
Tanto la familiaridad y la disponibilidad de los chips discretos (para la creación de prototipos, por ejemplo), probablemente influenciado los diseñadores de I2C para elegir el NMOS de drenaje abierto de configuración.
Aquí hay algunos (históricamente a tierra) de la especulación...
Cuando usted tiene pullup (en vez de push-pull) que, obviamente, puede tener varios dispositivos en la disputa por el autobús sin excesivo de las corrientes que fluyen (una Buena Cosa - pero usted podría conseguir el mismo con un desplegable).
En los "viejos tiempos" de los transistores bipolares, la más simple lógica TTL abierta coleccionistas con transistores NPN - todo lo que se hace referencia a tierra, lo que hace que los niveles de activación simple para definir independientemente de la tensión de bus. También, NPN era más rápido que el de la PNP.
Si tengo varios dispositivos que trabajan con su propia tensión de alimentación, y que la tensión de alimentación no es constante, entonces al tener un pull-up en lugar de un tirón abajo se convierte en imperativo. Si varios dispositivos trató de tirar de la de autobuses a sus respectivas guías de suministro, el flujo de corriente sería sin restricciones y algo podría freír. Al menos todos están de acuerdo en el valor de la tierra, por lo que este problema no se plantea.
Con CMOS, la historia cambia - ahora el nivel de activación es el carril del medio. Pero EEs puede ser un tradicional montón. Sin duda, procedentes de principios de los transistores días nunca he cuestionado la elección de pull-ups, por las razones antes mencionadas.
Como ya he dicho, esto es sólo una especulación.