35
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ć

Hadware ugrađenih real-time sistemalejla-bm.com.ba/SRV/SRV_4_Hardwer_ugradjenih_real_time_sistema.pdf · Title: Microsoft PowerPoint - SRV_4_Hardwer_ugrađenih_real_time_sistema.ppt

  • Upload
    others

  • View
    1

  • Download
    0

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