Flaskautomaten Ett design-exempel av Ingo Sander

Relevanta dokument
IE1205 Digital Design: F9: Synkrona tillståndsautomater

Sekvensnät Som Du kommer ihåg

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

Digital Design IE1204

Digital Design IE1204

Digital Design IE1204

Programable Logic Devices

Asynkrona sekvensmaskiner

Digital Design IE1204

IE1204 Digital Design

Omtentamen IE Digital Design Måndag 14/

Tenta i Digitalteknik

-c wc. Pre- Next state Out- Vi ser att tillstånden är redan sorterade i grupper med olika utsignaler,

IE1205 Digital Design: F13: Asynkrona Sekvensnät (Del 2)

Repetition och sammanfattning av syntes och analys av sekvensnät

Tentamen med lösningar för IE1204/5 Digital Design Torsdag 15/

Digital Design IE1204

Programmerbar logik och VHDL. Föreläsning 4

Omtentamen med lösningar i IE1204/5 Digital Design Fredag 10/

Digital Design IE1204

Tenta i Digitalteknik

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs:

Tentamen med lösningar i IE1204/5 Digital Design Måndag 27/

Exempel 9.3. Present. Output. w w Next state

Tentamen IE Digital Design Måndag 23/

Exempel på LAX-uppgifter

Tentamen IE Digital Design Fredag 13/

IE1205 Digital Design: F11: Programmerbar Logik, VHDL för Sekvensnät

Tentamen i IE Digital Design Fredag 21/

Tentamen med lösningar i IE Digital Design Fredag 21/

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD

SEKVENSKRETSAR. Innehåll

Tentamen i IE1204/5 Digital Design Torsdag 29/

IE1204/IE1205 Digital Design

IE1204/5 Digital Design typtenta

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1204/5 Digital Design typtenta

Tentamen med lösningar IE Digital Design Måndag 23/

Sekvensnät i VHDL del 2

Tentamen med lösningar IE Digital Design Fredag 13/

Tentamen IE Digital Design Fredag 15/

Tenta i Digitalteknik

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

Omtentamen med lösningar IE Digital Design Måndag 14/

Tentamen i IE1204/5 Digital Design måndagen den 15/

Repetition delay-element

Tentamen IE1204 Digital Design Måndag 15/

Tentamen med lösningar i IE1204/5 Digital Design Torsdag 29/

Tentamen med lösningar i IE Digital Design Fredag 15/

Tenta i Digitalteknik

Digitalteknik F12. Några speciella automater: register räknare Synkronisering av insignaler. Digitalteknik F12 bild 1

Digital Design IE1204

Tenta i Digitalteknik

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp

Digital Design IE1204

DESIGN AV SEKVENTIELL LOGIK

Tenta i Digitalteknik

Tenta i Digitalteknik

Tentamen i Digitalteknik, EITF65

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

Kodlås. Kopplingsschema över kodlåset PAL-18

Digital Design IE1204

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

TSEA22 Digitalteknik 2019!

Försättsblad till skriftlig tentamen vid Linköpings universitet

TSEA22 Digitalteknik 2019!

Digital elektronik CL0090

Grundläggande digitalteknik

SMD033 Digitalteknik. Digitalteknik F1 bild 1

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna

Grundläggande Datorteknik Digital- och datorteknik

LEJON LABORATION3. Laborationens syfte

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik Mattias Krysander Institutionen för systemteknik

(2B1560, 6B2911) HT08

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

std_logic & std_logic_vector

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

F5 Introduktion till digitalteknik

Elektro och Informationsteknik LTH Laboration 4 Tidsplan, frekvensplan och impedanser

+5V. start. Styrsystem. stopp. Tillståndsmaskiner

Tentamen i Grundläggande ellära och digitalteknik ETA 013 för D

KALKYLATOR LABORATION4. Laborationens syfte

Laborationshandledning

Tentamensskrivning 11 januari 2016

IE1204 Digital Design

Laborationshandledning

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

Tentamen i IE1204/5 Digital Design Måndag 27/

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Följddiagram för händelsestyrda rörelser

Institutionen för systemteknik, ISY, LiTH. Tentamen i. Tid: kl

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Tentamen i Digitalteknik, TSEA22

