2. Tartalom
• Beágyazott rendszerek
• Mikrovezérlők
• PIC Mikrovezérlők
• Központi egység (CPU) működése
• Programmemória
• Adatmemória (RAM)
• Perifériák
• Beágyazott (integrált) fejlesztői környezetek (IDE)
• Microchip – MPLAB IDE
• Microchip – Programozók, ICE, ICD
• Felhasznált források
2Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
3. Beágyazott rendszerek
• Cél: adott feladatra való optimalizálás által
anyagköltség és áramfogyasztás csökkentés
ugyanakkor a rendszer megbízhatóságának növelése
• Definíció: angolul: embedded system – egy olyan speciális célú számítógép,
amely egy konkrét feladat ellátására lett tervezve
3Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
4. • Példák: MP3 lejátszó, Digitális fényképezőgép, Motorvezérlő
elektronika, ABS rendszer, Újabb típusú automata mosógépek,
Routerek, Mobiltelefonok, Okostelefonok, Navigáció rendszerek,
Nyomtatók, Épületautomatizálási rendszerek stb.
Beágyazott rendszerek
Router
Gépjármű beágyazott
rendszereinek hálózata
4Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
5. Beágyazott rendszerek
• Két fő rendszertípus:
1. Valósidejű rendszer (real-time system) – egy esemény lereagálását a
rendszer egy adott időintervallumon belül kell lekezelje
• Hard real-time – az esemény lereagálásának a késése súlyos
következményekkel jár: pl.: légzsákok vezérlése autókban
• Firm real-time – a ritka reakciókésések tolerálhatóak, de a
rendszer által nyújtotta szolgáltatás romlását okozzák
• Soft real-time – kevésbé szigorú követelmények, ezért a
kritikus folyamat csupán nagyobb prioritást kap
2. Biztonságkritikus rendszer – egy olyan rendszert vezérel, amely
működésbeli hibája esetén egészségkárosodást vagy anyagi kárt okoz.
Ebben az esetben fontos megbízható és stabil működés
5Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
6. • Definíció: a mikrovezérlő lényegét tekintve egy mikroszámítógép
egyetlen chipre integrálva.
• A mikrovezérlőkben a következő fő egységek találhatóak:
Mikrovezérlők
o Központi egység (CPU) – meghatározza a teljes eszköz működését
biztosítja a vezérlő és időzítő jeleket a többi egység számára
az utasítások tárolóból/tárolóba való mozgatását végzi
az utasítások dekódolása és végrehajtása
irányítja a be- és kimeneti egységgel kapcsolatos adatforgalmat
o Programtár és adattár – ez a memória, ami lehet közös(PC) vagy különálló
az egyikbe a működtető program a másikba a program működése
során keletkező vagy a külvilág felől érkező adatok vannak tárolva
6Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
7. oBe- és kimeneti egységek – Input/Output vagy röviden I/O – ezek
neve periféria, feladatuk a külvilággal való kapcsolattartás
Mikrovezérlők
o Egysége közötti vonalak – információ- és adatáramlást biztosítanak
más néven sínek vagy busz vonalak
mikrovezérlő típusától függően különböző bitszélességű
lehet (8, 16, 32 bit)
ezekre a mikrovezérlő minden egysége párhuzamosan
csatlakozik
adatsín: - pl.: a CPU, memória valamint a ki- és bemeneti
áramkörök ugyanarra a 8 vezetékre csalakoznak
7Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
8. Mikrovezérlők
Intel 8742 – 8 bit-es architektúra, 12MHz CPU
+ 128 bájt RAM + 2048 bájt ROM
Mikrovezérlők felépítése
8Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
11. PIC Mikrovezérlők
• A PIC Mikrovezérlők a Microchip cég által gyártott mikrovezérlők
• Két osztályozási szempont:
1. Adatok bitekben mért szélessége alapján: 8, 16 és 32 bites mikrovezérlők
2. Az utasítások bitekben mért szélessége alapján: 12, 14, 16, 24 és 32 bit
szélességű változatok
• egy utasítással kezelhető adatbitek száma
• meghatározza a számítási teljesítményt
• lényegét tekintve az utasítások bonyolultságát jelenti
11Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
12. Központi egység (CPU) működése
PIC16F8X
mikrovezérlőcsalád
felépítése
12Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
13. Központi egység (CPU) működése
1. Az utasítások a legtöbb művelethez két
operandust használnak
2. Az egyik operandust az ALU-ban
található speciális, kitüntetett regiszter
tartalmazza, az akkumulátor (A), ami a
Microchip szóhasználatban Working
Regiszternek (W) neveznek.
3. A másik operandust az utasításban
szereplő cím adatmemória-rekesz
tartalma
4. E két operandussal végezzük el a
műveletet
13Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
14. Központi egység (CPU) működése
5. Az eredmény is az egyik regiszterben
keletkezik, amit a későbbiekben
felhasználhatunk
6. Az ALU és a működés vezérlését végző
egység együtt alkotják a CPU egységet
7. Az ALU működés közben számos
bitműveletet végez, ezért az
utasításkészletet ennek a kezelésére is
fel kell készíteni
14Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
15. Központi egység (CPU) működése
• Z – Zero Bit
• DC – Digit Carry / Borrow Bit
• C – Carry / Borrow Bit
• STATUS Regiszter
15Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
16. Programmemória
• Ez tartalmazza a mikrovezérlő programját
• A programmemória egyenként megcímezhető, utasításokat tartalmazó
tároló regiszterek halmaza
• Mérete határozza meg az adott típusú mikrovezérlőben elhelyezhető
program nagyságát
• Az éppen végrehajtandó utasítás címe az utasításszámlálóban
(Program Counter, PC) van
• A programmemória bitszélessége határozza meg a
programmemóriában tárolható utasítások számát, ez kezdetben 12 bit
volt, majd 14, 16, 24 és 32 bit szélesre bővült
16Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
18. Központi egység (CPU) működése
Órajel / utasítás ciklus
18Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
19. Programmemória
• Típusai:
• Egyszer programozható memória – kész
termékek esetén használják
• Kvarcüveges EPROM típusú memória –
ultraibolya fénnyel törölhető, időigényes
• Flash (elektromosan törölhető és
újraprogramozható memória –
EEPROM) – többszöri újraprogramozást
tesz lehetővé, akár 1 milliószor is
újraírható – a ma elterjedt
mikrovezérlők ilyenek
Kvarc ablakos mikrovezérlő (PIC16C765)
19Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
20. Adatmemória (RAM)
• Az adatmemória az adott típusú mikrovezérlő adatszélességével azonos bitszámú
• A Microchip erre a memóriára a fájlregiszter (Register File) kifejezést használja
1. Közvetlen (direkt) címzés: az utasításban van az a cím, amelynek tartalmával
kell elvégezni a műveletet
Pl.: MOV REG, W REG tartalma W –be kerül
2. Közvetett (indirekt) címzés: ebben az esetben az utasításban egy címhez
hasonló bitcsoport szerepel. Az utasításdekódoló ezt érzékelve egy adott
regiszter, az FSR (File Select Register) tekinti címnek és az azon a címen
található regiszter tartalmával végzi el a műveletet.
Pl.: MOV [REG], W REG –ben lévő címen található regiszter tartalma kerül a
W –be
• Két módon címezhető:
20Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
23. Perifériák
• Három fő csoportba sorolhatóak:
1. Digitális perifériák: működésük során kétállapotú jelekkel dolgoznak
I/O Portok
Párhuzamos I/O Port
Időzítő/eseményszámláló modulok
Naptár/óra modul stb.
2. Analóg perifériák: analóg jelekkel dolgoznak
Analóg/Digitális (A/D) átalakító
Digitális/Analóg (D/A) átalakítók
Analóg komparátorok stb.
23Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
24. Perifériák
3. Kommunikációs perifériák: ezen perifériák segítségével kapcsolatot
létesíthetünk és információt cserélhetünk más eszközökkel
SPI – Serial Peripherial Interface
Serial Port
Ethernet
CAN – Controller Area Network
LIN – Local Interconnection Network
USB – Universal Serial Bus stb.
24Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
25. Beágyazott (integrált) fejlesztői környezetek (IDE)
• IDE – Integrated Developing Environment
• Általánosan a beágyazott rendszer családokhoz (Arduino, Microchip) tartozik
egy szoftver, amelybe modulárisan integráltak mindent, ami a
programfejlesztéshez szükséges
Microchip – MPLAB IDE
Arduino
IDE
25Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
26. Microchip – MPLAB IDE
• Integrálva tartalmazza a következőket:
Assembler az Assembly nyelven íródott programkódot gépi kóddá fordítja
Compiler a magasabb szintű programozási nyelven íródott programkód
(pl.: C nyelven) gépi kóddá való fordításához
MPLINK linker programot, a modulok összefűzéséhez
MPLAB SIM szimulátor programot, a programok teszteléséhez,
hibakereséséhez
VID – Vizuális Eszköz Inicializáló programot, amely segítségével gyorsan és
könnyen felkonfigurálhatjuk az eszközünket (mikrovezérlőnket)
A Microchip programozó készülékeinek kezelő programját
26Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
27. Microchip – Programozók, ICE, ICD
• Programozó – a generált gépi kód mikrovezérlőre való feltöltésére alkalmas
PICkit 2 univerzális PIC mikrovezérlő programozó PICkit 3 univerzális PIC mikrovezérlő programozó
27Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
28. Microchip – Programozók, ICE, ICD
• ICE – In-Circuit Emulator – áramköri emulátor – lehetővé teszi a program
lépésenkénti futtatását és figyelését a valós beágyazott rendszerben.
Hibakereséshez és programok éles teszteléséhez használják
28Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
29. Microchip – Programozók, ICE, ICD
• ICD – In-Circuit Debugger – áramköri hibakereső – a programhibák,
„bogarak” keresésére szolgál működő áramköri környezetben
29Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI
30. Felhasznált források
• Kónya László – Kopják József: „PIC mikrovezérlők alkalmazástechnikája – PIC
mikrovezérlők programozása C nyelven”
• Képek, ábrák: Google képkereső
• Mikrovezérlő adatlapok:
http://www.microchip.com/TechDoc.aspx?type=datasheet
30Oktató: Erdei Timotei István Készítette: Molnár Zsolt & ETI