1. Processzoros rendszerek fő elemei mikroszámítógépek alapja a mikroprocesszor. Elemei a mikroprocesszor, memória, és input/output eszközök. komponenseket valamilyen buszrendszer köti össze, amelyen az egységek közötti adatcsere zajlik. mikroszámítógép felépítése. processzoros rendszereket adatfeldolgozásra szokták használni. Napjainkban sokféle mikrovezérlőt gyártanak, és az egyes típusokon belül is nagy a változatok száma. z összehasonlításokból azonban kiderül, hogy sok olyan jellegzetességük van, amelyek általánosan jellemzik őket. közös jellemzőket az alábbi pontban foglaljuk össze. 1. Egy chipes áramkörök, amelyek valamilyen mikroszámítógép konfiguráció valamennyi alkotóelemét, CPU, RM, ROM, I/O elemek, rendszer óragenerátor, tartalmazzák. 2. Túlnyomórészt Harvard felépítésűek, vagyis külön program és adat memóriával rendelkeznek. program memória 4-8 Kbyte, az adat memória viszonylag kicsi, maximum egy-két Kbyte nagyságú. Ez abból a tényből adódik, hogy egy általános vezérlési feladat sok vezérlő utasítással és kevés átmeneti adat tárolásával oldható meg. 3. Utasításkészletük általában egyszerű, programozásuk könnyen elsajátítható. 4. Külső memóriával nem bővíthetők, vagy ha igen, az-az I/O vonalak felhasználásával történik, és ez a szabadon maradó I/O vonalak számát csökkenti. 5. Jellegzetes erőforrásokkal rendelkeznek. Ilyenek a Watch Dog timer, általában több számláló/időzítő áramkör, nagyszámú digitális bemeneti és kimeneti vonal. Újabban vannak olyan típusok, amelyek analóg bemenő jelek feldolgozására is alkalmasak. 6. kivezetések számának csökkentése céljából többcélú kivezetéseik vannak. 7. Számos külső megszakítás vonallal rendelkeznek, ezen kívül a belső eszközök nagy része is megszakítás vonallal van ellátva. 8. Általában tartalmaznak soros kommunikációs portot, amely a programozásukat megkönnyíti, valamint lehetővé teszi beillesztésüket egy számítógépes rendszerbe.
2. Neumann, Harvard architektúra Processzor rendszereket adatfeldolgozásra szoktak használni Neumann architektúra : z adatok és a kódok ugyan abban a tárolóban foglalnak helyet, tehát a tárolóban lévő számértékek jelenthetnek adatot és kódot is. µp CPU dat LU Megosztjuk a tárolót Tároló tároló Kód program harvard architektúra az adatok és a kód között éles határt von. Gyakran alkalmazzák µc-nél. CPU kód tároló olvasható, de írni nem lehet T datok tárló írható és olvasható
3. Processzoros rendszerekben előforduló műveletek Műveletek : - Ìrás - Olvasás - DM(Direct Memory cces közvetlen memória hozzáférés) - Megszakìtás Ìrás : Cím Cím egy része D CPU - Mem D L Cím másik része adat Cìm másik része LE RD WR H H H L wait Olvasás: Cím egy része D Cím adat L LE RD H H L WR H
4. Multiplexelt busz működése rajzzal I. Be- és kimeneti portok Latch olvasás Belsô busz Latch írás D CL Q Q Olvasás a lábról Cím/ dat MUX Vezérlés Vcc Port egy bitje Láb Mind a négy port kétirányú és output irányban tárolóval van ellátva. tárolók az SFR területen érhetők el (P, P1, P2, P3 regiszterek). Ezen a rajzon a Port egy bitjének belső felépítése látható. Port 2 belső felépítése ettől csak annyiban tér el, hogy az ÉS kapu egy belső felhúzó ellenállást vezérel. P és a P2 port a multiplexelt cím/adatbusz szerepét látja el, amennyiben külső memóriát használunk. Külső programmemóriát a következőképpen használhatunk: MCS-51 P1 P EPROM dat Ebben az esetben a P port multiplexelt cím/adatbuszként mûködik, a P2 pedig a címbusz felső fele lesz. P3 E LE P2 PSEN LTCH Cím Cím OE multiplexelt cím és adat szétválasztását az LE jel segíti, míg a PSEN jel használható olvasás jelként. memóriacím mindig 16 bites, és a külső memória elérése lefoglalja a P és P2 portokat, így azok másra nem használhatók. mennyiben használjuk a belső memóriát, de a cím kívül esik a belső címtartományon, a CPU a külső memóriához fordul, akár van akár nincs. Ha tehát nincs külső memória és a portokat I/O-ként használjuk, akkor vigyáznunk kell, hogy a program ne tévedjen a belső programmemórián kívülre.
5. Címdekódolás CPU címterei: - Egy Mem/IO - Több a, Mem I/O b, írható/olvasható mem. csak olvasható mem. o l CPU k i Cs j ROM n RM m Rekeszek i kód adat j n m ROM RM l ROM kiválasztás ROM l k ROM ROM + n RM kiválasztás RM l k RM RM + n Címdekóder CPU n Címbusz K CS1 CS2 CS3 Kombinációs hálózat Címbusz: 16 bit CPU 1... l = 2 16 1 = 65535... 15-1 kivesszük 1 = - 9 11...15 1 =1 Kiválasztható rekeszek száma 2 15 ~32k
Mem1... 14 = 32kbyte =1 32kbyte CS Mem2 32k CS1 CS2 1 1 1 K CS1 CS2 CS 32k =1 = 13 14 14 16k K =1 13 = 14 16k 32k mem1 kapacitása kisebb, mint amekkora címterületet előállítottunk Mem1 k Mem2 k 7FFF 8C FFFF } } 14 14 15 = = = 1 =1 Mem1-et kiválasztjuk k= 7FFF 3FFF 4 7FFF 16k 16k = = 1 14 14 k= = mem1 rekesz 13 k=4 = mem1 rekesz 13
6. Szimuláció/emuláció Tesztelés, módosítás 1. Szimuláció 2. Emulácó a) Memóra tartalom b) Processzor Szimuláció Hoszt Szerkesztő(forrás) Fordító(forráskódból mem tartalom) Szimulátor Utánozza a HW-t cél készülék HW nincs rászükség, nem kell megépíteni Emuláció Memória Cél HW Helyettesítjük Emulátor Ez a mem. Egy perifériája ennek a gépnek CPU Mem Mem Fejlesztő Mem Fizikailag benne a mem. Kábelköteg, ezt rakjuk be ennek a memóriának a helyére Cél HW Üzemmód Mem. (Emulált HW elem) Busz Szg. Emulátor sz-e - futás - fejlesztés Mem Mem Cél HW Cél HW Szg. Emulátor sz-e
7. 851-es memória szervezése Általános célokra használható, 8 bites CPU, melyben a címek 16 bitesek, és Bit-műveleteket végezhetünk el vele. Beépített memóriával rendelkezik, melynek részei: a. Kód -, 4K, 8K, 16K, 32K, 64K b. RM - 128 byte, 256 byte c. SFR (Különálló címterület) - 128 byte d. Külső RM - 64K Címterek külső belső külső (127) x7f RM 128 256 SFR (128) x8 (256) (256) xff xff Itt memóriát és regisztereket is lehet tárolni BELSŐ DTTERÜLET (Belső RM) E E RM n ROM ROM FFFF Ugyanazt a címterületet külső és belső memóriával is lefedhetjük Választás E belső vagy külső memóriához forduljon a processzor Belső RM 7 8 15 16 23 24 31 RM Logika magas alacsony szint 4 x 8 db regiszter (egyszerre egy aktív) 16 byte speciális szerepet játszik (itt lévő 128 bit egyenként megcímezhető) RM Indirekt címzést használ 128 255 SFR 128 136 Ha az utasítás direkt címzést használ Rekeszek bitenként is kezelhetők (amik maradék nélkül oszthatók 8-al) Σ 256 db van, ami bitenként manipulálható
Utasítások Címzésmódok: - direkt belső adaterületre vonatkozik direkt címek: belső RM -127 8 bitesek: SFR 127-255 Pl.: MOV 25,31 25 31 Kiválasztjuk, és a 31-est átmásoljuk a 25-ösbe, vagy fordítva??? - indirekt belső adat R v. R1 használható fel. Pl.: MOV @ R,12 a 12-es direkt címzésű rekesz tartalmát másoljuk abba, amit beraktunk előzőleg R-ba. (@ indirekció jele) - regiszter R...27 Pl.: MOV R,26 - bit cím 8 bit 128 127 255 - konstans 8 bit Pl.: MOV 23,#156 (# a konstans jelölése) 16 bit (de csak 1 utasításban) Pl.: MOV DPTR,#szám Vezérlésátadás: - relatív (8 bit), a címet kettes komplemens formában adjuk meg - direkt, abszolút 11 bit, illetve lehet 16 bit is. Utasításkészlet: I. datmozgatás: - Belső területen - CC külső RM MOVX,@DPTR MOVX @DPTR, - CC kód MOVC,@DPTR II. ritmetika +, -, x, / (forgatások) +1, -1 ÉS, VGY, KIZÁRÓ VGY III. Bit műveletek ÉS, VGY, KIZÁRÓ VGY CPL (negálás) 1, (fix 1-re, vagy -ra állítás) IV. Vezérlésátadás - Szubrutinhívás, CLL - Ugrás, JMP (feltétel nélkül) - Feltételes ugrás i. PSW-től függő ii. JZ, JNZ (akkumulátor pillanatnyi értéke alapján ugrik) iii. Bit - Összehasonlítás - -1, összehasonlítás, ugrás
8. 851 portok felépítése Port P, P1, P2, P3 1 datbusz D 1 1 2, akkor nincs az X-ezett tranzisztor T Kivezetés WR C Tároló olvasás Kivezetés olvasás -t írunk be, kimeneten 1 lesz, tranzisztor bekapcsol. 1-et írunk, jön ki, tranzisztor kikapcsolt állapotba kerül, megszűnik a -val való összeköttetés. - utasítások egy része kivezetésről olvas Pl.: MOV,P - utasítások másik része a tárolót olvassa R (Olvas), M (Módosít), W (Ír) Pl.: INC P SETB (1-be állít 1 bitet) Pl.: SETB P1,2
9. 851 időzítés, számlálás Időzítő Írás 8 bit 8 bit Megszakításkérés (túlcsorduláskor) Léptetés Oszcillátor f osc (frekvencia) 12 MHz 12 belső 1 µs C/TX Számláló jel periódusa külső kivezetés TRX (TR, v. TR1) 1 GTEX TRX & 1 belső órajel f osc / 12 (időzítő) külső ki/be kapcsolás... Módok - 13 bit - 16 bit - 8 bit autoreolad (8 bit) TLX megszakítás kérés nagyf. belső kapcsolás... 25 1 THX TLX TL 1. megszakítás TR1
1. VR perifériák - VRT (aszinkron adó-vevő áramkör) - Számláló-időzítő Kétirányú számlálás PWM - WDT Túlcsordulás RESET-eli a kontrollert Órajel Számláló Reset µc Törlés OSC SW z órajel általában egy saját oszcillátorból táplálkozik - SPI (MISO-MOSI) Ez a kimenet master módban bemenet, Slave módban kimenet SHIFT MISO fordítva MOSI SHREG Vezérlő SCK - nalóg komparátor H,L - DC (analóg-digital konverter) választék nagy............... legkisebb darab 8 lábas tokban
11. RISC (Reduced Instruction Set C.) II. Csökkentett utasítás készlet (Huzalozott + az utasítások mérete egyenlő) III. Load/Store utasítások (z utasításkészlet utasításai nem fordulnak a memóriához, kivéve a LOD/STORE. Kevés címzési mód van) IV. Nagy regiszter készlet (cache) V. Pipeline végrehajtás (Egy időben több utasítás lépésenkénti feldolgozása) Superskalár elv (több pipeline beépítve) VI. Fordítóprogram Risc Kevés utasítás (4-6) Egyszerű műveleteket végeznek el Fix méretű utasítások Gyakori utasítások maradnak meg HW egyszerűsödik (µp belseje) Kevés címzési mód LOD/STORE Pipeline Superskalár Fordítóprogram bonyolultabb Nagyobb kód Több regiszter van Cisc Sok utasítás (>1) Bonyolult műveleteket végeznek el Változó méretű utasítások Sok címzési mód Sok utasítás fordul a memóriához Pipeline,piperskalár De csak újabban!! Fordítóprogram egyszerűbb Kisebb kód Kevesebb regiszter
12. SW fejlesztés lépései PLC-k általában többféle programnyelven programozhatók. Mindegyiknél megtalálható az ún. utasításlistás programozási mód, ahol a feladatmegoldás lépéseit a PLC által értelmezhető mondatokban írjuk le. Ilyen módon használhatjuk ki legteljesebben a CPU által felkínált lehetõségeket. Szimbólumdiagram: z utasításlistás programozási mód mellett (melyet általában a gyakorlottabb programozók kedvelnek), szinte mindig megtalálható valamilyen grafikus programszerkesztési mód is. z első lehetőség, hogy logikai elemeket (ÉS, VGY kapukat, késleltetőket, számlálókat stb.) kapcsolhatunk össze, mintegy áramköri rajzzal definiálva a programot. z így keletkezett rajzot egy fordítóprogram fordítja le a PLC gépi kódjára. Ez a programozási mód a digitális technikában járatosak számára kedvező. Létradiagram: második, - grafikus - lehetőséggel élve áramutas rajzokat készítünk, reléérintkezők és jelfogótekercsek alkalmazásával. Így egy már korábban jelfogós technikával megoldott feladat elvégzését programozhatjuk be könnyen és gyorsan anélkül, hogy a régi jelfogós kapcsolási rajzot át kellene kódolni. Itt szintén fordítóprogram végzi el az átkódolást.