6 votos

Multiplexación de un circuito

Francamente, estoy abrumado con este circuito que tengo que empezar a construir en el laboratorio mañana. La semana pasada construimos un decodificador octal que toma una entrada binaria de 3 bits de 000 a 111 y muestra un carácter único de nuestra elección en una pantalla LED (ánodo común). Era todo lógica combinacional y lo entiendo bastante bien. Ahora estamos ampliando el circuito y no entiendo mucho de la circuitería ni cómo funciona. Voy a describir brevemente la tarea y luego intentaré explicar lo que entiendo y lo que no. Aquí está el esquema:

Circuit

Tenga en cuenta que aquí n=3.

La tarea:

Tenemos que diseñar y construir un circuito que muestre 9 bits de datos en 3 pantallas separadas de 7 segmentos (ánodo común). Un interruptor DIP controla las tres entradas del decodificador construido la semana pasada. Los tres dispositivos de dígitos separados tienen los segmentos correspondientes cableados juntos (por ejemplo, a con a, b con b, etc.). La salida sólo aparece en una de las pantallas a la vez, pero si se escanean lo suficientemente rápido deberían aparecer todas encendidas. Para la multiplexación tengo que utilizar la lógica de colector abierto 7403. Para cada dígito, debemos diseñar un transistor que funcione como un "conductor de dígitos de alta gama" con el fin de suministrar/sumergir la corriente apropiada para iluminar el dígito adecuadamente. Debemos diseñar un circuito contador que produzca las señales de accionamiento de los dígitos secuencialmente de derecha a izquierda.

Mi entendimiento:

Multiplexación

Mi profesor describió los multiplexores esencialmente como interruptores eléctricos; eligen qué señales transmitir. Creo que mi mayor malentendido radica en el propósito del multiplexor en este circuito. ¿Está el multiplexor representado en el esquema donde dice "buffers"? ¿Es eso común? Originalmente, cuando usábamos una pantalla con el decodificador, no necesitábamos un multiplexor. Si el objetivo final es mostrar la salida en dos pantallas adicionales, ¿por qué no podríamos simplemente cablear todas las a, b, c, etc. juntas? También mencionó la demultiplexación, pero no está claro si eso es necesario aquí.

Controlador de dígitos de alta gama

El propósito de los drivers de los transistores es suministrar/sumergir corriente a/desde los LEDs, pero no está claro a qué está conectado eléctricamente en términos de emisor, colector y base. Si los drivers simplemente suministran o absorben corriente, ¿por qué están conectados al multiplexor?

Circuito de contadores

Ya construí una vez un circuito contador utilizando un temporizador 555. Este es el esquema:

Circuit #2

Creo que podría utilizar este circuito y juguetear con los valores de R hasta conseguir una salida deseable. Sin embargo, ¿qué se considera una salida deseable aquí? El procedimiento sólo dice que el circuito contador tiene que producir las señales de accionamiento de los dígitos - esto parece vago.

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.

3voto

DWright Puntos 2692

Intentaré cubrir las partes de tu pregunta por separado.

Multiplexación

¿Está el multiplexor representado en el esquema donde dice "buffers"?

¡No! El multiplexor es el seleccione el dígito parte del circuito. Como has dicho, un multiplexor es un interruptor eléctrico: si tengo \$n\$ entradas del "selector", puedo elegir entre \$2^n\$ salidas. En tu caso, tienes un contador de dos bits (porque 1 bit no es suficiente para contar hasta 2) que está conectado a la parte "select" del multiplexor. El multiplexor entonces pone una de sus cuatro salidas en alto, dependiendo de cuál sea el contador. Si haces que tu contador se reinicie tan pronto como llegue a 3, entonces tu multiplexor pondrá 0 alto, luego 1, luego 2, y repetirá este bucle para siempre.

Si el objetivo final es mostrar la salida en dos pantallas adicionales, ¿por qué no podríamos conectar todas las a, b, c, etc.?

Cuando el mux ha puesto el dígito 0 en alto, sólo queremos que se ilumine el display 0 (y lo mismo para el 1 y el 2). Si conectas las pantallas juntas, no puedes controlarlas todas con dígitos diferentes.

Controlador de dígitos de alta gama

El propósito de los controladores de transistores es suministrar/retornar corriente a/desde los LEDs, pero no está claro a qué está conectado eléctricamente en términos de emisor, colector y base.

Mira un conductor de un solo dígito. Cuando su salida mux es alta, quieres que la corriente fluya desde tu fuente de alimentación hacia los LEDs; cuando el mux es bajo, quieres bloquear esa corriente. Esto significa que su ¿Qué dígito? La salida está probablemente conectada a la base del transistor, y al ponerla en alto permite que la corriente fluya del colector al emisor. ¿Es eso suficiente para dar un paso en la dirección correcta?

Si los controladores se limitan a emitir o recibir corriente, ¿por qué están conectados al multiplexor?

Tendrás tres conductores. Sólo quieres encender uno a la vez, y el multiplexor elige cuál. Supongo que no son "simplemente fuentes de corriente", sino que son fuentes de corriente que puedes encender y apagar selectivamente.

Circuito de contadores

Sin embargo, ¿qué se considera aquí un resultado deseable?

Quieres contar

0, 1, 2, 0, 1, 2, ...

por lo que necesitarás dos cables (como he mencionado anteriormente). ¿A qué piezas tienes acceso? ¿Qué tipo de circuitos de contadores has visto antes?

Como mencionó Nedd, tienes un buen oscilador configurado - que será la entrada de tu contador. Los flip-flops serían un enfoque estándar a partir de ahí.

0 votos

