Upload
hanga
View
222
Download
3
Embed Size (px)
Citation preview
1
Sistemi u realnom vremenu 4
Hadware ugrađenih real-time sistema
Vanr.prof.dr. Lejla Banjanović-Mehmedović
Copyright: Lejla Banjanović-Mehmedović
Sadržaj izlaganja
Hadware mikrokontrolera Procesori ugrađenih sistema Memorijske arhitekture Ulazi/izlazi
Primjeri mikrokontrolerskih arhitektura za embedded aplikacije
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
2
Sistemi u realnom vremenu 4
Hardware mikrokontrolera CPU Interni clock ROM (engl. Read Only
Memory) RAM (engl. Read Access
Memory) Watchdog Tajmer I/O portovi A/D konvertor Serijski interfejs Paralelni interfejs
Copyright: Lejla Banjanović-Mehmedović
Procesori ugrađenih sistema
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
3
Procesori ugrađenih sistema
Ugrađeni (emebedded procesori) – za programiranje specijaliziranih funkcija
Razlika između: Instruction set architecture (ISA) – apstrakcija
vezana za mnoštvo realizacija processor realization or a chip – izvedba
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Tipovi procesora
Ogroman broj embedded aplikacija => veliki broj različitih procesora (mali, jeftini, sa malim napajanjem, visoko-perfomansni, za specijalizirane uređaje).
3 tipa IC krugova, koji se koriste u raznim aplikacijama: mikroprocesori (μP) mikrokontroleri (μC) DSP (Digital Signal Processing)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
4
Sistemi u realnom vremenu 4
Tipovi procesora Mikroprocesori su IC koji u sebi imaju CPU formiran kao
procesor opšte namjene, te periferne jedinice odabrane tako da podržavaju primjenu procesora opšte namjene.
Mikrokontroleri su IC koji u sebi imaju CPU formiran kao siromašniji processor opšte namjene, te periferne jedinice (memorije, I/O uređaji,timeri), koje su odabrane tako da pojednostavljuju primjenu u upravljackim aplikacijama, te u radu u realnom vremenu.
DSP su IC koji posjeduju CPU optimiziran za obradu digitalnih signala u realnom vremenu, te periferne jedinice podešene za upravljačke aplikacije, aplikacije u komunikacijama, aplikacije u akviziciji podataka, aplikacije kod obrade slike i zvuka i sl.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
Primjene mikrokontrolera Mikrokontroleri su uglavnom dizajnirani za specifične
zadaće, vrlo raznolike od slučaja do slučaja. Primjene:
od jednostavne regulacije osvjetljenja, alarmnih sistema
u kontroli dijela proizvodnog procesa ili gotovo cijelog proizvodnog procesa.
pa do upravljanja robotima u industrijskim pogonima.
Koriste mali iznos energije, često uključuju sleep mode, bitno kad se koriste embedded komponente kao senzorski mrežni čvorovi u Cyber-fizičkih sistemima.
Copyright: Lejla Banjanović-Mehmedović
5
Sistemi u realnom vremenu 4
Brzina mikrokontrolera Kao i mikroporocesori (CPU) i mikrokontroleri se
klasificiraju kao 8,16, 32 ili 64 bitni što se odnosi na širinu internih registara i akumulatora.
8-bitna riječ - ukazuje na mali iznos memorije i jednostavnije funkcije.
Moć (brzina) mikrokontrolera: Izražava se u MIPS (miliona instrukcija u sekundi).
AVR 8-bitni ATmega max 16 MHz clock oscillator i budući da se većina instrukcija obavlja u jednom ciklusu clock-a MIPS je 16.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
Clock oscilator (Sistemski sat) Mikrokontroler izvršava program u tačno
određenim vremenskim taktovima. Takt je određen frekvencijom clock oscilatora
(interni RC oscilator ili oscilator sa externim vremenskim elementom, kao što je kristal kvarca, LC rezonantno kolo).
Čim se mikrokontroler pokrene ovaj oscilator počinje sa radom.
Copyright: Lejla Banjanović-Mehmedović
6
Primjeri mikrontrolera Intel 8051, 8-bit mikrokontroler, 1980. 8051 ISA – danas podržan od Atmel, Infineon Technologies, Dallas
Semiconductor, NXP, ST Microelectronics, Texas Instruments i Cypress Semiconductor.
Atmel AVR 8-bit mikrokontroler. 1996, jedan od prvih mikrokontrolera za upotrebu on-chip flash memorije za pohranjivanje programa, RISC arhitektura.
ARM - Advanced RISC Machine. Mnogi 32-bit mikrokontroleri implementiraju neke varijante ARM instrukcijskog skupa, razvijen od strane ARM Limited. ARM ISA za interfejs (mobilni telefoni). Proizvođači: Alcatel, Atmel, Freescale, LG, NEC, NVIDIA, NXP, Samsung, Sharp, Texas Instruments.
Motorola ColdFire (Freescale ColdFire), Hitachi H8 i SuperH, MIPS, PIC(Programmable Interface Controller, Microchip Technology), PowerPC (1991.,alijansa Apple, IBM, Motorola).
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Programabilni logički kontroleri (PLC)
Programabilni logički kontroleri (PLC) - specijalna vrsta mikrokontrolera za industrijsku automatizaciju.
PLC – orginalna zamjena za upravljačke krugove koji koriste električne releje za upravljanje mašinama
Tipično se koriste za kontinulne operacije u agresivnim sredinama (visoka temperatura, vlažnost, prljavština).
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
7
DSP procesori DSP – koristi se za embedded aplikacije koje obavljaju
određeni dio procesiranja signala. Signal je kolekcija uzorkovanih mjerenja iz fizičkog
svijeta, tipično uzeta sa određenim vremenom uzorkavanja (sample rate).
Aplikacije kontrole kretanja – očitanje pozicije ili lokacije iz senzora - sample rate od nekoliko Hz(uzoraka/sekundi) do nekoliko stotina Hz. Audio signali: 8-44kHz Video signali: 25-30Hz Radio aplikacije: nekoliko stotina kHz-nekoliko GHz
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
DSP procesori
Primjene: radari, sonari, video analitika, sistem podrške vozaču, medicinska elektronika, naučna instrumentacija
Aplikacije procesiranja signala (zajedničko svojstvo): rade sa ogromnim brojem uzoraka tipično izvršavaju intenzivne sofisticirane
matematske operacije nad podacima (sistemsku identifikaciju, frekventnu analizu, mašinsko učenje, ekstrakciju karakteristika)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
8
Vrste DSP procesora Single-chip DSP mikroprocesori, prvi put se pojavili 1980. Od Western Electric DSP1 iz Bell Labs, S28211 iz AMI,
TMS32010 iz Texas Instruments, uPD7720 iz NEC Centralna karakteristika DSP – uključuje:
hardware multiply-accumulate unit; nekoliko varijanti Harvard arhitekture (podrška mnogim simultanim dohvatima podataka i programa), adresne modove, cirkularne bafere i bit-reverzno adresiranje (podrška FFT kalkulacijama).
DSP – ovi teži za programiranje od RISC arhitektura, prije u asembleru, danas i u C-u.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Paralelizmi Paralelizam vs. Konkurentnost Kompjuterski program je konkurentan ako se različiti djelovi
programa konceptulano izvršavaju simultano. Program je paralelan, ako se različiti djelovi programa fizički
izvršavaju simultano na različitom hadveru (udaljeni mikroprocesori).
Ne-konkurentni programi specificiraju sekvencu instrukcija za izvršenje. Programski jezik, koji izvršava proračun kao sekvencu operacija, naziva se imperative language.
C - imperativni jezik, izvana thread library za pisanje konkurentnih programa.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
9
Konkurentnost Cilj ubrzanje izvršenja,
unapređenje perfomansi. Za embedded aplikacije –cilj
konkurentnost, konkrenti primjeri CPS
Sekvencijalno izvršenje konkurentnih programa se danas izvršava uz pomoć multitasking operating system
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Pipeline
Primjer jednstavnog 5-stepenog hardverskog pipeline-a za 32-bitnu mašinu
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
10
Pipeline baziran na instrukcijama
Dostizanje visokih perfomansi zahtjeva paralelizam u hardwaru: multicore architectures instruction-level parallelism (ILP), izvršava više
nezavisnih operacija u svakom ciklusu instrukcije: CISC instrukcije subword parallelism, superscalar, VLIW
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
CISC mašine
Procesor sa kompleksnim (i specijaliziranim) instrukcijama - CISC mašina (complex instruction set computer).
RISC mašine (reduced instruction set computers) DSP - ovi tipično CISC mašine, uključuju instrukcije,
koje specifično podržavaju FIR filtriranje (FFT, instrukcija/klok)
CISC mašina – nedostatak: za kompajler teško da napravi optimalno korištenje takvog instrukcijskog skupa
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
11
Subword Paralelizam
Neke embedded aplikacije operiraju na tipovima podataka koji su značajno manji nego veličina riječi procesora.
Subword parallelism – široka ALU podjeljena na “tanke komade” omogućavajući simultane aritmetičke ili logičke operacije nad manjim riječima.
Vector processor – jedna forma gdje instrukcijski skup uključuje operacije na više podataka simultano. Subword parallelism –forma vector processing-a.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Superscalar
Koristi konvencionalni sekvencijalni instrukcioni skup, ali hardware može simultano poslati više instrukcija na zasebne hardverske jedinice, ako se detektuje da takve simultano odašiljanje neće promjeniti ponašanje programa.
Izvršenje programa je identično kao u sekvenci. Podržavaju out-of-order execution, gdje se kasnije
instrukcije u nizu izvršavaju prije ranijih instrukcija, nije pogodno za embedded aplikacije.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
12
VLIW
VLIW (very large instruction word) instrukcioni skup kombinuje mnoštvo nezavisnih operacija u jednoj instrukciji.
Pogodno za embedded aplikacije.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Multicore arhitekture Heterogene multicore mašine kombinuju različite
procesorske tipove na pojedinačan čip. Različite multicore arhitekture koje se koriste u
embedded aplikacijama koriste jedan ili više soft jezgara zajedno sa uobičajenim hardware-om na field-programmable gate array (FPGA).
FPGA – čipovi čije hardwarska funkcija je programirana korištenjem hardware design tool-ova.
Soft cores – procesori implementirani na FPGA.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
13
Memorijske arhitekture
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Memorijske arhitekture Memorijski sisitemi imaju više uticaja na perfomanse cjelog
sistema nego pipeline podataka. Ovisi o aplikaciji! Tri izvora kompleksnosti u memoriji:
Neophodno kombinovati različite memorijske tehnologije u istom embedded sistemu. Neke memorije - volatile, sadržaj se gubi pri isključenje napajanja. Embedded sistemi trabaju kombinaciju volatile i non-volatile memorija.
Neophodna memorijska hijearhija (memorije sa većim kapacitetom i manjim napajanjem –sporije). Kombinovati brže i sporije memorije –prihvatljiva cjena.
Adresni prostor procesorske ahitekture je podjeljen da obezbjedi pristup različitim memorijama (npr. I/O portovima)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
14
Sistemi u realnom vremenu 4
RAM RAM (engl. Read Access Memory) je oblik primarne memorije čijem se sadržaju može direktno pristupiti.
RAM omogućuje upisivanje, čitanje i brisanje podataka, za razliku od ROM-a, iz kojeg je podatke moguće samo čitati. U RAM se upisuju aktivni programi, te informacije potrebne za trenutni rad računara.
Kod aplikacija za rad u realnom vremenu RAM predstavlja radnu memoriju u koju se smještaju međurezultati, podaci nad kojim se trenutno izvode operacije, parametri koji se upisuju prilikom pokretanja programa, stanje registara CPU-a kod prekida (stack) itd.
Razlikuje se: Interni RAM - integriran u čip mikrokontrolera, Eksterni RAM – dodaje se kao spoljašnja komponenta.
Copyright: Lejla Banjanović-Mehmedović
RAM
SRAM (static RAM) – brža nego DRAM (dynamic RAM) DRAM – drži podatke kratko vremena (toliko koliko je
napajana), svaka lokacija mora biti periodično refreširana
Oba tipa gube sadržaj ukoliko je napajanje izgubljeno (obje vrste su volatile memory)
Mnogi embedded sistemi sadrže SRAM DRAM – veći kapacitet
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
15
Sistemi u realnom vremenu 4
ROM ROM (engl. Read Only Memory) memorija,
namijenjena samo za čitanje. Njen sadržaj je nemoguće mijenjati u toku izvođenja programa, permanentni sadržaj (firmware), realizovan kroz mass-proizvode
ROM – predstavnik non-volatile memory ROM se koristi za smještanje koda programa i
konstanti, memorija u koju se ne mogu upisivati podaci. Razlikuje se:
interni ROM (integrisan u sam čip mikrokontrolera) eksterni ROM, kao zasebna komponenta.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
ROM PROM (engl. Programmable ROM) – memorija koja se može
programirati upotrebom posebnog uređaja - PROM programatora. Često se prilikom upisivanja podataka na ovaj način kidaju unutrašnje veze, te se zbog toga PROM može samo jednom programirati.
EPROM (engl. Erasable PROM) – memorija čiji sadržaj se može brisati izlaganjem ultraljubicastom (UV) svjetlu, a zatim upisivati putem EPROM programatora. Broj brisanja (izlaganja UV zrakama) je ograničen.
EEPROM (engl. Electrical EPROM). Može se cijeli sadržaj ili samo dio, izbrisati električnim putem (posljedica ove osobine je i integrisanje ROM-a u čip mikrokontrolera). Koriste se u telefonima, pejdžerima, prenosivim računarima, PDA uređajima.
Flash je jedna forma EEPROM-a, služi za storiranje firmware i korisničkih podataka, i u slučaju nestanka napajanja.
Copyright: Lejla Banjanović-Mehmedović
16
Memorijska hijerarhija
Mnogi procesori koriste memorijsku hijerarhiju , kombinovanjem različitih memorijskih kapciteta, u cilju optimizacije cjene, kašnjenja i potrošnje enrgije.
Tipično koriste mali iznos on-chip SRAM sa većim iznosom off-chip DRAM.
Fragmentacija memorije kroz proizvodnju –virtuelna memorija kroz adresni prostor.
Separacija programske memorije od memorije podataka - Harvard architecture.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Memorijska hijerarhija
Sistemi u realnom vremenu 4
Memory map of an ARM CortexTM - M3 architecture
Copyright: Lejla Banjanović-Mehmedović
17
Raspored registara kod ATmega16
16KB Flash memorije1024 SRAM
Memorijska hijerarhija
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Registarski fajlovi
Integrisana memorija u procesoru - register file. Svaki register u fajlu storira riječ (word). Veličina
riječi je ključna za procesorsku arhitekturu. 1 byte – na 8-bit architecture 4 bytes - na 32-bit architecture 8 bytes – na 64-bit architecture. Broj registara mali, ovisi o ISA.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
18
Keš-memorije
Embedded aplikacije imaju kombinaciju različitih tipova memorije.
Memorije mogu biti “bliže” (eng. Close) procesoru, po pristupu. Npr. SRAM.
Ako “bliže” memorije dupliciraju podatke u memorije na udaljenosti - keš memorije
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Primjer single-board computer ilimicrocomputer board
Stellaris R LM3S8962 evaluation board (Luminary Micro R, 2008a).
(Luminary Micro was acquired by pointerTexas Instruments in 2009.)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
19
Ulazi/izlazi (I/O portovi)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
I/O portovi
Kako cyber-fizički sistemi integrišu računarsku i fizičku dinamiku, mehanizmi u procesorima, koji podržavaju interakciju sa vanjskim svijetom su izuzetno bitni.
Interakcija sekvencijalnog koda i konkuretnih događaja u fizičkom svijetu.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
20
Sistemi u realnom vremenu 4
I/O portovi Ulazno/izlazni portovi - predstavljaju dvosmjerne
rastavne stepene, koji omogućavaju vezu procesora i perifernih jedinica koje se dodaju kod specifičnih aplikacija.
I/O portovi - u osnovi registri koji mogu prihvatiti podatak od vanjskog uređaja kada vrše funkciju ulaza ili od procesora (tada vrše funkciju izlaza).
Upisani podatak se može pročitati i on ostaje prisutan u registru do upisivanja novog podatka ili isključenja napajanja.
Ulazno/izlaznom portu je moguće pristupiti kao grupi od 8 bita ili 16 bita, te pojedinačno svakom bitu.
Napon i struja zavise od vrste uređaja.Copyright: Lejla Banjanović-
Mehmedović
Sistemi u realnom vremenu 4
I/O portovi Razlikuju se dva tipa ulazno/izlaznih portova:
oni koji prenose samo digitalne podatke; oni koji mogu da prenose digitalne podatke i/ili
analogne signale.
Copyright: Lejla Banjanović-Mehmedović
21
Sistemi u realnom vremenu 4
Digitalni I/O port
Mikrokontroleri koriste digitalne I/O komponente za razmjenu digitalnih podataka sa vanjskim svijetom.
Za razliku od serijskog porta koji podatke prenosi serijski bit po bit, podaci na digitalnom I/O portu se razmjenjuju kao bajti.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
Analogni I/O port
Analogni ulaz se realizuje korištenjem analogno-digitalnog konvertora (ADC).
Mikrokontroler može biti opremljen sa integrisanim ADC ili analognim komparatorom koji radi pod softverskom kontrolom i obavlja A/D konverziju.
ADC se koriste za prikupljanje podataka kao što su senzori temperature i pritiska koji daju analogne napone na svom izlazu.
Copyright: Lejla Banjanović-Mehmedović
22
Sistemi u realnom vremenu 4
Serijski interfejs Serijski port: Koristi se za serijsku komunikaciju sa
eksternim uređajima. Serijski interfejs – šalje ili prima sekvencu bita
sekvencijalno preko pojedinačne linije.
Zadatak interfejsa je da prevede: serijski podatak u paralelni kada mikrokontroler
prima podatke paralelni podatak u serijski kad mikrokontroler
šalje podatke te da otpremljene podatke proširi sa dodatnim
bitima potrebnim za prenos.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
Serijski interfejs Brojni standardi:
RS-232, RS-422, RS-423 universal serial bus (USB) interfaces, USB 3.0 , 2008
brzina prenosa podataka do 4.8 Gbits/sec. JTAG (Joint Test Action Group), ili poznat formalno kao IEEE
1149.1 –interfejs implementiran u embedded sistemima (obezbjeđuje debug interfejs, PC-hosted debugging okruženje za ispitivanje upravljačkih stanja embedded procesora)
I2C (interintegrated circuit), SPI (serial peripheral interface bus), PCI Express (peripheral component interconnect express), FireWire, MIDI (musical instrument digital interface); network interfaces - tipično serijski .
Copyright: Lejla Banjanović-Mehmedović
23
UART digitalni serijski interfejs UART – konvertuje sadržaj 8-bit registra u
sekvencu bita za prenos preko RS-232 serijskog linka
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
I2C komunikacija
I2C (eng. Inter-Integrated Circuit) predstavlja vid serijske sinhronekomunikacije između nekoliko mikrokontrolera u vidu Master-Slavemagistrale.
Glavni uređaj generiše takt i adresira sporedne učesnike (7 bit – 112 učesnika; 10 bita -preko 1000 učesnika).
Postoji mogućnost kreiranja Multi-Master-magistrale.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
24
Usporedbe serijskog interfejsa - CAN : multi-master bus sa hard-programmed adresama
- I²C/TWI : multi-master bus sa hard-programmed adresama- USB : single-master bus sa varijabilnim adresama, adresa pridružena uređaju pri konekciji na bus- UART : uopšte nije bus system, UART - asynchronous communication system- SPI : uopšte nije bus system, SPI - synchronous communication system, ostale karakteristike iste kao kod UART, SPI koristi jednu više liniju nego UART, jer treba sinhroni klok
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Paralelni interfejs
Paralelni interfejs koristi mnoštvo linija da simultano šalje bite. Svaka linija paralelnog interfejsa je također serijski interfejs, ali su logički grupisane i koordiniranim akcijama, ove linije čine paralelni interfejs.
Napoznatiji IEEE-1284 printer port, na IBM PC korišten DB-25 konektor, danas USB portovi u ove svrhe.
I/O portovi se mogu koristiti pažljivim programiranjem da čine paralelni interfejs.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
25
Primjeri konektora za serijski i paralelni interfejs
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Ostali bitni segmenti mikrokontrolerksog hardwera
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
26
Sistemi u realnom vremenu 4
Watchdog Za tačno izvršavanje programa mikrokontrolera brine se
sigurnosni sat (Watchdog). U sam mikrokontroler ugrađuje se jedan brojač koji se
automatski povećava za jedan poslije određenog broja mašinskih ciklusa.
Starta od nule, poslije njegovog aktiviranja pa do maksimalne vrijednosti koju može dostići korištena dužina brojača. Kada dostigne maksimanu vrijednost izvršit ce reset mikrokontrolera(automatski starta unutrašnji reset te će program započeti proceduru ispočetka).
Prilikom pisanja aplikacije, programer vodi računa o ovom brojaču, te izvrši njegovo resetovanje programski, uvijek kada se program završi do kraja, odnosno korektno. Ako se iz bilo kojeg razloga program zaglavi, on neće stići do kraja, te neće ni resetovati brojač.
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
Tajmer Brojači čiji se sadržaj mijenja u skladu sa takt impulsom
kojeg generiše sat (Clock) nazivaju se tajmerima. Brojanje kod tajmera može da starta od nule ili od neke
druge početne vrijednosti koja je programski upisana. Također, brojanje tajmera može ići u opadajućem smjeru, od neke maksimalne vrijednosti. Po dostizanju maksimalne (minimalne) vrijednosti tajmeri počinju brojati od početne vrijednosti.
Neki tajmeri kada dostignu svoju maksimalnu (minimalnu) vrijednost automatski generišu unutrašnji prekid, na osnovu kojeg se može realizirati neka upravljačka funkcija.
Tajmeri se razlikuju po broju bita, pa tako imamo 8-bitne, 16-bitne, 32bitne itd., što određuje dužinu brojanja.
Copyright: Lejla Banjanović-Mehmedović
27
Sistemi u realnom vremenu 4
A/D konvertor U ovisnosti od izvedbe A/D
konvertor se nalazi u čipu mikrokontrolera ili sa dodaje kao zaseban čip.
A/D konvertor obično ima više multipleksiranih kanala sa odgovarajućom dužinom izlazne riječi.
A/D kovertor je opremljen sa kolima za uzorkovanje i zadržavanje (Sample/Hold).
Trajanje A/D koverzije zavisi od tipa A/D konvertora i bitan je parametar za definisanje primjene. Blok dijagram A/D konvertora sa 8 kanala
Copyright: Lejla Banjanović-Mehmedović
Sistemi u realnom vremenu 4
D/A konvertor Analogni izlaz se ostvaruje korištenjem
digitalne/analogne konverzije (DAC). Većina mikrokontrolera je opremljena sa širinsko
impulsnim modulatorima (engl. Pulse Width Modulator PWM) koji mogu biti korišteni za dobijanje analognog napona uz pomoć odgovarajućih RC filtera.
DAC se koriste za upravljanje motorima, displejima, generisanje zvuka, muzike i sl.
Copyright: Lejla Banjanović-Mehmedović
28
Kućišta integrisanih kola Dvostrano kućište (DIL – Dual In Line), proizvedeno
sa spoljnim izvodima duž obe strane. Maksimalan broj izvoda je 68.
Mreža nizova izvoda (PGA – Pin Grade Array) sa izvodima (oko 120 u tipičnom slučaju) uređenim u kolonama i izdvojenim iz kućišta.
Nosioc kućišta bez izvoda (LCC – Ledless Chip Carrier) i J – nošen nosač kućišta (JLCC – J–Leaded Chip Carrier) su kvadratna kućišta sa spoljnim spojevima izdvojenim duž svake strane, i u slučaju JLCC uvrnuto ispod osnove.
Površinsko kućište u kome su izvodi izdvojeni u oblik pogodnom za površinsku štampu (BGA – Ball Grid Array).
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Primjeri mikrokontrolerskih platformi
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
29
Atmelov mikrokontroler ATMEGA 16-16PU
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Karakteristike Vrijednost
kučište DIL 40
8-bit Timer 2
10-bit A/D Channels
8
Flash memorija 16 kB
RAM 1 kB
UART 1
SPI 1
TWI 1
16-bit Timer 1
UCC 4,5...5,5 V
EEPROM 512 Byte
Frekvencija takta
0 - 16 MHz
I/O Pins 32
AVR arhitektura ATmega32
• 32KBytes Flash memorije sa mogućnosti samoprogramiranja (In-System Self-programmable)
• 1024 Bytes EEPROM• 2K Byte Internog SRAM
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
30
KR-mega32-16 V2.3
Mobilna robotska platforma KR-mega32-16 V2.3 je bazirana na ovom mikrokontroleru
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
KR-mega32-16 V2.3 Od aplikacije, koju
želimo izgraditi , ovisi izbor mikrokontolerske strukture, koliko će imati I/O portova, koliko ROMa, RAMa i sl.)
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Mobilna robotska platforma KR-mega32-16 V2.3 sa dodatim senzorima
31
Primjer mogućih priključaka senzora na I/O portovima za KR-mega
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Analogni ulazi Zauzimanje porta
1 Senzor za mjerenje udaljenosti lijevo
2 slobodan
3 slobodan
4 slobodan
5 slobodan
6 slobodan
7 slobodan
8 Senzor za mjerenje udaljenosti desno
Motori Zauzimanje porta
Motor 1 Motor lijevo
Motor 2 Motor desno
Servo 1 Servo motor lijevo
Servo 2 Servo motor desno
Digitalni ulazi Zauzimanje porta
9 slobodan
10 slobodan
11 slobodan
12 slobodan
13 slobodan
14 slobodan
15 slobodan
16 slobodan
17 Taster pozadi desno
18 Taster pozadi lijevo
19 Taster sprijeda lijevo
20 Taster sprijeda desno
21 slobodan
Arduino mikrokontrolerska platforma
1. USB priključak
2. Regulator napona
3. Utičnica za napajanje
4. Digitalni pinovi
5. FTDI USB čip
6. Testna “lampica“
7. TX i RX diode
8. Radna dioda
9. Reset dugme
10.Mikrokontroler
11. Pinovi za napajanje
12.Analogni pinovi Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
32
Arduino Uno specifikacijeMikrokontroler Atmega328Napon potreban za rad 5 V
Preporučeni ulazni napon 7‐12 V
Maksimalni ulazni napon 6‐20 V
Broj digitalnih pinova 14
Broj analognih pinova 6
Izlazna struja po jednom ulazno‐izlaznom pinu 40 mA
Izlazna struja za 3.3 V pin 50 mA
Flash memorija 32 KB, (0,5 KB služi za bootloader)
SRAM 2 KB
EEPROM 1 KB
Brzina procesora 16 MHz
Dužina 68.6 mm
Širina 53.4 mm
Težina 25 g
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Atmega 328 mikrokontroler
visoko preformasni mikrokontroler
memorija 32 KB
2 KB SRAM memorije
1 KB EEPROM memorije
23 I/O linije
Tri tajmera/brojača
SPI serijski port
radni napon 1.8‐5.5V
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
33
Specijalizirane funkcijedigitalnih I/O pinova Serial: 0 (RX) i 1 (TX): RX se koristi za primanje, a TX za slanje
serijskih podataka. Ovi pinovi su spojeni na pinove mikrokontrolera.
Vanjski prekidi 2 i 3: Ovi pinovi reagiraju ukoliko dođe do prekida ili promjene vrijednosti.
PWM: 3, 5, 6, 9, 10 i 11: omogućavaju 8-bitni PWM izlaz pomoću analogWrite() funkcije.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Omogućavaju SPI komunikaciju koristeći SPI biblioteke (eng. libary).
LED 13: Fabrički ugrađena “lampica“ na pinu br. 13 koja se uključuje ukoliko je vrijednost HIGH, a isključuje ukoliko je vrijednost LOW.
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Neke familije Arduino platformi -osnovne specifikacije
Ime Procesor
Radninapon
/Ulazninapon
CPUbrzina
ANALOG
In/Out
DigitalIO/
PWM
EEPROM[KB]
SRAM
[KB]
FLASH
[KB]
USB
UART
Uno ATmega328 5 V /7-12 V 16MHz 6/0 14/6 1 2 32 Regular 1
Mega 2560 ATmega2560 5 V /7-12 V 16MHz 16/0 54/15 4 8 256 Regular 4
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
34
Arduino bazirane robotske strukture
Podržava veliki broj senzora:infracrvenikontaktni „whiskers“ senzoriUltrazvučni (sonar)Video kameraEnkoderi...
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Primjer mobilne robotske platforme Pioneer 3-DX
• Baziran na 44.2368 MHz Renesas SH2-7144 32-bitnom RISC mikroporcesoru
• 128 kB FLASH memorije i• 32 kB RAM-a i
• Interface-i mikrokontrolera su obezbjeđeni putem 3 PCI porta i mnoštvom drugi komunikacionih portova
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
35
Usporedba mikrokontrolerskih karakteristika ugrađenih real-time platformi
Sistemi u realnom vremenu 4
Copyright: Lejla Banjanović-Mehmedović
Atmel 16 Kr-mega 32 Arduino Pioneer 3-DX16-bitni Atmel
16MHz
32-bitni Atmel 32-bitni Atmel 328 32-bitni Renesas SH2-7144
16KB Flash mem.
512B EEPROM
1 KB Internog SRAM
32KB Flash mem.
1024 B EEPROM
2KB Internog SRAM
32KB Flash mem.
1KB EEPROM
2KB Internog SRAM
128 kB FLASH memorije
32 KB RAMa
8-bitni Tajmer (2)
16-bitni tajmer (1)
UART, SPI,TWI
Radni napon 4,5...5,5 V
13 U/I digitalnih portova
8 Anal. Portova (kao ul. ili kao digitalni U/I)
2 izalaza za motore
2 servo priključka
23 I/O linije Tri tajmera/brojača SPI serijski port radni napon 1.8‐5.5V
4 RS-232 ser. porta (5 konektora)
2 8-bit bumpera /dig.ul.konektor. Hvataljka / I/O port sa 8-bitnim digital I/O, analogni ulaz Motor/Power Board (drive system) interf. sa PWM i 8-bit dig. ulazima