- PIC mikrokontroller architektúra és alkalmazások:
- PIC mikrovezérlő kiválasztása oktatóanyagainkhoz:
- Szoftver kiválasztása oktatóanyagainkhoz:
- Felkészülés a hardverre:
1980-ban az Intel kifejlesztette az első mikrokontrollert (8051) a Harvard Architecture 8051-gyel, és azóta a mikrokontrollerek forradalmat hoztak az elektronikában és a beágyazott iparban. Az idő múlásának technológiai fejlődésével most sokkal hatékonyabb és alacsony fogyasztású mikrovezérlőkkel rendelkezünk, mint például AVR, PIC, ARM. Ezek a mikrovezérlők jobban képesek és könnyebben használhatók, a legújabb kommunikációs protokollokkal rendelkeznek, mint például USB, I2C, SPI, CAN stb. számítógép belül.
Ez lesz a még várat magába foglaló oktatósorozat első része, amely segítséget nyújt a PIC mikrokontrollerek elsajátításában. Ha elektronikai hátterű vagy, és mindig szeretnél kezdeni néhány mikrovezérlő elsajátításával, és belevágni a kódolás és a dolgok készítésének világába, akkor ez az oktatósorozat lesz az első lépés a kezdéshez.
A PIC mikrovezérlő nagyon kényelmes választás a mikrovezérlő projektek megkezdéséhez, mivel kiváló támogató fórumokkal rendelkezik, és erős alapként fog szolgálni minden olyan fejlett mikrovezérlőre építve, amelyet még meg kell tanulnia.
Ezek az oktatóanyagok abszolút vagy középhaladó tanulók számára készültek; azt terveztük, hogy a haladók számára a legalapvetőbb projektekkel kezdjük. Nem várunk el semmilyen előfeltételt a tanulóktól, mivel itt vagyunk, hogy bármilyen szinten segítsünk Önnek. Minden oktatóanyagnak elméleti magyarázata és szimulációja lesz, amelyet gyakorlati útmutató követ. Ezek az oktatóanyagok nem tartalmaznak fejlesztő táblákat, saját áramköreinket készítjük egy perf kártya segítségével. Tehát lépjen fel, és szánjon hetente egy kis időt arra, hogy javítsa a mikrovezérlőkkel.
Most kezdjük el a PIC mikrovezérlők egyszerű bemutatásával és néhány szoftverbeállítással, hogy elindulhassunk a következő oktatóanyagunkon. A végén ellenőrizze a Videót az MPLABX, XC8, Proteus telepítéséhez és beállításához, valamint a PICkit 3 programozó gyors kibontásához.
PIC mikrokontroller architektúra és alkalmazások:
A PIC mikrovezérlőt a Microchip Technologies vezette be 1993-ban. Eredetileg ezeket a PIC-eket a PDP (Programmed Data Processor) számítógépek részeként fejlesztették ki, és a számítógép minden perifériás eszközét interfésszé tették ezzel a PIC mikrovezérlővel. Ezért a PIC a perifériás interfész vezérlő nevét kapta . Később a Microchip rengeteg PIC sorozatú IC-t fejlesztett ki, amelyek bármilyen apró alkalmazáshoz használhatók, például világítási alkalmazásokhoz, egészen a haladóig.
Minden mikrovezérlőt valamilyen architektúra köré kell építeni, az építészet leghíresebb típusa a Harvard architektúra, PIC-jünk ezen az architektúrán alapul, mivel a klasszikus 8051 családhoz tartozik. Vegyünk egy kis bevezetőt a PIC Harvard felépítéséről.
A PIC16F877A mikrovezérlő egy beépített CPU-ból, I / O portokból, memóriaszervezésből, A / D átalakítóból, időzítőkből / számlálókból, megszakításokból, soros kommunikációból, oszcillátorból és CCP modulból áll, amelyek összegyűjtése az IC-t kezdők számára hatékony mikrovezérlővé teszi. A PIC architektúra általános blokkvázlata az alábbiakban látható
CPU (központi processzor):
A mikrovezérlőnek van egy processzora az aritmetikai műveletek, a logikai döntések és a memóriával kapcsolatos műveletek végrehajtására. A CPU-nak koordinálnia kell a RAM és a mikrokontroller többi perifériája között.
Ez egy ALU-ból (számtani logikai egység) áll, amelynek segítségével elvégzi a számtani műveleteket és a logikai döntéseket. Egy MU (memória egység) is jelen van az utasítások tárolásához, miután végrehajtják őket. Ez az MU határozza meg az MC programméretét. Ezenkívül egy CU-ból (Control Unit) áll, amely kommunikációs buszként működik a CPU és a mikrokontroller egyéb perifériái között. Ez segít az adatok lekérésében, miután feldolgozásra kerülnek a megadott regiszterekben.
Véletlen hozzáférésű memória (RAM):
A véletlen hozzáférésű memória határozza meg mikrovezérlőnk sebességét. A RAM a benne lévő nyilvántartó bankokból áll, amelyek mindegyikéhez külön feladat tartozik. Összességében két típusba sorolhatók:
- Általános célú nyilvántartás (GPR)
- Speciális funkció-nyilvántartás (SFR)
Ahogy a neve is sugallja, a GPR-t olyan általános regiszterfunkciókhoz használják, mint az összeadás, kivonás stb. A GPR alá tartozó összes regiszter felhasználó által írható és olvasható. Egyedül nincsenek funkcióik, hacsak nem szoftveres.
Míg az SFR-t bonyolult speciális funkciók elvégzésére használják, amelyek némi 16 bites kezelést is magukban foglalnak, regisztereik csak olvashatók (R), és semmit nem írhatunk nekik (W). Tehát ezeknek a regisztereknek egy előre definiált funkciójuk van, amelyeket a gyártáskor állítanak be, és csak az eredményt jelenítik meg számunkra, amelynek segítségével néhány kapcsolódó műveletet elvégezhetünk.
Csak olvasható memória (ROM):
Az írásvédett memória az a hely, ahol programunkat tároljuk. Ez dönti el programunk maximális méretét; ezért programmemóriának is nevezik. Amikor az MCU működik, a ROM-ban tárolt program minden egyes utasításciklusonként végrehajtásra kerül. Ez a memóriaegység csak a PIC programozása közben használható, a végrehajtás során csak olvasható memóriává válik.
Elektromosan törölhető, programozható, csak olvasható memória (EEPROM):
Az EEPROM egy másik típusú memóriaegység. Ebben a memóriaegységben értékek tárolhatók a program végrehajtása során. Az itt tárolt értékek csak elektromosan törölhetők, vagyis ezek az értékek akkor is megmaradnak a PIC-ben, ha az IC ki van kapcsolva. Kis memóriahelyként használhatók a végrehajtott értékek tárolására; a memóriaterület azonban nagyon kevés lesz a KB felváltásaival.
Flash memória :
A flash memória programozható csak olvasható memória (PROM) is, amelyben több ezer alkalommal olvashatjuk, írhatjuk és törölhetjük a programot. Általában a PIC mikrovezérlő ilyen típusú ROM-ot használ.
I / O portok
- A PIC16F877A termékünk öt portból áll, nevezetesen A, B, C, C, D és D port.
- Az öt kikötő közül csak az A port 16 bites, az E PORT pedig 3 bites. A többi PORT 8 bites.
- Ezeknek a PORT-oknak a csapjai használhatók bemenetként vagy kimenetként, a TRIS Register konfigurációja alapján.
- Az I / O műveletek végrehajtása mellett a csapok speciális funkciókhoz is használhatók, például SPI, Interrupt, PWM stb.
Busz:
A busz kifejezés csak egy csomó vezeték, amely összeköti a bemeneti vagy kimeneti eszközt a CPU-val és a RAM-mal.
Az adatbusz az adatok továbbítására vagy fogadására szolgál.
A cím busz arra szolgál, hogy továbbítsa a memória címet a perifériákról a CPU-ra. Az I / O csapok a külső perifériák összekapcsolására szolgálnak; Az UART és az USART mindkét soros kommunikációs protokollt olyan soros eszközök összekapcsolására használják, mint a GSM, GPS, Bluetooth, IR stb.
PIC mikrovezérlő kiválasztása oktatóanyagainkhoz:
A Microchip Company PIC mikrokontrollerei 4 nagy családra oszthatók. Minden család különféle alkatrészekkel rendelkezik, amelyek beépített speciális funkciókat kínálnak:
- Az első család, a PIC10 (10FXXX) - Low End néven szerepel.
- A második család, a PIC12 (PIC12FXXX) - középkategóriás.
- A harmadik család a PIC16 (16FXXX).
- A negyedik család a PIC 17/18 (18FXXX)
Mivel kezdjük megismerni a PIC-t, válasszunk egy általánosan használt és elérhető IC-t. Ez az IC az 16F családhoz tartozik, az IC cikkszáma PIC16F877A. Az első oktatóprogramtól a végéig ugyanazt az IC-t fogjuk használni, mivel ez az IC minden olyan fejlett funkcióval van felszerelve, mint az SPI, I2C és UART stb. minden oktatóanyagon keresztül haladhat, és végül felhasználhatja az összes fent említett funkciót.
Az IC kiválasztása után nagyon fontos elolvasni az IC adatlapját. Ez legyen az első lépés minden olyan koncepcióban, amelyet megpróbálunk kipróbálni. Most, hogy ezt a PIC16F877A-t választottuk, átolvashatja ennek az IC-nek a specifikációját az adatlapon.
A perifériás szolgáltatás megemlíti, hogy 3 időzítővel rendelkezik, amelyek közül kettő 8 bites, egy pedig 16 bites előskálázó. Ezekkel az időzítőkkel időzítési funkciókat hozhatunk létre programunkban. Pultként is használhatók. Ez azt is mutatja, hogy rendelkezik CCP (Capture Compare és PWM) opciókkal, amelyek segítenek PWM jelek előállításában és a bejövő frekvencia jelek kiolvasásában. Külső eszközzel való kommunikációhoz SPI, I2C, PSP és USART. Biztonsági okokból Brown-out Reset (BOR) van felszerelve , amely segít a while program visszaállításában.
Az analóg funkciók azt jelzik, hogy az IC 10 bites, 8 csatornás ADC-vel rendelkezik. Ez azt jelenti, hogy az IC-jünk 10 bites felbontással képes analóg értékeket digitálisra konvertálni, és 8 analóg csap van az olvasásához. Két belső összehasonlítóval is rendelkezünk, amelyek segítségével közvetlenül összehasonlíthatjuk a bejövő feszültséget anélkül, hogy azokat ténylegesen leolvasnánk a szoftveren keresztül.
A Speciális mikrokontroller funkciók azt jelzik, hogy 100 000 törlési / írási ciklus van, vagyis körülbelül 100 000 alkalommal programozható. Az áramkörön belüli soros programozás (ICSP ™) segít az IC közvetlen programozásában a PICKIT3 segítségével . A hibakeresés az áramkörön belüli hibakeresés (ICD) segítségével történhet. Egy másik biztonsági funkció a Watchdog Timer (WDT), amely egy megbízható időzítő, amely szükség esetén visszaállítja az egész programot.
Az alábbi kép a PIC16F877A IC-jének pinoutjait mutatja. Ez a kép minden egyes tűt a nevével és a többi jellemzővel szemben ábrázol. Ez megtalálható az adatlapon is. Tartsa kéznél ezt a képet, mert hardveres munkánk során segítségünkre lesz.
Szoftver kiválasztása oktatóanyagainkhoz:
A PIC mikrovezérlő különböző, a piacon elérhető szoftverekkel programozható. Vannak emberek, akik még mindig az Assembly nyelvet használják a PIC MCU-k programozásához. Oktatóanyagainkhoz kiválasztottuk a legfejlettebb szoftvert és fordítót, amelyet maga a Microchip fejlesztett ki.
A PIC mikrovezérlő programozásához szükségünk lesz egy IDE-re (Integrated Development Environment), ahol a programozás zajlik. Egy fordító, ahol a program átalakul MCU olvasható formába, HEX fájloknak. Egy IPE (Integrated programozási környezet), amelyet dump a hex file-ba a PIC mikrokontrollerek.
IDE: MPLABX v.3.35
IPE: MPLAB IPE v3.35
Fordító: XC8
A Microchip mindhárom szoftvert ingyen adta. Letölthetők közvetlenül a hivatalos oldalukról. Az Ön kényelme érdekében megadtam a linket is. A letöltés után telepítse őket a számítógépre. Ha bármilyen problémája van ezzel, megnézheti a végén adott videót.
Szimulációs célokra a Labcenter által biztosított PROTEUS 8 nevű szoftvert használtuk. Ez a szoftver felhasználható az MPLABX használatával létrehozott kódunk szimulálására. Van egy ingyenes bemutató szoftver, amely letölthető a hivatalos oldalukról a linken keresztül.
Felkészülés a hardverre:
Minden oktatóanyagunk hardverrel fog végződni. A PIC lehető legjobb elsajátításához mindig ajánlatos hardveren keresztül tesztelni a kódjainkat és áramköreinket, mert a szimuláció megbízhatósága nagyon alacsony. A szimulációs szoftveren működő kódok nem biztos, hogy a hardveren várt módon működnek. Ezért a saját áramköreinket egy Perf táblákra építjük, hogy a kódjainkat fel tudjuk dobni.
Kódunk PIC-be történő feltöltéséhez vagy feltöltéséhez PICkit 3-ra lesz szükségünk . A PICkit 3 programozó / hibakereső egy egyszerű, olcsó, áramkörön belüli hibakereső, amelyet egy MPLAB IDE (v8.20 vagy újabb) szoftvert futtató számítógép vezérel. egy Windows platform. A PICkit 3 programozó / hibakereső a fejlesztőmérnök eszközkészletének szerves része. Ezen kívül más hardverekre is szükségünk lesz, például Perf táblára, forrasztóállomásra, PIC IC-kre, kristály oszcillátorokra, kondenzátorokra stb.
Amazon-ból hoztam a PICkit 3-ot, az ugyanezen unboxing videó megtalálható az alábbi videóban. A PICKIT3 link szintén rendelkezésre áll; az ár lehet egy kicsit magas, de hidd el, érdemes befektetni.