1 / 45

NRS

NRS. NAMENSKI RAČUNARSKI SISTEMI PART 1. Autor : Nenad Jovičić. Osobine MSP430 familije. Familija mikrokontrolera optimizovana za aplikacije sa baterijskim napajanjem Veliki broj integrisanih periferija (tajmeri, komparatori, AD i DA konvertori, UART…)

trisha
Download Presentation

NRS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NRS NAMENSKI RAČUNARSKI SISTEMI PART 1 Autor: NenadJovičić

  2. Osobine MSP430 familije • Familija mikrokontrolera optimizovana za aplikacije sa baterijskim napajanjem • Veliki broj integrisanih periferija (tajmeri, komparatori, AD i DA konvertori, UART…) • 16-bitno procesorsko jezgro sa RISC arhitekturom • Podrška za JTAG

  3. MSP430 - arhitektura

  4. MSP430x Familija MSP430 se deli na nekoliko podfamilija: MSP430x4x, MSP430x3x... Mi radimo sa mikrokontrolerom MSP430F449. Dokumentacija o podfamiliji MSP430x4x se nalazi na adresi: http://tnt.etf.rs/~oe4irs/slau056e-msp430F4xx.pdf Dokumentacija o konkretnom mikrokontroleru MSP430F449 se nalazi na adresi: http://tnt.etf.rs/~oe4irs/msp430F449.pdf

  5. Memorija • Adresniprostor je jedinstvenza program, podatkeiperiferije, injemu se pristupaprekozajedničkihadresnihilinijapodataka (MAB i MDB) • Veličinacelokupnogadresnogprostora je 64Kb • von Neumann-ova arhitektura

  6. Adresniprostor familije MSP430

  7. MSP430F44x-Memorija Mi radimo na MSP430F449 !

  8. Organizacija RAM memorije

  9. CPU Osnovne karakteristike: • RISC arhitektura sa 27 instrukcija i sedam načina adresiranja • 16-bitna adresna i magistrala podataka • Registar fajl sa 16 16-bitnih registara direktno povezanih na ALU • Izvršavanje instrukcija koje se obraćaju registrima u jednom ciklusu • Sve instrukcije mogu da adresiraju kako reči tako i bajtove • Direktan transfer podataka iz jednog u drugi deo memorije bez upotrebe registara

  10. CPU PC – programski brojač SP – pokazivač steka SR – statusni registar Registri opšte namene

  11. PC (R0) - programski brojač • 16-bitni registar mapiran u registar fajlu • Može mu se pristupati direktno kao i svakom drugom od 15 registara • Najniži bit je uvek nula jer se instrukcije sastoje od 2, 4 ili 6 bajtova

  12. Primer pristupanja PC-u

  13. SP (R1) – pokazivač steka • Kao i svi registri u registar fajlu direktno je dostupan svim instrukcijama • Kao i programski brojač ukazuje samo na parne adrese (najniži bit je uvek nula) • Ukazuje na poslednju zauzetu lokaciju • Stek raste od viših prema nižim lokacijama

  14. Primer upotrebe SP-a

  15. SR (R2) – statusni registar • 16-bitni registar u kome su mapirani flegovi za aritmetičke operacije (Z,N,V,C), fleg za globalnu dozvolu maskirajućih prekida (GIE) i flegovi koji određuju low-power modove rada

  16. R4-R15 registri opšte namene • Ovim registrima se može pristupati na sve načine i mogu se koristiti u svim modovima adresiranja • Svaki registar može da sadrži podatak, adresu podatka u memoriji, ili index pri indirektnom adresiranju. • Svakom registru se može pristupati kao celoj reči ili bajtu

  17. Modovi adresiranja • Postoji sedam načina adresiranja za izvorni (sors) operand i četiri načina za odredišni (destination) operand

  18. MOV instrukcija Instrukcija koja pomera podatak iz jednog u drugi deo memorije. Na primeru MOV instrukcije lepo se ilustruju različiti načini adresiranja.

  19. Registarsko adresiranje Kod registarskog adresiranja operand se nalazi u nekom do 16 registara

  20. Indeksnoadresiranje • Kodindeksnogadresiranja operand se nalazi u memorijinaadresikoja se dobijakaozbirvrednostiizregistraiodgovarajućegindeksa

  21. Simboličko adresiranje • Simboličko adresiranje je adresiranje preko simboličkih oznaka za operande. • U osnovi je slično indeksnom adresiranju pri čemu se kao registar koji sadrži baznu adresu koristi programski brojač a indeksi se računaju za vreme asemblerskog prevođenja – to je adresiranje sa relativnim pomacima u odnosu na programski brojač

  22. Simboličko adresiranje

  23. Apsolutno adresiranje

  24. Indirektno registarsko adresiranje • Adresaizvornog (source) operanda se nalazi u nekomodregistara. • Slično je indeksnomadresiranjuza index 0

  25. Indirektno registarsko adresiranje sa autoinkrementiranjem

  26. Neposredno adresiranje

  27. Set instrukcija • Instrukcijski set obuhvata 27 osnovnih i 24 emulirane instrukcija • Instrukcije mogu imati jedan ili dva operanda a mogu biti i bez operanada

  28. Instrukcije sa dva operanda

  29. Instrukcije sa jednim operandom

  30. Instrukcije skokova

  31. MSP430x4x takt generator • Unutarmikrokontroleranaraspolaganjusu 3 taktnasignala: • MCLK – taktzaprocesor • SMCLK – taktzaperiferije (nijeprisutankod MSP430x3x) • ACLK – pomoćnitaktzaperiferije • LFXT1 oscilatorkojimožedaradisasporimibrzimkristalom, saintegrisanimpromenljivimkondezatorima • Interni RC oscilatorkoji u sklopusa DCO modulatoromčiniizvortaktačija se učestanost u tokuradamožemenjati u širokomopseguisavelikomrezolucijom • FLL (frequency locked loop) kojislužizastabilizacijuučestanosti DCO oscilatorapreciznomučestanošću LF oscilatora • Opcionidodatni XT2 high speed oscilator (MSP430x43x i MSP430x44x)

  32. Sistemski reset i inicijalizacija • POR – power-on reset signal se aktivira: • pridovođenjunapajanja • priaktivnomsignaluna NMI/RESET pinukad je u reset modu • prisignaluodinternogsupervizoranapajanja • PUC – power-up clear signal se aktivira: • pripojavi POR signala • poistekuvremena watchdog tajmera • prinedozvoljenompristupu watchdog tajmeru • prinedozvoljenompristupu flash memoriji

  33. Brown-out reset kolo

  34. Inicijalna stanja po reset-u (POR) • Svipinovisukonfigurisanikaoulazni • Programskibrojač (PC) je napunjenadresomsadržanom u reset vektorunaadresi 0xFFFE • Statusniregistar SR je resetovan • Watchdog tajmer je u watchdog modu • Sveperiferijesuinicijalizovanenakarakterističnevrednostiodređenezasvakuperiferijuposebno Neophodnainicijalizacijasoftvera Konfigurisati watchdog tajmer shodno korisničkoj aplikaciji Inicijalizovati pokazivač steka (SP) Inicijalizovati sve periferije koje se koriste Inicijalizovati portove kao ulazne i izlazne

  35. Prekidi • Pored sistemskog reseta postoje još dve vrste prekida • NMI prekid ( (non)maskable interrupt) • Maskirajući prekidi (maskable interrupts) • NMI prekid nastaje u sledećim slučajevima: • Aktivan nivo na NMI/RST pinu (pin konfigurisan za NMI prekid) • Signal greške oscilatora • Signal greške u pristupu flash memoriji (pristup u toku izvršavanja ranije iniciranog brisanja ili upisa)

  36. NMI prekid • NMI prekid je uslovno nemaskirajući jer se ne maskira GIE bitom u SR, ali se svaki od tri posebna izvora prekida može maskirati • Prekidni vektor za NMI je na adresi 0xFFFC • Unutar prekidne rutine se poliranjem odgovarajućih flag-bitova može utvrditi koji od tri događaja je izazvao prekid

  37. Maskirajući prekidi • Postoji do 14 različitih maskirajućih prekida koji se u zavisnosti od konkretne izvedbe mikrokontrolera dodeljuju različitim periferijama • Prekidi se prioritiraju pri čemi je NMI najvišeg prioriteta • Prioriteti maskirajućih prekida su određeni ulačavanjem

  38. Ulančavanje prekida

  39. Tabela vektora prekida – MSP430F449

  40. Prihvatanje zahteva za prekid • PC i SR se prebacujunastek • Zabranjuju se svimaskirajućiprekidi • U SR se pored aritmetičkihbrišuiflegovikojioznačavaju low-power modovetakoda se prekiduvekizvršava u high-power modu • PC se puninavrednostiz IVT

  41. Povratak iz prekidne rutine • Povratak se izvršavainstrukcijom RETI • Sa steka se restauriraju PC i SR takoda se izvršenjeprogramanastavljagde je prekinuto • Sistem se automatskivraća u power mod pre prihvatanjazahtevazaprekid, jer se flegovikoji to određujunalaze u SR

  42. Operacije na steku pri povratku iz prekida

  43. WDT – sat psa čuvara 

  44. WDT • Može da radi kao klasičan WDT ili kao tajmer koji generiše periodične prekide • U slučaju da se koristi u WDT modu zaziva PUC prekid • U slučaju da se koristi u “interval” modu izaziva poseban maskirajući prekid • WDT se kontroliše preko jednog 16-bitnog registra (WDTCTL) • WDTCTL registru se pristupa kao celoj reči u jednoj instrukciji. Svaki upis u WDTCTL registar mora imati viši bajt 0x5A, inače se u protivnom izaziva NMI prekid. Svako čitanje WDTCTL kao rezultat ima viši bajt 0x69.

  45. TO BE CONTINUED 

More Related