Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board

Størrelse: px
Begynne med side:

Download "Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board"

Transkript

1 Xilinx System Generator blokk med kontroller for LCD-skjerm på Virtex II-Pro Development Board Kristian Thorsen April 2010 T-02

2 Sammendrag Sammendrag I faget Anvendt Signalbehandling ved Institutt for Data- og Elektroteknikk ved UiS, brukes Matlab og Xilinx System Generator sammen med et Virtex II-Pro utviklingskort for enkelt implementering av digitale filtre i maskinvare. Fordelen ved å bruke denne kombinasjonen av programvare er at systemene kan implementeres blokkskjematisk i Simulink. Dette gjør at studentene kan fokusere på selve utviklingen av signalbehandlingssystemene uten å tenke så mye på at dette skal implementeres i en programmerbar logisk krets. Blokkskjemaene oversettes automatisk av Xilinx System Generator til logisk kode. Utviklingskortet som brukes er fra Memec Design og er avbildet nedenfor. LCDskjermen på kortet har til nå desverre ikke vært brukt i signalbehandlingsfagene, dette fordi det ikke finnes noen blokk for skjermen som kan brukes i Matlab (Simulink). Det er ofte interessant å studere bitverdier inne i selve signalbehandlinsgssystemene, noe som til nå har blitt gjort ved skrive disse ut taktvis, bit for bit, på de små LED-lysene nederst på kortet. Det har vært et lite irritasjonsmoment at bitverdiene må leses av på en slik uhensiktsmessig måte, spesielt siden det er en LCD-skjerm rett ovenfor diodene. Instituttet har derfor selv utviklet en blokk for LCD-skjermen til bruk i Matlab (Simulink) sammen med Xilinx System Generator. Denne blokken bruker en PicoBlaze 8-bits, logisk programmerbar, mikrokontroller som styrer grensesnittet mot LCD-skjermen. Samtidig leser den 4 forskjellige 16-bits verdier fra andre steder i systemet. Disse verdiene printes ut på skjermen i heksadesimalt format. Denne rapporten vil forklare oppbyggningen og virkemåten til denne blokka. Figur 0.1: Virtex II-Pro LC Utviklingskort 2 T-02

3 Overordnet systemdesign 1 Overordnet systemdesign Kjernen i dette systemet er en PicoBlaze 8-bits myk 1 mikrokontroller, levert av Xilinx Inc. Dette er er en enkel 8-bits mikrokontroller som i tillegg til prosessorkjerne inneholder internt programminne, arbeidsminne, mulighet for avbrudd samt et sett med inn- og utporter 2. PicoBlaze og bruken av denne sammen med Xilinx System Generator (Matlab-Simulink) forutsettes kjent. Det er tidligere skrevet en utmerket rapport om akkurat dette, se [3]. Mikrokontrolleren leser bitverdien på inngangssignalene, konverterer disse til utkrivbar ASCII-kode og printer verdien ut på LCD-skjermen (heksadesimalt). Blokkskjematisk kan prosessen som utføres illustres som vist i figur 1.1. Figur 1.1: Blokkskjema som viser systemets hovedoppgaver 2 Grensesnitt mot LCD-skjerm LCD-skjermen på utviklingskortet er en 2x16 karakteres skjerm som er funksjonsmessig ekvivalent med den kjente Hitachi HD Skjermen har et parallellt grensesnitt og kan enten kjøres i 8-, eller 4-bits modus. Da det her brukers en 8-bits mikrokontroller er det fordelaktivt å kjøre LCD-skjermen i 4-bits modus. Dette gjør at man slipper ekstra logikk for kontrollsignalene, E (Enable), RS (Register Select) og R/W 4 (Read/Write). Selve grensesnittet vises i figur 2.1 på neste side. Ved å bruke et enkelt programmert grensesnitt kan en utgangsport (8-bit) styre kontrollsignaler og sende data til LCD-skjermen. Da LCD-skjermen er levert montert på utviklingskortet vil det her ikke bli gitt noen analyse av signalnivåer og støynivårer for overføringen. Det taes for gitt av produsenten av utviklingskortet, Memec Design, leverer et produkt som virker. Xilinx har publisert et eksempelprogram [1] for bruk av 4-bits kommunikasjon mellom PicoBlaze og LCD-panel, dette har dannet utgangspunkt for det programmerte grensesnittet som brukes i dette prosjektet. 1 Myk, betyr at den er laget i en programmerbar logisk krets, FPGA 2 Å kalle PicoBlaze for en mikrokontroller er muligens å overdrive, PicoBlaze veldig simpel og mangler en god del funksjonalitet som en normalt vil ha i en mikrokontroller 3 Andre skjermer som er like inkluderer Samsung S6A0069X/KS0066U/KS0070B og SMOS SED R/W er på utviklingskortet lagt til jord (0), lesing fra skjermen ikke er derfor ikke mulig. 3 T-02

4 2.1 Overføringssyklus 4-bits modus Figur 2.1: Grensesnitt mot LCD 2.1 Overføringssyklus 4-bits modus Figur 2.2, som er hentet fra [2] viser en overføringssyklus mot LCD-skjermen. I figuren sendes det først en instruksjon til LCD-skjermen (RS er lav). D7-D4 sendes ved første puls på E-signalet, deretter sendes D3-D0 ved neste puls. Figuren viser videre en lesesyklus (R/W er høy), noe som ikke vil brukes i dette prosjektet. Til slutt sendes det en ny instruksjon over til LCD-skjermen. Som man ser holdes RS-linja lav ved instruksjoner. Dersom man skal sende data over til skjermen settes RS-linja høy. For mer om timing, oppsett av LCD, tilgangstider etc. vises det til [1] og [2]. Figur 2.2: 4-bits overføringssykluser mot LCD 4 T-02

5 Oppsett i Xilinx System Generator 3 Oppsett i Xilinx System Generator LCD-kontrolleren fremstår i System Generator som en enkel blokk med 4 innganger. Hver av disse inngangene har en bredde på 16-bit. LCD-kontrolleren leser bitverdien på disse og skriver den ut på LCD-skjermen. Figur 3.1 viser hvordan blokka ser ut i Xilinx System Generator (Matlab-Simulink). Blokka er lagt til i biblioteket som brukes i faget Anvendt Signalbehandling, UiS_2VP4LC. Figur 3.1: Blokk for LCD-kontrolleren Kontrolleren behandler hver inngang som unsigned 16_0, altså et 16-bits tall uten desimaler. Bitverdien skrives ut direkte i heksadesimalt format. Utskriftsoppsettet er som vist nedenfor: V1:xxxx V2:xxxx V3:xxxx V4:xxxx Der xxxx er bitverdien (hex) til den respektive inngangen. Selve oppsettet i System Generator er vist i figur 3.2 på neste side, i senter av figuren ser vi mikrokontrolleren, PicoBlaze. På inngangssiden (venstre) blir først hvert av de 16-bits brede inngangssignalene splittet opp i de høyeste og laveste 8 bittene. Disse blir videre gjennom en multiplekser sendt inn på mikrokontrollerens inngangsport. Multiplekseren velger signal etter hvilken port_id som sendes ut fra PicoBlaze. For enkelhetsskyld brukes de tre laveste bitene fra port_id-signalet, multiplekseren velger signal etter tabell 1 på side 7. For å redusere faren for feilmeldinger under kompilering er det satt inn en Assert-blokk som eksplisitt setter sampleraten på innporten lik systemets klokkerate (100 MHz). En slipper dermed at kompilatoren «klager» på at inngangssignaler ikke har samme samplerate som klokkeraten til PicoBlaze. På utgangssiden vil signalene til LCD-skjermen bli oppdatert hver gang det settes ut en ny verdi på port 255 (0xFF) fra PicoBlaze. Dette ordnes ved hjelp av en multiplekser som setter verdien på utgangsporten fra PicoBlaze videre til LCDskjermen dersom portnummeret stemmer og WriteStrobe er høy. Ellers beholder 5 T-02

