SlideShare a Scribd company logo
1 of 28
PORODICE MIKROUPRAVLJAČA
Tehničko veleučilište u Zagrebu
Elektrotehnički odjel
Stipe Predanić
17.11.2016
Elektronička računala i računalna oprema
14.05.17 Copyright Stipe Predanić, 2014 2
Mikroprocesor i mikroupravljač
● Za građu računala potrebni su:
– CPU
– ROM s programom (barem osnovnim za podizanje
operacijskog sustava, poput BIOS-a na PC računalima)
– RAM za privremeno spremanje podataka
– sklop za rad s vanjskim ulazno/izlaznim jedinicama
● Mikroupravljač (mikrokontroler, eng. microcontroller) ima
sve komponente ugrađene u sebe
– i još mnoge druge, poput timera, RTC-a, sklopova za serijsku
komunikaciju
● Mikroprocesor je često goli CPU, bez posebnih dodatnih
sklopova
– sve potrebno dodati u okruženje mikroprocesora
Obitelji mikroupravljača
● U svijetu mikroupravljača postoji nekoliko velikih te
mnoštvo manjih proizvođača
– Mali proizvođači često licenciraju procesore od velikih
proizvođača
● Veliki proizvođači uobičajeno osmišljavaju nove procesore
i mikroupravljače, no osmišljavanje posve novog okruženja
je rijetko kad financijski isplativo
– Novi prevoditelji (compileri)
– Nova dokumentacija
– Novi referentni dizajn
● Rješenje: osmisliti porodicu mikroupravljača koja ima isti
CPU (eng. core), dok se periferni elementi (AD pretvornici,
RAM i ROM memorija, itd) dodaju prema potrebi
Obitelji mikroupravljača
● Primjer AVR ATTINY serija:
– http://en.wikipedia.org/wiki/Atmel_AVR_ATtiny_comparison_chart
– Primjetimo kako je GCC identifier isti za dobar dio
mikroupravljača iako su njihove karakteristike različite
● GCC je GNU C compiler, prevoditelj za C jezik
– Što znači kad je isti identifikator?
● Ista građa CPU-a koji izvršava naredbe
● Jednaki asemblerski odnosno strojni kod
● Moguće prebacivanje programskog koda s jednog
mikroupravljača na drugi
– Zbog cijene procesora, dodatnih mogućnosti periferije,
više memorije
14.05.17 Copyright Stipe Predanić, 2014 5
Porodice mikroupravljača
Obitelji mikroupravljača
● "Obitelj" ili "Porodica" mikroupravljača se definira kao grupa
proizvoda koji dijele zajedničku osnovnu arhitekturu te su
kompatibilni programskim kodom (eng. Code compatibile)
● Napomena: Programski kod napisan za jednog člana obitelji
trebao bi biti kompatibilan s ostalim članovima iste obitelji.
Obitelji mikroupravljača
● Procesori u mikroupravljaču su najčešće:
– 8 bitni
● Manjih procesorskih snaga
● Manje programske memorije (od par stotina byteova do stotinjak kB)
● Manji RAM (od desetak byteova do par kB)
● Jeftini
– 32 bitni
● Većih procesorskih snaga
● Više programske memorije, više RAM-a
● Mogu pokretati i jednostavne RTOS (Real time OS)
● Skuplji
– Razlika u cijeni samih mikroupravljača na veliki broj primjeraka čak i
nije velika (reda par dolara). No često 32 bitni zahtjevaju više pažnje
u proizvodnji samih uređaja, te je rijetko kad toliko snage stvarno
potrebno.
Microchip PIC
● Microchip je veliki proizvođač mikroupravljača
– 8 bitne serije
● PIC10, PIC12, PIC16, PIC18
● Poznatiji procesori: 16F84, 16F628, 18F2550 18F4550
● Najslabiji 10F200 radi na 4MHz, ima 375B Flasha, 16 byte
RAM i 4 GPIO - cijena 31 cent
– 16 bitne serije
● PIC24, dsPIC30 dsPIC33
– Ds – Digital Signal, ugrađena podrška za brzu obradu signala
– 32 bitne serije
● PIC32
– Najjači (PIC32MZ2048 serija) imaju i do 2MB Flasha, 512kB
RAM-a, ugrađeni Ethernet kontroler, cijene (za modele s 1MB
Flasha) počinju od 6.7US$
Microchip PIC
● Osnovna PIC platforma je osmišljena 1975!!, od strane
General Instrumentsa, kao sklop za kontrolu vanjskih
jedinica za procesor CP1600 (16 bitni procesor)
● 1985 je platforma doživjela prvi upgrade, a 1993 su prešli
na EEPROM za programiranje
● Godišnje Microchip proda preko milijardu različitih
mikroupravljača.
Atmel AVR
● Atmel u AVR seriji ima mikroupravljače:
– 8 bitne
● TinyAVR obitelj (ATtiny serija)
– Najslabiji Attiny 4 ima 0.5kB ROM, 32byte RAM, 4GPIO
● megaAVR obitelj (ATmega serija)
– Na ovoj se obitelji temelji popularna Arduino platforma
● XMEGA (ATxmega serija)
● FPSLIC(AVR s FPGA (Field-programmable gate array))
– Mogućnost stvaranje hardverskih logički sklopova kroz softver,
što ubrzava obradu signala
– 32 bitne
● AVR32 UC3
– Podržava hardversku implementaciju Java virtual machine
– Ugrađen aritmetički koprocesor
– Najjači imaju do 512kB FLASH (programska memorija), 128kB
RAM, Ethernet itd.
Atmel AVR
● AVR je osmišljen u Norveškoj sredinom 1990
● Prava prodana Atmelu i 1997 predstavljen prvi chip na
tržištu
● Popularna Arduino razvojna platforma je bazirana na
ATMEGA seriji
● Microchip je kupio AVR početkom 2016. godine
Texas Instruments MSP430
● Texas Instruments ima mnoge procesore u proizvodnji ali
MSP430 jezgra je popularna jer:
– 16 bitna jezgra koja zahtjeva iznimno malo energije
● Različiti modeli imaju različito ciljano tržište:
– MSP430L092 ima 1KB ROM i 128B RAM, ali može raditi već od
0.9V na 1MHz (i pritom troši manje od 50μA struje) – cijena 0.8$
– MSP430F6659 ima 512KB FLASH, 66KB RAM, ima ugrađenu
podršku za LCD, troši 300μA /MHz i košta 6.48$
● Zbog male potrošnje često se koristi u senzorima, jer je TI
koristio istu jezgru i u RF340 seriji (MSP430 jezgra + RF
komunikacija)
ARM
● ARM arhitektura je jedna od najkorištenijih arhitektura u
računarstvu
– Koristi se u svemu od mobitela, manjih računala pa do
mikroupravljača
– ARM jezgra se može licencirati i po potrebi dalje razvijati
● Apple procesori A4-A8 u iPhone i iPad uređajima su ARM
bazirani
– Doduše Apple je ARM procesor koristio i u svojem prvom PDA –
Apple Newton
● Osim daljnjeg razvoja često se uz jezgru dodaju različiti
elementi kako bi se uz CPU dobile i dodatne mogućnosti
– Zar to nije mikrokontroler?
– SoC
● System on a Chip
● Visoko integrirane komponente u jednu komponentu
ARM
● ARM arhitektura
– Većinom 32 bitna, ali postoje i 64 bitne verzije
– Cortex M arhitektura je za mikroupravljače
Architecture Cores designed by ARM Holdings
ARMv1 32/26 ARM1
ARMv2 32/26 ARM2, ARM3
ARMv3 32 ARM6, ARM7
ARMv4 32 ARM8
ARMv4T 32 ARM7TDMI, ARM9TDMI
ARMv5 32 ARM7EJ, ARM9E, ARM10E
ARMv6 32 ARM11
ARMv6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1
ARMv7-M 32 ARM Cortex-M3
ARMv7E-M 32 ARM Cortex-M4, ARM Cortex-M7
ARMv7-R 32 ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7
ARMv7-A 32
ARMv8-A 64/32 ARM Cortex-A53, ARM Cortex-A57
Bit
width
ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8,
ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-
A15, ARM Cortex-A17
ARM
● ARM Cortex M arhitektura
– Različite arhitekture imaju različite mogućnosti
● Različite Cortex M arhitekture se trebaju gledati kao zasebne
porodice
– Npr. Memorijski model
● M0, M0+ i M1 imaju Von Neumann memorijski model
● M3, M4 i M7 imaju Harvard memorijski model
– Npr. dodatna hardverska podrška
● Sklopovski riješeno djeljenje brojeva
– M0, M0+, M1 – nemaju taj sklop
– M3, M4, M7 – imaju taj sklop
ARM
● Cortex M
ARM
● Cortex M proizvođača ima dosta
Cortex-M7 STMicroelectronics, Freescale, Atmel
Cortex-M4 NXP, STMicroelectronics, Texas Instruments, Freescale, Open-Silicon, eSilicon
Cortex-M3
Cortex-M0
Cortex-M0+
Accent Srl, Actel Corporation, Broadcom Corporation, Cypress Semiconductor,
Ember, Energy Micro, Fujitsu, NXP, Fuzhou Rockchip Electronics CO. Ltd.,
STMicroelectronics, Texas Instruments, Toshiba, Zilog, Open-Silicon, eSilicon
Austriamicrosystems, Chungbuk Technopark, NXP, Triad Semiconductor, Melfas,
Open-Silicon, eSilicon, Cypress, Infineon, Nuvoton, STMicroelectronics
Freescale, NXP, Atmel, Spansion, Silicon Labs
ARM
● Cortex M cijene i mogućnosti su šarolike, ali je moguće pronaći mikroupravljače po
cijenama usporedivim s 8 bitnim procesorima (ali i usporedive su i karakteristike)
– Npr. STM32F042F4P6 je Cortex M0+, ima 16kB Flash, 6kB RAM, radi na 48MHz i ima
samo 28 nožica. Cijena je 1$
– NXP Semiconductors LPC4317 , ima 1MB Flash, 136kB RAM, radi na 204 MHz, cijena
15$
● Primjene su šarolike, i lako je pronaći razvojne sustave s Cortex M procesorima
– Hardverska podrška
● Arduino Due ( Atmel SAM3X8E Cortex M3), Teensy serija (Freescale MK20DX256VLH7
Cortex M4)
● NXP LPCExpresso serija (koriste NXP LPC procesore, npr. LPC1343 koji je Cortex M3
procesor)
– Softverska podrška
● MBED (online razvoj, iznimno jednostavno), http://developer.mbed.org/
● Arduino (nastavak na 8 bitne procesore), http://www.arduino.cc/
ARM
● Cortex M daje stvarne mogućnosti mikroupravljača, te profesionalna
upotreba stvarno zahtjeva takva rješenja
● Često se traži i:
– Jednostavna platforma
– Koja koristi standardizirane OS-eve za embedded riješenja
● Linux
● Free RTOS
● QNX
● VxWorks
● Stoga se često za embedded upotrebu koriste i Cortex A procesori u
jednostavnim računalima
– Raspberry Pi, BeagleBone itd.
– Pružaju se mogućnosti pokretanja većih aplikacija koje koriste više
RAM-a i podatkovnog prostora
– uređaji pružaju multifunkcionalnost
ARM
● S upotrebom Cortex A procesorima u jednostavnim
računalima poput Raspberry Pi zatvara se cijeli krug
računarstva
– ARM je nastao za potrebe britanske tvrtke Acorn Computers
koja je proizvodila BBC Micro seriju mikroračunala u 80-tima
– Tražili su brži i efikasniji procesor od trenutno dostupnih, i
krenuli su raditi vlastiti procesor, te su 1987 na tržište izbacili
Acorn Archimedes računalo
● izvan Velike Britanije nije imalo veliki uspjeh makar je bilo brže
i pouzdanije od tada popularnih 16 i 32 bitnih modela
14.05.17 Copyright Stipe Predanić, 2014 21
Intel MCS-51
● 8 bitni procesori, Harvard arhitektura
● Podržava 2 odvojena memorijska područja za programe
– U samom chipu (do 64 kB, u originalu 4kB)
– Vanjska memorija (do 64 kB)
● Obitelj MCS-51 obuhvaća originalne procesore:
● Napomena: 8031 nema ugrađenu programsku memoriju (ROM)
već obavezno mora imati vanjsku programsku memoriju
– Niža cijena za situacije kad ugrađena nije bila dovoljna
14.05.17 Copyright Stipe Predanić, 2014 22
Intel MCS-51
● Intel je MCS-51 porodicu izbacio na tržište 1981.
– Prije toga su imali MCS-48 porodicu, iznimno popularnu
– Poslije su nadograđivali MCS-51 u MCS-151 i MCS-251
serijama
– Intel od 2007. ne proizvodi MCS-51 mikroupravljače
● Nasreću, licencirali su mikroupravljače, te ih sada
proizvodi preko 20 drugih proizvođača:
– Atmel, Maxim (preko Dallas podružnice), NXP, ST
Microelectronics, Silicon Laboratories, Texas Instruments itd.
– No ono što je još zanimljivije, MCS-51 jezgra se koristi i kod
mnogih drugih proizvođača kao dio gotovih vlasničkih
(proprietary) chipova (npr. Kontroleri za razne sklopovske
elemente – USB memorije, wireless riješenja i sl.)
14.05.17 Copyright Stipe Predanić, 2014 23
Intel MCS-51
● Popularnost MCS-51 se očituje u tome što je procesor bio
– licenciran drugim proizvođačima
– jednostavan
– jeftin
– Zbog gorenavedenih karakteristika postoji mnogo već
napisanog koda što ubrzava razvoj produkta
● Moderni MCS-51 imaju
– Više ili manje portova od originala
– Dodatnu podršku za komunikacijske protokole
– Hardwired kontrolnu jedinicu (original Intel je imao
mikroprogramiranu)
14.05.17 Copyright Stipe Predanić, 2014 24
Intel MCS-51
ATMEL
AT89c051 (1kB FLASH)
AT89c2051 (2kB FLASH)
AT89c4051 (4kB FLASH)
INTEL 8051
4kB ROM
14.05.17 Copyright Stipe Predanić, 2014 25
Motorola/Freescale 68x serije
● Motorola je u 70-tima izradila uspješnu 6800 seriju
mikroprocesora
– 8 bitni procesori, Von Neumann arhitektura
– Temeljem tog procesora Motorola je izradila porodice
mikroupravljača:
● 68HC05 seriju (ne proizvodi se),
● 68HC08 serija (slabiji procesori ),
● 68HC11 serija (jači i opremljeniji procesori)
● 68HC12 serija (16 bitni, u potpunosti kompatibilni s 68HC11)
● 68HC16 serija (16 bitni, softverski kompatibilni s 68HC11)
– Motorola je krajem 2000-tih odcijepila svoj odjel razvoja
procesora u tvrtku Freescale
– Ovi procesori su iznimno popularni u industrijskoj proizvodnji,
iz istog razloga kao i Intel MCS-51
14.05.17 Copyright Stipe Predanić, 2014 26
Zilog Z80
● Zilog Z80 mikroprocesor je iznimno uspješan mikroprocesor iz
70-tih i 80-tih
– Koristio se u ZX seriji (Spectrum, 81 itd), Amstrad CPC seriji, i
mnogim drugim mikroračunalima (u Jugoslaviji Galaksija
– 8 bitni procesor baziran na Intel 8080 arhitekturi, Von Neumann
– Tijekom vremena korištena su Z80 računala kao ugradbeni
uređaji
– U 90-tima je započet rad na mikroupravljačima koji imaju Z80
jezgru
● Toshiba, Hitachi i drugi
– Popularnost: isto kao i Motorola 68x i Intel MCS-51, postoji
mnogo postojećeg (starog) programskog koda koji se i dalje
koristi.
14.05.17 Copyright Stipe Predanić, 2014 27
Drugi?
14.05.17 Copyright Stipe Predanić, 2014 28

More Related Content

Similar to [ERRO] Predavanje: Porodice mikroupravljača

[ERRO] Predavanje: Prikaz podataka 1.12.2016
[ERRO] Predavanje: Prikaz podataka 1.12.2016 [ERRO] Predavanje: Prikaz podataka 1.12.2016
[ERRO] Predavanje: Prikaz podataka 1.12.2016 Stipe Predanic
 
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016 [ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016 Stipe Predanic
 
Diskovi spajanje organizacija_raid-ova
Diskovi spajanje organizacija_raid-ovaDiskovi spajanje organizacija_raid-ova
Diskovi spajanje organizacija_raid-ovaTomislav Lulic
 
CUC2010: Linux datotecni sustavi
CUC2010: Linux datotecni sustaviCUC2010: Linux datotecni sustavi
CUC2010: Linux datotecni sustaviDinko Korunic
 
Algoritmi i strukture_podataka_2016-03_v01
Algoritmi i strukture_podataka_2016-03_v01Algoritmi i strukture_podataka_2016-03_v01
Algoritmi i strukture_podataka_2016-03_v01Leonardo Miljko
 
Izgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreIzgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreSenko Rašić
 
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxZahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxsindikatpolicijehnzk
 
[ERRO] Predavanje: FPGA 12.1.2017
[ERRO] Predavanje: FPGA 12.1.2017 [ERRO] Predavanje: FPGA 12.1.2017
[ERRO] Predavanje: FPGA 12.1.2017 Stipe Predanic
 
Kratka priča o nas i san sustavima (i malo više)
Kratka priča o nas i san sustavima (i malo više)Kratka priča o nas i san sustavima (i malo više)
Kratka priča o nas i san sustavima (i malo više)Hrvoje Horvat
 

Similar to [ERRO] Predavanje: Porodice mikroupravljača (12)

[ERRO] Predavanje: Prikaz podataka 1.12.2016
[ERRO] Predavanje: Prikaz podataka 1.12.2016 [ERRO] Predavanje: Prikaz podataka 1.12.2016
[ERRO] Predavanje: Prikaz podataka 1.12.2016
 
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016 [ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016
[ERRO] Predavanje: Komunikacija s mikroupravljačem 8.12.2016
 
Diskovi spajanje organizacija_raid-ova
Diskovi spajanje organizacija_raid-ovaDiskovi spajanje organizacija_raid-ova
Diskovi spajanje organizacija_raid-ova
 
Bed4173a
Bed4173aBed4173a
Bed4173a
 
Tru64-Mreza
Tru64-MrezaTru64-Mreza
Tru64-Mreza
 
CUC2010: Linux datotecni sustavi
CUC2010: Linux datotecni sustaviCUC2010: Linux datotecni sustavi
CUC2010: Linux datotecni sustavi
 
Algoritmi i strukture_podataka_2016-03_v01
Algoritmi i strukture_podataka_2016-03_v01Algoritmi i strukture_podataka_2016-03_v01
Algoritmi i strukture_podataka_2016-03_v01
 
Izgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgreIzgradnja OS-a uporabom mikrojezgre
Izgradnja OS-a uporabom mikrojezgre
 
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptxZahtjevno računalstvo u oblaku HTC Cloud.pptx
Zahtjevno računalstvo u oblaku HTC Cloud.pptx
 
[ERRO] Predavanje: FPGA 12.1.2017
[ERRO] Predavanje: FPGA 12.1.2017 [ERRO] Predavanje: FPGA 12.1.2017
[ERRO] Predavanje: FPGA 12.1.2017
 
Kratka priča o nas i san sustavima (i malo više)
Kratka priča o nas i san sustavima (i malo više)Kratka priča o nas i san sustavima (i malo više)
Kratka priča o nas i san sustavima (i malo više)
 
Operacijski Sustavi - Osnove
Operacijski Sustavi - OsnoveOperacijski Sustavi - Osnove
Operacijski Sustavi - Osnove
 

More from Stipe Predanic

Osnove bežičnih mreža - Predavanje: Topologije
Osnove bežičnih mreža - Predavanje: TopologijeOsnove bežičnih mreža - Predavanje: Topologije
Osnove bežičnih mreža - Predavanje: TopologijeStipe Predanic
 
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli Stipe Predanic
 
Osnove bežičnih mreža - Predavanje: Antene
Osnove bežičnih mreža - Predavanje: AnteneOsnove bežičnih mreža - Predavanje: Antene
Osnove bežičnih mreža - Predavanje: AnteneStipe Predanic
 
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacije
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacijeOsnove bežičnih mreža - Predavanje Bežične radiokomunikacije
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacijeStipe Predanic
 
[ERRO] Predavanje: Napajanje uređaja 8.12.2016
[ERRO] Predavanje: Napajanje uređaja 8.12.2016 [ERRO] Predavanje: Napajanje uređaja 8.12.2016
[ERRO] Predavanje: Napajanje uređaja 8.12.2016 Stipe Predanic
 
[ERRO] Predavanje: RTOS
[ERRO] Predavanje: RTOS[ERRO] Predavanje: RTOS
[ERRO] Predavanje: RTOSStipe Predanic
 
[ERRO] Predavanje: 8051
[ERRO] Predavanje: 8051 [ERRO] Predavanje: 8051
[ERRO] Predavanje: 8051 Stipe Predanic
 
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016)
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016) [ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016)
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016) Stipe Predanic
 
