Salta al contingut
Classes de reforç

Exercicis d'electrònica digital seqüencial — Tecnologia i Enginyeria 2n Batxillerat

Aquests exercicis treballen l'electrònica digital seqüencial, el bloc de circuits que tenen memòria. Començaràs distingint els circuits combinacionals dels seqüencials i estudiant els biestables SR, D, T i JK: la taula de transicions, l'equació característica i els cronogrames. Després passaràs als registres de desplaçament i als comptadors asíncrons i síncrons, amb els retards de propagació i la freqüència màxima de treball. Acabaràs amb màquines d'estats senzilles: detectors de seqüència, comptadors amunt/avall, generadors pseudoaleatoris i el control d'un portal, passant del diagrama d'estats a les equacions dels biestables. Les solucions mostren cada pas del disseny. Errors típics: confondre el flanc de rellotge amb el nivell, oblidar què passa amb els estats no utilitzats d'un comptador i no tenir en compte l'estat inicial en un cronograma.

Tens examen d'aquest tema? Fes un simulacre de 60 minuts com el de l'institut, amb solucions i criteris de correcció.Fes el simulacre →

Nivell bàsic

Exercici 1

Classifica cada sistema com a combinacional o seqüencial i justifica-ho en una frase:
a) un descodificador de 3 a 8;
b) un comptador que porta el compte de les voltes d'un corredor en una pista;
c) un sumador de 4 bits;
d) un pany electrònic que només s'obre si s'han introduït, seguits i en l'ordre correcte, quatre dígits;
e) un multiplexor de 4 a 1;
f) un comandament de televisió que passa al canal següent cada vegada que es prem una tecla;
g) un registre de desplaçament de 8 bits.
Digues també quin component bàsic permet «recordar» un bit.

Mira la solucióAmaga la solucióde l'exercici 1

Apartat a)

Resultat

Combinacional: cada combinació d'entrada dona sempre la mateixa sortida.

Resolució

  1. Criteri. Un circuit combinacional no té memòria: la sortida depèn només de les entrades presents. Un de seqüencial depèn també de l'estat anterior, de la «història» del circuit.
  2. Aplicació. El descodificador de 3 a 8 activa la sortida que correspon al codi d'entrada, i el mateix codi activa sempre la mateixa sortida: no ha de recordar res.

Apartat b)

Resultat

Seqüencial: el valor del compte depèn de les voltes anteriors.

Resolució

  1. Què ha de fer. Cada pas del corredor ha de sumar una volta al valor que ja es tenia.
  2. Conclusió. Ha de recordar el compte anterior, és a dir, té memòria: és seqüencial.

Apartat c)

Resultat

Combinacional: la suma només depèn dels dos nombres presents a l'entrada.

Resolució

  1. Què ha de fer. Calcula A + B a partir dels dos nombres que hi ha en aquell moment a l'entrada.
  2. Conclusió. Els mateixos nombres donen sempre la mateixa suma: no cal memòria, és combinacional.

Apartat d)

Resultat

Seqüencial: ha de recordar quins dígits s'han introduït fins ara.

Resolució

  1. Què ha de fer. Només s'obre si els quatre dígits s'han entrat seguits i en l'ordre correcte.
  2. Conclusió. En prémer un dígit, la reacció depèn dels que s'han entrat abans: necessita memòria, és seqüencial.

Apartat e)

Resultat

Combinacional: la sortida és una de les entrades triada per les línies de selecció.

Resolució

  1. Què ha de fer. El multiplexor de 4 a 1 connecta a la sortida l'entrada que indiquen les dues línies de selecció.
  2. Conclusió. La sortida depèn només de les entrades i de la selecció presents: és combinacional.

Apartat f)

Resultat

Seqüencial: el canal següent depèn del canal actual, que s'ha de recordar.

Resolució

  1. Què ha de fer. Cada vegada que es prem la tecla, el canal passa al següent.
  2. Conclusió. La mateixa tecla dona resultats diferents segons el canal en què ets: cal recordar l'estat, és seqüencial.

Apartat g)

Resultat

Seqüencial: cada bit guarda el valor que tenia el bit veí en el flanc anterior. El component que recorda un bit és el biestable (flip-flop).

Resolució

  1. Què ha de fer. En cada flanc de rellotge, cada bit passa a la posició següent.
  2. Conclusió. Cada posició guarda un bit que ha arribat abans: té memòria, és seqüencial.
  3. Element de memòria. El component bàsic que emmagatzema un bit és el biestable (flip-flop). Un circuit seqüencial és, en general, un conjunt de biestables més una lògica combinacional que calcula l'estat següent i les sortides.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 2

Un latch SR es construeix amb dues portes NOR connectades en creu: Q=R+Q‾‾Q = \overline{R + \overline{Q}} i Q‾=S+Q‾\overline{Q} = \overline{S + Q}. Inicialment Q = 0.
a) Aplica, una darrere l'altra, aquestes combinacions de les entrades (S, R) i escriu Q després de cada una: (0, 0), (1, 0), (0, 0), (0, 1), (0, 0), (1, 0), (1, 0), (0, 0).
b) Quina funció fa l'entrada S? I la R? Què vol dir (0, 0)?
c) Què passa amb les sortides si S = R = 1? Per què aquesta combinació s'evita?

Mira la solucióAmaga la solucióde l'exercici 2

Apartat a)

Resultat

Q = 0, 1, 1, 0, 0, 1, 1, 1.

Resolució

  1. Dades. Una porta NOR dona 1 només quan les seves dues entrades valen 0. Partim de Q = 0, és a dir, Q‾=1\overline{Q} = 1.
  2. Funcionament. Amb S = 1 la porta de Q‾\overline{Q} dona 0 i, per tant, Q = 1; amb R = 1, Q = 0; amb (0, 0) cada porta manté l'altra en l'estat que tenia.
  3. Seqüència. (0, 0) → Q = 0, Q‾=1\overline{Q} = 1; (1, 0) → Q = 1, Q‾=0\overline{Q} = 0; (0, 0) → Q = 1; (0, 1) → Q = 0, Q‾=1\overline{Q} = 1; (0, 0) → Q = 0; (1, 0) → Q = 1, Q‾=0\overline{Q} = 0; (1, 0) → Q = 1; (0, 0) → Q = 1.
  4. Comprovació. Fixa't que cada (0, 0) repeteix el valor anterior: el latch recorda l'última ordre rebuda.

Apartat b)

Resultat

S (set) posa Q a 1, R (reset) posa Q a 0, i (0, 0) manté l'estat anterior.

Resolució

  1. Set i reset. Amb S = 1 la sortida passa a Q = 1; amb R = 1, a Q = 0.
  2. Memòria. Amb (0, 0) el latch manté l'estat que tenia: aquesta és la seva memòria.

Apartat c)

Resultat

Q = 0 i Q‾=0\overline{Q} = 0 (no són complementàries) i, en tornar a (0, 0) alhora, l'estat és imprevisible: per això S = R = 1 és prohibida.

Resolució

  1. Càlcul. Si S = R = 1, totes dues portes NOR tenen una entrada a 1 i donen 0: Q = 0 i Q‾=0\overline{Q} = 0.
  2. Problema 1. Les dues sortides haurien de ser complementàries i no ho són.
  3. Problema 2. Si les dues entrades passen alhora a 0, l'estat final és imprevisible: depèn de quina porta sigui una mica més ràpida.
  4. Conclusió. Per això la combinació S = R = 1 és prohibida.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 3

Un biestable SR síncron canvia d'estat només en els flancs de pujada del rellotge, segons els valors de S i R en aquell instant. Q val 0 abans del primer flanc. Els valors de (S, R) en cada flanc de pujada són: (1, 0), (0, 0), (0, 1), (1, 0), (0, 0), (0, 1).
a) Escriu el valor de Q després de cada flanc.
b) Entre el flanc 2 i el flanc 3, l'entrada S fa un pols a 1 (puja i baixa) sense que hi hagi cap flanc de rellotge. Canvia Q? Per què?
c) Quina combinació de (S, R) no es pot aplicar en un flanc?

Mira la solucióAmaga la solucióde l'exercici 3

Apartat a)

Resultat

Q = 1, 1, 0, 1, 1, 0.

Resolució

  1. Regla. En cada flanc: amb S = 1, R = 0 el biestable es posa a 1; amb S = 0, R = 1 es posa a 0; amb (0, 0) manté l'estat.
  2. Seqüència. Flanc 1: (1, 0) → Q = 1. Flanc 2: (0, 0) → Q = 1. Flanc 3: (0, 1) → Q = 0. Flanc 4: (1, 0) → Q = 1. Flanc 5: (0, 0) → Q = 1. Flanc 6: (0, 1) → Q = 0.

Apartat b)

Resultat

No: Q es manté a 1 perquè el biestable síncron només mira les entrades en el flanc de rellotge.

Resolució

  1. Funcionament síncron. Un biestable síncron només «mira» S i R en el flanc de rellotge; tot el que passi entre dos flancs és ignorat.
  2. Conclusió. El pols de S no coincideix amb cap flanc, de manera que Q continua valent 1. Aquesta és la diferència amb el latch asíncron, que reacciona en qualsevol moment.

Apartat c)

Resultat

La combinació S = R = 1.

Resolució

  1. Raonament. S = R = 1 demanaria posar Q a 1 i a 0 alhora: no defineix cap estat (Q i Q‾\overline{Q} haurien de valer alhora 1 i 0).
  2. Conclusió. És la combinació prohibida, igual que en el latch.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 4

Un biestable T canvia d'estat (bascula) en cada flanc de pujada del rellotge si T = 1, i es manté si T = 0. Q val 0 abans del primer flanc.
a) Els valors de T en els 8 primers flancs són 1, 1, 0, 1, 0, 0, 1, 1. Escriu Q després de cada flanc.
b) Si T = 1 sempre i el rellotge és de 12 kHz, quina és la freqüència de Q? Quin percentatge del període està Q a 1?
c) Si connectem tres biestables T (amb T = 1), cada un rellotjat per la sortida de l'anterior, i el primer rep 12 kHz, quina freqüència té la sortida del tercer?

Mira la solucióAmaga la solucióde l'exercici 4

Apartat a)

Resultat

Q = 1, 0, 0, 1, 1, 1, 0, 1.

Resolució

  1. Regla. Amb T = 1, Q bascula (canvia de valor); amb T = 0, es manté. Partim de Q = 0.
  2. Seqüència. Flanc 1: T = 1 → Q = 1. Flanc 2: T = 1 → 0. Flanc 3: T = 0 → 0. Flanc 4: T = 1 → 1. Flanc 5: T = 0 → 1. Flanc 6: T = 0 → 1. Flanc 7: T = 1 → 0. Flanc 8: T = 1 → 1.

Apartat b)

Resultat

fQ=6 kHzf_{Q} = 6\ \text{kHz}; Q està a 1 el 50 % del període.

Resolució

  1. Raonament. Amb T = 1, Q canvia a cada flanc de pujada, de manera que fa un cicle complet (0 → 1 → 0) cada dos períodes de rellotge.
  2. Càlcul. fQ=12 kHz2=6 kHzf_{Q} = \dfrac{12\ \text{kHz}}{2} = 6\ \text{kHz}
  3. Cicle de treball. Q està a 1 durant un període del rellotge i a 0 durant el següent: el 50 % del temps.

Apartat c)

Resultat

f=1,5 kHzf = 1{,}5\ \text{kHz}.

Resolució

  1. Divisor de freqüència. Cada biestable T amb T = 1 divideix per 2 la freqüència del senyal que el rellotja.
  2. Càlcul. f3=12 kHz23=1,5 kHzf_{3} = \dfrac{12\ \text{kHz}}{2^{3}} = 1{,}5\ \text{kHz}

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 5

En un biestable JK, el valor de l'estat següent Q+Q^{+} depèn de J, K i de l'estat actual Q.
a) Omple una taula amb Q+Q^{+} per a les quatre combinacions de (J, K) i per a Q = 0 i Q = 1. Quin nom reben les accions (0, 0), (0, 1), (1, 0) i (1, 1)?
b) Escriu, per a cada transició possible (0 → 0, 0 → 1, 1 → 0, 1 → 1), els valors de J i K que la produeixen. Fes servir X per a «indiferent» (pot valer 0 o 1).

Mira la solucióAmaga la solucióde l'exercici 5

Apartat a)

Resultat

(0, 0): Q+=QQ^{+} = Q, manté; (0, 1): Q+=0Q^{+} = 0, reset; (1, 0): Q+=1Q^{+} = 1, set; (1, 1): Q+=Q‾Q^{+} = \overline{Q}, bascula.

Resolució

  1. Equació característica. Q+=J Q‾+K‾ QQ^{+} = J\,\overline{Q} + \overline{K}\,Q.
  2. Taula.
    JKQ = 0Q = 1Acció
    0001manté
    0100reset
    1011set
    1110bascula
  3. Conclusió. (0, 0) manté (0 → 0, 1 → 1); (0, 1) reset (sempre 0); (1, 0) set (sempre 1); (1, 1) bascula, Q+=Q‾Q^{+} = \overline{Q} (0 → 1, 1 → 0).

Apartat b)

Resultat

0 → 0: J = 0, K = X; 0 → 1: J = 1, K = X; 1 → 0: J = X, K = 1; 1 → 1: J = X, K = 0.

Resolució

  1. Mètode. Busquem a la taula de l'apartat a) quines files produeixen cada transició.
  2. Transicions. 0 → 0: (0, 0) o (0, 1) ⇒ J = 0, K = X. 0 → 1: (1, 0) o (1, 1) ⇒ J = 1, K = X. 1 → 0: (0, 1) o (1, 1) ⇒ J = X, K = 1. 1 → 1: (0, 0) o (1, 0) ⇒ J = X, K = 0.
  3. Conclusió. Aquesta és la taula d'excitació del JK, l'eina que s'usa per dissenyar comptadors i màquines d'estats amb biestables JK.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 6

Es comparen dos elements de memòria d'un bit amb l'entrada D i el mateix senyal de rellotge (CLK): un latch D (transparent mentre CLK = 1: Q segueix D; quan CLK = 0, Q es manté) i un biestable D que copia D només en el flanc de pujada del rellotge.
El rellotge val 1 de 0 a 4 ms, 0 de 4 a 8 ms i 1 de 8 a 12 ms (flancs de pujada a 0 i 8 ms). L'entrada D val 0 fins a 1 ms, 1 de 1 a 2,5 ms, 0 de 2,5 a 5 ms, 1 de 5 a 9,5 ms i 0 de 9,5 a 12 ms. Tots dos comencen amb Q = 0.
a) Quant val Q de cada element als instants 0,5, 1,5, 3, 6, 8,5 i 10 ms?
b) Quin dels dos elements és més robust davant d'un pols breu i no desitjat (glitch) a D? Raona-ho.

Cronograma de 0 a 12 ms amb el senyal de rellotge CLK i l'entrada D d'un element de memòria, amb els instants de canvi marcats a l'eix de temps
Mira la solucióAmaga la solucióde l'exercici 6

Apartat a)

Resultat

Latch D: Q = 0, 1, 0, 0, 1, 0. Biestable D: Q = 0, 0, 0, 0, 1, 1 (als instants 0,5; 1,5; 3; 6; 8,5 i 10 ms).

Resolució

  1. Latch D. Mentre CLK = 1 (0–4 ms i 8–12 ms) és transparent: Q = D. Entre 4 i 8 ms manté el valor que tenia a 4 ms, quan D = 0.
  2. Biestable D. Només mostreja D en els flancs de pujada (0 i 8 ms): a 0 ms, D = 0 → Q = 0 fins a 8 ms; a 8 ms, D = 1 → Q = 1 fins al flanc següent.
  3. Valors.
    t (ms)0,51,5368,510
    Latch010010
    Biestable000011
  4. Comprovació. Fixa't que a 6 ms el latch val 0 encara que D = 1: està tancat (CLK = 0) i recorda el 0 que hi havia a 4 ms.

Apartat b)

Resultat

El biestable D: només mira D en el flanc i ignora els canvis entre flancs.

Resolució

  1. Biestable. Només «mira» D en un instant concret (el flanc) i ignora tot el que passi entre dos flancs.
  2. Latch. Mentre és transparent deixa passar qualsevol canvi cap a la sortida, com el pols d'1 a 2,5 ms.
  3. Conclusió. Un glitch a D només afecta el biestable si coincideix just amb el flanc; per això és més robust.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 7

Un conjunt de n biestables pot emmagatzemar 2n2^{n} estats diferents.
a) Quants estats pot tenir un registre de 5 biestables? I un de 12?
b) Quants biestables calen, com a mínim, per fer un comptador binari que vagi de 0 a 99?
c) I per a un comptador que vagi de 0 a 59 (minuts d'un rellotge)?
d) I per comptar els 1000 valors de 0 a 999?
e) Un comptador de 4 biestables que només compta de 0 a 9 (mòdul 10): quants dels seus estats no s'utilitzen?

Mira la solucióAmaga la solucióde l'exercici 7

Apartat a)

Resultat

32 estats amb 5 biestables; 4096 estats amb 12.

Resolució

  1. Fórmula. Amb n biestables hi ha 2n2^{n} estats.
  2. Càlcul. 25=322^{5} = 32 i 212=40962^{12} = 4096.

Apartat b)

Resultat

7 biestables.

Resolució

  1. Estats necessaris. De 0 a 99 hi ha 100 estats.
  2. Càlcul. 26=642^{6} = 64 és insuficient i 27=128≥1002^{7} = 128 \geq 100: calen 7 biestables.

Apartat c)

Resultat

6 biestables.

Resolució

  1. Estats necessaris. De 0 a 59 hi ha 60 estats.
  2. Càlcul. 25=32<60≤26=642^{5} = 32 \lt 60 \leq 2^{6} = 64: calen 6 biestables.

Apartat d)

Resultat

10 biestables.

Resolució

  1. Estats necessaris. 1000 estats.
  2. Càlcul. 29=512<1000≤210=10242^{9} = 512 \lt 1000 \leq 2^{10} = 1024: calen 10 biestables.

Apartat e)

Resultat

6 estats no s'utilitzen (de 1010 a 1111).

Resolució

  1. Càlcul. Amb 4 biestables hi ha 24=162^{4} = 16 estats i se'n fan servir 10: 16−10=616 - 10 = 6.
  2. Conclusió. Són els estats de 1010 a 1111. En el disseny d'un comptador cal decidir què fa el circuit si, per un soroll, entra en un d'aquests estats.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 8

Un registre de desplaçament de 4 bits està format per quatre biestables D en cadena: la sortida de cada un és l'entrada del següent, i l'entrada de dades en sèrie va a D0D_{0}. En cada flanc de pujada del rellotge, cada bit passa a la posició següent i Q0Q_{0} carrega el bit d'entrada. El registre comença a Q0QQ_{0}Q1Q2QQ_{2}Q3 = 0000.
a) Escriu l'estat del registre després de cada flanc si, en aquests flancs, l'entrada val 1, 0, 1, 1, 0, 0, 1.
b) Després del quart flanc, quin nombre binari té el registre si el llegim de Q3Q_{3} a Q0Q_{0}? Què té a veure amb els bits d'entrada?
c) Quants flancs de rellotge calen perquè un bit present a l'entrada arribi a Q3Q_{3}? Si el rellotge és de 2 kHz, quant de temps representen aquests flancs?

Mira la solucióAmaga la solucióde l'exercici 8

Apartat a)

Resultat

Q0Q1Q2Q3 = 1000, 0100, 1010, 1101, 0110, 0011, 1001.

Resolució

  1. Regla. A cada flanc: Q0+=xQ_{0}^{+} = x, Q1+=Q0Q_{1}^{+} = Q_{0}, Q2+=Q1Q_{2}^{+} = Q_{1}, Q3+=Q2Q_{3}^{+} = Q_{2}.
  2. Seqüència. Flanc 1 (x = 1): 1000. Flanc 2 (0): 0100. Flanc 3 (1): 1010. Flanc 4 (1): 1101. Flanc 5 (0): 0110. Flanc 6 (0): 0011. Flanc 7 (1): 1001.

Apartat b)

Resultat

1011 (11 en decimal): són els quatre primers bits d'entrada en l'ordre en què han arribat.

Resolució

  1. Lectura. Després del quart flanc, Q0Q1Q2Q3 = 1101; llegit de Q3 a Q0 és 1011.
  2. Relació amb l'entrada. Són els bits 1, 0, 1, 1 en l'ordre d'arribada: el primer bit rebut és ara a Q3.
  3. Conclusió. El registre ha convertit quatre bits que arribaven en sèrie en una paraula de quatre bits disponible en paral·lel.

Apartat c)

Resultat

4 flancs; t=2 mst = 2\ \text{ms}.

Resolució

  1. Raonament. El bit entra a Q0 en el primer flanc i avança una posició per flanc: necessita un flanc per biestable, 4 en total.
  2. Càlcul. t=4 T=42000 Hz=2 mst = 4\,T = \dfrac{4}{2000\ \text{Hz}} = 2\ \text{ms}

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 9