6 Oppsett i Xilinx System Generator Figur 3.2: LCD-kontroller satt opp i System Generator 6 T-02

7 Oppsett i Xilinx System Generator Signal port_id Signal port_id V1 høy 00 V3 høy 04 V1 lav 01 V3 lav 05 V2 høy 02 V4 høy 06 V2 lav 03 V4 lav 07 Tabell 1: Multipleksing av innsignaler multiplekseren forrige verdi sendt til LCD-skjermen. Selve LCD-subblokka sender signalene ut fra FPGA-en ved hjelp av Gateway-out blokker, dette er vist i figur 3.3. Figur 3.3: LCD-subblokk Den faktiske plasseringen av linjene er for Virtex II-Pro utviklingskortet som følger: LCD_RW = na 5 LCD_RS = V2 LCD_E = V1 LCD_D7 = P1 LCD_D6 = P2 LCD_D5 = R1 LCD_D4 = R2 Når det gjelder systemets klokkerate er kontrolleren tilpasset Virtex II-Pro, og en klokkerate på 100 MHz. Det brukes her et programmert grensesnitt der lengden på venteløkkene er avhengig av klokkeraten. For å unngå at overføringen går raskere enn LCD-skjermen kan registere er det derfor viktig at klokkeraten ikke settes høyere i Xilinx System Generator. Lavere klokkerate vil i teorien bare føre til at overføringene går tregere og LCD-skjermen vil fortsatt kunne lese dataene som sendes. 5 Satt til jord permanent. 7 T-02

8 Programvare 4 Programvare Mikrokontrolleren kjører som nevnt et program som kontinuerlig leser inngangsportene, konverterer verdiene til utskrivbare ASCII-kodede tegn og skriver disse ut på LCD-skjermen. Koden i seg selv er ganske triviell og bygger videre på [1], en innføring om PicoBlaze og programmering av denne i Xilinx System Generator er gitt i [3], så man vil her anta at dette er kjent for leseren. Programmet følger flytskjemaet som er vist i figur 4.1, metoden for å konvertere til ASCII-kode er tatt med i rapporten, mens det for resten av programmet vises til selve kildekoden som er lagt ved. Figur 4.1: Flytskjema for program 4.1 Konvertering til ASCII Et 16-bits tall representeres med 4 heksadesimale siffer, hvert av disse sifferene vil inneholde 4-bit fra det opprinnelige tallet. Å konvertere 4-bits verdier til heksadesimale verdier kodet i ASCII er relativt enkelt. De heksadesimale sifferene har tegnene fra 0-9 og A-F. Der 0 reprsenterer bitkoden 0000, og F reprsenterer Tegnene 0-9 har ASCII-kode fra 0x30 til 0x39 6, og tegnene fra A til F kode 0x41-0x46. For en bitsekvens med lengde 4, som altså har verdier fra 0x0 til 0xF er det da bare å legge til 0x30 dersom det er et tallsiffer, eller 0x37 dersom det er et bokstavsiffer. 6 0x viser at dette er heksadesimale tall. 8 T-02

9 4.1 Konvertering til ASCII Algoritmen for konvertering av et 4-bits talt til ASCII-kode blir da: Dersom verdien er mindre enn 10 (0xA): Returner verdi + 0x30 Ellers Returner verdi + 0x37 Implementert i PicoBlaze blir koden som følger: ***************************************** Rutiner for ASCII konvertering ***************************************** Denne rutinen konverterer de 4 siste bittene i register s11 fra heksadesimalt til ascii kode for representasjon av heksadesimal verdi. altså: 0->9 ===> (ascii kode for 0-9) og : A->F ===> (ascii kode for A-F) to_ascii: AND sb, 0F bare nederste 4 bit COMPARE sb, 0A setter carry = 1 dersom vi har fra 0-9 JUMP NC, letter skal skrive ut bokstav ADD sb, 30 letter: ADD sb, 37 9 T-02

10 Oppsummering 5 Oppsummering Rapporten viser prinsippet bak og oppbygningen av en LCD-kontroller laget i en blokk for bruk i Matlab (Simulink), sammen med Xilinx System Generator. Ved hjelp av denne blokka kan studenter og andre brukere av Xilinx System Generator enkelt skrive ut verdier på LCD-skjermen til utviklingskortet, uten å måtte bry seg om hvordan grensesnittet mot LCD-skjermen fungerer. På grunn av det lave ressursbehovet til PicoBlaze kan denne blokka inkluderes uten at det legges nevneverdige begrensninger på signalbehandlingssystemene. I vedlegg A er det lagt med et eksempel på hvordan blokka kan inkluders i et større signalbehandlingssystem. Eksempelet er tatt fra laboratorieoppgave 9c (2010) i faget Anvendt Signalbehandling. Dette eksempelet kan selvfølgelig utvides videre. LCDskjermen vil være ypperlig til å vise hvilket signal som er valgt, dersom man har flere signaler gjennom et digitalt filter. Den kan også vise forsterkningsnivå dersom man har mulighet til å forsterke signalene. Alternativt kan man også vise bitverdier som har sammenheng mellom filternes pol og nullpunkter dersom det brukes adaptiv filtrering. Selv om skjermen bare viser 4-verdier om gangen er det enkelt å lage et sett med multipleksere i Xilinx System Generator slik at man kan variere signalene som går inn til kontrolleren ved hjelp av en trykknapp og en teller. 10 T-02

11 REFERANSER REFERANSER Referanser [1] Ken Chapman. PicoBlaze Initial Design for Spartan-3E Starter Kit (LCD Display Control). Xilinx, San Jose, CA, Februar [2] Samsung Electronics. LCD Datasheet KS0070B 16COM 80SEG Driver & Controller For Dot Matrix. [3] Kristian Thorsen. Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab-Simulink). T-01, Intern Rapport Institutt for Data- og Elektroteknikk UiS, April T-02

