Videokort för VME-bussen

Storlek: px
Starta visningen från sidan:

Download "Videokort för VME-bussen"

Transkript

1 Examensarbete Videokort för VME-bussen Andreas Kingbäck Department of Science and Technology Linköpings Universitet SE Norrköping, Sweden Institutionen för teknik och naturvetenskap Linköpings Universitet Norrköping

2 Videokort för VME-bussen Examensarbete utfört i tillämpad elektronik vid Linköpings Tekniska Högskola, Campus Norrköping Andreas Kingbäck Handledare: Kent Axelsson Examinator: Kent Axelsson Norrköping den 2 juni 2003 Department of Science and Technology Linköpings Universitet SE Norrköping, Sweden Institutionen för teknik och naturvetenskap Linköpings Universitet Norrköping

3 Avdelning, Institution Division, Department Institutionen för teknik och naturvetenskap Datum Date Department of Science and Technology Språk Language X Svenska/Swedish Engelska/English Rapporttyp Report category X Examensarbete B-uppsats X C-uppsats D-uppsats ISBN ISRN Serietitel och serienummer ISSN Title of series, numbering URL för elektronisk version Titel Videokort för VME-Bussen Title Videocard for the VMEbus Författare Author Andreas Kingbäck Sammanfattning Denna rapport behandlar konstruktion och tillverkning av ett videokort till Versa Module Eurocard (VME) bussen. Kortet skall användas vid laborationer i kurser där mikrodatorkort VM42 från PEP Modular Computer används. Grafikkortet klarar en upplösning på minst 640x480 punkter med 24-bitars färg. Hela konstruktionen är uppbyggd kring Lattice MACH4A3-384/160. Designen av MACH kretsen är uppbyggd i Very High speed integrated hardware Description Language (VHDL) med hjälp av programmen ActiveHDL, Synplify Pro, ispdesignexpert samt LatticePRO. Abstract This report is about the construction and fabrication of a video card for the Versa Module Euro card (VME) bus. The card will be used as a platform in laborations in courses including the VM42 microcontroller from PEP Modular Computer. The card is able to display a resolution of at least 640x480 pixels with 24bit color. The heart in the construction is the Lattice MACH4A3-384/160 Complex Programmable Logic Device (CPLD). All programming is done in Very High speed integrated hardware Description Language (VHDL) with the help of ActiveHDL, Synplify Pro, ispdesignexpert and LatticePRO software tools Nyckelord Keyword VMEbus, VME, VHDL, CPLD, Videokort, VM42, VGA, CAD, ActiveHDL, Protel, Mönsterkortstillverkning

4 Videokort för VME-bussen Sammanfattning Denna rapport behandlar konstruktion och tillverkning av ett videokort till Versa Module Eurocard (VME) bussen. Kortet skall användas vid laborationer i kurser där mikrodatorkort VM42 från PEP Modular Computer används. Grafikkortet klarar en upplösning på minst 640x480 punkter med 24-bitars färg. Hela konstruktionen är uppbyggd kring Lattice MACH4A3-384/160. Designen av MACH kretsen är uppbyggd i Very High speed integrated hardware Description Language (VHDL) med hjälp av programmen ActiveHDL, Synplify Pro, ispdesignexpert samt LatticePRO. Abstract This report is about the construction and fabrication of a video card for the Versa Module Euro card (VME) bus. The card will be used as a platform in laborations in courses including the VM42 microcontroller from PEP Modular Computer. The card is able to display a resolution of at least 640x480 pixels with 24bit color. The heart in the construction is the Lattice MACH4A3-384/160 Complex Programmable Logic Device (CPLD). All programming is done in Very High speed integrated hardware Description Language (VHDL) with the help of ActiveHDL, Synplify Pro, ispdesignexpert and LatticePRO software tools V M 4 2 VME-Buss V I D E O Andreas Kingbäck

5 Videokort för VME-bussen Förord Detta examensarbete uppstod på grund av att jag ville göra en större konstruktion med VHDL. Jag presenterade mina idéer för Kent Axelsson och Sig Björklund på ITN. Kent och jag kom då överens om ett examensarbete där en bild skulle hämtas från en kamera och sedan visas på en monitor. Bilden skulle även kunna behandlas av en mikrodator innan den visas på bildskärmen. Ett nyinköpt mikrokontrollerkort från PEP Modular Computer med VME buss interface skulle användas för ändamålet. På kortet skulle en eller flera FPGA eller CPLD kretsar sköta hanteringen av kameran och kommunikationen med mikrodatorkortet över VME-bussen. Tyvärr visade det sig att detta inte gick att genomföra på rimlig tid. Detta berodde främst på faktorer som vi inte kunde råda över i initialskedet. Efter grundläggande konstruktion på ca fyra veckor beställdes kretsar och en kamera för ändamålet. Under tiden fortsatte konstruktion av de olika delblocken samt test vartefter kretsarna anlände. Jag hade tyvärr stora problem att få kontakt med leverantören av kameran. När jag slutligen fick besked visade sig att den kamera som de hade hemma använde sig av USB bussen för att kommunicera med omvärlden i stället för parallell-interface. Den tidigare utlovade varianten fanns inte längre att få tag på. Lämpliga kretsar för USB bussen skulle heller inte finnas tillgängliga innan fjärde kvartalet När detta uppdagade sig hade ca sju veckor av tiden gått. Vi fick då överge videokameran. Nu skulle endast ett videokort konstrueras. Konstruktionsarbetet började då om från början med val av andra kretsar. Denna rapport bygger på konstruktionen av detta videokort. Jag vill passa på att tacka följande personer: Kent Axelsson för stöd i arbetet och hjälp med att beställa komponenter. Stig Björklund för hjälp med utvecklingskort för FPGA och CPLD. Rolf Samuelsson och Kjell Karlsson för hjälp med programvaror och labutrustning. Lars Wahlström på Solectron för hjälp med montering av komponenter på mönsterkortet och att han senare skänkte lödutrustning till ITN. Slutligen också min fästmö Anna för att hon stod ut med mig trots att jag i perioder inte var hemma så mycket. Andreas Kingbäck

6 Videokort för VME-bussen Ordlista Front porch: Back porch: BGA EDIF VME: CPLD: CPU: DAC: FPGA PLCC VGA: VHDL: VM42: Tiden mellan slutet på den aktiva video signalen och starten på synkroniseringssignalen. Tiden mellan slutet på synkroniseringssignalen och starten på den aktiva videosignalen. Ball Grid Array Electronic Design Interchange Format Versa Module Euro card Complex Programmable Logic Device. (Komplex programmerbar logikkrets). Central Processing Unit Digital to Analog Converter Field Programmable Gate Array Plastic Leaded Chip Carrier Video Graphics Array Very high speed integrated Hardware Description Language. Mikrodatorkort från PEP Modular Computer Andreas Kingbäck

7 Videokort för VME-bussen Innehållsförteckning INLEDNING... 1 KRAVSPECIFIKATION:... 1 UPPGIFT... 1 ARBETSGÅNG:... 1 TIDSPLAN:... 1 RAPPORTENS UPPLÄGGNING... 2 INDUSTRISTANDARD FÖR VGA 640 X 480 PUNKTER... 3 Specifikation för en rad... 3 Specifikation för ett svep... 3 Övrigt... 4 BILDSKÄRMEN... 5 VGA SIGNALGENERATOR... 5 ELEKTRISKT INTERFACE... 7 INLEDNING... 8 FUNKTIONS BESKRIVNING... 8 Bakplan... 9 DATAÖVERFÖRING... 9 Allmänt om läs- och skrivcykeln... 9 Signaler beteckningar Skrivcykeln VIDEOKORT VAL AV KOMPONENTER Styrenhet Grafikminne DAC Kristall Matningsspänning Övrigt HÅRDVARUKONSTRUKTION Strömförsörjning Minnet Video DAC Oscillator Styrenhet Komponentlista för Styrenhet VHDL UTVECKLINGSSYSTEMET ARBETSGÅNG FRÅN ACTIVEHDL TILL FÄRDIG KRETS ActiveHDL Syntes i Synplify Pro Andreas Kingbäck

8 Videokort för VME-bussen Implementation i ispdesignexpert Uppladdning av beskrivningen i kretsen med LatticePRO VHDL BESKRIVNING AV VIDEOKORTET IN, UT OCH INTERNA SIGNALER FÖR TOPPNIVÅN D-VIPPA FÖR ATT GENERERA HALVA KLOCKFREKVENSEN D-VIPPA FÖR ATT GENERERA HALVA KLOCKFREKVENSEN VGA-BLOCKET Signalbeskrivningar för VGA-blocket VGA-BLOCKET NIVÅ TVÅ KOLUMNRÄKNARE RESETMEKANISM FÖR RÄKNARNA DATASPLITTER FÖR ATT GENERERA 8-BITARSBUSSARNA R, G OCH B VGA-ADDRESSGENERATOR GENERATOR FÖR VERTIKALA STYRPULSER GENERATOR FÖR HORISONTELLA STYRPULSER VME BLOCKET Signalbeskrivningar för VME-blocket Adressavkodaren och DTACK-generatorn Signalbeskrivningar för databussblocket VME-DATARIKTNINGSBLOCKET MINNESDATARIKTNINGSBLOCKET DATASTYRNINGSBLOCKET Skrivning till minnet från VME-bussen Läsning av minnet MIKRODATORKORT VM CAD AV MÖNSTERKORTET INLEDNING SCHEMA MÖNSTERKORTET TILLVERKNING AV MÖNSTERKORTET TILLVERKNING AV ETT TVÅLAGERS MÖNSTERKORT Steg 1: Utskrift av ledningsmönster...84 Steg 2: Utskärning av laminat till lämplig storlek Steg 3: Borrning Steg 4: Rengörning av kortet Steg 5: Plättering Steg 6: Laminering av fotoresist Steg 7: Exponering Steg 8: Framkallning Steg 9: Estning Steg 10: Laminering av lödmask...87 Steg 11: Exponering av lödmask...87 Steg 12: Framkallning av lödmask Steg 13: Härdning av lödmask Andreas Kingbäck

9 Videokort för VME-bussen Rening av processvatten RESULTAT KÄLLFÖRTECKNING LITTERATUR: INTERNET: Andreas Kingbäck

