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



Relevanta dokument
Tentamen i Digital Design

(2B1560, 6B2911) HT08

Digital- och datorteknik

SEKVENSKRETSAR. Innehåll

PIC-projekt: Kodlås till dörr

DIGITALTEKNIK I. Laboration DE2. Sekvensnät och sekvenskretsar

TSEA22 Digitalteknik 2019!

Laboration i digitalteknik Introduktion till digitalteknik

Programmerbar logik och VHDL. Föreläsning 4

Repetition TSIU05 Digitalteknik Di/EL. Michael Josefsson

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Digitalteknik 7.5 hp distans: 5.1 Generella sekvenskretsar 5.1.1

Tentamen i IE1204/5 Digital Design onsdagen den 5/

IE1204 Digital Design

IE1204/IE1205 Digital Design

K44 Duo. Installation & User Manual EN SV DE FR DA FI NO

ALLMÄNT 2. Introduktion 2. Åtgärder vid driftsättning 2. Förklaring av termer och begrepp 3. Kommandosyntax 3 HANDHAVANDE 4. Kommandon 4.

Repetition och sammanfattning av syntes och analys av sekvensnät

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning...

Digital- och datorteknik

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

Sekvensnät i VHDL del 2

"if"-satsen. Inledande programmering med C# (1DV402)

Sekvensnät Som Du kommer ihåg

Codelock K44 Duo. Installation & User Manual. Siemens AB

IE1205 Digital Design: F9: Synkrona tillståndsautomater

Introduktion till digitalteknik

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

F5 Introduktion till digitalteknik

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

Exempel på LAX-uppgifter

Uppgift 12: Konstruera en elektronisk tärning. Resultatet av ett tärningskast ska visas på en 7- segmentindikator.

KALKYLATOR LABORATION4. Laborationens syfte

Installatörs- och användarhandbok CC-432

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

PROMI500 I N S T A L L A T I O N S A N V I S N I N G KODLÅS I KOMPAKT UTFÖRANDE MED INBYGGD BERÖRINGSFRI LÄSARE. PROMI500 Installationsmanual

LABORATIONSINSTRUKTION

Digital elektronik CL0090

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

LiTH Lab1: Asynkron seriell dataöverföring via optisk länk Laboration 1. Asynkron seriell dataöverföring via optisk länk

Tentamen IE Digital Design Fredag 15/

Wittkopp. Primor 2000 Level 5

Asynkrona sekvensmaskiner

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

ASSA 3000 CODE Manual. ASSA ABLOY, the global leader in door opening solutions.

TSEA22 Digitalteknik 2019!

Exempel på tentamensfrågor Digitalteknik

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

DATORTEKNIK. Tangentbord, knappsatser och deras avkodning

LABORATIONER I DIGITALTEKNIK. för kurserna. TSEA22, lab 1-4 TSEA51, lab 1-3 TDDC75, lab 1,2

UDR-plus Universellt dörrlarm

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

Elektroteknik. Projektspecifikation för IR-sändare, digitalteknik 2005

TSIU05 Digitalteknik. LAB1 Kombinatorik LAB2 Sekvensnät LAB3 System

Tenta i Digitalteknik

Tärning med ABEL-macro

Bruksanvisning KABA MAUER 82021

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

LABORATIONSINSTRUKTION

CAASE ROBUST KODLÅS FÖR ALLA DÖRRMILJÖER. 4 DIAX screw M5x16. 1 M5 DIAX skiftnyckel. 1 Varistor. Bakstycke: 105x80x45mm. Antal Beskrivning Bild

Tentamen i Digitalteknik TSEA22

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

DIGITALTEKNIK. Laboration D164. Logiska funktioner med mikroprocessor Kombinatoriska funktioner med PIC16F84 Sekvensfunktioner med PIC16F84

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

Laborationshandledning

Repetition delay-element

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

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

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

AL-C AL-S AUX. AL-C SENSOR. (Complete) (Overload) (Aux.) + IN - IN. Svart. Grön Vit Screen. Röd EXC. + Lastgivare

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.

Wittkopp Primor 2000 Level

Datorteknik 2 (AVR 2)

Sekvensnät. William Sandqvist

Tentamen IE Digital Design Fredag 13/

LABORATIONSINSTRUKTION LABORATION

Konstruktion av en radiostyrd legobil. Digitala projekt av Arbon Vata Leonardo Vukmanovic Amid Bhatia

Installatörs- och användarhandbok CL-153AI

Digital Design IE1204

LV6 LV7. Aktivera Kursens mål:

Grundläggande Datorteknik Digital- och datorteknik

UDR-plus Universellt dörrlarm

Tentamen i IE1204/5 Digital Design Torsdag 29/

Digitalteknik TSIU05 Laborationer

Laborationshandledning

UNICODE UNICODE CC-434. Ver INTRODUKTION

Manual Uppdaterad UDR-plus. Axema Access Control AB Box Stockholm, Sweden

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

Tentamen SSY 065, lördag 14/4, 08:30-12:30, M. Examinator: Martin Fabian, (772) 3716 Tider för lärarens närvaro: 09:30, 11:30

Wittkopp Primor 2000 Level 15

Installatörs- handbok RC-436 Code Ver. 3.2

Installationsanvisning av proximityläsare 1103/2. Mod. 1103/2

UNICODE ACL-121/ INLÄGGNING AV PROGRAMMERINGSKOD OCH INITIERING

GPIO - General Purpose Input Output

UNICODE UNICODE ACL-141/ INTRODUKTION

Styrteknik: SFC Introduktion

Transkript:

Kodlås I den här uppgiften skall du konstruera ett kodlås med hjälp av ett litet tangentbord. Varje gång man trycker på en tangent skall det pipa i summern och när man tryckt in den rätta fyrsiffriga koden skall lysdioden tändas. Den här uppgiften utnyttjar kretsen 16V8 maximalt. För att konstruera kodlåset måste kretsen innehålla två separata state-maskiner. En som scannar tangentbordet. Och en annan state-maskin som känner av vilken tangent som blivit nedtryckt och som räknar hur många korrekta siffror som matats in. Funktionsbeskrivning Tangentbordet är konstruerad som en kopplingsmatris med tre kolummer och fyra rader. När man trycker ner en tangent bildas kontakt mellan den rad-ledning och den kolumn-ledning i vars skärningspunkt tangenten sitter. De fyra radledningarna sitter anslutna till fyra ingångar på PALen och har resistiv pullup, så att man normalt får in ettor på radledningarna. De tre kolumnledningarna sitter anslutna till tre utgångar på PAL-en. Kopplingsschema över kodlåset 960419 PAL-18

För att känna efter om en tangent är nedtryck lägger man ut en nolla i tur och ordning på de tre kolumnledningarna. För varje kolumnledning som läggs till noll känner man sedan efter på de fyra radledningarna om man får in en nolla på någon av dem. Får man inte in någon nolla så är heller ingen tangent nedtryckt Om man däremot känner en nolla på någon radledning, vet vi att en tangent är nedtryckt. Då vet vi också i vilken rad tangenten sitter. Vi vet faktiskt också i vilken kolumn tangenten sitter, det måste vara i den kolumn som vi just nu har lagt ut en nolla på. Raden och kolumnen blir alltså utpekade, och vi kan avgöra vilken tangent som är nedtryckt. På PALen sitter även en liten summer ansluten. Den är kopplad så att den piper när man lägger ut en låg nivå på utgång O3. Varje gång man gör en knappnedtryckning skall det pipa i summern som bekräftelse på att tangenten är avläst. För att öppna det elektriska låset under tillräckligt lång tid, så att man hinner igenom dörren, sitter det en monostabil vippa byggd med timerkretsen 555 monterad på lab-modulen. Vippan triggas av en negativ flank från PALen på utgång O4, och håller dörren öppen under c:a 3 sekunder. Signalen till låset, visas av en röd lysdiod på kortet. Programmeringen Eftersom PALASM inte klarar av att definiera två separata state-maskiner i samma design, är du tvungen att konstruera den state-maskin som scannar tangentbordet på egen hand med hjälp av booleska ekvationer och register-utgångar. Eftersom du konstruerar den state-maskinen genom att själv sätta upp de booleska uttrycken för insignalerna till registren, inleder du med nyckelordet EQUATIONS. Denna statemaskin har tre tillståndsvariabler: Q0, Q1 och Q2, kopplade till varsin kolumn på tangentbordet. De tre tillståndsvariablerna ger möjlighet till åtta tillstånd, varav vi använder oss av tre, nämligen de tre tillstånd då en av tillståndsvariablerna är en nolla och de andra två är ettor.de övriga fem tillstånden är felaktiga, och i tillståndsmaskinen skall vi försöka lämna dem så fort som möljligt och komma in i rätt sekvens. Tillståndsdiagram för generering av kolumnsignalerna 960419 PAL-19

