- Architektúra a aplikácie mikrokontroléra PIC:
- Výber mikrokontroléra PIC pre naše výukové programy:
- Výber softvéru pre naše výukové programy:
- Príprava s hardvérom:
V roku 1980 spoločnosť Intel vyvinula prvý mikrokontrolér (8051) s Harvard Architecture 8051 a od tej doby priniesli mikrokontroléry revolúciu v elektronike a zabudovanom priemysle. A s technologickým pokrokom v priebehu času máme teraz oveľa efektívnejšie mikrokontroléry s nízkou spotrebou energie ako AVR, PIC, ARM. Tieto mikrokontroléry sú schopnejšie a ľahšie použiteľné, majú najnovšie komunikačné protokoly ako USB, I2C, SPI, CAN atď. Aj Arduino a Raspberry Pi úplne zmenili pohľad na mikrokontroléry a Raspberry Pi nie je len mikrokontrolér, ale má celý počítač vo vnútri.
Toto bude prvá časť zo série tutoriálov, ktoré ešte len prídu a ktoré vám pomôžu pri učení sa mikrokontrolérov PIC. Ak ste z prostredia elektroniky a vždy ste sa chceli začať učiť nejaké mikrokontroléry a dostať sa do sveta kódovania a stavania, potom bude táto séria výukových programov vaším prvým krokom.
Mikrokontrolér PIC je veľmi pohodlná voľba, ako začať s projektmi mikrokontrolérov, pretože má vynikajúce fóra podpory a bude slúžiť ako silná základňa pre stavbu na všetkých vašich pokročilých mikrokontroléroch, ktoré sa ešte len musíte naučiť.
Tieto návody sú určené pre úplných alebo stredne pokročilých študentov; plánovali sme začať od najzákladnejších projektov po tie pokročilé. Od študentov neočakávame žiadne predpoklady, pretože sme tu, aby sme vám pomohli z akejkoľvek úrovne. Každý výukový program bude mať teoretické vysvetlenie a simuláciu, po ktorej bude nasledovať praktický výukový program. Tieto výukové programy nebudú zahŕňať žiadne vývojové dosky, vlastné obvody vyrobíme pomocou dosky perf. Zaraďte teda rýchlosť a každý týždeň si doprajte čas na vylepšenie pomocou mikrokontrolérov.
Teraz začnime s Jednoduchým úvodom do mikrokontrolérov PIC a niektorými nastaveniami softvéru, ktoré nám umožnia spustiť náš ďalší tutoriál. Na konci videa skontrolujte inštaláciu a nastavenie MPLABX, XC8, Proteus a rýchle rozbalenie programátora PICkit 3.
Architektúra a aplikácie mikrokontroléra PIC:
Mikrokontrolér PIC bol predstavený spoločnosťou Microchip Technologies v roku 1993. Pôvodne boli tieto PIC vyvinuté ako súčasť počítačov PDP (Programmed Data Processor) a každé periférne zariadenie počítača bolo prepojené pomocou tohto mikrokontroléra PIC. Preto PIC dostane svoje meno ako pre radič periférneho rozhrania. Neskôr Microchip vyvinul veľa integrovaných obvodov série PIC, ktoré je možné použiť pre každú malú aplikáciu, ako je napríklad svetelná aplikácia, až po pokročilú.
Každý mikrokontrolér má byť postavený na nejakej architektúre, najslávnejším typom architektúry je architektúra Harvard, náš PIC je založený na tejto architektúre, pretože patrí do klasickej rodiny 8051. Poďme na malé intro o harvardskej architektúre PIC.
PIC16F877A Mikroprocesor sa skladá z vstavaného CPU, I / O porty, organizácia pamäti, A / D prevodníka, časovača / čítača, prerušenie, sériovej komunikácie, oscilátor a CCP modulu, ktorý zhromaždiť robí IC výkonný mikroprocesor pre začiatočníkov začať. Všeobecná bloková schéma architektúry PIC je uvedená nižšie
CPU (centrálna procesorová jednotka):
Mikrokontrolér má procesor na vykonávanie aritmetických operácií, logických rozhodnutí a operácií súvisiacich s pamäťou. CPU musí byť koordinovaný medzi RAM a ostatnými perifériami mikrokontroléra.
Skladá sa z ALU (Arithmetic Logic Unit), pomocou ktorej vykonáva aritmetické operácie a logické rozhodnutia. K dispozícii je tiež MU (pamäťová jednotka) na uloženie pokynov po ich vykonaní. Táto MU rozhoduje o veľkosti programu nášho MC. Skladá sa tiež z CU (riadiacej jednotky), ktorá slúži ako komunikačná zbernica medzi CPU a ostatnými perifériami mikrokontroléra. To pomáha pri načítaní údajov po ich spracovaní v určených registroch.
Pamäť s náhodným prístupom (RAM):
Pamäť s náhodným prístupom je tá, ktorá rozhoduje o rýchlosti nášho mikrokontroléra. RAM sa skladá z bánk registrov, v ktorých je každej pridelená konkrétna úloha. Celkovo ich možno rozdeliť na dva typy:
- Register General Purpose (GPR)
- Register špeciálnych funkcií (SFR)
Ako naznačuje názov, GPR sa používajú na všeobecné registračné funkcie, ako sú sčítanie, odčítanie atď. Tieto operácie sú obmedzené na 8 bitov. Všetky registre v rámci GPR sú užívateľsky zapisovateľné a čitateľné. Samostatne nemajú žiadne funkcie, pokiaľ to nie je špecifikované softvérom.
Zatiaľ čo SFR sa používa na vykonávanie komplikovaných špeciálnych funkcií, ktoré zahŕňajú aj 16-bitové spracovanie, ich registre je možné čítať iba (R) a nemôžeme do nich nič zapisovať (W). Tieto registre majú teda preddefinované funkcie, ktoré majú byť vykonané, ktoré sú nastavené v čase výroby, a iba nám zobrazia výsledok, pomocou ktorého môžeme vykonávať niektoré súvisiace operácie.
Pamäť iba na čítanie (ROM):
Pamäť iba na čítanie je miestom, kde sa ukladá náš program. Toto rozhoduje o maximálnej veľkosti nášho programu; preto sa tiež nazýva ako programová pamäť. Keď je MCU v prevádzke, program uložený v ROM sa vykonáva podľa každého cyklu inštrukcií. Túto pamäťovú jednotku je možné používať iba pri programovaní PIC, počas vykonávania sa stane pamäťou iba na čítanie.
Elektricky vymazateľná programovateľná pamäť iba na čítanie (EEPROM):
EEPROM je ďalší typ pamäťovej jednotky. Do tejto pamäťovej jednotky je možné ukladať hodnoty počas vykonávania programu. Hodnoty tu uložené sú iba elektricky vymazateľné, to znamená, že tieto hodnoty sa zachovajú v PIC, aj keď je IC vypnutý. Môžu byť použité ako malý pamäťový priestor na uloženie vykonaných hodnôt; avšak pamäťový priestor bude v zatáčkach KB oveľa menší.
Flash pamäť :
Flash pamäť je tiež programovateľná pamäť iba na čítanie (PROM), v ktorej môžeme program čítať, písať a mazať tisíckrát. Mikrokontrolér PIC spravidla používa tento typ pamäte ROM.
I / O porty
- Náš PIC16F877A sa skladá z piatich portov, konkrétne Port A, Port B, Port C, Port D a Port E.
- Zo všetkých piatich PORTOV je iba Port A 16-bitový a PORT E je 3-bitový. Zvyšok PORTOV je 8-bitový.
- Kolíky na týchto PORTOCH je možné použiť buď ako vstup alebo výstup na základe konfigurácie registra TRIS.
- Okrem vykonávania I / O operácií môžu byť piny použité aj pre špeciálne funkcie ako SPI, Interrupt, PWM atď.
Autobus:
Pojem Bus je len veľa drôtov, ktoré spájajú vstupné alebo výstupné zariadenie s procesorom a RAM.
Dátová zbernica sa používa na prenos alebo príjem údajov.
Adresová zbernica sa používa na prenos adresy pamäte z periférií do CPU. I / O piny sa používajú na prepojenie externých periférií; Oba sériové komunikačné protokoly UART a USART sa používajú na prepojenie sériových zariadení, ako sú GSM, GPS, Bluetooth, IR atď.
Výber mikrokontroléra PIC pre naše výukové programy:
Mikroprocesory PIC od spoločnosti Microchip Company sú rozdelené do 4 veľkých skupín. Každá rodina má rôzne komponenty, ktoré poskytujú zabudované špeciálne funkcie:
- Prvá rodina, PIC10 (10FXXX) - sa nazýva Low End.
- Druhá rodina, PIC12 (PIC12FXXX) - sa nazýva Stredný rozsah.
- Tretia skupina je PIC16 (16FXXX).
- Štvrtá rodina je PIC 17/18 (18FXXX)
Pretože sa začíname učiť o PIC, vyberme si IC, ktorý je používaný a univerzálne dostupný. Tento IC patrí do rodiny 16F, číslo dielu IC je PIC16F877A. Od prvého tutoriálu až do konca budeme používať rovnaký IC, pretože tento IC je vybavený všetkými pokročilými funkciami ako SPI, I2C a UART atď. Ale ak teraz nedostanete žiadnu z týchto vecí, je to úplne v poriadku, urobíme to získajte pokrok v každom návode a nakoniec využijete všetky vyššie uvedené funkcie.
Po výbere IC je veľmi dôležité prečítať si technický list IC. Toto by mal byť prvý krok v koncepcii, ktorú sa chystáme vyskúšať. Teraz, keď sme vybrali tento model PIC16F877A, môžete prečítať špecifikáciu tohto integrovaného obvodu v údajovom liste.
Funkcia Periférie uvádza, že má 3 časovače, z ktorých dva sú 8-bitové a jeden 16-bitový prednastavovač. Tieto časovače sa používajú na vytvorenie časovacích funkcií v našom programe. Môžu byť tiež použité ako počítadlá. Ukazuje tiež, že má možnosti CCP (Capture Compare a PWM), ktoré nám pomáhajú generovať signály PWM a čítať prichádzajúce frekvenčné signály. Pre komunikáciu s externým zariadením má SPI, I2C, PSP a USART. Z bezpečnostných dôvodov je vybavený Brown-out Resetom (BOR), ktorý pomáha pri resetovaní programu while.
Analógové vlastnosti, naznačuje, že IC má 10-bitový 8-kanálový ADC. To znamená, že náš IC dokáže prevádzať analógové hodnoty na digitálne s rozlíšením 10 bitov a na ich čítanie má 8 analógových pinov. Máme tiež dva interné komparátory, ktoré možno použiť na priame porovnanie prichádzajúceho napätia bez toho, aby sme ich skutočne načítali pomocou softvéru.
Špeciálna funkcia mikrokontroléra znamená, že má 100 000 cyklov mazania a zápisu, čo znamená, že ho môžete naprogramovať asi 100 000-krát. In-Circuit Serial Programming ™ (ICSP ™) nám pomáha programovať IC priamo pomocou PICKIT3. Ladenie je možné vykonať pomocou In-Circuit Debug (ICD). Ďalším bezpečnostným prvkom je časovač Watchdog Timer (WDT), čo je samo-spoľahlivý časovač, ktorý v prípade potreby resetuje celý program.
Nasledujúci obrázok predstavuje pinové výstupy nášho integrovaného obvodu PIC16F877A. Tento obrázok predstavuje každý špendlík proti jeho názvu a jeho ďalším vlastnostiam. Toto tiež nájdete v údajovom liste. Udržujte tento obrázok poruke, pretože nám pomôže pri hardvérových prácach.
Výber softvéru pre naše výukové programy:
Mikrokontrolér PIC je možné programovať pomocou rôznych softvérov, ktoré sú dostupné na trhu. Existujú ľudia, ktorí stále používajú programovací jazyk PIC na programovanie PIC MCU. Pre naše výukové programy sme vybrali najpokročilejší softvér a kompilátor, ktoré vyvinul samotný Microchip.
Na programovanie mikrokontroléra PIC budeme potrebovať IDE (Integrated Development Environment), kde sa programuje. Kompilátor, kde dostane náš program premenený MCU čitateľnej podoby zvanej HEX súborov. IPE (Integrated Programming Environment), ktorý sa používa k výpisu našu hex súbor do nášho PIC MCU.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Kompilátor: XC8
Spoločnosť Microchip poskytla všetky tieto tri softvér zadarmo. Môžu byť stiahnuté priamo z ich oficiálnej stránky. Pre vaše pohodlie som uviedol aj odkaz. Po stiahnutí si ich nainštalujte do svojho počítača. Ak by ste s tým mali problém, môžete si pozrieť dané video na konci.
Na účely simulácie sme použili softvér s názvom PROTEUS 8, ktorý poskytuje spoločnosť Labcenter. Tento softvér je možné použiť na simuláciu nášho kódu vygenerovaného pomocou MPLABX. K dispozícii je bezplatný demonštračný softvér, ktorý je možné stiahnuť z ich oficiálnych stránok prostredníctvom odkazu.
Príprava s hardvérom:
Všetky naše výukové programy skončia s hardvérom. Aby sme sa naučili PIC najlepším možným spôsobom, vždy sa odporúča testovať naše kódy a obvody pomocou hardvéru, pretože spoľahlivosť simulácie je veľmi nízka. Kódy, ktoré fungujú na simulačnom softvéri, nemusia na hardvéri fungovať tak, ako ste očakávali. Preto budeme budovať naše vlastné obvody na doskách Perf, aby sme vyhodili naše kódy.
Výpis alebo nahrať náš kód do PIC, budeme potrebovať PICKIT 3. PICKIT 3 programátor / debugger je jednoduchý, low-cost debugger v obvode, ktorý je riadený počítačom s MPLAB IDE (v8.20 alebo vyšší) softvéru na platforma Windows. PICKIT 3 programátor / debugger je neoddeliteľnou súčasťou sady nástrojov vývojového inžiniera. Okrem toho budeme tiež potrebovať ďalší hardvér, ako je Perf board, Spájkovacia stanica, PIC IC, Crystal oscilátory, kondenzátory atď. Ale my ich pridáme do nášho zoznamu, keď budeme prechádzať našimi návodmi.
Priniesol som svoj PICkit 3 z Amazonu, jeho unboxingové video nájdete vo videu nižšie. Poskytuje sa tiež odkaz na PICKIT3; cena môže byť trochu vysoká, ale verte mi, že sa oplatí investovať.