10 Videokort för VME-bussen Bilagor BILAGA 1: KOPPLINGSSCHEMAN BILAGA 2: BESKRIVNING AV MÖNSTERKORTET BILAGA 3: VHDL-BLOCK BILAGA 4: VHDL-KOD BILAGA 5: VHDL-EKVATIONER BILAGA 6: BENKONFIGURATION BILAGA 7: DATABLAD SWITCHREGULATOR LM257S-3.3 BILAGA 8: DATABLAD MINNE AS7C34096 BILAGA 9: DATABLAD DAC ADV7120 BILAGA 10: DATABLAD IQXO-350 BILAGA 11: DATABLAD ispmach 4A CPLD Figurförteckning FIGUR 1: SYNKRONISERINGSSIGNALER... 6 FIGUR 2: VGA-KONTAKT... 7 FIGUR 3: VME-KONTAKTEN... 9 FIGUR 4: TIDSDIAGRAM FÖR LÄSCYKELN FIGUR 5: TIDSDIAGRAM FÖR SKRIVCYKELN FIGUR 6: SCHEMA FÖR STRÖMFÖRSÖRJNINGEN FIGUR 7: SCHEMA FÖR EN MINNSEKAPSEL FIGUR 8: VIDEODAC FIGUR 9: KOPPLINGSSCHEMA FÖR KRISTALL FIGUR 10: UTSIGNAL FRÅN KRISTALL FIGUR 11: ACTIVEHDL FIGUR 12: "DESIGN FLOW" I ACTIVEHDL FIGUR 13: FLÖDESINSTÄLLNINGAR I ACTIVEHDL FIGUR 14: SYNPLIFY PRO FIGUR 15: IMPLEMENTERINGSINSTÄLLNINGAR FIGUR 16: ISPDESIGNEXPERT FIGUR 17: ISPDESIGNEXPERT CONSTRAINT EDITOR FIGUR 18: ISPVM SYSTEM FIGUR 19: LATTICEPRO FIGUR 20: ALLA VHDL-BLOCKEN FÖR VIDEOKORTET FIGUR 21: D-VIPPA FIGUR 22: VGA-BLOCKET FIGUR 23: VGA-BLOCKET NIVÅ TVÅ FIGUR 24: DATASPLITTER FIGUR 25: VGA-ADDRESSGENERATOR FIGUR 26: SIMULERING AV DEN VERTIKALA SYNKPULSGENERATORN FIGUR 27: SIMULERING AV VERTIKAL STYRPULSGENERATOR FIGUR 28: VME-BLOCKET Andreas Kingbäck

11 Videokort för VME-bussen FIGUR 29: VME-BLOCKET PÅ NIVÅ FIGUR 30 TOPPNIVÅ DATABUSSBLOCKET FIGUR 31: NIVÅ TVÅ DATABUSSBLOCKET FIGUR 32: VME-DATARIKTNINGSBLOCKET FIGUR 33: MINNESRIKTNINGSBLOCKET FIGUR 34: DATASTYRNINGSBLOCKET FIGUR 35: SKRIVNING TILL MINNET FRÅN VME-BUSSEN FIGUR 36: LÄSNING AV MINNET FIGUR 37: MÖNSTERKORT FIGUR 38: KOMPONENTPLACERING Andreas Kingbäck

12 Videokort för VME-bussen Inledning På institutionen för Teknik och (ITN) vid Linköpings Universitet har under en längre tid i kurser för mikrodatorer ingått teoretiska kunskaper om hur man skall konstruera ett videokort. Nu vill man även kunna utföra praktiska laborationer och behöver då ett kort för ändamålet. I den kurs som man i första hand tänkt använda videokortet används en mikrokontroller från PEP Modular Computers av typen VM42 som är bestyckad med en MC68040 processor på 33 MHz. VM42-kortet har en anslutning för VME-buss. Läsaren förutses ha goda kunskaper i digital konstruktion och av programmeringsspråket VHDL för att till fullo kunna tillgodogöra sig denna rapport. Kravspecifikation: Videokortet skall anslutas till VME-bussen Kortet skall byggas upp med logik och programmeras med VHDL Upplösningen skall vara 640x480 Kortet skall kunna visa minst 256 färger Uppgift Konstruera och tillverka videokortet för VME-bussen enligt kraven angivna i förordet. Arbetsgång: 1. Konstruktion 2. Tillverkning 3. Test 4. Rapport Tidsplan: Arbetet påbörjas period och framläggning jan/feb Den långa tid som gått sedan starten på arbetet och slutförandet beror i huvudsak berott på inledande problem och att arbetet blev mycket större än vad jag kunde se i startläget. Efter sommaren började jag och arbeta och detta har tagit mycket av min tid därför har rapportskrivandet och färdigställandet av VHDL-koden tagit lång tid. Andreas Kingbäck 1

13 Videokort för VME-bussen Rapportens uppläggning Rapporten börjar med att beskriva grundläggande information om VGA och VME. Därefter följer konstruktion, VHDL-beskrivning, Testprogram i processorn, CAD, tillverkning av mönsterkortet samt test av kortet. Andreas Kingbäck 2

14 Videokort för VME-bussen VGA Video Graphics Array (VGA) är en standard för färgmonitorer som visar 16 färger med en upplösning på 640 x 480 punkter. Uppdateringsfrekvensen dvs. antalet bilder som visas per sekund är 60. Den första standarden som kunde visa färg var CGA (Colour Graphics Adapter) med en upplösning på 160 x 200 punkter med 16 färger eller 640 x 200 utan färg. Den lanserades Därefter kom EGA (Enhanced Graphics Adapter) 1984 och den klarade att visa 64 färger i en upplösning av 640 x 350 punkter. Efterföljaren till VGA var XVGA (Extended Video Grahics Array) med en maximal upplösning på 1024 x 768 punkter. Industristandard för VGA 640 x 480 punkter Videokortet skall följa industristandarden för VGA 640 x 480 punkter. Följande data gäller för standarden. Klockfrekvens MHz Linje frekvens Hz Uppdaterings frekvens Hz Specifikation för en rad 8 punkter front porch 96 punkter horisontal synk 40 punkter back porch 8 punkter vänster ram 640 punkter video 8 punkter höger ram Detta ger totalt 800 punkter rad. Specifikation för ett svep 2 linjer front porch 2 linjer vertikal synk 25 linjer back porch 8 linjer övre ram 480 linjer video 8 linjer nedre ram Detta ger totalt 525 linjer per svep Den horisontella och vertikala synkroniserings pulserna är negativa. Andreas Kingbäck 3

15 Videokort för VME-bussen Övrigt Det finns tre standardiserade moder som VGA-kort oftast klarar av. Dessa är : 640 x 350 punkter och 70Hz är kompatibel med EGA, men på en VGA skärm. 640 x 400 punkter och 70Hz är MS-DOS textläge. 640 x 480 punkter och 60Hz är standard Windows grafikläge med 16 färger. Andreas Kingbäck 4

16 Videokort för VME-bussen Bildskärmen Bilden skapas på bildskärmen när en stråle av elektroner träffar fosforlagret som finns inne i bildröret och ljus emitteras. För att skapa de olika färgerna finns tre stycken elektronkanoner en för varje färg (röd, grön och blå) längst bak i bildröret. För att elektronstrålen skall träffa fosforytan på rätt ställe så används kopparspolar som sitter runt bildrörets hals. När en ström flyter genom dessa spolar skapas ett magnetfält som böjer elektronstrålen. Innan elektronstrålen träffar fosforlagret passerar den skuggfiltret. Skuggfiltret är en platta med många hål som elektronstrålen kan passera genom. Hålavståndet i skuggfiltret avgör punktavståndet dvs. hur skarp bilden blir. VGA signalgenerator Bildskärmens styrenhet ser till att elektronstrålen sveper från vänster till höger och från topp till botten på bildröret För att starta och avbryta dessa svep finns det två stycken synkroniseringssignaler. Dessa synkroniseringspulser behövs för att bilden skall visas på ett korrekt sätt. Den horisontella synkroniseringssignalen används för att se till att punkterna visas på den synbara delen av bildskärmen sett från vänster till höger. Med en upplösning på 640x480 punkter och en uppdateringsfrekvens på 60Hz sänds bildpunkterna till bildskärmen i ett µs stort tids fönster. Horisontal synkroniseringspulsen går låg 0.64µs efter att sista bildpunkten har skickats till bildskärmen och är sedan låg i 3.81µs. En ny rad med bild punkter påbörjas tidigast 1.3µs efter att horisontal synkroniseringspulsen är avslutad. Med andra ord så upptar en linje tidsmässigt µs av det 31.17µs långa svepet. Under den återstående tiden är den horisontella noll intervallet. Under detta intervall är de utritade punkterna svarta. Se Figur 1 på nästa sida. Negativa pulser på den vertikala synkroniseringssignalen markerar början och slutet av videobilden som byggs upp av alla videoraderna. Detta för att bildskärmen skall visa alla linjerna i den synbara delen av bildskärmen sätt uppifrån och ned. Alla linjerna skickas till bildskärmen i ett 15.25ms stort tidsfönster. Den vertikala synkroniseringssignalen går låg minst 0.45ms efter att sista raden är överförd och ligger låg i 64µs. En bild tar upp 15.25ms av ms intervall. De övriga ms kallas för den vertikala noll intervallet. Under detta intervall är då är de utritade punkterna svarta. Andreas Kingbäck 5

17 Videokort för VME-bussen Figur 1 Tids diagram för 640 x Hz Horsontellt blankningsi ntervall H-Synk µs µs µs 31.17µs Vertikalt blankningsi ntervall V-Synk 15.25ms 15.70ms ms ms Figur 1: Synkroniseringssignaler Andreas Kingbäck 6

18 Videokort för VME-bussen Elektriskt interface Bildskärmen ansluts med en femton polig honkontakt. Se Figur 2 och Tabell 1. Videosignalerna röd, grön och blå är analoga spänningar med topp till topp värde på 0.7V. Anpassningen är 75ohm. Övriga signaler har TTL nivåer dvs. 0 till 0.7V är en nolla och 3 till 5V en etta. Figur 2: VGA-kontakt Signal Stift Funktion Röd 1 Analog signal för den röda färg komponenten ca 0.7V topp till topp Grön 2 Analog signal för den gröna färg komponenten ca 0.7V topp till topp Blå 3 Analog signal för den blå färg komponenten ca 0.7V topp till topp Monitor ID 4 Använd av PC för att bestämma typ av bildskärm Digital jord 5 Digital jord. OBS måste åtskiljas från den analoga! Analog jord för röd färg 6 Analog jord för röd färg Analog jord för grön färg 7 Analog jord för röd färg Analog jord för blå färg 8 Analog jord för röd färg Ej använd 9 Jord för synkronisering 10 Jord för synkronisering Monitor ID 11 Använd av PC för att bestämma typ av bildskärm Monitor ID 12 Använd av PC för att bestämma typ av bildskärm Horisontal synk 13 Horisontal synk Horisontal synk 14 Horisontal synk Används ej 15 Tabell 1: Beskrivning av VGA-kontakten Andreas Kingbäck 7

