54
Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI RAD iz predmeta Sistemi za rad u realnom vremenu i Sistemi za akviziciju podataka NAZIV TEME: Opis razvojnog sistema Hitex Starter Kit, ARM mikrokontrolera LPC 2138 i primena metode ISP programiranja MENTOR: STUDENTI: Dipl.ing. Goran Nikolić Dalibor Antić PROFESOR: Br.indeksa:10166 Prof. Branislav Petrović Miljan Milanović Br.indeksa:10538 Jun, 2007.

SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

  • Upload
    lykhanh

  • View
    255

  • Download
    6

Embed Size (px)

Citation preview

Page 1: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku

SEMINARSKI RAD

iz predmeta Sistemi za rad u realnom vremenu i Sistemi za akviziciju podataka

NAZIV TEME: Opis razvojnog sistema Hitex Starter Kit, ARM mikrokontrolera LPC 2138 i primena metode ISP programiranja

MENTOR: STUDENTI: Dipl.ing. Goran Nikolić Dalibor Antić PROFESOR: Br.indeksa:10166 Prof. Branislav Petrović Miljan Milanović Br.indeksa:10538 Jun, 2007.

Page 2: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

2

1. Hitex Starter Kit

Uvodno izglanje je posvećeno firmi “Hitex development tools” iz koje i potiče razvojni

sistem Starter Kit. Pažnja će biti posvećena istorijskom razvoju firme i aplikacijama koje su razvijali i kojima se trenutno bave.

Firma Hitex development tools ima iza sebe 3 decenije dugu tradiciju postojanja i poslovanja. Prvih godina firma se bavila emulacijom sistema baziranom za 8-bitne i 16-bitne kontrolere. U današnje vreme firma se bavi razvojem softverskih alata i razvojnih sistema za 8-, 16- i 32-bitne kontrolere. Hitex divelopment tools posluje širom Sveta, preko Evrope, SAD i Azije.

Softverske aplikacije koje smo koristili u uvom projektu su proizvodi firme Hitex develompment tools. Kao dodatnu ponudu, firma Hitex development tools, nudi i program obuke u sklopu koga se korisnicima njihovih paketa, nudi edukacija u smeru korišćenja softverskih alata i samih razvojnih i aplikacionih sistema.

U cilju boljeg i uspešnijeg poslovanja, ljudi iz Hitex Starter Kit-a, su iskoristili nova tehnička dostignuća u cilju projektovanja široke palete proizvoda, kao što su podrška za magistrale i analizu protokola, kao i dodatni softverski alati. Predmet ovog izlaganja jeste bliže upoznavanje sa tehničkim specifikacijama i mogućnostima razvojnog sistema, počevši od razvojne ploče, preko ARM mikrokontrolera, interfejs ureñaja, softverskog alata za debagiranje, kao i ostalih pratećih softverskih alata. Pokušaćemo da na jednom praktičnom primeru pokažemo konkretnu primenu ovog razvojnog sistema. Zamisao je da se izvrši ekstrahovanje headera iz nekog wave fajla i da se metodom direktnog programiranja (ISP), kod spušta na ARM mikrokontroler. Uspešnost ove realizacije bi se ogledala u pokretanju wave fajla sa samog ARM mikrokontrolera i njegovog preslušavanja preko zvučnika, koji se nalazi na razvojnoj ploči. Do sada nismo imali iskustva u radu sa bilo kakvim razvojnim sistemima, ali se iskreno nadamo da će nam ovo iskustvo dobro doći u daljem nastavku školovanja, i da će nam, kako sam slogan ove firme kaže, korišćenje njihovog razvojnog sistema omogućiti uspešno „lansiranje“ našeg prvog ARM projekta.

Page 3: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

3

2. Hitex Starter Kit za ARM

Pre početka opisa strukture i funkcije pojedinih delova Hitex Starter Kit-a, biće pojašnjene

osnovne razlike nekih termina koji se pominju u ovom rada. Reč je o terminima: development kit i starter kit.

Naime, ova dva pojma se vezuju za jednu te istu stvar, i to s pravom sa jedne strane, a sa druge strane imaju i odreñene razlike koje će biti objašnjene u nastavku teksta.

Development kit-ovi su razvojni sistemi čija je uloga ispitivanje karakteristika gradivnih blokova sistema. To su u stvari, standardizovani sistemi, koji služe za ispitivanje realnih karakteristika odreñenih elektronskih komponenti, kao što su na primer mikrokontroleri.

Sa druge strane, starter kit-ovi su takoñe razvojni sistemi čija je uloga prvenstveno namenjena ispitivanju rada mikrokontrolera i izvršavanju odreñenih aplikacija na istom. Takoñe, starter kit-ovi podržavaju izvršavanje aplikacija i testiranje samo jednog tipa mikrokontrolera, za razliku od devolopment kit-ova koji su univerzalni razvojni sistemi po tom pitanju.

Starter Kit razvojni sistem, koji će biti prikazan u daljem nastavku teksta potiče iz firme Hitex, a baziran je na ARM-ovoj familiji mikrokontrolera serije LPC 2000 firme Philips, preciznije rečeno na mikrokontroleru LPC 2138. Naravno, da u svojoj paleti proizvoda ova firma raspolaže širokim izborom razvojnih sistema baziranih na odreñenim serijama mikrokontrolera. Ovakvi razvojni sistemi imaju visoku cenu, koja je u svakom slučaju srazmerna dobijenom kvalitetu i potencijalnim mogućnostima.

Na slici 1.je prikazana kutija u kojoj je smešten razvojni sistem o kojem će biti reči. Sastavni delovi ovog sistema su:

• Tantino for ARM, JTAG debugger (Hardverski ureñaj koji predstavlja vezu izmeñu

razvojne ploče i računara.) • Razvojna ploča MCB 2130 sa LPC 2138 mikrokontrolerom. • USB kabli (opciono adapter). • HiTOP5 za ARM mikrokontroler. • StartEasy za ARM mikrokontroler. • Tessy Unit Test Software. • GNU i Keil kompajler za ARM mikrokontroler. • Instalacioni disk.

Page 4: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

4

U konkretnoj aplikaciji programiranje mikrokontrolera nije izvršeno primenom JTAG interfejsa , već je primenjena direktna metoda programiranja. Hitex Starter Kit, u okviru softverskog alata koji nudi, ne podržava ISP programiranje, tako da je u tu svrhu iskrišćen softverski alat firme „Keil“. Potrebno je da se napomene da su sve pomenute verzije softvera probne verzije. Ovaj drugi način programiranja, primenom standardnog JTAG interfejsa, je ostavljen za neku narednu priliku.

Direktna posledica ovog načina programiranja je izuzimanje iz postupka programiranja većeg dela softverskog alata koji je naveden kao standardna oprema Hitex Starter Kit-a. Tu se pre svega misli na: HiTop, StartEasy, Tessy Unit Test Software i Gnu kompajler za ARM mikrokontroler. Iz tog razloga, ovi softverski alati neće biti opisani u daljem nastavku teksta.

Slika 1. Kutija sa Hitex Starter Kit-om za ARM mikrokontroler

2.1. JTAG debugger za ARM mikrokontroler

Ključni deo je svakako JTAG (Joint Test Action Group). To je unverzalni debugger razvijen

za 8- 16- i 32-bitne mikrokontrolere. Procesori tipa ARM7-9, locirani na ploči za razvoj i testiranje, standardno se povezuju preko 20-pinskog JTAG konektora. Komunikacija JTAG-a sa računarom se ostvaruje preko komunikacione veze USB 2.0. Download-ovanje programa se vrši brzinom od 100 kB/s. JTAG debugger i HiTop korisnički program komuniciraju preko posebnog interfejs programa nazvanog DAS server lociranog u JTAG Tantino interfejsu. Pomoću JTAG hardvera je, pored debug-ovanja programa, moguće obaviti i programiranje fleš memorije mikrokontrolera.

Na slici 2. je prikazan fizički izgled JTAG Tantino interfejsa. JTAG predstavlja jedan od standardnih debagera koji se koristi za povezivanje računara sa razvojnom pločom. JTAG je poznat kao standard IEEE 1149.1 , nazvan boundary scan. Ova metoda se koristi za testiranje integrisanih kola na štampanim pločama. Povezivanje se ostvaruje preko petožilne serijske magistrale. Kod mikroprocesora se koristi JTAG protokol koji nije namenjen za testiranje veza na štampanoj ploči, nego za slanje i prijem informacija od i ka embedded sistemu. JTAG debager veze omogućavaju spregu izmeñu mašine koja izvršava debager program preko konektora na embedded sistemu koji implementira željene JTAG signale. Slika 2: Način povezivanja alata za

debagiranje sa razvojnom pločom

Page 5: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

5

.2.2. Razvojna plo ča MCB 2130

Razvojna ploča sadrži procesor (CPU), memoriju i periferije, i mogucnost da se pune i debagiraju programi. Razvojna ploča je u suštini standard za softverske inženjere. Kada se počinje sa radom na novom projektu, u smislu uvoñenja novog procesora, mikroprocesora ili pak mikrokontrolera na globalno tržište, obavezno se projektuje i razvojni sistem za isti. Na taj način, inženjeri softvera i hardvera, mogu da ispitaju mogućnosti dobijenog integrisanog kola. Proizvoñači mikroprocesora isporučuju ove ploče koje se koriste za evaluaciju CPU-a. Dobit proizvoñača u ovom smislu se ogleda u realnom prikazu mogućnosti CPU-a.

Na slici 3. je prikazana razvojna ploča MCB 2130. Osnovu ove razvojne ploče čini ARM mikrokontroler LPC 2138 serije LPC 2000, razvijen od strane Philips-a. Postoji i razvojni sistem baziran na mikrokontroleru LPC 2139, koji je takoñe predstavljen na instalacionom disku. Kako se navodi u samoj specifikaciji, razvojna ploča MCB 2130 u potpunosti, posmatrajući njen hardverski i softverski sastav, oponaša sistem u kome bi bili implementirani mikrokontroleri serije LPC 2000.

Iskorak koji je napravljen u hardverskoj strukturi razvojne ploče, ogleda se u implementaciji drajvera za mrežni kontroler CAN (Controller Area Network) i serijski komunikacioni port RS 232.

Slika 3. Izgled razvojne ploče MCB 2130

2.2.1. Podešavanje plo če Što se tiče nekog primarnog konfigurisanja razvojne ploče MCB 2130, ono se sastoji u

obezbeñivanju napona napajanja preko USB porta (napajanje se dovodi sa računara) i pravilnom povezivanju sa spoljašnjim interfejsom Tantino, koje je objašnjeno u prethodnom poglavlju. Povezivanje JTAG interfejsa Tantino ne zahteva instalaciju nikakvog dodatnog softvera. Takoñe, je moguće podesiti takozvane tačke prekida u samom flaš ROM-u, što omogućava testiranje realizovanog koda.

Ono čime ćemo se baviti u nastavku priče o podešavanju razvojne ploče MCB 2130 jesu:

• Hardversko/softverski zahtevi. • Povezivanje MCB 2130 sa Tantino interfejsom. • Komponente razvojne ploče MCB 2130. • Konfigurisanje razvojne ploče MCB 2130. • Opis „džampera“.

Page 6: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

6

2.2.1.1. Hardversko/softverski zahtevi

Veći deo hardversko/softverskih zahteva je pomenut u prethodnom izlaganju. Izložićemo još neke dodatne elemente koji su potrebni za pravilno funkcionisanje sistema.

• Pomenuli smo da je potreban računar preko koga se povezuje interfejs sa razvojnom pločom.