Un comptador síncron descendent de 3 bits (Q2QQ_{2}Q1Q0Q_{0}) disminueix en una unitat el seu valor binari a cada flanc de rellotge, i quan arriba a 000 passa a 111. Comença a l'estat 101.
a) Escriu els estats després dels 8 primers flancs.
b) Quants estats diferents té el comptador? Quin és el seu mòdul?
c) Quin estat tindrà després de 100 flancs? Raona-ho sense escriure tota la seqüència.

Mira la solucióAmaga la solucióde l'exercici 9

Apartat a)

Resultat

100, 011, 010, 001, 000, 111, 110, 101.

Resolució

  1. Regla. Restem 1 al valor binari a cada flanc, i de 000 es passa a 111.
  2. Seqüència. Partint de 101 (5): 100, 011, 010, 001, 000, 111, 110 i de nou 101.

Apartat b)

Resultat

8 estats: és un comptador de mòdul 8.

Resolució

  1. Càlcul. Recorre els 23=82^{3} = 8 estats possibles.
  2. Conclusió. És de mòdul 8: després de 8 flancs torna a l'estat inicial.

Apartat c)

Resultat

Estat 001.

Resolució

  1. Periodicitat. La seqüència es repeteix cada 8 flancs, de manera que només importa el residu de 100 entre 8.
  2. Càlcul. 100=12⋅8+4100 = 12\cdot 8 + 4: després de 100 flancs és com després de 4, i 5−4=15 - 4 = 1, és a dir, 001.
  3. Comprovació. (5−100) mod 8=1(5 - 100) \bmod 8 = 1, i el quart estat de l'apartat a) és, efectivament, 001.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 10

Un biestable JK que canvia amb el flanc de baixada del rellotge té dues entrades asíncrones: PRESET (actiu a nivell baix) posa Q a 1 i CLEAR (actiu a nivell baix) posa Q a 0 immediatament, sense esperar el rellotge i amb prioritat sobre J, K i el rellotge. Quan no estan actives (nivell alt) el biestable funciona amb normalitat.
Es produeix aquesta seqüència d'esdeveniments, en ordre. Digues quin valor té Q després de cada un:
1) Es dona un pols a CLEAR (a nivell baix).
2) Amb PRESET i CLEAR inactius i J = K = 1, arriba un flanc de baixada del rellotge.
3) Arriba un segon flanc de baixada.
4) Es posa PRESET a nivell baix.
5) Mentre PRESET continua a nivell baix, arriba un tercer flanc de baixada.
6) Es torna a posar PRESET a nivell alt i arriba un quart flanc (J = K = 1).
7) Es posa J = K = 0 i arriba un cinquè flanc.
8) Es posa J = 1, K = 0 i arriba un sisè flanc.
Per a què serveixen aquestes entrades en un circuit real?

Mira la solucióAmaga la solucióde l'exercici 10

Resultat

Q = 0, 1, 0, 1, 1, 0, 0, 1. PRESET i CLEAR serveixen per portar el circuit a un estat inicial conegut (per exemple, posar un comptador a zero en engegar).

Resolució

  1. Regles. Les entrades asíncrones actives (nivell baix) manen sobre tot: CLEAR → Q = 0, PRESET → Q = 1, sense esperar el rellotge. Si estan inactives, en el flanc de baixada el JK fa: J = K = 1 bascula, (0, 0) manté, (1, 0) set.
  2. Passos 1 a 3. 1) CLEAR = 0: Q = 0 sense esperar cap flanc. 2) Flanc 1 amb J = K = 1: bascula → Q = 1. 3) Flanc 2: bascula → Q = 0.
  3. Passos 4 i 5. 4) PRESET = 0: Q = 1 immediatament. 5) Flanc 3 amb PRESET encara actiu: Q = 1, perquè les entrades asíncrones tenen prioritat i el flanc no té efecte.
  4. Passos 6 a 8. 6) PRESET = 1 de nou; flanc 4 amb J = K = 1: bascula → Q = 0. 7) J = K = 0; flanc 5: manté → Q = 0. 8) J = 1, K = 0; flanc 6: set → Q = 1.
  5. Utilitat. En connectar l'alimentació els biestables arrenquen en estats aleatoris. PRESET i CLEAR permeten portar el circuit a un estat inicial conegut, per exemple posar tot un comptador a zero amb un únic senyal de reset.

T'has encallat? T'ajudem amb el dubte Pregunta-ho per WhatsApp · Ensenya-ho a casa

Nivell intermedi

Exercici 11

Un biestable JK canvia en el flanc de pujada del rellotge (període de 10 µs). Q val 0 abans del primer flanc. En els 8 primers flancs, J i K valen:
J: 1, 0, 1, 0, 0, 1, 1, 0
K: 0, 0, 1, 1, 0, 1, 1, 1
a) Escriu Q després de cada flanc i indica l'acció (manté, reset, set o bascula) que fa el biestable en cada cas.
b) Quantes vegades canvia Q en aquests 8 flancs?
c) Considera que Q es manté entre dos flancs consecutius. Durant els 8 períodes que comencen amb cada un dels 8 flancs, quant de temps està Q a 1?

Mira la solucióAmaga la solucióde l'exercici 11

Apartat a)

Resultat

Q = 1, 1, 0, 0, 0, 1, 0, 0; accions: set, manté, bascula, reset, manté, bascula, bascula, reset.

Resolució

  1. Regla del JK. (J, K) = (0, 0) manté; (0, 1) reset; (1, 0) set; (1, 1) bascula. Partim de Q = 0.
  2. Flancs 1 a 4. Flanc 1: (1, 0) set → Q = 1. Flanc 2: (0, 0) manté → Q = 1. Flanc 3: (1, 1) bascula → Q = 0. Flanc 4: (0, 1) reset → Q = 0.
  3. Flancs 5 a 8. Flanc 5: (0, 0) manté → Q = 0. Flanc 6: (1, 1) bascula → Q = 1. Flanc 7: (1, 1) bascula → Q = 0. Flanc 8: (0, 1) reset → Q = 0.

Apartat b)

Resultat

Q canvia 4 vegades.

Resolució

  1. Recompte. Q canvia als flancs 1 (0 → 1), 3 (1 → 0), 6 (0 → 1) i 7 (1 → 0).
  2. Conclusió. Són 4 canvis; fixa't que el set del flanc 1 sí que és un canvi perquè Q valia 0, però el reset del flanc 4 no, perquè Q ja valia 0.

Apartat c)

Resultat

30 μs30\ \mu\text{s} d'un total de 80 μs80\ \mu\text{s} (37,5 %).

Resolució

  1. Períodes amb Q = 1. Q val 1 després dels flancs 1, 2 i 6: 3 dels 8 períodes.
  2. Càlcul. t=3⋅10 μs=30 μst = 3\cdot 10\ \mu\text{s} = 30\ \mu\text{s} d'un total de 8⋅10=80 μs8\cdot 10 = 80\ \mu\text{s}, és a dir, el 37,5 %.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 12

Es vol dissenyar un comptador síncron ascendent de 2 bits (Q1Q0Q_{1}Q_{0}: 00 → 01 → 10 → 11 → 00 …) amb dos biestables JK que comparteixen el mateix senyal de rellotge.
a) Escriu, per a cada transició d'estat, els valors que han de tenir J1J_{1}, K1K_{1}, J0J_{0} i K0K_{0} (utilitza la taula d'excitació del JK; X = indiferent).
b) Obtén les funcions J0J_{0}, K0K_{0}, J1J_{1} i K1K_{1} en funció de Q1Q_{1} i Q0Q_{0} aprofitant les X.
c) Comprova el disseny: partint de 00, escriu els estats dels 6 primers flancs.
d) Quina diferència hi ha amb un comptador asíncron (ripple) del mateix mòdul pel que fa a quan canvia cada sortida?

Mira la solucióAmaga la solucióde l'exercici 12

Apartat a)

Resultat

00 → 01: J1 = 0, K1 = X, J0 = 1, K0 = X; 01 → 10: J1 = 1, K1 = X, J0 = X, K0 = 1; 10 → 11: J1 = X, K1 = 0, J0 = 1, K0 = X; 11 → 00: J1 = X, K1 = 1, J0 = X, K0 = 1.

Resolució

  1. Taula d'excitació del JK.
    TransicióJK
    0 → 00X
    0 → 11X
    1 → 0X1
    1 → 1X0
  2. Aplicació. Per a cada bit mirem la transició Q → Q+ i hi posem els valors de J i K de la taula.
  3. Resultat.
    Q1Q0 → Q1+Q0+J1K1J0K0
    00 → 010X1X
    01 → 101XX1
    10 → 11X01X
    11 → 00X1X1

Apartat b)

Resultat

J0=K0=1J_{0} = K_{0} = 1; J1=K1=Q0J_{1} = K_{1} = Q_{0}.

Resolució

  1. Bit de menys pes. J0 = 1, X, 1, X → J0 = 1; K0 = X, 1, X, 1 → K0 = 1.
  2. Bit de més pes. J1 = 0, 1, X, X: val 0 quan Q0 = 0 i 1 quan Q0 = 1 → J1=Q0J_{1} = Q_{0}. K1 = X, X, 0, 1 → K1=Q0K_{1} = Q_{0}.
  3. Interpretació. Q0 bascula a cada flanc i Q1 bascula només quan Q0 = 1.

Apartat c)

Resultat

01, 10, 11, 00, 01, 10.

Resolució

  1. Simulació. Partint de 00, amb J0 = K0 = 1 i J1 = K1 = Q0: 00 → 01 → 10 → 11 → 00 → 01 → 10.
  2. Comprovació. És la seqüència binària ascendent, i després de 11 torna a 00: el disseny és correcte.

Apartat d)

Resultat

En el síncron totes les sortides canvien alhora; en l'asíncron els canvis es propaguen un darrere l'altre i hi ha estats intermedis incorrectes.

Resolució

  1. Síncron. Tots els biestables reben el flanc alhora i totes les sortides canvien simultàniament (amb un petit retard comú).
  2. Asíncron (ripple). La sortida d'un biestable fa de rellotge del següent: els canvis es propaguen en cascada, i durant un instant el comptador pot passar per estats intermedis incorrectes.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 13

Es connecten quatre biestables D en forma de registre de desplaçament (Q0 → D1, Q1 → D2, Q2 → D3) i es realimenta la sortida de l'últim a l'entrada del primer. El rellotge és de 2 Hz.
a) Comptador en anell: D0 = Q3. Partint de Q0Q1Q2Q3 = 1000, escriu la seqüència d'estats. Quants estats diferents té? Durant quant de temps està Q0 a 1 en cada volta, i quin és el període de Q0?
b) Comptador Johnson: D0 = Q3‾\overline{Q_{3}}. Partint de 0000, escriu la seqüència d'estats. Quants estats té? Quina durada té un període de Q0?
c) Quin avantatge té el Johnson respecte de l'anell amb el mateix nombre de biestables? I quin inconvenient té l'anell si per soroll entra a l'estat 0000?

Mira la solucióAmaga la solucióde l'exercici 13

Apartat a)

Resultat

1000 → 0100 → 0010 → 0001 → 1000: 4 estats; Q0 està a 1 durant 0,5 s0{,}5\ \text{s} per volta i el seu període és 2 s2\ \text{s}.

Resolució

  1. Dades. Rellotge de 2 Hz: cada flanc arriba cada T=0,5 sT = 0{,}5\ \text{s}. Amb D0 = Q3, l'estat es desplaça i el bit de Q3 torna a Q0.
  2. Seqüència. 1000 → 0100 → 0010 → 0001 → 1000: 4 estats, un per biestable; l'únic 1 «viatja» pel registre.
  3. Temps. Q0 val 1 en un sol estat de cada quatre: 0,5 s0{,}5\ \text{s}. El seu període és de 4 flancs: 4⋅0,5=2 s4\cdot 0{,}5 = 2\ \text{s}.
  4. Aplicació. S'utilitza per activar quatre dispositius de manera seqüencial, per exemple quatre llums que s'encenen una darrere l'altra.

Apartat b)

Resultat

0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000: 8 estats; període de Q0 = 4 s4\ \text{s}.

Resolució

  1. Regla. Ara D0=Q3‾D_{0} = \overline{Q_{3}}: entra el complement de l'últim bit.
  2. Seqüència. 0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000: 8 estats.
  3. Període de Q0. Q0 val 1 durant 4 flancs seguits i 0 durant 4 més: 8⋅0,5=4 s8\cdot 0{,}5 = 4\ \text{s}.

Apartat c)

Resultat

El Johnson té 2n estats (8) amb els mateixos biestables que l'anell (n = 4); l'anell, si entra a 0000, hi queda atrapat per sempre.

Resolució

  1. Avantatge del Johnson. Amb n biestables té 2n estats (8 amb 4 biestables) i l'anell només n (4): s'obté un comptador de més mòdul amb els mateixos biestables.
  2. Inconvenient de l'anell. Si entra a 0000, cada biestable recull un 0 i no hi ha cap 1 que «viatgi»: hi queda atrapat per sempre.
  3. Solució. Cal inicialitzar-lo amb una entrada de preset o afegir-hi una lògica de correcció.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 14

Les equacions característiques dels biestables són: D: Q+=DQ^{+} = D; T: Q+=T⊕QQ^{+} = T \oplus Q; JK: Q+=J Q‾+K‾ QQ^{+} = J\,\overline{Q} + \overline{K}\,Q.
a) Dissenya, comparant equacions, un biestable T a partir d'un biestable D i una porta. Comprova el resultat per als 4 casos de (T, Q).
b) Dedueix com s'ha de connectar un biestable JK per fer-lo funcionar com un biestable D. Comprova-ho per a D = 0 i D = 1.
c) I com un biestable T?
d) Un comptador asíncron de 4 bits es construeix amb quatre biestables T amb T = 1. Si es volguessin fer amb biestables D en comptes de T, quantes portes caldrien i de quin tipus: (i) si els biestables D només tenen la sortida Q, i (ii) si també tenen la sortida Q‾\overline{Q}?

Mira la solucióAmaga la solucióde l'exercici 14

Apartat a)

Resultat

D=T⊕QD = T \oplus Q: una porta XOR amb entrades T i Q i sortida a D.

Resolució

  1. Comparació d'equacions. Volem Q+=T⊕QQ^{+} = T \oplus Q i el biestable D dona Q+=DQ^{+} = D. Per tant, D=T⊕QD = T \oplus Q.
  2. Circuit. Una porta XOR amb entrades T i Q, i la sortida connectada a D.
  3. Comprovació. (T, Q) = (0, 0) → D = 0 (manté 0); (0, 1) → D = 1 (manté 1); (1, 0) → D = 1 (bascula a 1); (1, 1) → D = 0 (bascula a 0).

Apartat b)

Resultat

J = D i K=D‾K = \overline{D} (amb un inversor).

Resolució

  1. Comparació d'equacions. Volem J Q‾+K‾ Q=DJ\,\overline{Q} + \overline{K}\,Q = D. Si posem J = D i K=D‾K = \overline{D}: J Q‾+K‾ Q=D Q‾+D Q=DJ\,\overline{Q} + \overline{K}\,Q = D\,\overline{Q} + D\,Q = D
  2. Circuit. Cal un inversor entre l'entrada D i K.
  3. Comprovació. D = 1 → (J, K) = (1, 0): set, Q+ = 1. D = 0 → (J, K) = (0, 1): reset, Q+ = 0.

Apartat c)

Resultat

J = K = T (s'uneixen J i K i s'hi porta T).

Resolució

  1. Comparació d'equacions. Si J = K = T: Q+=T Q‾+T‾ Q=T⊕QQ^{+} = T\,\overline{Q} + \overline{T}\,Q = T \oplus Q
  2. Conclusió. Amb T = 0 manté i amb T = 1 bascula: només cal unir J i K i portar-hi T.

Apartat d)

Resultat

(i) 4 inversors (D=Q‾D = \overline{Q}); (ii) cap porta: es connecta Q‾\overline{Q} a D.

Resolució

  1. Conversió. Cada biestable T es transforma en un D amb una XOR, D=T⊕QD = T \oplus Q; com que T = 1, D=1⊕Q=Q‾D = 1 \oplus Q = \overline{Q}.
  2. (i) Només sortida Q. Cal un inversor per biestable: 4 inversors en total.
  3. (ii) Amb sortida Q‾\overline{Q}. N'hi ha prou amb connectar Q‾\overline{Q} a la seva pròpia entrada D: no cal cap porta.
  4. Rellotge. En tots dos casos, cada biestable rep com a rellotge la sortida de l'anterior, com en el comptador amb biestables T.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 15

Un interruptor mecànic de dues posicions (comú a massa i dos contactes A i B, cada contacte unit a +5 V amb una resistència) rebota unes quantes vegades en arribar a cada contacte. Per netejar el senyal, s'uneix el contacte A a l'entrada S‾\overline{S} i el contacte B a l'entrada R‾\overline{R} d'un latch format per dues portes NAND (Q=S‾⋅Q‾‾Q = \overline{\overline{S}\cdot\overline{Q}}, Q‾=R‾⋅Q‾\overline{Q} = \overline{\overline{R}\cdot Q}). Les entrades són actives a nivell baix.
a) Inicialment l'interruptor és al contacte B. Quin és l'estat del latch (Q)?
b) L'interruptor es mou cap al contacte A i rebota. Els valors successius de (S‾,R‾)(\overline{S}, \overline{R}) són: (1, 0), (1, 1) [en l'aire], (0, 1), (1, 1) [rebot], (0, 1), (1, 1), (0, 1) [contacte definitiu]. Escriu Q en cada pas.
c) Torna al contacte B amb rebots: (1, 1), (1, 0), (1, 1), (1, 0), (1, 1), (1, 0). Escriu Q en cada pas.
d) Quants flancs de baixada té el senyal brut del contacte A en la fase b)? Quants flancs de pujada té Q? Què li passaria a un comptador connectat directament al contacte?

Mira la solucióAmaga la solucióde l'exercici 15

Apartat a)

Resultat

Q = 0.

Resolució

  1. Entrades. Al contacte B, R‾\overline{R} està unit a massa (0) i S‾\overline{S} queda a +5 V per la resistència (1): (S‾,R‾)=(1,0)(\overline{S}, \overline{R}) = (1, 0).
  2. Conclusió. R‾\overline{R} actiu (nivell baix) fa reset: Q = 0.

Apartat b)

Resultat

Q = 0, 0, 1, 1, 1, 1, 1.

Resolució

  1. Regla del latch NAND. (1, 0) → reset, Q = 0; (0, 1) → set, Q = 1; (1, 1) → manté.
  2. Seqüència. (1, 0) → 0; (1, 1) → 0; (0, 1) → 1; (1, 1) → 1; (0, 1) → 1; (1, 1) → 1; (0, 1) → 1.
  3. Interpretació. En arribar per primera vegada a A, Q passa a 1, i els rebots posteriors, que alternen (1, 1) i (0, 1), no el canvien: (1, 1) manté i (0, 1) torna a posar a 1.

Apartat c)

Resultat

Q = 1, 0, 0, 0, 0, 0.

Resolució

  1. Seqüència. (1, 1) → 1; (1, 0) → 0; (1, 1) → 0; (1, 0) → 0; (1, 1) → 0; (1, 0) → 0.
  2. Interpretació. Amb el primer contacte amb B, (1, 0), Q passa a 0 i s'hi queda malgrat els rebots.

Apartat d)

Resultat

3 flancs de baixada al contacte A, però només 1 flanc de pujada a Q; un comptador connectat directament comptaria 3 polsos per una sola pulsació.

Resolució

  1. Senyal brut. S‾\overline{S} val 1, 1, 0, 1, 0, 1, 0: baixa a 0 tres vegades.
  2. Senyal net. Q només passa de 0 a 1 una vegada: un sol flanc de pujada.
  3. Conclusió. Un comptador connectat directament al contacte comptaria 3 polsos per una sola pulsació; amb el latch en compta 1. Per això aquest circuit es fa servir com a antirebot.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 16

Un registre de 4 bits està format per quatre biestables D amb rellotge comú. L'entrada de cada biestable és Di=LD⋅Ii+LD‾⋅QiD_{i} = \mathrm{LD}\cdot I_{i} + \overline{\mathrm{LD}}\cdot Q_{i}, on Ii són les dades d'entrada i LD és el senyal de càrrega. Abans del primer flanc, Q3Q2Q1Q0 = 0101.
a) Quina funció fa el circuit quan LD = 1? I quan LD = 0?
b) Escriu el contingut del registre després de cada flanc de pujada si (LD, I3I2I1I0) val: (1, 1100), (0, 0011), (1, 1010), (0, 1111), (1, 0001).
c) Quin component combinacional s'ha afegit davant de cada biestable per construir Di?
d) Per què no es «desconnecta» el rellotge del registre amb una porta AND quan es vol que mantingui el valor, en lloc de realimentar Q?

Mira la solucióAmaga la solucióde l'exercici 16

Apartat a)

