SI u C 2 deo 2016 Nenad Jovii

  • Slides: 37
Download presentation
SI u. C 2. deo 2016 Nenad Jovičić nenad@etf. rs kancelarija 24

SI u. C 2. deo 2016 Nenad Jovičić nenad@etf. rs kancelarija 24

Download �Ova prezentacija je dostupna na adresi: tnt. etf. rs/~oe 4 irs/SIu. C_2016_2. pptx

Download �Ova prezentacija je dostupna na adresi: tnt. etf. rs/~oe 4 irs/SIu. C_2016_2. pptx �Projekti dostupni na adresi: tnt. etf. rs/~oe 4 irs/SI_2016_456. zip

Projekat 4 �Korišćenjem tastera S 1 za inkrement i S 2 za dekrement zadaje

Projekat 4 �Korišćenjem tastera S 1 za inkrement i S 2 za dekrement zadaje se broj u opsegu 099%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. �Za multipleksiranje displeja koristi se tajmer A.

Princip multipleksiranja

Princip multipleksiranja

Tajmer A • Tajmer A je 16 -bitni tajmer sa nekoliko capture/compare blokova, čiji

Tajmer A • Tajmer A je 16 -bitni tajmer sa nekoliko capture/compare blokova, čiji broj varira kod različitih predstavnika familije od dva do sedam

MSP 430 F 5438 A

MSP 430 F 5438 A

Brojač na gore �Po dostizanju vrednosti TACCR 0 setuje se CCIFG fleg a pri

Brojač na gore �Po dostizanju vrednosti TACCR 0 setuje se CCIFG fleg a pri resetovanju brojača na 0 x 0000 setuje se TAIFG fleg

COMPARE mod tajmera A �COMPARE mod se koristi za generisanje PWM-a i signala različitih

COMPARE mod tajmera A �COMPARE mod se koristi za generisanje PWM-a i signala različitih učestanosti. Svako izjednačavanje vrednosti brojača TAR sa vrednošću u TACCRx registru setuje odgovarajući TACCRx CCIFG fleg. Svaki CC blok može da radi u CAPTURE ili COMPARE modu. To je određeno bitom CAP u kontrolnom registru TACCTLx.

Prekidi tajmera A �Dva prekidna vektora su povezana sa tajmerom A: � TACCRO vektor

Prekidi tajmera A �Dva prekidna vektora su povezana sa tajmerom A: � TACCRO vektor za TACCR 0 CCIFG fleg � TAIV vektor za ostale CCIFG flegove i TAIFG �U CAPTURE modu CCIFG fleg se setuje kada se na spoljnji događaj registar TACCRx napuni vrednošću brojača TAR �U COMPARE modu CCIFG fleg se setuje kada vrednost brojača TAR dostigne vednost u TACCRx registru �TAIFG fleg se setuje kada vrednost brojača TAR dostigne 0 x 0000 �Unutar TAIV prekida se poliranjem određuje koji je događaj izazvao prekid

Tabela vektora prekida – MSP 430 F 5438 A

Tabela vektora prekida – MSP 430 F 5438 A

Tabela vektora prekida – MSP 430 F 5438 A

Tabela vektora prekida – MSP 430 F 5438 A

Tajmer A

Tajmer A

Tajmer A

Tajmer A

Tajmer A

Tajmer A

Tajmer A

Tajmer A

Zadatak 4 �Promeniti učestanost multipleksiranja tako da iznosi 100 Hz. �Hint: brojač se taktuje

Zadatak 4 �Promeniti učestanost multipleksiranja tako da iznosi 100 Hz. �Hint: brojač se taktuje sa 32, 768 k. Hz, pa odatle sledi moduo =. . . �Modifikovati projekat 4 tako da se multipleksiraju 3 displeja, i da se podešava trocifreni broj.

Projekat 5 �Podesiti tajmer A tako da radi u free running modu, a korišćenjem

Projekat 5 �Podesiti tajmer A tako da radi u free running modu, a korišćenjem dva CC modula i dva CC prekida obezbediti toglovanje dioda LD 1 i LD 2 na dve različite učestanosti.

Ostali modovi rada brojača TAR

Ostali modovi rada brojača TAR

Free running brojač �Ovaj način brojanja u COMPARE modu tajmera je pogodan za generisanje

Free running brojač �Ovaj način brojanja u COMPARE modu tajmera je pogodan za generisanje signala različitih učestanosti

Tabela vektora prekida – MSP 430 F 543 A

Tabela vektora prekida – MSP 430 F 543 A

Tabela vektora prekida – MSP 430 F 5438 A