[ERRO] Predavanje: Ponavljanje digitalnih sklopova
[ERRO] Predavanje: Ponavljanje digitalnih sklopova [ERRO] Predavanje: Ponavljanje digitalnih sklopova
[ERRO] Predavanje: Ponavljanje digitalnih sklopova Stipe Predanic
 
[ERRO] Uvodno predavanje (pravila polaganja ispita)
[ERRO] Uvodno predavanje (pravila polaganja ispita) [ERRO] Uvodno predavanje (pravila polaganja ispita)
[ERRO] Uvodno predavanje (pravila polaganja ispita) Stipe Predanic
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 12.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12. Stipe Predanic
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. Stipe Predanic
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 10.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10. Stipe Predanic
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 9.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9. Stipe Predanic
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 8.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8. Stipe Predanic
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7. Stipe Predanic
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. Stipe Predanic
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4. Stipe Predanic
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3. Stipe Predanic
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2. Stipe Predanic
 

More from Stipe Predanic (20)

Osnove bežičnih mreža - Predavanje: Topologije
Osnove bežičnih mreža - Predavanje: TopologijeOsnove bežičnih mreža - Predavanje: Topologije
Osnove bežičnih mreža - Predavanje: Topologije
 
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli
Osnove bežičnih mreža - Predavanje 4: 802.11 protokoli
 
