CIRCUITOS ELECTRÓNICOS. EXAMEN FINAL. Problema 1 del Primer Parcial (Para todos los alumnos que tengan el 1p pendiente) En los modernos sistemas de audio multicanal, se ha convertido en un estándar el uso de la transmisión de datos de audio en formato S/PDIF (Sony/Phillips Digital InterFace). Este estándar de comunicación serie utiliza la codificación Biphase Mark Code (BMC) para transmitir los datos. En dicha codificación, cada bit transmitido dura dos ciclos de reloj, siguiendo las siguientes reglas: • • • Cuando empieza un bit, la línea cambia siempre, esto es, si estaba a ‘0’ se pone a’1’ y viceversa. Si el dato a transmitir es un ‘0’, la línea permanece en el estado durante los dos ciclos Si el dato a transmitir es un ‘1’, la línea cambia también al principio del segundo ciclo. Se puede ver que el ‘0’ será representado por ‘00’ o por ‘11’, dependiendo del estado de la línea cuando empezó a transmi‐ tirse el símbolo, e igualmente el ‘1’ será representado por ‘01’ o por ‘10’. En la siguiente figura se aprecian las cuatro posibili‐ dades. Se desea diseñar el codificador y el decodificador de binario a BMC, cumpliendo las siguientes especificaciones: • • • El codificador será un bloque síncrono, cuya única entrada será una línea serie por la que vendrán los datos a transmitir, a la frecuencia adecuada al reloj del sistema. Este bloque nunca parará de transmi‐ tir, aunque la línea de entrada no cambie. 0 1 0 1 El decodificador se supondrá un bloque síncrono DOUT también, pero usará como señal de reloj la inversa del reloj del codificador, para separar lo más posi‐ CLKR ble la lectura del dato de la transición del mismo. Tanto la señal de entrada (Din) como la de entrada BMC al segundo bloque (BMC) se supondrán libres de 1(01) 0 (00) 1(10) 0 (11) cualquier tipo de fallo. Se pide: 1. Diseñar el transmisor como una máquina síncrona de Moore, cuya única entrada es DIN y cuya única salida es BMC. [Tabla de transición de estados comentada: 3 puntos; simplificación y resolución de las ecuaciones lógicas: 2 puntos; dibujo del circuito usando únicamente puertas NAND y OR de 2 entradas y biestables tipo D: 1 punto] 2. Señalar el camino crítico y calcular la frecuencia máxima de transmisión, si los retrasos de las puertas son 10ns, y del biestable (tPD+tSETUP) es 20ns. [1 punto] 3. Diseñar el receptor como una máquina síncrona de Moore cuya única entrada es la línea BMC, su reloj es CLKR y su salida es DOUT. Tabla de transición y resolución del circuito combinacional de entrada y sa‐ lida (No es necesario pintarla). [3 puntos] TIEMPO: 1h Solución al primer problema Para resolver el circuito codificador, vamos a partir de una condición inicial cualquiera. Por ejemplo, llamare‐ mos 0 a un estado en el que acabo de terminar de transmitir un 0 y la línea de salida está a 0. Haremos prime‐ ro una aproximación directa al problema, que veremos que nos producirá un número elevado de estados equivalentes. Posteriormente reduciremos estos estados. Para esta primera aproximación, consideraremos cuatro estados “fundamentales”, que serán: • • • • Acabo de transmitir un ‘0’ y la línea está a ‘0’ Acabo de transmitir un ‘0’ y la línea está a ‘1’ Acabo de transmitir un ‘1’ y la línea está a ‘0’ Acabo de transmitir un ‘1’ y la línea está a ‘1’ Con estas premisas, y sabiendo que no se producirán nunca fallos en la línea, el dia‐ grama de bolas queda como se ve: Vemos que los estados 0, 3, 4 y 7 correspon‐ den a los que he definido arriba como esta‐ dos “fundamentales”, en el orden en que están enunciados. Partiendo de este diagrama, la Tabla de Transición de estados completa sería: 1 1 1 2 1 0 0 Es importante hacer ver también que los estados 1, 2, 5, 6, 8, 9, 10 y 11 (el resto), sólo tienen una transición posible, dado que la línea de entrada no cambia a mitad de esta‐ do. 0 0 0 1 3 1 0 1 4 0 1 0 0 5 0 6 0 10 0 1 0 0 8 0 7 1 11 0 1 1 9 0 1 ESTADO 0 1 2 3 4 5 6 7 8 9 10 11 Din 0 1 BMC 1 2 0 3 -1 -- 4 1 5 6 1 10 11 0 0 -0 -- 7 0 8 9 1 0 -0 -- 7 0 3 -1 -- 4 1 Se observa lo peculiar de la tabla, en la que no hay estados estables, sólo hay una entrada (2 columnas) pero hay 12 estados. Esto obligaría a codificar los estados usando 4 biestables. Veamos previamente si se puede simplificar la tabla. Para ello, realizaremos la tabla de inferencias entre los estados. Es muy probable que haya gran cantidad de estados equivalentes o pseudoequivalentes, dado que sólo hay una salida (muchos estados tienen la misma salida) y sólo hay una en‐ trada (no hay muchas transiciones que tengan que ser compatibles). La tabla de inferencias completa será: 1 X 2 X 3 X 4 C1 5 X2 6 C3 7 X 8 X2 9 C3 10 X 11 X 0 Notas: • • • • • • • • a) b) c) d) C X3 X X X X4 X X C C 1 C5 X X X C3 X X C C 2 X X X C4 X X X3 C5 3 X5 C5 X X5 C3 X X 4 C X C C X X 5 X C C X X 6 X X X4 C3 7 C X X 8 X X 9 C 10 C1: Compatibles si 1‐10, 2‐11. Como éstos lo son, 0 y 4 también. X2:Compatibles si 0 y 1. Como no lo son, 0 y 5 tampoco, ni 0 y 8. C3: Compatibles si 2 y 7, a su vez compatibles si 4 y 9, a su vez compatibles si 11 y 7, que lo son si 4 y 9. Como se observa, todos ellos serán compatibles X3: Compatibles si 3 y 5. Como no los son, tampoco 1 y 3 ni 3 y 10 X4: Compatibles si 3 y 8. Como no lo son, tampoco 1 y 7, ni 7 y 10 C4: Compatibles si 5‐8 y 6‐9. Como los son, éstos también son compatibles C5: Compatibles si 6 y 4, a su vez compatibles si 7 y 11, que lo son como se vio en C3 X5: Compatibles si 0‐10, que tienen distintas salidas: no lo son. Para realizar la tabla, se han puesto indicadas en notas las diversas equivalencias dependientes, por‐ que en algún caso eran especialmente enrevesadas como para incluirlas en la propia tabla. Se observa que, finalmente sólo tengo 4 estados diferentes: Estado 0: los antiguos 0 y 4. Representan el final de un bit terminando en 0 Estado 1: los antiguos 1, 2, 10 y 11. Representan el primer semiciclo de un bit, que empieza en 1. Hasta el siguiente estado, realmente no hace falta diferenciar la salida. Estado 2: Los antiguos 3 y 7. Representa el final de un bit terminando en 1. Estado 3: los antiguos 5, 6, 8 y 9: Representan el primer semiciclo de un bit que empieza en 0, de ma‐ nera análoga al estado 1. Entonces, la tabla reducida queda así de simple: ESTADO Din 0 1 BMC 0 1 1 0 1 2 0 1 2 3 3 1 3 0 2 0 Como finalmente tengo sólo 4 estados, lo puedo reali‐ zar con dos biestables. Dado que tengo sólo una salida, que vale 1 en los estados 1 y 2, usaré la siguiente codifi‐ cación para los estados: Est.0=00; Est.1=01; Est.2=11; Est.3=10 Usando esta codificación, la salida será direc‐ tamente el bit menos significativo. Q2 0 0 0 0 1 1 1 1 Q1 0 0 1 1 1 1 0 0 Din 0 1 0 1 0 1 0 1 D2 0 0 1 0 1 1 0 1 A partir de esta tabla, resulta extremadamente fácil calcular las ecuaciones de D2, D1, dado que sólo depen‐ den de 3 variables. Hacemos las tablas de Karnaugh correspondientes, resultando: D1 1 1 1 0 0 0 0 1 D2 Din Q2Q1 0 00 0 01 1 11 1 10 0 D1 Din Q2Q1 0 00 1 01 1 11 0 10 0 1 0 0 1 1 1 1 0 0 1 El resultado de la simplificación será: • • D2=Q1∙/Din+Q2∙Din D1=/Q1∙Din+/Q2∙/Din. Utilizando las leyes de DeMorgan, para expresar las ecuaciones usando sólo puertas NAND y OR de 2 entradas, se puede dibujar la máquina de estados como: U14 Din 1 BMC D PREB Q U1 CLK CLRB QB 1 1 D PREB Q CLK U13 U2 Q2 Observando el circuito se puede ver que todos los caminos tie‐ nen el mismo retraso entre la entrada y salida de un biestable, atravesando dos puertas NAND. El máximo retraso por tanto será de 2∙tPDNAND +tPD + tSETUP = 40ns, por lo que la máxima frecuencia de operación será de 1/40ns= 25MHz CLRB QB clk 1 Para realizar el receptor, tendré que tener en cuenta que, mientras voy recibiendo un dato tengo que señalar, a la salida, el dato anteriormente recibido, debido a que cada dato tarda dos ciclos de reloj en llegar. Empeza‐ remos por un estado “0” definido como “llegó un 0, empiezo a señalizarlo y miro la entrada”. Veo que de este estado 0 puedo ir al 1 ó al 2, dependiendo de la entrada. En ambos casos la salida sigue siendo 0, correspon‐ diente al segundo estado del dato anterior. A continuación, desde el estado 1 puedo evolucionar de nuevo al 0 si llega otro 0 (habría llegado 00) o bien al estado 3 (Habría llegado 01), y análogamente desde el 2 podría ir al 0 (si llegase 11) o bien al 3 (si llegase 10). Estando ya en el estado 3, cuya salida sería 1, podría evolucionar al estado 4 o al estado 5, de manera totalmente similar a lo dicho para los estados 1 y 2. En la figura se ve un diagrama de bolas que representa este funcionamiento: 0 0 0 1 0 0 Con lo que la tabla de transición de estados pe‐ dida sale directamente de este diagrama como: 1 2 0 1 ESTADO BMC 0 1 DOUT 0 1 2 0 1 0 3 0 2 3 0 0 3 4 5 1 4 0 3 1 5 3 0 1 1 0 3 1 0 4 1 1 1 5 1 0 Aunque la tabla es, inicialmente, bastante menor que la del primer apartado, no se puede simplifi‐ car, por lo que habrá que resolverla en función de 3 bits de estado y una entrada. 0 1 Realizando la tabla de excitaciones, asignando previamente los estados a sus valores binarios, se consigue: Q3 0 0 0 0 0 0 0 0 1 1 1 1 Q2 0 0 0 0 1 1 1 1 0 0 0 0 Q1 0 0 1 1 0 0 1 1 0 0 1 1 BMC 0 1 0 1 0 1 0 1 0 1 0 1 D3 0 0 0 0 0 0 1 1 0 0 0 0 D2 0 1 0 1 1 0 0 0 0 1 1 0 D1 Con lo que las tablas de Karnaugh, para D3, D2 y D1 quedan: 1 D3 D2 0 Q1-BMC Q1-BMC 0 1 Q3-Q2 00 01 11 10 Q3-Q2 00 01 11 10 1 00 0 0 0 0 00 0 1 1 0 0 01 0 0 1 1 01 1 0 0 0 11 -- -- --0 11 -- -- --10 0 0 0 0 1 10 0 1 0 1 0 1 D1 1 Q1-BMC 0 Q3-Q2 00 01 11 10 00 1 1 -0 01 0 0 -1 11 1 1 -0 10 0 0 -1 Resolviendo esto, obtenemos las ecuaciones de D3, D2 y D1 como: • • D3=Q2∙Q1 D2= Q2∙/Q1∙/BMC + /Q3∙/Q2∙BMC + Q3∙/Q1∙BMC + Q3∙Q1∙/BMC • D1= /Q3∙/Q1∙/BMC + /Q3∙Q1∙BMC+ Q3∙/Q1∙BMC+Q3∙Q1∙/BMC Por último, la ecuación del circuito de salida, DOUT en función de Q3, Q2 y Q1, se realiza también por Karnaugh y se calcula: • DOUT=Q3 + Q2∙Q1 D2 Q1 Q3Q2 00 01 11 10 0 0 0 ‐‐ 1 1 0 1 ‐‐ 1 En la siguiente figura se puede ver un dibujo del circuito de recepción, y una simulación en la que un dato es transmitido y recibido. BMC U35 1 U27 D PREB Q U26 U28 CLK U21 DOUT U38 U39 U29 CLRB QB U30 U31 U32 D PREB Q U25 CLK U33 U22 CLRB QB U34 D PREB Q CLK CLKR U36 U24 CLK U23 CLRB QB JUNIO_10_1P.CIR TRANSMISOR d(CLK) d(Din) hex(Q2,BMC) 0 1 3 2 0 1 0 1 0 1 3 2 3 2 0 1 d(BMC) d(CLKR) hex(QR3,QR2,QR1) 0 2 0 1 0 2 3 5 3 5 0 1 3 4 0 d(DOUT) RECEPTOR 0.000u 0.600u 1.200u 1.800u 2.400u 3.000u T Se observa en la simulación que se transmiten, y reciben, dos ceros consecutivos, dos unos, y tras esto un cero y un uno. Se comprueba que la recepción se hace con dos ciclos de reloj, aproximadamente, de retraso, y tam‐ bién es visible la señal BMC, que cambia al comienzo de cada bit y a la mitad del mismo si es ‘1’.