19 Videokort för VME-bussen VME-bussen Inledning Förkortningen VMEbus står för Versa Module Eurocard bus och den definierades 1981 av ett antal olika tillverkare av datorkomponenter. I denna grupp ingick Motorola, Mosteck och Signetics som samarbetade för att definiera standarden. Sedan starten har standarden uppdaterats flera gånger och ny funktionalitet adderats. VMEbus-standarden är efterföljaren till VERSAbus som definierades av Motorola 1979 för sin mikroprocessor. VERSAbus används fortfarande idag men den har inte accepterats på samma sätt som VME-bussen. En stor fördel är att alla fritt får använda VME-bussen utan några licensavgifter. Detta hjälper till att stimulera användningen av bussen. Informationen om VME-bussen i detta kapitel är ej fullständig utan endast den information som är nödvändig för projektet beskrivs. Funktions beskrivning VME-bussen använder sig av en master/slav arkitektur. En huvudmodul överför data till och från slavmodulerna. Många huvudenheter kan finnas på samma buss därför kallas det för en fler behandlande buss (multi processing bus). För att detta skall fungera finns signalering för att bestämma vilken huvudenhet som får använda bussen. Vid fel i dataöverföringen signaleras även detta via bussen till huvudenheten som då behandlar felet på ett lämpligt sätt. VME-bussen är asynkron dvs. ingen klocksignal används för att synkronisera dataöverföringen. Den maximala dataöverföringshastigheten är 40Mbytes/s. Revision D av VME-bussen tillåter 64-bitars adress och 64-bitars dataöverföring och detta görs genom adress och data multiplexering. Överföringshastigheten i Revision D är maximalt 80Mbytes/s. Tabell 1 Egenskaper hos VME-bussen Adressering upp till 64-bitars databredd. (16,24,32 eller 64) Databussbredd upp till 64-bitar. (8,16,24,32 eller 64) Sju avbrottsnivåer. Felhantering Upp till 21 µ-processorer Systemdiagnos med SYSFAIL-signalen Kortstorlek 160x100mm eller 160x233mm Eurocard. Kontakt DIN Standard IEEE 1014, IEC 821 och IEEE 1101 Andreas Kingbäck 8

20 Videokort för VME-bussen Bakplan Modulerna är sammankopplade med ett bakplan. Bakplanet kan innehålla mellan två till tjugoen moduler. Ett eller två bakplan kan användas beroende på systemkonfigurationen. Om man använder ett bakplan med en kontakt (J1) finns 24 adress bitar,16 databitar och med två (J1 och J2) ökas kapaciteten till 64 bitars adress och databuss. Figur 3: VME-kontakten Dataöverföring Huvudenheterna överför data till och från slavenheterna via databussen. (DTB Data Transfer Bus). Databussen tillåter flera typer av busscykler. Dessa är läs/skriv cykel, blocköverföring, läs-modifieraskriv, endast adresscykel och avbrottscykeln. Endast läs- och skrivcykeln berörs i denna rapport då de andra ej används i detta projekt. För vidare information hänvisas till boken The VMEbus Handbook. Allmänt om läs- och skrivcykeln Läs och skriv cykeln är den mest förekommande av alla busscykler. Data kan överföras med 8,16,24 eller 32 bitar åt gången. Under överföringen adresserar en huvudenhet en slavenhet. Detta görs med adress linjerna A01-A31, sex stycken adressmodifieringskoder AM0-AM5 och två kontrollsignaler IACK* och LWORD*. Dessa signaler ligger ute på bussen när adressstroben AS* går låg. DS0* och DS1* bestämmer samtidigt vilken byte position inom en fyra bytes grupp som skall överföras. Se tabell 2. När slavenheten har läst av data från bussen signalerar den det till huvudenheten genom att sätta DTACK signalen låg. Huvudenheten avslutar sedan cykeln genom att sätta AS* hög. Se specifik information under läs- respektive skrivcykeln. Andreas Kingbäck 9

21 Videokort för VME-bussen Signaler beteckningar Endast de signaler som används i projektet beskrivs nedan. För fullständig specifikation hänvisas till IEEE Med en * efter signalens namn menas att den är aktivt låg. A01 A31 Adresseringssignaler som bestämmer vilken adress på videokortet som skall adresseras vid läsning eller skrivning. AS* När adresstroben går låg ligger adress och adressmodifieringssignalerna ute på bussen. D0 D15 Antalet bitar i databussen som används och dess position. Positionen varierar med hänsyn till signalerna DS0*, DS1*, A01 och LWORD* se tabell 2 DS0 DS1 Dessa signaler beskriver vilken i vilken position datan skall lagras. När de kombineras med LWORD* och A1 bestämmer de även storleken på data överföringen. Se Tabell 2 nedan. D31-D24 D23-D16 D15-D08 D7-D0 D S 1 * BYTE 0 BYTE 1 BYTE 2 BYTE BYTE 0 BYTE 1 BYTE BYTE 1 BYTE2 BYTE BYTE 1 BYTE BYTE 2 BYTE BYTE 0 BYTE D S 0 * A 0 1 L W O R D * Tabell 2: Antal databitar och deras position med hänsyn till DS1*, DS0*, A01 och LWORD* Andreas Kingbäck 10

22 Videokort för VME-bussen IACK* Avbrottskvittenssignal. Signalen drivs låg av den enhet som hanterar avbrottet. DTACK* Datakvittens. Vid skrivcykel sätts DTACK* efter att slavenheten har läst data från bussen och vid läscykel efter att data har lagts ut på bussen. DWORD* Bestämmer datastorleken vid överföring. BERR* Används för att indikera att ett överföringsfel uppstått. AM0 AM5 Adresseringsmodifieringskoderna bestämmer vilken typ av överföring som skall ske. I tabellen nedan visas standardmoderna vid överföring av data. IACK* förutsätts vara etta annars kommer processorn att hantera ett avbrott. Tabellen är på engelska för att förväxlingar inte skall ske. Address Modifier (Hex) Address Modifier (Binary) No of Address Bits Transfer Type 3F Standard supervisory block transfer 3E Standard supervisory program access 3D Standard supervisory data access 3C Standard supervisory 64-bit block transfer 3B Standard non-privileged block transfer 3A Standard non-privileged program access Standard non-privileged data access Standard non-privileged 64-bit block transfer 2D Short supervisory access Short non-privileged access 10 1F - User Defined Tabell 3: Adressmodifieringskoder från 10H till 3FH när IACK = 1 Andreas Kingbäck 11

23 Videokort för VME-bussen Läscykeln Läscykeln används när huvudenheten skall hämta information från slavenheten. En läscykel utförs enligt följande: Huvudenheten adresserar slavenheten genom att lägga ut korrekt adress på adressbussen A00 -> A31 Samtidigt sätts adresseringsmodifieringskoderna (AM0 -> AM5), IACK* går hög och WRITE*- signalen går hög för att påvisa att det är en läsoperation. Efter en viss tid för att signalerna skall stabilisera sig går AS* låg. Samtidigt sätts DS0 och DS1 för att indikera hur informationen skall överföras på databussen. Slavenheten lägger ut data på databussen och drar DTACK* låg för att indikera att data är utlagt på databussen. För att avsluta busscykeln sätter huvudenheten signalen AS* hög. Slavenheten är då inte längre adresserad och DTACK* går hög. Busscykeln är nu avslutad. Andreas Kingbäck 12

24 Videokort för VME-bussen A00-A31 Adress AM0-AM5 Adresserings modifierings koder AS* DS0-DS1 IACK* WRITE* D00-D31 DATA DTACK* Figur 4: Tidsdiagram för läscykeln Andreas Kingbäck 13

25 Videokort för VME-bussen Skrivcykeln Skrivcykeln används när huvudenheten skall skriva information till slavenheten. En skrivcykel utförs enligt följande: Huvudenheten adresserar slavenheten genom att lägga ut korrekt adress på adressbussen A00 -> A31 Samtidigt sätts adresseringsmodifieringskoderna (AM0 -> AM5), IACK* går hög och WRITE*- signalen går låg för att påvisa att det är en skrivoperation. Efter en viss tid för att signalerna skall stabilisera sig går AS* låg. Samtidigt sätts DS0 och DS1 för att indikera hur informationen skall överföras på databussen. Huvudenheten lägger ut data på databussen och drar AS* låg för att indikera att data är utlagt på databussen. För att avsluta busscykeln sätter slavenheten signalen DTACK* låg. Slavenheten är då inte längre adresserad och AS* går hög. Busscykeln är nu avslutad. Andreas Kingbäck 14

26 Videokort för VME-bussen A00-A31 Adress AM0-AM5 Adresseringsmodifieringskoder AS* DS0-DS1 IACK* WRITE* D00-D31 DATA DTACK* Figur 5: Tidsdiagram för skrivcykeln Andreas Kingbäck 15

27 Videokort för VME-bussen VIDEOKORT Videokortet skall visa den bild om lagras i videominnet enligt industristandarden för VGA. Undantag är att färgdjupet skall vara 24 bitar. Kommunikationen mellan mikrodatorn och minnet skall ske via VME-bussen. Videokortet är uppbyggt av ett fem stycken olika block. Dessa block bygger upp helheten och förenklar både konstrukionen och programmeringen av kortet. De fem block är: Spännings omvandling från 5V till 3.3V Videominne DAC Styrenhet Kristall Figur 2 Blockuppbyggnad av video kortet. Andreas Kingbäck 16