Osnove bežičnih mreža - Predavanje: Antene
Osnove bežičnih mreža - Predavanje: AnteneOsnove bežičnih mreža - Predavanje: Antene
Osnove bežičnih mreža - Predavanje: Antene
 
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacije
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacijeOsnove bežičnih mreža - Predavanje Bežične radiokomunikacije
Osnove bežičnih mreža - Predavanje Bežične radiokomunikacije
 
[ERRO] Predavanje: Napajanje uređaja 8.12.2016
[ERRO] Predavanje: Napajanje uređaja 8.12.2016 [ERRO] Predavanje: Napajanje uređaja 8.12.2016
[ERRO] Predavanje: Napajanje uređaja 8.12.2016
 
[ERRO] Predavanje: RTOS
[ERRO] Predavanje: RTOS[ERRO] Predavanje: RTOS
[ERRO] Predavanje: RTOS
 
[ERRO] Predavanje: 8051
[ERRO] Predavanje: 8051 [ERRO] Predavanje: 8051
[ERRO] Predavanje: 8051
 
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016)
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016) [ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016)
[ERRO] Predavanje: ulazi/izlazi na mikroupravljač (27.10.2016)
 
[ERRO] Predavanje: Ponavljanje digitalnih sklopova
[ERRO] Predavanje: Ponavljanje digitalnih sklopova [ERRO] Predavanje: Ponavljanje digitalnih sklopova
[ERRO] Predavanje: Ponavljanje digitalnih sklopova
 