12 Eksempel på bruk A Eksempel på bruk I dette eksempelet tar det utgangspunkt i laboratorieoppgave 9c (2010) fra faget Anvendt Signalbehandling. Det skal i denne oppgaven implementeres et sett med forskjellige digitale filtre, og man skal studere hvordan forskjellige filtre påvirker signalenes maksimalverdi. Figur A.1 viser oppsettet Simulink. Hva som skjer i systemet er relativt uinteressant for dette eksempelet. Hovedpoenget er at FinnMax blokka nederst finner maksimal signalverdi, denne 12-bits verdien blinkes ut på lysdiodene (Blokka: Blinker ut Lysdioder). Figur A.1: Systemet i laboppgave 9c Istedenfor å lese verdien av på lysdiodene kan en nå inkludere LCD-kontrollerblokka. Siden vi bare trenger en utverdi kobles denne til V4 på LCD-kontrollerblokka, de andre innverdiene (V1-V3) kobles til konstanter. Siden maksimalverdien bare er på 12-bit legges det til 4 nullere på toppen, dette skjer ved hjelp av en Concatblokk. Selve utvidelsen vises i figur A.2. Figur A.2: Systemet i laboppgave 9c med LCD kontroller tilkoblet 12 T-02

13 Kildekode B Kildekode PicoBlaze 3 Program for kontroll av LCD-skjerm Kristian Thorsen UIS Vår 2010 Basert på eksempelprogram av Ken Chapman - Xilinx Ltd Versjon 0.2 (4-16bit verdier inn) Dette er programkoden for PBLCD_4bit_v_inn.mdl der man leser fra signallinjer og skriver ut verdien på disse heksadesimalt. *********************************************** Definisjon av porter *********************************************** Innporter for datalinjene Leser inn 4 16 bit verdier som deles opp i high og low (8 bit hver) CONSTANT v1_high_inn, 00 CONSTANT v1_low_inn, 01 CONSTANT v2_high_inn, 02 CONSTANT v2_low_inn, 03 CONSTANT v3_high_inn, 04 CONSTANT v3_low_inn, 05 CONSTANT v4_high_inn, 06 CONSTANT v4_low_inn, 07 Grensesnitt mot LCD CONSTANT LCD_output_port, FF Utgangsport 255 (0xFF) CONSTANT LCD_E, 01 active High Enable E - bit0 CONSTANT LCD_RW, 02 Read=1 Write=0 RW - bit1 CONSTANT LCD_RS, 04 Instruction=0 Data=1 RS - bit2 CONSTANT LCD_drive, 08 Ikke tilkoblet CONSTANT LCD_DB4, 10 4-bit Data DB4 - bit4 CONSTANT LCD_DB5, 20 interface Data DB5 - bit5 CONSTANT LCD_DB6, 40 Data DB6 - bit6 CONSTANT LCD_DB7, 80 Data DB7 - bit7 ************************************************* Konstanter ************************************************* Konstant for venteløkker (disse er kopiert direkte fra eksempeldesign) Constant to define a software delay of 1us. This must be adjusted to reflect the clock applied to KCPSM3. Every instruction executes in 2 clock cycles making the calculation highly predictable. The 6 in the following equation even allows for CALL delay_1us instruction in the initiating code. 13 T-02

14 Kildekode delay_1us_constant = (clock_rate - 6)/4 Where clock_rate is in MHz Example: For a 50MHz clock the constant value is (10-6)/4 = 11 (0B Hex). For clock rates below 10MHz the value of 1 must be used and the operation will become lower than intended. Har 100 MHz => 23,5 ~18 hex CONSTANT delay_1us_constant, 18 ASCII tabell CONSTANT character_a, 61 CONSTANT character_b, 62 CONSTANT character_c, 63 CONSTANT character_d, 64 CONSTANT character_e, 65 CONSTANT character_f, 66 CONSTANT character_g, 67 CONSTANT character_h, 68 CONSTANT character_i, 69 CONSTANT character_j, 6A CONSTANT character_k, 6B CONSTANT character_l, 6C CONSTANT character_m, 6D CONSTANT character_n, 6E CONSTANT character_o, 6F CONSTANT character_p, 70 CONSTANT character_q, 71 CONSTANT character_r, 72 CONSTANT character_s, 73 CONSTANT character_t, 74 CONSTANT character_u, 75 CONSTANT character_v, 76 CONSTANT character_w, 77 CONSTANT character_x, 78 CONSTANT character_y, 79 CONSTANT character_z, 7A CONSTANT character_a, 41 CONSTANT character_b, 42 CONSTANT character_c, 43 CONSTANT character_d, 44 CONSTANT character_e, 45 CONSTANT character_f, 46 CONSTANT character_g, 47 CONSTANT character_h, 48 CONSTANT character_i, 49 CONSTANT character_j, 4A CONSTANT character_k, 4B CONSTANT character_l, 4C 14 T-02

15 Kildekode CONSTANT character_m, 4D CONSTANT character_n, 4E CONSTANT character_o, 4F CONSTANT character_p, 50 CONSTANT character_q, 51 CONSTANT character_r, 52 CONSTANT character_s, 53 CONSTANT character_t, 54 CONSTANT character_u, 55 CONSTANT character_v, 56 CONSTANT character_w, 57 CONSTANT character_x, 58 CONSTANT character_y, 59 CONSTANT character_z, 5A CONSTANT character_0, 30 CONSTANT character_1, 31 CONSTANT character_2, 32 CONSTANT character_3, 33 CONSTANT character_4, 34 CONSTANT character_5, 35 CONSTANT character_6, 36 CONSTANT character_7, 37 CONSTANT character_8, 38 CONSTANT character_9, 39 CONSTANT character_colon, 3A CONSTANT character_stop, 2E CONSTANT character_semi_colon, 3B CONSTANT character_minus, 2D CONSTANT character_divide, 2F / CONSTANT character_plus, 2B CONSTANT character_comma, 2C CONSTANT character_less_than, 3C CONSTANT character_greater_than, 3E CONSTANT character_equals, 3D CONSTANT character_space, 20 CONSTANT character_cr, 0D CONSTANT character_question, 3F CONSTANT character_dollar, 24 CONSTANT character_exclaim, 21 CONSTANT character_bs, 08 carriage return ************************************************* Minneplasseringer i RAM (vi har en 64 bytes RAM innebygget i PicoBlaze) ************************************************* CONSTANT v1_high, 00 CONSTANT v1_low, 01 CONSTANT v2_high, 02 CONSTANT v2_low, 03 CONSTANT v3_high, 04 CONSTANT v3_low, 05 CONSTANT v4_high, 06 Back Space command character 15 T-02

16 Kildekode CONSTANT v4_low, Hovedprogram Initialiserer LCD-skjermen CALL LCD_reset LOAD s5, 10 CALL LCD_cursor LOAD s5, character_s LOAD s5, character_t LOAD s5, character_a LOAD s5, character_r LOAD s5, character_t CALL delay_1s CALL delay_1s CALL delay_1s CALL LCD_reset Hovedløkke laster inn data, behandler og skriver ut last_v: INPUT s9, v1_high_inn Leser øverste 8 bit fra verdi 1 STORE s9, v1_high Lagrer øverste bittene til RAM INPUT s9, v1_low_inn Leser nederste 8 bit fra verdi 1 STORE s9, v1_low Lagrer nederste bittene til RAM INPUT s9, v2_high_inn OSV STORE s9, v2_high INPUT s9, v2_low_inn STORE s9, v2_low INPUT s9, v3_high_inn STORE s9, v3_high INPUT s9, v3_low_inn STORE s9, v3_low INPUT s9, v4_high_inn STORE s9, v4_high INPUT s9, v4_low_inn STORE s9, v4_low skrivlcd: LOAD s5, 10 Linje 1 posisjon 0 CALL LCD_cursor Går til linje 1 posisjon 0 LOAD s5, character_v LOAD s5, character_1 LOAD s5, character_colon FETCH sb, v1_high Starter skriving verdi 1 (high) Skifter ned de øverste bittene 16 T-02