Resultat

LD = 1: carrega les dades Ii; LD = 0: manté el contingut.

Resolució

  1. LD = 1. Di=1⋅Ii+0⋅Qi=IiD_{i} = 1\cdot I_{i} + 0\cdot Q_{i} = I_{i}: el registre carrega les dades d'entrada en el flanc.
  2. LD = 0. Di=QiD_{i} = Q_{i}: cada biestable recarrega el seu propi valor, de manera que el registre manté el contingut.

Apartat b)

Resultat

Q3Q2Q1Q0 = 1100, 1100, 1010, 1010, 0001.

Resolució

  1. Regla. Amb LD = 1 es copia I; amb LD = 0 es manté el valor anterior (partim de 0101).
  2. Seqüència. Flanc 1: (1, 1100) → 1100. Flanc 2: (0, 0011) → 1100. Flanc 3: (1, 1010) → 1010. Flanc 4: (0, 1111) → 1010. Flanc 5: (1, 0001) → 0001.

Apartat c)

Resultat

Un multiplexor de 2 a 1 per bit, amb LD com a selecció.

Resolució

  1. Expressió. Di=LD⋅Ii+LD‾⋅QiD_{i} = \mathrm{LD}\cdot I_{i} + \overline{\mathrm{LD}}\cdot Q_{i} tria entre dues entrades segons una línia de control.
  2. Conclusió. És un multiplexor de 2 a 1: LD fa de selecció i tria Ii o Qi.

Apartat d)

Resultat

Tallar el rellotge amb portes crea desfasaments i pulsos paràsits (glitches); és millor un rellotge comú i que l'entrada D decideixi (disseny síncron).

Resolució

  1. Problema del rellotge amb porta. Retardar o tallar el rellotge amb portes crea petits desfasaments entre biestables i possibles pulsos paràsits que poden provocar canvis d'estat no desitjats.
  2. Solució síncrona. És preferible que tots els biestables rebin el mateix rellotge i que sigui l'entrada D la que decideixi si l'estat canvia.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 17

Una màquina d'estats de Moore té dos estats, PARELL i IMPARELL, i una entrada X en sèrie (un bit per flanc de rellotge). Si X = 0 l'estat no canvia; si X = 1, canvia a l'altre. L'estat inicial és PARELL. La sortida Z només depèn de l'estat: Z = 0 en PARELL i Z = 1 en IMPARELL.
a) Dibuixa mentalment el diagrama d'estats i escriu la taula d'estats (estat actual, X → estat següent, Z).
b) Per a l'entrada 1, 0, 1, 1, 0, 1, 1, 1 escriu l'estat i la sortida després de cada flanc.
c) Què calcula la sortida Z? Comprova-ho amb el nombre total de 1 de l'entrada.
d) Amb quants biestables es pot implementar? Quina és l'equació de l'entrada del biestable i de la sortida?

Mira la solucióAmaga la solucióde l'exercici 17

Apartat a)

Resultat

PARELL: X = 0 → PARELL, X = 1 → IMPARELL (Z = 0); IMPARELL: X = 0 → IMPARELL, X = 1 → PARELL (Z = 1).

Resolució

  1. Diagrama. Dos estats; cada estat té un llaç amb X = 0 (es queda) i una fletxa cap a l'altre amb X = 1.
  2. Taula d'estats.
    EstatX = 0X = 1Z
    PARELLPARELLIMPARELL0
    IMPARELLIMPARELLPARELL1

Apartat b)

Resultat

Estats: IMPARELL, IMPARELL, PARELL, IMPARELL, IMPARELL, PARELL, IMPARELL, PARELL; Z = 1, 1, 0, 1, 1, 0, 1, 0.

Resolució

  1. Regla. Amb X = 1 canviem d'estat; amb X = 0 ens hi quedem. Comencem a PARELL.
  2. Seqüència. Flanc 1 (X = 1): IMPARELL, Z = 1. Flanc 2 (0): IMPARELL, Z = 1. Flanc 3 (1): PARELL, Z = 0. Flanc 4 (1): IMPARELL, Z = 1. Flanc 5 (0): IMPARELL, Z = 1. Flanc 6 (1): PARELL, Z = 0. Flanc 7 (1): IMPARELL, Z = 1. Flanc 8 (1): PARELL, Z = 0.

Apartat c)

Resultat

Z = 1 quan el nombre d'uns rebuts fins ara és senar (calcula la paritat).

Resolució

  1. Interpretació. Cada 1 fa canviar l'estat i cada 0 el deixa igual: l'estat indica si el nombre d'uns rebuts és parell o senar.
  2. Comprovació. L'entrada té 6 uns, un nombre parell, i efectivament l'estat final és PARELL (Z = 0).
  3. Aplicació. Aquesta màquina és la base per calcular el bit de paritat d'una transmissió.

Apartat d)

Resultat

Amb un biestable: D=Q⊕XD = Q \oplus X (o un biestable T amb T = X) i Z=QZ = Q.

Resolució

  1. Nombre de biestables. Dos estats es codifiquen amb un sol bit: PARELL = 0 i IMPARELL = 1.
  2. Equació d'estat. L'estat bascula quan X = 1: Q+=Q⊕XQ^{+} = Q \oplus X. Amb un biestable D, D=Q⊕XD = Q \oplus X; amb un biestable T, n'hi ha prou amb T = X.
  3. Sortida. Com que és de Moore, només depèn de l'estat: Z=QZ = Q.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 18

Una màquina de Mealy té tres estats (S0, S1 i S2) i una entrada X en sèrie. La taula d'estats (estat actual, X → estat següent / sortida Z) és:
S0, 0 → S0 / 0; S0, 1 → S1 / 0
S1, 0 → S0 / 0; S1, 1 → S2 / 0
S2, 0 → S0 / 1; S2, 1 → S2 / 0
Parteix de S0.
a) Aplica l'entrada 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0 i escriu l'estat i la sortida després de cada flanc.
b) Quina seqüència d'entrada detecta la màquina (Z = 1)? Quantes vegades l'ha detectada en l'entrada?
c) Quants biestables calen com a mínim per a tres estats? Quina diferència hi ha entre una màquina de Mealy i una de Moore pel que fa a la sortida?

Mira la solucióAmaga la solucióde l'exercici 18

Apartat a)

Resultat

Estats: S0, S1, S2, S0, S1, S2, S2, S0, S1, S2, S0, S0; Z = 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0.

Resolució

  1. Mètode. En cada flanc mirem la fila (estat actual, X) de la taula, que dona l'estat següent i la sortida Z.
  2. Flancs 1 a 6. X = 0: S0 → S0 / 0. X = 1: S0 → S1 / 0. X = 1: S1 → S2 / 0. X = 0: S2 → S0 / 1. X = 1: S0 → S1 / 0. X = 1: S1 → S2 / 0.
  3. Flancs 7 a 12. X = 1: S2 → S2 / 0. X = 0: S2 → S0 / 1. X = 1: S0 → S1 / 0. X = 1: S1 → S2 / 0. X = 0: S2 → S0 / 1. X = 0: S0 → S0 / 0.

Apartat b)

Resultat

Detecta la seqüència 110; l'ha detectada 3 vegades (flancs 4, 8 i 11).

Resolució

  1. Significat dels estats. S1 vol dir «he rebut un 1» i S2, «he rebut almenys dos uns seguits».
  2. Detecció. Z = 1 només des de S2 amb X = 0, és a dir, quan després de dos uns seguits arriba un zero: la seqüència 110.
  3. Recompte. Z = 1 als flancs 4, 8 i 11: 3 vegades.

Apartat c)

Resultat

Calen 2 biestables. A Mealy la sortida depèn de l'estat i de l'entrada actual; a Moore, només de l'estat.

Resolució

  1. Biestables. Amb 1 biestable només hi ha 2 estats; amb 2, 22=4≥32^{2} = 4 \geq 3: calen 2.
  2. Mealy. La sortida depèn de l'estat i de l'entrada actual, de manera que pot canviar tan bon punt canvia X, sense esperar el flanc.
  3. Moore. La sortida depèn només de l'estat i canvia només amb el rellotge.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 19

Un circuit seqüencial té dos biestables D, amb entrades D1=X⋅Q0+X‾⋅Q1D_{1} = X\cdot Q_{0} + \overline{X}\cdot Q_{1} i D0=X⋅Q1‾+X‾⋅Q0D_{0} = X\cdot\overline{Q_{1}} + \overline{X}\cdot Q_{0}, on X és una entrada externa. Els biestables parteixen de Q1Q0 = 00.
a) Escriu la taula d'estats completa (estat actual Q1Q0 i X → estat següent).
b) Descriu què fa el circuit quan X = 1 i quan X = 0. Quin tipus de codi segueix la seqüència quan X = 1?
c) Per a X = 1, 1, 0, 1, 1, 1, 0, 1 en els 8 flancs, escriu els estats successius.
d) Quin avantatge té aquest codi respecte del binari natural quan s'ha de convertir en una posició mecànica?

Mira la solucióAmaga la solucióde l'exercici 19

Apartat a)

Resultat

X = 0: cada estat es manté (00 → 00, 01 → 01, 11 → 11, 10 → 10). X = 1: 00 → 01, 01 → 11, 11 → 10, 10 → 00.

Resolució

  1. Amb X = 0. D1=Q1D_{1} = Q_{1} i D0=Q0D_{0} = Q_{0}: l'estat es manté en els quatre casos.
  2. Amb X = 1. D1=Q0D_{1} = Q_{0} i D0=Q1‾D_{0} = \overline{Q_{1}}: 00 → 01; 01 → 11; 11 → 10; 10 → 00.
  3. Taula d'estats.
    Q1Q0X = 0X = 1
    000001
    010111
    111110
    101000

Apartat b)

Resultat

Amb X = 0 manté l'estat; amb X = 1 compta 00 → 01 → 11 → 10 → 00, en codi Gray de 2 bits.

Resolució

  1. X = 0. El circuit manté l'estat: X fa de senyal d'habilitació.
  2. X = 1. Recorre 00 → 01 → 11 → 10 → 00 …, i a cada pas canvia un sol bit: és el codi Gray de 2 bits.
  3. Conclusió. És un comptador Gray de mòdul 4 amb habilitació.

Apartat c)

Resultat

01, 11, 11, 10, 00, 01, 01, 11.

Resolució

  1. Regla. Amb X = 1 avancem un pas en la seqüència Gray; amb X = 0 ens quedem. Partim de 00.
  2. Seqüència. X = 1 → 01; 1 → 11; 0 → 11; 1 → 10; 1 → 00; 1 → 01; 0 → 01; 1 → 11.

Apartat d)

Resultat

En Gray només canvia un bit entre valors consecutius, de manera que un sensor no pot llegir un valor intermedi erroni.

Resolució

  1. Binari natural. En passar de 01 a 10 canvien dos bits alhora i, si un sensor els llegeix amb un petit decalatge, pot llegir un valor intermedi erroni (00 o 11).
  2. Codi Gray. Només canvia un bit entre dos valors consecutius: la lectura és l'anterior o la nova, mai una de falsa.
  3. Conclusió. Per això el codi Gray s'utilitza en codificadors de posició.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 20

Cada biestable d'un comptador té un retard de propagació tpt_{p} = 15 ns entre el flanc de rellotge i el canvi de la seva sortida. Una porta AND té un retard de 10 ns.
a) Comptador asíncron (ripple) de 4 bits amb biestables que canvien amb el flanc de baixada del seu rellotge (el primer rep el rellotge extern; cada un dels altres, la sortida del biestable anterior). Quan passa de 0111 a 1000, escriu els estats pels quals passa Q3QQ_{3}Q2Q1QQ_{1}Q0 i en quin instant (després del flanc) canvia cada bit.
b) Quant triga, en el pitjor cas, a estabilitzar-se el comptador de 4 bits? Quina és la freqüència màxima del rellotge perquè el valor pugui ser llegit correctament abans del flanc següent? I per a un comptador asíncron de 8 bits?
c) En un comptador síncron de 4 bits, tots els biestables reben el rellotge alhora, però el biestable de més pes necessita una porta AND de 3 entrades (J3J_{3} = K3K_{3} = Q2QQ_{2}Q1Q0Q_{0}). Quin és el període mínim i la freqüència màxima?
d) Compara els resultats de b) i c).

Mira la solucióAmaga la solucióde l'exercici 20

Apartat a)

Resultat

0111 → 0110 (15 ns) → 0100 (30 ns) → 0000 (45 ns) → 1000 (60 ns).

Resolució

  1. Funcionament. Cada biestable canvia 15 ns després que baixi el seu rellotge (el rellotge extern per a Q0, la sortida de l'anterior per als altres).
  2. Cascada. t = 0: flanc extern. t = 15 ns: Q0 passa de 1 a 0 → 0110. t = 30 ns: Q1 passa de 1 a 0 (Q0 ha baixat) → 0100. t = 45 ns: Q2 passa de 1 a 0 → 0000. t = 60 ns: Q3 passa de 0 a 1 (Q2 ha baixat) → 1000.
  3. Conclusió. Es produeixen tres estats intermedis incorrectes (0110, 0100 i 0000) de 15 ns cadascun.

Apartat b)

Resultat

60 ns60\ \text{ns} i fmaˋx≈16,7 MHzf_{\text{màx}} \approx 16{,}7\ \text{MHz}; amb 8 bits, 120 ns120\ \text{ns} i fmaˋx≈8,3 MHzf_{\text{màx}} \approx 8{,}3\ \text{MHz}.

Resolució

  1. Pitjor cas. La transició amb canvi a tots els bits (de 0111 a 1000 o de 1111 a 0000): 4⋅15=60 ns4\cdot 15 = 60\ \text{ns}.
  2. Freqüència màxima. El període ha de ser almenys de 60 ns: fmaˋx=160⋅10−9 s≈16,7 MHzf_{\text{màx}} = \dfrac{1}{60\cdot10^{-9}\ \text{s}} \approx 16{,}7\ \text{MHz}
  3. Comptador de 8 bits. 8⋅15=120 ns8\cdot 15 = 120\ \text{ns}, i fmaˋx=1/(120 ns)≈8,3 MHzf_{\text{màx}} = 1/(120\ \text{ns}) \approx 8{,}3\ \text{MHz}.

Apartat c)

Resultat

Tmıˊn=25 nsT_{\text{mín}} = 25\ \text{ns}; fmaˋx=40 MHzf_{\text{màx}} = 40\ \text{MHz}.

Resolució

  1. Camí crític. Rellotge → sortida del biestable (15 ns) → porta AND (10 ns) → entrada J3, K3, que ha d'estar estable abans del flanc següent.
  2. Càlcul. Tmıˊn=15+10=25 ns⇒fmaˋx=125 ns=40 MHzT_{\text{mín}} = 15 + 10 = 25\ \text{ns} \quad\Rightarrow\quad f_{\text{màx}} = \dfrac{1}{25\ \text{ns}} = 40\ \text{MHz}

Apartat d)

Resultat

Amb 4 bits el síncron és 2,4 vegades més ràpid, i la diferència creix amb el nombre de bits.

Resolució

  1. Comparació. 40/16,7≈2,440 / 16{,}7 \approx 2{,}4: el síncron és 2,4 vegades més ràpid amb 4 bits.
  2. Dependència amb n. El retard de l'asíncron és proporcional al nombre de biestables, mentre que el del síncron gairebé no depèn de n (només augmenta lleugerament amb la mida de la porta AND).
  3. Conclusió. A canvi, el síncron necessita més portes; a més, no té estats intermedis falsos.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Nivell avançat

Exercici 21

Es vol dissenyar un comptador síncron de mòdul 5 (Q2QQ_{2}Q1Q0Q_{0}: 000 → 001 → 010 → 011 → 100 → 000 …) amb tres biestables D.
a) Escriu la taula de transicions per als cinc estats que s'utilitzen. Els estats 101, 110 i 111 no s'utilitzen (indiferents).
b) Obtén D2D_{2}, D1D_{1} i D0D_{0} en funció de Q2Q_{2}, Q1Q_{1} i Q0Q_{0} aprofitant els estats indiferents (pots fer-ho amb mapes de Karnaugh).
c) Comprova on porta el circuit si, per un soroll, entra en un dels estats no utilitzats (101, 110 o 111). El comptador és autocorrector?
d) Si el rellotge és d'1 kHz, quina freqüència té Q2Q_{2}? Quin percentatge del període està a 1?

Mira la solucióAmaga la solucióde l'exercici 21

Apartat a)

Resultat

000 → 001, 001 → 010, 010 → 011, 011 → 100, 100 → 000 (101, 110 i 111 indiferents).

Resolució

  1. Biestables D. Com que Q+=DQ^{+} = D, el valor que ha de tenir cada entrada D és el bit corresponent de l'estat següent.
  2. Taula.
    Q2Q1Q0D2D1D0
    000001
    001010
    010011
    011100
    100000
    101, 110, 111XXX

Apartat b)

Resultat

D2=Q1 Q0D_{2} = Q_{1}\,Q_{0}; D1=Q1⊕Q0D_{1} = Q_{1}\oplus Q_{0}; D0=Q2‾ Q0‾D_{0} = \overline{Q_{2}}\,\overline{Q_{0}}.

Resolució

  1. D2. Val 1 només quan l'estat següent és 100, és a dir, des de 011. Agrupant-lo amb l'indiferent 111: D2=Q1 Q0D_{2} = Q_{1}\,Q_{0}.
  2. D1. Val 1 quan l'estat següent és 010 o 011, o sigui des de 001 i 010; val 0 en 000, 011 i 100. Amb els indiferents 101 i 110: D1=Q1‾ Q0+Q1 Q0‾=Q1⊕Q0D_{1} = \overline{Q_{1}}\,Q_{0} + Q_{1}\,\overline{Q_{0}} = Q_{1}\oplus Q_{0}.
  3. D0. Val 1 quan l'estat següent és 001 o 011, o sigui des de 000 i 010: passa quan Q0 = 0 i Q2 = 0, de manera que D0=Q2‾ Q0‾D_{0} = \overline{Q_{2}}\,\overline{Q_{0}}.
  4. Comprovació. Les tres equacions reprodueixen les cinc transicions de la taula.

Apartat c)

Resultat

101 → 010, 110 → 010, 111 → 100: tots tornen a la seqüència en un flanc; el comptador és autocorrector.

Resolució

  1. Càlcul. 101: D2 = 0, D1 = 1, D0 = 0 → 010. 110: D2 = 0, D1 = 1, D0 = 0 → 010. 111: D2 = 1, D1 = 0, D0 = 0 → 100.
  2. Conclusió. Des de qualsevol estat no utilitzat el circuit torna a la seqüència en un sol flanc: és autocorrector.

Apartat d)

Resultat

fQ2=200 Hzf_{Q_{2}} = 200\ \text{Hz}; està a 1 el 20 % del període.

Resolució

  1. Raonament. Q2 val 1 només en un dels cinc estats (100) i el cicle es repeteix cada 5 flancs.
  2. Càlcul. fQ2=1 kHz5=200 Hzf_{Q_{2}} = \dfrac{1\ \text{kHz}}{5} = 200\ \text{Hz} amb un cicle de treball d'1/5 = 20 % (un flanc de cada cinc).

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 22

Es vol dissenyar un detector de la seqüència 101 en una entrada X en sèrie, amb detecció de seqüències solapades (per exemple, 10101 conté dues vegades 101). La sortida Z ha de valer 1 en el flanc en què arriba l'últim 1 de la seqüència (màquina de Mealy). Els estats són: S0 = 00 (no s'ha rebut res útil), S1 = 01 (últim bit rebut: 1) i S2 = 10 (últims bits rebuts: 10).
a) Dibuixa el diagrama o escriu la taula d'estats (estat actual, X → estat següent / Z).
b) Pren com a indiferent l'estat 11 i obté, amb biestables D, les equacions de D1D_{1}, D0D_{0} i Z.
c) Aplica l'entrada 1, 0, 1, 0, 1, 1, 0, 1 i escriu l'estat i la sortida després de cada flanc. Quantes vegades es detecta 101?

Mira la solucióAmaga la solucióde l'exercici 22

Apartat a)

Resultat

S0: 0 → S0/0, 1 → S1/0; S1: 0 → S2/0, 1 → S1/0; S2: 0 → S0/0, 1 → S1/1.

Resolució

  1. Significat dels estats. S0: res útil; S1: l'últim bit és 1; S2: els últims bits són 10.
  2. Taula d'estats.
    EstatX = 0X = 1
    S0 (00)S0 / 0S1 / 0
    S1 (01)S2 / 0S1 / 0
    S2 (10)S0 / 0S1 / 1
  3. Solapament. Des de S1 amb X = 1 ens quedem a S1: el nou 1 pot ser l'inici d'una seqüència. Des de S2 amb X = 1 es detecta 101 i anem a S1, perquè l'últim 1 pot ser l'inici d'una altra seqüència.

Apartat b)

Resultat

D1=Q0 X‾D_{1} = Q_{0}\,\overline{X}; D0=XD_{0} = X; Z=Q1 XZ = Q_{1}\,X.

