Presentation is loading. Please wait.

Presentation is loading. Please wait.

Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 MSP430 Razvojna sredstva i Laboratorijska.

Similar presentations


Presentation on theme: "Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 MSP430 Razvojna sredstva i Laboratorijska."— Presentation transcript:

1 Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 MSP430 Razvojna sredstva i Laboratorijska vežba D/A konvertor Mentor: Student: Prof. Dr. Mile Stojčev Milena Jovanović broj indeksa 11710

2 Struktura razvojnih sredstava Razvoj i integracija različitih hardverskih i softverskih komponenata embedded sistema su prvenstveno mogući zahvaljujući pomoći u radu koju pružaju razvojna sredstva, a tiču se sledećih usluga: loadovanje softvera u hardver i ostvarivanje potpune kontrole (upravljanje) nad različitim komponentama sistema.

3 Struktura razvojnih sredstava Razvojno okruženje se obično sastoji od: a) embedded sistema - tj. sistema koji se razvija; ovaj sistem se često naziva target, b) host - izveden kao PC mašina ili radna stanica na kojoj se razvija program. Target i host se povezuju preko prenosnog medijuma, serijskom ili paralelnom vezom.

4 Kategorije razvojnih sredstava embedded sistema Razvojna sredstva embedded sistema mogu biti locirana u host-u, u target-u, ili mogu egzistirati kao nezavisne (stand- alone) jedinice. Ova sredstva se mogu svrstati u jednu od sledeće tri kategorije: utility tools translation tools debugging tools

5 Kategorije razvojnih sredstava embedded sistema Utility tools Utility tools su razvojna sredstva opšteg tipa koja su od pomoći kod razvoja hardvera i softvera kakvi su editori (koriste se za unošenje izvornog programa), VCS (Versio Control Software) namenjen za upravlljanje softverskim fajlovima, ROM burners omogućavaju da se softver upiše u ROM, i dr.

6 Kategorije razvojnih sredstava embedded sistema Translation tools Translation tools su razvojna sredstva koja vrše konverziju kôda, koga je projektant kreirao i namenio za target sistem, u oblik (formu) koji je target u stanju da izvrši. Tu spadaju preprocesori, interpreteri, kompajleri, asembleri, i linkeri.

7 Kategorije razvojnih sredstava embedded sistema Debugging tools Debugging tools su razvojna sredstva koja se koriste za sleđenje traga izvršenja programa kao i korekciju grešaka u radu sistema, tj. lociranje i fiksiranje grešaka u sistemu. Tipična ovakva sredstva su In-Circuit Emulator (ICE), ROM emulator, Debugger, Profiler, Instruction Set Simulator (ISS), Joint Test Action Group (JTAG) i dr.

8 Hardverska sredstva za debugging Joint Test Action Group (JTAG)‏ JTAG (IEEE 1149.1) protokol je evoluirao kao posledica rada koji se odnosi na testiranje štampanih ploča u industriji. Kod JTAG pristupa ideja je sledeća: Tester ploče povezuje sve čvorove na ploči na individualne bitove jednog dugačkog pomeračkog registra. Svaki bit odgovara jednom čvoru. Da bi JTAG bio operativan neophodno je da svako integrisano kolo bude projektovano na takav način da podrži JTAG protokol.

9 Softverska utility razvojna sredstva Izvorni kôd se obično piše korišćenjem razvojnih sredstava kakva su standardni ASCII tekst editor ili IDE (Integrated Development Environment) – integrisano razvojno okruženje. Ovaj tip razvojnog sredstva je lociran na host-ovoj platformi.

10 Softverska utility razvojna sredstva IDE

11 IDE predstavlja skup razvojnih sredstava, uključujući i ASCII tekst editor, integrisanih u jedinstveni aplikaciono-korisnički interfejs. IDE je specifično sredstvo za datu platformu, koje nudi proizvođač i u najvećem broju slučajeva sastavni je deo ponude proizvođača.