17 Kildekode FETCH sb, v1_high Så de nederste bittene FETCH sb, v1_low Begynner verdi 1 (low) Skifter ned de øverste bittene FETCH sb, v1_low Ferdig å skrive verdi 1 LOAD s5, character_space LOAD s5, character_v LOAD s5, character_2 LOAD s5, character_colon FETCH sb, v2_high Begynner verdi 2 (high) Skifter ned de øverste bittene FETCH sb, v2_high Så de nederste bittene FETCH sb, v2_low Begynner verdi 2(low) Skifter ned de øverste bittene FETCH sb, v2_low Ferdig å skrive verdi 2 LOAD s5, 20 Linje 2 posisjon 0 17 T-02

18 Kildekode CALL LCD_cursor Går til linje 2 posisjon 0 LOAD s5, character_v LOAD s5, character_3 LOAD s5, character_colon FETCH sb, v3_high Begynner verdi 3 (high) Skifter ned de øverste bittene FETCH sb, v3_high Så de nederste bittene FETCH sb, v3_low Begynner verdi 3 (low) Skifter ned de øverste bittene FETCH sb, v3_low Ferdig å skrive verdi 3 LOAD s5, character_space LOAD s5, character_v LOAD s5, character_4 LOAD s5, character_colon FETCH sb, v4_high Begynner verdi 4 (high) Skifter ned de øverste bittene FETCH sb, v4_high Så de nederste bittene FETCH sb, v4_low Begynner verdi 4 (low) Skifter ned de øverste bittene 18 T-02

19 Kildekode FETCH sb, v4_low Ferdig å skrive verdi 4 JUMP last_v ********************************************* Venteløkker (kopi fra eksempel) ********************************************* Registre brukt s0-s4 Delay of 1us. Registers used s0 delay_1us: LOAD s0, delay_1us_constant wait_1us: SUB s0, 01 JUMP NZ, wait_1us Delay of 40us. Registers used s0, s1 delay_40us: LOAD s1, x 1us = 40us wait_40us: CALL delay_1us SUB s1, 01 JUMP NZ, wait_40us Delay of 1ms. Registers used s0, s1, s2 delay_1ms: LOAD s2, x 40us = 1ms wait_1ms: CALL delay_40us SUB s2, 01 JUMP NZ, wait_1ms Delay of 20ms. Delay of 20ms used during initialisation. 19 T-02

20 Kildekode Registers used s0, s1, s2, s3 delay_20ms: LOAD s3, x 1ms = 20ms wait_20ms: CALL delay_1ms SUB s3, 01 JUMP NZ, wait_20ms Delay of approximately 1 second. Registers used s0, s1, s2, s3, s4 delay_1s: LOAD s4, x 20ms = 1000ms wait_1s: CALL delay_20ms SUB s4, 01 JUMP NZ, wait_1s ***************************************** LCD Rutiner (Kopi fra eksempel) ***************************************** LCD module is a 16 character by 2 line display but all displays are very similar. The 4-wire data interface will be used (DB4 to DB7). The LCD modules are relatively slow and software delay loops are used to slow down KCPSM3 adequately for the LCD to communicate. T The delay routines are provided in a different section (see above). Pulse LCD enable signal E high > 230ns (1us is used). Register s4 should define the current state of the LCD output port. Registers used s0, s4 LCD_pulse_E: XOR s4, LCD_E OUTPUT s4, LCD_output_port CALL delay_1us XOR s4, LCD_E OUTPUT s4, LCD_output_port E=1 E=0 Write 4-bit instruction to LCD display. The 4-bit instruction should be provided in the upper 4-bits of register s4. Note that this routine does not release the master enable but as it is only used during initialisation and as part of the 8-bit instruction write it should be acceptable. 20 T-02

21 Kildekode Registers used s4 LCD_write_inst4: AND s4, F8 Enable=1 RS=0 Inst., RW=0 Write, E=0 OUTPUT s4, LCD_output_port set up RS, RW >40ns before e. pulse CALL LCD_pulse_E Write 8-bit instruction to LCD display. The 8-bit instruction should be provided in register s5. Instructions are written using the following sequence Upper nibble wait >1us Lower nibble wait >40us Registers used s0, s1, s4, s5 LCD_write_inst8: LOAD s4, s5 AND s4, F0 Enable=0 RS=0 Inst., RW=0 Write, E=0 OR s4, LCD_drive Enable=1 CALL LCD_write_inst4 write upper nibble CALL delay_1us wait >1us LOAD s4, s5 select lower nibble with SL1 s4 Enable=1 SL0 s4 RS=0 Instruction SL0 s4 RW=0 Write SL0 s4 E=0 CALL LCD_write_inst4 write lower nibble CALL delay_40us wait >40us LOAD s4, F0 Enable=0 RS=0 Inst., RW=0 Write, E=0 OUTPUT s4, LCD_output_port Release master enable Write 8-bit data to LCD display. The 8-bit data should be provided in register s5. Data bytes are written using the following sequence Upper nibble wait >1us Lower nibble wait >40us Registers used s0, s1, s4, s5 LCD_write_data: LOAD s4, s5 AND s4, F0 Enable=0 RS=0 Inst., RW=0 Write, E=0 OR s4, 0C Enable=1 RS=1 Data, RW=0 Write, E=0 OUTPUT s4, LCD_output_port set up RS and RW >40ns before e. pulse CALL LCD_pulse_E write upper nibble CALL delay_1us wait >1us 21 T-02

22 Kildekode LOAD s4, s5 select lower nibble with SL1 s4 Enable=1 SL1 s4 RS=1 Data SL0 s4 RW=0 Write SL0 s4 E=0 OUTPUT s4, LCD_output_port set up RS and RW >40ns before e. pulse CALL LCD_pulse_E write lower nibble CALL delay_40us wait >40us LOAD s4, F0 Enable=0 RS=0 Inst., RW=0 Write, E=0 OUTPUT s4, LCD_output_port Release master enable Reset and initialise display to communicate using 4-bit data mode Includes routine to clear the display. Requires the 4-bit instructions 3,3,3,2 to be sent with suitable delays following by the 8-bit instructions to set up the display. 28 = 001 Funct. set, 0 4-bit, 1 2-line, 0 5x7 dot matrix, xx 06 = Entry mode, 1 increment, 0 no displ shift 0C = Disp control, 1 disp on, 0 cursor off, 0 blink off 01 = Display clear Registers used s0, s1, s2, s3, s4 LCD_reset: CALL delay_20ms wait >15ms for disp. to be ready LOAD s4, 30 CALL LCD_write_inst4 send 3 CALL delay_20ms wait >4.1ms CALL LCD_write_inst4 send 3 CALL delay_1ms wait >100us CALL LCD_write_inst4 send 3 CALL delay_40us wait >40us LOAD s4, 20 CALL LCD_write_inst4 send 2 CALL delay_40us wait >40us LOAD s5, 28 Function set CALL LCD_write_inst8 LOAD s5, 06 Entry mode CALL LCD_write_inst8 LOAD s5, 0C Display control CALL LCD_write_inst8 LCD_clear: LOAD s5, 01 Display clear CALL LCD_write_inst8 CALL delay_1ms CALL delay_1ms wait >1.64ms for display to clear Position the cursor ready for characters to be written. The display is formed of 2 lines of 16 characters and each position has a corresponding address as indicated below. Character position T-02