Zahtevani operativni sistem na računaru je Windows 2000/XP. • Hitex-ov interfejs alat za komunikaciju sa razvojnom pločom. Takoñe je potreban i softverski

alat HiTOP dubugger pomuću koga se vrši „debagiranje“. U sklopu ovog softverskog paketa nalaze se i nekoliko primera, u vidu koda, koji mogu da se spuste u sam mikrokontroler.

2.2.1.2. Povezivanje MCB 2130 sa Tantino interfejsom

Na slici 4. je prikazano povezivanje alata za

debagiranje sa razvojnom pločom. Da bi se ostvarilo pravilno funkcionisanje ova dva sklopa potrebno je izvršiti povezivanje na sledeći način:

• Povezati JTAG interfejs sa računarom preko

USB kabla (1). • Povezati JTAG interfejs preko 20-pinskog JTAG

konektora lociranog na razvojnoj ploči (2). • Povezati razvojnu ploču sa računarom preko

USB kabla (na ovaj način se obezbeñuje napajanje ploče) (3).

• Osigurati da je J9 – JTAG uključen. Slika 4. Povezivanje JTAG Tantino interfejsa sa razvojnom pločom

2.2.1.3. Komponente razvojne plo če MCB

2130

Slika 5. prikazuje fizički izgled pločice MCB

2130 u štampanoj formi, i raspored osnovnih gradivnih blokova. Za komunikaciju se koriste: komunikacioni portovi COM1 i COM2 i JTAG konektor. Za indikaciju se koriste LED diode, za reset sistema taster RESET. Prihvatanje zahteva za prekid se ostvaruje preko tastera INT, a za napajanje se koristi USB konektor.

Ostali sastavni delovi razvojne pločice su: • Kristalni oscilator. • CPU LPC2138. • Pobudni drajverski stepen za LED diode. • Potenciometar kojim se kontroliše intenzitet

zvuka. Slika 5: Fizički izgled razvojne pločice

Page 7: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

7

2.2.1.4. Konfigurisanje razvojne plo če MCB 2130 Ono što je potrebno istaći jeste da je razvojna ploča MCB2130 veoma fleksibilna. To znači

da se jednostavnim podešavanjem džampera vrši promena operacije koja se izvršava na ploči. Neke od tih operacija su debagiranje pomoću odgovarajućeg interfejsa, postavljanje odgovarjućih ulaza i izlaza u aktivno stanje, i drugo. Ono što je veoma važno istaći je da se nakon podešavanja džampera obavezno vrši resetovanje razvojne ploče.

Razvojna ploča MCB 2130 je konfigurisana tako da koristi džampere od J1 do J13. U nastavku teksta urañen je tabelarni prikaz svih džampera na razvojnoj ploči, a takoñe je opisana i funkcija svakog od njih. 2.2.1.5. Opis „džampera”

U ovom poglavlja su navedeni džamperi koji se koriste na razvojnoj ploči MCB 2130 i biće

ukratko objašnjena njihova funkcija, kao i način korišćenja istih.

Tabela 1. Spisak svih džampera i kratak opis njihovih funkcija J1 - ISP ON omogućuje In-System Programming preko

COM0.

J2 - AV ON povezuje POT1 potenciometar sa AIN0 za analogni input

J3 - 3.3V ON povezuje 3.3V do CPU. J4 - VBAT ON povezuje VBAT do CPU. J5 - V3A ON Povezuje analogni referentni napon do CPU. J6 - LED ON omogućuje Port1.16 - Port1.23 LED's. J7 - INT1 ON omogućuje INT1 Push Button. J8 - ETM OFF onemogućuje Embedded Trace J9 - JTAG ON omogućuje JTAG interface J10 - RST ON omogućuje Reset preko COM0. J11 - VREF ON povezuje ADC VREF za 3.3V. J12 -- Ne postoji J13 - AOUT ON povezuje AOUT preko LF amplifier do zvučnika.

J1 - ISP: Enable for In-System Programming: Setovanjem džampera J1 otvara se mogućnost za generisanje signala na portu P0.14 (EINT1) preko RTS linije porta COM0. Kada je RTS linija aktivna tada je port P0.14 pobuñen niskim naponskim nivoom. Kada je port P0.14 pobuñen nisko omogućeno je aktiviranje ISP (In-System Programming) moda. J2 - AV: Analog Voltage for AIN0: Za povezivanje potenciometra POT1 na analogni ulaz AIN0. J3 - 3.3V: Supply Voltage for CPU: Za povezivanje napajanja od 3.3V na CPU. J4 - VBAT: Battery Supply Voltage for CPU: Za povezivanje napajanja od 3.3V na VBAT CPU-a J5 - V3A: Analog Reference Voltage for CPU: Za povezivanje napona napajanja od 3.3V na analogni referentni ulaz V3A.CPU-a

Page 8: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

8

J6 - LED: Enable LED Driver : Kada je džamper J6 setovan, tada su drajveri LED diode aktivni za P1.16-P1.23. J7 - INT1: Enable Push Button INT1: Kada je džamper J7 setovan, tada se taster za prekid INT1 povezuje sa I/O CPU-a na port P0.14 (EINT1 ulaz). Kada je taster za prekid pritisnut, generišu se signali niske frekvencije. J8 - ETM: Enable Embedded Trace Module: Kada je džamper J8 setovan, tada je Embedded Trace Module (ETM) aktivan. U ovom slučaju portovi od P1.16 do P1.23 su zauzeti. LED diode ne mogu biti korišćene sve dok ovi pinovi dele ETM signale. J9 - JTAG: Enable JTAG Interface: Kada je džamper J9 setovan, JTAG interfejs postaje aktivan. Samim tim je omogućeno debagiranje preko Tantino alata za ARM, kao i ISP flešovanje. J10 - RST: Enable Reset via COM0 Port: Kada je RST setovan, omogućeno je generisanje RESET signala CPU-a preko DTR signala COM0 porta. Kada je DTR aktivan, RESET je generisan. J11 - VREF: A/D Converter Reference Voltage: Za povezivanje napajanja od 3.3V na VREF CPU-a. J13 - AOUT: D/A Output for loudspeaker: Kada je džamper J13 setovan, tada je izlaz AOUT povezan na LF pojačavač. 2.2.2. Hardver MCB 2130

Razvojna ploča MCB 2130 je dizajnirana tako da bude veoma fleksibilna i lako primenljiva

za Philips-ovu seriju čipova LPC 2100. Zanimljivo je da sama ploča podržava odredjena hardverska proširenja koja joj omogućavaju serijsku upotrebu.

U daljem nastavku teksta biće objašnjena hardverska struktura razvojne ploče MCB 2130 koja nije pomenuta u prethodnom izlaganju. Navedeno je nekoliko hardverskih struktura, objašnjena je njihova funkcija i prikazane električne šeme i strukture na blokovskom nivou. Biće reči o sledećem:

• Šema razvojne ploče. • D/A konvertor. • Uloga LED dioda. • Push buttons. • Serijski portovi. • Tehnički podaci.

Page 9: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

9

2.2.2.1. Šema razvojne plo če MCB 2130 na blokovskom nivou

Na slici 6. je prikazan izgled razvojne ploče MCB 2130 na blokovskom nivou. Generalno gledano ova slika prikazuje mogućnosti razvojne ploče za povezivanjem sa spoljašnjim interfejsom i U/I ureñajima. Kratak opis blokovske strukture započinje se od ulaznih portova. Sa slike se vidi da se napajanje za ploču dovodi direktno sa računara, preko USB priključka. Jednosmerni napon od 5V, koliki je u USB priključku, se smanjuje preko generatora napona (Power Supply) na 3.3V, tj. na napon koji je potreban za napajanje mikrokontrolera. U napomeni stoji, da ne treba priključivati eksterne izvore napajanja na razvojnu ploču, dok je povezana na računar. Takoñe, možemo da primetimo da, postoji i analogni ulaz u mikrokontroler, gde možemo dovesti neki analogni signal, kao i ulaz za konfiguraciju mikrokontrolera.

Slika 6. Šema razvojne ploče MCB 2130 na blokovskom nivou 2.2.2.2. D/A konvertor Konfiguracija razvojne ploče je takva da obezbeñuje i preslušavanje sadražaja mikrokontrolera, ukoliko se u njemu nalazi neki audio fajl. To je obezbeñeno zvučnikom koji je povezan preko analognog izlaza DAC. Signal se sa izlaza DAC, koji je smešten u samom mikrokontroleru LPC2138 (AOUT), pojačava preko LF pojačavača, LM386 (IC4) i prosleñuje na zvučnik, koji obezbeñuje kontrolu intenziteta zvuka. 2.2.2.3. Uloga LED dioda

Kao i kod većine razvojnih sistema, pa tako i u ovom slučaju, LED diode imaju neku ulogu

indikatora. Jedna od dioda je zadužena za prikaz statusa napajanja. Ukoliko je napajanje povezano na razvojnu ploču, ona daje svetlosnu indikaciju postojanja napona u kolu.

Drugi set od 8 dioda je povezan na pinove porta 1, redom od P1.16 do P1.23, i služi za prikaz programskog statusa za vreme testiranja željene aplikacije.

Page 10: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

10

2.2.2.4. Push buttons

U poglavlju, „opis džampera“, je navedeno da se na razvojnoj ploči nalaze odreñeni tasteri. Jedan od tih tastera je taster za resetovanje razvojne ploče, koji je povezan na reset ulaz mikrokontrolera kako je gore opisano. Drugi taster je taster za prekid (INT) i povezan je na NMI (Non-Maskable Interrupt) ulaz mikrokontrolera. 2.2.2.5. Serijski portovi

U opisu hardverske strukture razvojne ploče MCB2130 je navedeno da ploča poseduje dva

serijska porta RS 232. Razvojna ploča podržava serijske UART-ove. Na raspolaganju su čipovi firme Maxim, MAX232 (IC10), koji imaju ulogu konvertora logičkih signala na naponski nivo koji je pogodan za serijski port RS232. ASCO UART može biti korišćen u bootstrap modu u postupku debagiranja ili flash programiranja. Strukturu serijskih portova (COM1 i COM2) čini 3-žični interfejs. DB9 konektor obezbeñuje pravilno odvijanje handshake procedure izmeñu računara i razvojne ploče. Na slici 7. je data struktura jednog DB9 konektora sa rasporedom i imenima pinova. U nastavku teksta je dat spisak svih pinova:

• CTS (Clear To Send) – slobodan za prenos. • RTS (Request To Send) – zahtev za prenos. • GND (Ground) – signal mase. • DSR i DCD (Data Set Ready; Data

Carrier Detected) – su povezani u petlju (skup podataka spreman; otkriven nosač podataka).

• DTR (Data Terminal Ready) - spreman za prijem podataka.

• RxD i TxD (Receive Data; Transmit Data) – povezani na MAX 232 čip (služe za prijem i prenos podataka).

Slika 7. Izgled serijskog porta 2.2.2.6. Tehni čki podaci U tabeli 2. su navedeni neki parametri razvojne ploče, kao i opisi tih parametara.

PARAMETAR OPIS PARAMETRA

Napon napajanja 5 V (preko USB magistrale) Struja napajanja tipično 65 mA, maksimalno 120 mA Frekvencija kristala 12 MHz (max 60 MHz) CPU Philips LPC2138 Periferije

2 x RS232 interfejs (COM0 i COM1) 1 x JTAG interfejs 1 x analogni izlaz (povezan na zvučnik standardno) 1 x analogni ulaz (povezan na potenciometar standardno) 1 x ETM interfejs (opciono)

Page 11: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

11

3. Istorijski razvoj i primena ARM procesora

U nastavku teksta ćemo se upoznati sa nekim opštim osobinama ARM strukture