Tabela vektora prekida – MSP 430 F 5438 A

Tajmer A - free runing

Tajmer A - free runing

Brzo dekodovanje prekida

Brzo dekodovanje prekida

Dekodovanje prekida

Dekodovanje prekida

UP/DOWN mod brojanja – zgodan za PWM

UP/DOWN mod brojanja – zgodan za PWM

Zadatak 5 �Modifikovati projekat 5 tako da se pored dioda LD 1 i LD

Zadatak 5 �Modifikovati projekat 5 tako da se pored dioda LD 1 i LD 2 dioda LD 3 togluje učestanošću od 2. 2 Hz. �Hint: Koristiti dodatnu CC 2 jedinicu. Na osnovu T 0 AIV registra odrediti izvor dodatnog prekida

Projekat 6 �Korišćenjem tastera S 1 i S 2 zadaje se broj u opsegu

Projekat 6 �Korišćenjem tastera S 1 i S 2 zadaje se broj u opsegu 0 -99%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. Istovremeno se podešenom vrednošću određuje i duty cycle PWM signala kojim se uključuje dioda LD 1. �Za generisanje PWM signala korisititi tajmer B.

Datasheet za MSP 430 F 5438 A Projekat 6 �Korišćenjem tastera S 1 i

Datasheet za MSP 430 F 5438 A Projekat 6 �Korišćenjem tastera S 1 i S 2 zadaje se broj u opsegu 0 -99%. Podešena vrednost se ispisuje na dvocifreni multipleksirani LED displej. Istovremeno se podešenom vrednošću određuje i duty cycle PWM signala kojim se uključuje dioda LD 1. �Za generisanje PWM signala korisititi tajmer B.

Tajmer B �Vrlo sličnih karakteristika kao i tajmer A. �Ima više CC jedinica i

Tajmer B �Vrlo sličnih karakteristika kao i tajmer A. �Ima više CC jedinica i mogućnost sinhronog upisivanja.

Izlazna jedinica �Svaki CC blok sadrži izlaznu jedinicu koja se koristi za generisanje signala

Izlazna jedinica �Svaki CC blok sadrži izlaznu jedinicu koja se koristi za generisanje signala kao što je PWM �Izlazna jedinica može da radi u osam različitih režima

Primer rada izlaznog bloka za brojač u modu brojanja na gore

Primer rada izlaznog bloka za brojač u modu brojanja na gore

Primer rada izlaznog bloka za brojač u UP/DOWN modu brojanja

Primer rada izlaznog bloka za brojač u UP/DOWN modu brojanja

Tajmer B Nije više port nego CC izlaz. . .

Tajmer B Nije više port nego CC izlaz. . .

Tajmer B Duty Cycle

Tajmer B Duty Cycle

Zadatak 6 �Modifikovati projekat 4 tako da se na diodi LD 2 generiše PWM

Zadatak 6 �Modifikovati projekat 4 tako da se na diodi LD 2 generiše PWM signal koji ima inverzan duty cycle od onog na diodi LD 1 (PWM 2=1 -PWM 1). �Hint: Koristiti neki drugi CC kanal.

Domaći zadatak �Spojiti i modifikovati projekte 4 i 6 tako da se na diodi

Domaći zadatak �Spojiti i modifikovati projekte 4 i 6 tako da se na diodi LD 1 dobije PWM signal modulisan sinusoidom. �Sinusoida je mapirana u 32 tačke, i nalazi se u opsegu od 0 -99, tj. f=50+50*sin(2*pi*t/Ts). �Sa tasterima S 3 i S 4 se podešava perioda sinusoide Ts u opsegu od 0 -99 “nečega”. �Hint: Tajmer A koristiti za sukcesivno uzimanje odbiraka iz tabele u kojoj je mapirana sinusoida. Broj 0 -99 koji se podešava tasterima neka određuje periodu prekida tajmera A. . .

�Najcesci problem koji se desi je da iskoci greska "Interface communication error". Tada treba

�Najcesci problem koji se desi je da iskoci greska "Interface communication error". Tada treba da iskljucis i plocu i programator iz racunara, u CCS-u da kliknes File->Restart, pa kada se CCS ponovo podigne, onda da ubodes prvo plocu, pa programator (bitan je redosled). Nakon toga ne bi trebale da se desavaju takve greske. Takodje, iz nekog razloga kompajler ne prikazuje kao gresku ukoliko nedostaje neka zagrada (on ne iskopmajlira kod i u log-u pise da je nasao gresku, ali ne zacrveni liniju). Tako da treba ponekad procesljati i log prilikom komajliranja.