23 Kildekode Line A 8B 8C 8D 8E 8F Line 2 - C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF This routine will set the cursor position using the value provided in register s5. The upper nibble will define the line and the lower nibble the character position on the line. Example s5 = 2B will position the cursor on line 2 position 11 Registers used s0, s1, s2, s3, s4 LCD_cursor: TEST s5, 10 test for line 1 JUMP Z, set_line2 AND s5, 0F make address in range 80-8F for line 1 OR s5, 80 CALL LCD_write_inst8 instruction write to set cursor set_line2: AND s5, 0F make address in range C0-CF for line 2 OR s5, C0 CALL LCD_write_inst8 instruction write to set cursor ***************************************** Rutiner for ASCII konvertering ***************************************** Denne rutinen konverterer de 4 siste bittene i register s11 fra heksadesimalt til acii kode for representasjon av heksadesimal verdi. altså: 0->9 ===> (ascii kode for 0-9) og : A->F ===> (ascii kode for A-F) to_ascii: AND sb, 0F bare nederste 4 bit COMPARE sb, 0A setter carry = 1 dersom vi har fra 0-9 JUMP NC, letter ADD sb, 30 letter: ADD sb, 37 skal skrive ut bokstav om vi har bokstav 23 T-02

Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink)

Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink) Bruk av PicoBlaze mikrokontroller i Xilinx System Generator (Matlab - Simulink) Kristian Thorsen April 2010 T-01 Sammendrag Sammendrag På laboratoriene til Institutt for Data- og Elektroteknikk ved UiS,

Detaljer

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og

Detaljer

LabVIEW seriekommunikasjon med mikrokontroller

LabVIEW seriekommunikasjon med mikrokontroller KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.15 OPPG.NR.: LV3 LabVIEW seriekommunikasjon med mikrokontroller Oppgave Denne oppgaven går ut på å lage et LabVIEW-program som kan kommunisere med en

Detaljer

DM6814/DM5814 User s Manual

