Arduino grafični vmesnik

Σχετικά έγγραφα
Arduino grafični vmesnik

Arduino-FPGA vremenska postaja

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Delovanje procesorja AVR

Poglavje 7. Poglavje 7. Poglavje 7. Regulacijski sistemi. Regulacijski sistemi. Slika 7. 1: Normirana blokovna shema regulacije EM

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

A 1. DDRA = 0b ; k = PINB; DDRC = 0xf0; PORTC = 0x0f;

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Booleova algebra. Izjave in Booleove spremenljivke

Tretja vaja iz matematike 1

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

Ενσωµατωµένα Συστήµατα

PONOVITEV SNOVI ZA 4. TEST

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ: ΜΙΚΡΟΕΛΕΓΚΤΕΣ

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Kotne in krožne funkcije

Delovna točka in napajalna vezja bipolarnih tranzistorjev

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Računarska grafika. Rasterizacija linije

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

Stikalni pretvorniki. Seminar: Načrtovanje elektronike za EMC Boštjan Glažar

ΕΡΓΑΣΤΗΡΙΟ ΜΙΚΡΟΕΛΕΓΚΤΩΝ

POROČILO PRAKTIČNEGA IZOBRAŽEVANJA

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

III VEŽBA: FURIJEOVI REDOVI

13. Jacobijeva metoda za računanje singularnega razcepa

4. Osnovne vhodno/izhodne enote

IZPIT IZ ANALIZE II Maribor,

8. Diskretni LTI sistemi

Εφαρμογές Αναλογικών Ε/Ε PWM (pulse Width Modulation)

Κατασκευή αισθητήρα μέτρησης καρδιακών παλμών με χρήση Arduino και εμφάνιση αποτελεσμάτων σε VGA οθόνη με τη χρήση FPGA

Gimnazija Krˇsko. vektorji - naloge

Μετρήσεις και συλλογή δεδομένων (Data acquisition) με μικροελεγκτές. Εισαγωγή στο Arduino. Ηλεκτρομηχανολογικός εξοπλισμός διεργασιών

Εφαρμογές αναλογικών / Ψηφιακών

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

ΕΥΧΑΡΙΣΤΙΕΣ. 2 Καρβουνά Αθηνά

PROCESIRANJE SIGNALOV

ADS sistemi digitalnega snemanja ADS-DVR-4100D4

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΙΣΑΓΩΓΗ ΣΤΟN ARDUINO: ΨΗΦΙΑΚΗ ΕΙΣΟΔΟΣ/ΕΞΟΔΟΣ

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Zavrxni ispit iz Matematiqke analize 1

Arduino Teachers Workshop

BM1385. Bitcoin Hash ASIC Datasheet. Bitmain Technologies Limited

Digital Video Processor Analog-Digital Conversion Design: Stephen Edwards

Uvod v programirljive digitalne sisteme. Andrej Trost Univerza v Ljubljani Fakulteta za elektrotehniko

Συστήματα Μικροϋπολογιστών

Računarska grafika. Rasterizacija linije

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Εφαρμογές Arduino Σεμινάριο Ηλεκτρονικού Τομέα

Καταχωρητής STATUS. IRP: Bit επιλογής περιοχής μνήμης (Bank) για την έμμεση διευθυνσιοδότηση 1= Bank2, Bank3 0= Bank0, Bank1

Γνωριμία με το Arduino

1. Trikotniki hitrosti

Συστήματα Μικροϋπολογιστών

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

PROCESIRANJE SIGNALOV

Ispitivanje toka i skiciranje grafika funkcija

CM707. GR Οδηγός χρήσης SLO Uporabniški priročnik CR Korisnički priručnik TR Kullanım Kılavuzu

ichip CO2128 with EBI Flash and Siemens HC25 GSM Modem

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

POROČILO. št.: P 1100/ Preskus jeklenih profilov za spuščen strop po točki 5.2 standarda SIST EN 13964:2004

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΜΟΥ. Σηµειώσεις στο µάθηµα ΜΙΚΡΟΕΛΕΓΚΤΕΣ

Zaporedna in vzporedna feroresonanca

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Σχεδίαση και ανάπτυξη οχήματος που ακολουθεί μια γραμμή

ichip CO2128 with EBI Flash and Siemens MC39i GSM Modem

High Power Amp BMT321. Application Note

Statistična analiza. doc. dr. Mitja Kos, mag. farm. Katedra za socialno farmacijo Univerza v Ljubljani- Fakulteta za farmacijo