Por lo que dicen todos, parece que el temporizador 555 debe ir seguido de un contador. El semestre pasado los usamos, pero no nos enseñaron que funcionaban; creo que mi profesor actual asume que sí sabemos usarlos. Pero creo que ahora entiendo la idea: El 555 proporciona el pulso, y el contador utiliza ese pulso para "hablar" con el multiplexor. ¿Es eso cierto? El contador que tengo es un 74160. ¿Funcionará? Además, si el multiplexor no es el "buffer" ¿sabes qué puede ser?

0 votos

La idea es correcta. El 555 proporciona el pulso de reloj, y el contador los convierte en una señal (0, 1, 2) para el mux.

0 votos

Ese contador se ve muy bien. Sólo he echado un vistazo a la hoja de datos - es posible que tenga que utilizar algunos circuitos externos para hacer que salte de 3 a 0.

2voto

robawalsh Puntos 31

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.

0 votos

Aha. Tienes razón, había olvidado lo que son los multiplexores. Esto es más correcto que mi respuesta. (ps: soy un "él" :D )

0 votos

Le agradezco la respuesta en profundidad. Me ha ayudado mucho. Tengo varias preguntas, si no le importa que se las haga.

0 votos

1.) En el laboratorio anterior, cuando hicimos el decodificador que mostraba la salida en una pantalla de 7 segmentos, sólo había tres entradas. ¿Por qué tenemos nueve entradas aquí? Una parte de mí dice que es porque tenemos dos pantallas más. Sin embargo, como has dicho, todos los segmentos catódicos de las pantallas están cableados juntos - así que no veo por qué necesitaríamos más entradas si las pantallas adicionales son realmente duplicadas. ¿O necesitamos las entradas para controlar cada pantalla de forma independiente? Si es así, ¿los segmentos de la pantalla siguen compartiendo pines comunes?

1voto

Nedd Puntos 3000

El 555 sólo proporciona el oscilador, para producir las señales de accionamiento de los dígitos también se necesita un contador. Un ejemplo es un MC14017. Utiliza Q0, Q1, y Q2 como las entradas a tus tres drivers de dígitos, luego haz que la señal Q3 se retroalimente al pin de Reset. Así la salida cuenta como 0,1,2,0,1.......

Consulte la hoja de datos para obtener más información sobre la conexión:
http://www.onsemi.com/pub_link/Collateral/MC14017B-D.PDF

El circuito que sigue al contador podría considerarse un multiplexor, ya que selecciona un grupo de datos de 3 bits a la vez y lo envía al descodificador.

0 votos

¿Así que el temporizador 555 sólo hace la mitad del trabajo? Creo que tengo 74160 contadores del semestre pasado. ¿Funcionarán? En realidad no nos enseñaron cómo funcionaban, era más bien una cosa del tipo "conecta esto a esto y aquello a aquello..." y observamos el resultado final.

0 votos

El 74160 mientras se llama un contador de décadas tiene una salida binaria de 4 bits, contaría como 0000, 0001, 0010, 0011, ... hasta el binario 10 (1010), esto podría ser utilizado si usted fuera a añadir la lógica de decodificación adicional para contar como 001, 010, 100. Otra opción de chip con salidas decodificadas es un CD4022.

0 votos

Descubrí que en realidad tenemos otro contador. Es un 74193.

1voto

EM Fields Puntos 10237

Bonito proyecto.

Empezando por la cola, con el oscilador, estás proponiendo usar un 555 en su modo astable estándar, por lo que funcionará libremente con una frecuencia de salida de:

$$f = \frac{1.46}{(R1+2R2)\ C} $$

y un ciclo de trabajo de

$$D = \frac{R2}{R1+2Rb}$$

Para tu aplicación, el ciclo de trabajo no importa mucho, así que haz que R1 sea igual a unos 1000 ohmios y calcula R2 para la frecuencia que quieres con C1 igual a \$ 1\mu\$ F, como has demostrado.

A continuación, tienes que ser capaz de seleccionar un dígito a la vez de un ciclo de selección recurrente secuencial (ahí es donde entra la multiplexación) y, de una vez, iluminar los segmentos que has seleccionado para ese dígito con su interruptor DIP.

Para hacer la multiplexación correctamente, es necesario seleccionar el ánodo común de un dígito a la vez, y su oscilador conduciendo algo como un 4017 te dará el tiempo básico, pero no el impulso.

¿Hasta aquí todo bien?

0 votos

Hemos utilizado el temporizador 555 como generador de impulsos en otro proyecto, pero era más bien una herramienta ya que estábamos más centrados en otros aspectos del circuito. Sin embargo, recuerdo la frecuencia de salida y el ciclo de trabajo. ¿Pero cómo sabemos cuál debe ser la frecuencia en esta aplicación? Entiendo que el temporizador genera una ventana durante la cual se permite el paso de los pulsos, pero estoy un poco confundido a partir de ahí.

0 votos

@JGill La frecuencia sólo tiene que ser lo suficientemente rápida como para que tu ojo no vea ningún parpadeo. Eso es alrededor de 25 Hz (la película solía funcionar a 24 fotogramas por segundo) . Dado que tienes tres dígitos, y tienes que "visitar" cada uno, el mínimo debería ser de 75 Hz más o menos. Yo duplicaría eso y lo haría alrededor de 150 Hz.

0 votos

@tcrosley, gracias, eso tiene sentido. Ahora sólo tengo que averiguar cómo montarlo con un contador. Sólo por curiosidad, ¿cuál sería la consecuencia de una frecuencia ajustada en los extremos? ¿Demasiado baja y veríamos que cada pantalla se ilumina secuencialmente? Pero, ¿hay alguna consecuencia de una frecuencia demasiado alta?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X