DM6814/DM5814 User s Manual (Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt

Detaljer

SIE 4005, 9/10 (4. Forelesn.)

SIE 4005, 9/10 (4. Forelesn.) SIE 4005, 9/10 (4. Forelesn.) Tredje forelesning: 8.1 The control unit 8.2 Algorithmic state machines 8.3 Design example: Binary multiplier 8.4 Hardwired Control Fjerde forelesning: litt repetisjon 8.4

Detaljer

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch

Dagens temaer. Sekvensiell logikk: Kretser med minne. D-flipflop: Forbedring av RS-latch Dagens temaer Sekvensiell logikk: Kretser med minne RS-latch: Enkleste minnekrets D-flipflop: Forbedring av RS-latch Presentasjon av obligatorisk oppgave (se også oppgaveteksten på hjemmesiden). 9.9.3

Detaljer

SRAM basert FPGA INF H10 1

SRAM basert FPGA INF H10 1 SRAM basert FPGA Prinsipp: SRAM-minne inne i FPGA lagrer kretsens konfigurasjon Fordeler Kan reprogrammeres uendelig mange ganger Plass til mye logikk Kan lett endre funksjonaliteten til systemet Trenger

Detaljer

WORKSHOP BRUK AV SENSORTEKNOLOGI

WORKSHOP BRUK AV SENSORTEKNOLOGI WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM

Detaljer

Avanserte byggeblokker (Maxfield kap.13 og 17)

Avanserte byggeblokker (Maxfield kap.13 og 17) Avanserte byggeblokker (Maxfield kap.13 og 17) Innhold: Kap 13: Embedded prosessorer (prosessorkjerner) Kap 17: Virtuelle komponenter (Intellectual Properties - IPs) INF3430 - H11 1 Organisering av kretskort

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Enkoder/demultiplekser (avslutte fra forrige gang)! Kort repetisjon 2-komplements form! Binær addisjon/subtraksjon!

Detaljer

Laget av Atle Hybertsen Høst 2017

Laget av Atle Hybertsen Høst 2017 101 Innholdsfortegnelse 1- Laste ned programmet 2- Oppstart 3- Betydninger basic 4- Basic program og funksjoner 5- Forklaringer av ord og forkortelser 6- Analog inn og ut oppsett 7- Betydninger avansert

Detaljer

Software versjon 0.3

Software versjon 0.3 Spesifikasjon for EXi panel for sone 1, RIA-OP4 05.05.00, Arild Gundersen Software versjon 0.3 Manual for RIA-OP4 sw0.3.doc 05.05.00 Side 1 RIA-OP4-W Veggmontert (ikke lagervare) RIA-OP4-P Panelmontert

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

Steg 1: Installere programvaren

Steg 1: Installere programvaren Blinkende lysdiode Skrevet av: Adrian Helle Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Arduino

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Fys 3270/4270 høsten 2004 Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Innledning. Målet med denne laboppgaven er at dere skal lære å lage enkle hardware beskrivelser

Detaljer

HONSEL process monitoring

HONSEL process monitoring 6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All

Detaljer

CodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde

CodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde AVR-LAB 07 Echo: Seriell I/O side 1 av 5 Hensikt I denne øvelsen benytter vi RS-232 overføring av data mellom STK-200 og vår PC. Programmet Terminalprogrammet på CodevisionAVR benyttes på PC. Karakterer

Detaljer

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram. Dagens temaer 1 Dagens Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre Sekvensiell

Detaljer

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Blinkende lysdiode Introduksjon Arduino Lærerveiledning Blinkende lysdiode Introduksjon Arduino Lærerveiledning Introduksjon Arduino er en mikrokontroller som kan programmeres til å styre elektroniske dingser og duppeditter. Ved hjelp av en Arduino kan du skru

Detaljer

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 17. AUGUST, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 17. AUGUST, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

SIE 4005, 8/10 (3. Forelesn.)

SIE 4005, 8/10 (3. Forelesn.) SIE 4005, 8/10 (3. Forelesn.) Andre forelesning: litt repetisjon 7.7 Arithmetic / Logic unit 7.8 The Shifter 7.9 Datapath representation 7.10 The control word 7.11 Pipelined datapath Tredje forelesning:

Detaljer

1: { 2: Display functions 3: ============================================================= 4: Instruction DB5 DB4 DB3 DB2 DB1 DB0 5:

1: { 2: Display functions 3: ============================================================= 4: Instruction DB5 DB4 DB3 DB2 DB1 DB0 5: C:\My Documents\prosjekter\dybdesensor\DYBDE.PAS Page 1 1: { 2: Display functions 3: ============================================================= 4: Instruction DB5 DB4 DB3 DB2 DB1 DB0 5: -------------------------------------------------------------

Detaljer

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9

Overordnet maskinarkitektur. Maskinarkitektur zoomet inn. I CPU: Kontrollenheten (CU) IT1101 Informatikk basisfag, dobbeltime 11/9 IT1101 Informatikk basisfag, dobbeltime 11/9 Hittil: sett på representasjon av informasjon og manipulering av bits i kretser Idag: hever oss til nivået over og ser på hvordan program kjører i maskinen

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

SIE 4005, 2/10 (2. Forelesn.)

SIE 4005, 2/10 (2. Forelesn.) SIE 4005, 2/10 (2. Forelesn.) Første forelesning: 7.1 Datapaths and operations 7.2 Register Transfer operations 7.3 Microoperations (atitm., logic, shift) 7.4 MUX-based transfer 7.5 Bus-based transfer

Detaljer

INF1400 Kap4rest Kombinatorisk Logikk

INF1400 Kap4rest Kombinatorisk Logikk INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3

Detaljer

Neural Network. Sensors Sorter

Neural Network. Sensors Sorter CSC 302 1.5 Neural Networks Simple Neural Nets for Pattern Recognition 1 Apple-Banana Sorter Neural Network Sensors Sorter Apples Bananas 2 Prototype Vectors Measurement vector p = [shape, texture, weight]

Detaljer

Løsningsforslag til eksamen i INF2270

Løsningsforslag til eksamen i INF2270 Løsningsforslag til eksamen i INF227 Oppgave 9 Omid Mirmotahari Oppgave 6 Dag Langmyhr. juni 24 Eksamen INF227 Sensorveiledning Oppgave 2 Kretsforenkling Hva er funksjonsuttrykket for Output gitt av A

Detaljer

1. Arduino Bluetooth 2 HC-05 modul

1. Arduino Bluetooth 2 HC-05 modul 1. Arduino Bluetooth 2 HC-05 modul Bluetooth er en trådløs teknologi som lar to enheter kommunisere med hverandre. Bluetooth ble opprinnelig laget for mobiletelefoner av svenske Eriksson og har vært en

Detaljer

Exercise 1: Phase Splitter DC Operation

Exercise 1: Phase Splitter DC Operation Exercise 1: DC Operation When you have completed this exercise, you will be able to measure dc operating voltages and currents by using a typical transistor phase splitter circuit. You will verify your

Detaljer

Design med ASIC og FPGA (Max kap.7 og 18)

Design med ASIC og FPGA (Max kap.7 og 18) Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H10

Detaljer

Tips! OMRON ELECTRONICS NORWAY AS

Tips! OMRON ELECTRONICS NORWAY AS Dette dokumentet er ment som et supplement til de originale manualene for produktene. Benytt derfor dette som en hjelp til å bli kjent med produktet, og ikke som en oppskrift for en ferdig installasjon.

Detaljer

Digital logic level: Oppsummering

Digital logic level: Oppsummering 1 Digital logic level: Oppsummering 2 Nivå 0: Digtalekretsar Ai Bi Ci-1 Fundamentale komponentar AND, OR, NOT,NAND, NOR XOR porter D-vipper for lagring av ett bit Samansette komponentar Aritmetiske kretsar

Detaljer

MAX MIN RESET. 7 Data Inn Data Ut. Load

MAX MIN RESET. 7 Data Inn Data Ut. Load UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 240 çç Digital Systemkonstruksjon Eksamensdag: 6. desember 2000 Tid for eksamen: 9.00 ç 15.00 Oppgavesettet er p 5 sider. Vedlegg:

Detaljer

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til: 2 Dagens temaer Dagens 4 Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture Design Flip-flop er av sekvensielle kretser Tellere Tilstandsdiagram og registre Sekvensiell Hvis

Detaljer

Hvorfor lære om maskinvare*?

Hvorfor lære om maskinvare*? Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende

Detaljer

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang

Dagens temaer. Architecture INF ! Dagens temaer hentes fra kapittel 3 i Computer Organisation and. ! Kort repetisjon fra forrige gang Dagens temaer! Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture! Kort repetisjon fra forrige gang! Kombinatorisk logikk! Analyse av kretser! Eksempler på byggeblokker! Forenkling

Detaljer

Design med ASIC og FPGA (Max kap.7 og 18)

Design med ASIC og FPGA (Max kap.7 og 18) Design med ASIC og FPGA (Max kap.7 og 18) Innhold: Begrensninger/muligheter å ta hensyn til ved FPGA design som en normalt slipper å tenke på med ASIC design. Migrering mellom FPGA og ASIC INF3430 - H12

Detaljer

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2014, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 4. DESEMBER, 214, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

Synkron logikk. Sekvensiell logikk; to typer:

Synkron logikk. Sekvensiell logikk; to typer: Sekvensiell logikk De fleste digitale systemer har også minneelementer (f.eks flipflopper) i tillegg til kombinatorisk logikk, og kalles da sekvensiell logikk Output i en sekvensiell krets er avhengig

Detaljer

Arduino med Atmel studio 6.x (6.1)

Arduino med Atmel studio 6.x (6.1) Arduino med Atmel studio 6.x (6.1) Etter å ha sett meg grenseløs lei av Arduinos IDE har jeg i lenge tid brukt Atmels eget AS6.1 Tenkte derfor lage en liten hvordan sette den opp til å virke med arduino.

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 2005-10-26 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

Introduksjon til DARK assembly

Introduksjon til DARK assembly Introduksjon til DARK assembly Magnus Jahre Institutt for datateknikk og informasjonsvitenskap 2 Plan Assembly vs. Java Dark stakkmaskin Oversikt over stakkmaskinen Dark stakkmaskin eksempel Dark Load-Store

Detaljer

Moving Objects. We need to move our objects in 3D space.

Moving Objects. We need to move our objects in 3D space. Transformations Moving Objects We need to move our objects in 3D space. Moving Objects We need to move our objects in 3D space. An object/model (box, car, building, character,... ) is defined in one position

Detaljer

TDT DESEMBER, 2008, 09:00 13:00

TDT DESEMBER, 2008, 09:00 13:00 Norwegian University of Science and Technology Faculty of Information Technology, Mathematics and Electrical Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre INF2270 1/19

Detaljer

TFE4101 Krets- og Digitalteknikk Høst 2016

TFE4101 Krets- og Digitalteknikk Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for elektronikk og telekomunikasjon TFE40 Krets- og Digitalteknikk Høst 206 Løsningsforslag Øving 6 Teknologi-mapping a) Siden funksjonen T er på

Detaljer

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler

Dagens temaer. Dagens temaer er hentet fra P&P kapittel 3. Motivet for å bruke binær representasjon. Boolsk algebra: Definisjoner og regler Dagens temaer Dagens temaer er hentet fra P&P kapittel 3 Motivet for å bruke binær representasjon Boolsk algebra: Definisjoner og regler Kombinatorisk logikk Eksempler på byggeblokker 05.09.2003 INF 103

Detaljer

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering

Oppsummering Assemblerkode Hopp Multiplikasjon Kode og data Array Oppsummering Uke 34 Uke 35 Uke 36 Uke 37 Uke 38 Uke 39 Uke 40 Uke 41 Uke 42 Uke 43 Uke 44 Uke 45 Uke 46 Uke 47 sikkerhet datanett programvare digitale kretser Prosessoren II Kort oppsummering Løkker og tester Mer om

Detaljer

Erik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6.

Erik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6. Skrevet av: Erik Grindheim, IFJF - UiB * Dato: 15. februar 2000 * Revisjon 1.12 * Språk: MPASM (Microchip) * Processor: PIC16F84 * Watchdog timer: off * Code protect: off * Programmet starter opp med å

Detaljer

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg. EKSAMEN Emnekode: ITD13012 Dato: 10. mai 2017 Hjelpemidler: To A4-ark (fire sider) med egne notater Emnenavn: Datateknikk Eksamenstid: 3 timer Faglærere: Robert Roppestad Kalkulator som kan lånes av HIØ

Detaljer

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor. 6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale

Detaljer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430/4430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430/4430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer 19.09.2006 Agenda Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard

Detaljer

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 { F A G P R Ø V E N V Å R E N 1 9 9 9 Universitetet i Bergen Institutt for den Faste Jords Fysikk A D - K O R T P R O G R

Detaljer

INF1400 Kap 1. Digital representasjon og digitale porter

INF1400 Kap 1. Digital representasjon og digitale porter INF4 Kap Digital representasjon og digitale porter Hovedpunkter Desimale / binære tall Digital hardware-representasjon Binær koding av bokstaver og lyd Boolsk algebra Digitale byggeblokker / sannhetstabell

Detaljer

Antall vedlegg O Tillatte hjelpemidler:

Antall vedlegg O Tillatte hjelpemidler: ~ Emne: Mekatronikk Emnekode. SO504M Faglig ansvarlig Gruppe(r): 3MM pato: 16.12.03 Eksamenstid 0900-1400 Eksamensoppgaven består av Anta]] sider: 5 Antall oppgaver: 4 Antall vedlegg O Tillatte hjelpemidler:

Detaljer

TwidoSuite kommunikasjon

TwidoSuite kommunikasjon TwidoSuite kommunikasjon TwidoSuite kursunderlag: Kommunikasjon via Modbus seriell, Ethernet, Remote link, ASCII, CanOpen og AS-i. Macroer for kommunikasjon Modbus 2 Modbus port Bruk programmeringsporten

Detaljer

Tilstandsmaskiner (FSM) Kapittel 5

Tilstandsmaskiner (FSM) Kapittel 5 Tilstandsmaskiner (FSM) Kapittel 5 1) Sette opp tilstandsdiagram Tradisjonell konstruksjonsmetode 2) Sette opp tilstandstabell ut fra tilstandsdiagrammet Nåværende tilstand (PS) og input Neste tilstand