12 Softverska Translation razvojna sredstva S obzirom da je mašinski jezik jedini jezik koga hardver može direktno da izvršava, svim ostalim jezicima je potreban neki tip mehanizma pomoću koga bi oni bili u stanju da generišu odgovarajući mašinski kôd. Ovaj mehanizam obično predstavlja kombinaciju preprocesiranja, translation (prevođenje) i interpretacije.

13 Softverska Translation razvojna sredstva U zavisnosti od jezika, translation mehanizmi postoje (instalirani su i izvedeni) na host sistemu ili na ciljnom sistemu. Preprocesiranje je opcioni korak koji postoji pre translation. Najveći broj jezika konvertuje izvorni kôd, bilo direktno ili nakon preprocesiranja, pomoću kompajlera na pojedini ciljni jezik.

14 Softverska Translation razvojna sredstva Kod embedded sistema, kompajleri su obično locirani u host mašini, a generišu ciljni kôd za hardversku platformu koja se razlikuje od platforme na kojoj se kompajler izvršava. Nakon što se na host mašini kompilacija završi, generiše se objektni fajl.

15 Softverska Translation razvojna sredstva Objektni fajl se zatim linkuje (povezuje) sa bibliotečnim sistemskim fajlovima u jedinstveni fajl koji se standardno naziva executable (izvršivi binarni fajl). Executable se nakon toga loaduje u memoriju ciljnog embedded sistema uz pomoć loadera. Kod IDE-a, procesori, kompajleri i linkeri se nalaze u host razvojnom sistemu.

16 Softverska Translation razvojna sredstva Host-target sistemski dijagram

17 Softverska sredstva za debugging Debugger Debugger-i kod embedded sistema sastoje se od sledeće dve celine: a) deo debugger-a koji se nalazi u host-u; b) deo debugger-a koji se nalazi u target sistemu. Oba elementa debugger-a međusobno komuniciraju preko komunikacionog kanala, kakav je onaj koji se realizuje preko serijskog RS-232 ili Ethernet porta.

18 Softverska sredstva za debugging Debugger Deo debugger-a koji se nalazi u target-u naziva se target agent ili debug kernel, a deo koji je instaliran u host-u se naziva debugger front end ili GUI. Debug kernel (ili target agent) zahteva da target poseduje sledeća dva resursa: vektor prekida i softverski prekid.

19 Softverska sredstva za debugging Debugger Ključni zadaci koje obavlja debugger su sledeći: postavlja tačke prekida loaduje programe od host-a nadgleda ili modifikuje sadržaj memorije ili registra startuje izvršenje programa od određene adrese uslovljava da procesor radi u režimu rada korak-po-korak

20 Softverska sredstva za debugging Prekidna tačka (breakpoint)‏ Prekidna tačka (breakpoint) je debugging mehanizam (hardverski ili softverski), koji stopira CPU da izvrši kôd. Ako u programu kreiranom na asemblerskom jeziku, korisnik na određenoj instrukcijskoj lokaciji u RAM prostoru želi da postavi tačku prekida, zahtev za tačku prekida se aktivira na host baziranom delu debugger-a, pa se adresa te instrukcije u memoriji šalje debug kernel-u u target-u. Debug kernel kopira instrukciju sa te lokacije na sigurno mesto i zamenjuje je sa softverskom tačkom prekida, ili trap instrukcijom.

21 Softverska sredstva za debugging Prekidna tačka (breakpoint)‏ Kada izvršenje programa stigne do tačke prekida upravljanje se prenosi na debugger. Na ovaj način moguće je: a) izvršavati program korak-po-korak; b) izvršavati program do tačke prekida bez prekida; c) testirati softver kontunualno komutirajući izvršenje između debugger-a i programa koji se testira.

22 Softverska sredstva za debugging Prekidna tačka (breakpoint)‏ Debagiranje programa na C ili C++ se obično izvodi na sledeći način: Još u fazi prevođenja programa potrebno je dozvoliti debugging opciju putem postavljanja (setovanja) debug switch-a. Na ovaj način se preko debugger-a i debug kernel-a definiše na kojoj će se lokaciji tačka prekida postaviti u memoriji.