28 Videokort för VME-bussen Val av komponenter Valet av komponenter utfördes med tanke på enkel funktion, långt pris, kort leveranstid och att de i första hand skall vara ytmonterade med matningspänning. 3.3V. Styrenhet Valet av styrenhet en CPLD från LATTICE var enkel då det inom institutionen finns laborationskort med en enklare MACH-krets med tillhörande programmeringsutrustning och programvara. Samtliga kretsar inom M4-serien stöder programmering via IspJTAG interfacet. (Se programmering av CPLD). Antalet logiska anslutningar till kretsen måste vara högt då endast en CPLD skall användas. Den största krets som LATTICE tillhandahåller i PLCC kapsling är M4A3-384/160 med 208 ben varav 160 är användbara logik in / ut gångar. Valet av PLCC kapsel berodde på att tillverkaren av kretskortet ej har någon utrustning för att verifiera placeringen av BGA kapslar och att dessa ej kan lödas manuellt. Matningsspänningen är 3.3V. Provexemplar kunde snabbt erhållas från LATTICE via PELCON i Stockholm. Grafikminne Då funktionen skall vara enkel ville jag använda statiska ram. Dessa måste vara tillräckligt snabba för att både kunna lagra data som kommer från VME-bussen och hela tiden försörja DAC med data. Matningsspänningen skall vara 3.3V. Minnets åtkomsttid måste maximalt vara 20ns. Minneskapaciteten skall vara 300KB * 24-bitar. Valet blev AS7C från Alliance Semiconductors. Minnet är 512KB * 8 med en åtkomsttid på 12ns. Det totala minnet byggs upp av tre stycken kretsar. DAC DAC skall vara så enkel som möjligt och klara av VGA-grafik. Efter en del letande på Internet hittade jag en video-dac (Digital to Analog Video converter) från Analog Devices. Den har tre stycken separata åtta bitars DAC, en för varje färg. Den klarar av omvandlings hastigheter upp till 50MHz. Matningsspänning 5.0V. För att få rätt spänningsreferens till DAC krävs en spänningsreferens (AD589) även den från Analog Devices. Kristall För att få den standardiserade frekvens MHz och samtidigt ha tid att lägga in i minnet från VME-bussen behövs en kristall med klockfrekvensen MHz. Denna finns ej som standard utan måste beställas. Tyvärr är minimiantalet vid beställning 50st kristaller. Detta gör att vi får nöja oss med en kristall på 50MHz som finns i tillgänglig i valfritt antal. Andreas Kingbäck 17

29 Videokort för VME-bussen Vald kristall som finns med i ELFA katalogen är IQXO-350 från IQD Ltd. Matningsspänning Samtliga kretsar utom DAC kräver en matningsspänning på 3.3V. För att få en så låg förlust som möjligt i omvandlingen dvs. låg värmeutveckling valdes en switchregulator. En bra sådan är LM2576 från National Semiconductors. Den ger 3.3V och max 3A konstant ström vid en inspänning mellan 5 till 40V. Switch-regulatorn matas med fem volt från VME-bussen. Femvoltsmatningen till DACkretsen går direkt från VME-bussen via ett par avkopplingskondensatorer. Övrigt Övriga komponenter är valda utifrån rekommendationer i respektive krets datablad. Samtliga finns i ELFA:s standardsortiment. Ytmonterade kapslingar är valda i första hand med utgångspunkt på formatet Andreas Kingbäck 18

30 Videokort för VME-bussen Hårdvarukonstruktion Denna del tar ingående upp konstruktionen av de fem olika delblocken. Fullständiga kopplingsscheman finns i bilaga 1. Andreas Kingbäck 19

31 Videokort för VME-bussen Strömförsörjning Mattningsspänningen skall vara +5V och kommer via VME-bussen. CPLD-kretsen och minnet kräver en matningsspänning på 3,3V. Denna spänning genereras med hjälp av en switchregulator (LM2576S-3.3) från National Semiconductor. Grundkoppling av switchregulatorns yttre komponenter är hämtad från databladet. Kortet drar i medel max 1A vid drift men spikar på upp till 3A kan förekomma. För att visa att regulatorn fungerar och att det finns matningsspänning på kortet har två lysdioder kopplats in. Figur 6: Schema för strömförsörjningen Andreas Kingbäck 20

32 Videokort för VME-bussen Den maximala temperaturen för PN-övergången i switchregulatorn får max vara 125 grader. Databladet säger även att man skall ligga 15 grader under detta värde för säker drift. Enligt databladet i bilaga 7 sidan 13 ges formeln för förlusteffekten enligt följande: P f ( ) V UT V + IN IQ I LASTV VIN = SAT Inspänningen V IN =5,0V, utspänningen V UT =3,3V och den maximala strömmen I LAST =1,0A. Övriga konstanter återfinns i databladet. I V Q SAT = 0.005A = 1.4V Detta sättes in i formeln och ger förlusteffekten P f =0.949W Ohms lag för termiska resistansen när stationärt tillstånd råder är T j T = R Den omgivande temperaturen T a i lådan uppskattas till 25 C. Enligt tidigare får temperaturen i PNövergången ej överstiga 110 C. Förlusteffekten har vi redan beräknat och den termiska resistansen för (S) kapsling är 50 C/W enligt databladet. Detta insatt i formeln ger att temperaturen i PN-övergången endast blir 69.5 C grader vilket är lägre än 110 C och vi behöver därför ingen kylfläns. a th P f Komponentlista för 3,3V strömförsörjning Följande komponenter bygger upp strömförsörjningsmodulen: Switchregulator LM2576S-3.3 1st Kondensator 1000uF 4st Kondensator 100uF 1st Motstånd 68ohm 2st Drossel 100uH 1st Zenerdiod 1N5882 1st Lysdiod grön 2st Andreas Kingbäck 21

33 Videokort för VME-bussen Minnet Minnesmodulen är uppbyggd med tre stycken 512KBx8bitars kapslar från Alliance Semiconductor. Minnet är vanliga SRAM med en åtkomsttid på 12ns. Matningsspänningen är 3,3V. Skrivning och läsning sker samtidigt från alla kapslar därför är skriv- och aktiveringssignalerna ihopkopplade. Hela schemat för minnesmodulen återfinns i bilaga 1. Bilden nedan visar en förstoring över inkopplingen av en minneskapsel. Syrning av samtliga signaler sker direkt från CPLD:n Datablad i bilaga 8. Figur 7: Schema för en minnsekapsel Komponentlista för minnesmodulen Följande komponenter bygger upp minnesmodulen: SRAM AS7C st Kondensator 0.1uF 3st Andreas Kingbäck 22

34 Videokort för VME-bussen Video DAC Video-DAC-kretsen (ADV7120) från Analog Devices sköter omvandlingen från digitala till analoga signaler. Den innehåller tre stycken 8-bitars DA-omvandlare. Dvs. en för varje färgkomponent (R, G & B). Datablad i bilaga 9. Samtliga insignaler styrs direkt från CPLD:n. Övriga yttre komponenter är kopplade enligt schemat i databladet på sidan 10, bilaga 9. Då kretsen är känslig för störningar har stor vikt lagts på att minimera dessa. R14,R31,R32 ser till att impedansen blir 75ohm och bandgapsreferensen AD589 genererar spänningsreferensen på 1,23V. L2, L3 är drosslar för att minimera att störningar fortplantar sig i matningsledningarna. Figur 8: VideoDAC Andreas Kingbäck 23

35 Videokort för VME-bussen Komponentlista för VideoDAC Följande komponenter bygger upp Video-DAC-modulen: Video DAC ADV st Zenerdiod AD589 (1,2V) 1 st Kondensator 0.1µF 4 st Kondensator 10µF 1 st Kondensator 33µF 1 st Avstörningspärla BL01RN 2 st Motstånd 75Ω 3 st Motstånd 560Ω 1 st Andreas Kingbäck 24

36 Videokort för VME-bussen Oscillator Oscillatorn skall generera systemklockan på 50MHz. Inspänningen på 5V avkopplas med en 0.1uF kondensator. På utgången ligger en filterkondensator på 15pF. Datablad finns i bilaga 10. Figur 9: Kopplingsschema för kristall Figur 10: Utsignal från kristall Komponentlista för Oscillatorn Följande komponenter bygger upp oscillatormodulen: Oscillator IQXO-350C 1 st Kondensator 0.1µF 1 st Kondensator 15pF 1 st Andreas Kingbäck 25

37 Videokort för VME-bussen Styrenhet Mach-kretsen M4A3-384/160 är kopplad till de andra kretsarna som skall styras samt VME-bussen. Kopplingsschemat återfinns i bilaga 1 då den är för stor för att visas snyggt här. Kretsen matas med 3,3V och 12 stycken avkopplingskondensatorer är anslutna till respektive matningsspäningsben. Kretsen programmeras via JTAG och dess koppling återfinns även i bilaga 1. Datablad i bilaga 11. Komponentlista för Styrenhet Följande komponenter bygger upp styrenheten: CPLD M4A3-384/160 1 st Kondensator 0.1µF 12 st Andreas Kingbäck 26

38 Videokort för VME-bussen VHDL För att klara utvecklingen av nya snabba system med integrerade kretsar, utvecklade United States Department of Defence 1980 VHSIC (Very High Speed Integrated Circuit Hardware Description Language). Genast kom många synpunkter in från industrin och i juni 1981 föddes efterföljaren VHDL. Under åren 1983 till 1985 fortsatte utvecklingen av VHDL med företagen Intermetrics, IBM och TI i spetsen överfördes alla rättigheter för språket till IEEE. Den stora anledningen till att VHDL började utvecklas var att den hårdvara som konstruerades var dåligt dokumenterad och att den ständigt behövde förnyas. De system som då fanns på marknaden byggdes upp med flera olika fysiska komponenter. Simulering utfördes med olika simuleringsprogram vilka inte var kompatibla med varandra. Med hjälp av VHDL kan företagen nu bygga upp sina konstruktioner i datorn innan de realiserar konstruktionen fysiskt. Även simulering sker på ett enkelt sätt utan att konstruktionen byggs fysiskt. Några fördelar med VHDL beskrivningar: Ökad portabilitet VHDL-konstruktioner härrör sig till en standard och kan implementeras i flera olika miljöer. Dessa kan vara PLD, FPGA eller CPLD. Detta medför att konstruktören har en stor frihet att välja vilken plattform och leverantör han skall använda sig av. Utbytbarhet När den använda kretsen är gammal och inte går att köpa, väljs enkelt en nyare version och den programmeras med den gamla VHDL beskrivningen. Detta minimerar kostnaden och man kan hela tiden använda sig av den senaste tekniken. Teknologioberoende VHDL-konstruktioner är hela tiden oberoende av utvecklingen av IC-kretsar. Detta minskar inlärningstiden för ny teknologi, vilket i sin tur minskar utvecklingstiden. Effektiv dokumentation Det är mycket enkelt att i koden med kommentarer beskriva kretsens funktion. Detta gör det mycket enkelt att i framtiden modifiera konstruktionen. Högt spann Med en VHDL-modell kan man komma åt alla nivåer i en konstruktion. Från övergripande block ner till transistornivå. Andreas Kingbäck 27

