Üliõpilaskood: 164634 Õpperühm: AAVB-31 Juhendaja: Madis Lehtla Tallinn 2017 ETTEVALMISTAVAD KÜSIMUSED Kuidas sõltub loendustrigeri (T-trigeri) väljundsignaali sagedus sisendsignaali sagedusest? Iga sisendimpulss x lülitab oma tagafrondiga ahela esimese trigeri ringi. Iga kahe sisendimpulsi järel lülitub trigeri väljund korraks sisse ja välja. See tähendab, et tema väljundimpulsside muutumise sagedus on kaks korda väiksem kui sisendimpulssidel. Võib öelda, et loendussisendiga triger jagab impulsside sageduse kahega. Kuidas töötab taktgeneraator? Taktgeneraator on seade, mis väljastab perioodilisi ajastusimpulsse. Mõõteseadmetes, kaitseaparaatides, jõupooljuht muundurites, teabe edastamisel, automaatjuhtimissüsteemide
Tallinna Tehnikaülikool Elektriajamite ja jõuelektroonika instituut Mikrokontrollerite harjutusülesanne nr.1: Sisendite ja väljundite kasutamine õppeaines Sissejuhatus digitaaltehnikasse Üliõpilane: Matrikli nr.: Õpperühm: AAAB10 Juhendaja: Madis Lehtla Tallinn 2013 Sisukord 1.Mikrokontrolleritest ja assemblerist.....................................................................................3 2.Ülesannete lahendused.........................................................................................................4 1.Programm, mis lülitab nupuvajutusel sisse kaheksa valgusdioodi..................................4 2.Programm, mis nupuvajutusel kuvab 7-segmendilisel näidikul etteantud kümnendarvu. ...............
2.2.6. Adresseerimine 77 2.2.7. Pinumälu 79 2.2.8. Protsessori koostöö mälu ja välisseadmetega 79 2.3. Andmevahetus 82 2.3.1. Andmevahetuse meetodid 82 2.3.2. Rööpvärat 87 2.3.3. Jadavärat 90 2.3.4. Taimer 91 2.3.5. Otsemällupöördus ja DMA-kontroller 96 2.4. Tarkvara 98 2.4.1. Ülevaade mikroarvutite ja juhtraalide tarkvarast 98 2.4.2. Assembler 99 2.4.3. Intel 8080 assemblerikeel 101 2.5. Signaaliprotsessorid 105 2.5.1
(nii on igal järjestikskeemil), mis näitab, kuidas mainitud hetke väljundi väärtus sõltub eelnevate hetkede väljundi väärtustest. 3 Triger on kahe stabiilse olekuga element (1 ja 0). Kui oleme sisendite väärtuste muutmisega ümberlülitumise protsessi käivitanud, läheb triger üle ühte oma stabiilsetest olekutest. Tavaliselt omab triger kahte väljundit: otseväljund Q ja tema eitus ´ . Q Tööpõhimõtte järgi jaotatakse trigerid seadesisenditega SR-trigeriteks, loendussisenditega T- trigeriteks, andmesisenditega D-trigeriteks ning universaalsisenditega JK-trigeriteks. - Asünkroonne SR-triger – ilma sünkrosisendita triger, mis muudab väärtust sisendite muutumise järgi
Pilet 1 1. Trigerid. 2. Konveier protsessoris ja mälus. 3. Suvapöördusmälud. Trigerid (Flip-Flops) kuuluvad järjestiskeemide hulka sest neil on olemas mälu omadus, see tähendab väljundi väärtus sõltub peale sisendite väärtuse antud ajahetkel ka eelnevast väljundiväärtus-test. Triger on elementaarne mäluelement, mis võimaldab säilitada infot üks bit. Esitades trigerit tõeväärtustabeli või funktsiooni kaudu, tuleb sisse tuua aja parameeter. Triger on kahe stabiilse olekuga element. Tavaliselt trigeril on kaks väljunidit: Joonis: SR-TRIGER (set-resest) ühe ja kahetaktiline, antud on asünkroonne, R=S=1 on keelatud. Töötab: RS; Q(t), 00–>Q(t-1) , 01= 1, 10= 0, 11=-- Asünkroonse trigeri puhul muutub väljundi väärtus sisendite väärtuste muutuste järgi. Potentsiaaliga sünkroniseeritav SR : Sünkrosisendiga C määratakse, millal lülitub triger uude olekusse. NB
NMOS (NMOP) transistori väratile positiivse pinge (UG=Uallikas) rakendamisl käitub see transistor avatud lülitina. V: VALE 5) Kas alljärgnev lause on tõene või väär: NMOS (NMOP) transistori väratile nullise pinge (UG= 0V rakendamisl käitub see transistor suletud lülitina. V: VALE 6) Milliste joonisel kujutatud loogikaahelate kosted on identsed? Ehk teisisõnu: milliste ahelate puhul saate sisendparameetrite samade kombinatsioonide korral väljundis ühesuguse väärtuse. V: A ja E 7) Milliste joonisel kujutatud loogikaahelate kosted on identsed? Ehk teisisõnu: milliste ahelate puhul saate sisendparameetrite samade kombinatsioonide korral väljundis ühesuguse väärtuse. V: C ja F 8)Milline tingmärk joonisel kujutab EI lülitust? V: F 9) Millised alljärgnevatest loogikaseadustest väljendavad neelduvusseadust? V: A+A*B=A, A(A+B)=A 10) Milline joonisel kujutatud loogikaelementidest töötab vastavalt selles
loenduri trigerite vahel jaotatakse loendure jada- ja rööpülekandega loenduriteks. Jadaülekande loendur koosneb järjestikku lülitatud T-trigeritest. Iga sisendiimpulss x lülitab oma tagafrondi ahela esimese trigeriringi. Iga kahe sisendiimpulsi järel lülitub trigeri väljund korraks sisse ja välja, see tähendab tema väljundiimpulsside muutumise sagedus on kaks korda väiksem kui sisendiimpulssidel. Võib öelda, et loendussisendiga triger jagab impulsside sageduse kahega. Ahela teise trigeri väljundis on sagedus 4 korda, kolmanda trigeri väljundis 8 korda, neljanda trigeri väljundis 16 korda ja nii edasi väiksem. Jadaülekandega loenduri puuduseks on signaali ülekandel tekkiv hilistumine, mis suureneb koos loenduri astmete arvuga. Suure loendusastmete arvu ning taktimpulsside sageduse korral võib hilistumine ületada takti kestuse. Sel juhul ei vasta loenduri väljundsignaal enam tegelikult loendatud impulsside arvule ning susteemis tekib viga. Vea vältimiseks tuleb
Sõltuvalt signaali ülekande viisist loenduri trigerite vahel jaotatakse loendure jada- ja rööpülekandega loenduriteks. Jadaülekande loendur koosneb järjestikku lülitatud T-trigeritest. Iga sisendiimpulss x lülitab oma tagafrondi ahela esimese trigeriringi. Iga kahe sisendiimpulsi järel lülitub trigeri väljund korraks sisse ja välja, see tähendab tema väljundiimpulsside muutumise sagedus on kaks korda väiksem kui sisendiimpulssidel. Võib öelda, et loendussisendiga triger jagab impulsside sageduse kahega. Ahela teise trigeri väljundis on sagedus 4 korda, kolmanda trigeri väljundis 8 korda, neljanda trigeri väljundis 16 korda ja nii edasi väiksem. Jadaülekandega loenduri puuduseks on signaali ülekandel tekkiv hilistumine, mis suureneb koos loenduri astmete arvuga. Suure loendusastmete arvu ning taktimpulsside sageduse korral võib hilistumine ületada takti kestuse. Sel juhul ei vasta loenduri
Kahe stabiilse olekuga loogikalülitus (1 või 0). Olek vastab väljundsignaalile. Sõltuvalt sisendsignaalist säilitab endise oleku või muudab seda hüppeliselt. Tavaliselt 2 väljundit: otsene O ja invertne Õ. Tööpõhimõtte järgi jaotatakse: Seadesisenditega ehk SR-trigerid Loendussisenditega ehk T-trigerid Andmesisenditega ehk D-trigerid Universaalsisenditega ehk JK-trigerid SÜNKROONNE TRIGER (flip-flop) oleku reguleerimine sisendite baasil toimub vaid taktiimpulsi mõjul. ASÜNKROONNE TRIGER (latch) info salvestatakse vahetult sisenditesse antud signaalide põhjal. Sõltuvalt tööpõhimõttest ja ehitusest liigitatakse ühe- või kahe-taktilisteks. Ühetaktiline: puuduseks, et ei võimalda samaaegselt infot vastu võtta ja edastada. Kahetaktiline: master-slave, kokku ühendatud kaks trigerit, et
kuna küllastunud transistori kahendjärgu poolest. Gray koodi sisendisse antaval kahendarvul. programmeerib neid kiibi sulgemine võtab kauem aega. puhul lülitub korraga ümber Maksimaalne väljundite arv kasutaja. TTL- st kiirem. ECL- (Emitter ainult 1 triger. võrdub kombinatsioonide arvuga Ümberprogrammeeritavaid Coupled Logic)- 5.Registrid: Registriteks nim. 2n. Dekoodrid koostatakse püsimälusid saab kasutaja bipolaartransistoridel põhinev, trigeritest koosnevat seadet, mis peamiselt NING- elementidest. vajaduse korral kasutada ja uuesti kiiretoimeline
1. Trigerid Triger on mäluelement, mis säilitab 1 biti informatsiooni. Triger on kahe stabiilse olekuga loogikalülitus (1 või 0). Trigeri olek vastab tema väljundsignaalile. Sõltuvalt sisendsignaalist säilitab triger endise oleku või muudab seda hüppeliselt (seega sültub trigeri väljund ka selle eelmisest väljundist). Trigeril on tavaliselt 2 väljundit: otsene Q ja invertne Q . Tööpõhimõtte järgi jaotatakse trigerid seadesisenditega ehk SR- trigeriteks, loendussisenditega e. T-
....................................................................................................... 20 4.6 Komplementaarne MOP loogika.................................................................................. 20 5 Kombinatsioonseadmete süntees...................................................................................... 22 6 Trigerid............................................................................................................................... 26 6.1 Trigeri mõiste............................................................................................................... 26 6.2 Kasutatavad tähised.................................................................................................... 26 6.3 Trigerite liigid............................................................................................................... 26 6.4 Asünkroonne RS - triger...........................................................................
G= g3+p3g2+p3p2g1+p3p2p1g0, P=p3p2p1p0. Selliseid neljajärgulisi grupe saab samasuguste kiirete ülekande skeemide abil kokku ühendada ja laiendada järgulisust. Näitks 16 järgulise summaatori jaoks oleks vaja 5 sellist ülekande skeemi ja 16 ühejärgulist summaatorit. Dekooder. Dekooder on ette nähtud kahendarvude dekodeerimiseks. Dekoodril tehakse kindlaks, milline on sisendkood. Igale võimalikule sisendkoodile vastab dekoodris üks väljund ja järlikult on dekoodril n sisend korral 2 n väljundit. Väljund on unitaarkood (1-ou-of 2) kood. Unitaarkood on selline, kus on ainult 1 1. Lisaks on juhtsisend E mis, lubab või keelab dekodeerimist. C B A E Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 1 0 0 1 0 0 0 0 0
1. Trigerid. Trigerid kuuluvad järestikskeemide hulka, sest neil on mälu omadus. Väljundi väärtus sõltub peale sisendite väärtuste ka väljundi väärtusest eelnevatel hetkedel. Triger on mäluelement, mis säilitab ühe bitist informatsiooni. Trigeril on kaks stabiilset olekut. Olekuks nimetatakse trigeri väljundi väärtust antud ajahetkel. Tavaliselt on trigeril kaks väljundit: otseväljund ja tema eitus. Trigeri tüübid: 1) SR-triger (Set Reset) Asünkroonse trigeri puhul pole sünkrosisendit millega ümberlülitumise aega juhtida, seega väljundi väärtus muutub sisendi väärtuste muutuste järgi. S R Qt 0 0 Qt-1 01 0 10 1 11 - Kui S = R = 1, siis on otseväljud ja inversioonväljund ühesuguse väärtusega Q = ^Q, kuna kahendväärtuse otseväärtuse ja eitus ei saa olla võrdsed, siis loetakse seda keelatud väärtuseks. Loogikafunktsioon Qt = S + ^R Qt-1
Sissejuhatus Töö eesmärgiks on kontrollerile programmi koostamine. Selle käigus õpin kasutama viite kontrolleri programmeerimise keelt: IL, ST, SFC, FBD, LD. Neid kasutades pean koostama programmi silindri liikumise kohta. Programmi koostamisel on mitu etappi. Programmi loomine algab süsteemse projekteerimisega, selleks tuleb koostada algoritm, mis kujutab endast tegevuste ülesmärkimist plokkskeemina, kus määratakse tegevuste otstarve ja funktsioonid, selleks peab olema ettekujutus vastava töömasina töökäigust. Vastavalt olekute arvule valitakse sisendite ja väljundite arv ning alustatakse programmi sisestamisega. Ülesanne Silinder A1 peab liikuma välja peale start nupu vajutamist. Silinder pannakse liikuma start nupu vajutamisega ning tuuakse algusesse stopp nupu vajutamisega. Kui start on vajutatud peab silindri töökäike olema viis, juhul kui vahepeal ei vajutata stoppi, ning seejärel peab silinder alguses seisma jääma. Välja jõudes peab seisma ajaviite t
1) Koostada tõukurmehhanismi juhtimise juhtimisalgoritmi plokkskeem, joonis 3. Stopp 1 Mootor seisab Start 2 Mootor töötab ühele poole Loendur 3 Dünaamiline pidurdus taimer Mootor töötab 4 teisele poole Lõpplüliti 5 Dünaamiline pidurdus Taltluse valik 6 Mootor seisab Mootor seisab signaallamp süttib
10. Asünkroonsed trigerid (olekutabelid, skeemi tingmärgid). Triger- elementaarne mäluelement 1 biti hoidmiseks. On kahe püsitasakaaluseisundiga lülitus. Sisaldab kaht transistorit või muud aktiivelmenti, mis on vastastikku seotud tagasisidega. Olekut muudavad sisenditesse saabuvad välissignaalid. Tasutatakse mäluelementidena registrites, loendurtes jms. Kaks väljundit otseväljund Q ja inversiooniväljund Q (kriipsuga). Q=0 ja Q(kriips)=1 tähendab, et triger on olekus null. Vastupidi on olekus 1. Asünkroonsele trigerile mõjuvad sisendsignaalid alates nende saabumishetkest, sünkroonsele trigerile juhtsisendile clock saabunud sünkrosignaali saabumise hetkest. Sünkroonsed trigerid jagunevad staatilise juhtimisega trigeriteks, kus trigeri ümberlülitumine toimub siis, kui sünkroseisundis on null, ning dünaamilise juhtimisega trigeriteks, kus ümerlülitus toimub sünkrosignaali muutumisel 0-1 või 1- 0.
Tallinna Polütehnikum AVR mikroprotsessor Referaat Koostja Deniss Skrabutenass AA-12 Tallinn 2014 Analoog-digitaal konverter Analoog-digitaal muundur (ADC) muundab analoogpinge väärtuse digitaalseks väärtuseks. AVR-i ADC analoogpinge sisend on lubatud 0-5.5V piires. Digitaalne väärtus on 10-bitine, kuid selle täpsus on ±2 ühikut. Viga võib veelgi kasvada kui kiibi toitepinget häirete eest ei kaitsta. ADC jaoks on AVR-il eraldi toite ja võrdluspinge viik. Eraldi toide on mürakindluse pärast ja see ei tohi kiibi toitepingest (üle 0.3V) erineda. Võrdluspinge määrab maksimaalse digitaalse väärtuse. Ehk kui võrdluspinge on 3V siis sama pingega sisend annab väärtuseks 2 astmes 10 miinus 1 ehk 1023.
vajalik mlualasid mberllitada. ; mberllitamine toimub registri STATUS signaalidega 5 ja 6. STATUS EQU 0x03 ; Thistame mlualade llitamiseks signaalid registris STATUS thistega RP0 ja RP1 RP0 EQU 5 RP1 EQU 6 ORG 0x00 ; Transleerimise algusaadress BSF STATUS,RP0 ; Llitatakse sisse mluaken 1 BCF STATUS,RP1 CLRF TRISC ; Kustutatakse register TRISC nulliks - Signaalid RC0, RC1, RC2, Rc3, RC4, RC5, RC6 ja RC7 mratakse vljunditeks CLRF TRISD ; Kustutatakse register TRISD nulliks - Signaalid RD0, RD1, RD2, RD3, RD4, RD5, RD6 ja RD7 mratakse vljunditeks MOVLW 0xFF ; Laetakse registrisse W 8-bitiline arv, milles kik signaalid on hed BCF STATUS,RP0 ; Llitatakse sisse mluaken 0
goto mainloop goto mainloop Seadme juhtprogrammi väljatrükk list p=16f877a ;defineeritakse kontrolleri tüüp include "p16f877a.inc" ;lisatakse kontrolleri infot sisaldav ;*.inc fail org 0x00 ;määrab kindlaks programmi algusvektori bsf STATUS,RP0 ;valitakse mälupank nr 1 (00,10,01,11) bcf STATUS,RP1 ;TRIS register asub pangas1! movlw b'00000000' ;tööregistrisse omistatakse binaararv ;00000000 movwf TRISD ;pordis D määratakse kõik viigud ;väljunditeks movlw 0x06 ;tööregistrisse antakse nr 6 movwf ADCON1 ;PORTA seadistatakse digitaalsisendiks ;(00000110) movlw b'11111111' ;tööregistrile omistatakse binaararv
Käsuloendur säilitab järgmisena täitmisele tuleva käsu aadressi. Vajalik näiteks katkestuse korral ja alamprogrammi poole pöördumisel, et fikseerida tagasipöörde aadress järgmise käsu juurde. Käsuregister- kui protsessor väljastab käsuloendurist aadressi ja loeb selle järgi mälust käsukoodi, siis salvestatakse see käsuregistrisse. Käsuregistri väljundisse on ühendatud dekooder, mille väljundis on iga sisendkoodi korral aktiivne vaid üks väljund. Käsudekoodril läheb aktiivseks üks väljunditest, mis näitab, millise käsu kood loeti protsessorisse. Kõik käsud sisaldavad käsukoodi, kuid käsus võib olla ka aadress või andmed. Käsu etapid: käsukoodi laadimine, dekodeerimine, operandide laadimine, operatsiooni täitmine ALUs, tulemuse salvestamine. II. LCD, LED, OLED ja plasmakuvarid.(Passiiv- ja aktiivmaatriks).
aastal.'); writeln('Head aega!'); end. Programmis kasutatakse kolme muutujat - nimi, vanus,aasta. Kõik muutujad tuleb deklareerida - määrata nende tüüp. Standardses Pascalis esinevad sagedamini järgmised andmetüübid: ·integer - täisarv (-32 768 - 32 767) ·real - reaalarv (ca +/- 1040) ·string - tekst (kuni 255 märki) NB! Tegelikult ei kuulu päris standardisse, aga enamik versioone toetab ka seda tüüpi. ·char - märk (1 suvaline täht, sümbol vms) Mõned programmis esinevad tegevused: Ekraanile väljastamine - write, writeln a) teksti väljastamine - write ('soovitav tekst'); b) muutuja väärtuse väljastamine - write (muutuja nimi); Mingi väärtuse sisestamine klaviatuurilt - read, readln read(muutuja nimi); ln-lõpp read'i või write'i järel - tööjärg uuele reale. Väärtuse omistamine teisele muutujale - := ·muutuja:=arv - arvväärtuse andmine muutujale ·muutuja1:=muutuja2- muutuja 2 väärtus kopeeritakse muutujasse 1
aadressiregistrisse (MAR), modifitseeritakse käsuloenduri väärtust (PC = PC + 1) ja loetakse käsukood mälust registrisse. Käsu täitmine tähendab, et juhtautomaat genereerib iga käsu täitmiseks terve rea juhtsignaale. Käsukoodi dekodeerimisele järgneb hargnemine, kus igas harus genereeritakse juhtsignaalid, mis on vajalikud konkreetse käsu täitmiseks. Protsessorise loetakse käsud ja andmed, mällu kirjutatakse resultaate. Käsu täitmise e. Von Neumanni tsükkel (fetch decode execute) 1. Käsukoodi laadimine 2. Käsuloenduri modifitseerimine (pc = pc + 1) 3. Käsukoodi dekodeerimine 4. Käivitatakse käsutäitmise mikroprogramm 5. Resultaadi salvestamine registrisse. Käsu täitmiseks peab protsessor: 1. Pöörduma mälu poole 2. Lugema sealt käsukoodi 3. Dekodeerima selle 4. Tegema vastavaid loogilisi otsuseid vastavalt käsukoodile 5. Väljastama juhtsignaali 6. Leidma uue käsu ning salvestama selle käsuregistrisse.
Arvutis säilitatakse programme (käskude jada) ja andmeid mälus kahendkujul (0-de ja 1-de jada). Põhiliselt on kasutusel von Neumanni tüüpi arvuti arhitektuur, kus nii käsud kui ka andmed asuvad samas mälus. Eksisteerib ka Harvardi arhitektuur kus on eraldi mälu käskudele ja andmetele. Kogu programmi täitmine eeldab pidevat andmevahetust protsessori ja mälu vahel. Protsessorisse loetakse käske ja andmeid ning mällu kirjutatakse resultaate (andmeid, mitte käske). Sisend ja väljund ei pruugi toimuda üldjuhul läbi protsessori vaid võib olla teostatud ka otse mälu ja sisend-väljund seadmete vahelise andmevahetusena. Mälust saab lugeda ja sinna kirjutada käske-andmeid sõnade kaupa. Eri protsessoritel on erinev sõna järgulisus. Aadress on kahend kood (number) mis näitab millise sõna poole toimub pöördumine. Mälus on taoline 0-de ja 1-de jada. Koodi enda järgi ei ole võimalik eristatda kus on andmed ja kus käsud.
juhendid sisaldavad endas harilikult näpunäiteid mõningate tegevuste, nagu näiteks andmete arhiveerimine, läbiviimiseks ja lihtsamate veasituatsioonide lahendamiseks. 3) Programmi tehniline dokumentatsioon. See sisaldab endas kogu projektdokumentatsiooni, testimiste protokolle ja võimaluse korral ka programmi lähtetekste. Need kõik on vajalikud, kui tahetakse olemasolevat programmi parandada või täiendada. 2. Programmi lähteteksti dokumenteerimine KOMMENTAAR on programmis selgituse või täpsustusena kasutatav tekstilõik, mis ei mõjuta programmi tööd. Kuigi ei ole kindlaid reegleid selle kohta, kuidas kasutada kommentaare, on siingi mõned printsiibid, mida võiks järgida: * kommenteerida tuleb nii palju kui vajalik ja nii vähe kui võimalik; * kommenteerides püüdke ennetada lugeja küsimusi; * kirjeldada tuleb põhilisi funktsioone ja tegevusi; * andke piisav seletus kasutatavatele muutujatele; * ärge kommenteerige niigi arusaadavaid lauseid.