mikrokontrolera LPC 2138 . 3.1. Uvod u familiju ARM procesora

ARM procesor pripada RISC familiji procesora. Razvijan je na Kembridžu u Acorn kompaniji,

u periodu od 1983. do 1985. Bio je to prvi RISC mikroprocesor koji je razvijen za komercijalnu namenu. Opremljen je alatom koji sadrži emulator za izvoñenje skupa instrukcija za hardversko modeliranje i softversko testiranje, asembler, C i C++ kompajlere, linker i simbolički debuger. U vreme kada se pojavio ARM čip, jedino raspoložive RISC arhitekture su bile RISC I, razvijen na Berkeley-u, i MIPS na Stanford-u. ARM arhitektura je prihvatila brojne osobine RISC I dizajna, ali je i brojne odbacila. One koje su se i dalje koristile bile su:

• Load-store arhitektura. • 32-bitni fiksni format instrukcija. • Tro-adresni format instrukcija.

Osobine koje je ARM odbacio, a bile su korišćene na RISC I arhitekturi su:

• Rad sa registarskim prozorima. • Odloženo grananje. • Izvršenje svih instrukcija u jednom ciklusu.

Organizacija jezgra ARM procesora ARM6 i ARM7 se jako malo promenila u odnosu na prve

3-mikronske procesore u tehnologiji razvijene u Acorn-u izmeñu 1983. i 1985. Tro-stepeni protočni sistem (pipeline) koji su ovi procesori koristili je postepeno usavršavan, a tehnologija CMOS procesa je znatno smanjila veličinu čipova, pa su se performanse ovih jezgara drastično povećale. Osnovni principi operacija su ostali uglavnom isti. Od 1995. se pojavilo još nekoliko novih ARM jezgara koja su imala daleko bolje performanse zbog uvoñenja peto-stepene protočne obrade kao i zasebnih memorija za instrukcije i podatke obično u formi razdvojenih keš memorija meñusobno povezanih preko jedinstvene memorije za instrukcije i podatke.

ARM se koristi u industrijskoj kontroli, medicinskim sistemima, kontroli pristupa, komunikacionim skretnicama, ugradjenim modemima i u primenama opšte namene.

Postoji veći broj ARM jezgara koji se meñusobno razlikuju po broju protočnih stepeni, mogućnosti procesiranja, skupu instrukcija, itd.

Page 12: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

12

3.1.1. ARM7

Organizacija procesora ARM7TDMI je prikazana na slici 8. Jezgro procesora čini ARM integer jezgro koje koristi tri protočna stepena, sa sledećim proširenjima:

• Primenjuje i izvršava ARM

arhitekturu verzije 4T sa podrškom koja podržava 64-bitne rezultate množenja, operacija load i store tipa polureč i 1B, kao i skup instrukcija thumb.

• Sadrži EmbeddedICE modul koji podržava otklanjanje grešaka u programu kod embedded sistema.

Kod otklanjanja grešaka u

hardveru pristup procesoru se ostvaruje preko JTAG porta za pristup, pri čemu je JTAG logika sastavni deo procesora.

Slika 8. Organizacija procesora ARMI7TDMI 3.1.2. ARM8

ARM8 jezgro je nastalo u kompaniji ARM Limited u periodu izmeñu 1993. i 1996. kako bi ispunilo zahteve za ARM jezgrom koje će imati bolje performanse od onih koje je pokazivalo dotadašnje ARM7 jezgro. Danas su ga nasledila ARM9 i ARM10 jezgra, ali je njegov dizajn izazvao veliko interesovanje.

Performanse procesora su poboljšane na sledeće načine:

• Povećavanjem taktne frekvencije. Ovo zahteva pojednostavljenje logike u svakom protočnom stepenu što povlači povećanje broj protočnih stepena.

• Smanjenjem CPI taktnih ciklusa po instrukciji. Ovo zahteva smanjenje broja komunikacionih kanala koje zauzimaju instrukcije, ili smanjenje zavisnosti meñu instrukcijama tako da one ne izazivaju zastoje u komunikacionim kanalima.

Najbolja je kombinacija oba metoda. Slika 9. Organizacija procesora ARM8

Page 13: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

13

3.1.3. ARM9 ARM9TDMI jezgro poseduje funkcionalnost ARM7TDMI jezgra, ali sa značajno poboljšanim

performansama. Poput ARM7TDMI jezgra (nasuprot ARM8 jezgru) ovo novo jezgro podržava thumb skup instrukcija i EmbeddedICE modul za podršku debagovanja na samom čipu. Poboljšanja u performansama su ostvarena nakon prihvatanja petostepenog protočnog sistema čime se obezbedilo povećanje pobudne taktne frekvencije, kao i korišćenje posebnih memorijskih portova za pristup instrukcijama i podacima čime se značajno poboljšao CPI.

ARM9TDMI jezgro ima odvojene portove za instrukcije i podatke. U osnovi je moguće povezati ove portove na jedinstvenu memoriju, ali je posledica toga smanjenje performansi tako da se povezivanje ne izvodi. ARM9TDMI se pravi za veće radne frekvencije u poreñenju sa ARM7TDMI jezgrom, tako da sve aplikacije koje koriste ARM9TDMI jezgro imaju složenije i brže memorijske podsisteme. Maksimalna brzina takta koju ARM jezgro može podržati je odreñena najsporijom logičkom putanjom u bilo kom komunikacionom kanalu.

3.2. LPC 2138 mikrokontroler Osnovu razvojnog sistema Hitex Starter Kit-a čini mikrokontroler LPC2138. Mogućnosti,

kao i njegava struktura, biće prikazani u nastavku teksta. 3.2.1. Generalni opis

LPC2138 mikrokontroler je baziran na 32-bitnom ARM7TDMI-S CPU sa emulacijom u realnom vremenu i embedded trace podrškom, u kombinaciji sa 512kB brze embedded flash memorije. 128-bitni memorijski interfejs i jedinstvena arhitektura akceleratora, omogućava 32-bitni izvršni kod pri maksimalnoj brzini. Za primenu koda kritične veličine, alternativni 16-bitni thumb mod smanjuje veličinu koda za više od 30%, sa minimalnim smanjenjem performansi.

Zbog veličine i male potrošnje ovaj mikrokontroler je idealan za aplikacije gde je minijaturizacija ključni zahtev. Sa širokim opsegom serijskih komunikacionih interfejsa i on-chip SRAM-om od 8/16/32kB, veoma je dobro opremljen za komunikaciju, konverziju protokola, prepoznavanje glasova. Raznovrsni 32-bitni tajmeri, jednostruki ili dvostruki 10-bitni osmokanalni ADC, 10-bitni DAC, PWM kanali i 47 GPIO linija sa 9 pina za spoljašnji prekid, osetljivih na ivicu ili nivo, čine ovaj mikrokontroler pogodnim za industrijsku i primenu u medicinskim sistemima.

3.2.2. Osobine

• 16/32-bitni ARM7TDMI-S mikrokontroler u tankom LQFP64 pakovanju. • 8/16/32kB on-chip SRAM i 512kB on-chip flash memorije, 128-bitni interfejs/akcelerator

omogućava brzi rad (60MHz). • ISP/IAP (In System Programming/In Application Programming) pomoću on-chip boot-loader

softvera. Brisanje jednostrukog flash sektora ili brisanje celokupnog čipa obavlja se za 400ms, a programiranje 256B se obavlja za 1ms.

• EmbeddedICE RT i Embedded Trace interfejs nudi debagiranje u realnom vremenu sa on-chip RealMonitor softverom i brzim praćenjem izvršavanja instrukcija.

• Dva osmokanalna 10-bitna A/D konvertora omogućuju 16 analogna ulaza, sa vremenom konverzije od 2,44µs po kanaluž, jedan 10-bitni D/A konvertor omogućuje promenljiv analogni izlaz.

• Dva 32-bitna tajmera/spoljašni brojač dogañaja, PWM i watchdog.

Page 14: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

14

• Sat realnog vremena male snage sa nezavisnim napajanjem i ulaz namenjen za clock (32KHz).

• Višestruki serijski interfejs, uključujući i dva UART-a (16C550), dva brza I²C-bus (400Kbit/s), SPI i SSP sa baferovanjem i sposobnošću promenljive dužine podataka.

• Vektorski kontroler prekida sa mogućnošću konfiguracije prioriteta i vektorskom adresom. • 47 I/O pina opšte namene u tankom LQFP64 pakovanju. • 9 pina za spoljašnji prekid, osetljivih na ivicu ili nivo. • Maksimalno 60MHz CPU clock dostupnog sa programabilnog on-chip PLL-a, sa vremenom

smirivanja 100µs. • Integrisani oscilator radi sa spoljašnjim kristalom u opsegu od 1MHz do 30MHz i sa

spoljašnjim oscilatorom do 50MHz. • Ušteda napajanja uključuje mod praznog hoda i gašenje napajanja (Power-Down mod). • Procesor se budi iz Power-Down moda preko spoljašnjeg interapta ili BOD. • Radni napon CPU-a je od 3.0V do 3.6V (3.3V±10%), sa dopustivih 5V U/I.

3.2.3. Blok dijagram

Na sledećem dijagramu je prikazana sturktura ARM-ove familije mikrokontrolera serije LPC 21xx na blokovskom nivou.

Slika 10. Blog dijagram ARM mikrokontrolera

Page 15: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

15

3.2.4. Informacije o pinovima

Priču o pinovima mikrokontrolera LPC 2138 započinjemo prikazom njihovog rasporeda na mikrokontroleru, posmatrajuči čip odozgo. Sa slike se može primetiti da isti raspored pinova važi za LPC2134/2136/2138.

Slika 11. Fizički prikaz pinova na LPC 2134/2136/2138

Page 16: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

16

3.2.4.1. Opis pinova

U tabeli 3. dat je prikaz svih pinova u kolu. U aplikaciji nismo koristili sve pinove mikrokontrolera, pa iz tog razloga nismo ni dali opis svih pinova. Oni pinovi koji su bili aktivni u pomenutoj aplikaciji, biće detaljnije objašnjeni u nastavku teksta.

Tabela 3. Tabelarni prikaz pinova

Page 17: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

17

Page 18: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

18

Page 19: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

19

Page 20: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

20

3.2.5. Funkcionalni opis Tabela 4. Memorijska mapa

LPC2138 poseduje ugrañenih 512kB flash memorije. Ova memorija se može koristiti za kod programa ili skladištenje podataka. Programiranje memorije može se obavljati preko serijskog porta. Program može takoñe, da briše i/ili programira flash memoriju dok je u izvršavanju. Kada se koristi on-chip bootloader, 500kB memorije je dostupno korisniku. LPC2138 flash memorija omogućuje 100 000 brisanja/upisa i 20 godina čuvanja podataka.

On-chip statički RAM može se koristiti, takoñe, za kod programa i podatke. LPC2138 poseduje 32kB SRAM-a. Pristupa mu se na nivou 8-bita, 16-bita ili 32-bita.

U tabeli 4. je prikazana memorijska mapa, tj. ureñenje memorije u okviru samog mikrokontrolera. 3.2.6. Kontroler prekida

VIC (Vectored Interrupt Controller) prihvata sve zahteve za prekid i svrstava ih kao FIQ, vektorisan IRQ i nevektorisan IRQ, u zavisnosti od programabilnih podešavanja. Programabilna šema dodele pokazuje da se prioriteti prekida, sa različitih periferija, mogu dinamički dodeljivati i usklañivati.