[ERRO] Uvodno predavanje (pravila polaganja ispita)
[ERRO] Uvodno predavanje (pravila polaganja ispita) [ERRO] Uvodno predavanje (pravila polaganja ispita)
[ERRO] Uvodno predavanje (pravila polaganja ispita)
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 12.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 12.
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 11.
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 10.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 10.
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 9.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 9.
 
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8. [TVZ računarstvo] Dinamičke web aplikacije, predavanje 8.
[TVZ računarstvo] Dinamičke web aplikacije, predavanje 8.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 7.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 5.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 4.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 3.
 
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2. [TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2.
[TVZ Računarstvo] Dinamičke web aplikacije, predavanje 2.
 

[ERRO] Predavanje: Porodice mikroupravljača

  • 1. PORODICE MIKROUPRAVLJAČA Tehničko veleučilište u Zagrebu Elektrotehnički odjel Stipe Predanić 17.11.2016 Elektronička računala i računalna oprema
  • 2. 14.05.17 Copyright Stipe Predanić, 2014 2 Mikroprocesor i mikroupravljač ● Za građu računala potrebni su: – CPU – ROM s programom (barem osnovnim za podizanje operacijskog sustava, poput BIOS-a na PC računalima) – RAM za privremeno spremanje podataka – sklop za rad s vanjskim ulazno/izlaznim jedinicama ● Mikroupravljač (mikrokontroler, eng. microcontroller) ima sve komponente ugrađene u sebe – i još mnoge druge, poput timera, RTC-a, sklopova za serijsku komunikaciju ● Mikroprocesor je često goli CPU, bez posebnih dodatnih sklopova – sve potrebno dodati u okruženje mikroprocesora
  • 3. Obitelji mikroupravljača ● U svijetu mikroupravljača postoji nekoliko velikih te mnoštvo manjih proizvođača – Mali proizvođači često licenciraju procesore od velikih proizvođača ● Veliki proizvođači uobičajeno osmišljavaju nove procesore i mikroupravljače, no osmišljavanje posve novog okruženja je rijetko kad financijski isplativo – Novi prevoditelji (compileri) – Nova dokumentacija – Novi referentni dizajn ● Rješenje: osmisliti porodicu mikroupravljača koja ima isti CPU (eng. core), dok se periferni elementi (AD pretvornici, RAM i ROM memorija, itd) dodaju prema potrebi
  • 4. Obitelji mikroupravljača ● Primjer AVR ATTINY serija: – http://en.wikipedia.org/wiki/Atmel_AVR_ATtiny_comparison_chart – Primjetimo kako je GCC identifier isti za dobar dio mikroupravljača iako su njihove karakteristike različite ● GCC je GNU C compiler, prevoditelj za C jezik – Što znači kad je isti identifikator? ● Ista građa CPU-a koji izvršava naredbe ● Jednaki asemblerski odnosno strojni kod ● Moguće prebacivanje programskog koda s jednog mikroupravljača na drugi – Zbog cijene procesora, dodatnih mogućnosti periferije, više memorije
  • 5. 14.05.17 Copyright Stipe Predanić, 2014 5 Porodice mikroupravljača
  • 6. Obitelji mikroupravljača ● "Obitelj" ili "Porodica" mikroupravljača se definira kao grupa proizvoda koji dijele zajedničku osnovnu arhitekturu te su kompatibilni programskim kodom (eng. Code compatibile) ● Napomena: Programski kod napisan za jednog člana obitelji trebao bi biti kompatibilan s ostalim članovima iste obitelji.
  • 7. Obitelji mikroupravljača ● Procesori u mikroupravljaču su najčešće: – 8 bitni ● Manjih procesorskih snaga ● Manje programske memorije (od par stotina byteova do stotinjak kB) ● Manji RAM (od desetak byteova do par kB) ● Jeftini – 32 bitni ● Većih procesorskih snaga ● Više programske memorije, više RAM-a ● Mogu pokretati i jednostavne RTOS (Real time OS) ● Skuplji – Razlika u cijeni samih mikroupravljača na veliki broj primjeraka čak i nije velika (reda par dolara). No često 32 bitni zahtjevaju više pažnje u proizvodnji samih uređaja, te je rijetko kad toliko snage stvarno potrebno.
  • 8. Microchip PIC ● Microchip je veliki proizvođač mikroupravljača – 8 bitne serije ● PIC10, PIC12, PIC16, PIC18 ● Poznatiji procesori: 16F84, 16F628, 18F2550 18F4550 ● Najslabiji 10F200 radi na 4MHz, ima 375B Flasha, 16 byte RAM i 4 GPIO - cijena 31 cent – 16 bitne serije ● PIC24, dsPIC30 dsPIC33 – Ds – Digital Signal, ugrađena podrška za brzu obradu signala – 32 bitne serije ● PIC32 – Najjači (PIC32MZ2048 serija) imaju i do 2MB Flasha, 512kB RAM-a, ugrađeni Ethernet kontroler, cijene (za modele s 1MB Flasha) počinju od 6.7US$
  • 9. Microchip PIC ● Osnovna PIC platforma je osmišljena 1975!!, od strane General Instrumentsa, kao sklop za kontrolu vanjskih jedinica za procesor CP1600 (16 bitni procesor) ● 1985 je platforma doživjela prvi upgrade, a 1993 su prešli na EEPROM za programiranje ● Godišnje Microchip proda preko milijardu različitih mikroupravljača.
  • 10. Atmel AVR ● Atmel u AVR seriji ima mikroupravljače: – 8 bitne ● TinyAVR obitelj (ATtiny serija) – Najslabiji Attiny 4 ima 0.5kB ROM, 32byte RAM, 4GPIO ● megaAVR obitelj (ATmega serija) – Na ovoj se obitelji temelji popularna Arduino platforma ● XMEGA (ATxmega serija) ● FPSLIC(AVR s FPGA (Field-programmable gate array)) – Mogućnost stvaranje hardverskih logički sklopova kroz softver, što ubrzava obradu signala – 32 bitne ● AVR32 UC3 – Podržava hardversku implementaciju Java virtual machine – Ugrađen aritmetički koprocesor – Najjači imaju do 512kB FLASH (programska memorija), 128kB RAM, Ethernet itd.
  • 11. Atmel AVR ● AVR je osmišljen u Norveškoj sredinom 1990 ● Prava prodana Atmelu i 1997 predstavljen prvi chip na tržištu ● Popularna Arduino razvojna platforma je bazirana na ATMEGA seriji ● Microchip je kupio AVR početkom 2016. godine
  • 12. Texas Instruments MSP430 ● Texas Instruments ima mnoge procesore u proizvodnji ali MSP430 jezgra je popularna jer: – 16 bitna jezgra koja zahtjeva iznimno malo energije ● Različiti modeli imaju različito ciljano tržište: – MSP430L092 ima 1KB ROM i 128B RAM, ali može raditi već od 0.9V na 1MHz (i pritom troši manje od 50μA struje) – cijena 0.8$ – MSP430F6659 ima 512KB FLASH, 66KB RAM, ima ugrađenu podršku za LCD, troši 300μA /MHz i košta 6.48$ ● Zbog male potrošnje često se koristi u senzorima, jer je TI koristio istu jezgru i u RF340 seriji (MSP430 jezgra + RF komunikacija)
  • 13. ARM ● ARM arhitektura je jedna od najkorištenijih arhitektura u računarstvu – Koristi se u svemu od mobitela, manjih računala pa do mikroupravljača – ARM jezgra se može licencirati i po potrebi dalje razvijati ● Apple procesori A4-A8 u iPhone i iPad uređajima su ARM bazirani – Doduše Apple je ARM procesor koristio i u svojem prvom PDA – Apple Newton ● Osim daljnjeg razvoja često se uz jezgru dodaju različiti elementi kako bi se uz CPU dobile i dodatne mogućnosti – Zar to nije mikrokontroler? – SoC ● System on a Chip ● Visoko integrirane komponente u jednu komponentu
  • 14. ARM ● ARM arhitektura – Većinom 32 bitna, ali postoje i 64 bitne verzije – Cortex M arhitektura je za mikroupravljače Architecture Cores designed by ARM Holdings ARMv1 32/26 ARM1 ARMv2 32/26 ARM2, ARM3 ARMv3 32 ARM6, ARM7 ARMv4 32 ARM8 ARMv4T 32 ARM7TDMI, ARM9TDMI ARMv5 32 ARM7EJ, ARM9E, ARM10E ARMv6 32 ARM11 ARMv6-M 32 ARM Cortex-M0, ARM Cortex-M0+, ARM Cortex-M1 ARMv7-M 32 ARM Cortex-M3 ARMv7E-M 32 ARM Cortex-M4, ARM Cortex-M7 ARMv7-R 32 ARM Cortex-R4, ARM Cortex-R5, ARM Cortex-R7 ARMv7-A 32 ARMv8-A 64/32 ARM Cortex-A53, ARM Cortex-A57 Bit width ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex- A15, ARM Cortex-A17
  • 15. ARM ● ARM Cortex M arhitektura – Različite arhitekture imaju različite mogućnosti ● Različite Cortex M arhitekture se trebaju gledati kao zasebne porodice – Npr. Memorijski model ● M0, M0+ i M1 imaju Von Neumann memorijski model ● M3, M4 i M7 imaju Harvard memorijski model – Npr. dodatna hardverska podrška ● Sklopovski riješeno djeljenje brojeva – M0, M0+, M1 – nemaju taj sklop – M3, M4, M7 – imaju taj sklop
  • 17. ARM ● Cortex M proizvođača ima dosta Cortex-M7 STMicroelectronics, Freescale, Atmel Cortex-M4 NXP, STMicroelectronics, Texas Instruments, Freescale, Open-Silicon, eSilicon Cortex-M3 Cortex-M0 Cortex-M0+ Accent Srl, Actel Corporation, Broadcom Corporation, Cypress Semiconductor, Ember, Energy Micro, Fujitsu, NXP, Fuzhou Rockchip Electronics CO. Ltd., STMicroelectronics, Texas Instruments, Toshiba, Zilog, Open-Silicon, eSilicon Austriamicrosystems, Chungbuk Technopark, NXP, Triad Semiconductor, Melfas, Open-Silicon, eSilicon, Cypress, Infineon, Nuvoton, STMicroelectronics Freescale, NXP, Atmel, Spansion, Silicon Labs
  • 18. ARM ● Cortex M cijene i mogućnosti su šarolike, ali je moguće pronaći mikroupravljače po cijenama usporedivim s 8 bitnim procesorima (ali i usporedive su i karakteristike) – Npr. STM32F042F4P6 je Cortex M0+, ima 16kB Flash, 6kB RAM, radi na 48MHz i ima samo 28 nožica. Cijena je 1$ – NXP Semiconductors LPC4317 , ima 1MB Flash, 136kB RAM, radi na 204 MHz, cijena 15$ ● Primjene su šarolike, i lako je pronaći razvojne sustave s Cortex M procesorima – Hardverska podrška ● Arduino Due ( Atmel SAM3X8E Cortex M3), Teensy serija (Freescale MK20DX256VLH7 Cortex M4) ● NXP LPCExpresso serija (koriste NXP LPC procesore, npr. LPC1343 koji je Cortex M3 procesor) – Softverska podrška ● MBED (online razvoj, iznimno jednostavno), http://developer.mbed.org/ ● Arduino (nastavak na 8 bitne procesore), http://www.arduino.cc/
  • 19. ARM ● Cortex M daje stvarne mogućnosti mikroupravljača, te profesionalna upotreba stvarno zahtjeva takva rješenja ● Često se traži i: – Jednostavna platforma – Koja koristi standardizirane OS-eve za embedded riješenja ● Linux ● Free RTOS ● QNX ● VxWorks ● Stoga se često za embedded upotrebu koriste i Cortex A procesori u jednostavnim računalima – Raspberry Pi, BeagleBone itd. – Pružaju se mogućnosti pokretanja većih aplikacija koje koriste više RAM-a i podatkovnog prostora – uređaji pružaju multifunkcionalnost
  • 20. ARM ● S upotrebom Cortex A procesorima u jednostavnim računalima poput Raspberry Pi zatvara se cijeli krug računarstva – ARM je nastao za potrebe britanske tvrtke Acorn Computers koja je proizvodila BBC Micro seriju mikroračunala u 80-tima – Tražili su brži i efikasniji procesor od trenutno dostupnih, i krenuli su raditi vlastiti procesor, te su 1987 na tržište izbacili Acorn Archimedes računalo ● izvan Velike Britanije nije imalo veliki uspjeh makar je bilo brže i pouzdanije od tada popularnih 16 i 32 bitnih modela
  • 21. 14.05.17 Copyright Stipe Predanić, 2014 21 Intel MCS-51 ● 8 bitni procesori, Harvard arhitektura ● Podržava 2 odvojena memorijska područja za programe – U samom chipu (do 64 kB, u originalu 4kB) – Vanjska memorija (do 64 kB) ● Obitelj MCS-51 obuhvaća originalne procesore: ● Napomena: 8031 nema ugrađenu programsku memoriju (ROM) već obavezno mora imati vanjsku programsku memoriju – Niža cijena za situacije kad ugrađena nije bila dovoljna
  • 22. 14.05.17 Copyright Stipe Predanić, 2014 22 Intel MCS-51 ● Intel je MCS-51 porodicu izbacio na tržište 1981. – Prije toga su imali MCS-48 porodicu, iznimno popularnu – Poslije su nadograđivali MCS-51 u MCS-151 i MCS-251 serijama – Intel od 2007. ne proizvodi MCS-51 mikroupravljače ● Nasreću, licencirali su mikroupravljače, te ih sada proizvodi preko 20 drugih proizvođača: – Atmel, Maxim (preko Dallas podružnice), NXP, ST Microelectronics, Silicon Laboratories, Texas Instruments itd. – No ono što je još zanimljivije, MCS-51 jezgra se koristi i kod mnogih drugih proizvođača kao dio gotovih vlasničkih (proprietary) chipova (npr. Kontroleri za razne sklopovske elemente – USB memorije, wireless riješenja i sl.)
  • 23. 14.05.17 Copyright Stipe Predanić, 2014 23 Intel MCS-51 ● Popularnost MCS-51 se očituje u tome što je procesor bio – licenciran drugim proizvođačima – jednostavan – jeftin – Zbog gorenavedenih karakteristika postoji mnogo već napisanog koda što ubrzava razvoj produkta ● Moderni MCS-51 imaju – Više ili manje portova od originala – Dodatnu podršku za komunikacijske protokole – Hardwired kontrolnu jedinicu (original Intel je imao mikroprogramiranu)
  • 24. 14.05.17 Copyright Stipe Predanić, 2014 24 Intel MCS-51 ATMEL AT89c051 (1kB FLASH) AT89c2051 (2kB FLASH) AT89c4051 (4kB FLASH) INTEL 8051 4kB ROM
  • 25. 14.05.17 Copyright Stipe Predanić, 2014 25 Motorola/Freescale 68x serije ● Motorola je u 70-tima izradila uspješnu 6800 seriju mikroprocesora – 8 bitni procesori, Von Neumann arhitektura – Temeljem tog procesora Motorola je izradila porodice mikroupravljača: ● 68HC05 seriju (ne proizvodi se), ● 68HC08 serija (slabiji procesori ), ● 68HC11 serija (jači i opremljeniji procesori) ● 68HC12 serija (16 bitni, u potpunosti kompatibilni s 68HC11) ● 68HC16 serija (16 bitni, softverski kompatibilni s 68HC11) – Motorola je krajem 2000-tih odcijepila svoj odjel razvoja procesora u tvrtku Freescale – Ovi procesori su iznimno popularni u industrijskoj proizvodnji, iz istog razloga kao i Intel MCS-51
  • 26. 14.05.17 Copyright Stipe Predanić, 2014 26 Zilog Z80 ● Zilog Z80 mikroprocesor je iznimno uspješan mikroprocesor iz 70-tih i 80-tih – Koristio se u ZX seriji (Spectrum, 81 itd), Amstrad CPC seriji, i mnogim drugim mikroračunalima (u Jugoslaviji Galaksija – 8 bitni procesor baziran na Intel 8080 arhitekturi, Von Neumann – Tijekom vremena korištena su Z80 računala kao ugradbeni uređaji – U 90-tima je započet rad na mikroupravljačima koji imaju Z80 jezgru ● Toshiba, Hitachi i drugi – Popularnost: isto kao i Motorola 68x i Intel MCS-51, postoji mnogo postojećeg (starog) programskog koda koji se i dalje koristi.
  • 27. 14.05.17 Copyright Stipe Predanić, 2014 27 Drugi?
  • 28. 14.05.17 Copyright Stipe Predanić, 2014 28