Me di cuenta de que en todas mis tablas de evaluación que he tenido hasta ahora. Los LEDs estaban todos conectados en bajo activo al puerto del microcontrolador. Entiendo que desde el punto de vista de la seguridad es mejor tener líneas de RESET bajas activas y cosas así. ¿Pero por qué LEDs?
Respuestas
¿Demasiados anuncios?Aún así, los pines de E/S de la MCU suelen tener una fuente de corriente más débil que la corriente de hundimiento.
En una salida típica de CMOS MCU, cuando conducen BAJO, encienden un MOSFET de canal N; y cuando conducen ALTO, encienden un MOSFET de canal P. (¡Nunca encienden los dos al mismo tiempo!) Debido a las diferencias de movilidad que se aplican para el canal N vs. el canal P (aproximadamente un factor de diferencia de 2 a 3), se requiere un esfuerzo extra para hacer que el dispositivo del canal P muestre una "calidad" similar a la de un interruptor. Algunos hacen ese esfuerzo extra. Otros no. Si no, la capacidad de hundir (canal N) o de generar (canal P) corriente será diferente.
Algunos de ellos son casi simétricas, en el sentido de que pueden abastecerse casi tanto como pueden hundirse. (Lo que significa que son tan buenas como un interruptor a tierra como un interruptor al riel de suministro de energía). Pero incluso cuando se intentan problemas adicionales, hay otras cuestiones que hacen que sea poco probable que los dos dispositivos sean totalmente similares y todavía se da el caso de que el lado de la fuente es todavía al menos algo más débil.
Pero en el análisis final, siempre es una buena idea ir a ver la hoja de datos en sí misma para ver. Aquí hay un ejemplo del PIC12F519 (una de las partes más baratas del microchip que todavía incluye algún almacenamiento interno no volátil de datos).
Este gráfico muestra el BAJO voltaje de salida (eje vertical) frente a la BAJA corriente de hundimiento (eje horizontal), cuando la CPU está usando V_{CC}=3\: \textrm {V} :
Este gráfico muestra el alto voltaje de salida (eje vertical) frente a la alta corriente de abastecimiento (eje horizontal), también cuando la CPU está usando V_{CC}=3\: \textrm {V} :
Se puede ver fácilmente que ni siquiera se molestan en tratar de mostrar las mismas capacidades actuales de hundimiento vs. abastecimiento.
Para leerlos, elija una corriente de magnitud similar en ambos gráficos (muy difícil, ¿no?) Seleccionemos 5\: \textrm {mA} en el primer gráfico y 4\: \textrm {mA} en la segunda. (Lo más cerca que podemos estar.) Puedes ver que el PICF519 típicamente caerá alrededor de 230\: \textrm {mV} en la primera, sugiriendo una resistencia interna de aproximadamente R_{LOW}= \frac {230\: \textrm {mV}}{5\: \textrm {mA}} \approx 46\: \Omega\ $ . De manera similar, puedes ver que el PICF519 típicamente caerá alrededor de 600\: \textrm {mV} en la segunda tabla, sugiriendo una resistencia interna de aproximadamente R_{HIGH}= \frac {600\: \textrm {mV}}{4\: \textrm {mA}} \approx 150\: \Omega\ $ . No es muy similar. (NOTA: He extraído los datos de las curvas de 25^ \circ\textrm {C} .)
Así que si estabas diseñando este MCU en particular en un circuito donde querías conducir directamente un 2\: \textrm {V} LED en aproximadamente 10\: \textrm {mA} ¿qué camino tomaría usted ¿cableado? Está claro que tendrías que considerar LOW como ON, ya que es la única manera en que la hoja de datos dice que podrías tener éxito, en absoluto, sin la necesidad de un transistor externo para aumentar la conformidad actual de la salida.
[También puede tomar nota de que los cálculos anteriores en corrientes cercanas de hundimiento vs. origen parecen mostrar dos valores de resistencia que son aproximadamente un factor de tres entre sí (alrededor de 50\: \Omega\ $ vs 150\: \Omega\ $ .) Esto probablemente no es coincidente con las diferencias de movilidad que mencioné al principio, que entre los mosfets del canal P y del canal N].
Es bastante común (aunque no tan común como solía ser) que los pines de salida de los microcontroladores puedan hundir más corriente en el estado bajo que en el estado alto. Como resultado, los diseñadores se acostumbraron a poner LEDs, o cualquier otra cosa que necesite una corriente alta (para una clavija de microcontrolador) entre la potencia y la clavija en lugar de entre la tierra y la clavija. Cuando el micro tiene una capacidad de fuente/fuga simétrica, esto no es necesario, pero tampoco hace daño.
Por ejemplo, he aquí un recorte de la hoja de datos del PIC 16F1459 (una parte de producción razonablemente reciente y ciertamente corriente):
Observe cómo las corrientes para el Salida de bajo voltaje son más altos con el mismo voltaje de suministro que para el Salida de alto voltaje caso. Y, las corrientes de hundimiento están especificadas para una subida de 600 mV, mientras que las corrientes de origen para una bajada de 700 mV. Con todo, este micro tiene conductores laterales bajos sustancialmente más fuertes en sus pines de E/S regulares.
Muchos de los nuevos micros son simétricos, aparentemente en particular aquellos que no tienen mucha capacidad de fuente/fuga en primer lugar.
Cuando el LED requiere más corriente de la que puede manejar una salida digital, o al menos más de la que quieres que maneje, necesitas usar un transistor externo. Un interruptor lateral de bajo nivel es la elección natural y sencilla. El LED se conecta entonces entre la corriente y este transistor.
Mediante el uso de un diseño desplegable es posible cambiar un dispositivo (por ejemplo, un LED) con un suministro de 5V, usando un 1.8V pero tolerante a los 5V microcontrolador sin ningún componente externo.
Cuando la clavija (configurada para drenaje abierto) no se tira hacia abajo, está flotando, ya que no se extrae corriente, el voltaje flotará hasta el voltaje de suministro del led, así que a 5V. Esto está bien para algunos pero no para todos los micros de bajo voltaje.
De esta manera puedes hacer funcionar los leds directamente de una línea de suministro y usar un convertidor de voltaje de corriente más bajo para el micro. Esta es la única manera de usar, por ejemplo, los leds azules en un micro de 1.8v sin añadir más componentes.
Por ejemplo, los pines de la serie NXP LPC81xM son tolerantes a 5v cuando el micro está alimentado, incluso a 1,8v