39 Videokort för VME-bussen Utvecklingssystemet Utvecklingssystemet består av fyra olika delar. Detta gör att man måste följa kedjan från editor, syntes, implementering och uppladdning av kod till CPLD:n genom olika program. Det är inte säkert att koden som skrivs i editorn kommer att godkännas i senare steg. Detta beror oftast på att kompilatorn inte klarar av hela VHDL-standarden. Personligen hade jag sett att alla stegen var implementerade i ett program. I detta avsnitt visas endast ytligt konstruktionsflödet genom de olika programmen, inte hur nya objekt skapas och hur dessa simuleras. Följande programvaror har använts: ActiveHDL ver 5.1 för editering och simulering. Synplify Pro ver 7.1 för syntes. Lattice ispdesignexpert ver för implementering. LatticePRO ver för uppladdning av kod Anledningen till att dessa program användes är att de finns på Campus Norrköping. Nackdelen med ActiveHDL är att den inte fullt ut stödjer Lattice MACH-kretsar i denna version. Med det menas att det inte går att på ett enkelt sätt simulera konstruktionen efter syntes och implementation. Jag har påpekat detta till ALDEC och de säger att denna funktion kommer att finnas i senare versioner av programmet. Ytterligare problem är att ActiveHDL godkänner kod som senare inte Synplify Pro klarar av att syntisera. Detta har gjort att jag vid något tillfälle fått tänka om från början och helt göra om VHDL-koden. Det finns dock många fördelar med ActiveHDL. Det är mycket enkelt att simulera och skapa testbänkar. Editorn är mycket bra med undantaget att man inte kan ändra namn på blocken på ett enkelt sätt. Från version 5.0 av ActiveHDL öppnas Synplify Pro med hjälp av design flow fönstret. Andreas Kingbäck 28

40 Videokort för VME-bussen Arbetsgång från ActiveHDL till färdig krets ActiveHDL När ActiveHDL startas visas Design Flow till höger och projektet till vänster. Där återfinns alla de filer som ingår i projektet. Öppna en fil genom att dubbelklicka på den. Fönstret längst ned visar vilka kommandon som har utförts, kompileringsfel mm. Figur 11: ActiveHDL Andreas Kingbäck 29

41 Videokort för VME-bussen Figur 12: "Design Flow" i ActiveHDL 5.1 Figuren ovan visar konstruktionsflödet. Det finns tre olika sätt att göra koden. Dessa är ren VHDLkod (HDE), funktionsdiagram (FSM) och blockdiagram (BDE). Givetvis kan dessa tekniker kombineras för att ytterligare göra koden mer överskådlig. Efter att koden är klar kan den simuleras. Dvs. programmet tar inte hänsyn till den valda kretsen utan utgår bara från den genererade VHDLkoden. Innan syntes och implementation kan utföras måste de program som skall användas specificeras. Detta görs i Flow Settings. Se figur 5. I denna version av ActiveVHDL kan inte ispdesignexpert väljas. IspExpert kan väljas men det stöder inte MACH-kretsarna., vilket medför att ispdesignexpert måste startas separat. Andreas Kingbäck 30

42 Videokort för VME-bussen Figur 13: Flödesinställningar i ActiveHDL Andreas Kingbäck 31

43 Videokort för VME-bussen Syntes i Synplify Pro Starta syntesen genom att klicka på synthesis i design flow -fönstret. Synplify Pro startas och de filer som behövs för synteseringen kommer automatiskt att laddas in i programmet. Se figur 6 nedan. Klicka på knappen Impl Options och välj där ispmach och M4A Se figur 7. Starta sedan syntiseringen genom att klicka på Run knappen. Filen top.edf kommer då att skapas. Denna fil skall sedan användas av ispdesignexpert under implementeringen. Figur 14: Synplify Pro Andreas Kingbäck 32

44 Videokort för VME-bussen Figur 15: Implementeringsinställningar Andreas Kingbäck 33

45 Videokort för VME-bussen Implementation i ispdesignexpert Starta implementationen genom starta IspDesignEXPERT och öppna projektet VM_video.syn. När koden har synteserats måste filen top.edf först tas bort ur projektet och sedan läggas till igen. Detta för att ispdesignexpert skapar en arbetskopia i en annan katalog. Figur 16: ispdesignexpert För att låsa utgångarna mot rätt ben på kretsen klicka först på M43A-384/160-10YC och sedan på Constraint Editor. Se Figur 12 och bilaga 6. Skapa JEDEC filen genom att klicka på JEDEC File i Processes for Current Source fönstret. Därefter skapas filen vm_video.jed som skall programmeras ner i kretsen med hjälp av LatticePro. Andreas Kingbäck 34

46 Videokort för VME-bussen Figur 17: ispdesignexpert Constraint Editor Andreas Kingbäck 35

47 Videokort för VME-bussen Uppladdning av beskrivningen i kretsen med LatticePRO Starta LatticePRO genom att först starta ispvm System och därefter LatticePro genom att klicka på knappen längst ner till höger. Se figur 10 och 11 nedan. I LatticePRO öppnas filen download.wch som innehåller inställningarna för uppladdningen av JEDEC filen. Se figur 9. Tryck sedan på GO knappen så laddas programmet ner i CPLD:n. Om allt har gått bra är CPLD kretsen nu programmerad och klar att användas. Glöm inte att göra en reset för att initiera kretsen. Figur 18: ispvm System Andreas Kingbäck 36

48 Videokort för VME-bussen Figur 19: LatticePRO Andreas Kingbäck 37

49 Videokort för VME-bussen VHDL Beskrivning av Videokortet VHDL-beskrivningen bygger på fyra stycken grundblock. Dessa är VME-blocket, Adressmultiplexerblocket, VGA-blocket och Databussblocket. På toppnivån ingår även en D-vippa som halverar klockfrekvensen innan den går vidare till VGA-blocket. Kommunikationen mellan blocken sköts med enstaka signaler. Sammankopplingen av blocken återfinns i figur 12 nedan. Att notera är att alla kontrollsignaler är aktivt låga om inget annat anges! De analoga signaler som går till monitorn kan inte påverkas i VHDL-beskrivningen med de listas ändå som utsignaler. Tyvärr går det ej på ett enkelt sätt att byta namn på blocken vilket jag annars skulle ha gjort. Figur 20: Alla VHDL-blocken för videokortet Andreas Kingbäck 38

50 Videokort för VME-bussen In, Ut och Interna signaler för toppnivån Insignaler till CPLD: A(22:0) AM(5:0) Dvme IACK AS LWORD CLK RST WRITE 23 bitars adressbuss från VME-bussen. Adressmodifieringskoder från VME-bussen. Databuss till/från VME-bussen. Avbrottskvittenssignal från VME-bussen. Adressstrobe från VME-bussen. Datastorlek från VME-bussen. Klocksignal från intern kristall. (50MHz) Reset signal från VME-bussen Skriv signal från VME-bussen Utsignaler från CPLD: R G B Vsync Hsync Ref_w Vgaclk Blank Sync Dvme BERR DTACK Digital 8-bitars färgsignal för röd färg Digital 8-bitars färgsignal för grön färg Digital 8-bitars färgsignal för blå färg Signal för vertikal synk Signal för horisontell synk Om denna sätts hög läggs endast vit färg ut Startar omvandlingen från digital till analog signal Signal för att endast lägga ut svart färg Synksignal för DAC, anväds ej. Databuss till VME-bussen. Signal för att indikera överföringsfel. ACK-signal till VME-bussen. Andreas Kingbäck 39

51 Videokort för VME-bussen Interna signaler för toppnivån: VME_address Addr Address_sel TrasferFlag TransferComplete Addres_Select ToVGA R G B Datarequest Oe We Dmem Ref_w Blank Vga_clk Adress från VME-blocket till adressmultiplexern. Adress till det interna RAM-minnet. Styrsignal för val av adress från VME-bussen eller VGAblocket. Signal för att starta en ny operation går från VMEblocket till databusblocket Signal för att bekräfta att efterfrågat operation är utförd. Signalen går från databussblocket till VME-blocket Signal från databussblocket till adressmultiplexern. Färgdata från databussblocket till VGA-blocket Digital färg signal för röd färg går till DAC:en Digital färg signal för grön färg går till DAC:en Digital färg signal för blå färg går till DAC:en Signal för begäran av ny data från databussblocket Signal för att läsa från det interna minnet Signal för att skriva till det interna minnet Databuss till/från det interna minnet Signal för att bara lägga ut vit färg till monitorn. Signal för att bara lägga ut svart färg till monitorn. DAC:en läser in ny data från ToVGA på positiva klockflanker. Andreas Kingbäck 40

52 Videokort för VME-bussen Hierarki Nedan visas hur de olika blocken är strukturerade. Om namnet avslutas med.vhd betyder detta att blocket innehåller VHDL kod. TOPP NIVÅ 1 NIVÅ 2 dff dff.vhd vme block Adressdecoder block Dtack generator block Adressdecoder block.vhd Dtack generator block.vhd Databusblock datacontroler VMEDataDirectionBloc MemoryDataDirectionB Datacontroler.vhd VMEDataDirectionBlock.v MemoryDataDirectionBloc vgablock databuffer Vgaaddress generator Vsync generator Hsync generator linecounter Pixelcounter Databuffer.vhd Vgaaddress generator.vhd Vsync generator.vhd Hsync generator.vhd Linecounter.vhd Pixelcounter.vhd Addressmux addressmux.vhd Andreas Kingbäck 41

53 Videokort för VME-bussen D-vippa för att generera halva klockfrekvensen Innehåll D-vippan innehåller endast VHDL-kod som bygger upp funktionen för vippan. Figur 21: D-Vippa Funktionsbeskrivning: VGA-blocket behöver en klocksignal på 25MHz Denna signal används för att skicka ut data från ramminnet i rätt takt till monitorn. Kristallen på kortet ger 50MHz och den skall således delas med två. Klockfrekvensen skapas lätt med en D-vippa som återkopplas från den inverterande utgången. Denna koppling kallas också för T-vippa och ändrar sitt tillstånd på varje positiv klockflank. EN (aktivera) och CLR (nollställ) används inte utan vippan startar i ett slumpvalt läge när strömmen slås på. Simuleringsmässigt behöver man dock initiera signalen för att det skall fungera. Detta görs genom att sätta Dstate = 0 vid deklareringen. Se nedan samt koden för D-vippan. signal Dstate: std_logic := '0'; Andreas Kingbäck 42

54 Videokort för VME-bussen VHDL-kod library IEEE; use IEEE.STD_LOGIC_1164.all; entity DFF is port( CLK, D, CLR,EN : in std_logic; Q : out std_logic; Qn : out std_logic := '0' ); end DFF; architecture DFF of DFF is signal Dstate: std_logic := '0'; begin end DFF; Q <= Dstate when EN='1' else 'Z'; Qn <= not Dstate; seq: process(clk,clr) begin if (CLR = '0') then Dstate <= '0'; elsif CLK'event and CLK='1'then Dstate <= D; end if; end process; Andreas Kingbäck 43