Resolució

  1. D0. L'estat següent és S1 (01) sempre que X = 1, i amb X = 0 mai té Q0 = 1: D0=XD_{0} = X.
  2. D1. L'estat següent és S2 (10) només des de S1 (Q0 = 1) amb X = 0; com que 11 és indiferent, no cal Q1‾\overline{Q_{1}}: D1=Q0 X‾D_{1} = Q_{0}\,\overline{X}.
  3. Z. Val 1 en S2 amb X = 1; amb l'indiferent 11, Z=Q1 XZ = Q_{1}\,X.
  4. Comprovació. S0,0 → 00; S0,1 → 01; S1,0 → 10; S1,1 → 01; S2,0 → 00; S2,1 → 01 amb Z = 1. Coincideixen amb la taula.

Apartat c)

Resultat

Q1Q0 = 01, 10, 01, 10, 01, 01, 10, 01; Z = 0, 0, 1, 0, 1, 0, 0, 1: es detecta 3 vegades.

Resolució

  1. Flancs 1 a 4. X = 1 → 01, Z = 0. X = 0 → 10, Z = 0. X = 1 → 01, Z = 1. X = 0 → 10, Z = 0.
  2. Flancs 5 a 8. X = 1 → 01, Z = 1. X = 1 → 01, Z = 0. X = 0 → 10, Z = 0. X = 1 → 01, Z = 1.
  3. Conclusió. Es detecta 3 vegades (flancs 3, 5 i 8); les dues primeres comparteixen l'1 central (10101), gràcies al solapament.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 23

Es vol un comptador síncron de 2 bits que compti cap amunt quan l'entrada X val 1 (00 → 01 → 10 → 11 → 00) i cap avall quan X val 0 (00 → 11 → 10 → 01 → 00), amb biestables JK.
a) Escriu la taula de transicions (estat actual Q1Q0Q_{1}Q_{0} i X → estat següent).
b) Obtén J0J_{0}, K0K_{0}, J1J_{1} i K1K_{1} en funció de Q1Q_{1}, Q0Q_{0} i X. (Pista: Q1Q_{1} bascula quan Q0Q_{0} = 1 si X = 1, i quan Q0Q_{0} = 0 si X = 0.)
c) Partint de 00, escriu els estats que s'obtenen amb X = 1, 1, 1, 0, 0, 1 en els sis flancs següents.

Mira la solucióAmaga la solucióde l'exercici 23

Apartat a)

Resultat

X = 1: 00 → 01, 01 → 10, 10 → 11, 11 → 00. X = 0: 00 → 11, 01 → 00, 10 → 01, 11 → 10.

Resolució

  1. Compte amunt (X = 1). 00 → 01, 01 → 10, 10 → 11, 11 → 00.
  2. Compte avall (X = 0). 00 → 11, 01 → 00, 10 → 01, 11 → 10.

Apartat b)

Resultat

J0=K0=1J_{0} = K_{0} = 1; J1=K1=X Q0+X‾ Q0‾=X⊕Q0‾J_{1} = K_{1} = X\,Q_{0} + \overline{X}\,\overline{Q_{0}} = \overline{X\oplus Q_{0}}.

Resolució

  1. Bit Q0. En totes les transicions Q0 canvia: ha de bascular sempre, J0=K0=1J_{0} = K_{0} = 1.
  2. Bit Q1. Bascula quan X = 1 i Q0 = 1, o quan X = 0 i Q0 = 0, és a dir, quan X i Q0 són iguals; en els altres casos es manté (J1 = K1 = 0).
  3. Equació. J1=K1=X Q0+X‾ Q0‾=X⊕Q0‾J_{1} = K_{1} = X\,Q_{0} + \overline{X}\,\overline{Q_{0}} = \overline{X\oplus Q_{0}}
  4. Comprovació. De 10 amb X = 0: Q0 = X = 0 → J1 = K1 = 1 (Q1 bascula a 0) i Q0 bascula a 1 → 01. Correcte.

Apartat c)

Resultat

01, 10, 11, 10, 01, 10.

Resolució

  1. Simulació. Partint de 00: X = 1 → 01; X = 1 → 10; X = 1 → 11; X = 0 → 10; X = 0 → 01; X = 1 → 10.
  2. Interpretació. Hi ha tres pujades (00 → 01 → 10 → 11), dues baixades (11 → 10 → 01) i una pujada final (01 → 10).

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 24

Un registre de desplaçament amb realimentació lineal (LFSR) de 4 biestables D desplaça els bits cap a la dreta: D1=Q0D_{1} = Q_{0}, D2=Q1D_{2} = Q_{1}, D3=Q2D_{3} = Q_{2}, i la primera entrada és la suma mòdul 2 (XOR) de les dues últimes sortides: D0=Q2⊕Q3D_{0} = Q_{2}\oplus Q_{3}. L'estat inicial és Q0Q1Q2Q3 = 1000.
a) Escriu la seqüència d'estats fins que es repeteix. Quants estats diferents recorre?
b) Quants estats té en total un registre de 4 bits? Quin no apareix a la seqüència i què passaria si el registre hi entrés?
c) Escriu la seqüència de bits que surt per Q3 durant un període. Quants uns i quants zeros té?
d) Si el rellotge és d'1 kHz, quina és la durada del període de la seqüència? Per a què serveix un circuit així?

Mira la solucióAmaga la solucióde l'exercici 24

Apartat a)

Resultat

1000 → 0100 → 0010 → 1001 → 1100 → 0110 → 1011 → 0101 → 1010 → 1101 → 1110 → 1111 → 0111 → 0011 → 0001 → 1000: 15 estats.

Resolució

  1. Regla. A cada flanc entra a Q0 el valor Q2⊕Q3Q_{2}\oplus Q_{3} i la resta de bits es desplacen una posició cap a la dreta.
  2. Seqüència. 1000 → 0100 → 0010 → 1001 → 1100 → 0110 → 1011 → 0101 → 1010 → 1101 → 1110 → 1111 → 0111 → 0011 → 0001 → 1000 (torna a l'inici).
  3. Conclusió. Recorre 15 estats diferents abans de repetir-se.

Apartat b)

Resultat

16 estats; no hi apareix 0000: si hi entrés, s'hi quedaria bloquejat per sempre.

Resolució

  1. Total. 24=162^{4} = 16 estats; la seqüència en fa servir 15.
  2. Estat que falta. El 0000. Si el registre hi entrés, 0⊕0=00\oplus 0 = 0 i entraria sempre un 0: quedaria bloquejat a 0000 per sempre.

Apartat c)

Resultat

000100110101111: 8 uns i 7 zeros.

Resolució

  1. Bits de Q3. Llegint l'últim bit de cada estat de la seqüència: 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1.
  2. Recompte. 8 uns i 7 zeros: és una seqüència pseudoaleatòria de longitud màxima, 24−1=152^{4} - 1 = 15.

Apartat d)

Resultat

T=15 msT = 15\ \text{ms}; serveix per generar seqüències pseudoaleatòries (proves de comunicacions, CRC, xifratge, soroll).

Resolució

  1. Càlcul. El període és de 15 flancs: 15⋅1 ms=15 ms15\cdot 1\ \text{ms} = 15\ \text{ms}.
  2. Aplicacions. Generen seqüències pseudoaleatòries de manera molt econòmica (només 4 biestables i una porta XOR): s'usen per a proves de comunicacions, codis de detecció d'errors (CRC), xifratge i generació de soroll.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 25

Un receptor de dades en sèrie fa servir un registre de desplaçament de 8 biestables D (Q0Q_{0} rep el bit d'entrada nou i cada bit passa de QiQ_{i} a Qi+1Q_{i+1} en cada flanc de pujada del rellotge). Les dades arriben a 9600 bits per segon i el rellotge del registre s'activa un cop per bit. L'emissor envia el byte 10110010 (B2 en hexadecimal) amb el bit de menys pes primer.
a) Quina seqüència de bits arriba a l'entrada, en ordre?
b) Quin és el contingut del registre després de 8 flancs? Llegit com a Q7Q6…Q0Q_{7}Q_{6}\ldots Q_{0}, quin nombre hexadecimal sembla? Com cal llegir les sortides per obtenir el byte correcte (B2)?
c) Quant de temps triga a rebre's el byte? Quant de temps hi ha per llegir-lo abans que un novè flanc en destrueixi el bit de més pes?
d) Si les dades arribessin amb el bit de més pes primer, com haurien d'estar connectades les sortides?

Mira la solucióAmaga la solucióde l'exercici 25

Apartat a)

Resultat

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

Resolució

  1. Dades. El byte és b7…b0 = 10110010 i arriba primer el bit de menys pes, b0.
  2. Seqüència. Llegim el byte de dreta a esquerra: b0, b1, …, b7 = 0, 1, 0, 0, 1, 1, 0, 1.

Apartat b)

Resultat

Q7…Q0 = 01001101 = 4D; per obtenir B2 cal llegir Q0…Q7, amb Q0 com a bit de més pes.

Resolució

  1. Desplaçament. Cada bit nou entra a Q0 i empeny els anteriors: després de 8 flancs, el primer bit rebut (b0) és a Q7 i l'últim (b7) és a Q0.
  2. Lectura directa. Q7…Q0 = 01001101 = 4D en hexadecimal: el byte amb els bits en ordre invers.
  3. Lectura correcta. En l'ordre Q0…Q7, amb Q0 com a bit de més pes: 10110010 = B2. Cal connectar Q0 al bit de més pes del bus de sortida i Q7 al de menys pes.

Apartat c)

Resultat

tbyte≈0,833 mst_{\text{byte}} \approx 0{,}833\ \text{ms}; hi ha un període de bit, ≈104 μs\approx 104\ \mu\text{s}, per llegir-lo.

Resolució

  1. Temps de recepció. tbyte=89600 bit/s≈0,833 mst_{\text{byte}} = \dfrac{8}{9600\ \text{bit/s}} \approx 0{,}833\ \text{ms}
  2. Marge de lectura. El novè flanc arriba un període de bit després del vuitè: 1/9600≈104 μs1/9600 \approx 104\ \mu\text{s}.
  3. Conclusió. En aquest interval s'ha de llegir el contingut (o copiar-lo a un registre de sortida), perquè el novè flanc fa sortir per Q7 el primer bit rebut (b0) i desplaça la resta.

Apartat d)

Resultat

El bit de més pes quedaria a Q7: les sortides es llegirien directament com a Q7…Q0, sense inversió.

Resolució

  1. Raonament. Si arriba primer b7, després de 8 flancs és a Q7, i b0, l'últim, a Q0.
  2. Conclusió. Q7 es connecta al bit de més pes i Q0 al de menys pes: lectura directa Q7…Q0.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 26

En un circuit seqüencial síncron, la sortida d'un biestable passa per una lògica combinacional abans d'arribar a l'entrada D del següent. Les especificacions són: retard rellotge → sortida tcqt_{cq} entre 4 i 12 ns; temps de preparació (setup) tsut_{su} = 5 ns (la dada ha d'estar estable abans del flanc); temps de manteniment (hold) tht_{h} = 2 ns (la dada ha de continuar estable després del flanc). La lògica combinacional té un retard entre 3 i 18 ns.
a) Calcula el període mínim del rellotge i la freqüència màxima.
b) Comprova que es compleix el temps de manteniment.
c) Es substitueix la lògica per una de més ràpida, amb retard màxim de 8 ns i mínim d'1 ns. Quina és la nova freqüència màxima? Es compleix encara el temps de manteniment?
d) Quina freqüència màxima té un registre de desplaçament (sense lògica entre biestables)? Per què augmentar la freqüència per sobre del límit del circuit original pot provocar errors?

Mira la solucióAmaga la solucióde l'exercici 26

Apartat a)

Resultat

Tmıˊn=35 nsT_{\text{mín}} = 35\ \text{ns}; fmaˋx≈28,6 MHzf_{\text{màx}} \approx 28{,}6\ \text{MHz}.

Resolució

  1. Camí més lent. La dada surt del primer biestable amb el retard màxim, travessa la lògica pel camí més lent i ha d'arribar un temps de setup abans del flanc següent.
  2. Càlcul. Tmıˊn=tcq,maˋx+tloˋgica,maˋx+tsu=12+18+5=35 nsT_{\text{mín}} = t_{cq,\text{màx}} + t_{\text{lògica,màx}} + t_{su} = 12 + 18 + 5 = 35\ \text{ns}
  3. Freqüència. fmaˋx=1/(35 ns)≈28,6 MHzf_{\text{màx}} = 1/(35\ \text{ns}) \approx 28{,}6\ \text{MHz}.

Apartat b)

Resultat

Sí: el camí més ràpid triga 7 ns>th=2 ns7\ \text{ns} \gt t_{h} = 2\ \text{ns} (marge de 5 ns).

Resolució

  1. Camí més ràpid. tcq,mıˊn+tloˋgica,mıˊn=4+3=7 nst_{cq,\text{mín}} + t_{\text{lògica,mín}} = 4 + 3 = 7\ \text{ns}.
  2. Condició de hold. Ha de ser més gran que th=2 nst_{h} = 2\ \text{ns}: es compleix amb un marge de 5 ns.
  3. Observació. El temps de manteniment no depèn de la freqüència: només depèn dels camins ràpids.

Apartat c)

Resultat

fmaˋx=40 MHzf_{\text{màx}} = 40\ \text{MHz} (Tmıˊn=25 nsT_{\text{mín}} = 25\ \text{ns}); el hold es compleix (5 ns>2 ns5\ \text{ns} \gt 2\ \text{ns}).

Resolució

  1. Setup. Tmıˊn=12+8+5=25 ns⇒fmaˋx=40 MHzT_{\text{mín}} = 12 + 8 + 5 = 25\ \text{ns} \Rightarrow f_{\text{màx}} = 40\ \text{MHz}.
  2. Hold. 4+1=5 ns>2 ns4 + 1 = 5\ \text{ns} \gt 2\ \text{ns}: es compleix.

Apartat d)

Resultat

fmaˋx≈58,8 MHzf_{\text{màx}} \approx 58{,}8\ \text{MHz} (Tmıˊn=17 nsT_{\text{mín}} = 17\ \text{ns}); per sobre del límit la dada no és estable en el flanc i es captura un valor incorrecte o hi ha metaestabilitat.

Resolució

  1. Sense lògica. Tmıˊn=tcq,maˋx+tsu=12+5=17 ns⇒fmaˋx≈58,8 MHzT_{\text{mín}} = t_{cq,\text{màx}} + t_{su} = 12 + 5 = 17\ \text{ns} \Rightarrow f_{\text{màx}} \approx 58{,}8\ \text{MHz}.
  2. Per què falla més de pressa. Si el rellotge va més de pressa que 1/Tmín, el flanc arriba abans que la dada s'hagi estabilitzat a l'entrada del biestable.
  3. Conclusió. El biestable pot capturar un valor incorrecte o entrar en un estat inestable (metaestabilitat). Per això la freqüència màxima la marca el camí més lent.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 27

Un comptador binari de 4 bits (Q3Q2Q1Q0) té una entrada de càrrega paral·lela síncrona LD: quan LD = 1 en un flanc de rellotge, carrega el valor present a les entrades de dades (P3P2P1P0) en lloc de comptar. Si LD = 0, compta cap amunt (després de 1111 passa a 0000).
a) Es connecten P3P2P1P0 = 0110 i LD=Q3Q2Q1Q0\mathrm{LD} = Q_{3}Q_{2}Q_{1}Q_{0} (LD val 1 només a l'estat 1111). Escriu la seqüència d'estats (en decimal) i digues el mòdul. Si el rellotge és de 10 kHz, quina freqüència té la sortida Q3 aproximadament, i quina fracció del període passa a 1?
b) Es vol un comptador de 0 a 11 (mòdul 12): P = 0000 i LD activat quan l'estat és 1011. Demostra que n'hi ha prou amb LD=Q3Q1Q0\mathrm{LD} = Q_{3}Q_{1}Q_{0} (sense Q2) mirant els estats per on passa el comptador.
c) Quina diferència té aquesta solució amb posar el comptador a zero amb una entrada de reset asíncron quan arriba a 1100? Quins avantatges té la càrrega síncrona?

Mira la solucióAmaga la solucióde l'exercici 27

Apartat a)

Resultat

6, 7, 8, …, 15, 6, 7, …: mòdul 10; fQ3=1 kHzf_{Q_{3}} = 1\ \text{kHz} i Q3 està a 1 el 80 % del període.

Resolució

  1. Seqüència. Compta de 6 a 15 i, a l'estat 1111, LD = 1 fa que el flanc següent carregui 0110: 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 6, 7, …
  2. Mòdul. Té 10 estats: és de mòdul 10.
  3. Freqüència de Q3. El cicle complet té 10 flancs: f=10 kHz/10=1 kHzf = 10\ \text{kHz}/10 = 1\ \text{kHz}.
  4. Cicle de treball. Q3 val 1 en els estats 8 a 15, és a dir, en 8 dels 10 estats: el 80 % del període.

Apartat b)

Resultat

Dins de 0–11 l'únic estat amb Q3Q1Q0=111Q_{3}Q_{1}Q_{0} = 111 és 1011, de manera que LD=Q3Q1Q0\mathrm{LD} = Q_{3}Q_{1}Q_{0} n'hi ha prou: mòdul 12.

Resolució

  1. Estats amb Q3 = 1. Al cicle 0, 1, …, 11 només hi ha 8, 9, 10 i 11 (1000 a 1011).
  2. Condició. D'aquests, l'únic amb Q1Q0 = 11 és 1011 (11). L'altre estat amb Q3Q1Q0 = 111 seria 1111, que no és al cicle.
  3. Conclusió. LD=Q3Q1Q0\mathrm{LD} = Q_{3}Q_{1}Q_{0} val 1 només a 1011 i no cal Q2. Seqüència: 0, 1, …, 11, 0, 1, …: mòdul 12.

Apartat c)

Resultat

Amb reset asíncron el comptador arriba un instant a 1100 (estat transitori i pulsos paràsits); la càrrega síncrona no té estats transitoris i permet carregar qualsevol valor.

Resolució

  1. Reset asíncron. El comptador arriba realment a 1100 durant un instant breu i després es reinicia: aquest estat intermedi no hauria d'existir, i pot generar pulsos paràsits a les sortides.
  2. Càrrega síncrona. Els estats són sempre els de la seqüència (11 passa directament a 0 en el flanc) i no hi ha estats transitoris.
  3. Avantatge addicional. Es pot carregar qualsevol valor inicial, no només zero, per aconseguir comptadors de qualsevol interval.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 28

Un sumador en sèrie suma dos nombres binaris bit a bit, començant pel de menys pes, amb un sol sumador complet (FA) i un biestable D que emmagatzema el transport (C). En cada flanc: S = A ⊕ B ⊕ C (bit de suma) i el transport següent és C+=A B+C (A⊕B)C^{+} = A\,B + C\,(A\oplus B), carregat al biestable. Al principi C = 0.
a) Es vol sumar A = 1011 (11) i B = 0110 (6). Escriu, per a cada cicle, els bits que entren (de menys pes a més pes; al cinquè cicle entren A = B = 0), el transport C, el bit S i el transport següent.
b) Quin nombre binari s'obté a S (el primer bit de sortida és el de menys pes)? Comprova que és 11 + 6.
c) Per què cal un cinquè cicle? Què hauries de fer si els nombres fossin A = B = 15?
d) Si el rellotge és d'1 MHz, quant triga aquesta suma? Compara amb un sumador paral·lel de 4 bits pel que fa a temps i a nombre de sumadors complets.

Mira la solucióAmaga la solucióde l'exercici 28

Apartat a)

Resultat

Cicles (A, B, C → S, C+): (1, 0, 0 → 1, 0); (1, 1, 0 → 0, 1); (0, 1, 1 → 0, 1); (1, 0, 1 → 0, 1); (0, 0, 1 → 1, 0).

Resolució

  1. Dades. Bits de A de menys pes a més pes: 1, 1, 0, 1; de B: 0, 1, 1, 0; al cinquè cicle A = B = 0. Inicialment C = 0.
  2. Fórmules. S=A⊕B⊕CS = A\oplus B\oplus C i C+=A B+C (A⊕B)C^{+} = A\,B + C\,(A\oplus B).
  3. Taula.
    CicleABCSC+
    110010
    211001
    301101
    410101
    500110

Apartat b)

Resultat

S = 10001 = 17 = 11 + 6.

Resolució

  1. Lectura. Els bits de S, de menys pes a més pes, són 1, 0, 0, 0, 1: escrit amb el de més pes a l'esquerra, 10001.
  2. Comprovació. 100012=16+1=17=11+610001_{2} = 16 + 1 = 17 = 11 + 6.

Apartat c)

Resultat

El cinquè cicle treu el transport final; amb A = B = 15 el resultat (30 = 11110) també té 5 bits i cal el mateix cinquè cicle (en general, n + 1 cicles).