Detaljer

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU) 2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2

Detaljer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer

INF3430. Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer INF3430 Funksjoner og prosedyrer Standardbiblioteker Komplekse sekvensielle systemer Innhold Funksjoner og operatorer Prosedyrer Begrepet overload Biblioteker Package/package body Standard biblioteker

Detaljer

Rapport Øving 1 TDT4258 Mikrokontroller Systemdesign

Rapport Øving 1 TDT4258 Mikrokontroller Systemdesign Rapport Øving 1 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 21. februar 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et assemblyprogramm for å få knappene til å styre

Detaljer

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT DESEMBER, 2012, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT4160 DATAMASKINER GRUNNKURS EKSAMEN 17. DESEMBER, 2012, 09:00 13:00 Kontakt under eksamen:

Detaljer

Debugging. Tore Berg Hansen, TISIP

Debugging. Tore Berg Hansen, TISIP Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...

Detaljer

INF2270. Datamaskin Arkitektur

INF2270. Datamaskin Arkitektur INF2270 Datamaskin Arkitektur Hovedpunkter Von Neumann Arkitektur ALU Minne SRAM DRAM RAM Terminologi RAM Signaler Register Register overføringsspråk Von Neumann Arkitektur John von Neumann publiserte

Detaljer

Vera-W15. WiFi Termostat Kontakt. Bruksanvisning. Manual version 1.0

Vera-W15. WiFi Termostat Kontakt. Bruksanvisning. Manual version 1.0 Vera-W15 WiFi Termostat Kontakt Bruksanvisning Manual version 1.0 INNHOLD 1.1 Pakkens innhold... 2 1.2 Stikkontakt instruksjon... 3 1.3 Lys indikator... 4 1.4 Varsel lyd... 5 2.1 Installering av app...

Detaljer

7) Radix-sortering sekvensielt kode og effekten av cache

7) Radix-sortering sekvensielt kode og effekten av cache ) Radix-sortering sekvensielt kode og effekten av cache Dels er denne gjennomgangen av vanlig Radix-sortering viktig for å forstå en senere parallell versjon. Dels viser den effekten vi akkurat så tilfeldig

Detaljer

LABORATORIEOPPGAVE NR 6. Logiske kretser - DTL (Diode-Transistor Logic) Læringsmål: Oppbygning

LABORATORIEOPPGAVE NR 6. Logiske kretser - DTL (Diode-Transistor Logic) Læringsmål: Oppbygning LABORATORIEOPPGAVE NR 6 Logiske kretser - DTL (Diode-Transistor Logic) Læringsmål: Gi en kort innføring i de elektriske egenskapene til digiale kretser. Delmål: Studentene skal etter gjennomført laboratorieoppgave:

Detaljer

MIK 200 Anvendt signalbehandling, 2012.

MIK 200 Anvendt signalbehandling, 2012. Stavanger, 25. januar 202 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 202. Lab. 6, CIC-filter. Dette er første del av øvinger om CIC-filter. Andre del kommer i øving 7. Før

Detaljer

BRUKERVEILEDNING FOR MC50.

BRUKERVEILEDNING FOR MC50. BRUKERVEILEDNING FOR MC50. 1 IKKE GODKJENT FOR KJØP OG SALG Grunnprogrammering av systemet før oppstart. Denne veiledningen beskriver den programmering som må gjøres før oppstart av MC50 kodepumper. Tast

Detaljer

Oversikt over SMS kommandoer for Holars 2020G

Oversikt over SMS kommandoer for Holars 2020G Oversikt over SMS kommandoer for Holars 2020G Det er to ulike menyer for å programmere / styre sentralen. 1. Bruker SMS Her kan brukeren styre alarmen Av/På samt styre utgangsmoduler og Waveman moduler.

Detaljer

Bruk av interrupt og Timer i Arduino-program.

Bruk av interrupt og Timer i Arduino-program. 1 Bruk av interrupt og Timer i Arduino-program. Når vi skal utføre handlinger som kan inntreffe tilfeldig (ikke forutsigbare hendelser), slik som å håndtere alarmer, at IO ønsker service etc kan vi benytte

Detaljer

Institutt for biovitenskap

Institutt for biovitenskap Institutt for biovitenskap Oppslag for alle avtrekksskap: Alle avtrekksskap skal ha forklaring på alarmsystem på det enkelte skap. Dette varier fra skap til skap. e.g. på IBV finnes det minst 3 ulike typer.

Detaljer

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening. Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening. 27.5 LCD Electronic thermostat with program setting. Bright LCD display placed at the top of the heater

Detaljer

Innhold. Oppgave 1 Oversettelse (vekt 15%)

Innhold. Oppgave 1 Oversettelse (vekt 15%) UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 147 Program- og maskinvare Eksamensdag: 29. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 10 sider. Vedlegg: Tillatte