55 Videokort för VME-bussen VGA-blocket Innehåll VGA-blocket är uppbyggt av fem underliggande block och ett antal logiska grindar, buffrar och en multiplexer. Dessa komponenter bygger upp VGA-blockets funktion. Figur 22: VGA-blocket Funktionsbeskrivning VGA-blockets uppgift är att skapa de signaler som behövs för att bildskärmen och video-dackretsen skall styras på rätt sätt. Den färginformation som skall skickas till video-dac-kretsen för omvandling till analoga signaler kommer från tovga bussen och delas upp till R, G och B bussarna. R, G och B bussarna uppdateras på negativa klockflanker och video-dac-kretsen gör omvandlingen på positiv klockflank. Signalerna som styr detta är vgaclk. Hsync, vsync och blank. Dessa signaler styrs enligt definition i VGA-avsnittet. Signalerna ref_w och sync är för framtida bruk. Andreas Kingbäck 44

56 Videokort för VME-bussen Signalbeskrivningar för VGA-blocket Insignaler till VME-blocket: Datarequest ToVGA Halfclock RST Signal för begäran av ny data från databussblocket Färgdata från databussblocket till VGA-blocket 25MHz klocksignal Resetsignal Utsignaler från VGA-blocket: R G B Vsync Hsync Ref_w Vgaclk Blank Sync Digital 8-bitars färgsignal för röd färg Digital 8-bitars färgsignal för grön färg Digital 8-bitars färgsignal för blå färg Signal för vertikal synk Signal för horisontell synk Om denna sätts hög läggs endast vit färg ut Startar omvandlingen från digital till analog signal Signal för att endast lägga ut svart färg Synkroniseringssignal för DAC, används ej. Interna signaler för VGA-blocket Lineno(9:0) PixelValue(9:0) H_reset V_reset Vblank Hblank Hdatarequest Vdatarequest Räknare för rad Räknare för kolumn Horisontell reset Vertikal reset Vertikal blanksignal Horisontell blanksignal Horisontell databegäran Vertikal databegäran Andreas Kingbäck 45

57 Videokort för VME-bussen VGA-blocket nivå två Innehåll VME-blocket är uppbyggt av sex underliggande block. Dessa block är databuffer, vgaadress_generator, vsync_generator, hsync_generator, linecounter och pixelcounter. Figur 23: VGA-blocket nivå två Funktionsbeskrivning Se föregående funktionsbeskrivning! Andreas Kingbäck 46

58 Videokort för VME-bussen Radräknare Innehåll Blocket för radräknaren innehåller endast VHDL-kod som bygger upp funktionen. Funktionsbeskrivning Räknar upp ett steg på positiv klockflank. Om CLR sätts låg nollställs räknaren vid positiv klockflank (synkron reset). VHDL-kod library IEEE; Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_UNSIGNED.all; entity linecounter is port ( CLK : in std_logic; CLR : in std_logic; Q : out std_logic_vector(9 downto 0) ); end entity; architecture linecounter_arch of linecounter is signal TEMP_Q : std_logic_vector(9 downto 0); begin process(clk) begin if rising_edge(clk) then if CLR = '0' then TEMP_Q <= " "; else TEMP_Q <= TEMP_Q + 1; end if; end if; end process; Q <= TEMP_Q; end architecture; Andreas Kingbäck 47

59 Videokort för VME-bussen Kolumnräknare Innehåll Blocket för kolumnräknaren innehåller endast VHDL-kod som bygger upp funktionen. Funktionsbeskrivning Räknaren upp på positiv klockflank. Om CLR sätts låg nollställs räknaren vid positiv klockflank (synkron reset). VHDL-kod Library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_UNSIGNED.all; entity pixelcounter is port ( CLK : in std_logic; CLR : in std_logic; Q : out std_logic_vector(9 downto 0) ); end entity; architecture pixelcounter_arch of pixelcounter is signal TEMP_Q : std_logic_vector(9 downto 0); begin process(clk) begin if rising_edge(clk) then if CLR = '0' then TEMP_Q <= " "; else TEMP_Q <= TEMP_Q + 1; end if; end if; end process; Q <= TEMP_Q; end architecture; Andreas Kingbäck 48

Konstruktionsmetodik för sekvenskretsar

Konstruktionsmetodik för sekvenskretsar Konstruktionsmetodik för sekvenskretsar Digitalteknik Föreläsning 7 Mattias Krysander Institutionen för systemteknik Dagens föreläsning Inför laboration 2 Synkronisering av insignaler Asynkrona ingångar

Läs mer

VHDL och laborationer i digitalteknik

VHDL och laborationer i digitalteknik V:1.1 VHDL och laborationer i digitalteknik Vid laborationskursen i digitalteknik används VHDL till alla laborationerna utom den första. VHDL är ett stort språk och enbart en liten del av språket behövs

Läs mer

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

Laboration D184. ELEKTRONIK Digitalteknik. Sekvensnät beskrivna med VHDL och realiserade med PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Dan Weinehall/ Håkan Joëlson 2010-05-06 v 1.7 ELEKTRONIK Digitalteknik Laboration D184 Sekvensnät beskrivna med VHDL och realiserade

Läs mer

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

Konstruktionsmetodik för sekvenskretsar. Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik Konstruktionsmetodik för sekvenskretsar Föreläsning 7 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik 2 Dagens föreläsning Initiering av starttillstånd Programmerbar logik Syntesflödet

Läs mer

LABORATIONSINSTRUKTION

LABORATIONSINSTRUKTION Högskolan Dalarna Institutionen för Elektroteknik LABORATION LABORATIONSINSTRUKTION LOG/iC, PLD, kombinatorik, sekvensnät KURS Digitalteknik LAB NR 6 INNEHÅLL. Inledning 2. Prioritetskodare 3. Elektronisk

Läs mer

VHDL 1. Programmerbara kretsar

VHDL 1. Programmerbara kretsar VHDL 1 Programmerbara kretsar CPLD FPGA VHDL Kombinatorik with-select-when when-else Sekvensnät process case if-then-else Programmerbara kretsar PLD = programmable logic device CPLD = complex PLD, i princip

Läs mer

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM

FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM FÖRELÄSNING 8 INTRODUKTION TILL DESIGN AV DIGITALA ELEKTRONIKSYSTEM Innehåll Designflöde Översikt av integrerade kretsar Motivation Hardware Description Language CAD-verktyg 1 DESIGNFLÖDE FÖR DIGITALA

Läs mer

Digitala Projekt (EITF11)

Digitala Projekt (EITF11) Digitala Projekt (EITF11) Temperaturgivare med larm Handledare: Bertil Lindvall 2014-05-20 Erik Hellered, I-11 Andreas Sjöblom, I-11 Philip Dahlström, I-11 Table of Contents Inledning... 1 Kravspecifikation...

Läs mer

DESIGN AV SEKVENTIELL LOGIK

DESIGN AV SEKVENTIELL LOGIK DESIGN AV SEKVENTIELL LOGIK Innehåll Timing i synkrona nätverk Synkrona processer i VHDL VHDL-kod som introducerar vippor (flip-flops) och latchar Initiering av register Mealy- och Moore-maskiner i VHDL

Läs mer

Pulsmätare med varningsindikatorer

Pulsmätare med varningsindikatorer Pulsmätare med varningsindikatorer Elektro- och informationsteknik Projektrapport, EITF11 Digitala Projekt Charlie Hedhav Sofia Johansson Louise Olsson 2016-05-17 Abstract During the course Digitala Projekt

Läs mer

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

Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner i VHDL för PLD Sekvensfunktioner i VHDL för PLD UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2003-09-15 v 2.1 DIGITALTEKNIK Laboration D163 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

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

DIGITAL ELEKTRONIK. Laboration DE3 VHDL 1. Namn... Personnummer... Epost-adress... Datum för inlämning... UMEÅ UNIVERSITET Tillämpad fysik och elektronik 2014 John Berge et al. DIGITAL ELEKTRONIK Laboration DE3 VHDL 1 Namn... Personnummer... Epost-adress... Datum för inlämning... Introduktion Syftet med denna

Läs mer

Digitala projekt Elektro- och informationsteknik

Digitala projekt Elektro- och informationsteknik Digitala projekt Elektro- och informationsteknik Digitala projekt (I) VT1 huvudsakligen teori och VT2 konstruktionsarbete i projektlabb 10 hp motsvarar ca 7 veckor heltid! Godkännande; U, G Gruppstorlek;