Resolució

  1. Per què cal. Després del quart bit queda un transport al biestable (aquí C = 1) que és el bit de més pes del resultat: cal un cicle més per treure'l.
  2. A = B = 15. 1111+1111=11110=301111 + 1111 = 11110 = 30: també té 5 bits, de manera que cal el cinquè cicle amb A = B = 0. En general, per sumar dos nombres de n bits calen n + 1 cicles.
  3. Inicialització. El biestable de transport s'ha de posar a zero abans de cada suma; si es comencés amb C = 1, el resultat tindria una unitat de més.

Apartat d)

Resultat

t=5 μst = 5\ \mu\text{s}. El paral·lel suma en un sol cicle però necessita 4 sumadors complets; el sèrie en fa servir 1 més un biestable.

Resolució

  1. Temps en sèrie. 5 cicles a 1 MHz: 5⋅1 μs=5 μs5\cdot 1\ \mu\text{s} = 5\ \mu\text{s}.
  2. Sumador paral·lel. Fa la suma en un sol cicle (després de la propagació del transport), però necessita 4 sumadors complets.
  3. Compromís. El sumador en sèrie usa només 1 sumador complet i un biestable, a costa d'un temps n + 1 vegades més llarg: és un exemple típic de compromís entre velocitat i maquinari.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 29

Es vol dissenyar el comptatge d'un rellotge digital de 24 hores a partir d'un oscil·lador de quars de 32 768 Hz.
a) Quants biestables en cadena calen per dividir la freqüència fins a 1 Hz? Quina freqüència hi ha a la sortida del desè?
b) Els segons (00–59), els minuts (00–59) i les hores (00–23) es compten amb comptadors en BCD: una xifra de les unitats (0–9, 4 biestables) i una de les desenes (de 0 a 5 per als segons i minuts, de 0 a 2 per a les hores). Quants biestables calen per a cada part i en total?
c) Quants n'haurien calgut si cada part es comptés en binari natural (6 bits per als segons, 6 per als minuts, 5 per a les hores)? Per què és preferible el BCD a pesar del cost?
d) El comptador de les desenes de segons passa de 5 (101) a 0 quan arriba a 6 (110). Quina condició lògica de Q2Q_{2}, Q1Q_{1} i Q0Q_{0} detecta el 6 aprofitant que els estats 7 no es presenten?
e) Cada quan torna el rellotge a l'estat 00:00:00? Quants flancs d'1 Hz són?

Mira la solucióAmaga la solucióde l'exercici 29

Apartat a)

Resultat

15 biestables; a la sortida del desè hi ha 32 Hz.

Resolució

  1. Divisor per 2. Cada biestable (T amb T = 1) divideix la freqüència per 2, i 32 768=21532\,768 = 2^{15}.
  2. Càlcul. Calen 15 biestables en cadena. A la sortida del desè: f=32 768 Hz210=32 Hzf = \dfrac{32\,768\ \text{Hz}}{2^{10}} = 32\ \text{Hz}

Apartat b)

Resultat

Segons: 7; minuts: 7; hores: 6; total 20 biestables (35 comptant el divisor).

Resolució

  1. Segons i minuts. Unitats (0–9): 4 biestables; desenes de 0 a 5 (5 = 101): 3 biestables. Total: 7 cadascun.
  2. Hores. Unitats: 4; desenes de 0 a 2 (2 = 10): 2. Total: 6.
  3. Total. 7 + 7 + 6 = 20 biestables per als comptadors; amb els 15 del divisor de freqüència, 35.

Apartat c)

Resultat

17 biestables (3 menys); el BCD és preferible perquè cada xifra va directament a un visualitzador de 7 segments.

Resolució

  1. Binari natural. 6 + 6 + 5 = 17 biestables, 3 menys que en BCD.
  2. Avantatge del BCD. Cada xifra es pot convertir directament en un visualitzador de 7 segments amb un descodificador BCD; amb el binari natural caldria una conversió binari-decimal complexa per mostrar les hores, els minuts i els segons.

Apartat d)

Resultat

Q2⋅Q1Q_{2}\cdot Q_{1}.

Resolució

  1. Estats possibles. El 6 és 110. Els únics estats amb Q2Q1 = 11 són el 6 i el 7, i el 7 no es dona mai.
  2. Conclusió. N'hi ha prou amb detectar Q2⋅Q1Q_{2}\cdot Q_{1}: quan val 1, s'activa el reset (síncron o asíncron) del comptador de desenes.

Apartat e)

Resultat

Cada 24 h = 86 400 s, és a dir, 86 400 flancs d'1 Hz.

Resolució

  1. Període del rellotge. Torna a 00:00:00 després de 23:59:59, un cop al dia.
  2. Càlcul. 24⋅3600=86 400 s24\cdot 3600 = 86\,400\ \text{s}, és a dir, 86 400 flancs d'1 Hz.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 30

El motor d'un portal de garatge es controla amb una màquina de Moore de 4 estats codificats amb dos biestables D (Q1QQ_{1}Q0): 00 = TANCAT, 01 = OBRINT, 10 = OBERT, 11 = TANCANT. Les entrades són el polsador P (1 = premut) i els finals de cursa FCO (1 = portal totalment obert) i FCT (1 = portal totalment tancat). Les transicions són:
TANCAT: si P = 1 passa a OBRINT, si no, es queda. OBRINT: si FCO = 1 passa a OBERT, si no, es queda. OBERT: si P = 1 passa a TANCANT, si no, es queda. TANCANT: si FCT = 1 passa a TANCAT, si no, es queda (P s'ignora mentre es tanca).
Les sortides són MO (motor d'obrir) = 1 en OBRINT, i MT (motor de tancar) = 1 en TANCANT.
a) Escriu les expressions de MO i MT en funció de Q1Q_{1} i Q0Q_{0}.
b) Escriu les equacions de D1D_{1} i D0D_{0} a partir de la taula de transicions.
c) Partint de TANCAT, aplica les entrades (P, FCO, FCT) següents, una per flanc: (1, 0, 1), (0, 0, 0), (0, 0, 0), (0, 1, 0), (0, 0, 0), (1, 0, 0), (1, 0, 0), (0, 0, 1). Escriu l'estat després de cada flanc.
d) Quina limitació de seguretat té aquest disseny? Com es podria millorar?

Mira la solucióAmaga la solucióde l'exercici 30

Apartat a)

Resultat

MO=Q1‾ Q0\mathrm{MO} = \overline{Q_{1}}\,Q_{0}; MT=Q1 Q0\mathrm{MT} = Q_{1}\,Q_{0}.

Resolució

  1. Màquina de Moore. Les sortides només depenen de l'estat.
  2. Expressions. OBRINT és 01 i TANCANT és 11: MO=Q1‾ Q0\mathrm{MO} = \overline{Q_{1}}\,Q_{0} i MT=Q1 Q0\mathrm{MT} = Q_{1}\,Q_{0}.

Apartat b)

Resultat

D1=Q1‾ Q0 FCO+Q1 Q0‾+Q1 Q0 FCT‾D_{1} = \overline{Q_{1}}\,Q_{0}\,\mathrm{FCO} + Q_{1}\,\overline{Q_{0}} + Q_{1}\,Q_{0}\,\overline{\mathrm{FCT}}; D0=Q0‾ P+Q0(Q1‾ FCO‾+Q1 FCT‾)D_{0} = \overline{Q_{0}}\,P + Q_{0}\left(\overline{Q_{1}}\,\overline{\mathrm{FCO}} + Q_{1}\,\overline{\mathrm{FCT}}\right).

Resolució

  1. D1. Val 1 quan l'estat següent és 10 o 11: des d'OBRINT (01) amb FCO = 1 (→ 10); des d'OBERT (10) sempre (→ 10 o 11); i des de TANCANT (11) amb FCT = 0 (→ 11). D1=Q1‾ Q0 FCO+Q1 Q0‾+Q1 Q0 FCT‾D_{1} = \overline{Q_{1}}\,Q_{0}\,\mathrm{FCO} + Q_{1}\,\overline{Q_{0}} + Q_{1}\,Q_{0}\,\overline{\mathrm{FCT}}
  2. D0. Val 1 quan l'estat següent és 01 o 11: des de TANCAT (00) amb P = 1; des d'OBRINT (01) amb FCO = 0; des d'OBERT (10) amb P = 1; i des de TANCANT (11) amb FCT = 0. D0=Q0‾ P+Q0(Q1‾ FCO‾+Q1 FCT‾)D_{0} = \overline{Q_{0}}\,P + Q_{0}\left(\overline{Q_{1}}\,\overline{\mathrm{FCO}} + Q_{1}\,\overline{\mathrm{FCT}}\right)
  3. Comprovació. Amb les 32 combinacions d'estat i entrades, aquestes equacions reprodueixen la taula de transicions.

Apartat c)

Resultat

OBRINT, OBRINT, OBRINT, OBERT, OBERT, TANCANT, TANCANT, TANCAT (01, 01, 01, 10, 10, 11, 11, 00).

Resolució

  1. Flancs 1 a 4. (1, 0, 1): P = 1 → 01 OBRINT. (0, 0, 0): FCO = 0 → OBRINT. (0, 0, 0): OBRINT. (0, 1, 0): FCO = 1 → 10 OBERT.
  2. Flancs 5 a 8. (0, 0, 0): OBERT. (1, 0, 0): P = 1 → 11 TANCANT. (1, 0, 0): P s'ignora → TANCANT. (0, 0, 1): FCT = 1 → 00 TANCAT.
  3. Interpretació. El portal s'obre (flancs 1–3), arriba a obert (4), espera (5), es tanca quan es prem P (6–7; la segona pulsació s'ignora) i queda tancat quan FCT = 1 (8).

Apartat d)

Resultat

Mentre es tanca ignora el polsador i no detecta obstacles; cal afegir una fotocèl·lula que torni a OBRINT i un temporitzador de seguretat.

Resolució

  1. Limitació. Mentre es tanca, el sistema ignora el polsador i no té cap sensor d'obstacles: si algú es posa al mig, el portal no s'atura ni torna a obrir-se.
  2. Millora. Afegir una entrada de fotocèl·lula (OBS) que, si val 1 en l'estat TANCANT, enviï la màquina a OBRINT.
  3. Altra millora. Un temporitzador de seguretat perquè el motor s'aturi si no arriba cap final de cursa en un temps raonable.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Preparat per a la universitat

Els exercicis més exigents: nivell PAU alt i primer curs de grau. Veure totes les matèries

Exercici 31

Es vol dissenyar un detector de la seqüència 11011101 en una entrada en sèrie XX (un bit per flanc de pujada del rellotge). Cal permetre solapament: a X=1101101X = 1101101, la seqüència apareix dues vegades.
a) Dissenya el diagrama d'estats d'una màquina de Mealy amb una sortida ZZ que valgui 1 quan l'últim bit de la seqüència arribi a l'entrada. Dona la taula d'estats (estat actual i XX → estat següent / ZZ) i justifica què recorda cada estat.
b) Dissenya ara la màquina de Moore equivalent. Quants estats necessita? Per què en necessita un més que la de Mealy?
c) Aplica a les dues màquines (estat inicial: res detectat) la seqüència d'entrada X=0110110101101X = 0110110101101 i escriu, per a cada flanc, l'estat i la sortida. Comprova en quin flanc es veu el pols de ZZ a cada màquina.
d) Quants biestables calen per implementar cada màquina? Raona dos avantatges i dos inconvenients de Mealy davant de Moore en un sistema real. Què canviaria si no es permetés el solapament?

Pista 1

Pensa què ha de «recordar» la màquina en cada moment: quin és el prefix més llarg de 11011101 que coincideix amb els últims bits rebuts.

Pista 2

Quan arriba un bit que no continua el prefix actual, no tornes necessàriament a l'estat inicial: busca el prefix més llarg que encara coincideixi amb el final del que has rebut.

Pista 3

A Moore la sortida només depèn de l'estat. Pregunta't en quin estat quedes després de rebre l'últim 11 de 11011101 i què passa a continuació.

Mira la solucióAmaga la solucióde l'exercici 31

Apartat a)

Resultat

4 estats: S0 = res, S1 = «1», S2 = «11», S3 = «110». S0: 0 → S0/0, 1 → S1/0; S1: 0 → S0/0, 1 → S2/0; S2: 0 → S3/0, 1 → S2/0; S3: 0 → S0/0, 1 → S1/1.

Resolució

  1. Què recorda cada estat. El prefix més llarg de 11011101 que coincideix amb els últims bits rebuts: S0S_0 = res (o un prefix inútil), S1S_1 = «1», S2S_2 = «11», S3S_3 = «110».
  2. Taula d'estats.
    EstatX=0X=0X=1X=1
    S0S0 / 0S1 / 0
    S1S0 / 0S2 / 0
    S2S3 / 0S2 / 0
    S3S0 / 0S1 / 1
  3. Justificació de S1 i S2. Des de S1S_1 («1») un 0 dona «10», que no és prefix: es torna a S0S_0. Des de S2S_2 («11») un altre 1 dona «111», el final del qual («11») continua sent prefix: es queda a S2S_2.
  4. Justificació de S3. Des de S3S_3 («110») un 1 completa la seqüència (Z=1Z=1) i el seu últim bit, «1», ja és un prefix: es passa a S1S_1, i així s'admet el solapament. Un 0 dona «1100», que no acaba en cap prefix: S0S_0.

Apartat b)

Resultat

Necessita 5 estats: E0–E3 com a Mealy i E4 = «1101 acabat de detectar» amb Z=1Z=1 (E4: 0 → E0, 1 → E2).

Resolució

  1. Estat nou. A Moore la sortida és una propietat de l'estat: la informació «acabo de detectar» no es pot guardar a la transició de S3S_3 a S1S_1, com fa Mealy, i cal un estat propi, E4E_4, amb Z=1Z=1.
  2. Taula d'estats.
    Estat (Z)X=0X=0X=1X=1
    E0 (0)E0E1
    E1 (0)E0E2
    E2 (0)E3E2
    E3 (0)E0E4
    E4 (1)E0E2
  3. Transicions d'E4. E4E_4 es comporta com E1E_1, perquè el seu últim bit és un 1 i no hi ha cap prefix més llarg: E4→E0E_4\to E_0 amb 0 i E4→E2E_4\to E_2 amb 1.
  4. Conclusió. Moore necessita un estat més que Mealy (5 en lloc de 4) per poder associar la sortida 1 a un estat.

Apartat c)

Resultat

Es detecta 11011101 als flancs 5, 8 i 13; Mealy dona el pols en el mateix cicle en què arriba l'últim bit i Moore, un cicle més tard.

Resolució

  1. Convenció. A Mealy indiquem l'estat abans del flanc k: la sortida es veu durant el cicle k, amb XkX_k a l'entrada. A Moore indiquem l'estat després del flanc k: la seva sortida es veu durant el cicle k + 1.
  2. Simulació.
    FlancXMealy (abans)Z MealyMoore (després)Z Moore
    10S00E00
    21S00E10
    31S10E20
    40S20E30
    51S31E41
    61S10E20
    70S20E30
    81S31E41
    90S10E00
    101S00E10
    111S10E20
    120S20E30
    131S31E41
  3. Conclusió. Totes dues màquines detecten la seqüència als flancs 5, 8 i 13 (les dues primeres comparteixen l'1 central). La de Mealy dona el pols durant el cicle en què arriba l'últim bit; la de Moore, després del flanc, és a dir, un cicle més tard.

Apartat d)

Resultat

Mealy: 2 biestables; Moore: 3. Mealy té menys estats i respon abans, però la sortida pot tenir glitches; Moore és estable però va un cicle endarrerida. Sense solapament, S3→1S0S_3\xrightarrow{1}S_0 (Mealy) i E4E_4 es comporta com E0E_0 (Moore).

Resolució

  1. Biestables. Mealy: 4 estats → ⌈log⁡24⌉=2\lceil\log_2 4\rceil = 2 biestables. Moore: 5 estats → ⌈log⁡25⌉=3\lceil\log_2 5\rceil = 3 biestables.
  2. Mealy. Avantatges: menys estats i resposta immediata (el mateix cicle). Inconvenients: la sortida depèn de l'entrada, i si l'entrada té soroll o és asíncrona, la sortida pot tenir pics (glitches); a més, el camí combinacional entre l'entrada i la sortida limita la velocitat màxima.
  3. Moore. Avantatges: sortida estable durant tot el cicle (només canvia amb el rellotge) i fàcil de sincronitzar. Inconvenients: més estats i una sortida endarrerida un cicle.
  4. Sense solapament. Un cop detectada la seqüència cal començar de nou: a Mealy S3→1S0S_3\xrightarrow{1}S_0 amb Z=1Z=1, i a Moore E4E_4 es comporta com E0E_0 (amb 1 va a E1E_1).
  5. Comprovació. A la seqüència de l'apartat c) hi ha 3 deteccions amb solapament i 2 sense; a X=1101101X = 1101101, 2 amb solapament i 1 sense.

Errors típics

  • Tornar a S0S_0 des de S3S_3 quan arriba un 11 en lloc de passar a S1S_1: es perd el solapament.
  • Posar S2→1S1S_2\xrightarrow{1}S_1 (o S0S_0) en lloc de quedar-se a S2S_2: «111» acaba en «11», que segueix sent prefix.
  • Llegir la sortida de Moore en el mateix cicle que arriba l'últim bit: apareix un cicle més tard.
  • Comptar els biestables com el nombre d'estats i no com ⌈log⁡2n⌉\lceil\log_2 n\rceil.

Conceptes treballats: diagrama d'estats, màquines de Mealy i de Moore, detecció de seqüències amb solapament, codificació d'estats, comparació de models, temporització de la sortida.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 32

Una màquina de Moore té sis estats AA–FF, una entrada XX i una sortida ZZ que depèn només de l'estat. La taula és:

EstatZZX=0X=0X=1X=1
A0BC
B0AD
C1EA
D0AB
E1FA
F1CA

a) Quants biestables calen per implementar-la tal com està? Agrupa els estats per la seva sortida i refina les particions fins que no canviïn, per trobar els estats equivalents.
b) Dibuixa la màquina reduïda i indica quants biestables necessita.
c) Comprova la teva conclusió amb un argument directe: comprova que, per a qualsevol seqüència d'entrada, els estats que has declarat equivalents donen les mateixes sortides, i troba la seqüència d'entrada més curta que permet distingir AA de BB observant la sortida.
d) Aplica a la màquina original (des de AA) i a la reduïda la seqüència X=10110010X = 10110010 i compara les sortides. Raona per què és important reduir les màquines abans de dissenyar-les, i què passaria si per error féssim equivalents dos estats que no ho són.

Pista 1

Dos estats són equivalents si no es poden distingir per cap seqüència d'entrada: han de tenir la mateixa sortida i, per a cada valor de XX, anar a estats equivalents.

Pista 2

Primera partició: els estats amb Z=0Z=0 a un grup i els de Z=1Z=1 a l'altre. Després, mira a quin grup va cada estat amb X=0X=0 i amb X=1X=1 i separa els que no coincideixen.

Pista 3

Si dues files tenen la mateixa «signatura» (grup propi, grup de destí amb X=0X=0, grup de destí amb X=1X=1) es queden junts; torna a repetir fins que cap grup es parteixi.

Mira la solucióAmaga la solucióde l'exercici 32

Apartat a)

Resultat

Tal com està calen 3 biestables; les classes d'equivalència són {A}\{A\}, {B,D}\{B,D\} i {C,E,F}\{C,E,F\}: B≡DB\equiv D i C≡E≡FC\equiv E\equiv F.

Resolució

  1. Biestables inicials. 6 estats → ⌈log⁡26⌉=3\lceil\log_2 6\rceil = 3 biestables.
  2. Partició inicial. Per la sortida: G1={A,B,D}G_1=\{A,B,D\} (Z=0Z=0) i G2={C,E,F}G_2=\{C,E,F\} (Z=1Z=1).
  3. Refinament 1. Grups dels estats següents (amb X=0X=0 i amb X=1X=1): A→(G1,G2)A\to(G_1,G_2), B→(G1,G1)B\to(G_1,G_1), D→(G1,G1)D\to(G_1,G_1); CC, EE i F→(G2,G1)F\to(G_2,G_1). AA se separa de BB i DD: queden {A}\{A\}, {B,D}\{B,D\}, {C,E,F}\{C,E,F\}.
  4. Refinament 2. Amb les tres classes: BB i D→({A},{B,D})D\to(\{A\},\{B,D\}), iguals; CC, EE i F→({C,E,F},{A})F\to(\{C,E,F\},\{A\}), iguals. La partició ja no canvia.
  5. Conclusió. Estats equivalents: B≡DB\equiv D i C≡E≡FC\equiv E\equiv F.

Apartat b)

Resultat

Màquina reduïda de 3 estats (P = {A}, Q = {B, D}, R = {C, E, F}): calen 2 biestables.

Resolució

  1. Taula reduïda.
    EstatZZX=0X=0X=1X=1
    P = {A}0QR
    Q = {B, D}0PQ
    R = {C, E, F}1RP
  2. Biestables. 3 estats → ⌈log⁡23⌉=2\lceil\log_2 3\rceil = 2 biestables: s'estalvia un biestable i la lògica combinacional és més senzilla.

