Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pl:laboratoare:03 [2020/07/29 00:00]
127.0.0.1 external edit
pl:laboratoare:03 [2020/12/09 07:59] (current)
giorgiana.vlasceanu [1. Verificarea funcționării circuitului basculant bistabil J-K Master Slave]
Line 1: Line 1:
-===== Laboratorul 03. =====+====== ​Laborator 3 - Logică secvențială ======  
 +==== 1. Verificarea funcționării circuitului basculant bistabil J-K Master Slave ====
  
 +<​note>​CBB J-K MS funcționează conform ecuației: $Q^{n+1}=(J \cdot \bar{Q} + \bar{K} \cdot Q)^n$, iar:
 +  * $n$ reprezintă perioada **curentă** a ceasului CLK
 +  * $n+1$ reprezintă perioada **următoare** a ceasului CLK
 +  * semnalul CLK determină comutația la trecerea din valoarea logică 1 în valoarea logică 0
 +  * semnalul CLR este activ în "​zero",​ este asincron și prioritar față de CLK și comanda $Q=0$
 +</​note>​
 +^  $CLR$  ^  $CLK$  ^  $J$  ^  $K$  ^  $Q^{n+1}$ ​ ^  $Funcția$ ​ ^
 +|  0      |     ​X ​  ​| ​   X  |    X  |        0    |Clear asincron|
 +|  1      |     ​↓ ​  ​| ​   0  |    0  |    $Q^{n}$ ​ |NOP        |
 +|  1      |     ​↓ ​  ​| ​   0  |    1  |        0    |RESET ​     |
 +|  1      |     ​↓ ​  ​| ​   1  |    0  |        1    |SET        |
 +|  1      |     ​↓ ​  ​| ​   1  |    1  |  $\overline{Q^{n+1}}$ ​ |TOGGLE |
 +\\
 +Pași:
 +  - Se contectează intrările $CLR, CLK$ și $J$, $K$ la patru switch-uri de pe placa de intrări, iar ieșirile $Q, \bar{Q}$ pe placa de ieșiri. Cele patru intrări vor fi pe poziția $0$ și se va verifica $Q=0$, $\bar{Q}=1$.
 +  - Se păstrează semnalul $CLR$ pe poziția 1, se trece $J=1$ și se comută $CLK$ pe 1 și înapoi pe 0. Se constată că starea ieșirilor va fi $Q=1, \bar{Q}=0$, la revenirea ceasului $CLK$ în valoarea 0; s-a verificat funcția **SET sincronizat de CLK pe frontul negativ ↓**.
 +  - Se păstrează semnalul $CLR$ pe poziția 1, se trec $J=0$ și $K=1$ și se comută $CLK$ pe 1 și înapoi pe 0. Se constată că starea ieșirilor va fi $Q=0, \bar{Q}=1$, la revenirea ceasului $CLK$ în valoarea 0; s-a verificat funcția **RESET sincronizat de CLK pe frontul negativ ↓**.
 +  - Se păstrează semnalul $CLR$ pe poziția 1, se trec $J=1$ și $K=1$ și se comută CLK pe 1 și înapoi pe 0. Se constată că starea ieșirilor va comuta la fiecare revenire a ceasului $CLK$ învaloarea 0; s-a verificat funcția **TOGGLE sincronizat de CLK pe frontul negativ ↓**.
 +
 +\\
 +==== 2. Proiectarea unui numărător modulo 16 cu CBB J-K Master Slave ====
 +
 +Variabilele $J, K$ vor fi implementate cu porți logice (opțional în funcție de timp).
 +\\
 +Se vor utiliza cele 4 module J-K de pe placă.
 +\\
 +Pași:
 +  - Cele 4 intrări $CLR$ vor fi conectate împreună la același switch pe pe placa de intrări.
 +  - Cele 4 intrări $CLK$ vor fi conectate împreună la același switch de pe placa de intrări.
 +  - Intrările $J, K$ vor fi generate astfel:$ J_0=K_0=1, ​ J_1=K_1=Q_0, ​ J_2=K_2=Q_0 Q_1,  J_3=K_3=Q_0 Q_1 Q_2 $. Se vor utiliza porți NAND și inversoare.
 +  - Ieșirile $Q_0, Q_1, Q_2, Q_3$ se vor conecta la un afișaj cu 7 segmente.
 +
 +^ Ieșire Q |  $Q_0$  |  $Q_1$  |  $Q_2$  |  $Q_3$  |
 +^ Intrare placă output |  A  |  B  |  C  |  D  |
 +
 +Inițial, $CLR=0$ și se verifică starea "​zero"​ a numărătorului.
 +\\
 +Se trece $CLR=1$ și se comută semnalul $CLK$ **din 0 în 1** și apoi **din 1 în 0**; la fiecare comutare a lui CLK se va verifica incrementarea stării numărătorului și revenirea în starea "​zero"​ după 16 impulsuri CLK.
 +<note tip>​Semnalul $CLK$ va fi preluat de pe placa de intrări configurându-se la frecvență minimă.</​note>​
 +
 +\\
 +==== 3. Verificarea funcționării circuitului basculant bistabil de tip D ====
 +
 +<​note>​CBB D funcționează conform ecuației $Q^{n+1}=D^n$,​ iar:
 +  * $n$ reprezintă perioada **curentă** a ceasului CLK
 +  * $n+1$ reprezintă perioada **următoare** a ceasului CLK
 +  * semnalul CLK determină comutația la trecerea din valoarea logică 0 în valoarea logică 1
 +  * semnalul EN (Output Enable) este activ în "​zero"​ și activează cele 8 ieșiri
 +</​note>​
 +
 +Dacă $EN=1$, toate ieșirie $Q_i=Z$, valoare nedeterminabilă (deconectate sau mascate).
 +
 +^  $EN$  ^  $CLK$  ^  $D_i$  ^  $Q_i$  ^
 +|  1  |  X  |  X  |  Z  |
 +|  0  |  ↑  |  0/1  |  0/1  |
 +
 +Pași:
 +  - Se conectează intrările $EN, CLK$ la două switch-uri de pe placa de intrări care vor fi inițial la valoarea 1 și ieșirile $Q_i$ la 8 led-uri, în ordine, pe placa de ieșiri.
 +  - Se pune semnalul $EN$ pe poziția 0.
 +  - Se configurează două seturi de valori pentru intrările $D_i$:
 +
 +^  $EN$  ^  $CLK$  ^  $D_7$  ^  $D_6$  ^  $D_5$  ^  $D_4$  ^  $D_3$  ^  $D_2$  ^  $D_1$  ^   ​$D_0$ ​ ^  HEXA  ^
 +|  0  |  ↑  |  0 |  1  |  0  |  1  |  0  |  1  |  0  |  1  |  55  | 
 +|  0  |  ↑  |  0 |  0  |  0  |  0  |  1  |  1  |  1  |  1  |  0F  | 
 +
 +Pentru fiecare configurație a intrărilor,​ se comută $CLK$. La revenirea ceasului $CLK$ în valoarea 1, se va verifica funcția **LOAD sincronizat de CLK pe frontul pozitiv ↑**.
 +
 +
 +\\
 +==== 4. Verificarea funcționării numărătorului 74HC193 ====
 +
 +Numărătorul funcționează conform tabelului:
 +
 +^  Modul de operare ​ ^  Intrări ​ ^^^^^^^^ ​ Ieșiri ​ ^^^^
 +^ :::  ^  $CLR$  ^  $Load$ ​ ^  $Up$  ^  $Down$ ​ ^  $D_0$  ^  $D_1$  ^  $D_2$  ^  $D_3$  ^  $Q_0$  ^  $Q_1$  ^  $Q_2$  ^  $Q_3$  | 
 +^Reset (Clear) |  1  |  X  |  X  |  X  |  X  |  X  |  X  |  X  |  0  |  0  |  0  |  0  |
 +^Încărcare paralelă |  0  |  0  |  1  |  1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  |  0/1  | 
 +^Count up |  0  |  1  |  ↑  |  1  |  X  |  X  |  X  |  X  |  Numărare incrementală ​ ||||
 +^Count down |  0  |  1  |  1  |  ↑  |  X  |  X  |  X  |  X  |  Numărare decremetală ​ ||||
 +
 +\\
 +**4.1.** Se vor verifica succesiv toate modurile de operare prezentate în tabelă, observând că semnalele de intrare $RESET$ și $CLEAR$ sunt asincrone în raport cu ceasul. $CLR$ este activ în 1, iar $LOAD$ este activ în 0.
 +
 +<note tip>​Semnalele de ceas notate în tabelă cu ↑ vor fi preluate alternativ de pe placa de intrări de la CLK cu frecvență minimă.
 +  * Count Up: $UP=↑, ​ DOWN=1$
 +  * Count Down: $UP=1, ​ DOWN=↑$
 +</​note>​
 +\\
 +
 +**4.2.** Se va implementa un numărător **modulo 13** folosind placa cu porți logice.
 +
 +<note tip>
 +Semnalul $LOAD$ al numărătorului se va obține din următoarea expresie logică:
 +\\
 +$\overline{LOAD} = \overline{Q_3 Q_2 \overline{Q_1} Q_0}$
 +\\
 +Ieșirie din expresie se introduc într-un modul NAND cu patru intrări.
 +</​note>​
 +
 +\\
 +==== 5. Verificarea funcționării numărătorului decadic 74HC190 ====
 +
 +Numărătorul funcționează conform tabelei de mai jos:
 +
 +^  Modul de operare ​ ^  Intrări ​ ^^^^^  Ieșiri ​ ^
 +^  :::  ^  $Load$ ​ ^  $U/D$  ^  $CE$  ^  $CLK$  ^  $D_i$  ^  $Q_i$  ^
 +^ Încărcare paralelă |  0  |  X  |  X  |  X  |  0/1  |  0/1  |
 +^ Count up |  1  |  0  |  0  |  ↑  |  X  |  Numărare incrementală ​ |
 +^ Count down |  1  |  1  |  0  |  ↑  |  X  |  Numărare decrementală ​ |
 +^ No operation |  1  |  X  |  1  |  X  |  X  |  Nu se schimbă starea ​ |
 +
 +\\
 +**5.1.** Se vor verifica succesiv toate modurile de operare prezentate în tabelă, observând că semnalul de intrare $Load$ este asincron în raport cu ceasul.
 +<note tip> $Load$ este activ în 0. Pentru numărare în sens crescător, este necesar ca semnalul $U/D=0$, iar pentru numărătoare în sens descrescător,​ $U/D=1$
 +</​note>​
 +\\
 +**5.2.** Se va realiza un numărător **modulo 160** cu cele două numărătoare 74HC193 (cifra unităților hexazecimale) și 74HC190 (cifra zecilor decadice). Pentru aceasta, se vor configura ambele numărătoare să funcționeze __incremental__,​ iar __ceasul modulului **74HC190** va fi conectat la ieșirea Carry a modulului **74HC193**__.
 +<note tip>​Semnalele de ceas notate în tabelă cu ↑ vor fi preluate de pe placa de intrări de la CLK cu frecvență minimă.</​note>​
 +
 +\\
 +==== 6. Verificarea registrului universal de 4 biți ====
 +
 +<​note>​Registrul prezintă toate funcțiile necesare pentru realizarea operațiilor de:
 +  * ștergere conținut
 +  * încărcare paralelă
 +  * deplasare serială dreapta (shift right)
 +  * deplasare serială stânga (shift left)
 +</​note>​
 +În tabelă sunt prezentate funcțiile și modul lor de implementare:​
 +
 +^  Modul de operare ​ ^  Intrări ​ ^^^^^^^ ​ Ieșiri ​ ^^^^
 +^ ::: ^  $CLK$  ^  $EN(CLR)$ ​ ^  $S_1$  ^  $S_0$  ^  $D_{SR}$ ​ ^  $D_{SL}$ ​ ^  $D_i$  ^  $Q_0$  ^  $Q_1$  ^  $Q_2$  ^  $Q_3$  ^
 +^ Reset (Clear) |  X  |  0  |  X  |  X  |  X  |  X  |  X |  0  |  0  |  0  |  0  |
 +^ No operation |  X  |  1  |  0  |  0  |  X  |  X  |  X |  $Q_0$  |  $Q_1$  |  $Q_2$  |  $Q_3$  | 
 +^ Deplasare stânga |  ↑  |  1  |  1  |  0  |  X  |  0/1 |  X   ​| ​ $Q_1$  |  $Q_2$  |  $Q_3$   ​| ​ $D_{SL}$ ​ | 
 +^ Deplasare dreapta |  ↑  |  1  |  0  |  1  |  0/1  |  X  |  X  |  $D_{SR}$ ​ |  $Q_0$  |  $Q_1$  |  $Q_2$  | 
 +^ Încărcare paralelă |  ↑  |  1  |  1  |  1  |  X  |  X  |  $D_i$  |  $D_0$  |  $D_1$  |  $D_2$  |  $D_3$  |
 +\\
 +**6.1.** Să se verifice toate modurile de funcționare prezentate în tabelă.
 +\\
 +**6.2.** Să se verifice funcționarea în inel a registrului. Pentru aceasta:
 +  * se vor conecta intrarea $D_{SR}$ la ieșirea $Q_3$ și intrarea $D_{SL}$ la ieșirea $Q_0$
 +  * se încarcă paralel registrul cu valoarea 7, deci {$Q_0, Q_1, Q_2, Q_3$} = {$1, 1, 1, 0$}
 +  * se configurează intrările $S1=0, S0=1$ pentru deplasare dreapta și se analizează evoluția de tip permutare circulară în sens orar:
 +<​code>​
 +1110 → 0111 → 1011 → 1101
 +↑_______________________|
 +</​code>​
 +  * se configurează intrările $S1=1, S0=0$ pentru deplasare stânga și se analizează evoluția de tip permutare circulară în sens orar:
 +<​code>​
 +1110 → 0111 → 1011 → 1101
 +|_______________________↑
 +</​code>​
  
pl/laboratoare/03.1595970054.txt.gz · Last modified: 2020/11/10 22:20 (external edit)
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0