Läs mer

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV

Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktion till Xilinx CPLD och ISE WebPack 6.2 Version NV Introduktionen beskriver grunderna för att använda programvaran Xilinx ISE WebPack 6.2.03 tillsammans med en CPLD (Complex Programmable Logic

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Kursinformation Lektion 7 : Datorlektion i Modelsim+VHDL Lab 3 : Programmerbara kretsar och

Läs mer

DIGITALTEKNIK. Laboration D172

DIGITALTEKNIK. Laboration D172 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2006-02-24 v 1.2 DIGITALTEKNIK Laboration D172 Programmerbar logik (PLD) Programmeringsspråket VHDL Kombinatoriska funktioner

Läs mer

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik

Programmerbara kretsar och VHDL 2. Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik Programmerbara kretsar och VHDL 2 Föreläsning 10 Digitalteknik, TSEA22 Oscar Gustafsson Institutionen för systemteknik 2 Dagens föreläsning Programmerbara kretsar igen Mer om processer Egna typer Använda

Läs mer

D/A- och A/D-omvandlarmodul MOD687-31

D/A- och A/D-omvandlarmodul MOD687-31 D/A- och A/D-omvandlarmodul MOD687-31 Allmänt Modulen är helt självförsörjande, det enda du behöver för att komma igång är en 9VAC väggtransformator som du kopplar till jacket J2. När du så småningom vill

Läs mer

KALKYLATOR LABORATION4. Laborationens syfte

KALKYLATOR LABORATION4. Laborationens syfte LABORATION4 KALKYLATOR Laborationens syfte I denna laboration ska en enkel kalkylator konstrueras med hjälp av VHDL och utvecklingsverktyget Vivado från Xilinx. Hårdvaran realiseras på det redan bekanta

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 9 Digitalteknik Mattias Krysander Institutionen för systemteknik Kursinformation VHDL-delen Lektion 7 : Datorlektion i VHDL+Xilinx [pdf] Lab 3 : Programmerbara

Läs mer

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

D2 och E3. EDA321 Digitalteknik-syntes. Fredag den 13 januari 2012, fm i M-salarna EDA321 Digitalteknik-syntes D2 och E3 GU DIT795 Tentamen (EDA321-0205) Fredag den 13 januari 2012, fm i M-salarna Examinator Arne Linde, tel. 772 1683 Tillåtna hjälpmedel Inga hjälpmedel tillåtna. Detta

Läs mer

std_logic & std_logic_vector

std_logic & std_logic_vector VHDL VHDL - Very high speed integrated circuit Hardware Description Language VHDL är ett komplext språk, avsett för att beskriva digitala system på olika abstraktionsnivåer (beteende- och strukturmässigt).

Läs mer

Simulering med ModelSim En kort introduktion

Simulering med ModelSim En kort introduktion Linköpings universitet Institutionen för systemteknik Laborationer i digitalteknik Datorteknik 2018 Simulering med ModelSim En kort introduktion TSEA22 Digitalteknik D TSEA51 Digitalteknik Y TSEA52 Digitalteknik

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012

Digitalteknik: CoolRunner-II CPLD Starter Kit Med kommentarer för kursen ht 2012 Med kommentarer för kursen ht 2012 2012 CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna

Läs mer

LABORATIONSINSTRUKTION LABORATION

LABORATIONSINSTRUKTION LABORATION Högskolan Dalarna Elektroteknik LABORATION LABORATIONSINSTRUKTION Sekvensnät med VHDL KURS Digitalteknik LAB NR Ver9 5 INNEHÅLL. Kaskadkopplad räknare 2. Elektronisk tärning NAMN KOMMENTARER PROGRAM/KURS

Läs mer

(2B1560, 6B2911) HT08

(2B1560, 6B2911) HT08 Royal Institute of Technology, KTH, Kista School of Information and Communication Technology, ICT Department of Electronics, Computer and Software, ECS Digital Design, IE1204 (2B1560, 6B2911) HT08 OBS!

Läs mer

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik

DIGITALTEKNIK. Laboration D173. Grundläggande digital logik UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Håkan Joëlson 2007-11-19 v 1.1 DIGITALTEKNIK Laboration D173 Grundläggande digital logik Innehåll Mål. Material.... Uppgift 1...Sanningstabell

Läs mer

Digitalteknik: CoolRunner-II CPLD Starter Kit

Digitalteknik: CoolRunner-II CPLD Starter Kit CR:1 CoolRunner-II CPLD Starter Kit är ett litet utvecklingssystem för Xilinx-kretsen XC2C256. Utvecklingskortet kommer från företaget Digilent. Vid laborationerna i digitalteknik kommer kortet att användas

Läs mer

Programmerbar logik och VHDL. Föreläsning 1

Programmerbar logik och VHDL. Föreläsning 1 Programmerbar logik och VHDL Föreläsning 1 Programmerbar logik och VHDL Programmerbar logik VHDL intro Upplägg, litteratur, examination Programmerbara kretsar Mikroprocessor Fix hårdvara som kan utföra

Läs mer

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov)

Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov) 7HQWDPHQL.XQGDQSDVVDGHNUHWVDUI U(P Datum: 991012 Tid: 8.00-13.00 Lokal: E138 Hjälpmedel: Appendix A. VHDL-syntax. (bifogas detta prov) Appendix B.2. IEEE-package (bifogas detta prov) Vid eventuella frågor

Läs mer

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

Läs mer

Digital elektronik CL0090

Digital elektronik CL0090 Digital elektronik CL9 Föreläsning 5 27-2-2 8.5 2. Naxos Demonstration av uartus programvara. Genomgång av uartus flödesschema. Detta dokument finns på kurshemsidan. http://www.idt.mdh.se/kurser/cl9/ VHDL-kod

Läs mer

L15 Introduktion modern digital design

L15 Introduktion modern digital design L15 Introduktion modern digital design Upplägg LP2 F15 Introduktion till modern digital design F16 Kombinatoriska nät i VHDL F17 Sekvensnät i VHDL F18 Gästföreläsning (Advenica, fortsättningskurser) F19

Läs mer

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

Konstruktion av digitala system - VHDL

Konstruktion av digitala system - VHDL Konstruktion av digitala system - VHDL Digitalteknik - Föreläsning 10 Mattias Krysander Institutionen för systemteknik Dagens föreläsning Programmerbara kretsar Kombinationskretsar i VHDL with-select-when,

Läs mer

Sekvensnät i VHDL del 2

Sekvensnät i VHDL del 2 Laboration 6 i digitala system ht-16 Sekvensnät i VHDL del 2 Realisering av Mealy och Moore i VHDL............................. Namn............................. Godkänd (datum/sign.) 2 Laborationens syfte

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik George Boole och paraplyet F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant p = b! (s " r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 2 Exklusiv

Läs mer

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language

Digitalteknik, fortsättningskurs Föreläsning VHDL Very High Speed Integrated Circuit Hardware Description Language 1 Digitalteknik, fortsättningskurs Föreläsning 2-2012 VHDL Very High Speed Integrated Circuit Hardware Description Language VHDL = VHSIC Hardware Description Language VHSIC = Very High Speed Integrated

Läs mer

Angående buffer. clk clear >=1 =9?

Angående buffer. clk clear >=1 =9? 10.VHDL3 Repetition buffer, record, loop kombinaoriska processer Varning latchar, hasard CPU-embryo VHDL-kod för mikromaskin med hämtfas Minnen i FGPA Distributed RAM (LUT) Block-RAM 1 Angående buffer

Läs mer

Tentamen i Krets- och mätteknik, fk - ETEF15

Tentamen i Krets- och mätteknik, fk - ETEF15 Tentamen i Krets- och mätteknik, fk - ETEF15 Institutionen för elektro- och informationsteknik LTH, Lund University 2015-10-29 8.00-13.00 Uppgifterna i tentamen ger totalt 60. Uppgifterna är inte ordnade

Läs mer

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare

IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare IE1205 Digital Design: F8: Minneselement: Latchar och Vippor. Räknare Sekvensiella System a(t) f(a(t)) Ett sekvensiellt system har ett inbyggt minne - utsignalen beror därför BÅDE av insignalens NUVARANDE

Läs mer

Introduktion till syntesverktyget Altera Max+PlusII

Introduktion till syntesverktyget Altera Max+PlusII Lunds Universitet LTH Ingenjörshögskolan Ida, IEA Helsingborg Laboration nr 5 i digitala system, ht-12 Introduktion till syntesverktyget Altera Max+PlusII Beskrivning i VHDL och realisering av några enkla

Läs mer

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

Lösningförslag till Exempel på tentamensfrågor Digitalteknik I. Lösningförslag till Exempel på tentamensfrågor Digitalteknik I.. Uttryckt i decimal form: A=28+32+8 + 2 =70 B=59 C=7 A+B+C=246 2. Jag låter A' betyda "icke A" A'B'C'D'+ABC'D'+A'BCD'+AB'CD'=D'(A'(B'C'+BC)+A(BC'+B'C))=

Läs mer

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

Laboration D159. Sekvensnät beskrivna med VHDL och realiserade med PLD. Namn: Datum: Epostadr: Kurs: UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Lars Wållberg/Håkan Joëlson 2001-03-01 v 1.5 ELEKTRONIK Digitalteknik Laboration D159 Sekvensnät beskrivna med VHDL och realiserade med PLD

Läs mer

F7: I/O hantering. Asynkron och synkron busscykel 68000 Bussfördelning. Periferikretsar

F7: I/O hantering. Asynkron och synkron busscykel 68000 Bussfördelning. Periferikretsar 1 F7: I/O hantering Periferikretsar ADC, DAC, UART, etc. Databussar Seriella bussar I 2 C USB CAN Systembussar PCI VME Asynkron och synkron busscykel 68000 Bussfördelning 1 Periferikretsar ADC/DAC Räknare

Läs mer

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

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

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

Läs mer

Digital- och datorteknik, , Per Larsson-Edefors Sida 1

Digital- och datorteknik, , Per Larsson-Edefors Sida 1 Digitala it elektroniksystem t Professor Per Larsson-Edefors perla@chalmers.se Digital- och datorteknik, 101122, Per Larsson-Edefors Sida 1 Introduktion Konstruktionsalternativ Kretskort med diskreta standardkomponenter.

Läs mer

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05

Digitala Projekt Konstruktion av Tamagocchi. Av: Oskar Andersson D05 & Danial Rehman D05 Digitala Projekt Konstruktion av Tamagocchi Av: Oskar Andersson D05 & Danial Rehman D05 DIGITALA PROJEKT KONSTRUKTION AV TAMAGOCCHI... 1 SAMMANFATTNING... 2 INLEDNING... 3 DESIGN... 3 BYGGE... 3 TESTNING...

Läs mer

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

Läs mer

DAC500 Door Access Control unit

DAC500 Door Access Control unit DAC500 Door Access Control unit Inledning och adressering av Hi-O 3 Adressering av Hi-O enheter 3 Installation 4 Master reset/initiering 5 Initieringsmatris DAC500 6 Bygelfält 7 Streckscheman 8 Anslutning

Läs mer

Flödesschema som visar hur man använder Quartus II.

Flödesschema som visar hur man använder Quartus II. Flödesschema som visar hur man använder Quartus II. För att det skall bli lite enklare använder jag följande exempel: ut1

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL. Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL Föreläsning 10 Digitalteknik, TSEA22 Mattias Krysander Institutionen för systemteknik 3 Dagens föreläsning Programmerbara kretsar Kombinationskretsar i VHDL with-select-when,

Läs mer

BICT:01 BICT. sv-se. Användarinstruktion Gäller från BICT 2.24. Utgåva 5. Scania CV AB 2015, Sweden

BICT:01 BICT. sv-se. Användarinstruktion Gäller från BICT 2.24. Utgåva 5. Scania CV AB 2015, Sweden BICT:01 Utgåva 5 sv-se BICT Användarinstruktion Gäller från BICT 2.24 339 837 Scania CV AB 2015, Sweden Introduktion 3 Om BICT 3 Inställningar 4 Översikt 5 Beskrivning av termer 6 Grafiska symboler i programmet

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Översikt När flera minnesmoduler placeras i processorns

Läs mer

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00.

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL

Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik. EDA 321 Digitalteknik syntes Laboration 2 - VHDL Chalmers ekniska Högskola Institutionen för Data- och Informationsteknik EDA 321 Digitalteknik syntes 2011-2012 Laboration 2 - VHDL 1. Enkelt sekvensnät 2. Trafikräknare i VHDL 3. Syntes av VHDL-kod Namn

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok.

Den här texten ska förhoppningsvis underlätta en del av anpassningarna. Det kan säkert finnas en del fel och annat tok. Ver Okt 2011/pls Windows7, GX-IEC Developer, USB-adapter I olika kurser i styrteknik på Högskolan Dalarna används ett styrsystem från Mitsubishi och programvaran GX-IEC Developer. Kurserna går på distans

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik

Design av mindre digitala system. Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik Design av mindre digitala system Föreläsning Digitalteknik, TSEA52 Mattias Krysander Institutionen för systemteknik 2 Dagens föreläsning Kursinformation för HT2. Digitaltekniska byggblock Introduktion

Läs mer

Manual. Abelko M-Bus Device Creator (MBDC)

Manual. Abelko M-Bus Device Creator (MBDC) Manual Abelko M-Bus Device Creator (MBDC) Syfte Syftet med "M-Bus Device Creator (MBDC)" är att tillåta Abelko's IMSE WebMaster Pro (WMPro) att kommunicera med mätutrustning som använder sig av M-Bus standarden.

Läs mer

INTRODUKTION TILL VIVADO

INTRODUKTION TILL VIVADO INTRODUKTION TILL VIVADO LABORATION1 Under laborationerna kommer vi att konstruera/beskriva ett antal kretsar med hjälp av VHDL (Very high speed integrated circuit Hardware Description Language). För att

Läs mer

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System TETRIS LTH, Campus Helsingborg EITA15 Digitala System Handledare: Bertil Lindvall Författare: Isak Shamun, Viktor Kulle, Mark Slipac och Dennis Järnåsen Datum: 2019-05-09 Abstract This report concerns

Läs mer

Datorkonstruktion. Datorkonstruktion 2018, 8hp

Datorkonstruktion. Datorkonstruktion 2018, 8hp Datorkonstruktion 1 Datorkonstruktion 2018, 8hp Anders Nilsson Anders.P.Nilsson@liu.se Mål: Ni ska i grupper om 3 teknologer konstruera en inbyggd dator. VGA-skärm FPGA-kort 1 Datorkonstruktion 2018, 8hp

Läs mer

WAGO IO System Service Seminar. Diagnostik

WAGO IO System Service Seminar. Diagnostik WAGO IO System Service Seminar Diagnostik 1 Dioder på Controller Link 1/2 Ethernet Länk status Av - ingen ethernet anslutning grön - Ethernet anslutning blinkande grön - Ethernet anslutning skickar / tar

Läs mer

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12

www.telefrang.se Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke 2008-02-18 Sida 1 av 12 Telefrang Smoke Control System Installationsmanual för Midi- och MaxiSmoke MaxiSmoke MidiSmoke File: D:\Projekt\SMOKE CONTROL\MIDI SMOKE\Man\Midisystem_inst_man_V01.odt 2008-02-18 Sida 1 av 12 1. Installation

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Tentamensfrågor med lösningsförslag Allmän information Examinator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista

Läs mer

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som

Läs mer

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik

Programmerbara kretsar och VHDL 1. Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik Programmerbara kretsar och VHDL 1 Föreläsning 9 Digitalteknik, TSEA22 Oscar Gustafsson, Mattias Krysander Institutionen för systemteknik 3 Dagens föreläsning Programmerbara kretsar Kombinationskretsar

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

IE1204/IE1205 Digital Design

IE1204/IE1205 Digital Design TENTAMEN IE1204/IE1205 Digital Design 2012-12-13, 09.00-13.00 Inga hjälpmedel är tillåtna! Hjälpmedel Tentamen består av tre delar med sammanlagd tolv uppgifter, och totalt 30 poäng. Del A1 (Analys) innehåller

Läs mer

Sekvensnät. William Sandqvist

Sekvensnät. William Sandqvist Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör att utsignalen påverkas av både nuvarande och föregående insignaler!

Läs mer

Anders Arvidsson 2005-04-26 ROBOTBESKRIVNING. Roboten på bilden är extrautrustad

Anders Arvidsson 2005-04-26 ROBOTBESKRIVNING. Roboten på bilden är extrautrustad Anders Arvidsson 2005-04-26 ROBOTBESKRIVNING Roboten på bilden är extrautrustad Abstract This document describes the robot which is used in the third years applied courses at Ingenjörshögskolan i Jönköping.

Läs mer

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH T1-modulen Lektionerna 10-12 Radioamatörkurs OH6AG - 2011 Bearbetning och översättning: Thomas Anderssén, OH6NT Original: Heikki Lahtivirta, OH2LH 1 Logikkretsar Logikkretsarna är digitala mikrokretsar.

Läs mer

I/O kort för triggsignaler för LogiComm pistoldrivare

I/O kort för triggsignaler för LogiComm pistoldrivare Instruktionsblad Swedish I/O kort för triggsignaler för LogiComm pistoldrivare VARNING: Detta I/O kort för triggsignaler är inte direkt kompatibelt med tidigare versioner (P/N 1069804 och 1069805). Se

Läs mer

Grundläggande digitalteknik

Grundläggande digitalteknik Grundläggande digitalteknik Jan Carlsson Inledning I den verkliga världen vet vi att vi kan få vilka värden som helst när vi mäter på något. En varm sommardag visar termometern kanske 6, 7 C. Men när det

Läs mer

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2

LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y. Konstruktion av sekvenskretsar med CPLD. Version: 2.2 2016 LABORATION TSEA22 DIGITALTEKNIK D TSEA51 DIGITALTEKNIK Y Konstruktion av sekvenskretsar med CPLD Version: 2.2 2014 (OVA, MK) 2015 (OVA, MK) 2016 (OVA, MK) Olov Andersson 1(11) 1. Inledning Syftet

Läs mer

Adressrum, programmerarens bild

Adressrum, programmerarens bild EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

KARMATIC PROFILER 2000 Manual

KARMATIC PROFILER 2000 Manual KARMATIC PROFILER 2000 Manual Beskrivning Karmatic 2000.2 Instrument för rundhetsmätning av kommutator och släpringar. Mätnoggrannhet / repeterbarhet : 1,5 m förutom yttre störningar t.ex. vibrationer.

Läs mer

Laboration Kombinatoriska kretsar

Laboration Kombinatoriska kretsar Laboration Kombinatoriska kretsar Digital Design IE1204/5 Observera! För att få laborera måste Du ha: bokat en laborationstid i bokningssystemet (Daisy). löst ditt personliga web-häfte med förkunskapsuppgifter

Läs mer

Massage i skolan - positiva och negativa effekter

Massage i skolan - positiva och negativa effekter Linköpings universitet Grundskollärarprogrammet, 1-7 Martina Lindberg Massage i skolan - positiva och negativa effekter Examensarbete 10 poäng LIU-IUVG-EX--01/129 --SE Handledare: Gunilla Söderberg, Estetiska

Läs mer

Tentamen i IE1204/5 Digital Design onsdagen den 5/

Tentamen i IE1204/5 Digital Design onsdagen den 5/ Tentamen i IE1204/5 Digital Design onsdagen den 5/6 2013 9.00-13.00 Allmän information Exaator: Ingo Sander. Ansvarig lärare: William Sandqvist, tel 08-790 4487 (Kista IE1204) Tentamensuppgifterna behöver

Läs mer

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04

Formula Blue. Digitala Projekt 8p. Jesper Ferm E02 Carl Hakenäs E04 Formula Blue Digitala Projekt 8p Jesper Ferm E02 Carl Hakenäs E04 Abstract The purpose with this project was to get some understanding how Bluetooth works and how to use it in practical applications. A

Läs mer

Växtviskaren EITF11 Digitala projekt VT15, I12

Växtviskaren EITF11 Digitala projekt VT15, I12 Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015

Läs mer

Processidentifiering och Polplacerad Reglering

Processidentifiering och Polplacerad Reglering UmU/TFE Laboration Processidentifiering och Polplacerad Reglering Introduktion Referenser till teoriavsnitt följer här. Processidentifiering: Kursbok kap 17.3-17.4. Jämför med det sista exemplet i kap

Läs mer

Bruksanvisning till LEDMasterBasic1

Bruksanvisning till LEDMasterBasic1 Bruksanvisning till LEDMasterBasic1 En snabbguide V 1.0 2012-07-31 Innehåll ALLMÄNT... 2 VIKTIGT... 2 INKOPPLING:... 2 INSTALLATION AV KONFIGURATIONSPROGRAM... 2 ATT ANVÄNDA KONFIGURATIONSPROGRAMMET...

Läs mer

Tenta i Digitalteknik

Tenta i Digitalteknik Tenta i Digitalteknik Kurskod D0011E Tentamensdatum 2008-08-29 Skrivtid 9.00-13.00 Maximalt resultat 50 poäng Godkänt resultat 25 poäng inkl bonus Jourhavande lärare Johan Eriksson Tel 070 589 7911 Tillåtna

Läs mer

DIGITALA PROJEKT Väderstation

DIGITALA PROJEKT Väderstation DIGITALA PROJEKT Väderstation Christian Lindquist, E03 Leonardo Bello, E03 Abstract Almost everybody has some kind of temperature measurement device in their home. The latest in this industry are more

Läs mer

.00 E00. Innehåll: Kablage allmänt. Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning

.00 E00. Innehåll: Kablage allmänt. Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning B-555300..00 E00 Joystickstyrning för kran manual. Innehåll: Kablage allmänt Kablage anslutning & funktion Tillägg för drift Radiostyrning Igångkörning Programmering Vinschradio Elschema Felsökning B-555300..00

Läs mer

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

Säng-/Dörrvakt PIR-2003 Bruksanvisning

Säng-/Dörrvakt PIR-2003 Bruksanvisning Säng-/Dörrvakt PIR-2003 Bruksanvisning 1 Beskrivning PIR-2003 är en kombinerad sängvakt och dörrvakt. Man kan välja om man vill bevaka sängen eller om det räcker att bevaka dörren för att ge brukaren största

Läs mer

LUXCONTROL modulardim

LUXCONTROL modulardim LUXCONTROL modulardim data & instruktion 2010-04 modulardim data & instruktion med reservation för ändringar. Digital styrmodul för PCA/TE one4all/pcd modulardim BASIC Styrmodul för 3 kanaler Styrmodulen

Läs mer

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet...

Innehållsförteckning. Figur- och tabellförteckning. Figure 1 Blockschema över hårdvaran...4 Figure 2 Blockschema över programet... Abstract Syftet var att konstruera en väder station som håller koll på temperaturen. Huvudfunktionen var att få en grafisk visning av temperaturen över ett visst tidsintervall eftersom vi valde den grafiska

Läs mer

Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH)

Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH) Laboration 2 Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska Högskola (BTH) Växelspänningsexperiment Namn: Elektriska kretsar Online fjärrstyrd laborationsplats Blekinge Tekniska

Läs mer