Apartat c)

Resultat

Els estats de cada classe donen sempre les mateixes sortides; la seqüència més curta que distingeix AA de BB és X=1X = 1 (longitud 1).

Resolució

  1. Classe {B, D}. Tots dos tenen Z=0Z=0 i, amb cada valor de XX, van a la mateixa classe: amb X=0X=0, tots dos a AA; amb X=1X=1, B→DB\to D i D→BD\to B.
  2. Classe {C, E, F}. Tots tres tenen Z=1Z=1; amb X=0X=0 van a {C,E,F}\{C,E,F\} i amb X=1X=1, a AA.
  3. Inducció. Després de cada bit d'entrada, dos estats de la mateixa classe continuen en una mateixa classe i donen la mateixa sortida: no es poden distingir amb cap seqüència, de cap longitud.
  4. Distinció d'A i B. Amb X=1X=1: des de AA es va a CC (Z=1Z=1) i des de BB, a DD (Z=0Z=0). N'hi ha prou amb un bit. (B i C ja es distingeixen sense cap entrada, perquè tenen sortides diferents.)

Apartat d)

Resultat

Sortides després de cada flanc: original 11011100 i reduïda 11011100, idèntiques.

Resolució

  1. Màquina original. Des de AA amb X=10110010X = 10110010: estats C, E, A, C, E, F, A, B; sortides 1, 1, 0, 1, 1, 1, 0, 0.
  2. Màquina reduïda. Des de PP: R, R, P, R, R, R, P, Q; sortides 1, 1, 0, 1, 1, 1, 0, 0. Coincideixen.
  3. Per què reduir. Reduir abans de dissenyar estalvia biestables i portes, redueix el consum i el risc d'error i facilita la verificació.
  4. Fusió errònia. Si féssim equivalents dos estats que no ho són (per exemple AA i BB), la màquina resultant donaria sortides incorrectes per a la seqüència que els distingeix (X=1X = 1).

Errors típics

  • Considerar equivalents dos estats només perquè tenen la mateixa sortida, sense mirar els estats següents.
  • Parar el refinament després d'una sola passada: cal repetir fins que cap grup es parteixi.
  • Mirar només els estats següents amb X=0X=0 i oblidar X=1X=1.
  • Pensar que l'estat inicial es pot perdre en la fusió: la màquina reduïda ha de contenir la classe de l'estat inicial.

Conceptes treballats: minimització d'estats, equivalència d'estats, particions successives, màquina de Moore, nombre de biestables, verificació per seqüències.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 33

Un circuit seqüencial té una entrada XX, un biestable D amb sortida QQ i una sortida ZZ. Les equacions són D=Q+XD = Q + X (suma lògica, OR) i Z=X⊕QZ = X \oplus Q (XOR). Abans de cada paraula, QQ es posa a 0 amb un reinici asíncron. Per l'entrada XX arriben els bits d'un nombre binari de 8 bits començant pel de menys pes (un bit per flanc de pujada del rellotge), i ZZ s'observa durant cada cicle.
a) Escriu la taula d'estats (estat actual QQ, XX → estat següent / ZZ) i dibuixa el diagrama de dos estats. Descriu amb paraules què representa cada estat.
b) Aplica al circuit els nombres 108108 (0110110001101100), 11 (0000000100000001) i 128128 (1000000010000000), escrits en binari natural, i expressa la seqüència de sortida com a nombre binari de 8 bits (el primer bit de ZZ és el de menys pes). Els nombres s'escriuen amb el bit de menys pes a la dreta i entren al circuit de dreta a esquerra. Quina operació aritmètica fa el circuit? Demostra que és correcta.
c) Què passaria si es processés una segona paraula (2020, 0001010000010100) just després de la primera (108108) sense reiniciar QQ? Calcula la sortida i identifica l'operació que s'obté ara.
d) Compara aquest circuit amb un de combinacional de 8 bits que fes la mateixa operació (invertir tots els bits i sumar 1): quin cost té cadascun en maquinari i en temps?

Pista 1

Fes una taula amb les quatre combinacions de QQ i XX: calcula per a cada una DD i ZZ. Observa què passa un cop QQ val 1.

Pista 2

Compara cada sortida amb el nombre d'entrada: quina relació aritmètica hi ha entre tots dos (suma, resta, canvi de signe...)?

Pista 3

A c), QQ no comença a 0 a la segona paraula. Quina operació fa el circuit quan Q=1Q=1 des del primer bit?

Mira la solucióAmaga la solucióde l'exercici 33

Apartat a)

Resultat

Q=0Q=0: 0 → 0/0, 1 → 1/1; Q=1Q=1: 0 → 1/1, 1 → 1/0. Q=0Q=0 = «encara no ha arribat cap 1»; Q=1Q=1 = «ja ha arribat el primer 1».

Resolució

  1. Taula.
    QQXXZ=X⊕QZ=X\oplus QQ+=Q+XQ^{+}=Q+X
    0000
    0111
    1011
    1101
  2. Diagrama. Amb la notació entrada/sortida: 0→0/000\xrightarrow{0/0}0, 0→1/110\xrightarrow{1/1}1, 1→0/111\xrightarrow{0/1}1, 1→1/011\xrightarrow{1/0}1.
  3. Significat. Q=0Q=0: encara no s'ha rebut cap 1. Q=1Q=1: ja s'ha trobat un 1. Un cop a Q=1Q=1, el circuit no en surt fins al reinici.

Apartat b)

Resultat

108 → 10010100 (148); 1 → 11111111 (255); 128 → 10000000 (128). Calcula el complement a 2: 256−N256 - N.

Resolució

  1. Regla. Mentre Q=0Q=0, Z=XZ=X: es copien els bits, i el primer 1 també (Z=1⊕0=1Z=1\oplus 0=1). Un cop Q=1Q=1, Z=X‾Z=\overline{X}: s'inverteixen.
  2. Resultats. 108 = 01101100 → 10010100 = 148 = 256 − 108. 1 = 00000001 → 11111111 = 255 = 256 − 1. 128 = 10000000 → 10000000: és el cas límit, perquè 10000000 és −128 en complement a 2 de 8 bits i +128 no es pot representar (desbordament). Per al zero s'obtindria 00000000.
  3. Operació. El circuit calcula el complement a 2, és a dir, el nombre oposat: −N≡256−N-N \equiv 256 - N.
  4. Demostració. −N=N‾+1-N = \overline{N} + 1. En sumar 1 a N‾\overline{N}, els zeros finals de NN (uns a N‾\overline{N}) passen a 0 i propaguen el transport fins al primer 1 de NN (0 a N‾\overline{N}), que torna a ser 1 i atura el transport. Per tant, els bits fins al primer 1 (inclòs) es mantenen i la resta s'inverteix, exactament el que fa el circuit.

Apartat c)

Resultat

Sortida 11101011 = 235: el complement a 1 de 20 (255 − 20), no el complement a 2.

Resolució

  1. Estat inicial. La primera paraula (108) deixa Q=1Q=1, de manera que la segona comença amb Q=1Q=1 i tots els bits s'inverteixen.
  2. Càlcul. 20 = 00010100 → 11101011 = 235 = 255 − 20: és el complement a 1 (la negació bit a bit). El complement a 2 seria 11101100.
  3. Conclusió. El reinici entre paraules és imprescindible.

Apartat d)

Resultat

Seqüencial: 1 biestable, una OR i una XOR, però 8 cicles per paraula. Combinacional: 8 inversors i un incrementador de 8 bits (uns 8 XOR i 8 AND), però el resultat en un sol cicle.

Resolució

  1. Circuit seqüencial. Usa un biestable i dues portes (OR i XOR), però necessita 8 cicles de rellotge per paraula, perquè els bits entren en sèrie.
  2. Circuit combinacional. Necessita 8 inversors i un incrementador de 8 bits (una cadena de 8 semisumadors: uns 8 XOR i 8 AND), però dona el resultat en un sol cicle, amb un retard igual al de la propagació del transport.
  3. Compromís. Amb amplades grans (per exemple, 64 bits) el seqüencial manté el cost constant i només creix en temps (n cicles); el combinacional creix en maquinari. Es tria segons si prima l'àrea o la velocitat.

Errors típics

  • Posar Z=XZ=X quan Q=1Q=1 o invertir ja el primer bit 11: el primer 1 es copia, no s'inverteix.
  • No reiniciar el biestable entre paraules: s'obté el complement a 1 en lloc del complement a 2.
  • Introduir els bits començant pel de més pes: el circuit només funciona amb el bit de menys pes primer.
  • Pensar que el circuit pot canviar el signe de −128 a +128: en 8 bits +128 no és representable.

Conceptes treballats: màquines de Mealy d'un biestable, aritmètica de complement a 2, càlcul en sèrie, funcions XOR/OR, reinici asíncron, compromís àrea–temps.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 34

Un seqüenciador de quatre llums d'una màquina industrial fa servir un comptador en anell de quatre biestables D (Q0Q1Q2Q3Q_0Q_1Q_2Q_3). Cada flanc de rellotge desplaça els bits cap a la dreta: D1=Q0D_1=Q_0, D2=Q1D_2=Q_1, D3=Q2D_3=Q_2. Només ha de lluir una llum cada cop: l'estat correcte és una sola unitat que circula (1000→0100→0010→0001→1000…1000\to0100\to0010\to0001\to1000\ldots).
a) Primera versió: D0=Q3D_0=Q_3 (anell lliure). Dibuixa tots els cicles en què es reparteixen els 16 estats possibles (indica'n la longitud) i digues quants són «correctes» i quants no. Què passa si en connectar l'alimentació els biestables arrenquen a 01100110?
b) Per què això és perillós en un sistema real (per exemple, dues llums enceses alhora)? Indica una manera de solucionar-ho sense afegir portes, i els seus inconvenients.
c) Segona versió, autocorrectora: D0=Q0+Q1+Q2‾D_0=\overline{Q_0+Q_1+Q_2} (NOR de les tres primeres sortides). Comprova que la seqüència correcta no es modifica i que des de 00000000 i des de 11111111 s'arriba a l'anell correcte. Calcula quants cicles de rellotge triga com a màxim a recuperar-se des de qualsevol estat.
d) Raona si l'estat 11111111 o 01010101 poden aparèixer en funcionament normal per una pertorbació elèctrica, i com es corregirien. Com canviaria la solució per a un anell de 8 llums? Quants biestables desperdicia un anell comparat amb un comptador binari que dona 4 estats?

Pista 1

Segueix cada estat pas a pas amb D0=Q3D_0=Q_3: l'estat següent és l'estat actual girat un lloc. Agrupa els estats que són rotacions un de l'altre.

Pista 2

Per a la versió corregida, calcula D0D_0 per als estats que tenen els tres primers bits a 0, i per a la resta. Quins estats donen D0=1D_0=1?

Pista 3

Per al temps màxim de recuperació, busca l'estat que més triga a arribar a l'anell correcte (en general, els que tenen moltes unitats seguides).

Mira la solucióAmaga la solucióde l'exercici 34

Apartat a)

Resultat

6 cicles: {0000} (1), {1111} (1), {1010, 0101} (2) i tres de longitud 4; només el cicle 1000 → 0100 → 0010 → 0001 (4 estats) és correcte i els altres 12 estats no. Des de 0110 cicla 0110 → 0011 → 1001 → 1100 → … amb dues llums enceses.

Resolució

  1. Funcionament. Amb D0=Q3D_0=Q_3 el circuit només gira els bits: el nombre d'uns no canvia mai.
  2. Cicles. Els 16 estats formen 6 cicles: {0000} (longitud 1), {1111} (1), {1010, 0101} (2), {1000, 0100, 0010, 0001} (4, el correcte), {1100, 0110, 0011, 1001} (4) i {1110, 0111, 1011, 1101} (4).
  3. Recompte. 4 estats correctes i 16 − 4 = 12 d'incorrectes.
  4. Arrencada a 0110. Cicla indefinidament 0110 → 0011 → 1001 → 1100 → 0110 … i mai no arriba al cicle correcte: sempre hi ha dues llums enceses.

Apartat b)

Resultat

L'error és permanent; sense portes es pot posar un preset/reset asíncron en engegar (força 1000), però només corregeix l'arrencada i necessita un circuit de reinici fiable.

Resolució

  1. Perill. Un soroll o una arrencada en un estat incorrecte deixa el sistema bloquejat en un cicle invàlid per sempre: dues llums enceses alhora (o cap) en una màquina industrial.
  2. Solució sense portes. Fer servir les entrades asíncrones dels biestables en connectar l'alimentació: PRESET a Q0 i CLEAR als altres, de manera que l'estat inicial sigui 1000.
  3. Inconvenients. Només corregeix l'arrencada, no les pertorbacions posteriors, i necessita un circuit de reinici fiable.

Apartat c)

Resultat

La seqüència correcta no canvia; 0000 → 1000 en 1 cicle i 1111 → 0111 → 0011 → 0001 en 3. El pitjor cas (1100, 1101, 1110, 1111) triga 3 cicles.

Resolució

  1. Funcionament. D0=Q0+Q1+Q2‾D_0=\overline{Q_0+Q_1+Q_2} val 0 si hi ha algun 1 a Q0Q_0, Q1Q_1 o Q2Q_2 (el bit es limita a desplaçar-se) i val 1 només quan els tres primers bits són 0.
  2. Seqüència correcta. 1000 → 0100 → 0010 → 0001 → 1000: a 0001, D0=1D_0=1 i torna a 1000. No es modifica.
  3. Des de 0000 i 1111. 0000 → 1000 (1 cicle). 1111 → 0111 → 0011 → 0001 (3 cicles). Altres exemples: 0101 → 0010; 1100 → 0110 → 0011 → 0001; 0111 → 0011 → 0001.
  4. Temps màxim. Ara hi ha un sol cicle (de longitud 4) i els altres 12 estats són transitoris. El pitjor cas són els estats 1100, 1101, 1110 i 1111: 3 cicles de rellotge.

Apartat d)

Resultat

Sí, una pertorbació pot portar a 1111 o 0101, i l'autocorrector torna a l'anell en 3 cicles com a màxim. Per a 8 llums, D0=Q0+⋯+Q6‾D_0=\overline{Q_0+\dots+Q_6} (NOR de 7 entrades, recuperació en 7 cicles com a màxim). L'anell de 4 llums gasta 4 biestables on un comptador binari en necessita 2.

Resolució

  1. Pertorbacions. Un bit que commuta per un pic de tensió, radiació, etc. pot dur el sistema a qualsevol dels 16 estats, també a 1111 o 0101. Amb l'anell lliure quedaria bloquejat; amb la versió autocorrectora torna a la seqüència correcta en com a màxim 3 cicles.
  2. Anell de 8 llums. 8 biestables (256 estats, 8 de correctes) i la mateixa idea: D0=Q0+Q1+⋯+Q6‾D_0=\overline{Q_0+Q_1+\dots+Q_6}, una NOR de 7 entrades, que els corregeix en com a màxim 7 cicles.
  3. Comparació amb un comptador binari. Per a 4 estats, un comptador binari de 2 bits en té prou amb 2 biestables (més un descodificador de 2 a 4): l'anell en gasta 2 de més.
  4. Avantatge de l'anell. No necessita descodificador i les seves sortides no tenen glitches, però gasta més biestables.

Errors típics

  • Creure que un anell lliure sempre arrenca bé: segons l'estat inicial pot quedar bloquejat en un cicle invàlid.
  • Fer el NOR dels quatre bits en lloc dels tres primers: l'estat 00000000 passa a formar part de la seqüència i l'anell tindria 5 estats.
  • Comptar només un estat «incorrecte»: n'hi ha 12 (16 − 4), repartits en cicles invàlids o en transitoris.
  • Oblidar que l'autocorrecció no impedeix que durant uns cicles hi hagi encesa de més d'una llum.

Conceptes treballats: comptadors en anell, cicles d'estats, estats invàlids i autocorrecció, robustesa davant de pertorbacions, realimentació, comparació amb comptador binari.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 35

Un polsador mecànic es llegeix amb un microcontrolador. El senyal del polsador és asíncron respecte del rellotge (1 kHz) i té rebots de fins a 3 ms en prémer i en deixar de prémer. El circuit d'entrada té tres biestables D amb el mateix rellotge: Q1Q_1 captura l'entrada SS, Q2Q_2 captura Q1Q_1 i Q3Q_3 captura Q2Q_2. El senyal de sortida és un pols P=Q2⋅Q3‾P = Q_2\cdot\overline{Q_3}.
a) Explica per què calen dos biestables en cadena (Q1Q_1, Q2Q_2) abans d'usar el senyal i què hi ha de metaestabilitat. Què fa el parell Q2Q_2, Q3Q_3 amb PP?
b) Els valors de SS mostrejats en 26 flancs consecutius són: 00101101111111010000000000. Escriu Q1Q_1, Q2Q_2, Q3Q_3 i PP després de cada flanc (inicialment tots a 0). Quants polsos PP es produeixen en aquesta única pulsació (en prémer i en deixar de prémer)? Per què?
c) Es vol netejar el senyal amb un filtre digital: es manté una sortida estabilitzada YY (inicialment 0) i un comptador que compta els flancs consecutius en què SS difereix de YY; quan arriba a N=4N=4, YY copia SS i el comptador es posa a 0; si SS torna a coincidir amb YY, el comptador es reinicia. Aplica-ho a la mateixa seqüència i digues quants polsos de flanc de pujada dona YY. Per què s'ha escollit N=4N=4?
d) Quin retard té la resposta a una pulsació? Què passaria si el polsador rebotés durant 8 ms? Quants biestables (a més del comptador) necessita el filtre de c)?

Pista 1

Un biestable pot entrar en metaestabilitat si l'entrada canvia just al voltant del flanc. Pensa què passa si el segon biestable captura el senyal un cicle més tard.

Pista 2

El pols PP val 1 mentre Q2=1Q_2=1 i Q3=0Q_3=0: el segon biestable ja ha vist el canvi, però el tercer encara no. Busca-ho flanc a flanc a la taula.

Pista 3

Per al filtre, el comptador només arriba a 4 si en 4 flancs seguits SS és diferent de YY. Mira quins trams de SS tenen quatre valors seguits iguals.

Mira la solucióAmaga la solucióde l'exercici 35

Apartat a)

Resultat

El primer biestable pot quedar metaestable si S canvia just al flanc; el segon li dona un cicle sencer per resoldre's. El parell Q2, Q3 és un detector de flanc de pujada: P = 1 durant un cicle quan Q2 acaba de passar a 1.

Resolució

  1. Metaestabilitat. Si l'entrada asíncrona canvia just al voltant del flanc, el primer biestable pot quedar en un estat intermedi (metaestable) durant un temps aleatori, i la seva sortida pot arribar a la lògica en un nivell indeterminat.
  2. Segon biestable. Q2Q_2 captura Q1Q_1 un cicle més tard: dona un cicle sencer perquè Q1Q_1 es resolgui. La probabilitat d'error baixa de manera exponencial amb el temps disponible.
  3. Detector de flanc. Q3Q_3 és Q2Q_2 retardat un cicle. P=Q2⋅Q3‾P = Q_2\cdot\overline{Q_3} val 1 durant un cicle quan Q2Q_2 acaba de passar a 1 i Q3Q_3 encara és 0. S'usa Q2Q_2 i no Q1Q_1 perquè Q1Q_1 encara podria ser metaestable.

Apartat b)

Resultat

P = 1 als flancs 4, 6, 9 i 17: 4 polsos (3 en prémer i 1 en deixar de prémer), perquè el sincronitzador copia els rebots.

Resolució

  1. Regla. Després de cada flanc: Q1=SQ_1 = S, Q2=Q1Q_2 = Q_1 anterior, Q3=Q2Q_3 = Q_2 anterior i P=Q2 Q3‾P = Q_2\,\overline{Q_3}. A partir del flanc 20 tot val 0.
  2. Taula (flancs 1 a 19).
    FlancSSQ1Q_1Q2Q_2Q3Q_3PP
    100000
    200000
    311000
    400101
    511010
    611101
    700110
    811010
    911101
    1011110
    1111110
    1211110
    1311110
    1411110
    1500110
    1611010
    1700101
    1800010
    1900000
  3. Recompte. Cada pujada 0 → 1 de la seqüència mostrejada genera un pols: tres en prémer (flancs 4, 6 i 9) i un en deixar de prémer (flanc 17), tot i que només hi ha hagut una pulsació.
  4. Per què. El sincronitzador només alinea el senyal amb el rellotge; no elimina els rebots. Mostrejar a 1 kHz no n'elimina cap, perquè el rebot dura 3 períodes.

Apartat c)

Resultat

YY passa a 1 al flanc 11 i torna a 0 al flanc 20: un sol pols. N=4N=4 perquè el rebot de 3 ms ocupa com a màxim 3 mostres.