FIQ (Fast Interrupt reQuest) je najvećeg prioriteta. Ako je više od jednog prekida definisano kao FIQ, VIC kombinuje zahteve da bi generisao FIQ signal ka ARM procesoru. Najbrže kašnjenje FIQ-a je postignuto kada je samo jedan prekid definisan kao FIQ, jer odgovarajuća servisna rutina odmah započinje izvršavanje. Ukoliko je više od jednog zahteva za prekid definisano kao FIQ, servisna rutina može pročitati reč iz VIC-a, koja definiše koji FIQ izvor šalje zahtev za prekid.

Vektorisan IRQ je srednjeg prioriteta i na ovaj način mogu biti definisana 16 zahteva za prekid. Svaki od zahteva može biti dodeljen bilo kom od 16 vektorisanih IRQ slota, kod kojih 0 ima najveći prioritet, a 15 najmanji. Nevektorisan IRQ je najnižeg prioriteta.

VIC kombinuje zahteve sa svih vektorisanih i nevektorisanih IRQ-a da bi se generisao signal za prekid ka ARM procesoru. IRQ servisna rutina može započeti čitanje registra sa VIC-a. Ako je neki od vektorisanih IRQ-a zahtevan, VIC obezbeñuje adresu IRQ servisne rutine najvišeg prioriteta, u protivnom generiše se adresa podrazumevane rutine koja je zajednička za sve nevektorisane IRQ. Podrazumevana rutina može pristupiti drugom VIC registru za informaciju o aktivnom prekidu.

Page 21: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

21

3.2.7. Izvori prekida

Svaka periferija ima jednu liniju prekida povezanu sa VIC-om, ali može imati nekoliko unutrašnjih oznaka (flag) prekida. Individualne oznake prekida mogu da predstavljaju više od jednog izvora prekida.

Tabela 5. Tabela prekida

Page 22: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

22

3.2.8. Povezivanje pinova

Blok za povezivanje pinova omogućuje višefunkcionalnost selektovanih pinova. Konfiguracioni registar kontroliše multiplekser i omogućuje povezivanje pinova i periferija na čipu. Periferije bi trebalo povezati za odgovarajuće pinove pre aktiviranja i pre omogućavanja odgovarajućih prekida. Aktivnost omogućenih perifernih funkcija koje nisu povezane sa odgovarajućim pinovima treba smatrati nedefinisanim.

Modul za kontrolu pinova sadrži tri registra, kao što je prikazano u tabeli 6.

Tabela 6. Registri kod modula za kontrolu pinova

3.2.8.1. Funkcija pina selektovana registrom 0 (PIN SEL0-0xE002C000)

PINSEL0 registar kontroliše funkcije pinova kao što je dato u tabeli 7. Bit kontrole pravca u IODIR registru je u funkciji jedino kada je GPIO funkcija selektovana za odgovarajući pin. Za druge funkcije pravac se kontroliše automatski. Podešavanja koja nisu data u tabeli 7. ne treba koristiti.

Tabela 7. Kontrola funkcije pinova registrom PINSEL0

Page 23: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

23

Page 24: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

24

3.2.8.2. Funkcija pina selektovana registrom 1 (PIN SEL1-0xE002C004)

PINSEL1 registar kontroliše funkcije pinova kao što je dato u tabeli 8. Bit kontrole pravca u IODIR registru je u funkciji jedino kada je GPIO funkcija selektovana za odgovarajući pin. Za druge funkcije pravac se kontroliše automatski. Podešavanja koja nisu data u tabeli 8. ne treba koristiti.

Tabela 8. Kontrola funkcije pinova registrom PINSEL1

Page 25: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

25

Page 26: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

26

3.2.8.3. Funkcija pina selektovana registrom 2 (PIN SEL2-0xE002C014)

PINSEL2 registar kontroliše funkcije pinova kao što je dato u tabeli 9. Bit kontrole pravca u IODIR registru je u funkciji jedino kada je GPIO funkcija selektovana za odgovarajući pin. Za druge funkcije pravac se kontroliše automatski. Podešavanja koja nisu data u tabeli 9. ne treba koristiti.

Tabela 9. Kontrola funkcije pinova registrom PINSEL2

3.2.9. Paralelni I/O opšte namene

Pinovi koji nisu povezani sa specifičnom perifernom funkcijom kontrolišu se od strane GPIO registra. Pinovi se mogu dinamički definisati kao ulazi ili izlazi. Odvojeni registri omogućuju postavljanje i brisanje bilo kog broja izlaza simultano. Vrednost izlaznog registra može biti pročitana i kao trenutno stanje pinova porta.

Osobine:

• Kontrola smera individualnih bitova. • Odvojena kontrola postavljanja i brisanja izlaza. • Podrazumevana stanja svih I/O; nakon reseta postavljaju se zavisno od ulaza.

Page 27: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

27

3.2.10. D/A i A/D konvertor

Osnovu mikrokontrolera LPC2138 svakako čine D/A i A/D konvertori signala. Posmatrajući primenjenu aplikaciju, može se zaključiti da je u upotrebi bio D/A konvertor signala, pošto je bilo potrebno izvršiti konverziju digitalnog signala (wave signala) u analogni signal i zatim ga sa analognog izlaza D/A konvertora (AOUT) proslediti na pojačavač signala LM386, pa dalje na zvučnik. U tom cilju se, u daljem nastavku teksta, veća pažnja posvećuje D/A konvertoru i D/A konverziji signala.

3.2.10.1. Karakteristike D/A konverotora

• 10-bitni digitalno-analogni konvertor. • Resistor string arhitektura. • Baferovani izlaz. • Power down mod. • Selektovana brzina vs. napajanje.

3.2.10.2. Opis pinova

U tabeli 10. prikazani su nazivi, tip i opis pinova koji se nalaze na D/A konvertoru i koji se koriste za konverziju analognog signala u digitalni, što je i bio slučaj u konkretnoj aplikaciji.

Tabela 10. Opis pinova

3.2.10.3. D/A konvertor registar (DACR – 0xE006C000 )

DACR je registar koji pruža mogućnost čitanja sadržaja registra i upisivanja u isti. U njemu se nalazi podatak u digitalnom obliku koji treba da se konvertuje, kao i dodatni bit koji pravi kompromis izmeñu performanse i napajanja. Bitovi od 5:0 su rezervisani za buduće D/A konvertore visoke rezolucije.

Naziv pina Tip Opis pinova Aout Ulazni Analogni izlaz: Nakon selektovanja vremena smirivanja

(settling time), DACR (Digital-Analog Convertor Register) upisuje novu vrednost napona koja je jednaka VALUE/1024 * Vref (pri tom treba uzeti u obzir VSSA)

Vref Referentni Referentna vrednost napona: Ovaj pin je povezan sa VrefP signalima oba A/D konvertora

V3A, VSSA Napajanje Analogno napajanje i masa: Ove dve vrednosti trebalo bi nominalno da imaju istu vrednost kao i napon V3 i VSSD, ali bi takoñe trebalo da bud izolovani od uticaja šuma i greški

Page 28: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

28

Tabela 11. Pinovi kod ADCR registra

3.2.10.4. Operacije D/A konvertora

Bitovi 19:18 PINSEL1 registra (registar koji kontroliše funkcije pinova) kontrolišu da li je DAC enejblovan, kao i stanja na pinovima P0.25/AD0.4/AOUT. DAC je uključen i aktivan kada ovi bitovi uzimaju vrednost 10. Vreme smirivanja je validno za onu vrednost priključene impedanse na pinu AOUT, koja je veća ili jednaka odreñenoj vrednosti (TBD). Ukoliko je vrednost priključene impedanse manja od vrednosti TBD može se produžiti vreme smirivanja od specificiranog.

3.2.10.5. A/D Konvertor

U prethodnom poglavlju smo opisali D/A konvertor, njegove pinove i ulogu koju ima u ovom

razvojnom sistemu. U daljem nastavku teksta obratićemo pažnju na A/D konverziju i A/D konvertor.

3.2.10.6. Karakteristike A/D konverotora

• 10-bitni anlogno-digitalni konvertor ( kod LPC 2138 imamo dva ovakva konvertora). • Postojanje ulaznog multipleksa na ulaznim pinovima. • Power down mod (mod kojim se obezbeñuje prestanak napajanja). • Opseg merenja je izmeñu 0 do 3 V. • 10-bitno vreme konverzije >= 2.44 us. • Burst mod konverzije za jednoulazne ili višeulazne sisteme. • Mogućnost konverzije signala u postupku prenosa istog kroz ulaze A/D konvertora . • Vremensko poklapanje signala.

ADCR Ime Opis Vrednost resetovanja

5:0 Rezervisani Korisnik softvera ne treba da koristi rezervisane bitove. Vrednost koju nose rezervisani bitovi je nedefinisana.

0

15:6 Vrednost Nakon selektovanja vremena smirivanja na pinu AOUT se upisuje nova vrednost napona koja je jednaka VALUE/1024 * Vref

0

16 BIAS Ako je vrednost ovog bita 0, tada vreme smirivanja D/A konvertora uzima maksimalnu vrednost 1 sµ , a maksimalna vrednost struje je

700 Aµ . Kada je vrednost bita 1, tada je vreme smirivanja 2.5 sµ , a maksimalna vrednost struje

je 350 Aµ

0

31:17 Rezervisani Korisnik softvera ne treba da koristi rezervisane bitove. Vrednost koju nose rezervisani bitovi je nedefinisana.

0

Page 29: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

29

3.2.10.7. Opis A/D konvertora

Klokovanje A/D konvertora se obezbeñuje iz VPB kloka. Strukturu svakog A/D konvertora čini programabilni delitelj frekvencije, koji obezbeñuje povećanje frekvencije klokovanja do 4.5 MHz (maksimalna frekvencija klokovanja), koja mu obezbeñuje uspešnu aproksimaciju procesa. Potpuno uspešna konverzija analognog u digitalni signal zahteva 11 ovakvih frekvencija klokovanja. Bliže upoznavanje sa hardverom A/D konvertora, sa funkcijom pinova i registara, sa operacijama koje ovaj konvertor ima, ostavljamo za neku narednu priliku, iz prostog razloga, što u konkretnoj aplikaciji nisu korišćene funkcije A/D konvertora. 3.2.10.8. LM386

LM386 je pojačavač snage projektovan za sisteme koji koriste niže vrednosti napona napajanja. (U našem slučaju napon na MCB 2130 iznosi 3.3 V). Interno pojačanje je podešeno na maksimalnu vrednost 20. Priključivanje dodatnih ureñaja izmeñu pinova 1 i 8, unosi povećanje kapacitivnosti i otpornosti u kolu, pa samim tim i pojačanje dostiže vrednost 200. Ulazi ovog integrisanog kola su referentno uzemljeni, dok izlazi uzimaju vrednost jedne polovine napona napajanja. LM386 je idealan za sisteme koji koriste napajanje preko baterija, jer u aktivnom režimu rada ima veoma malu potrošnju. 3.2.11. UART

LPC2138 poseduje dva UART-a. Kao dodatak standardnoj predaji i prijemu podataka, LPC2138 UART1 obezbeñuje i pun kontrolisan modemski handshake interfejs.

Osobine:

• 16 bajtni prijemno-predajni FIFO. • Raspored registara po '550 standardu. • Okidanje prijemnog FIFO na 1., 4., 8. i 14. bajtu. • Built-in baudsko brzinski generator. • Standardni modemski interfejs signali na UART1. • LPC2138 transmisioni FIFO kontroler omogućuje implementaciju softverske kontrole

protoka (XON/XOFF) na oba UART-a i hardversku kontrolu protoka (CTS/RTS) na UART1.

3.2.12.I²C-bus serijski I/O kontroler