23 Softverska sredstva za debugging Prekidna tačka (breakpoint)‏ U slučajevima kada softverski breakpoint mehanizam nije moguć, moraju se koristiti hardverski mehanizmi. Veliki broj procesora ima ugrađeno specijalne breakpoint registre koji se mogu direktno programirati pod softverskom kontrolom, ili preko JTAG i BDM portova. Ovi registri obezbeđuju jednostavnu, ali veoma efikasnu mogućnost za debagiranje.

24 Texas Instruments hardverska razvojna sredstva Razvojna ploča MSP430FG4618/F2013 bazirana je na Texas Instruments-ovoj MSP430 familiji mikrokontrolera koja se karakteriše mikro potrošnjom Na ploči su ugrađena dva mikrokontrolera: MSP430FG4618 i MSP430F2013 može da se koristi za razvoj velikog broja aplikacija

25 Razvojna ploča MSP430FG4618/F2013 Blok dijagram razvojne ploče Razvojna ploča MSP430FG4618/F2013

26 PWR1 obezbeđuje napajanje mikrokontrolera MSP430FG4618 PWR2 obezbeđuje napajanje mikrokontrolera MSP430F2013 BATT - Baterije se koriste za napajanje JP1- Bazer priključen na pin P3.5 mikrokontrolera MSP430FG4618 JP2- LED3 priključena na P1.0 mikrokontrolera MSP430F2013 JP3 - LED4 priključena na P5.1 mikrokontrolera MSP430FG4618 JP4 – kada je kratkospojen slabljenje audio izlaza DAC12 je postavljeno približno na 69%, a kada nije na 98% H1 - Neophodan za međusobnu komunikaciju dva mikrokontolera na ploči Razvojna ploča MSP430FG4618/F2013 Položaj kratkspajača

27 Texas Instruments softverska razvojna sredstva 1. Code Composer Essentials (CCEssentials) je potpuno integrisano i lako za korišćenje, razvojno okruženje koje sadrži: MSP430 C kompajler, asembler i linker Source Code debugger Integrisani Visual Project Manager Virtualne i hardverske tačke prekida Integrisani editor CCEssentials je baziran na Eclipse open source platformi. Podržava razvoj softvera u C-u i u asemblerskom jeziku.

28 Texas Instruments softverska razvojna sredstva 2. IAR Embedded Workbench IDE je radno okruženje u kome su integrisani svi potrebni alati: C/C++ kompajler asembler IAR XLINKlinker IAR XARkreator biblioteke IAR XLIBLibrarian editor projekt menadžer sa dodatkom za komandu Make dodatak za komandnu liniju IAR C-SPY®debugger, debugger za više programske jezike

29 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 Za unošenje i debagiranje kôda u mikrokontrolerima MSP430FG4618 i MSP430F2013 koristimo Flash Emulation Tool(MSP-FET430UIF).

30 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 Programiranje mikrokontrolera serije MSP430 na razvojnoj ploči MSP430FG4618/F2013 se obavlja u par, prilično standardnih koraka: 1. Povežimo USB konektor MSP-FET430UIF-a na računar. 2. Povežimo JTAG konektor MSP-FET430UIF-a na JTAG1 (za MSP430FG4618), odnosno JTAG2 konektor (za MSP430F2013) koji se nalazi na razvojnoj ploči.

31 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 3. Kreirajmo novi projekat ili učitajmo postojeći projekat u IAR Embedded Workbench-u. 4. U padajućem meniju Project, IAR Embedded Workbench-a, izaberimo Options. U General Options, pod Target izaberimo MSP430FG4618 iz MSP430x4xx Family opcija, odnosno MSP430F2013 iz MSP430x2xx Family opcija.

32 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 Izbor uređaja u IAR-u

33 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 5. U Debugger opcijama, iz istog menija, izaberimo FET Debugger Selektovanje FET Debugger-a

34 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 6. U opcijama FET Debugger-a izaberimo Texas Instrument USB-IF. Izbor USB interfejsa