Resolució

  1. Funcionament. El comptador avança cada flanc en què S≠YS\neq Y i es reinicia quan S=YS = Y; només arriba a 4 si hi ha 4 flancs seguits amb SS diferent de YY.
  2. Pulsació. Els trams curts d'uns (flancs 3 i 5–6) no arriben a 4. Als flancs 8–11 hi ha quatre uns seguits: al flanc 11, Y=1Y = 1. El zero breu del flanc 15 no arriba a 4.
  3. Alliberament. Als flancs 17–20 hi ha quatre zeros seguits: al flanc 20, Y=0Y = 0. Resultat: YY = 00000000001111111110000000, amb un sol flanc de pujada.
  4. Elecció de N. Amb un rellotge d'1 kHz, el rebot de 3 ms ocupa com a màxim 3 mostres: amb N=4N=4 el filtre exigeix més temps que la durada del rebot.

Apartat d)

Resultat

Retard ≈ 6 ms (2 del sincronitzador + 4 del filtre, més fins a 1 ms d'asincronia). Amb rebots de 8 ms caldria N≥9N\geq 9. A més del comptador (de 0 a 4, 3 biestables), cal 1 biestable per a YY: 4 en total.

Resolució

  1. Retard. Dos flancs del sincronitzador (2 ms) més 4 flancs del filtre: uns 6 ms, més fins a 1 ms perquè la pulsació no és síncrona amb el rellotge. Un usuari no ho nota.
  2. Rebots de 8 ms. El filtre amb N=4N=4 podria donar el rebot per acabat abans d'hora i generar polsos falsos: caldria N≥9N\geq 9 (9 ms).
  3. Biestables. El comptador ha de comptar de 0 a 4 (5 valors → 3 biestables), i cal un biestable més per guardar YY: 4 en total.

Errors típics

  • Connectar el polsador directament a la lògica síncrona sense sincronitzador: risc de metaestabilitat.
  • Pensar que el sincronitzador elimina el rebot: només alinea el senyal amb el rellotge.
  • Triar NN més petit que la durada del rebot expressada en períodes de mostreig.
  • Generar el pols amb Q1Q_1 i Q2Q_2 en lloc de Q2Q_2 i Q3Q_3: el senyal Q1Q_1 encara pot ser metaestable.

Conceptes treballats: metaestabilitat i sincronització, detector de flanc, rebots, filtre digital amb comptador, freqüència de mostreig, compromís entre robustesa i latència.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 36

Un codificador d'un eix gira i dona la posició com a nombre de 3 bits. Es vol un comptador síncron de 3 bits (Q2Q1Q0Q_2Q_1Q_0) amb biestables D que segueixi la seqüència del codi Gray: 000→001→011→010→110→111→101→100→000…000\to001\to011\to010\to110\to111\to101\to100\to000\ldots
a) Escriu la taula de transicions (estat actual → estat següent) i dedueix les equacions de D2D_2, D1D_1 i D0D_0 simplificades. Hi ha estats no utilitzats?
b) Comprova les equacions amb els vuit estats. Quantes portes de dues entrades calen aproximadament?
c) Compta el nombre total de bits que canvien en un cicle complet de 8 estats, tant en el comptador Gray com en un comptador binari natural. Si el consum dinàmic és proporcional al nombre de commutacions, quin estalvi relatiu dona el Gray?
d) Un sensor llegeix l'estat del comptador de manera asíncrona (en un instant qualsevol). Explica quin error pot cometre durant el pas de 011011 a 100100 en binari, quin en el pas equivalent en Gray, i per què es tria el Gray per a codificadors de posició.

Pista 1

Per a cada estat actual, escriu el bit corresponent de l'estat següent a la columna de DiD_i, i construeix un mapa de Karnaugh de 3 variables per a cada biestable.

Pista 2

Per a D0D_0: mira quins estats donen D0=1D_0=1 i fixa't que depèn només de Q2Q_2 i Q1Q_1.

Pista 3

En c), compta quants bits canvien a cada transició (la «distància de Hamming» entre dos estats consecutius), i suma les vuit transicions.

Mira la solucióAmaga la solucióde l'exercici 36

Apartat a)

Resultat

D2=Q2Q0+Q1Q0‾D_2 = Q_2Q_0 + Q_1\overline{Q_0}; D1=Q2‾Q0+Q1Q0‾D_1 = \overline{Q_2}Q_0 + Q_1\overline{Q_0}; D0=Q2Q1+Q2‾ Q1‾=Q2⊕Q1‾D_0 = Q_2Q_1 + \overline{Q_2}\,\overline{Q_1} = \overline{Q_2\oplus Q_1}. No hi ha estats no utilitzats.

Resolució

  1. Taula de transicions.
    Q2Q1Q0Q_2Q_1Q_0D2D1D0D_2D_1D_0 (estat següent)
    000001
    001011
    011010
    010110
    110111
    111101
    101100
    100000
  2. Estats no utilitzats. La seqüència té 8 estats: hi apareixen tots els codis de 3 bits, de manera que no n'hi ha cap de no utilitzat.
  3. D0. Val 1 des de 000, 001, 110 i 111: només depèn de Q2Q_2 i Q1Q_1, i val 1 quan són iguals: D0=Q2⊕Q1‾D_0 = \overline{Q_2\oplus Q_1}.
  4. D1 i D2. Amb mapes de Karnaugh: D1 val 1 des de 001, 011, 010 i 110 → D1=Q2‾Q0+Q1Q0‾D_1 = \overline{Q_2}Q_0 + Q_1\overline{Q_0}; D2 val 1 des de 010, 110, 111 i 101 → D2=Q2Q0+Q1Q0‾D_2 = Q_2Q_0 + Q_1\overline{Q_0}.

Apartat b)

Resultat

Les equacions reprodueixen els vuit estats; calen unes 6–9 portes de dues entrades (6 si es comparteix el terme Q1Q0‾Q_1\overline{Q_0}).

Resolució

  1. Comprovació (exemples). De 001: D2=0+0=0D_2 = 0 + 0 = 0, D1=1⋅1+0=1D_1 = 1\cdot 1 + 0 = 1, D0=0⊕0‾=1D_0 = \overline{0\oplus 0} = 1 → 011 ✓. De 110: D2=0+1=1D_2 = 0 + 1 = 1, D1=0+1=1D_1 = 0 + 1 = 1, D0=1⊕1‾=1D_0 = \overline{1\oplus 1} = 1 → 111 ✓. De 100: D2=0D_2 = 0, D1=0D_1 = 0, D0=1⊕0‾=0D_0 = \overline{1\oplus 0} = 0 → 000 ✓.
  2. Resta d'estats. Els altres cinc estats també donen el següent de la seqüència (comprovat amb la simulació dels vuit estats).
  3. Cost. D2: 2 AND + 1 OR; D1: igual; D0: 1 XNOR. Són unes 7 portes, o 6 si el terme comú Q1Q0‾Q_1\overline{Q_0} es fa una sola vegada, més uns 3 inversors si els biestables no tenen sortida Q‾\overline{Q}: en total, unes 8–9 portes de dues entrades.

Apartat c)

Resultat

Gray: 8 commutacions per cicle; binari: 14. Estalvi ≈ 43 %.

Resolució

  1. Gray. Cada transició canvia exactament 1 bit: 8 commutacions per cicle.
  2. Binari natural. 1 + 2 + 1 + 3 + 1 + 2 + 1 + 3 = 14 commutacions (fixa't que de 111 a 000 també en canvien tres).
  3. Estalvi. 14−814≈0,43\dfrac{14 - 8}{14} \approx 0{,}43 El Gray consumeix 8/14 ≈ 57 % del binari: un estalvi del 43 % pel que fa a les sortides del comptador (la lògica de realimentació també commuta).

Apartat d)

Resultat

En binari, de 011 a 100 canvien els 3 bits i el sensor pot llegir valors molt diferents (111, 101, 000…); en Gray (de 010 a 110) només en canvia un i l'error és com a màxim d'un pas.

Resolució

  1. Binari. De 011 a 100 canvien els tres bits; si els biestables o els cables no són perfectament simultanis, durant un instant el sensor pot veure combinacions intermèdies com 111, 101 o 000, que són posicions molt diferents (error de fins a mig recorregut).
  2. Gray. En el pas equivalent, de 010 a 110, només canvia un bit: en el pitjor cas el sensor llegeix l'estat anterior o el posterior, un error d'un sol pas.
  3. Conclusió. Per això els codificadors de posició absoluta fan servir el codi Gray (l'error es redueix a un pas, no desapareix).

Errors típics

  • Dissenyar un comptador binari i convertir-lo a Gray a la sortida: dona la mateixa seqüència, però els biestables continuen commutant com en binari i no s'estalvia consum.
  • Obtenir D0D_0 amb una funció de Q0Q_0: en aquest codi depèn de Q2Q_2 i Q1Q_1.
  • Considerar que el Gray elimina del tot l'error: l'error es redueix a un pas, no desapareix.
  • Comptar en binari les commutacions del pas 111 → 000 com a una sola: en realitat canvien tres bits.

Conceptes treballats: comptadors síncrons, codi Gray, taula de transicions, simplificació amb mapes de Karnaugh, consum dinàmic per commutacions, errors de lectura asíncrona.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 37

Una màquina expenedora d'aigua val 30 cèntims. Accepta monedes de 10 cèntims (entrada AA) i de 20 cèntims (entrada BB); el selector mecànic de monedes assegura que a cada cicle de rellotge arriba, com a màxim, una moneda (AA i BB mai valen 1 alhora). Quan l'import arriba a 30 cèntims o més, la màquina lliura el producte (sortida P=1P=1) i, si ha cobrat 40 cèntims, torna 10 cèntims (sortida R=1R=1). Després torna a l'estat inicial. Les sortides han de ser actives en el mateix cicle en què entra la moneda que completa l'import.
a) Dibuixa el diagrama d'estats de Mealy i justifica per què els estats són «import acumulat» (0, 10 i 20 cèntims). Escriu la taula d'estats.
b) Codifica els estats S0=00S_0=00, S1=01S_1=01, S2=10S_2=10 (Q1Q0Q_1Q_0), aprofita les situacions impossibles com a condicions indiferents i obtén les equacions mínimes de D1D_1, D0D_0, PP i RR.
c) Comprova la màquina amb la seqüència de monedes 10, 20, cap, 20, 20, 10, 10, 10, 20, 10 i escriu a cada cicle l'estat, PP i RR. Comprova que el total cobrat quadra amb els productes lliurats, les devolucions i l'import pendent.
d) Què fan les teves equacions si, per una avaria, arriba A=B=1A=B=1, o si el circuit arrenca a l'estat no utilitzat 1111? Es pot defensar l'ús de les condicions indiferents? Quina alternativa de disseny seria més robusta?

Pista 1

Només cal recordar l'import acumulat, no l'ordre amb què han entrat les monedes: 10+2010+20 i 20+1020+10 donen el mateix.

Pista 2

Per a les equacions, escriu la taula de veritat amb les variables Q1,Q0,A,BQ_1,Q_0,A,B. Les files amb Q1Q0=11Q_1Q_0=11 i les amb A=B=1A=B=1 són indiferents. Mapes de Karnaugh de 4 variables.

Pista 3

Per comprovar l'apartat c), anota el diner acumulat: cada producte representa 30 cèntims, i cada devolució, 10.

Mira la solucióAmaga la solucióde l'exercici 37

Apartat a)

Resultat

Estats S0 (0 ct), S1 (10 ct), S2 (20 ct). S0: 10 → S1, 20 → S2; S1: 10 → S2, 20 → S0 amb P = 1; S2: 10 → S0 amb P = 1, 20 → S0 amb P = R = 1.

Resolució

  1. Per què aquests estats. Només cal recordar l'import acumulat, no l'ordre de les monedes: 10 + 20 i 20 + 10 donen el mateix. Els imports de 30 o 40 ct no necessiten estat, perquè en aquest moment s'emet P (i R) i es torna a S0.
  2. Taula d'estats (estat següent / P R).
    EstatAB = 00AB = 10 (10 ct)AB = 01 (20 ct)
    S0S0 / 00S1 / 00S2 / 00
    S1S1 / 00S2 / 00S0 / 10
    S2S2 / 00S0 / 10S0 / 11
  3. Interpretació. S1 + 10 = 20 (va a S2); S1 + 20 = 30 (producte); S2 + 10 = 30 (producte); S2 + 20 = 40 (producte i devolució). Com que P i R depenen de l'entrada del mateix cicle, és una màquina de Mealy.

Apartat b)

Resultat

D1=A Q0+B Q1‾ Q0‾+Q1 A‾ B‾D_1 = A\,Q_0 + B\,\overline{Q_1}\,\overline{Q_0} + Q_1\,\overline{A}\,\overline{B}; D0=A Q1‾ Q0‾+Q0 A‾ B‾D_0 = A\,\overline{Q_1}\,\overline{Q_0} + Q_0\,\overline{A}\,\overline{B}; P=A Q1+B Q0+B Q1P = A\,Q_1 + B\,Q_0 + B\,Q_1; R=B Q1R = B\,Q_1.

Resolució

  1. Indiferents. Les files amb Q1Q0=11Q_1Q_0 = 11 i amb A=B=1A = B = 1 són impossibles i es prenen com a X als mapes de Karnaugh de 4 variables.
  2. Estat següent. D1=A Q0+B Q1‾ Q0‾+Q1 A‾ B‾D_1 = A\,Q_0 + B\,\overline{Q_1}\,\overline{Q_0} + Q_1\,\overline{A}\,\overline{B} D0=A Q1‾ Q0‾+Q0 A‾ B‾D_0 = A\,\overline{Q_1}\,\overline{Q_0} + Q_0\,\overline{A}\,\overline{B}
  3. Sortides. P=A Q1+B Q0+B Q1P = A\,Q_1 + B\,Q_0 + B\,Q_1 i R=B Q1R = B\,Q_1: la devolució només es dona amb una moneda de 20 a l'estat de 20 ct.
  4. Comprovació. Les equacions reprodueixen les 3 × 3 = 9 situacions vàlides de la taula.

Apartat c)

Resultat

Estats: S1, S0, S0, S2, S0, S1, S2, S0, S2, S0; P = 1 als cicles 2, 5, 8 i 10; R = 1 al cicle 5. Cobrat 130 ct = 4 · 30 + 1 · 10 + 0 pendent ✓.

Resolució

  1. Simulació.
    MonedaEstat abansEstat desprésPR
    10S0S100
    20S1S010
    —S0S000
    20S0S200
    20S2S011
    10S0S100
    10S1S200
    10S2S010
    20S0S200
    10S2S010
  2. Balanç. Total cobrat: 10 + 20 + 20 + 20 + 10 + 10 + 10 + 20 + 10 = 130 ct. Productes: 4 (120 ct); devolucions: 1 (10 ct); import pendent: 0 ct (acaba a S0).
  3. Conclusió. 120 + 10 + 0 = 130 ct: quadra.

Apartat d)

Resultat

Amb A = B = 1 o des de l'estat 11 les equacions fan coses no especificades (anar a 11, lliurar producte sense cobrar-lo, quedar bloquejada a 11). Les indiferents només es defensen si aquestes situacions són físicament impossibles; és més robust dirigir-les a S0 sense lliurar res (o fer servir codificació one-hot).

Resolució

  1. A = B = 1. Des de S0: D1D0 = 11, P = R = 0 (va a l'estat no utilitzat 11). Des de S1: D1D0 = 10, P = 1, R = 0. Des de S2: D1D0 = 00, P = 1, R = 1. Lliura producte (i fins i tot canvi) amb un import que potser no s'ha pagat.
  2. Estat 11. Amb AB = 00 es queda a 11 (D1D0 = 11, P = R = 0): queda bloquejada mentre no arribi cap moneda. Amb AB = 10: va a 10 amb P = 1. Amb AB = 01: va a 00 amb P = 1 i R = 1. En aquests dos casos lliura producte sense cobrar-lo.
  3. Ús dels indiferents. Només és defensable si les situacions són físicament impossibles (així s'estalvien portes); aquest disseny no és autocorrector i cal un reinici en connectar l'alimentació.
  4. Alternativa robusta. Especificar totes les transicions de 11 (i de A = B = 1) cap a S0 amb P = R = 0, a costa d'unes quantes portes més, o fer servir codificació one-hot (3 biestables, un per estat) amb totes les combinacions no vàlides dirigides a S0 sense lliurar res.

Errors típics

  • Fer un estat per a cada seqüència de monedes (10+20 i 20+10 com a estats diferents) en lloc de recordar només l'import.
  • Oblidar la devolució quan s'arriba a 40 ct, o activar-la també a 30 ct.
  • Oblidar que les sortides de Mealy depenen de l'entrada BB: RR val 1 només amb B=1B=1 i import 20.
  • Utilitzar els indiferents sense revisar què fa la màquina en aquestes situacions.

Conceptes treballats: màquina de Mealy, estats com a memòria de l'import acumulat, assignació d'estats, simplificació amb indiferents, verificació amb seqüències, robustesa del disseny.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 38

El motor d'un ventilador de 12 V es regula amb un senyal PWM generat per un comptador binari de nn bits que compta cíclicament de 0 a 2n−12^{n}-1 amb un rellotge fclk=16f_{\mathrm{clk}}=16 MHz. La sortida és Y=1Y = 1 mentre el valor del comptador és menor que un valor DD guardat en un registre (comparador CNT<D\mathrm{CNT} \lt D).
a) Per a n=8n=8: calcula la freqüència del PWM, la resolució del cicle de treball i el valor mitjà de la tensió al motor per a D=96D=96 (amb la sortida commutant entre 0 i 12 V). Quants flancs de rellotge duu la part alta del senyal?
b) El PWM s'ha de situar per sobre dels 20 kHz perquè el motor no xiuli (l'oïda humana arriba a uns 20 kHz). Calcula la freqüència per a n=9n=9 i n=10n=10 i digues quin és el nombre de bits més gran que es pot fer servir i quina resolució de duty en dona. Com es podria augmentar la resolució sense baixar la freqüència?
c) Un servomotor de model necessita un pols cada 20 ms de durada entre 1 ms i 2 ms (que correspon a 0° i 180°). Amb el mateix rellotge de 16 MHz i un prescaler que el divideix per 8, calcula el nombre de bits que necessita el comptador per comptar 20 ms i el nombre de passos entre 1 ms i 2 ms. Quina és la resolució angular?
d) Si el registre DD es modifica a mig període, el PWM pot produir un pols anormal. Simula (amb n=8n=8) un canvi de D=50D=50 a D=200D=200 quan el comptador val 100, i un canvi de D=200D=200 a D=50D=50 en el mateix instant. Quin és el temps en alt durant aquest període en cada cas, i quants polsos es produeixen? Proposa una solució de maquinari.

Pista 1

El comptador recorre 2n2^{n} valors abans de repetir-se: el període és 2n/fclk2^{n}/f_{\mathrm{clk}}.

Pista 2

Per a la freqüència mínima de 20 kHz, calcula el valor màxim de 2n2^{n} que compleix fclk/2n≥20f_{\mathrm{clk}}/2^{n} \geq 20 kHz. Si la freqüència mínima és fixa, pensa què pots canviar del rellotge perquè nn pugui créixer.

Pista 3

En d), dibuixa l'ona: la sortida és 1 mentre el comptador és menor que el valor vigent de DD en aquest instant. Mira què passa just en el moment del canvi.

Mira la solucióAmaga la solucióde l'exercici 38

Apartat a)

Resultat

fPWM=62,5 kHzf_{\text{PWM}} = 62{,}5\ \text{kHz}; resolució 1/256 ≈ 0,39 %; Vˉ=4,5 V\bar{V} = 4{,}5\ \text{V} (37,5 %); la part alta dura 96 flancs (6,0 µs).

Resolució

  1. Període. El comptador recorre 28=2562^{8} = 256 valors: T=25616 MHz=16 μs⇒f=62,5 kHzT = \dfrac{256}{16\ \text{MHz}} = 16\ \mu\text{s} \quad\Rightarrow\quad f = 62{,}5\ \text{kHz}
  2. Resolució. 1/256 ≈ 0,39 % per pas.
  3. Tensió mitjana. Amb D=96D = 96, Y=1Y = 1 mentre CNT = 0…95: cicle de treball 96/256 = 37,5 %, i Vˉ=12 V⋅0,375=4,5 V\bar{V} = 12\ \text{V}\cdot 0{,}375 = 4{,}5\ \text{V}
  4. Part alta. Dura 96 flancs de rellotge: 96⋅62,5 ns=6,0 μs96\cdot 62{,}5\ \text{ns} = 6{,}0\ \mu\text{s}.

Apartat b)

Resultat

n=9n = 9: 31,25 kHz (vàlid); n=10n = 10: 15,6 kHz (audible). Màxim n=9n = 9, amb resolució 1/512 ≈ 0,195 %. Per tenir més resolució: un rellotge més ràpid o dithering.

