Estoy de acuerdo contigo, y en desacuerdo con @Kynit: el multiplexor es la parte marcada como "buffers" en tu esquema. Pero más sobre esto en un momento: vamos a recorrer el circuito hacia atrás, desde la pantalla hasta el oscilador.
No voy a proporcionar ningún esquema, y puede que sea un poco vago a veces - como estás aprendiendo, me imagino que es mejor no dar demasiado.
Mostrar
Según tengo entendido, tus tres pantallas de 7 segmentos son de ánodo común, y tienen los cátodos de cada segmento conectados al segmento correspondiente en las otras dos pantallas. Esto implica que si conectas los tres ánodos a la alimentación positiva y cualquier cátodo a la alimentación negativa (usando las resistencias limitadoras de corriente adecuadas, por supuesto), entonces el segmento correspondiente se encenderá en los tres pantallas.
Evidentemente, esto no es deseable, ya que se quiere poder controlar cada pantalla de forma independiente. Aquí es donde entran los controladores de dígitos.
Controladores de dígitos
En lugar de conectar directamente cada uno de los tres ánodos a la alimentación positiva, puedes utilizar tres transistores (uno en cada pantalla) como interruptor para conectar selectivamente una sola pantalla en cada momento.
Para ello, hay que conectar el colector de cada transistor a la alimentación positiva, el emisor al ánodo de la pantalla mediante una resistencia limitadora de corriente y utilizar la base como entrada de control. Aplicando una tensión positiva a la base se enciende la pantalla, conectándola a tierra se apaga.
Ahora puedes decidir qué pantalla mostrará un dígito determinado. Sin embargo, eso es sólo la mitad de la batalla: aún necesitas una forma de tomar los nueve bits de entrada y seleccionar sólo los tres bits correspondientes a la pantalla que está encendida en ese momento.
Multiplexor
Ahí es donde entra el multiplexor. Efectivamente, un multiplexor es un dispositivo que toma múltiples señales de entrada y selecciona cuál de ellas debe salir. En este caso, quieres dividir la entrada de nueve bits en tres entradas de tres bits (es decir digit 0
, digit 1
y digit n-1
en tu esquema), luego utiliza el multiplexor para colocar sólo uno de ellos en el "bus de visualización" en cualquier momento.
Necesitarás un multiplexor de 3 a 1 (tienes tres entradas y una salida), que tenga tres bits de ancho (cada señal tiene 3 bits). Afortunadamente, eso es lo mismo que tener tres multiplexores de 3 a 1 de un bit en paralelo, cuyos esquemas se pueden encontrar fácilmente en Internet.
Por ejemplo, el bit 0 de digit 0
El bit 0 de digit 1
y el bit 0 de digit n-1
se conectan a las tres entradas del primer multiplexor, y su salida se convierte en el bit 0 de tu "bus de visualización". Repite dos veces más para el bit 1 y el bit 2.
Entonces, ¿cómo se decide qué salida está activa en cada momento? El multiplexor tiene dos líneas de "selección" adicionales: aplicando la lógica 00
a estas líneas selecciona la primera entrada, lógica 01
el segundo, y la lógica 10
la tercera (con 11
sin usar). Puede encontrar diseños con una configuración ligeramente (por ejemplo 01
, 10
, 11
en lugar de 00
, 01
, 10
), pero la primera configuración es probablemente la más común, y es la que asumo en el resto de la discusión.
Genial, así puedes controlar qué pantalla está activa y qué parte de los datos de entrada muestra. Pero, ¿cómo conseguir que pase por los dígitos?
Contador
Lo que necesitas ahora es algún tipo de contador cíclico que primero seleccione la pantalla 0, luego seleccione la pantalla 1, luego la pantalla 2, vuelva a la pantalla 0, la pantalla 1, y así sucesivamente.
Esto se conoce como un contador mod-3, ya que sólo tiene tres estados de salida posibles: 0, 1 y 2. Los contadores digitales se construyen más fácilmente utilizando un mod-2 n por ejemplo, mod-2, mod-4, mod-8, etc., ya que esto corresponde a un número entero de bits de salida (por ejemplo, 1 bit, 2 bits y 3 bits respectivamente). Afortunadamente, también es fácil convertir un contador mod-4 (es decir, de 2 bits) con una entrada de "reset" a mod-3: basta con atar el segundo bit de salida (que se pone en alto cuando el contador llega a 2) a la entrada de reset. Esto significa que volverá inmediatamente a 0 en el siguiente ciclo, en lugar de ir a 3 primero.
De nuevo, los esquemas del contador mod-4 se pueden encontrar fácilmente en Internet.
A continuación, puede conectar esto directamente a su multiplexor - cuando las salidas del contador son 0 (lógica 00
) los datos de entrada para la primera visualización se colocan en el bus de visualización, la salida 1 ( 01
) selecciona los datos de la segunda pantalla, y la salida 2 selecciona la tercera.
Una vez más, esto es sólo la mitad de la batalla, ya que ahora puedes recorrer los datos de entrada, pero todavía no controlas activamente qué pantalla está activa.
Decodificador 2 a 4
Para controlar qué pantalla está activa, se desea aplicar una señal positiva a cada controlador de pantalla por turno. Es decir, cuando el contador salga 0 (y el multiplexor haya puesto digit 0
en el bus de la pantalla), quieres que la base del primer transistor vaya a positivo, y que los otros dos vayan a tierra. Un argumento similar se aplica a los otros dos controladores de pantalla. Este es el propósito de tu bloque de "selección de dígitos".
Así que, básicamente quieres tomar esa salida de dos bits de tu contador, y usarla para seleccionar una de las tres líneas dependiendo del valor del contador. El circuito que puede hacer esto se llama decodificador 2 a 4, que simplemente tiene dos líneas de entrada y cuatro salidas. Cuando la entrada es 00
La primera salida es alta y las otras son bajas. Cuando la entrada es 01
La segunda salida es alta y las otras son bajas. Cuando la entrada es 10
La tercera salida es alta y las otras son bajas. Y cuando la entrada es 11
La cuarta salida es alta y las otras son bajas.
No necesitas cuatro salidas, y tu contador no va a salir nunca 11
de todos modos, así que sólo tienes que utilizar las tres primeras salidas y conectarlas a tus controladores de pantalla (ignorando la cuarta salida).
Ten en cuenta que tu multiplexor de 3 a 1 contiene básicamente su propio decodificador interno de 2 a 4, así que si estás implementando todo esto en lógica discreta, puedes simplificar el multiplexor usando la salida del decodificador de 2 a 4 que estás usando para el selector de dígitos - eso es lo que parece estar implícito en tu esquema.
De nuevo, los esquemas para decodificadores de 2 a 4 se encuentran fácilmente en Internet.
Sin embargo, hay una última cosa que necesitas: alguna señal que haga que el contador recorra sus valores.
Oscilador
Su circuito 555 es su oscilador, que simplemente produce una señal de reloj que impulsa el contador. El circuito multivibrador astable que muestras es exactamente lo que necesitas, lo único que tienes que averiguar es la frecuencia de salida deseada y el ciclo de trabajo.
Como mencionó @EM Fields, el ciclo de trabajo probablemente no es muy importante aquí, por lo que un ciclo de 50/50 es un valor predeterminado razonable.
En cuanto a la frecuencia, debes intentar refrescar toda la pantalla al menos 30 veces por segundo para evitar el molesto parpadeo. Como necesitas pasar por cada uno de los tres estados del contador para actualizar la pantalla una vez, eso significa que tu oscilador debería funcionar al menos a 90 Hz, pero vale la pena ir considerablemente más rápido que eso sólo para estar seguro. Por otro lado, durante las pruebas puede ser útil hacer funcionar el oscilador (muy) lentamente porque entonces puedes observar los dígitos mientras cambian.
Dados esos valores, hay fórmulas fácilmente disponibles que le dirán qué tamaño de resistencias debe utilizar.
Una nota al margen
El des-multiplexor (al que se refería el profesor) entra en juego con el decodificador 2-4. Como su nombre indica, un desmultiplexor hace lo contrario que un multiplexor, tomando una sola entrada y cambiándola entre una de varias salidas. Así, el decodificador 2 a 4 es básicamente un desmultiplexor 1 a 4 de un solo bit, con su entrada permanentemente ajustada a la lógica 1
. Por eso no estoy de acuerdo con @Kynit: lo que él describe como un multiplexor es, en todo caso, un de -multiplexor, y el multiplexor real está en otra parte del circuito.
Espero que lo anterior sea de ayuda. Si hay algo que no encaja, hágamelo saber y estaré encantado de solucionarlo.
1 votos
El diseño 555 que muestras es sólo la sección del oscilador. Necesitas una sección de contador conectada a esto. Usando un solo chip, el contador podría crearse a partir de un contador de décadas que se borre a sí mismo después de contar hasta 3. Usando puertas separadas podrías usar 2 D-flipflops y luego decodificar las salidas Q para tener 3 salidas que se secuencien como 0-1-2.
0 votos
No tengo experiencia en el uso de flip-flops, así que preferiría hacerlo con el chip único. ¿Puedes dirigirme hacia más información sobre el uso de ese método?
1 votos
La frecuencia debe ser alrededor de 300-500Hz. fuente: Estoy en su clase.