LPC2138 sadrži dva I²C-bus kontrolera, gde je I²C-bus bidirekcioni. Za unutrašnju-IC kontrolu koriste se samo dve veze: SCL (Serial Clock Line) i SCD (Serial Clock Data). Svaki ureñaj se prepoznaje po jedinstvenoj adresi i ponaša se kao prijemni ureñaj. Predajni ili/i prijemni ureñaji mogu da rade ili u MASTER ili SLAVE modu, zavisno od inicijalizacije prenosa podataka od strane čipa. I²C-bus je multi-master magistrala, može biti kontrolisana od strane više povezanih MASTER-a. I²C-bus implementirana u LPC2138 i podržava bitsku brzinu do 400 kbit/s (FAST I²C).

Page 30: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

30

Osobine:

• Standardni I²C-bus interfejs. • Lako se konfiguriše MASTER, SLAVE, MASTER/SLAVE. • Programabilni takt omogućava višestruku brzinsku kontrolu. • Dvosmerni prenos podataka izmeñu MASTER i SLAVE. • Multi-MASTER magistrala (nema centralnog mastera). • Arbitraža izmeñu istovremenog prenosa od strane MASTER-a, bez ugrožavanja serijskih

podataka na magistrali. • Serijska sinhronizacija takta koja omogućuje ureñajima različitih brzina prenosa da

komuniciraju preko serijske magistrale. • Serijska sinhronizacija takta može se koristiti kao handshake mehanizam da se prekine i

nastavi serijski transfer. • I²C-bus može se koristiti za testiranje i dijagnostiku.

3.2.13. SPI serijski I/O kontoler

LPC2138 sadrži jedan SPI (Serial Peripheral Interface) kontroler. SPI je pun dvostruki serijski interfejs dizajniran da podrži multi MASTER i SLAVE konekciju na magistralu. Samo po jedan MASTER i jedan SLAVE mogu da komuniciraju preko interfejsa za vreme prenosa podataka. Za vreme prenosa podataka, predaja i prijem bajtova ili podataka, je obostrana.

Osobine:

• Uslužna specifikacija. • Serijska, sinhronizovana, full duplex komunikacija. • Kombinovan SPI MASTER i SLAVE.

3.2.14. SSP serijski I/O kontroler

LPC2138 sadrži jedan SSP (Serial Synchronous Port) kontroler. SSP ima mogućnost rada na SPI, četvorožičnu SSI, ili microwire magistralu. Može interagovati sa više MASTER-a i SLAVE-a na magistrali, ali samo jedan MASTER i jedan SLAVE mogu komunicirati za vreme slanja podataka. SSP podržava full duplex transfer sa frejmovima od 4 bita do 16 bita protoka podataka od MASTER-a ka SLAVE-u, i obratno.

Osobine:

• kompatibilan sa Motorola SPI, 4-wire TI SSI i National Semiconductor Microwire magistralama.

• Sinhrona serijska komunikacija. • MASTER ili SLAVE rad. • 8-frejm FIFO za slanje i prijem podataka od 4 do 16 bita po frejmu.

Page 31: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

31

3.2.15. Tajmer opšte namene/broja č spoljašnjih doga ñaja

Tajmer/brojač broji cikluse perifernog takta (PCLK), ili spoljašnjeg takta i opciono generiše prekide, ili izvršava druge operacije za specifičnu vrednost tajmera. Baziran je na četiri match registra. Sadrži i četiri ulaza za praćenje vrednosti tajmera kada je ulazni signal u prelazu, opciono generiše se prekid. Više pina može biti selektovano za izvršavanje funkcije poreñenja, kao i funkcije broadcast izmeñu njih. U bilo kom trenutku samo jedan od postavljenih perifernih ulaza može biti selektovan kao izvor signala spoljašnjeg dogañaja. Opseg spoljašnjih dogañaja može biti uspešno brojiv do PCLK/2.

Osobine:

• 32-bitni tajmer/brojač sa programabilnim 32-bitnim predeliteljem. • Brojač spoljašnjih dogañaja ili operacije sa tajmerom. • Četiri 32-bitna kanala po tajmeru/brojaču koji mogu brzo očitati vrednost tajmera kada je

ulazni signal u prelazu. Zabeleženi dogañaj može generisati prekid. • Četiri 32-bitna match registra koji omogućuju kontinuitet operacija sa mogućnošću

generisanja prekida, zaustavljanje brojača, resetovanje tajmera pri poklapanju generisanih vrednosti.

• Četiri spoljašnja izlaza po tajmeru/brojaču koji su u saglasnosti sa match registrima i sa osobinama: postavljaju '0' ili '1', aktivira se mehanizam prekida, ne dešava se ništa pri poklapanju postojećih vrednosti match registara i tajmera/brojača.

3.2.16. Watchdog tajmer

Svrha watchdog tajmera ja da resetuje mikrokontroler nakon izvesnog vremena ako dospe u stanje greške. Ako je omogućeno, watchdog će generisati sistemski reset kada korisnički program ne "nahrani" watchdog u neko unapred odreñeno vreme.

Osobine:

• Unutrašnji reset čipa. • Debug mod. • Omogućuje se softverski, ali zahteva onemogućen hardverski reset ili watch reset/prekid. • Pogrešna/nepotpuna feed sekvenca prouzrokuje reset/prekid ako je odobren. • Flag za indikaciju watchdog reseta. • Programabilni 32-bitni tajmer. • Mogućnost odabira vremenskog perioda od Tpclk × 256 × 4 do Tpclk × 2³² ×4.

3.2.17. Sat realnog vremena RTC

RTC se sastoji od brojača za merenje vremena kada je sistem u normalnom modu, ili u modu praznog hoda. RTC je dizajniran kao mali potrošač, prikladan sistemima napajanim baterijom, kada CPU ne radi neprekidno.

Osobine:

• Meri realno vreme. • Mala potrošnja. • Obezbeñuje informacije: sekunde, minute, sate, dane u nedelji, dane u mesecu, dane u godini,

mesece, godine.

Page 32: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

32

• Može se koristiti ili oscilator od 32KHz, ili eksterni takt iz kristalnog oscilatora vezanog na ulaz XTAL1. Referentni programabilni delitelj takta omogućuje fino podešavanje RTC-a.

• Pin predviñen za napajanje može biti povezan za bateriju ili glavnih 3.3V. 3.2.18. Širinsko impulsni modulator

PWM ja baziran na standardnom tajmer bloku sa svim njegovim osobinama. Tajmer je dizajniran kao brojač ciklusa perifernog takta (PCLK) i opciono generiše prekid, ili izvršava drugu aktivnost kada za specificiranu vrednost tajmera (bazirano na sedam match registara).

Sposobnost da odvojeno kontroliše rastuću i opadajuću ivicu omogućuje korišćenje PWM-a u mnogim aplikacijama, na primer u kontroli višefaznih motora. Dva match registra mogu se koristiti za jednostruku ivičnu kontrolu PWM izlaza. Jedan match registar (MR0) kontroliše opseg PWM ciklusa, resetujući brojač pri podudaranju vrednosti sa match registrom. Ostali registri kontrolišu poziciju PWM ivice. Tri match registra mogu se upotrebiti za dvostruku ivičnu kontrolu PWM izlaza. Sa dvostrukom kontrolom, specificiran match registar kontroliše rastuću i opadajuću ivicu izlaza. To omogućuje pozitivan i negativan PWM impuls.

Osobine:

• Sedam match registra omogućuje do 6 jednostrukih ivičnih kontrola, ili 3 dvostruke ivične kontrole PWM izlaza, ili kombinaciju.

• Jednostruko ivični kontrolisan izlaz postavlja se na '1' na početku svakog ciklusa, sem u slučaju konstantnog LOW nivoa na izlazu.

• Period i širina impulsa može biti bilo koji broj (stanje) brojača. Ovo omogućuje fleksibilnost izmeñu rezolucije i opsega ponavljanja. Svi PWM izlazi aktiviraju se sa istom periodom ponavljanja.

• Može se koristiti standardni tajmer ako PWM mod nije omogućen. 3.2.19. Kontrola sistema

Integrisano oscilatorno kolo radi sa spoljašnjim kristalnim oscilatorom u opsegu od 1MHz do 30MHz i sa spoljašnjim oscilatorom do 50MHz. Izlazna frekvencija oscilatora naziva se fosc i iste je vrednosti kao i takt samog ARM procesora (CCLK), sem u slučaju kada je PLL povezan i aktivan. PLL prihvata frekvenciju ulaznog takta u opsegu od 10MHz do 25MHz. Ulazna frekvencija se uvišestruči do opsega od 10MHz do 60MHz pomoću CCO (Current Controlled Oscillator). Pri uvećavanju ulazne frekvencije množilac može biti bilo koji ceo broj od 1 do 32, ali je u praksi ta vrednost uvek manja od 6 za ovu familiju mikrokontrolera, zbog ograničenja u radnoj frekvenciji CPU-a. CCO radi u opsegu od 156MHz do 320MHz, tako da postoji dodatni delitelj takta da bi obezbedio potrebnu frekvenciju za rad CCO-a, dok PLL obezbeñuje potrebnu izlaznu frekvenciju. Delitelj takta frekvenciju osnovnog takta deli sa 2, 4, 8, 16. Prilikom reseta PLL se isključuje i kratkospaja i može se aktivirati softverski. Program najpre konfiguriše i aktivira PLL, zatim čeka da se PLL zaključa i na kraju se povezuje kao izvor takta. Podešavanje i aktiviranje PLL-a traje 100µs.

U LPC2138 mikrokontroleru, kao i u srodnim familijama mikrokontrolera, postoje dva izvora

reseta: RES pin i watchdog reset. RES pin je ulaz Šmitovog okidnog kola sa dodatnim filterom. Aktiviranje reseta od strane jednog od pomenutih izvora aktivira wake-up tajmer i inicira unutrašnji reset sve dok spoljašnji reset nije deaktiviran. Oscilator je sve vreme aktivan i nakon definisanog broja taktnih impulsa Flash kontroler završava inicijalizaciju. Kada se izañe iz stanja reseta, procesor počinje sa izvršavanjem na adresi 0, što je reset vektor. U tom trenutku svi registri u procesoru, kao i registri periferija, postavljaju se na unapred definisana stanja. Wake-up tajmer obezbeñuje da

Page 33: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

33

oscilator i druge analogne funkcije potrebne za rad čipa budu potpuno funkcionalne pre odobravanja izvršavanja instrukcija procesoru. Ovo je bitno prilikom aktiviranja sistema i svih vrsta reseta. Wake-up tajmer proverava kristalni oscilator, u smislu odabira pravog trenutka za početak izvršavanja kodnih instrukcija. Kada se napajanje dovede čipu, ili je neki dogañaj inicirao izlazak iz power-down moda, potrebno je neko vreme da oscilator proizvede signal odgovarajuće amplitude za pobuñivanje taktne logike.

BOD (Brown-Out Detector) šalje signal za prekid VIC-u kada napon na Vdd pinu padne ispod 2.9V, što predstavlja prvi nivo praćenja promene Vdd napona. Pri detekciji pada napona Vdd ispod 2.6V (drugi nivo praćenja) mikrokontroler se resetuje i ovim se sprečavalju neželjene promene sadržaja Flash-a.

Provera ispravnosti koda kod LPC2138 omogućuje aplikacija kontrolu debagiranja. Ako nakon reseta boot-loader detektuje validan checksum u Flash-u i pročita 0x87654321 sa adrese 0x1FC u Flash-u, biće onemogućeno debagiranje i sadržaj memorije biće zaštićen od provere. Kada je debagiranje jednom onemogućeno, može se jedino aktivirati nakon brisanja sadržaja čipa koristeći ISP.