Digital- och datorteknik

Tentamen i Objektorienterad modellering och design Helsingborg

Tentamen i Digitalteknik TSEA22

L15 Introduktion modern digital design

Transkript:

Flaskautomaten Ett design-exempel av Ingo Sander

System ontrol Vi skall designa blocket systemstyrningen, System ontrol Myntinkast (OIN REEIVER) AUMU- LATOR OIN_PRESENT GT_1_EURO EQ_1_EURO LT_1_EURO DE_A LR_A Systemstyrning (SYSTEM ONTROL) DROP DROP_READY RETURN_10_ENT HANGER_READY Flaskutkast (DROP BOTTLE) Myntutkast (OIN RETURN) Retur bara med 10 cent mynt.

Myntinkast Systemstyrningsenheten styr ett flertal delsystem från andra leverantörer. Myntinkast. Flaskutkast. Returmyntutkast. Myntinkast (OIN REEIVER) AUMU- LATOR OIN_PRESENT GT_1_EURO EQ_1_EURO LT_1_EURO DE_A LR_A Systemstyrning (SYSTEM ONTROL) En AUMULATOR räknar ihop summan erlagda mynt. Signalen OIN_PRESENT indikerar att det finns mynt och antalet anges med signalerna GT_1_EURO, EQ_1_EURO, LT_1_EURO. Med signalerna DE_A och LR_A kan systemstyrenheten minska summan med 10 cent eller 0-ställa AUMULATORN.

Myntutkast Systemstyrning (SYSTEM ONTROL) RETURN_10_ENT HANGER_READY Myntutkast (OIN RETURN) Med en puls på RETURN_10_ENT så lämnar myntutkastet 10 cent, och signalerar HANGER_READY när detta är utfört och enheten är redo för nästa kommando.

Flaskutkast Systemstyrning (SYSTEM ONTROL) DROP DROP_READY Flaskutkast (DROP BOTTLE) Med en puls på DROP så lämnar flaskutkastet en flaska, och signalerar DROP_READY när detta är utfört och enheten är redo för nästa kommando.

Blockdiagram Myntinkast (OIN REEIVER) OIN_PRESENT GT_1_EURO EQ_1_EURO LT_1_EURO DE_A LR_A Systemstyrning (SYSTEM ONTROL) DROP DROP_READY RETURN_10_ENT HANGER_READY Flaskutkast (DROP BOTTLE) Myntutkast (OIN RETURN) Signalegenskaper DROP_READY är aktiv för en klockperiod efter att flaskan har matats ut HANGER_READY är aktiv för en klockperiod efter att ett 10 ent mynt har matats ut På grund av de mekaniska egenskaper är följande signaler aktiva respektive inaktiva för flera klockperioder: OIN_PRESENT (aktiv för flera klockperioder efter myntinkastet ) DROP_READY (aktiv för flera klockperioder vid flaskutmatning) HANGER_READY (inaktiv för flera klockperioder vid myntutmatning)

Använd Moore-automat Tillstånd (State) Ingångssignaler Nästa tillstånd (NEXT STATE DEODER) Tillståndsregister (STATE REGISTER) Utgångsavkodare (OUTPUT DEODER) Utgångssignaler lk Konstruktion av en tillståndsmaskin för styrenheten till flaskautomaten Antaganden - Moore-Automat - Tillståndsregistret implementeras med D-vippor

Funktionsdiagram för flaskautomaten Nej Summa < 1 Reset Myntinkast registrerat? Ja Summa? Myntinkast 10 ent, 50 ent, 1 Euro Myntutkast 10 ent Flaskpris 1 Euro Summa= 1 Summa > 1 Mata ut flaskan Retur 10 ent Nollställ summan Minska summan

Vi ritar ett tillståndsdiagram från funktionsdiagrammet: Tillståndsdiagram LT _1_ EURO DROP _ READY EQ _1_ EURO DROP _ READY (d) (a) (b) (c) DROP OIN _ PRESENT OIN _ PRESENT OIN _ PRESENT OIN _ PRESENT GT _1_ EURO (f) HANGER _ READY RETURN _10 _ ENT HANGER _ READY (e) LR _ A (g) DE _ A