Resolució

  1. Freqüències. n=9n = 9: 16 MHz/512=31,25 kHz≥20 kHz16\ \text{MHz}/512 = 31{,}25\ \text{kHz} \geq 20\ \text{kHz}. n=10n = 10: 16 MHz/1024≈15,6 kHz<20 kHz16\ \text{MHz}/1024 \approx 15{,}6\ \text{kHz} \lt 20\ \text{kHz}, audible.
  2. Bits màxims. n=9n = 9, amb una resolució d'1/512 ≈ 0,195 %.
  3. Més resolució. Cal un rellotge més ràpid (fclk≥20 kHz⋅2nf_{\text{clk}} \geq 20\ \text{kHz}\cdot 2^{n}), o bé dithering: alternar entre dos valors de D en períodes successius perquè la mitjana tingui més resolució, a costa d'una lleugera ondulació a baixa freqüència.

Apartat c)

Resultat

16 bits; 2000 passos entre 1 i 2 ms; resolució angular 0,09°.

Resolució

  1. Rellotge efectiu. 16 MHz/8=2 MHz16\ \text{MHz}/8 = 2\ \text{MHz}: un tic cada 0,5 μs0{,}5\ \mu\text{s}.
  2. Bits. 20 ms = 40 000 tics. Com que 215=32 768<40 000≤216=65 5362^{15} = 32\,768 \lt 40\,000 \leq 2^{16} = 65\,536, calen 16 bits.
  3. Passos. Entre 1 ms (2000 tics) i 2 ms (4000 tics) hi ha 2000 passos de 0,5 µs.
  4. Resolució angular. 180∘/2000=0,09∘180^{\circ}/2000 = 0{,}09^{\circ}, més que suficient: el servo mecànic no és tan precís.

Apartat d)

Resultat

50 → 200: 2 polsos i 150 tics en alt (9,4 µs, 58,6 %). 200 → 50: 1 pols de 100 tics (6,25 µs, 39,1 %). Solució: doble buffer que actualitzi D quan el comptador torna a 0.

Resolució

  1. Cas 50 → 200. Abans del canvi la sortida és 1 per a CNT = 0…49 (50 tics) i 0 de 50 a 99. En el canvi, 100<200100 \lt 200: la sortida torna a 1 i s'hi manté fins a 199 (100 tics). Hi ha dos polsos en un període, amb un temps en alt de 50+100=15050 + 100 = 150 tics, 150⋅62,5 ns≈9,4 μs150\cdot 62{,}5\ \text{ns} \approx 9{,}4\ \mu\text{s} (58,6 %), en lloc de 50 o 200.
  2. Cas 200 → 50. Fins a CNT = 99 la sortida és 1 (100 tics); en el canvi, 100≥50100 \geq 50 i passa a 0. Un sol pols de 100 tics, 6,25 μs6{,}25\ \mu\text{s} (39,1 %), que no correspon ni al D vell ni al nou.
  3. Solució. Doble buffer (registre d'«ombra»): el valor nou es guarda en un registre intermedi i només es copia al registre del comparador quan el comptador torna a 0, al final del període.

Errors típics

  • Dividir per 2n−12^{n}-1 en lloc de 2n2^{n}: el comptador té 2n2^{n} valors diferents.
  • Pensar que més bits sempre és millor: a un rellotge fix, més bits redueix la freqüència del PWM.
  • Oblidar el prescaler en l'apartat dels servos i calcular el nombre de passos amb el rellotge de 16 MHz.
  • Canviar el valor de comparació en qualsevol instant sense doble buffer.

Conceptes treballats: comptadors binaris, freqüència i resolució d'un PWM, comparador, prescaler, servomotors, valor mitjà d'una tensió PWM, sincronització de canvis de registre (doble buffer).

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 39

Un sistema de 12 MHz necessita un senyal de 4 MHz amb un cicle de treball del 50 % (és a dir, el senyal ha de ser alt la meitat del temps), obtingut amb una divisió per 3 del rellotge. Es disposa de biestables D que canvien en el flanc de pujada i d'altres que canvien en el flanc de baixada.
a) Dissenya un comptador de mòdul 3 amb dos biestables (Q1Q0Q_1Q_0: 00→01→10→0000\to01\to10\to00). Dona les equacions D1D_1 i D0D_0 i comprova què passa si arrenca a l'estat no utilitzat 1111. Quin cicle de treball té la sortida Q1Q_1 i quina freqüència? Per què no es pot obtenir el 50 % usant només biestables de flanc de pujada?
b) Afegeix un biestable que capturi Q1Q_1 en el flanc de baixada del rellotge (Q1nQ_{1n}) i defineix la sortida Y=Q1+Q1nY = Q_1 + Q_{1n} (OR). Dibuixa, en semiperíodes de rellotge, Q1Q_1, Q1nQ_{1n} i YY durant dos períodes de la sortida i comprova que el cicle de treball és del 50 %.
c) Generalitza: per dividir per N=5N=5 amb un cicle del 50 %, quants biestables necessita el comptador? Quina funció QaQ_a (generada en flanc de pujada) has d'usar perquè, amb la mateixa tècnica, surti el 50 %? Comprova-ho amb una simulació en semiperíodes.
d) Raona per què l'OR dels dos senyals no produeix glitches (pics espuris) si els dos biestables són perfectes, i quin problema pràctic pot aparèixer si el rellotge no té exactament el 50 % de cicle de treball.

Pista 1

Un comptador de mòdul 3 té tres estats: cada estat dura un període de rellotge. Una sortida que val 1 només en un d'ells és alta 1 de cada 3 períodes.

Pista 2

Si desplaces el senyal mig període i el combines amb l'original amb un OR, l'amplada de l'alt creix mig període. Quina amplada necessites per tenir 50 % d'un període de 3?

Pista 3

Per N=5N=5, el senyal original ha de ser alt un nombre sencer de períodes i el desplaçat n'hi afegeix mig. Quin nombre de períodes cal perquè el total sigui la meitat de 5?

Mira la solucióAmaga la solucióde l'exercici 39

Apartat a)

Resultat

D1=Q0D_1 = Q_0, D0=Q1‾ Q0‾D_0 = \overline{Q_1}\,\overline{Q_0}; 11 → 10 → 00 (s'autocorregeix). Q1Q_1 té f=4 MHzf = 4\ \text{MHz} i un cicle de treball del 33,3 %. Amb només flancs de pujada, l'alt només pot durar 1 o 2 períodes de 3.

Resolució

  1. Equacions. Transicions 00 → 01, 01 → 10, 10 → 00: D1=Q0D_1 = Q_0 i D0=Q1‾ Q0‾D_0 = \overline{Q_1}\,\overline{Q_0}.
  2. Estat 11. D1=1D_1 = 1, D0=0D_0 = 0 → 10, i després 00: s'autocorregeix en un cicle.
  3. Sortida Q1. Val 1 només a l'estat 10: 1 període de rellotge de cada 3, és a dir, un cicle de treball del 33,3 %, amb f=12 MHz/3=4 MHzf = 12\ \text{MHz}/3 = 4\ \text{MHz}.
  4. Per què no el 50 %. Amb només flancs de pujada, tots els canvis de la sortida es fan a múltiples d'un període sencer: en un període de sortida de 3 períodes de rellotge, l'alt només pot durar 1 o 2 períodes (33 % o 67 %), mai 1,5.

Apartat b)

Resultat

YY = 001110 001110 (en semiperíodes): 3 de 6 semiperíodes alts, cicle de treball del 50 % a 4 MHz.

Resolució

  1. Biestable de baixada. Q1nQ_{1n} copia Q1Q_1 en el flanc de baixada: és el mateix senyal retardat mig període.
  2. Cronograma.
    SemiperíodeFlancQ1Q0Q_1Q_0Q1Q_1Q1nQ_{1n}YY
    1pujada01000
    2baixada01000
    3pujada10101
    4baixada10111
    5pujada00011
    6baixada00000
    7pujada01000
    8baixada01000
    9pujada10101
    10baixada10111
    11pujada00011
    12baixada00000
  3. Cicle de treball. Q1Q_1 és alt 1 període (2 semiperíodes) i Q1nQ_{1n} mig període més tard: l'OR dona 1,5 períodes alts de cada 3, és a dir, el 50 %, a 4 MHz.

Apartat c)

Resultat

Calen 3 biestables; QaQ_a ha de ser alt 2 períodes consecutius de cada 5 (per exemple, als estats 3 i 4): YY = 0000111110, el 50 %.

Resolució

  1. Comptador. Mòdul 5 (0 a 4): ⌈log⁡25⌉=3\lceil\log_2 5\rceil = 3 biestables.
  2. Amplada de Qa. Volem 2,5 períodes alts de 5, i el retard de mig període n'hi afegeix 0,5: QaQ_a ha de ser alt 2+0,5=2,5=5/22 + 0{,}5 = 2{,}5 = 5/2, és a dir, 2 períodes consecutius. Per exemple, Qa=1Q_a = 1 quan l'estat és 3 o 4 (un biestable amb D = 1 quan l'estat actual és 2 o 3).
  3. Simulació. En 10 semiperíodes: YY = 0000111110, amb 5 semiperíodes alts de 10 → 50 %.
  4. Generalització. Per a N senar, QaQ_a ha de ser alt (N−1)/2(N-1)/2 períodes consecutius.

Apartat d)

Resultat

No hi ha glitches perquè els flancs de Q1 i Q1n estan separats mig període (mai no canvien alhora). Si el rellotge no té el 50 %, el cicle de treball de Y deixa de ser exacte.

Resolució

  1. Absència de glitches. Els flancs de Q1Q_1 (pujada del rellotge) i els de Q1nQ_{1n} (baixada) estan separats mig període: quan un senyal canvia, l'altre és estable. En concret, Q1Q_1 baixa quan Q1nQ_{1n} encara val 1, de manera que YY no té transicions simultànies.
  2. Rellotge no simètric. El retard de Q1nQ_{1n} és el temps en alt del rellotge, tHt_H, i no T/2: l'alt de YY dura T+tHT + t_H i el cicle de treball és (1+d)/3(1 + d)/3. Per exemple, amb un rellotge del 40 %, YY queda al 46,7 %.
  3. Altres problemes pràctics. Si per variacions de retard l'alt de Q1Q_1 i el de Q1nQ_{1n} deixen d'encavalcar-se, podria aparèixer un forat curt a YY. També cal que el rellotge arribi als dos biestables amb la mateixa fase (distorsió de rellotge).

Errors típics

  • Intentar corregir el 33 % només ajustant les equacions del comptador: amb flancs de pujada, l'amplada és sempre un nombre enter de períodes.
  • Fer servir un AND en lloc d'un OR dels dos senyals: l'AND donaria només 0,5 període d'alt.
  • Oblidar que per a NN senar la sortida original ha de ser alta (N−1)/2(N-1)/2 períodes, no N/2N/2.
  • Deixar sense definir l'estat no utilitzat 1111: el comptador podria quedar bloquejat.

Conceptes treballats: comptador de mòdul N, divisió de freqüència, cicle de treball, biestables de flanc de baixada, combinació de dues fases, autocorrecció d'estats no utilitzats, glitches.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Exercici 40

Un transmissor sèrie asíncron (UART) envia cada byte en una trama 8N1: un bit d'start (0), els 8 bits de dades començant pel de menys pes (LSB primer), i un bit de stop (1). Entre trames la línia reposa a 1. El sistema funciona amb un rellotge de fclk=50 MHzf_{\mathrm{clk}} = 50\ \mathrm{MHz} i la velocitat és de 115 200115\,200 baud (bits/s). L'arquitectura és: un registre de desplaçament de 10 biestables D amb càrrega paral·lela (a cada pols de baud desplaça cap a la dreta i hi entra un 1 per l'esquerra; la línia és la sortida Q0Q_0), un comptador de baud, un comptador de bits (de 0 a 9) i un biestable «ocupat».
a) Quants cicles de rellotge dura un bit? Quants biestables ha de tenir el comptador de baud? Quin és el baud real i l'error relatiu respecte de 115 200115\,200?
b) Quant dura una trama i quina és la taxa de dades útils (bits de dades per segon)?
c) Per al byte 4B164\mathrm{B}_{16} escriu la seqüència de bits a la línia i el valor de 10 bits que cal carregar al registre (Q9…Q0Q_9\ldots Q_0). Quants biestables té en total el transmissor? Per què, després de la trama, la línia queda a 1 automàticament?
d) El receptor té el seu propi oscil·lador i, en detectar el flanc de baixada del start, mostreja cada bit en el seu centre. Quin és el cicle (comptat des del flanc) de mostreig del bit de dades D0D_0? Quin és l'error màxim relatiu de freqüència entre els dos rellotges perquè es llegeixi bé el bit de stop? Per què a la pràctica se'n demana menys?
e) S'afegeix un bit de paritat parella (trama 8E1). Quin valor té el bit per a 4B164\mathrm{B}_{16} i com es calcula amb portes? Quina és la nova durada de trama i la taxa útil? Detecta tots els errors de transmissió? Raona-ho.

Pista 1

Cicles per bit = fclkf_{\mathrm{clk}} dividit entre el baud (arrodonit a l'enter). El comptador de baud ha de comptar fins a aquest valor menys 1: calcula el mínim nn tal que 2n2^n arribi a aquest valor.

Pista 2

El bit que surt primer és Q0Q_0, de manera que el bit d'start ha d'anar a Q0Q_0, després D0D_0 a Q1Q_1, etc., i el stop a Q9Q_9. Escriu 4B164\mathrm{B}_{16} en binari i inverteix l'ordre per a la línia.

Pista 3

El receptor mostreja al centre de cada bit; el bit de stop es mostreja 9,59{,}5 períodes de bit després del flanc. Durant aquest temps els rellotges s'han desfasat ε⋅9,5\varepsilon\cdot 9{,}5 períodes de bit, i no pot passar de mig bit.

Mira la solucióAmaga la solucióde l'exercici 40

Apartat a)

Resultat

434 cicles per bit; comptador de 9 biestables; baud real ≈ 115 207 baud, error ≈ +0,0064 %.

Resolució

  1. Cicles per bit. 50⋅106115 200=434,03≈434\dfrac{50\cdot10^{6}}{115\,200} = 434{,}03 \approx 434
  2. Comptador de baud. Compta de 0 a 433 (434 estats): com que 28=256<434≤29=5122^{8} = 256 \lt 434 \leq 2^{9} = 512, calen 9 biestables.
  3. Error. Baud real =50⋅106/434≈115 207,4= 50\cdot10^{6}/434 \approx 115\,207{,}4; error ≈+0,0064 %\approx +0{,}0064\ \%, totalment negligible.

Apartat b)

Resultat

Trama de 86,8 μs86{,}8\ \mu\text{s}; taxa útil ≈ 92,2 kbit/s92{,}2\ \text{kbit/s} (80 % del baud).

Resolució

  1. Durada de la trama. 10 bits · 434 cicles = 4340 cicles: t=434050⋅106 Hz=86,8 μst = \dfrac{4340}{50\cdot10^{6}\ \text{Hz}} = 86{,}8\ \mu\text{s}
  2. Taxa útil. 8/86,8 μs≈92,2 kbit/s8/86{,}8\ \mu\text{s} \approx 92{,}2\ \text{kbit/s}: el 80 % del baud, perquè 2 dels 10 bits són de control.

Apartat c)

Resultat

Línia: 0 1 1 0 1 0 0 1 0 1; registre Q9…Q0Q_9\ldots Q_0 = 1010010110 (29616); 24 biestables. La línia queda a 1 perquè per l'esquerra entren uns.

Resolució

  1. Bits de dades. 4B16=0100101124\mathrm{B}_{16} = 01001011_{2}; LSB primer: 1, 1, 0, 1, 0, 0, 1, 0.
  2. Línia. Start, D0…D7, stop: 0 1 1 0 1 0 0 1 0 1.
  3. Registre. El bit que surt primer és Q0Q_0: Q0Q_0 = start, Q1…Q8Q_1\ldots Q_8 = D0…D7, Q9Q_9 = stop. Així, Q9…Q0=1 01001011 0=10100101102=29616Q_9\ldots Q_0 = 1\ 01001011\ 0 = 1010010110_{2} = 296_{16}.
  4. Biestables. Registre (10) + comptador de baud (9) + comptador de bits de 0 a 9 (4) + ocupat (1) = 24.
  5. Línia en repòs. A cada desplaçament entra un 1 per l'esquerra: després de 10 desplaçaments el registre és tot 1 i la línia queda a 1 fins a la càrrega següent.

Apartat d)

Resultat

Cicle 651; error màxim ε<1/19≈5,3 %\varepsilon \lt 1/19 \approx 5{,}3\ \%; a la pràctica se'n demana menys (≈ 2–3 %).

Resolució

  1. Mostreig de D0. El centre del start és al cicle 434/2=217434/2 = 217 i el de D0, un bit més tard: 434+217=651434 + 217 = 651 (i després, cada 434 cicles).
  2. Bit de stop. Es mostreja 9,59{,}5 períodes de bit després del flanc. Es llegeix bé mentre la deriva acumulada no passi de mig bit: 9,5 ε<0,5⇒ε<119≈5,3 %9{,}5\,\varepsilon \lt 0{,}5 \quad\Rightarrow\quad \varepsilon \lt \dfrac{1}{19} \approx 5{,}3\ \%
  3. A la pràctica. Se'n demana menys (≈ 2–3 %) perquè s'hi sumen la incertesa de ±1 cicle en detectar el flanc, el soroll, els flancs amb pendent finit i l'error del propi emissor.

Apartat e)

Resultat

Bit de paritat = 0; 7 portes XOR; trama de 95,5 μs95{,}5\ \mu\text{s} i taxa útil ≈ 83,8 kbit/s83{,}8\ \text{kbit/s}. No detecta tots els errors: només els que canvien un nombre senar de bits.

Resolució

  1. Valor del bit. Les dades de 4B164\mathrm{B}_{16} tenen quatre uns (nombre parell): amb paritat parella el bit és 0, perquè el total d'uns (dades + paritat) ha de ser parell.
  2. Circuit. És la XOR dels 8 bits: 7 portes XOR de 2 entrades (en arbre de 3 nivells).
  3. Nova trama. 11 bits: 11⋅434/(50⋅106)≈95,5 μs11\cdot 434/(50\cdot10^{6}) \approx 95{,}5\ \mu\text{s}; taxa útil 8/95,5 μs≈83,8 kbit/s8/95{,}5\ \mu\text{s} \approx 83{,}8\ \text{kbit/s} (72,7 % del baud).
  4. Detecció. Només detecta un nombre senar d'errors: si canvien dos bits (per exemple D1 i D5) la paritat continua sent correcta i l'error passa desapercebut. A més, no els pot corregir.

Errors típics

  • Calcular el nombre de biestables del comptador amb log⁡2434\log_2 434 sense arrodonir cap amunt, o comptar fins a 434 en lloc de 433 (de 0 a 433 hi ha 434 estats).
  • Posar els bits de dades en l'ordre del nombre (MSB primer) en lloc de LSB primer.
  • Oblidar els bits de start i stop en la durada de la trama o en la taxa útil.
  • Confondre la paritat parella amb «posar el bit a 0»: s'ha de fer que el nombre total d'uns sigui parell.
  • Creure que la paritat detecta qualsevol error: només els que canvien un nombre senar de bits.

Conceptes treballats: divisió de freqüència amb comptadors, registres de desplaçament amb càrrega paral·lela, protocol sèrie asíncron (start/stop/baud), tolerància de rellotge, mostreig al centre del bit, paritat amb portes XOR, taxa útil i eficiència.

Nivell PAU: t'ajudem amb el dubte? Pregunta-ho per WhatsApp · Ensenya-ho a casa

Preguntes freqüents

Quina diferència hi ha entre un circuit combinacional i un de seqüencial?

En un circuit combinacional la sortida depèn només de les entrades actuals. En un de seqüencial també depèn de l'estat anterior, perquè té memòria: es construeix amb biestables i una lògica combinacional que calcula l'estat següent.

Com es dissenya un comptador síncron amb biestables?

Es dibuixa el diagrama d'estats, s'escriu la taula de transicions, s'obtenen les entrades dels biestables amb la seva taula d'excitació, es simplifiquen les funcions amb mapes de Karnaugh (aprofitant els estats no utilitzats com a indiferents) i es comprova què passa si el comptador entra en un d'aquests estats.

Quina diferència hi ha entre una màquina de Moore i una de Mealy?

En una màquina de Moore la sortida depèn només de l'estat, i canvia només amb el rellotge. En una de Mealy depèn de l'estat i de les entrades, de manera que pot canviar tan bon punt canvia una entrada.

Per què un comptador asíncron és més lent que un de síncron?

Perquè en l'asíncron la sortida de cada biestable fa de rellotge del següent i els retards de propagació se sumen: el valor no és correcte fins que s'ha estabilitzat l'últim bit. En el síncron tots els biestables reben el rellotge alhora i només compta el retard d'un biestable més el de la lògica.

Tornar a Tecnologia i Enginyeria

Altres temes de Tecnologia i Enginyeria 2n Batxillerat