LPC2138 poseduje devet, ivično ili nivovsko osetljivih, spoljašnjih ulaza prekida, kao odabirnu funkciju pina. Kada su pinovi ukombinovani, spoljašnji dogañaj može biti procesiran kao 4 nezavisna signala prekida. Spoljašnji ulazi za prekid mogu se opcionalno iskoristiti za buñenje procesora iz Power-down moda.

MMC (Memory Mapping Control) menja adresiranje vektora prekida koji započinje na adresi 0x00000000. Vektor može biti adresiran na dno Flash memorije, ili u RAM. Ovo omogućuje izvršavanje koda na različitim memorijskim lokacijama.

LPC2138 podržava dva moda smanjene potrošnje: mod praznog hoda i Power-down mod. U modu praznog hoda izvršavanje instrukcija je suspendovano do pojave reseta ili prekida. Za vreme moda praznog hoda periferne funkcije nastavljaju rad i one mogu generisati zahtev za prekid, što dovodi do aktiviranja procesora i nastavka izvršenja instrukcija. U Power-down modu oscilator je isključen i čip nema unutrašnji takt. Stanja procesora, registara, perifernih registara, i unutrašnjeg SRAM-a su sačuvana. Iz ovog moda može se izaći resetovanjem čipa, ili generisanjem zahteva za prekid, koji je specifičan i može se izvršiti bez takta. Kako su sve dinamičke operacije u ovom modu ukinute, potrošnja je blizu nule. Birajući spoljašnji 32KHz takt, umesto PCLK kao izvora za RTC, moguće je imati aktivan RTC za vreme Power-down moda. Kontrola napajanja individualnih periferija i njihovo gašenje, kada nisu u funkciji, rezultuje dodatnoj uštedi.

VPB definiše odnos izmeñu takta procesora (CCLK) i takta korišćenog za periferne ureñaje (PCLK). Preko VPB magistrale periferije se taktuju PCLK-om tako da ARM procesor definiše brzinu rada. Da bi se to postiglo VPB magistrala mora se usporiti na ½ ili ¼ brzine takta procesora. Druga svrha VPB-a je ušteda snage kada neka aplikacija ne zahteva odreñene periferije. Kako je VPB povezan za PLL to znači da PLL ostaje aktivan, ako je to bio, za vreme moda praznog hoda. 3.2.20. Emulacija i debagiranje

LPC2138 podržava emulaciju i debagiranje preko JTAG serijskog porta. Debagiranje i funkcije praćenja su multipleksirane sa GPIO na portu PORT1. Standardna ARM EmbeddedICE logika omogućuje podršku za debagiranje na samom čipu. Debagiranje zahteva host računar sa softverom za debagovanje i EmbeddedICE protokol konvertor koji konvertuje RDP (Remote Debug Protocol) komande u JTAG podatke, potrebne da se pristupi ARM jezgru. ARM jezgro poseduje DCC (Debug Communication Channel) funkciju. DCC omogućuje neometan rad pokrenutog programa čak i za vreme debagiranja i komunikacije sa host-om, bez odlaska u mod za debagiranje, kao i slanje i primanje podataka preko JTAG porta.

LPC2138 poseduje zavidnu količinu memorije, pa nije moguće definisati način na koji procesorsko jezgro operiše, samo na osnovu posmatranja spoljašnjih pinova. ETM (Embedded Trace Macrocell) generiše informaciju o radu procesora na port za praćenje rada. Povezan je direktno za

Page 34: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

34

ARM jezgro, ali nema vezu sa AMBA sistemskom magistralom. ETM kompresuje informacije praćenja i prosleñuje ih kroz mali port za praćenje. Spoljašnji analizator sa softverom za debagiranje daje informacije praćenja koje prikazuju listu izvršenih instrukcija. REAL MONITOR je softverski modul razvijen od strane ARM Inc., koji omogućuje debagiranje u realnom vremenu. LPC2138 sadrži specifičnu konfiguraciju softvera za rad u realnom vremenu, programiranu u Flash memoriji. 3.2.21. Granične vrednosti parametara

Tabela 12. Granične vrednosti parametara

3.2.22. Statičke karakteristike

Tabela 13. Karakteristike jednosmernog režima

Page 35: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

35

Page 36: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

36

4.Wave fajl

Uvodna priča o audio fajlu, njegovoj strukturi, načinu semplovanja i ostalim radnjama u

okviru samog fajla, je potkrepljena načinom funkcionisanja zvučne kartice u računaru i na koji način se dobija zvuk na njenom izlazu. Takoñe je dato objašnjenje ključnih termina koji će biti potrebni za bolje razumevanje priče koja sledi. U pitanju su termini, poput: digitalizacije zvuka, digitalni audio fajl, broj bitova, uzorkovanje (semplovanje).

4.1. Uvod

Digitalizacija zvuka predstavlja konverziju zvuka (audio signala) u binarni kod, tj. u jezik koji je razumljiv za računar. Audio fajl (zvuk) predstavljen nizom nula i jedinica naziva se digitalni audio fajl. Broj bitova se odnosi na veličinu prostora audio fajla u kome se smešteni podaci. Uzorkovanje se odnosi na “razbijanje” audio fajla na manje delove, veličine bitova ili bajtova, u zavisnosti od strukture samog fajla. Spajanjem svih uzoraka u prvobitnu celinu dobija se zvuk. Kvalitet zvuka se povećava sa povećanjem frekvencije uzorkovanja. Nešto više o tome u nastavku teksta. Na početku ovog izlaganja potrebno je da kažemo da računari koriste dve metode za proizvodnju zvuka: digitalna audio metoda i metoda sinteze.

Digitalna audio metoda se odnosi na konverziju zvuka u binarni kod kao što je već rečeno. Ono o čemu treba voditi računa jeste frekvencija uzorkovanja zvuka, koja predstavlja broj uzorkovanja u odreñenom vremenskom intervalu. Frekvencija uzorkovanja zvuka mora da bude bar dva puta veća od analogne frekvencije. (Analogna frekvencija je frekvencija čujnosti zvuka ljudskog uha). Nakon semplovanja zvuka vrši se njegova digitalizacija i prvoñenje u digitalni zapis.

Frekvencija semplovanja signala se meri u kiloherzima (KHz), tj. predstavlja broj odmeraka u sekundi. Ukoliko je frekvencija semplovanja 1 KHz, to znači da je signal semplovan 1000 puta u sekundi. Frekvencije semplovanja zvučnih kartica su:11,025 KHz, 22.05 KHz i 44.1 KHz. Logičan je zaključak da se većom frekvencijom semplovanja postiže bolja reprodukcija zvuka.

Sinteza je proces u kome računar kreira zvučni signal. Kvalitet zvuka zavisi od kvaliteta muzičko-produktivnog mehanizma, tj. od sintisajzera (alat za sintezu). Postoje dva tipa sinteze zvuka kod računara: FM sinteza i wavetable sinteza. Današnji sintisajzeri su veoma savremeni i imaju mogućnost reprodukcije zvuka sa više muzičkih instrumenata u isto vreme. Melodije ostvarene na ovaj način nazivaju se polifone melodije. Posmatrajući oznaku zvučne kartice, Creative Labs AWE 32 Sound Card or SoundBlaster 32, zaključujemo da broj 32 predstavlja maksimalan broj muzičkih instrumenta koje ova kartica može da interpretira u isto vreme. FM sinteza ne koristi digitalni audio način snimanja. Nasuprot tome, ona koristi čitav niz kompleksnih algoritama za proizvodnju zvuka. To znači da nema zapisa zvuka u digitalnom formatu, već ova sinteza koristi sopstveni “glas” za oponašanje muzičkih instrumenata. Ova metoda se koristi kao zamena za različite muzičke instrumente. Imajuči u vidu da ovakva obrada zvuka podleže matematičkim jednačinama, kvalitet dobijenog zvuka ne može da se meri sa kvalitetom zvuka dobijenog sa originalnog instrumenta. Ponekad je iz ovog razloga teško razlikovati zvuk sa dva različita instrumenta. Bolji kvalitet zvučne kartice omogućuje bolju reprodukciju zvuka. Iz ovog razloga se ovaj način sinteze ne koristi u profesionalne svrhe.

Page 37: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

37

Wavetable sinteza koristi digitalnu audio metodu snimanja zvuka sa više različitih muzičkih

instrumenata. Iz razloga što wavetable sinteza koristi metodu zapisa zvuka kao kod nekadašnjih traka, kvalitet zvuka je više puta poboljšan u odnosu na FM sintezu. Kada preslušavate zvuk klavira snimljen wavetable sintezom, vi zaista čujete zvuk pijana koji ste zabeležili. Da bi obezbedili reprodukciju većeg broja muzičkih instrumenata, u memorijski prostor na zvučnoj kartici se vrši zapis samo nekoliko zvuka odreñenog instrumenta. Dalja obrada zvuka (nivo zvuka, boja tona, ritam i dr.), prepuštena je elektronici. Većina zvučnih kartica dostupnih danas na tržištu koristi wavetable sintezu zvuka ili kombinaciju wavetable i FM sintezu. 4.2. Wave format fajla

Wave format fajla je Windows-ov izvorni format namenjen za smeštanje podataka u digitalnom

formatu. Ovaj format je postao jedan od mnogih široko rasprostanjenih i prihvaćenih audio formata koji se koriste kod personalnog računara u cilju popularizacije Windows operativnog sistema, kao i velikog broja progarama napisanih za Windows platformu. Skoro svaki savremni program koji ima mogoćnost otvaranja i/ili čuvanja digitalnog audio formata podržva wave format fajla, što ih čini veoma korisnim. U nastavku teksta biće prikazan detaljni opis strukture i unutrašnji sastav fajla i kako on u suštini radi. 4.3. Format podataka

Polazeći od toga da je wave format fajl izvorni fajl za Windows platformu i „Intel-ove”

procesere sve vrednosti podataka su smeštene u „ Little - Endian” redosledu (Podaci su grupisani u bajtove.)

4.3.1.Karakteri

Wave fajl može da sadrži tekstualne karaktere koji služe da naznače jednosmerne pokazne labele (cue point labels), komentare i drugo. Karakteri su smešteni u formatu gde prvi bajt prikazuje broj pratećih ASCII tekstualnih bajtova u samom karakteru. Prateći bajtovi su ASCII karaktera, što omogućuje formiranje tekstualnih karaktera. Programeri koji rade u Pascal-u primetiće da je ovo isti format koji se koristi za karaktere u ovom programskom jeziku.

Page 38: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

38

4.4. Struktura fajla

Talasni fajlovi koriste standardnu strukturu RIFF (Resource Interchange File Format) koja grupiše sadržaj fajla (semplovanje formata, semplovanje digitalnog audio formata, i drugo) u odvojene chunk-ove gde se svaki chunk sastoji od hedera i podataka grupisanih u bajtove. Heder nam kazuje koji je tip i veličina podataka u pitanju. Ovakav metod organizacije podataka samom programu dopušta da prepozna o kom se tipu podatka radi. Na ovaj način program može da odluči da li da obradi podatke ili da preñe preko njih ukoliko mu nisu potrebni. Odreñeni delovi fajla mogu da sadrže i pod-delove, kao što je i prikazano na dijagramu. Fmt i data su pod-delovi RIFF dela. Karakteristika RIFF paketa jeste da se veličina svakog narednog paketa uvećava za po dva bajta.

Slika 12. Osnovni izgled wave fajla

4.5. Heder talasnog fajla-zaglavlje tipa RIFF