Preklopna vezja 1. poglavje: Številski sistemi in kode

Ενσωματωμένα Συστήματα

KRMILNA TEHNIKA. Poglavja: Uvod:

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

ΕΛΕΓΧΟΣ ΑΝΤΛΙΟΣΤΑΣΙΟΥ ΜΕ ΔΕΞΑΜΕΝΗ ΜΕΣΩ GSM CHECK IN TANK PUMPING THROUGH GSM

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

1. Περιβάλλον εργασίας παραδείγματα σύνταξης

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Έλεγχος με Μικροϋπολογιστές Εργαστήριο ενσωματωμένων συστημάτων

PRIMJER 3. MATLAB filtdemo

ARDUINO ΟΔΗΓΟΣ ΓΙΑ ΑΡΧΑΡΙΟΥΣ

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Kotne funkcije poljubnega kota. Osnovne zveze med funkcijamo istega kota. Uporaba kotnih funkcij v poljubnem trikotniku. Kosinusni in sinusni izrek.

Splošno o interpolaciji

Osnove programiranja PIC16FXXX družine mikrokontrolerjev

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Writing kernels for fun and profit

Απλή Δομή Επιλογής. Ο κώδικας. //με χρήση μεταβλητών. delay (3000);

Το κύκλωμα σε breadboard

ΕΙΣΑΓΩΓΗ ΣΤΟ ARDUINO. Υποψήφιος Διδάκτωρ

ELEKTRONIKA PAHOR D.O.O.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

POSTROJI ZA PRENOS IN TRANSFORMACIJO ELEKTRIČNE ENERGIJE

Transcript:

Laboratorij za načrtovanje integriranih vezij Univerza v Ljubljani Fakulteta za elektrotehniko Arduino grafični vmesnik DES 2012/13 - razvoj vgrajenega sistema

Arduino grafični vmesnik Arduino Leonardo mikroprocesorska plošča z Atmel AVR Grafični vmesnik z analognim izhodom VGA modificirana razvojna plošča S3A

Terminski plan - Gantogram Naloge za skupine: Arhitektura, Prototipna logika in C Arhitektura: Eagle Arh: shema Arh: TIV, analiza Prototip: osnovni VGA Logika: piksel, vmesnik Proto: spajkanje, test C: Arduino C: graf. funkcije C: aplikacija test VGA Basys2 TIV preizkus 11.3.2013 25.3.2013 8.4.2013 22.4.2013 6.5.2013 20.5.2013

Lastnosti grafičnega vmesnika Način VGA: 640x480, 60Hz, 256 barv prikazujemo okno: 512 x 480 (256k statični RAM) Logika v FPGA XC3s50A (1.5k LC, 3x 18k RAMB) branje iz RAM in prikaz na VGA (RAMDAC) vmesnik za vpisovanje točk v RAM vmesnik za prikaz znakov prikazovanje sličic (sprite) Osnovne funkcije za Arduino prikazovanje točke z določeno barvo izpis besedila risanje črt in pravokotnikov risanje in pomikanje sličic

Statični pomnilnik 256k x 16 bitov BHE=0, BLE=0, CE=0

FPGA Arhitektura: vmesnik za Arduino Izenačevalnik nivojev (transceiver) 74245, napajanje 3.3V A: AVR 5V, B: FPGA 3.3V vpis: DIR=1, WR impulz branje: DIR=0 IO13 IO8 GND Q0 IO9 IO10 IO11 Q1 Q2 Q3 (WR) IO12 WR RD +3.3V 1k 470 GND GND

Arhitektura: signali za nalaganje FPGA Upori za nastavitev načina nalaganja vezja M2, M1 pulldown 1k Ω (Mode: 001) VS1 pulldown? INIT_B, PROG_B pullup 4.7k Ω

Arhitektura: izračun uporov za VGA D/A RN = 75Ω, Vcc=3.3V, V RGB = 0.7V ko so vsi biti na Vcc naj bo na izhodu V RGB Napiši enačbe vezja in izračunaj R Izberi iz nabora vrednosti npr. E24 10 12 15 18 22 27 33 39 47 56 68 82 11 13 16 20 24 30 36 43 51 62 75 91 R1/4 = (1/4+1/2+1)/(1/((RN*Vcc)/Vrgb-RN)) = 487.5 Ω

JTAG SRAM VGA Arhitektura: tiskano vezje priključki Arduino, modifikacija VGA, pretvorba logičnih nivojev, signali za SRAM priključki Arduino - signali digitalni I/O iz Arduino regulatorji in napajalni priključki Arduino

