även i pdf-format
Transcription
även i pdf-format
9 - Speciella sekvensnät TSEA51 - Digitalteknik Detta dokument är klart för kursen - 2012-09-28 - Första versionen Ola Dahl Föreläsning - 9 - Speciella sekvensnät Speciella sekvensnät Enpulsare Ett sekvensnät för att generera en puls med ett klockintervalls varaktighet beskrivs på sidan 208 i läroboken. Ett sådant nät kallas för enpulsare. En tillståndsgraf för en enpulsare visas i Föreläsning 7 Konstruktionsmetodik för sekvensnät, samt återges här i Figur 1. Figur 1: En tillståndsgraf för ett nät som genererar en puls med ett klockintervalls varaktighet när insignalen går från noll till ett. En tillståndstabell för enpulsaren, med tillståndsgraf enligt Figur 1, visas i Tabell 1. S_n S_0 S_0 S_1 S_1 q 0 0 1 1 x 0 1 0 1 q+ 0 1 0 1 u 0 1 0 0 Tabell 1: Tillståndsövergångar för en enpulsare. Uttryck kan tas fram från Tabell 1, enligt q+ = x, u = q0 x (1) vilka kan realiseras med en D-vippa och en och-grind. För att synkronisera insignalen kan en ytterligare D-vippa användas. Ett digitalt system för att övervaka en lejonbur presenterades i Föreläsning 1 - Introduktion, kombinatoriska nät. Problemet kan lösas med användning av ett sekvensnät, med utformning enligt de beskrivningar som ges i Föreläsningarna 4 - Sekvensnät, 6 - Sekvensnät och vippor samt 7 - Konstruktionsmetodik för sekvensnät. En enpulsare kan användas för att generera insignaler till ett sekvensnät för lejonburen. En tillståndsgraf för ett sådant sekvensnät visas i Figur 2. 9 - speciella sekvensnät 2 Figur 2: En tillståndsgraf för en lejonbur där insignalerna ges i form av pulser med ett klockintervalls varaktighet. Räknare En räknare kan användas som komponent vid konstruktion av digitala system. Egenskaper hos räknare beskrivs t.ex. på sidan 219 i läroboken. En symbol för en räknare visas i Figur 3. Figur 3: En räknare med ingångar för nollställning, laddning, upp-nerräkning, samt räknevillkor. Register Ett register är en komponent som kan lagra ett digitalt värde, och som kan läsas och skrivas. Ett 1-bits register med en signal för att skriva in ett värde kan konstrueras med användning av en D-vippa och grindar. En insignal, kallad load används. När load har värdet noll skall registret behålla sitt värde, och när load har värdet ett skall ett nytt värde, angivet av en insignal kallad x, skrivas in i registret. Detta kan åstadkommas genom att låta D-vippans insignal, här betecknad q+, ges av q+ = q · load0 + x · load En alternativ konstruktion kan göras, med användning av en 2/1multiplexer. Signalerna q och x kopplas till multiplexerns ingångar, och signalen load används som styrsignal till multiplexern. (2) 9 - speciella sekvensnät 3 Skiftregister Ett skiftregister kan konstrueras genom att koppla samman D-vippor på ett sådant sätt att utsignalen från en D-vippa blir insignal till nästkommande D-vippa. Skiftregister i olika varianter beskrivs i läroboken på på sidorna 223-224. Återkopplade skiftegister Ett skiftregister kan återkopplas. Detta innebär att utsignaler från en eller flera D-vippor, här kallade återkopplingsvippor, kopplas, via kombinatoriska nät, till insignaler för vippor vars utsignaler påverkar återkopplingsvippornas insignaler. De kombinatoriska nät som används i återkopplade skiftregister utgörs ofta av xor-grindar. Detta ger ett nät med modulo-2 operationer. Ett sådant nät kallas ett linjärt återkopplat skiftregister. Ett linjärt återkopplat skiftregister kan användas för att generera pseudo-slumptal. Linjära återkopplade skiftregister kan t.ex. användas för kryptering. Återkopplade skiftregister beskrivs i läroboken, på sidorna 226230. Konstruktion med speciella sekvensnät Digitala komponenter, t.ex. räknare, skiftregister, och minnen (PROM) kan användas, tillsammans med vippor och grindar, vid konstruktion av digitala system. A/D-omvandlare En A/D-omvandlare är en komponent med en analog insignal, och som ger ett digitalt värde motsvarande den analoga signalens nivå som utsignal. I övning 11.14 behandlas en A/D-omvandlare kallad SMT160-301 med pulsbreddsmodulerad frekvensutgång. Den pulsbreddsmodulerade utgången kan anslutas till en dator. Här finns ett beskrivning som visar hur plattformen Arduino kan användas tillsammans med en SMT160-302 . Konstruktionsexempel Detektering av pulser med bestämd längd Ett digitalt system som detekterar pulser av en bestämd längd skall konstrueras. Pulserna är synkroniserade, vilket innebär att de ändrar 1 http://smartec.nl/pdf/DSSMT16030. PDF 2 http://arduino.cc/playground/Code/ SMT16030 9 - speciella sekvensnät nivå i takt med klocksignalen. Pulsernas längd är minst ett och högst 15 klockintervall. Det digitala systemet skall generera en puls av längden ett klockintervall vid varje detektion av en puls med angiven längd. En 4-bitars binärräknare med nollställningsingång och räknevillkor skall användas, tillsammans med valfria grindar och vippor. Pulsens angivna längd betecknas L. Räknaren kan användas för att räkna så länge pulsen är ett. Genom att jämföra räknarens värde med värdet L kan en puls av angiven längd detekteras. I samband med detta kan nätets utsignal sättas till ett för att markera detektion av puls, samt kan räknaren nollställas så att en ny detektion kan påbörjas. Låt insignalen, som genererar pulserna, betecknas med x. Med referens till räknaren i Figur 3 erhålls uttryck enligt CLR = x 0 , LOAD = 0, ¯ U/D = 0, CE = x (3) Räknarens värde, som anges av utgångarna qi i Figur 3, kopplas till en komparator, som jämför räknarens värde med L. Utsignalen från komparatorn betecknas uc . Signalen uc kopplas till en och-grind tillsammans med det inverterade värdet av insignalen, enligt u = uc · x 0 (4) Det föreslagna nätet kan verifieras genom att undersöka nätets beteende för olika insignalvärden. En sekvens av insignalvärden, för fallet L = 3 samt resulterande räknevärden q, komparatorutsignaler uc och utsignaler u, visas i Tabell 2. x 0 1 1 1 0 0 q 0000 0000 0001 0010 0011 0000 u_c 0 0 0 0 1 0 u 0 0 0 0 1 0 Det föreslagna nätet innehåller en komparator. En sådan kan konstrueras med xor-grindar och en nor-grind, enligt beskrivningen på sidan 83 i läroboken. Genomsläppning av utvalda pulser Ett digitalt system som släpper genom utvalda pulser beskrivs i lärobokens Exempel 11.4 på sidan 221. Systemet skall realiseras som ett sekvensnät som släpper igenom var n:te puls. Tabell 2: Tillståndsövergångar i ett nät för detektion av pulser av en bestämd längd. 4 9 - speciella sekvensnät Systemet kan konstrueras genom att använda en räknare, samt vippor och grindar. Antag att räknaren har laddats med värdet n. Genom att räkna ner räknaren för varje puls som anländer, och sedan detektera när räknarens värde är ett, kan den n:te pulsen detekteras, samt släppas igenom. Nedräkning kan ske i samband med att en puls avslutas. Avslutning av en puls kan detekteras genom att göra en enpulsare som genererar en puls med ett klockintervalls varaktighet då systemets insignal går från ett till noll. När den genomsläppta pulsen avslutas skall räknaren laddas på nytt. Sekvensdetektor Ett nät för att detektera en angiven sekvens kan konstrueras genom att använda ett skiftregister samt grindar. Givet en sekvens av längden n som skall detekteras. Ett skiftregister med längden n − 1 kan då användas. Ett kombinatoriskt nät kopplas till utgångarna på skiftregistrets D-vippor. Detta kombinatoriska nät skall ge utsignalen ett för den sekvens som skall detekteras, samt noll för alla övriga sekvenser. Laboration 3 Laboration 3 innehåller uppgifter som i ett flertal fall tillåter användning av valfria komponenter från laborationsutrustningen. Dessa uppgifter kan därmed tänkas ha fler valmöjligheter i konstruktionen än vad som var fallet i tidigare laborationer. 5