Heder talasnog fajla ima strukturu standardnog RIFF fajl formata. Prva 8 bajta su rezervisana za heder standardnog RIFF zaglavlja, u kome je deo sa ID-jem RIFF-a i drugi deo koji je veličine fajla umanjen za 8 bajta iskorišćenih kod hedera. Prva 4 bajta kod RIFF zaglavlja definišu tip fajla. Talasni fajlovi uvek koriste tip wave. Preostali bajtovi definišu talasni oblik audio fajla. Slika 13. Zaglavlje tipa RIFF

4.6. Delovi talasnog fajla

Kao što je već rečeno, većina audio fajlova sadrži samo dva chunk-a. Jedan od njih je heder (daje informaciju o tipu, format fajla) dok drugi deo predstavlja same podatke. Ovakav metod organizacije fajla je potreban radi razumevanja semplovanja digitalnog audio fajla. Većina programa u toku rada sa ovim fajlovima očekuje da se heder nalazi ispred zaglavlja sa podacima, iako sama ogranizacija wave fajla ne diktira stroga pravila oko organizacije podataka unutar samog fajla. Na ovaj načina se postiže bolja osetljivost strimovanja podataka od sporijeg i linearnog izvora podataka kao što je Internet.

Basic Wave File Layout Chunk ID "RIFF" Chunk Data Size

RIFF Type ID "WAVE"

Chunk ID "fmt " Chunk Data Size

Sample Format Info

Chunk ID "data" Chunk Data Size

Digital Audio Samples

Chunk Header

Chunk Data Bytes

Offset Size Description Value

0x00 4 Chunk ID "RIFF" (0x52494646)

0x04 4 Chunk Data Size (file size) - 8

0x08 4 RIFF Type "WAVE" (0x57415645)

0x10 Wave chunks

RIFF Type Chunk Values

Page 39: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

39

Sva zaglavlja u okviru RIFF-a, pa samim tim i wave chunk

su smeštena u formatu kao na slici. Samo da napomenemo da je gore navedeno zaglavlja tipa RIFF formata prikazanog na slici 14.

Slika 14. RIFF chunk format 4.7. Format zaglavlja – fmt

Format fmt sadrži informaciju o tome kako su podaci u okviru wave fajla smešteni, kao i informacije koje uključuju tip kompresije, broj kanala, broj uzorkovanja, broj bitova po jednom semplovanju i ostale informacije.

Slika 15. Format zaglavlja fmt

Offset Size Description

0x00 4 Chunk ID

0x04 4 Chunk Data Size

0x08 Chunk Data Bytes

RIFF Chunk Format

Offset Size Description Value

0x00 4 Chunk ID "fmt " (0x666D7420)

0x04 4 Chunk Data Size

16 + extra format bytes

0x08 2 Compression code

1 - 65,535

0x0a 2 Number of channels

1 - 65,535

0x0c 4 Sample rate 1 - 0xFFFFFFFF

0x10 4 Average bytes per second

1 - 0xFFFFFFFF

0x14 2 Block align 1 - 65,535

0x16 2 Significant bits per sample

2 - 65,535

0x18 2 Extra format bytes

0 - 65,535

0x1a Extra format bytes *

Page 40: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

40

4.8. ID zaglavlja i veli čina podataka

Chunk ID je uvek fmt (0x666D7420) i ima veličinu standardnog wave formata sa paketom podataka od 16 bajta. Postojeća veličina fajla može biti uvećana dodatnim bajtovima za specifične wave formate, ukoliko postojeći fajl ne sadrži PCM dekopresovane podatke. Takoñe, treba primetiti da se deo sa ID karakterima završava specijalnim karakterom (0x20).

Slika 16. ID chunk

4.9. Kompresija kodova

Prva reč u formatu podataka odreñuje tip kompresije koji se koristi kod wave podatka uključujući wave chunk u tom RIFF chunk-u. Sledeća lista prikazuje najčešće primenjivane kodove za kompresiju podataka koji se danas koriste.

4.10. Broj kanala

Broj kanala odreñuje koliki je broj odvojenih audio signala koji su dekodirani u wave date chunk. Ukoliko je vrednost 1 u pitanju je mono signal, za vrednost 2 u pitanju je stereo signal i tako dalje.

4.11. Frekvencija uzorkovanja

Frekvencija uzrorkovanja audio signala predstavlja broj uzoraka semplovanih u jedinici vremena. Na vrednost broja semplovanih uzoraka ne utiče broj kanala.

4.12. Srednja vrednost broja bitova u sekundi

Srednja vrednost broja bajtova u sekundi prikazuje koliko bajtova wave podataka se usmerava ka D/A konvertoru u sekundi u nameri da se reprodukuje wave fajl. Ova informacija je korisna kada se utvrñuje da li podaci mogu biti strimovani od izvora dovoljnom brzinom da bi bili u korak sa playback signalom. Ova vrednost se vrlo lako može izračunati formulom:

AvgBytesPerSec = SampleRate * BlockAlign

Code Description

0 (0x0000) Unknown

1 (0x0001) PCM/uncompressed

2 (0x0002) Microsoft ADPCM

6 (0x0006) ITU G.711 a-law

7 (0x0007) ITU G.711 µ-law

17 (0x0011) IMA ADPCM

20 (0x0016) ITU G.723 ADPCM (Yamaha)

49 (0x0031) GSM 6.10

64 (0x0040) ITU G.721 ADPCM

80 (0x0050) MPEG

65,536 (0xFFFF) Experimental

Page 41: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

41

4.13. Poravnanje blokova

Poravnanje blokova se odnosi na broj bajtova u jednom uzorku. Na ovu vrednost bajtova ne utiče broj kanala i može se izračunati pomoću formule:

BlockAlign = SignificantBitsPerSample / 8 * NumChan nels

4.14. Značajni semplovani bitovi

Ova vrednost odreñuje broj bitova koji se koriste da definišu svaki uzorak. Obično uzima vrednost 8, 16, 24 ili 32. Ukoliko broj bitova nije bajtovski orijentisan, onda se broj bajtova u jednom uzorku zaokružuje na najbližu vrednost, dok preostale vrednosti uzimaju vrednost 0 i ignorišu se.

4.15. Ekstra bajt formati

Ova vrednost definiše koliko dodatnih bajt orijentisanih formata slede. Ovi dodni bajt orijentisani formati ne postoje ukoliko je vrednost kompresovanog koda 0, ali mogu da postoje i da uzimaju bilo koju vrednost drugog tipa kompresije, ali to zavisi od vrste kompresovane informacije koja je potrebna za dekodiranje wave podataka. Ukoliko ova vrednost nije bitovski ureñena, onda se vrši ureñenje dodavanjem dodatnih bitova na kraju podatka.

4.16. Data Chunk

Wave date chunk sadrži digitalne audio uzorke podataka koji mogu biti dekodirani korišćenjem formata i metoda kompresije navedenog u wave format chunk. Ukoliko je kompresija koda 1 (dekompresovan PCM), tada wave padatak sadrži izvornu vrednost uzorka. Taj dokument objašnjava kako su dekompresovni PCM podaci smešteni, ali ne daje informaciju o podržavanom formatu za kompresiju. Wave fajlovi obično sadrže jedan blok podataka, ali mogu da poseduju i više od jednog bloka podataka ukoliko ne poseduju wave list chunk (wavl).

Offset Length Type Description Value

0x00 4 char[4] chunk ID "data" (0x64617461)

0x04 4 dword chunk size depends on sample length and compression

0x08 sample data

Slika 17. Data chunk format

Page 42: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

42

Više-kanalni digitalni audio uzorci su smešteni tako da se podaci „prepliću” meñusobno. To u prevodu znači da se audio uzorci više-kanalnog (kao što je stereo ili „sourround”) wave fajla smeštaju u koncentrične krugove, u procesu semplovanja, i to za svaki kanal ponaosob, pre nego što se preñe na naredni ciklus semplovanja. Na ovaj način je stvorena mogućnost puštanja ili strimovanja audio fajla pre nego što audio fajl u celini bude pročitan (učitan). Ovo je podesno prilikom preslušavanja nekog audio fajla većeg formata, i to sa eksternog memorijskog medijuma (kada postoji verovatnoća manjka memorijskog prostora u kome fajl treba da bude prebačen), ili prilikom strimovanja fajla sa Interneta. Vrednosti prikazane u dijagramu biće smeštene u wave fajlu redosledom prikazanim u koloni vrednosti, po „top-to-bottom” principu.

Ukoliko su uzorci semplovanja predstavljeni bitovima može da nastupi odreñena zabuna. Specificirano je tako da uzorci koji uzimaju vrednost od 8 bita, imaju neznakovnu vrednost. Sve ostale bitske vrednosti uzoraka uzimaju znakovnu vrednost. Na primer, 16-bitni uzorak ima opseg uzorkovanja od -32,768 do +32,767 sa prekidom u nuli (0).

Kao što je ranije napomenuto, svi RIFF blokovi (uključujući wave data blok) moraju biti word aligned. Ukoliko su podaci uzorkovani tako da imaju neparan broj bajtova, tada se dodaje bajt na kraju uzorkovanog podatka čija je vrednost 0. Na taj način se postiže word aligned. Ovaj bajt ne ulazi u blok podataka hedera.

Slika 18. Isprepletani stereo wave uzorak

Time Channel Value

1 (left) 0x0053 0

2 (right) 0x0024

1 (left) 0x0057 1

2 (right) 0x0029

1 (left) 0x0063 2

2 (right) 0x003C

Page 43: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

5. Primer VOICE

Voice primer demonstrira primenu D/A konvertora za reprodukciju muzičkog zapisa u wave

formatu. Potenciometrom kontrolišemo jačinu zvuka, a na serijskom portu dobijamo informaciju o reprodukovanom wave fajlu. Wave fajl je najpre potrebno konvertovati u HEX-386 (H86) fajl, a zatim implementirati u memorijski prostor kontrolera. Za konverziju koristimo BIN2HEX program. 5.1. BIN2HEX Sintaksa: BIN2HEX [/option] binfile [hexfile] Binfile – binarni ulazni fajl Hexfile – izlazni fajl koji kreiramo Opcije:

/Ln bajtovi koje čitamo iz binarnog fajla /In startni offset /On adresni offset izlaznog fajla /M sjediniti podatke sa postojećim HEX fajlom /2 generisati HEX fajl koristeći eks. segmentni memorijski zapis (HEX86) /4 generisati HEX fajl koristeći eks. linearni memorijski zapis (HEX386) /Q Quiet mode ( bez prikaza statistike) /T ne koristiti EOF zapis /A pripojiti na kraj postojećeg HEX fajla

U našem slučaju, sadržaj convert.bat fajla je: ECHO OFF ECHO Generating HEX-386 with Wave Blocks... cd AudioData del Audio.h86 BIN2HEX /L65536 /O65536 /4 /T /Q TEST1.wav Audio.h86 BIN2HEX /L65536 /O131072 /4 /A /T /Q TEST2.wav Audio.h86 BIN2HEX /L53248 /O458752 /4 /A /Q TEST3.wav Audio.h86

Page 44: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

5.2. Učitavanje VOICE primera

U Keil radnom okruženju selektujemo opciju open project iz project menija i navodimo putanju VOICE.UV2 primera.

Slika 19. Učitavanje VOICE primera

Kada je VOICE projekat otvoren, prozor- radni projektni prostor (project workspace

window), sadrži izvorne fajlove projekta. - startup.s sadrži startup kod za LPC2138 - serial.c sadrži inicijalizaciju serijskog porta i komunikaciju za kontrolu i informacije o wave fajlu - main.c aplikacioni modul koji učitava i reprodukuje .H86 fajl sa wave sadržajem - TOInt.c sadrži inicijalizaciju Timer-a 0 i interapt rutine - abstract.txt sadrži dokumentaciju o projektu

Slika 20. Radni prozor projekta