Arhitektura: spisek elementov Qty Value Device Package Parts 1 FPGA XC3S50A-VQ100 XILINX-VQ100 U1 1 SRAM256KX16 CY7C1041DV33 SOJ44 U2 1 74HC245DW 74HC245DW SO20W U3 1 W25X20BV W25X10BV-SNIG SOIC 8 U4 1 +3.3V Reg. LM1117MP-3.3 SOT223 U5 1 +1.2V Reg. LM1117MP-ADJ SOT223 U6 1 25.000 MHz SMDOSC CFPS-73 OSC 2 green LED LED0805 CHIP-LED0805 LED1, LED2 2 0.1uF C-USC0603 C0603 C24, C26 C1-3, C5, C7, C9, C10-13, C15, C18, C19, C21, C22 15 0.1uF C-USC0603 C0603 4 10nF C-USC0603 C0603 C4, C16, C17, C20 1 1uF C-EUC0805 C0805 C6, C23 2 10uF C-USC1210 C1210 C25, C27 3 330E R-EU_R0805 R0805 R14, R17, R19 1 390E R-EU_R0805 R0805 R15 3 510E R-EU_R0805 R0805 R1, R4, R7 5 1k R-EU_R0805 R0805 R2, R5, R8, R10, R11 3 2k R-EU_R0805 R0805 R3, R6, R9 5 4.7k R-EU_R0805 R0805 R12, R13, R16, R18, R20

Arhitektura: poročilo Predstavi glavne komponente vezja izseki iz sheme vezja povezava na Arduino programiranje vezja FPGA Predstavi napajalni del logični nivoji, statični red Naredi izračun uporov za VGA in izpiši napetostne nivoje za eno barvno komponento (vse kombinacije bitov) Seznam uporabljenih elementov in možnosti za razširitev vezja Poročilo 3-5 strani oddajte do 7.6.2013

Logika: prikaz slike iz video pomnilnika Komponenta Piksel določa naslove in prenaša podatke na izhod VGA Komponenta Sinhro poskrbi za koordinate, blank in kontrolne signale za monitor

Logika: nastavitev in prikaz slike iz pomnilnika Komponenti Piksel dodamo kontrolne vhode: color barva kvadrata, regx, regy položaj prve točke wren omogoči pisanje v SRAM, blank temni interval, start in izhode: we pisanje v pomnilnik, dx, dy trenutni odmik done zaključek pisanja, pripravljen na nov start

Logika: vezje za risanje kvadrata Algoritem Na ukaz start pobarvaj kvadratek 8x8 if (start=='1') { for (dxy=0; dxy<64; dxy++) { dx, dy = dxy M [regy+dy] [regx+dx] = color } done = '1' } Komponente & časovni diagrami Slika ozadja v asinhronem pomnilniku (SRAM) pisanje je možno, ko ne beremo (blank='1' ) upoštevamo časovne parametre pomnilnika

Logika: časovni potek branja in vpisa v SRAM Vpis podatka v 2 ciklih, zato potrebujemo stanja (st)

Princip risanja slikovne grafike Slika zasede 256k, procesor ATmega32 ima 32kB pomnilnika Grafika iz sličic (tile) velikosti 8x8 2-bitnih točk (4 barve) strojna oprema začasno shrani 16 različnih sličic B0000000000011111, B0000000001111111, B0000000111111111, B0001111111111111, B1111111111111111, B1111111111111111, B1111111111111111, B1111111111111111 ROM: 64 znakov 8x8 črke, številke

Logika: blokovna shema grafičnega vmesnika

Logika: vmesnik Asinhroni 4-bitni vmesnik Sinhronizacija krmilnih signalov

Logika: poročilo Razloži delovanje vmesnika VGA časovni potek signalov za prikaz slike na monitorju sinhronizacijska komponenta na kratko razloži vlogo pomnilnika in ostalih komponent vezja Predstavi eno izmed glavnih komponent: Piksel ali Vmesnik blokovna shema in opis vhodnih in izhodnih signalov časovni potek signalov izsek iz simulacije predstavi diagram stanj in primer (izsek) iz kode naredi sintezo predstavljene komponente in zapiši v poročilo iz katerih logičnih gradnikov je sestavljena (registri, seštevalniki ) Poročilo 3-5 strani oddajte do 12.6.2013

