Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
1
Arhutektura MSP430 familije uređaja
UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Katedra za elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 Arhutektura MSP430 familije uređaja Laboratorijska vežba – A/D konvertor Mentor: Student: prof. dr Mile K. Stojčev Gligorijević Jelena 11418
2
Uvod - Procesori kod embedded sistema - Mikrokontroleri RISC procesori
Embedded - Računarsko bazirani sistemi ugradjeni u okviru drugog sistema Procesore koji se koriste kod embedded sistema često nazivamo embedded procesori. Izbor pogodnog procesora koji se integriše u embedded sistem uglavnom zavisi od domena aplikacije tog sistema. Da bi se ostvario efikasan proizvod (dizajn), u zavisnosti od tipa aplikacije, neophodno je koristiti različite klase embedded procesora, čije se arhitekture medjusobno razlikuju. Klase procesora koji se koriste kod embedded sistema su: Mikrokontroleri RISC procesori 3. Digitalni Signal Procesori (DSP) 4. Multimedija procesori 5. Aplikaciono Specifični Procesori (ASIP) 6. Kombinovani tipovi
3
Osnovne karakteristika mikrokontrolera su:
usadjeni (built-in) ROM- najčešće kapaciteta 4 kB na samom čipu u kome se čuva upravljački program, usadjeni RAM- najčešće kapaciteta 128 B, koji se koristi za čuvanje privremeno promenljivih, CPU koji je, zbog efikasnijeg korišćenja ograničene programske memorije, u stanju da izvršava instrukcije koje manipulišu sa jediničnim bitovima, veliki broj mikrokontrolera ima usadjeno koprocesor Boole-ovog tipa. Ovaj koprocesor zajedno sa CPU-om ima mogućnost da pojednostavljeno implementira Boole-ove izraze koji se veoma često javljaju u upravljačkim aplikacijama, 5. mikrokontroleri imaju usadjene ulazno-izlazne portove koji se koriste za efikasno upravljanje, kao i jednostavnu i laku interakciju sa spoljnim uredjajima.
4
- Arhitekture mikrokontrolera -
Arhitekture mikrokontrolera se mogu podeliti na sledeća dva tipa: 1. Harvard tip - karakteriše se razdvojenim memorijama za program i podatke. Svaki tip memorije ima svoj sopstveni fizički adresni prostor i koristi sopstvenu internu adresnu magistralu. Prednost ove arhitekture je ta što se pristup programskoj memoriji i memoriji za podatke ostvaruje konkurentno. Ovakvim pristupom se skraćuje ukupno vreme izvršenja programa. Proizvodjači mikrokontrolera Microchip, Zilog, National Semiconductor i Cypress zasnivaju svoje proizvode na Harvard arhitekturi, mada postoje neke neznatne ali važne razlike u pristupima kako ove kompanije implementiraju arhitekturu. Arhitekture ovih mikrokontrolera su tipične za RISC pristup.
5
- Arhitekture mikrokontrolera -
2. Princeton tip (tzv. von Neumann) - programska memorija i memorija za podatke dele isti adresni prostor. To znači da se instrukcioni kôd može izvršavati kako iz programske tako i iz memorije za podatke. Poznati proizvodjači ovih tipova mikrokontrolera su Intel, Atmel, Motorola i dr. Ključna osobina ovih proizvoda je povećan broj instrukcija i adresnih načina rada koji u kombinaciji sa relokatibilnim softverskim magacinom (stack) omogućavaju efikasno korišćenje programskog jezika visokog nivoa C. Arhitekture ovih mikrokontrolera su tipične za CISC pristup.
6
Neke od osnovnih karakteristika:
MSP430 Familija Neke od osnovnih karakteristika: Koristi 64K bajta za adresiranje ROM-a, RAM-a, EERAM-a i periferija. Za naredne generacije kontrolera iz ove familije se planira 1M bajt. Nema ograničenje prekida i potprogramskih nivoa zbog procesiranja magacina. Samo tri formata istrukcija. Stroga ortogonalnost bez izuzetaka. Koristi 1 reč/instrukcija ukoliko je moguće. Sedam načina adresiranja izvorista. Četiri načina adresiranja odredista. Spoljašnji pinovi za prekide: postojeci Ulazno-Izlazni pinovi se mogu koristiti za prekide. Prekidi imaju dodeljene prioritete: istovremena pojava prekida se razrešava na principu prioriteta.
7
- Osnovne karakteristike -
Periferije imaju lokalnu memoriju: registri su u modulima - ne koriste RAM. USART se nalazi na čipu: odvojeni prekidi za slanje i primanje. Tajmer sa prekidima za brojanje događaja, generisanje vremena, PWM,... Watchdog ADC (10- bitni ili više ) sa 8 ulaza. EPROM verzija (One Time Programmable-memorija koja može samo jednom da se isprogramira) LCD drajver Stabilna frekvencija procesora obezbeđena korišćenjem PLL-a i kristala frekvencije 32,768 Hz Jednostavan razvoj programa zbog ortogonalne strukture: sve instrukcije podržavaju sve adresne režime Koncept modularnog projektovanja: moduli su striktno memorijski mapirani
8
Ključne karakteristike sistema –
Mikropotrošnja struje: CPUOff i OscOff režimi rada Kompletna funkcionalnost ispunjena na 2.5V Gradivni blokovi sistema: LCD, A/D konvertor, Ulazno-Izlazni portovi, UART, Watchdog, Tajmer, EEPROM itd. su integrisani na čipu Jednostavna upotreba sistema Efikasan instrukcijski set omogućava brzi razvoj softvera Program može da se pokrene iz RAM-a Programi učitani u RAM preko UART-a mogu da se izvršavaju u realnom vremenu Kombinovanje ROM/RAM je moguće u osnovnom adresnom opsegu od 64 k bajta
9
Ključne karakteristike sistema –
Mogucnost programiranja na (HLL) višim programskim jezicima 12 registara opšte namene Instrukcije koriste magacin Veliki prostor za ROM i RAM Ortogonalni skup instrukcija Tabelarno orjetisana obrada koristeći indeksne režime rada Brza konverzija podataka iz heksadecimalnog brojni sistem u decimalni brojni sistem pomoću specijalnih instrukcija DADD Koriste se samo instrukcije za obraćanje ROM-u, pristup RAM-u, manipulisanje podacima, Ulazno-Izlaznim portovima i drugim periferijama Mogućnosti CPU-a daleko prevazilaze zahteve inteligentnih senzorskih signalnih sistema. Sposobnost rada u realnom vremenu pruža mogućnost upotrebe i u ostalim sistemima male snage, uključujući upotrebu drugih periferija kao npr. DTM primopredajnik za žičani prenos
10
Mikroračunarski sistemi bazirani na MSP430 sastoje se od:
Opšti osvrt na arhitekturu familije MSP430 Mikroračunarski sistemi bazirani na MSP430 sastoje se od: Centralna Procesorska Jedinica (CPU) Programska memorija (ROM ili EPROM) Memorija podataka (RAM ili EEPROM) Upravljanje operacijama Periferni moduli Oscilator i množač frekvencije
11
Konfiguracija MSP430 sistema
12
- CPU - Centralna procesorska jedinica objedinjuje transparenti instrukcijski skup i ortogonalni dizajn. Sastoji se od šesnaestobitne ALU, 16 registara i instrukcione upravljačke logike. Skup registara R0 Programski brojač (PC-Program Counter) R1 Pokazivač magacina (SP-Stack Pointer) R2 Status registar (SR-Status Register) Generator konstanti (CG1-Constant Generator) R3 Generator konstanti (CG2-Constant Generator) R4 Radni register R4 (Working Register) R5 Radni register R5 (Working Register) : R13 Radni register R13 (Working Register) R14 Radni register R14 (Working Register) R15 Radni register R15 (Working Register)
13
16-bitni programski brojač
16-to bitni Programski brojač PC ukazuje na narednu instrukciju koja treba da se izvrši. Svaka instrukcija koristi paran broj bajtova (2, 4, 6 bajtova) 16-bitni programski brojač Programski brojać PC se dva puta inkrementira tokom pribavljanja svake instrukcije. Ovim postupkom PC ukazuje na sledeću instrukciju tokom izvršenja tekuće instrukcije, što omogućava dva načina adresiranja (neposredno i simboličko) koji koriste 1 reč informacija po instrukciji
14
Pokazivač magacina (SP)
Pokazivač magacina SP je postavljen na istu adresu sve dok se pristupa podacima iz magacina tokom obrade zahteva za prekid. CPU koristi SP za pamćenje povratne adrese poziva potprograma i prekida. SP koristi pre-dekrementni i post-inkrementni način rada. Pokazivač magacina (SP)
15
- Statusni Registar (SR) -
16-to bitni statusni registar (SR/R2), se koristi kao izvorišni ili odredišni registar kod registarskog načina adresiranja sa instrukcijom veličine reči. Bitovi Statusnog Registara SR : · V Marker prekoračenja · SCG Kontrolni bit 1 sistemskog taktnog generatora · SCG0 Kontrolni bit 0 sistemskog taktnog · OscOff Off bit kristal oscilatora · CPUOff Off bit CPU-a · GIE Osnovni marker dozvole prekida rada · N Marker negativnog rezultata · Z Marker nule · C Marker prenosa
16
- Generator Konstanti CG1 i CG2 Registri –
Najčešće korišćene konstante u programima generišu registri generatora konstanti R2 (CG1) i R3(CG2), bez zahteva za dodatnim šesnaestobitnim rečima programskog kôda. Prednosti generatora konstanti: Ne koriste se specijalne instrukcije Ne koriste se dodatne kôdne reči za sedam najčešće korišćenih konstanti Kraće vreme izvršenja instrukcija: direktan pristup bez korišćenja MDB
17
Adresni režimi rada MSP430 arhitektura ima sedam načina za adresiranje izvorisnih operanada i četiri za adresiranje odredišnih operanada koji adresiraju kompletni adresni prostor. U sledećoj tabeli prikazano je postavljanje bitova As i Ad i odgovarajući način adresiranja.
18
As/Ad Adresni režimi rada Sintaksa Opis
00/0 Registarski Način Adresiranja Rn Sadržaj registra su operandi 01/1 I ndeksni način adresiranja X(Rn) (Rn + X) ukazuje na operand. X se smešta na narednu programsku memorijsku lokaciju Simbolički način adresiranja ADDR (PC + X) ukazuje na operand. X se smešta na narednu programsku memorijsku lokaciju. Koristi se indeksni način adresiranja X(PC) 01/1, Apsolutni način adresiranja &ADDR Reč koja sledi iza op kôda instrukcije predstavlja apsolutna adresa 10/- Indirektni način adresiranja @Rn Rn se koristi kao pokazivač na operand 11/- Indirektni način adresiranja sa autoinkrementiranjem @Rn+ Rn se koristi kao pokazivač na operand. Nakon pristupa operandu sadržaj Rn se inkrementira Neposredni način adresiranja #N Reč koja sledi iza op kôda instrukcije sadrži neposrednu konstantu N. Nakon izvršenja instrukcije sadržaj PC-a se inkrementira.
19
Celokupni adresni prostor
Organizacija memorije Memorija kod MSP430 familije mikrokontrolera je konfigurisana na principu „von-Neumann“ arhitekture. Sastoji se iz programske memorije (ROM, EPROM, RAM) i memorije podataka (RAM, EEPROM, ROM) koje su na jednom adresnom prostoru i koriste jedinstvenu adresnu i magistralu podataka. Celokupni adresni prostor
20
Organizacija ROM memorije -
ROM ima maksimalnu veličinu 64 kB. Adresni prostor dele registri specijalne namene, registri perifernih modula, memorija podataka i programska memorija. Početna adresa pri bilo kojoj veličini ROM-a je uvek 0FFFEh. Tabela vektora prekida takođe startuje sa najvišim prioritetom na najvišoj ROM adresi obima reči. Programski brojač, a samim tim i tok instrukcija imaju smer od viših ka nižim adresama. Programski brojač se može uvećati za 2, 4 ili 6 u zavisnosti od toga koji se način adresiranja koristi.
21
- Organizacija RAM-a i periferija -
Adresiranje oba ova memorijska prostora se izvodi apsolutnim načinom adresiranja ili preko 16-to bitnih radnih registara koristeći indeksni, indirektni ili indirektni autoinkrementni način adresiranja
22
- Periferni Moduli – Registri Specijalne Namene SFR -
Konfiguracija sistema i delovanje pojedinih perifernih modula u radnim režimima procesora se uglavnom definišu u registrima specijalne namene. Registri specijalne namene se nalaze u nižem adresnom opsegu i realizovani su u bajt formatu. Ovim registrima se pristupa pomoću instrukcija pobima bajta. Čak i kada određeni bitovi regisata specijalne funkcije dele isti adresni prostor oni mogu biti fizički implementirani unutar odgovarajućeg modula. Adresni prostor registra specijalne namene SFR
23
Upravljanje operacijama
- Sistemski reset i inicijalizacija - Mikrokontroleri iz familije MSP430 imaju četiri moguća izvora reseta: Nakon uključenja sistema napajanja Postavljanjem na niski nivo signala na pinu Programiranjem time-out-a watchdog tajmera Detektovanjem greške pri unošenju sigurnosne šifre tokom inicijalizacije WDTCTL registra.
24
- Sistemski reset i inicijalizacija -
Nakon pojave reseta, program testira markere prema izvoru reseta. Program indetifikuje izvor reseta i preduzima odgovarajuću akciju. Uključenjem sistema napajanja aktivira se hardverska sekvenca za inicijalizaciju: Svi pinovi se postavljaju kao ulazni Svi markeri su resetovani Vektor adrese sa lokacije 0FFFEh se smešta u programski brojač (PC). CPU startuje sa adrese koja se nalazi u power-up clear (PUC) vektoru Statusni registar (SR) se resetuje Svi registri se inicijalizuju od strane programa (npr. pokazivač magacina, RAM, ...) osim programskog brojača i statusnog registra Digitalno kontrolisani oscilator startuje sa najnižom frekvencijom Nakon startovanja oscilatora, frekvencija se podešava do željene vrednosti
25
- Opšta struktura prekida -
Postoji tri tipa prekida: sistemski reset nemaskirani prekid maskirani prekid
26
- Opšta struktura prekida -
Izvori koji dovode do sistemskog reseta su: Uključenje sistema na napajanje Postavljanje ulaza na nizak nivo (ako se selektuje reset režim rada) Prekoračenje watchdog tajmera (ako se selektuje watchdog režim rada) Greška pri unošenju sigurnosne šifre watchdog tajmera (upisivanje u WDTCTL registar sa pogrešnom sigurnosnom šifrom)
27
- Opšta struktura prekida -
Nemaskirani prekid generiše: Usponska ivica napinu (ako se selektuje NMI režim rada) Prekid rada oscilatora Izvori koji dovode do maskiranih prekida su: Prekoračenje watchdog tajmera (ako se selektuje tajmer režim rada) Ostali moduli koji generišu zahtev za prekid
28
- Upravljanje prekidima -
Uvek kada imamo zahtev za prekidom i ako su postavljeni bit dozvole svih prekida i odgovarajući bit dozvole prekida tada se servisna rutina prekida izvršava na sledeći način: CPU aktivan: izvršenje tekuće instrukcije mora da se završi. CPU stopiran: prekidaju se režimi rada sa malom potrošnjom. 2. Programski brojač koji ukazuje na sledeću instrukciju je smešten u magacin. 3. Status registar je smešten u magacin. 4. Ako se setuje više prekida koji čekaju na izvršenje, opslužiće se prekid sa najvećim prioritetom 5. Marker odgovarajućeg zahteva za prekid se automatski resetuje. Istovremena pojava više markera opslužuje se softverski. Bit dozvole svih prekida (general interrupt enable bit) GIE se resetuje; CPUOff bit, OscOff bit i SCG1* bit se brišu; statusni bitovi V, N, Z i C se resetuju. Sadržaj odgovarajućeg vektora prekida se smešta u programski brojač. Programski brojač nastavlja sa opsluživanjem prekidne rutine sa te adrese.
29
Pokazivač magacina pre i posle prekida
Od prihvatanja zahteva za prekid pa do početka izvršenja prve instrukcije odgovarajuće servisne rutine prolazi šest taktnih ciklusa. Prekidna rutina se završava instrukcijom RETI
30
Familija mikrokontrolera MSP430 koristi nekoliko načina rada
Načini rada Familija mikrokontrolera MSP430 koristi nekoliko načina rada
31
Načini rada 1) Aktivni način rada AM
U ovom režimu rada moguće je koristiti različite kombinacije rada aktivnih perifernih modula 2) Način rada male_potrošnje_0 LPM0 CPUOff bit CPU-a je u stanju Off, rad perifernih uređaja se ne brani. Signali ACLK i MCLK su aktivni. Kolo za upravljanje oscilatora je aktivno. 3) Način rada male_potrošnje_1 LPM1 CPUOff bit CPU-a je u stanju Off, rad perifernih uređaja se ne brani. Signali ACLK i MCLK su aktivni.
32
Načini rada 4) Način rada male_potrošnje_2 LPM2
CPUOff bit CPU-a je u stanju Off, rad perifernih uređaja se ne brani. Kolo za upravljanje oscilatora nije aktivno. Signal ACLK je aktivan 5) Način rada male_potrošnje_3 LPM3 CPUOff bit CPU-a je u stanju Off, rad perifernih uređaja se ne brani. Kolo za upravljanje oscilatora i signal MCLK nisu aktivni. DC generator od DCO (-> MCLK generator) je isključen. Signal ACLK je aktivan 6) Način rada male_potrošnje_4 LPM4 CPUOff bit CPU-a je u stanju Off, rad perifernih uređaja se ne brani. Kolo za upravljanje oscilatora nije aktivno. DC generator od DCO (-> MCLK generator) je isključen. Signal ACLK nije aktivan. Kristal oscilator je stopiran
33
Osnovna podešavanja za aplikacije male potrošnje :
Osnovni principi rada koji su sa aspekta aplikacija tipa mikropotrošnje najvažniji: * Neiskorišćeni FETI ulazi se spajaju na napon napajanja * Analogi generator u LCD+ modulu se isključuje * Pinovi JTAG-a TMS, TCK i TDI se ne povezuju na napon napajanja. * Ulazi CMOS kola se postavljaju na definisano stanje * Bira se najniža moguća radna frekvenciju za jezgro i periferije * Omogućimo najslabiju pobudu na osetljaj ako se koristi LCD ili ga isključimo * Dozvoljavaju se prekidi nakon čega počinje izvršenje programa
34
Veza modula/periferija
Periferije Periferni moduli su povezani sa centralnom procesorskom jedinicom preko MAB-a, MDB-a i uslužne rutine za obradu prekida i linija za inicijaliziranje zahteva za prekid. Veza modula/periferija
35
Univerzalni sinhroni-asinhroni prijemnik/predajnik USART
Periferije Digitalni U/I portovi Univerzalni Tajmer/Port modul Tajmer_A LCD (Liquid Crystal Display) A/D konvertor Univerzalni sinhroni-asinhroni prijemnik/predajnik USART (Universal Synchronous Asynchronous Receive/Transmit)
36
Digitalni U/I portovi Uređaji MSP430 familije imaju do 10 U/I portova – P1 do P10 Svaki port ima osam U/I pinova Svi registri portovasu 8-mo bitni i pristupa im se pomoću instrukcija obima bajt
37
Digitalni U/I portovi Port P0 Port P1 Registar Skraćeno obeležavanje
Tip pristupa registru Adresa Početno stanje Ulazni registar P0IN Čitanje 010h ----- Izlazni registar P0OUT Čitanje/Upis 011h nepromenjen Registar za smer P0DIR Čitanje/ Upis 012h resetovan Marker prekida P0IFG 013h Dozvola prekida na ivicu P0IES 014h Dozvola prekida rada P0IE 015h Port P1 Registar Skraćeno obeležavanje Tip pristupa registru Adresa Početno stanje Ulazni registar P1IN Čitanje 020h ----- Izlazni registar P1OUT Čitanje/Upis 021h nepromenjen Registar za smer P1DIR Čitanje/ Upis 022h resetovan Marker prekida P1IFG 023h Dozvola prekida na ivicu P1IES 024h Dozvola prekida rada P1IE 025h Funkcijski registri P1SEL 026h
38
Digitalni U/I portovi Port P2 Port P3 Registar Skraćeno obeležavanje
Tip pristupa registru Adresa Početno stanje Ulazni registar P2IN Čitanje 028h ----- Izlazni registar P2OUT Čitanje/ Upis 029h nepromenjen Registar za smer P2DIR 02Ah resetovan Marker prekida P2IFG 02Bh Dozvola prekida na ivicu P2IES 02Ch Dozvola prekida rada P2IE 02Dh Funkcijski registri P2SEL 02Eh Port P3 Registar Skraćeno obeležavanje Tip pristupa registru Adresa Početno stanje Ulazni registar P3IN Čitanje 018h ----- Izlazni registar P3OUT Čitanje/ Upis 019h nepromenjen Registar za smer P3DIR 01Ah resetovan Port registri P3SEL 01Bh
39
Digitalni U/I portovi Port P4 Registar Skraćeno obeležavanje
Tip pristupa registru Adresa Početno stanje Ulazni registar P4IN Čitanje 01Ch ----- Izlazni registar P4OUT Čitanje/ Upis 01Dh nepromenjen Registar za smer P4DIR 01Eh resetovan Port registri P4SEL 01Fh
40
Osnovni gradivni blokovi 16-bitnog Tajmera_A su:
Tajmer koji kontinualnoa broji do unapred definisane vrednosti, broji do predefinisane vrednosti i nazad do nule pri čemu se rad tajmera može zaustaviti Izvor takta tajmera koji se bira softverski Selektovani izlaz takta se može podeliti sa 1, 2, 4 ili 8 Postoje 5 registara sa zahvatanjem/kompariranjem (capture/compare) pri čemu svaki registar može da zahvata jedno stanje, a dva signala za zahvatanje se kontrolišu od strane hardvera ili softvera Postoje 5 izlazna modula koji podržavaju impulsno-širinskou modulaciju
41
Upravljanje režimom rada
Tajmer_A Četiri režima rada tajmera su definisana na sledeći način: Upravljanje režimom rada Režim rada Opis MC1 MC0 Stop Rad tajmera je zaustavljen Brojanje naviše Tajmer broji naviše do vrednosti registra kompariranja 0 (Compare Register 0) Kontinualni Tajmer kontinualno broji naviše Brojanje naviše/naniže Tajmer broji naviše sve dok se njegova vrednost ne izjednači sa vrednosti registra kompariranja 0 (Compare Register 0), a zatim odbrojava nazad do 0.
42
LCD (Liquid Crystal Display)
LCD-ovi koriste ambijentalnu svetlost za prikaz informacija, a samim tim su mali potrošači energije. U MSP430 familiji mikrokontrolera koriste se četiri metode za upravljanje LCD-a: Statička (metod statičke pobude) 2MUX ili 1/2 popune 3MUX ili 1/3 popune 4MUX ili 1/4 popune.
43
LCD (Liquid Crystal Display)
-Kod statičke metode potreban je jedan pin za zajedničku elektrodu (COM0) i jedan pin za svaki segment: broj pinova = 1 + broj segmenata svaka segmentna linija pobuđuje jedan segment -Kod 2MUX metode potrebna su dva pina za zajedničku elektrodu (COM0, COM1) i jedan pin za dva segmenta broj pinova = celobrojna vrednost [2 + (broj segmenata /2)] svaka segmentna linija pobuđuje dva segmenta
44
LCD (Liquid Crystal Display)
-Kod 3MUX metode potrebna su tri pina za zajedničku elektrodu (COM0, COM1, COM2) i jedan pin za tri segmenta: broj pinova = celobrojna vrednost [3 + broj segmenata /3)] svaka segmentna linija pobuđuje tri segmenta -Kod 4MUX metode potrebna su četiri pina za zajedničku elektrodu (COM0, COM1, COM2, COM3) i jedan pin za četiri segmenta: broj pinova = celobrojna vrednost [4 + (broj segmenata /4)] svaka segmentna linija pobuđuje četiri segmenta
45
Neke od karakteristika A/D modula:
- A/D konvertor - Neke od karakteristika A/D modula: Osam analognih ili digitalnih ulaznih kanala Podešavanje strujnih parametara pomoću spoljašnjeg otpornika Rext Merenje odnosa i apsolutno merenje Ugrađen Sample-and-Hold Marker prekida koji označava kraj konverzije (End-Of-Conversion-EOC) ADAT registar zadržava rezultate konverzije do sledeće Start-Of konverzije (SOC)
46
Neke od karakteristika A/D modula:
- A/D konvertor - Neke od karakteristika A/D modula: Mala potrošnja energije Samostalna konverzija bez dodatnog korišćenja CPU-a Programabilna 12-to bitna ili 14-to bitna rezolucija Četiri programabilna opsega daju 14-to bitni dinamički opseg Brza konverzija Veliki opseg napona napajanja Monotona karakteristika u celom opsegu A/D konverzije
47
Konfiguracija ADC modula
- A/D konvertor - Konfiguracija ADC modula
48
- Univerzalni sinhroni-asinhroni prijemnik/predajnik USART -
(Universal Synchronous Asynchronous Receive/Transmit) Univerzalni sinhroni/asinhroni interfejs je serijski kanal koji služi za prenos serijskog niza od 7 ili 8 bitova između mikroprocesora i U/I perifernog uređaja. Karakteristike USART-a: Asinhroni režim rada uključujući i bit čekanja (idle bit) za komunikacijske protokole Dva pomeračka registra za upis podataka u URXD i isčitavanje iz UTXD Predaja/prijem podataka gde bit najmanje težine ima prioritet Brzina predaje i prijema je programabilna Statusni markeri
49
- Univerzalni sinhroni-asinhroni prijemnik/predajnik USART -
(Universal Synchronous Asynchronous Receive/Transmit) Blok dijagram USART-UART načina rada
50
- Univerzalni sinhroni-asinhroni prijemnik/predajnik USART -
(Universal Synchronous Asynchronous Receive/Transmit) Format asinhrone komunikacije Kod asinhrone komunikacije koriste se start bit, 7 ili 8 bitova podataka, bit parnosti, bit adrese za odgovarajući način adresiranja i jedan ili dva stop bita. Bit koji određuje periodu je definisan pomoću selektovanog taktnog izvora i podataka smeštenih u registru brzine prenosa
51
- Periferni interfejs USART, SPI režim rada -
Karakteristike USART serijske sinhrone komunikacije: Postavljanjem upravljačkog bita SYNC koji je sastavni deo upravljačkog registra UCTL se bira sinhrona komunikacija Moguće je koristiti 3 ili 4 pina pri SPI komunikaciji preko SOMI, SIMO, UCLK i STE signala Selekcija master ili slave uređaja Posebni pomerački registri za prijem (URXBUF) i predaju (UTXBUF) podataka Dvostruko skladištenje paketa pri prenosu Podešavanje polarizacije i faze takta Podešavanje taktne frekvencije master uređaja Obim znakova je 7 ili 8 bitova po znaku
52
Blok dijagram USART-SPI načinu prenosa
- Periferni interfejs USART, SPI režim rada - Blok dijagram USART-SPI načinu prenosa
53
Izvođenje sinhrone komunikacije
- Periferni interfejs USART, SPI režim rada - Izvođenje sinhrone komunikacije U sinhronom načinu komunikacije pored podataka potreban je i takt za serijski prenos podataka. Master uređaj inicira komunikaciju. Prenos podataka se obavlja u skladu sa taktom. Sva četiri pina u SPI načinu komunikacije se koriste da omoguće da i slave uređaj učestvuje u komunikaciji. Signali koji se koriste za prenos podataka: SIMO Slave dozvoljen, master nije dozvoljen SOMI Slave nije dozvoljen, master dozvoljen UCLK Takt USART-a, master proizvodi takt koji koristi slave za prenos podataka STE Dozvola slave uređaju da preda podatke. Koristi se za slave uređaja u sistemima koji sadrže više master i slave uređaja
54
Laboratorijska vežba - A/D konvertor -
- Konverzija analognog napona dovedenog na ulaz A/D konvertora mikrokontrolera MSP430-
55
Karakteristike ADC12 modula:
- Uvod – U mikrokontroleru MSP430FG4618 nalazi se ADC12 modul koji predstavlja 12-to bitni A/D konvertor Karakteristike ADC12 modula: Maksimalna brzina konverzije preko 200-ksps 12-to bitni konvertor sa monotonom karakteristikom bez preskakanja kodova Sample-and-hold sa programabilnim periodom semplovanja kontrolisan od strane softvera ili tajmera Softversko podešavanje referentnog napona (1,5 V ili 2,5 V) Osam eksternih ulaznih kanala koji se individualno konfigurišu
56
Karakteristike ADC12 modula
- Uvod – Karakteristike ADC12 modula Kanali konverzije za interni temperaturni senzor Avcc Nezavisna selekcija kanala i za pozitivni i za negativni referentni napon Podešavanje izvora takta konverzije Registri vektora prekida za brzo dekodiranje 18 mogućih izvora prekida ADC-a 16 registara za čuvanje rezultata konverzije
57
Blok dijagram ADC12 modula
58
- Uvod – A/D konvertor vrši konverziju analognog ulaza u odgovarajući 12-to bitni digitalni oblik i tako dobijeni rezultat konverzije se smešta u memoriju. Da bi se odredile gornja i donja granica konverzije koriste se programabilni naponski nivoi i Vrednost digitalnog izlaza ( ) ima vrednost pune skale (0FFFh) kada je ulazni signal jednak ili veći od , a kada je vrednost ulaznog signala jednaka ili manja od vrednost digitalnog izlaza je 0. Ulazni kanali i referentni naponski nivoi i su definisani u upravljačkoj memoriji konverzije.
59
- Uvod – Vrednost digitalnog izlaza pri A/D konverziji se može izračunati pomoću formule:
60
- Zadatak laboratorijske vežbe -
Zadatak vežbe je izvršiti konverziju analognog napona dovedenog na ulaz A/D konvertora mikrokontrolera MSP430 i izračunati grešku linearnosti Na pin P6.0 (A0) dovodimo napone od 0V do 5V u koracima od 0.5V. Za svaku vrednost napona pročitati vrednost registra ADC12MEM0 i upisati je u tabelu. Po završenom merenju računamo relativnu i apsolutnu grešku
61
- Potrebna oprema - Za izvođenje ove laboratorijske vežbe potrebno nam je: razvojna ploča MSP430FG4618/F2013 računar Flash Emulation Tool(MSP-FET430UIF) kojim ćemo razvojnu ploču povezati na računar i izvor analognog napona u opsegu od 0V do 5V
62
- Postupak rada - 2. Povežimo JTAG konektor MSP-FET430UIF-a na JTAG1
1. Povežimo USB konektor MSP-FET430UIF-a na računar. 2. Povežimo JTAG konektor MSP-FET430UIF-a na JTAG1 3. Priključimo izvor analognog napona u opsegu od 0V do 5V na pin P6.0 4. Kreirajmo novi projekat u programu IAR Embedded Workbench IDE-u.
63
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Da bismo kreirali novi projekat, napisali program, učitali ga i izvršili na MSP430 uređajima, potrebno je da ispratimo sledeću proceduru: 1. Pokrenimo IAR Embedded Workbench. Kliknimo na Start dugme na taskbar-u i izaberimo All Programs > IAR Systems > IAR Embedded Workbench for MSP430 V4 > IAR Embedded Workbench.
64
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Osnovni prozor IAR Embedded Workbench IDE-a
65
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
2. Kreirajmo novi tekstualni fajl (File > New > File). 3. Unesimo tekst programa iz Listinga 1 u novo kreirani fajl.
66
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Listing 1: #include "msp430xG46x.h" volatile unsigned int i; void main(void) { WDTCTL = WDTPW + WDTHOLD; // Zaustavljanje watchdog-a P6SEL |= 0x01; // Dozvola za upotrebu A/D kanala A0 ADC12CTL0 = REFON + REF2_5V + ADC12ON + SHT0_2; // Uključivanje 2.5V referentnog // postavljanje vremena semplovanja
67
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
ADC12CTL1 = SHP; // Sample/Hold pulsni režim rada ADC12MCTL0 = SREF_1; // Vr+=Vref+ for (i = 0x3600; i; i--); // Kašnjenje potrebno za uspostavljanje // referentnog napona ADC12CTL0 |= ENC; // Dozvoli konverziju while (1) { ADC12CTL0 |= ADC12SC; // Startuj konverziju while (!(ADC12IFG & 0x0001)); // Da li je gotova konverzija? ADC12MEM0; // Pristup memoriji u kojoj se nalazi rezultat __no_operation(); // Postaviti tačku prekida ovde }
68
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Napomena: Koristimo fajlove sa ekstenzijom .h da pojednostavimo upis kôda. KickStart sadrži fajlove koji definišu registre i imena bitova, za svaki uređaj i oni mogu mnogo da pojednostave razvoj programa. Ovi fajlovi se nalaze u <Installation Root>\Embedded Workbench x.x\430\inc. Uključimo odgovarajući .h fajl, za ciljni uređaj, u tekst fajl (#include "msp430xyyy.h"). Dodatno, postoje i io430xxxx.h fajlovi koji su optimizovani za C izvorne fajlove
69
4. Sačuvajmo tekstualni fajl programa (File > Save) kao main.c.
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u - 4. Sačuvajmo tekstualni fajl programa (File > Save) kao main.c.
70
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Kreirajmo novi radni prostor (File > New > Workspace) Kreirajmo novi projekat (Project > Create New Project). Pojaviće se Create New Project dijalog prozor.
71
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Proverimo da li je Tool chain postavljen na MSP430, izaberimo Empty project iz ponuđenih projektnih šablona (Project Templates) i kliknimo OK. U standardnom Save As dijalog prozoru, naznačimo direktorijum gde želimo da smestimo projektni fajl, ili kreirajmo novi projektni direktorijum. Ukucajmo naziv projekta, ADC u polje za upis imena fajla i kliknimo Save da bismo kreirali novi projekat. Projekat će se pojaviti u radnom prozoru. 7. Dodajmo prethodno kreirani tekstualni fajl programa projektu (Project > Add Files). Selektujmo željeni tekstualni fajl i kliknimo Open. Alternativno, kliknimo duplim klikom na fajl da ga dodamo projektu
72
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
8. Sačuvajmo radni prostor (File > Save Workspace). Naznačimo ime radnog prostora i kliknimo Save. 9. Podesimo opcije projekta (Project > Options). Za svaku potkategoriju (General Options, C/C++ Compiler, Assembler, Linker, Debugger) prihvatimo polazne opcije Factory Settings sa sledećim izuzecima: naznačimo ciljni uređaj (General Options > Target > Device) omogućimo asemblerski projekat ili C/asemblerski projekat (General Options > Target > Assembler-only project). omogućimo generisanje izvršnog izlaznog fajla (General Options > Output > Output file > Executable). za FET debagiranje, kliknimo Debugger > Setup > Driver > FET Debugger. naznačimo aktivni port koji se koristi za vezu sa FET-om (FET Debugger > Setup > Connection).
73
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
10. Debagirajmo aplikaciju korišćenjem C-SPY-a (Project > Debug). Ovim startujemo C-SPY i on preuzima kontrolu nad uređajem, briše memoriju, zatim je programira aplikacijom i resetuje uređaj. Osnovni prozor C-SPY Debugger-a
74
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
11. Na pin P6.0 (A0) dovodimo napone od 0V do 5V u koracima od po pola volta. Zatim kliknemo na Debug > Go kako bi startovali aplikaciju i pročitali vrednost registra ADC12MEM0, i tako za svaki napon koji dovodimo na ulaz AD konvertora. Da bismo otvorili Register prozor kliknimo View > Register
75
- Kreiranje novog projekta u IAR Embedded Workbench IDE-u -
Vrednosti koje pročitamo iz registra upisujemo u tabelu i po završenom merenju računamo relativnu i apsolutnu grešku. 12. Kliknimo Debug > Stop Debugging da stopiramo aplikaciju, izađemo iz C-SPY-a i vratimo se u Workbench. 13. Kliknimo File > Exit da izađemo iz Workbench-a.
76
- Upisivanje rezultata u tabelu i računanje relativne i apsolutne greške -
Uin [V] N U [V] Δ [V] δ [%] 0V 0.5V 1V 1.5V 2V 2.5V 3V 3.5V 4V 4.5V 5V
77
N - isčitana vrednost iz registra
- Upisivanje rezultata u tabelu i računanje relativne i apsolutne greške - - ulazni napon u opsegu od 0V do 5V N isčitana vrednost iz registra U vrednost napona koju računamo iz formule: gde je napon pune skale i iznosi 5V
78
- Upisivanje rezultata u tabelu i računanje relativne i apsolutne greške -
Δ- apsolutna greška koju računamo iz formule: δ- relativna greška koju računamo iz formule:
79
Biografija autora gligorijevic.jelena13@gmail.com e-mail adresa
Engleski jezik Strani jezik završena osnovna škola u Sokobanji završena srednja škola: Gimnazija istureno knjaževačko odeljenje u Sokobanji trenutno apsolvent Elektronskog fakulteta u Nišu, smer Elektronika Obrazovanje Sokobanja, Srbija Mesto rođenja Datum rođenja Jelena Gligorijević Ime i prezime
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.