Detaljer

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt

Dagens tema. Mer MIPS maskinkode. Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Dagens tema Mer MIPS maskinkode (P&H: 4.4 + 3.6 + 3.3 + A.6 + A.10) Maske-operasjoner Skift-operasjoner Lesing og skriving Pseudo-instruksjoner Mer om funksjonskall Registeroversikt Ark 1 av 16 Forelesning

Detaljer

RF Power Capacitors Class kV Discs with Moisture Protection

RF Power Capacitors Class kV Discs with Moisture Protection RF Power Capacitors Class 0-20kV Discs with Moisture Protection T H E C E R A M I C E X P E R T S RF Power Capacitors Class 0-20kV Discs with Moisture Protection The CeramTec Group is a world leader in

Detaljer

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science

TDT4160 16. DESEMBER, 2013, 09:00 13:00. Norwegian University of Science and Technology Engineering The Department of Computer and Information Science Norwegian University of Science and Technology Engineering The Department of Computer and Information Science TDT416 DATAMASKINER GRUNNKURS EKSAMEN 16. DESEMBER, 213, 9: 13: Kontakt under eksamen: Gunnar

Detaljer

MAT1030 Plenumsregning 3

MAT1030 Plenumsregning 3 MAT1030 Plenumsregning 3 Ukeoppgaver Mathias Barra - 30. januar 2009 (Sist oppdatert: 2009-02-02 14:26) Plenumsregning 3 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58 8+1 465 8+6 3726. Svar: 3726

Detaljer

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene?

Prosessoren. Bakgrunnen Innhold LMC. Assemblerkode Oppsummering instruksjonene [Englander kap 6] Hva inneholder den? Hvordan utføres instruksjonene? Prosessoren Bakgrunnen Innhold LMC Hva inneholder den? Hvordan utføres instruksjonene? Assemblerkode Oppsummering instruksjonene [Englander kap 6] Lagdelingen av en datamaskin Internett Lokalnett (LAN)

Detaljer

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir =

Tallsystemer. Tallene x, y, z og u er gitt ved x = 2, y = 2, z = 4 og u = 2. Dermed blir = Tallsystemer Heltall oppgis vanligvis i det desimale tallsystemet, også kalt 10-tallssystemet. Eksempel. Gitt tallet 3794. Dette kan skrives slik: 3 1000 + 7 100 + 9 10 + 4 = 3 10 3 + 7 10 2 + 9 10 1 +

Detaljer

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 12 Faglig kontakt under eksamen: Magnus Jahre (952 22 309) EKSAMEN I TDT4160 DATAMASKINER GRUNNKURS

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell

Detaljer

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering Zelio Soft grunnkurs Zelio Logic reléerstatter programmering Zelio Soft programvare for programmering av Zelio Logic reléerstatter Grunnkurset forutsetter at Zelio Soft er installert på PC Skjermbilder

Detaljer

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00

Løsningsskisse til avsluttende eksamen i TDT4105 Informasjonsteknologi, grunnkurs Torsdag 8. desember 2011 9:00 13:00 Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultetet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsskisse

Detaljer

Løsningsforslag til EKSAMEN

Løsningsforslag til EKSAMEN Løsningsforslag til EKSAMEN Emnekode: ITD006 Emne: Fysikk og datateknikk Dato: 06. Mai 009 Eksamenstid: kl 9:00 til kl 3:00 Hjelpemidler: 4 sider (A4) ( ark) med egne notater. Kalkulator. Gruppebesvarelse,

Detaljer

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord. Oppbygging av RAM Sentrale begreper er adresserbarhet og adresserom Adresserbarhet: Antall bit som prosessoren kan tak samtidig i én operasjon (lese- eller skrive-operasjon). 9.. INF Antall bit som kan

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF 3230 Formell modellering og analyse av kommuniserende systemer Eksamensdag: 4. juni 2010 Tid for eksamen: 9.00 12.00 Oppgavesettet

Detaljer

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse Innhold Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer Prinsipper for synkronisering av felles hukommelse Multiprosessorer koblet sammen av én buss 02.05 2001 Parallelle

Detaljer

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne) HØGSKOLEN I OSLO Avdeling for ingeniørutdanning EKSAMENSOPPGAVE Fag: ELEKTRONIKK II Fagnr: SO313E Faglig veileder: K. H. Nygård, V. Tyssø Gruppe(r): 2EY Dato: 30.05.02 Eksamenstid, fra-til: 09 00-14 00

Detaljer

Bokmål / Nynorsk / English NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR FYSIKK. Eksamen TFY4185 Måleteknikk

Bokmål / Nynorsk / English NORGES TEKNISK- NATURVITENSKAPELIGE UNIVERSITET INSTITUTT FOR FYSIKK. Eksamen TFY4185 Måleteknikk Bokmål / Nynorsk / English Side 1 av 5 NORGES TEKNISK- NATURITENSKAPELIGE UNIERSITET INSTITUTT FOR FYSIKK Steinar Raaen tel. 482 96 758 Eksamen TFY4185 Måleteknikk Mandag 17. desember 2012 Tid: 09.00-13.00

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 13. juni 2013 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 9 sider. Vedlegg: Tillatte hjelpemidler: INF2270 Datamaskinarkitektur

Detaljer

Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0.

Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0. TR F5940 Beskrivelse av styresystem for aktiv likeretter. Versjon 1.0. Kjell Ljøkelsøy Februar 2004 SAK/OPPGAVE (tittel) TEKNISK RAPPORT SINTEF Energiforskning AS Postadresse: 7465 Trondheim Resepsjon:

Detaljer

SCE1106 Control Theory

SCE1106 Control Theory Master study Systems and Control Engineering Department of Technology Telemark University College DDiR, October 26, 2006 SCE1106 Control Theory Exercise 6 Task 1 a) The poles of the open loop system is

Detaljer

RF Power Capacitors Class , 20 & 30 mm Barrel Transmitting Types

RF Power Capacitors Class , 20 & 30 mm Barrel Transmitting Types RF Power Capacitors Class 2.7, 20 & 30 mm Barrel Transmitting Types T H E C E R A M I C E X P E R T S RF Power Capacitors Class 2.7, 20 & 30 mm Barrel Transmitting Types The CeramTec Group is a world leader

Detaljer

Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign

Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 19. mars 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et program for å generere lyd på et utviklingskort [4].

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: Eksamensdag: 12. juni 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 11 sider. Vedlegg: Tillatte hjelpemidler: INF2270

Detaljer

RF Power Capacitors Class1. 5kV Discs

RF Power Capacitors Class1. 5kV Discs RF Power Capacitors Class 5kV Discs T H E C E R A M C E X P E R T S RF Power Capacitors Class 5kV Discs The CeramTec Group is a world leader in the design and manufacture of complex electronic ceramic

Detaljer

Dataveier og optimalisering. Kapittel 9

Dataveier og optimalisering. Kapittel 9 Dataveier og optimalisering Kapittel 9 Innhold Designkrav Arealbehov kontra hastighet Pipelining For å økte ytelsen til en krets Ressursdeling For å minke arealbehovet Overordnede designkrav: Designet

Detaljer