35 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 7. Za novo-kreirani projekat, Spy-Bi-Wire interfejs je polazna postavka za MSP430F2013. Ako je potrebno da tu postavku promenimo, u FET Debugger meniju čekirajmo Override default i zatim izaberimo Spy-Bi-Wire umesto 4-Wire JTAG. Paralelni FET ne podržava Spy-Bi-Wire interfejs i ne može da se koristi za debagiranje/programiranje MSP430F2013.

36 IAR Embedded Workbench IDE Programiranje mikrokontrolera MSP430FG4618/MSP430F2013 Izbor Spy-Bi-Wire interfejsa za mikrokontroler MSP430F2013

37 LABORATORIJSKA VEŽBA - D/A konvertor - Izračunavanje greške linearnosti D/A konvertora mikrokontrolera MSP430.

38 Uvod U mikrokontroleru MSP430FG4618 nalazi se DAC12 modul koji predstavlja 12-to bitni digitalno-analogni konvertor. DAC12 modul može biti podešen da radi u 8-mo bitnom ili 12-to bitnom režimu rada. Može se koristiti u sprezi sa DMA kontrolerom.

39 Karakteristike DAC12 modula 12-to bitna monotona izlazna funkcija 8-mo bitna ili 12-to bitna rezolucija izlaznog napona programabilno podešavanje vremena konverzije nasuprot potrošnji energije unutrašnja i spoljašnja selekcija referentnog napona podaci su u jediničnom ili u formatu dvoičnog komplementa opcija automatske korekcije ofseta

40 Prenosna karakteristika D/A konvertora u 12-to bitnom režimu rada za podatke u jediničnom komplementu

41 Prenosna karakteristika D/A konvertora u 12-to bitnom režimu rada za podatke u dvoičnom komplementu

42 Zadatak laboratorijske vežbe Zadatak laboratorijske vežbe je izračunavanje greške linearnosti D/A konvertora mikrokontrolera MSP430. Grešku linearnosti D/A konvertora izračunavamo na osnovu poznatih, očekivanih vrednosti na izlazu D/A konvertora i dobijenih, izmerenih vrednosti pomoću formule: gde je y i izmerena i-ta vrednost napona na izlazu D/A konvertora na pinu P6.6 za odgovarajuću digitalnu vrednost x i ulazu D/A konvertora, y max ća vrednost izlaza, a a i b su nagib i odsečak prave.

43 Zadatak laboratorijske vežbe U ovoj laboratorijskoj vežbi koristimo 12-to bitni D/A konvertor, pa je na prenosnoj karakteristici maksimalna vrednost na X-osi 4095. Maksimalni izlazni napon D/A konvertora je 2.5V, pa je na prenosnoj karakteristici maksimalna vrednost na Y-osi 2.5.

44 Zadatak laboratorijske vežbe Očekivane vrednosti na izlazu D/A konvertora očitavamo sa slike

45 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 programirati mikrokontroler MSP430FG4618 univerzalni merni uređaj kojim ćemo da izmerimo dobijene rezultate.

46 Postupak rada 1. Povežimo USB konektor MSP-FET430UIF-a na računar. 2. Povežimo JTAG konektor MSP-FET430UIF-a na JTAG1 3. Kreirajmo novi projekat u programu IAR Embedded Workbench IDE-u.

47 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.

48 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Osnovni prozor IAR Embedded Workbench IDE-a

49 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.

50 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 \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.

51 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Koristimo DAC12_0 modul i referentni napon ADC12REF od 2.5V, sa jediničnim pojačanjem. Normalni režim rada je LPM0 uz isključen CPU. WDT se koristi kako bi omogućio ~0.5ms prekid kojim se budi CPU i programski upisuje vrednost DAC. ACLK = 32kHz SMCLK = MCLK = WDTCLK = podrazumevane vrednosti

52 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Listing 1 #include "msp430xG46x.h" void main(void)‏ { WDTCTL = WDT_MDLY_0_064; // WDT ~0.064ms vremenskog intervala IE1 |= WDTIE // Dozvoli WDT prekid ADC12CTL0 = REF2_5V + REFON; // Unutrašnji ref. napon 2.5V TACCR0 = 13600; // Kašnjenje potrebno za smirivanje // referentnog napona TACCTL0 |= CCIE; // Prekid režima poređenja //(Compare)