Page 45: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

45

5.3. Running VOICE

Pokretanje i izvršavanje primera VOICE vrši se u četiri koraka:

• Building VOICE. • Download VOICE. • Debugging VOICE. • Proveravanja serijskog izlaza.

5.3.1. Building VOICE

µVision prevodi i povezuje fajlove, i kreira objektni modul koji se može koristiti u µVision debuggeru za test. Nakon povezivanja (linking), µVision pokreće convert.bat fajl za konverziju i kreiranje HEX-386 fajla koji se implementira zajedno sa programom u operativnu memoriju kontrolera. Build status dat je na build strani izlaznog prozora. Slika 21. Izlazni prozor build strane

Page 46: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

46

5.3.2. Download VOICE (sa FLASH MAGIC-om)

Flash Magic povezuje COM port PC-a sa serijskim portom MCB2130 i obezbeñuje ISP (In-System Flash Programing) podršku za Intel HEX fajlove. Flash Magic može biti pokrenut u stand-alone modu, ili kao eksterna alatka iz µVision-a. Konfigurisanje MCB2130 ploče izvodi se džamperima J1-J13.

Tabela 14. Prikaz džampera Jumper State Description

J1 - ISP ON omogućuje In-System Programming preko COM0.

J2 - AV ON povezuje POT1 potenciometar sa AIN0 za analogni input

J3 - 3.3V ON povezuje 3.3V do CPU.

J4 - VBAT ON povezuje VBAT do CPU.

J5 - V3A ON Povezuje analogni referentni napon do CPU.

J6 - LED ON omogućuje Port1.16 - Port1.23 LED's.

J7 - INT1 ON omogućuje INT1 Push Button.

J8 - ETM OFF onemogućuje Embedded Trace

J9 - JTAG ON omogućuje JTAG interface

J10 - RST ON omogućuje Reset preko COM0.

J11 - VREF ON povezuje ADC VREF za 3.3V.

J12 -- Ne postoji

J13 - AOUT ON povezuje AOUT preko LF amplifier do zvučnika.

Za serijsko programiranje MCB2130 koristeći Flash Magic, postupiti na sledeći način:

• Dovesti napajanje koristeći standardni USB kabal. • Povezati 9-to pinski serijski kabal sa COM porta na PC-u do COM0 porta. • Verifikovati COM konekciju koristeći Flash Magic. • Podesiti džampere: J8 i J9 – OFF, J1 i J10 – ON.

5.3.2.1. Verifikacija COM konekcije koriste ći Flash Magic Pokrenuti Flash Magic i konfigurisati COM port interfejs kao na slici 22.

Slika 22. Konfiguracija COM porta

Page 47: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

47

2. Verifikovati konekciju koristeći komandni meni ISP — Read Device Signature

Slika 23. Verifikacija konekcije

3. Read Device Signature prikazuje prozor prikazan na slici 24.

Slika 24. Prozor Read Divece Signature

Page 48: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

48

5.3.3. Programiranje Flash Magic-om u stand-alone m odu

1. Podešavanja

izvršiti kao na slici 25, a zatim flešovanje započeti pritiskom na dugme start.

Slika 25. Podešavane Flash Magic-a u stand alone modu

2. U meniju Options — Advanced Options odabrati Hardware Config i čekirati Use DTR and RTS to control RST and P0.14.

Slika 26. Čekiranje opcije DTR and RTS to control RST and P0.14

Page 49: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

49

5.3.4. Programiranje Flash Magic-om pozivaju ći ga kao spoljašnju alatku u µVision-u

1. Koristiti toolbar button i klikni na Utilities.

2. Omogućiti Use External Tool for Flash Programming.

3. Promeniti putanju pozivanog programa (Flash Magic).

Komanda:FM.EXE Argumenti: DEVICE($D,$X) ERASE(DEVICE,PROTECTISP) HEXFILE("#H",NOCHECKSUMS,NOFILL,PROTECTISP)

COM(1,9600) HARDWARE(BOOTEXEC,100,50)

Slika 27. Navoñenje putanje pozivanog programa 4. Download to Flash button.

µVision koristi Flash Magic u batch modu za flešovanje. U izlaznom prozoru Flash Magic ispisuje poruku o obavljenom poslu. Slika 28. Izlazni prozor Flash Magic-a

Page 50: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

50

5.3.5. Provera serijskog izlaza

Za proveru serijskog izlaza programa VOICE poveži serijskim kablom MCB2130 i PC, i upotrebi Microsoft Windows HyperTerminal za prikaz informacija o serijskoj komunikaciji na monitor. 5.3.5.1. Microsoft Windows HyperTerminal

1. Unesi ime, na primer MCB2130.

Slika 29. Unošenje imena u Microsoft Windows HyperTerminal

2. Odaberi COM1 port na PC-u

Slika 30. Odabir COM porta na PC-u

Page 51: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

51

3. Odabrati brzinu od 115200 bita po sekundi, 8 bita podataka, bit parity da bude none, stop bit na 1 i kontrola protoka none.

Slika 31. Podešavanje parametara porta COM1

4. Kliknuti OK, i kada se program pokrene informacija o wave fajlu prikazuju se u Hyper Terminalu. Slika 32. Hyper Terminal

Page 52: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

52

Literatura: LPC2131/2132/2138, User Manual, November 22, 2004

Starter kit for ARM®, CD-ROM

The insider’s guide to the Philips ARM7-based microcontrollers

http://www.hitex.co.uk/arm

http://netghost.narod.ru/gff/graphics/summary/micriff.htm

http://www.philips.com

http://www.keil.com

http://www.sonicspot.com/guide/wavefiles.html

Page 53: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

53

Sadržaj: 1. Hitex Starter Kit .............................................................................................................................2 2. Hitex Starter Kit za ARM .............................................................................................................3

2.1. JTAG debugger za ARM mikrokontroler .........................................................................4 2.2. Razvojna plo ča MCB 2130 ..................................................................................................5

2.2.1. Podešavanje plo če ........................................................................................................5 2.2.1.1. Hardversko/softverski zahtevi ............................................................................6 2.2.1.2. Povezivanje MCB 2130 sa Tantino.....................................................................6 2.2.1.3. Komponente razvojne plo če MCB......................................................................6 2.2.1.4. Konfigurisanje razvojne plo če MCB 2130 ........................................................7 2.2.1.5. Opis „džampera” ....................................................................................................7

2.2.2. HARDVER MCB 2130 ....................................................................................................8 2.2.2.1. Šema razvojne plo če MCB 2130 na blokovskom nivou ...............................9 2.2.2.2. D/A konvertor ...........................................................................................................9 2.2.2.3. Uloga LED dioda .....................................................................................................9 2.2.2.4. Push buttons..........................................................................................................10 2.2.2.5. Serijski portovi ......................................................................................................10 2.2.2.6. Tehni čki podatci ....................................................................................................10

3. Istorijski razvoj i primena ARM procesora ..........................................................................11 3.1. Uvod u familiju ARM procesora ......................................................................................11

3.1.1. ARM7 ...............................................................................................................................12 3.1.2. ARM8 ................................................................................................................. 12 3.1.3. ARM9 ...............................................................................................................................13

3.2. LPC 2138 mikrokontroler ..................................................................................................13 3.2.1. Generalni opis ...............................................................................................................13 3.2.2. Osobine ..........................................................................................................................13 3.2.3. Blok dijagram ................................................................................................................14 3.2.4. Informacije o pinovima ...............................................................................................15

3.2.4.1. Opis pinova ............................................................................................................16 3.2.5. Funkcionalni opis ........................................................................................................20 3.2.6. Kontroler prekida .........................................................................................................20 3.2.7. Izvori prekida .................................................................................................................21 3.2.8. Povezivanje pinova ......................................................................................................22

3.2.8.1. Funkcija pina selektovana registrom 0 (PIN SEL0-0xE002C000) .............22 3.2.8.2. Funkcija pina selektovana registrom 1 (PIN SEL1-0xE002C004) .............24 3.2.8.3. Funkcija pina selektovana registrom 2 (PIN SEL2-0xE002C014) .............26

3.2.9. Paralelni I/O opšte namene .......................................................................................26 3.2.10. D/A i A/D konvertor ...................................................................................................27

3.2.10.1. Karakteristike D/A konverotora ......................................................................27 3.2.10.2. Opis pinova ..........................................................................................................27 3.2.10.3. D/A konvertor registar (DACR – 0xE006C000 ) ...........................................27 3.2.10.4. Operacije D/A konvertora .................................................................................28 3.2.10.5. A/D Konvertor ......................................................................................................28 3.2.10.6. Karakteristike A/D konverotora ......................................................................28 3.2.10.7. Opis A/D konvertora ..........................................................................................29 3.2.10.8. LM386 ....................................................................................................................29

3.2.11. UART .............................................................................................................................29 3.2.12.I²C-bus serijski I/O kontroler ....................................................................................29 3.2.13. SPI serijski I/O kontoler ...........................................................................................30 3.2.14. SSP serijski I/O kontroler ........................................................................................30

Page 54: SEMINARSKI RAD - es.elfak.ni.ac.rses.elfak.ni.ac.rs/Seminar works RTS/Hietx Starter Kit - Dalibor... · Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku SEMINARSKI

54

3.2.15. Tajmer opšte namene/broja č spoljašnjih doga ñaja .........................................31 3.2.16. Watchdog tajmer ........................................................................................................31 3.2.17. Sat realnog vremena RTC .......................................................................................31 3.2.18. Širinsko impulsni modulator ..................................................................................32 3.2.19. Kontrola sistema ........................................................................................................32 3.2.20. Emulacija i debagiranje ............................................................................................33 3.2.21. Grani čne vrednosti parametara .............................................................................34 3.2.22. Statičke karakteristike ..............................................................................................34

4.Wave fajl .........................................................................................................................................36 4.1. Uvod ........................................................................................................................................36 4.2. Wave format fajla .................................................................................................................37 4.3. Format podataka ..................................................................................................................37

4.3.1.Karakteri ..........................................................................................................................37 4.4. Struktura fajla .......................................................................................................................38 4.5. Heder talasnog fajla-zaglavlje tipa RIFF .......................................................................38 4.6. Delovi talasnog fajla ...........................................................................................................38 4.7. Format zaglavlja – fmt........................................................................................................39 4.8. ID zaglavlja i veli čina podataka .......................................................................................40 4.9. Kompresija kodova .............................................................................................................40 4.10. Broj kanala ..........................................................................................................................40 4.11. Frekvencija uzorkovanja .................................................................................................40 4.12. Srednja vrednost broja bitova u sekundi ..................................................................40 4.13. Poravnanje blokova ..........................................................................................................41 4.14. Značajni semplovani bitovi ............................................................................................41 4.15. Ekstra bajt formati ............................................................................................................41 4.16. Data Chunk .........................................................................................................................41

5. Primer VOICE ...............................................................................................................................43 5.1. BIN2HEX ................................................................................................................................43 5.2. Učitavanje VOICE primera ................................................................................................44 5.3. Running VOICE ....................................................................................................................45

5.3.1. Building VOICE .............................................................................................................45 5.3.2. Download VOICE (sa FLASH MAGIC-om) .............................................................46

5.3.2.1. Verifikacija COM konekcije koriste ći Flash Magic .......................................46 5.3.3. Programiranje Flash Magic-om u stand-alone m odu .........................................48 5.3.4. Programiranje Flash Magic-om pozivaju ći ga kao spoljašnju alatku u µVision-u ...................................................................................................................................49 5.3.5. Provera serijskog izlaza .............................................................................................50

5.3.5.1. Microsoft Windows HyperTerminal .................................................................50 Literatura: ..........................................................................................................................................52