¿Por qué las cosas como RESET / MCLR están activas en la mayoría de los circuitos integrados?


40

¿Convención?

¿Más fácil de implementar?

¿Otra razón?

¿Hay alguna razón por la cual las cosas como MCLR o RESET en microcontroladores están activas-bajas, es decir, tiene que bajarlas para restablecer el IC y subirlas para "ejecutar" el IC.

Solo tengo curiosidad porque esto me causa algunos problemas. Si estuviera activo alto, podría evitar el condensador en MCLR requerido en algunos casos y tratar solo con una resistencia desplegable. Parece solo agregar complejidad.


Como nota al margen, si no tiene un buen terreno, su terreno también puede oscilar. Si estaba utilizando una configuración desplegable, aún podría necesitar un condensador en MCLR.
Kellenjb

Respuestas:


49

Mira lo que sucede durante el encendido: Vcc se eleva a un punto donde es lo suficientemente alto como para que todo funcione correctamente. Sin embargo, ese punto no está claramente definido y puede variar de un dispositivo a otro. Tiene sentido no usar este voltaje para reiniciar el controlador.
Sin embargo, es fácil mantener un nivel bajo independientemente de Vcc. Después de todo, Reset ya está activo en el instante en que enciende la alimentación, ya que en ese momento todo está en un nivel bajo.

editar
El siguiente gráfico ilustra cómo el voltaje de salida del controlador de reinicio (ic un MC34064 ) permanece bajo hasta que Vcc es lo suficientemente alto como para que el microcontrolador completo sea estable.

texto alternativo


Esto es lo que iba a preguntar.
Kortuk

-1 - Es igual de fácil mantener un nivel alto independientemente de Vcc. Utiliza un transistor o resistencia pullup, de la misma manera que usaría un transistor o resistencia pulldown. Su argumento no dice nada especial sobre la diferencia entre los voltajes en los pines de la fuente de alimentación. Al encenderse, se separan y los niveles lógicos válidos son relativos al voltaje de la fuente de alimentación.
Jason S

1
@ Jason: tiene más sentido mantenerlo en un nivel que sea siempre definido claramente que confiar en un nivel que cambia constantemente.
stevenvh

8
Vcc y Gnd están cambiando uno con respecto al otro. Es solo una convención que pensamos en Gnd como "constante" cuando en realidad son los dos relativos entre sí. Vcc solo está cambiando en relación con Gnd porque lo pensamos de esa manera, en lugar de que Gnd aumente negativamente en relación con Vcc.
Jason S

26

Wikipedia dice :

Muchas señales de control en electrónica son señales activas bajas (generalmente líneas de reinicio, líneas de selección de chip, etc.). Esto se debe al hecho de que mayoría de las familias lógicas pueden absorber más corriente de la que pueden generar, por lo que aumentan la inmunidad al ruido y al abanico. También permite la lógica con cable O si las puertas lógicas son de colector abierto / drenaje abierto con una resistencia pull-up. Ejemplos de esto son el bus I²C y la red de área del controlador (CAN) y el bus local PCI. La señalización RS232, como se usa en algunos puertos seriales, usa señales activas bajas.

Espero que esto ayude.


77
En cuanto a por qué el hundimiento es más fácil, es porque los MOSFET de canal N (utilizados para hundirse en CMOS) tienen una mejor movilidad del portador (los electrones fluyen mejor que los agujeros)
Nick T

2
No estoy completamente seguro de esto; la mayoría de los circuitos integrados en la actualidad pueden hundir ± 20 mA, ¿y realmente importa? 4.7k (típ.) Será inferior a 1 mA, lo que la mayoría de los circuitos integrados pueden hacer.
Thomas O

3
@Thomas: 'Sinking ± 20mA' no es una forma precisa de decir lo que sucede. Las corrientes de fuente y sumidero pasan por transistores separados, que tienen especificaciones diferentes para un área de chip dada.
Kevin Vermeer

@reemrevnivek - Lo siento, mi error, supongo que el hundimiento / abastecimiento es más apropiado. Pero de cualquier manera, pueden hundirse y generar mucha corriente.
Thomas O

3
incluso si las piezas de hoy son más robustas, a estas alturas puede ser solo una convención.
JustJeff

8

Además de la respuesta de Igor, hay dos razones menores por las cuales se utilizan señales activas-bajas:

  • Además de que la cantidad de corriente de sumidero disponible es mayor que la fuente de corriente, es más fácil para los circuitos TTL producir un voltaje cercano a tierra (solo una caída de Vce) que un voltaje cercano a Vcc (caída de Vbe + generalmente un poco más) )

  • Es más fácil para los circuitos pasivos externos (p. Ej., Botones pulsadores o interruptores de límite) producir de manera segura una señal baja activa: solo use una resistencia pullup en el extremo receptor y en el extremo de la fuente externa, cortocircuite el nodo del circuito en cuestión al potencial de tierra. Si usa una señal alta activa, debe poner Vcc a disposición de esos circuitos externos, lo que conlleva el riesgo de que el nodo Vcc se cortocircuite a tierra.


4

Hundirse más a niveles bajos, y las señales de bajo activo en general se remontan a los días de TTL, ahora es solo una convención común. No hay razón para cambiarlo.


2

No es raro que diferentes partes de un sistema funcionen con diferentes suministros que comparten un terreno común. Esto puede deberse a que algunas partes necesitan 3,3 voltios, mientras que otras necesitan 2,0 o 5,0, porque algunas partes deben encenderse y apagarse por separado de otras, porque algunas partes pueden generar un nivel de ruido eléctrico en sus suministros que otras partes no podrían tolerar, etc. En algunos casos, el circuito que genera un reinicio puede no funcionar o ser controlado por el mismo suministro que opera la CPU. Tener el generador de reinicio en un suministro diferente de la CPU no es un problema si uno está usando un reinicio activo bajo y si la CPU puede tolerar niveles de voltaje por encima de VDD o la línea de reinicio puede ser débilmente elevada por algo conectado al suministro de la CPU .

Como un ejemplo simple, imagine una CPU de 3 voltios que está conectada con chips de 5 voltios. Los circuitos externos funcionarán mal de manera arbitraria si el VDD cae por debajo de 4,75 voltios y requeriría reinicialización después de que el voltaje aumente por encima de ese punto. La CPU en sí misma podría ejecutar el código bien si el voltaje de la fuente principal cae a 3 voltios, pero es posible que no pueda hacer nada útil; La forma más limpia de garantizar que el hardware externo se inicializará después de que el VDD supere los 4,75 voltios será restablecer la CPU siempre que el VDD esté por debajo de ese punto. El uso de un chip de reinicio de colector abierto y un pullup pasivo al VDD de la CPU sería el enfoque más simple.

La única desventaja de ese enfoque de manejo de reinicio es que un pull-up pasivo consumirá corriente continuamente mientras el sistema está en reinicio. En los sistemas alimentados por la red eléctrica, los dispositivos de almacenamiento de energía [condensadores] esperan ser drenados completamente secos sin daños. Sin embargo, en los sistemas alimentados por baterías recargables, el drenaje de corriente de una celda descargada puede causar un desgaste excesivo. Incluso en los sistemas alimentados por baterías desechables, el consumo continuo de corriente puede aumentar indeseablemente el riesgo de que las baterías se "ventilen"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.