53 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Listing 1 TACTL = TACLR + MC_1 + TASSEL_2; // režim na gore (up), SMCLK je //odabran __bis_SR_register(LPM0_bits + GIE); // Uđi u LPM0, dozvoli prekide TACCTL0 &= ~CCIE; // Zabrani prekide tajmera __disable_interrupt(); // Opšta zabrana prekida DAC12_0CTL = DAC12IR + DAC12AMP_5 + DAC12ENC; // Unutrašnje // pojačanje = 1 while (1) { __bis_SR_register(LPM0_bits + GIE); // Uđi u LPM0, dozvoli // prekide DAC12_0DAT++; // Pozitivna rampa DAC12_0DAT &= 0x0FFF; }

54 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Listing 1 #pragma vector = TIMERA0_VECTOR __interrupt void TA0_ISR(void) { TACTL = 0; // Resetuj vrednost u kontrolnom //registru Timer_A __bic_SR_register_on_exit(LPM0_bits); // Izađi iz LPM0, dozvoli prekide } #pragma vector = WDT_VECTOR __interrupt void WDT_ISR(void) { __bic_SR_register_on_exit(LPM0_bits); // TOS = resetuj LPM0 }

55 Kreiranje novog projekta u IAR Embedded Workbench IDE-u 4. Sačuvajmo tekstualni fajl programa (File > Save) kao main.c.

56 Kreiranje novog projekta u IAR Embedded Workbench IDE-u 5. Kreirajmo novi radni prostor (File > New > Workspace)‏ 6. Kreirajmo novi projekat (Project > Create New Project).

57 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 projekta, DAC u polje za upis imena fajla i kliknimo Save da bismo kreirali novi projekat. Projekat će se pojaviti u radnom prozoru.

58 Kreiranje novog projekta u IAR Embedded Workbench IDE-u 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. 8. Sačuvajmo radni prostor (File> Save Workspace). Naznačimo ime radnog prostora i kliknimo Save.

59 Kreiranje novog projekta u IAR Embedded Workbench IDE-u 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).

60 Kreiranje novog projekta u IAR Embedded Workbench IDE-u 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). 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.

61 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Osnovni prozor C-SPY Debugger-a

62 Kreiranje novog projekta u IAR Embedded Workbench IDE-u Upisujemo u registar DAC12_0DAT vrednosti u heksadecimalnom kodu od 0V do 2.5V (0x0000 do 0x0FFF) sa korakom od pola volta. Zatim kliknemo na Debug > Go kako bi startovali aplikaciju.

63 Računanje greške linearnosti D/A konvertora Pomoću univerzalnog mernog instrumenta izmerimo vrednost napona na izlazu iz D/A konvertora P6.6. Izmerene vrednosti upisujemo u tabelu i računamo grešku linearnosti D/A konvertora.

64 Izlazak iz programa IAR Embedded Workbench IDE Kliknimo Debug > Stop Debugging da stopiramo aplikaciju, izađemo iz C-SPY-a i vratimo se u Workbench. Kliknimo File > Exit da izađemo iz Workbench-a.

65 Biografija autora milenakruljevic@gmail.come-mail adresa Engleski i poznavanje osnova ruskogStrani jezik Operativni sistemi: Windows XP, Linux Ubuntu Poznavanje rada na računaru završena osnovna škola u Kosjeriću završena srednja škola: Gimnazija Sveti Sava u Požegi trenutno apsolvent Elektronskog fakulteta u Nišu, smer Elektronika Obrazovanje Požega, SrbijaMesto rođenja 31.08.1978.Datum rođenja Milena JovanovićIme i prezime


Download ppt "Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku PREDMET: Mikroprocesorski Sistemi Avgust 2008 MSP430 Razvojna sredstva i Laboratorijska."

Similar presentations


Ads by Google