För att bestämma de booleska ekvationerna som styr denna tillståndsmaskin börjar du med att fylla i tillståndstabellen som beskriver hur du vill komma från nuvarande tillstånd till nästa: Nuvarande tillstånd Nästa tillstånd Q2 Q1 Q0 Q2 Q1 Q0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 Q2nästa = Q1nästa = Q0nästa = Endast tre av tillstånden är riktiga och skall leda till nästa tillstånd. Fem av tillstånden är felaktiga och skall leda in i den riktiga sekvensen. När du satt upp tabellen kan du formulera de booleska ekvationerna som beskriver hur du kommer från de nuvarande värdena på Q0, Q1 och Q2 till nästa värden på Q0, Q1 och Q2. Det går att göra rätt kraftiga reduktioner i de booleska ekvationerna. Skriv simuleringsbeskrivningen för denna statemaskin och simulera den. Allteftersom klockpulserna kommer skall det vandra runt en nolla i de tre Q-utgångarna. Testa även med att initiera state-maskinen till ett otillåtet tillstånd, och se i simulatorn hur den leds in i den riktiga sekvensen. När det fungerar är du klar med den första av de två tillståndsmaskinerna, nämligen den som scannar kolumnerna. Den andra tillståndsmaskinen skall vara av MOORE-typ. Den har 5 tillstånd som man kommer till när man tryckt in: noll rätt, ett rätt, två rätt, tre rätt och slutligen fyra rätt siffror i rad. Om man befinner sig i något tillstånd och matar in en felaktig siffra, (villkoret FEL) skall man trilla Sekvensbeskrivning för avkänning av fyra siffror 960419 PAL-20

tillbaka till tillståndet ZERO som indikerar att man hittills matat in noll rätt siffror. När man matar in den fjärde rätta siffran, och därmed når tillstånd FOUR, triggas 555-timern som håller dörren öppen. På nästa klockpuls återgår state-maskinen till tillstånd ZERO. Om ingen tangent trycks ner gäller villkoret NONE, och man står kvar i samma tillstånd. Problemet med kontaktstudsar från tangentbordet är allvarligt, men det löser vi enkelt i programmeringen av PAL-en. Om samma siffra matas in flera gånger efter varandra, vilket ju sker när vi har kontaktstudsar, så står vi bara kvar i tillståndet. Den lösningen har visserligen den nackdelen att koden inte kan innehålla samma siffra två eller fler gånger direkt efter varandra. I stället för att ha 10 4 möjliga koder med de fyra siffrorna, kommer vi bara att kunna ha 10*9 3 dvs 7290 kombinationer i stället för 10.000, men det är en överkomlig begränsning för att slippa en del extra elektronik. Du kan nu sätta upp tillståndsdefinitionerna (det går åt tre bitar), sekvensbeskrivningen och villkorsdefinitionerna. Villkoren beror ju av vilken kod du vill ha. För varje tal i koden ges villkoret av tillstånden på kolumnutgångarna och radingångarna. Du ser i kopplingsschemat hur de olika kolumnerna och raderna ligger anslutna till PAL-ens in- och ut-ben. Du kan definiera villkoren för alla tangenterna, t.ex: CODE1 = /RAD1*RAD2*RAD3*RAD4*/KOL1*KOL2*KOL3 osv eftersom tangenten "1" sitter i skärningen av första raden och första kolumnen och signalerna är aktivt låga. Villkoret ingen signal ( NONE) definieras av att alla rader är höga. Eftersom denna tillståndsmaskin har fem tillstånd, går det åt tre bitar till tillståndskoderna. Om vi representerar de fem tillstånden med naturliga binära tal, ser vi att den tredje biten blir en etta endast när vi kommer till det fjärde tillståndet (representerat av 100). Vi kan därför använda denna tredje bit direkt för att styra timern som öppnar dörren. Eftersom 555 triggas av en negativ flank kommer dörren att öppnas när vi övergår från tillstånd FOUR till tillstånd ZERO, dvs när den tredje biten återgår till nolla genom att tillståndsrepresentationen växlar från 100 till 000. Simuleringen av kodlåssekvensen är lite jobbig att skriva, så det är kanske enklare att vara noggrann vid programmeringen och hoppas att det blir rätt. Om inte får man gå tillbaka och simulera bitar av programmet. Tag då bort simuleringen av kolumnscanningen, den har du ju simulerat separat och sett att den fungerar. 960419 PAL-21

Programmerbar logik Övningsuppgifter Introduktionsuppgift BCD till sjusegment avkodare En enkel vippa Dekadräknare Trafikljus Bakljuset på en bil Kodlås Per Nylén 1996 960419 PAL-22