Digitalteknik F9 Automater Minneselement Digitalteknik F9 bild
Automater Från F minns vi följande om en automat (sekvenskrets): Utsignalerna beror av insignal och gammalt tillstånd: Insignaler Utsignaler Digital funktion ƒ ( ) Minneselement M Synk Digitalteknik F9 bild 2
Lite mer detaljerat... Insignaler Utsignaler Tillstånd (minne) Nuvarande tillstånd Nästa tillståndsavkodare (komb.) Utsignalavkodare (komb) clock Nästa tillstånd (kodat) Digitalteknik F9 bild 3
...och formellt En kombinatorisk krets kan beskrivas med en logikekvation av typen ƒ = F ( insignalerna ) Automaten beskrivs med en logikekvation av typen ƒ = F ( insignalerna, tillståndet ) Tillståndet (state) är den nödvändiga informationen om det förflutna Digitalteknik F9 bild 4
Vi skiljer på några olika automater: Automater Synkrona (de som intresserar oss i kursen) Asynkrona Mooreautomat: ƒ = F(state) Mealyautomat: ƒ = F(input, state) Digitalteknik F9 bild 5
Några problem:. Hur skapa och styra ett minneselement? 2. Hur skapa nästa tillstånds- och utsignalavkodare 3. Hur synkronisera automaten 4. Hur beskriver vi automatens funktion 5. Prestandaanalys Digitalteknik F9 bild 6
Minneselement Hur fungerar följande krets? Resonera: V in = --> V out = V in2 = --> V = V = out2 in V in V out Slutsats: Stabilt läge! V in = --> V out = V in2 = / --> V = V = out2 in V in2 V out2 Slutsats: Stabilt läge! Vid spänningstillslag antar kretsen något av de båda tillstånden eller Digitalteknik F9 bild 7
Minneselement Problem : Vi vill ha ett styrbart element med två tillstånd (minnesfunktion) Problem 2: Det finns ett metastabilt tillstånd mellan och : V = V out in2 V = V out in2 stabila tillstånd V = V in out2 V = V in out2 Metastabilt tillstånd Pga brus lämnar kretsen det metastabila tillståndet efter en kort stund Digitalteknik F9 bild 8
Digitalteknik F9 bild 9 SR-latchen Ett styrbart minneselement: / R S R Endast fem realiserbara rader! S / / Nor: A B F
SR-latchen Ta bort de rader som inte kan realiseras: R Vi kan styra latchen genom att manövrera R och S: RS = är normalt utgångsläge och vippan kan styras mellan de båda tillstånden: RS: --> --> ger = ; / = S / RS: --> --> ger = ; / = OBS! En styrsignal i taget! R S / / RS = är en kombination som inte bör inträffa. Den ger = / = och lämnas så här: RS: --> --> ger = ; / = RS: --> --> ger = ; / = (Det är i princip omöjligt att väla båda styrsignalerna samtidigt.) Digitalteknik F9 bild
/S/R-latchen...... kan också byggas med NANDgrindar och kallas då /S/R-latch: Vi kan styra latchen genom att manövrera R och S: /S /R/S = är normalt utgångsläge och vippan kan styras mellan de båda tillstånden: RS: --> --> ger = ; / = /R / RS: --> --> ger = ; / = OBS! En styrsignal i taget! /R /S / / /R/S = är en kombination som inte bör inträffa. Den ger = / = och lämnas så här: RS: --> --> ger = ; / = RS: --> --> ger = ; / = (Det är i princip omöjligt att väla båda styrsignalerna samtidigt.) Digitalteknik F9 bild
SR-latchen......ritas ibland så här: S R / R S R S / alternativt R S / /R /S R S / Digitalteknik F9 bild 2
SR-latchen Vi har löst problemet med att skapa ett styrbart minneselement. Problemet med metastabilitet kvarstår dock. Två nya problem visar sig också:. Styrsignalerna (S och R) måste vara av viss minsta längd för att tillföra vippan tillräckligt med energi för ett omslag 2. Latchen reagerar direkt på styrsignalerna. Vi vill gärna kunna kontrollera omslagsögonblicket mer eakt. Digitalteknik F9 bild 3
Timing (SR-latch) S R t plh(s) t phl(r) t pw(min) t pw(min) Oscillation Digitalteknik F9 bild 4
Att styra omslagstidpunkten Lösning : SR-latch med enable C = spärrar S C S C R / R / S C = spärrar R Med enablesignalen C bestämmer vi när latchen skall påverkas av insignalerna. R C S R C S / SR = ger problem... Digitalteknik F9 bild 5
Att styra omslagstidpunkten Lösning 2: toggle latch T / T T / Med togglesignalen T bestämmer vi när latchen skall väla tillstånd. Problem: En puls på T ger alltid omslag Självsvänger om pulsen är för lång Digitalteknik F9 bild 6
Att styra omslagstidpunkten Lösning 3: JK- latch C J J C J C K / K J K K / Med styrsignalerna J och K bestämmer vi hur latchen skall reagera på C. Problem: En lång puls (C) kan ge självsvängning när JK = n- n- Digitalteknik F9 bild 7
Att styra omslagstidpunkten Lösning 4: D-latch D C D / C Med enablesignalen C = följer insignalen D (med viss fördröjning). Med enablesignalen C = är låst till det värde som D hade när C = C D n- Svårt att styra omslaget eakt! Digitalteknik F9 bild 8
Timing (D-latch) D D stabil! C t plh(c) t phl(d) t plh(d) t phl(c) t plh(d) t setup t hold Digitalteknik F9 bild 9
Att styra omslagstidpunkten De olika latchkonstruktionerna har brister som gör att de inte räcker till. Eempel: - SR-latchen är otillförlitlig om SR = när pulsen kommer - T-latchen slår alltid om när det kommer en puls - T-latchen självsvänger om pulsen är lång - JK-latchen självsvänger ibland om pulsen är lång - D-latchen har inga sådana problem, men en kort puls är alltid vansklig att skapa vid rätt tidpunkt Slutsats: Vi måste konstruera en bättre komponent Digitalteknik F9 bild 2
Att styra omslagstidpunkten Det finns ytterligare tre sätt att initiera ändring av utsignalen: - Pulstriggad master-slavevippa - Flanktriggad vippa - Vippa med datalås (data lockout) Digitalteknik F9 bild 2
Att styra omslagstidpunkten Lösning 5: Master-slave SR-vippa S R R R / Ck S Ck S / Ck Mastervippan styrs av SR när Ck =. Utgången kan väla nivå flera gånger under denna tidpunkt När Ck blir låses mastervippans utgångar och kan inte längre påverkas av SR. Då öppnas slavevippan och utgångarna på denna styrs av mastervippans utgångar. Nivån välar högst en gång medan Ck =. Ck bör vara en kort puls för att identifiera mastervippans omslagstidpunkt Digitalteknik F9 bild 22
Att styra omslagstidpunkten Lösning 6: Master-slave JK-vippa J J J K / Ck K Ck K / Ck Mastervippan styrs av JK när Ck =. Utgången kan väla nivå flera gånger under denna tidpunkt När Ck blir låses mastervippans utgångar och kan inte längre påverkas av JK. Då öppnas slavevippan och utgångarna på denna styrs av mastervippans utgångar. Nivån välar högst en gång medan Ck =. Ck bör vara en kort puls för att identifiera mastervippans omslagstidpunkt Digitalteknik F9 bild 23
Att styra omslagstidpunkten Lösning 7: Flanktriggad D-vippa D D D C C D clk clk Vippan utgång ställs lika med D när klockan välar från till (uppflank, positiv flank). Vi har en enkelt användbar komponent! (Konstruktionen är i grunden Master-Slave men Mastervippans omslagstidpunkt är inte något problem då utgången bara följer D) D clk n- n- Digitalteknik F9 bild 24
D-vippan pr D clk Vi föbättrar den flanktriggade D-vippan genom att lägga till asynkrona ingångar för preset (ettställning) och clear (nollställning). clr pr clr D clk (Detta går att göra med alla vippor.) n- n- Digitalteknik F9 bild 25
D-vippan En flanktriggad D-vippa byggd med 2 D-latchar och 2 inverterare innehåller - 2 grindar. Det finns utrymme för förbättringar... (både kretsantal och prestanda (tidsfördröjning)): Antag D = : clk D 2 3 4 /S /R (NAND enligt demorgan) / När clk = är /S/R = utgången 4 = D = utgången = D = När clk blir blir utgången 2 (/S) = utgången 3 (/R) = /S/R = sätter / = Samma resonemang för D = Digitalteknik F9 bild 26
Den kompletta D-vippan I en kommersiell D-vippa finner vi även /pr och /clr: /pr /clr clk / D Digitalteknik F9 bild 27
Den flanktriggade JK-vippan Den flanktriggade JK-vippan kan t e konstrueras så här: /pr /clr clk / J /K Tillägg till D-vippan Digitalteknik F9 bild 28
T- och JK-vipporna Vanliga schemasymboler för flanktriggade D- och JK-vippor: T-vippan: JK-vippan: T pr clk clr J pr clk K clr clr pr T clk clr pr J K clk n- n- n- n- Digitalteknik F9 bild 29
Styrning av vippor Ett problem att lösa är hur en vippas ingångar skall styras för att utgången efter klockning skall anta önskat värde. Det finns flera sätt:. Det går att läsa ur de beskrivningar som vi redan har använt 2a. Det går att använda en ecitationstabell/ekvation 2b. Det går att använda en syntestabell/ekvation (Några sätt att beskriva samma sak...) Digitalteknik F9 bild 3
D-vippan D clk n- n- Syntestabell/ekvation Ecitationstabell/ekvation D n+ n n+ D = D n+ D = n+ Digitalteknik F9 bild 3
T-vippan clr pr T clk n- n- Syntestabell/ekvation Ecitationstabell/ekvation T n+ n n n n+ T = T + T n+ n n T = + n n+ n n+ Digitalteknik F9 bild 32
Digitalteknik F9 bild 33 JK-vippan clk K n- n- pr clr J Ecitationstabell/ekvation Syntestabell/ekvation J n+ K n n = J + K n+ n n J = n+ J - - n+ K - - n K = n+ n n
Vippans tidskrav För att fungera väl förutsätter en vippa att bl a följande krav är uppfyllda: Styrsignalerna måste vara stabila en viss tid, t före klockning setup och en viss tid, t efter klockning. hold Efter klockning tar det en viss tid, t innan utsignalen har välat nivå. ffpd Vippan får inte heller klockas med högre frekvens än f. ma Om något av dessa krav inte uppfylls kan t e metastabilitet uppstå. Digitalteknik F9 bild 34
Klocksignalen Några definitioner: t H t L t per periodtid t per uppflank: --> frekvens /tper nedflank: --> duty cycle t H / t per alt. t L / t per Digitalteknik F9 bild 35
Hur skapas klocksignalen? Det bästa sättet att skapa en klocksignal med stabil frekvens är att använda en kristalloscillator: R 5 ohm D f f/2 clk Kristallen säkerställer att frekvensen inte varierar med temperatur, övriga komponenters parametrar etc Här säkerställs att klocksignalen blir symmetrisk Digitalteknik F9 bild 36