C: inicializacija zunanjih vrat procesorja AVR Arduino: funkcija setup() za inicializacijo in loop() za kodo v zanki V setup() določimo smer in začetna stanja priključkov naredimo reset pulz (RD=0, RD=1) void setup() { PORTD = PORTD & B10111111; // WR=0 (PD6) DDRD = DDRD B01000000; // PD6: OUTPUT PORTC = PORTC B10000000; // RD=1 (PC7) DDRC = DDRC B10000000; // PC7: OUTPUT PORTC = PORTC & B01111111; // DIR = 0, RD pulz za resetiranje vmesnika PORTC = PORTC B10000000; // DIR = 1 PORTB = B00000000; // ADATA=0 DDRB = DDRB B11110000; // PB(7:4): OUTPUT GrafPuts("Digitalni elektronski sistemi 2013"); // primer klica funkcije za izpis }

C: osnovni ukazi grafičnega vmesnika 4-bitna komunikacija, impulz na WR za vpis v grafični vmesnik Osnovni ukazi: nastavi koordinati regx, regy in nariši znak 8x8 ime ukaza koda ukaza podatek SetRegX 0 0 0 1 - - - r(8) r(7) r(6) r(5) r(4) r(3) r(2) r(1) r(0) SetRegY 0 0 1 0 - - - r(8) r(7) r(6) r(5) r(4) r(3) r(2) r(1) r(0) DrawChar 1 0 0 0 - m(2) m(1) m(0) - - c(5) c(4) c(3) c(2) c(1) c(0) Primer: SetRegX 1. PORTB = B00010000; in naredi impulz na WR 2. nastavi najvišji bit koordinate X na PORTB in impulz WR if (X & 0x0100) PORTB = B00010000; else PORTB = 0; 3. nastavi naslednje 4 bite koordinate in impulz WR 4. nastavi spodnje 4 bite koordinate in impulz WR

C: funkcija za prikaz znakov ime ukaza koda ukaza podatek DrawChar 1 0 0 0 - m(2) m(1) m(0) - - c(5) c(4) c(3) c(2) c(1) c(0) #define AWR PORTD = PORTD B01000000; PORTD = PORTD & B10111111 // Prikaži znak, m = 1 za normalno orientacijo, znak = koda ASCII 32 void DrawChar(char c, byte m) { char znak = c-32; PORTB = B10000000; AWR; PORTB = m << 4; AWR; PORTB = znak; AWR; PORTB = znak << 4; AWR; delaymicroseconds(40); // cakaj, da se operacija izvede }

Zrcaljenje narisanih likov Zrcaljenje in/ali rotacija znakov oz. sličic: m(2) m(1) m(0) naslov sestavimo iz števcev dy in dx, z negacijo spremenimo vrstni red SW nastavlja parameter: mode (m)

C: ukazi za delo s sličicami in barvno paleto ime ukaza koda ukaza Podatek SetTile 0 1 0 0 t(3) t(2) t(1) t(0) 32 podatkovnih ciklov SetColor 0 1 0 1 c3(8) c2(8) c1(8) c0(8) 8 podatkovnih ciklov DrawTile 1 0 0 1 - m(2) m(1) m(0) - - - - t(3) t(2) t(1) t(0) Fade 1 0 1 0 - - - F SetTile(t, *p) nastavi točke sličice, DrawTile(t, m) nariše sličico t(3:0) določa indeks sličice, vezje FPGA lahko shrani 16 sličic podatki (*p) so zaporedne vrednosti 8x8 2-bitnih točk SetColor: nastavi 4-bitno barvno paleto za kodo ukaza pošljemo MSB vseh štirih barv, nato pa spodnjih 8 bitov barv: color0 (ozadje), color1 (barva znakov), color2 in color3 Kode nekaterih barv: 0x007, 0x02F, 0x03F, 0x038, 0x1F8, 0x100, 0x1C7, 0x000, 0x1FF Fade(f), zatemni sliko pri F=1 oz. odtemni pri F=0

C: poročilo Predstavi grafični vmesnik s stališča programerja napiši in predstavi osnovne grafične funkcije primer klica funkcije in rezultat na monitorju Naredi in predstavi preprosto aplikacijo, ki prikazuje animirano sliko opiši podatkovne strukture in diagram poteka na nivoju glavnih funkcij predstavi potek izdelave programa in opiši možnosti za nadalnje delo Poročilo 3-5 strani oddajte do 17.6.2013, namesto poročila lahko naredite prestavitev 30.5. na predavanjih (10-12 prosojnic)