Tillståndsdiagram (a) Vänta på myntinkast (b) Registrering av myntinkast (c) Myntinkast är registrerat (3 fall) (d) Flaskutmatning (e) Nollställ summan (f) Retur 10 ent (g) Minska summan med 10 ent

Insignaler Blockschema Tillståndsregister Utsignaler OIN_PRESENT LT_I_EURO D A lk D A DROP EQ_I_EURO RETURN_I0_ENT GT_I_EURO DROP_READY HANGER_READY Next State Decoder D B lk D B Output Decoder LR_A A B D D DE_A lk

Tillståndskodning Idé: Låt tillstånd som är nära varandra i tillståndsdiagrammet ha koder på enhetsavstånd. (b) bredvid (c) (d) bredvid (e) (a) bredvid (b) (f) bredvid (g) 7 tillstånd kräver 3 tillståndsvariabler A, B, AB 00 01 11 10 0 a Ø d f 1 b c e g (Ø = don t care) Antalet insignaler är stort, 6 st, totalt kan det bli 9 variabler i Karnaughdiagrammen???

LT _1_ EURO DROP _ READY Tillståndskodningen EQ _1_ EURO DROP _ READY (d) (e) LR _ A B OIN _ PRESENT (a) 000 OIN _ PRESENT (b) (c) 110 100 DROP (f) OIN _ PRESENT OIN _ PRESENT GT _1_ EURO HANGER _ READY RETURN _10 _ ENT HANGER _ READY 111 101 (g) DE _ A A 001 011 AB 00 01 11 10 0 a Ø d f 1 b c e g (Ø = don t care) Tillståndsvariabeln AB, ex. i tillstånd (c) är A = 0, B = 1 och = 1

Kodad tillståndstabell? Från tillståndsdiagrammet kan man ställa upp följande kodade tillståndstabell. Hur undviker vi komplexiteten med nio variabler?

Variable-Entered Mapping (VEM) Variable-Entered Mapping kan vara till hjälp när man behöver Karnaugh-diagram med många variabler. Man skriver funktions-uttryck i Karnaugh-diagrammet. A + D A AB 00 01 11 10 0 0 Ø 1 1 1 0 EQ + GT 0 0 Variabler

Nästa tillstånd - D A A + D A AB 00 01 11 10 EQ : EQ_1_EURO GT : GT_1_EURO 0 0 Ø 1 1 1 0 EQ + GT 0 0 + A = DA = A B EQ + A B GT + A

Nästa tillstånd - D B B + D B AB 00 01 11 10 EQ : EQ_1_EURO P : OIN_PRESENT 0 0 Ø 1 0 1 P EQ 0 1 + B = DB = A B EQ + B + B P + A B Lätt att missa!

Nästa tillstånd - D + D AB 00 01 11 10 P : OIN_PRESENT DR: DROP_READY R: HANGER_READY 0 P Ø DR R 1 1 0 0 1 + = D + A B R + B = A P + B DR

Utgångssignaler Utgångssignalerna är de pulser som genereras när man passerar igenom tillstånden d, f, e, g. DROP = AB LR _ A = AB RETURN _10 _ ENT DE _ A = AB = AB

Vad händer i Φ tillståndet? AB 00 01 11 10 0 a Ø d f 1 b c e g Φ = (010) AB Φ + + A = A B EQ + A B GT + A A (010) AB = 1 1 EQ + 1 1 GT + 0 1 = EQ + GT B + + = A B EQ + B + B P + A B = A P + B DR + A B R + B + (010) AB = 1 1 P + 1 1 DR + 0 0 R + 0 0 = P + DR + + + A B = 1 = 010,110, 011,111 Φ, d, c, e B + ( 010) = 1 1 EQ + 1 1+... = 1 AB

Vad händer i Φ tillståndet? + + + A B = 1 = 010,110, 011,111 Φ, d, c, e Φ I Φ-tillståndet fastnar vi, eller går till (c) och sedan vidare. Eller går till (d) och bjuder på läsk, eller går till (e) och 0-ställer eventuell tidigare delbetalning. Helt uppenbart behöver vi köpa en RESET-krets som ser till att automaten alltid startar i (a) 000! Annars riskerar vi få berättigade klagomål från kunderna! RESET-generator