- Architektura a aplikace mikrokontroléru PIC:
- Výběr mikrokontroléru PIC pro naše výukové programy:
- Výběr softwaru pro naše výukové programy:
- Příprava s hardwarem:
V roce 1980 společnost Intel vyvinula první mikrokontrolér (8051) s Harvard Architecture 8051 a od té doby přinesly mikrokontroléry revoluci v elektronice a vestavěném průmyslu. A s technologickým pokrokem v čase máme nyní mnohem efektivnější mikroprocesory s nízkým výkonem, jako jsou AVR, PIC, ARM. Tyto mikrokontroléry jsou schopnější a snadno použitelné, mají nejnovější komunikační protokoly jako USB, I2C, SPI, CAN atd. Dokonce i Arduino a Raspberry Pi zcela změnily perspektivu vůči mikrokontrolérům a Raspberry Pi není jen mikrokontrolér, ale má celý počítač uvnitř.
Toto bude první část řady tutoriálů, které teprve přijdou a které vám pomohou naučit se mikrokontroléry PIC. Pokud jste z elektronického prostředí a vždy jste chtěli začít učit se některé mikrokontroléry a dostat se do světa kódování a vytváření věcí, pak bude tato řada výukových programů vaším prvním krokem.
Mikrokontrolér PIC je velmi pohodlná volba, jak začít s projekty mikrokontrolérů, protože má vynikající fóra podpory a bude fungovat jako silná základna pro stavění na všech vašich pokročilých mikrokontrolérech, které se ještě musíte naučit.
Tyto výukové programy jsou určeny pro absolutní nebo středně pokročilé studenty; plánovali jsme začít s nejzákladnějšími projekty až po ty pokročilé. Od studentů neočekáváme žádné předpoklady, protože jsme zde, abychom vám pomohli z jakékoli úrovně. Každý výukový program bude mít teoretické vysvětlení a simulaci, po níž bude následovat praktický výukový program. Tyto výukové programy nebudou zahrnovat žádné vývojové desky, vytvoříme si vlastní obvody pomocí desky perf. Zařaďte tedy rychlost a každý týden si udělejte čas na vylepšení pomocí mikrokontrolérů.
Nyní pojďme začít s jednoduchým úvodem do mikrokontrolérů PIC a některými softwarovými nastaveními, abychom mohli začít pracovat v našem dalším kurzu. Na konci videa zkontrolujte instalaci a nastavení MPLABX, XC8, Proteus a rychlé rozbalení programátoru PICkit 3.
Architektura a aplikace mikrokontroléru PIC:
Mikrokontrolér PIC byl představen společností Microchip Technologies v roce 1993. Původně byly tyto PIC vyvinuty jako součást počítačů PDP (Programmed Data Processor) a každé periferní zařízení počítače bylo propojeno pomocí tohoto mikrokontroléru PIC. Proto PIC dostává svůj název jako pro řadič periferního rozhraní. Později Microchip vyvinul mnoho integrovaných obvodů řady PIC, které lze použít pro jakoukoli malou aplikaci, jako je osvětlovací aplikace, až po pokročilé.
Každý mikrokontrolér má být postaven na nějaké architektuře, nejznámějším typem architektury je architektura Harvard, náš PIC je založen na této architektuře, protože patří do klasické rodiny 8051. Pojďme se trochu seznámit s harvardskou architekturou PIC.
PIC16F877A Mikroprocesor se skládá z vestavěného CPU, I / O porty, organizace paměti, A / D převodníku, časovače / čítače, přerušení, sériové komunikace, oscilátor a CCP modulu, který shromáždit dělá IC výkonný mikroprocesor pro začátečníky začít. Obecné blokové schéma architektury PIC je uvedeno níže
CPU (centrální procesorová jednotka):
Mikrokontrolér má CPU k provádění aritmetických operací, logických rozhodnutí a operací souvisejících s pamětí. CPU musí koordinovat mezi RAM a ostatními periferiemi mikrokontroléru.
Skládá se z ALU (Arithmetic Logic Unit), pomocí které provádí aritmetické operace a logická rozhodnutí. K dispozici je také MU (paměťová jednotka) pro uložení instrukcí po jejich provedení. Toto MU rozhoduje o velikosti programu našeho MC. Skládá se také z CU (Control Unit), která funguje jako komunikační sběrnice mezi CPU a dalšími periferiemi mikrokontroléru. To pomáhá při načítání dat po jejich zpracování v zadaných registrech.
Paměť s náhodným přístupem (RAM):
Paměť s náhodným přístupem je ta, která rozhoduje o rychlosti našeho mikrokontroléru. Paměť RAM se skládá z registrových bank, z nichž každé je přiřazen konkrétní úkol. Celkově je lze rozdělit do dvou typů:
- General Purpose Register (GPR)
- Register speciálních funkcí (SFR)
Jak název napovídá, GPR se používají pro obecné funkce registru, jako je sčítání, odčítání atd. Tyto operace jsou omezeny do 8 bitů. Všechny registry podle GPR jsou uživatelsky zapisovatelné a čitelné. Nemají samy o sobě žádné funkce, pokud to není specifikováno softwarem.
Zatímco SFR se používá k provádění komplikovaných speciálních funkcí, které také zahrnují 16bitové zpracování, jejich registry lze číst pouze (R) a nemůžeme na ně nic psát (W). Tyto registry tedy mají předdefinované funkce k provedení, které jsou nastaveny v době výroby a pouze nám zobrazují výsledek, pomocí kterého můžeme provádět některé související operace.
Paměť pouze pro čtení (ROM):
Paměť pouze pro čtení je místo, kde se náš program ukládá. Toto rozhoduje o maximální velikosti našeho programu; proto se také nazývá jako programová paměť. Když je MCU v provozu, program uložený v ROM se provádí podle každého instrukčního cyklu. Tuto paměťovou jednotku lze použít pouze při programování PIC, během provádění se stane pamětí pouze pro čtení.
Elektricky mazatelná programovatelná paměť pouze pro čtení (EEPROM):
EEPROM je další typ paměťové jednotky. Do této paměťové jednotky lze ukládat hodnoty během provádění programu. Zde uložené hodnoty jsou pouze elektricky mazatelné, to znamená, že tyto hodnoty budou zachovány v PIC, i když je IC vypnutý. Mohou být použity jako malý paměťový prostor pro uložení provedených hodnot; paměťový prostor však bude v zatáčkách KB mnohem menší.
Flash paměť :
Flash paměť je také programovatelná paměť pouze pro čtení (PROM), ve které můžeme program číst, zapisovat a mazat tisíckrát. Mikrokontrolér PIC obecně používá tento typ ROM.
I / O porty
- Náš PIC16F877A se skládá z pěti portů, jmenovitě Port A, Port B, Port C, Port D & Port E.
- Ze všech pěti PORTŮ je pouze port A 16bitový a PORT E 3bitový. Zbytek PORTŮ je 8bitový.
- Kolíky na těchto PORTECH lze použít jako vstup nebo výstup na základě konfigurace registru TRIS.
- Kromě provádění I / O operací lze piny použít také pro speciální funkce jako SPI, Interrupt, PWM atd.
Autobus:
Termín Bus je jen spousta vodičů, které spojují vstupní nebo výstupní zařízení s CPU a RAM.
Datová sběrnice se používá k přenosu nebo příjmu dat.
Adresová sběrnice se používá k přenosu adresy paměti z periferií do CPU. I / O piny se používají k propojení externích periferií; UART a USART oba sériové komunikační protokoly se používají pro propojení sériových zařízení, jako jsou GSM, GPS, Bluetooth, IR atd.
Výběr mikrokontroléru PIC pro naše výukové programy:
Mikrokontroléry PIC od společnosti Microchip Company jsou rozděleny do 4 velkých rodin. Každá rodina má řadu komponent, které poskytují integrované speciální funkce:
- První rodina, PIC10 (10FXXX) - se nazývá Low End.
- Druhá rodina, PIC12 (PIC12FXXX) - se nazývá Střední rozsah.
- Třetí rodina je PIC16 (16FXXX).
- Čtvrtá rodina je PIC 17/18 (18FXXX)
Vzhledem k tomu, že se začínáme učit o PIC, vyberte si IC, který se používá a je k dispozici univerzálně. Tento IC patří do rodiny 16F, číslo dílu IC je PIC16F877A. Od prvního tutoriálu až do konce budeme používat stejný IC, protože tento IC je vybaven všemi pokročilými funkcemi, jako je SPI, I2C a UART atd. Ale pokud teď žádnou z těchto věcí nedostanete, je to v pořádku, uděláme to projděte každý výukový program a nakonec využijte všechny výše uvedené funkce.
Jakmile je IC vybrán, je velmi důležité přečíst si datový list IC. To by měl být první krok v jakékoli koncepci, kterou se chystáme vyzkoušet. Nyní, protože jsme vybrali tento PIC16F877A, umožňuje přečíst specifikaci tohoto IC v datovém listu.
Periferní funkce uvádí, že má 3 časovače, z nichž dva jsou 8bitové a jeden 16bitový přednastavovač. Tyto časovače se používají k vytvoření časovacích funkcí v našem programu. Mohou být také použity jako čítače. Ukazuje také, že má možnosti CCP (Capture Compare a PWM), které nám pomáhají generovat PWM signály a číst příchozí frekvenční signály. Pro komunikaci s externím zařízením má SPI, I2C, PSP a USART. Z bezpečnostních důvodů je vybaven Brown-out Reset (BOR), který pomáhá při resetování programu while.
Analogové funkce označuje, že IC má 10bitový 8kanálový ADC. To znamená, že náš IC může převádět analogové hodnoty na digitální s rozlišením 10 bitů a má 8 analogových pinů pro jejich čtení. Máme také dva interní komparátory, které lze použít k přímému porovnání vstupního napětí, aniž by je bylo nutné číst pomocí softwaru.
Speciální funkce mikrokontroléru znamená, že má 100 000 cyklů mazání a zápisu, což znamená, že jej můžete naprogramovat přibližně 100 000krát. In-Circuit Serial Programming ™ (ICSP ™), nám pomáhá programovat IC přímo pomocí PICKIT3. Ladění lze provádět pomocí In-Circuit Debug (ICD). Další bezpečnostní funkcí je Watchdog Timer (WDT), což je samo-spolehlivý časovač, který v případě potřeby resetuje celý program.
Níže uvedený obrázek představuje vývody našeho IC PIC16F877A. Tento obrázek představuje každý pin proti jeho jménu a jeho dalším funkcím. To lze také najít v datovém listu. Udržujte tento obrázek po ruce, protože nám pomůže během hardwarových prací.
Výběr softwaru pro naše výukové programy:
Mikrokontrolér PIC lze programovat pomocí různých softwarů dostupných na trhu. Existují lidé, kteří stále používají programovací jazyk k programování PIC MCU. Pro naše výukové programy jsme vybrali nejpokročilejší software a kompilátor, které vyvinul samotný Microchip.
K programování mikrokontroléru PIC budeme potřebovat IDE (Integrated Development Environment), kde probíhá programování. Kompilátor, kde dostane náš program přeměněn MCU čitelné podoby zvané HEX souborů. IPE (Integrated Programming Environment), který se používá k výpisu naši hex soubor do našeho PIC MCU.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Kompilátor: XC8
Microchip dal všechny tyto tři software zdarma. Lze je stáhnout přímo z jejich oficiální stránky. Pro vaše pohodlí jsem také uvedl odkaz. Po stažení si je nainstalujte do počítače. Pokud s tím máte problém, můžete si prohlédnout video uvedené na konci.
Pro účely simulace jsme použili software s názvem PROTEUS 8, který poskytuje Labcenter. Tento software lze použít k simulaci našeho kódu generovaného pomocí MPLABX. K dispozici je bezplatný ukázkový software, který lze stáhnout z jejich oficiální stránky prostřednictvím odkazu.
Příprava s hardwarem:
Všechny naše výukové programy skončí s hardwarem. Abychom se naučili PIC co nejlépe, vždy se doporučuje otestovat naše kódy a obvody přes hardware, protože spolehlivost simulace je velmi nízká. Kódy, které fungují na simulačním softwaru, nemusí na vašem hardwaru fungovat tak, jak jste očekávali. Proto budeme stavět naše vlastní obvody na deskách Perf, abychom vypsali naše kódy.
Výpis nebo nahrát náš kód do PIC, budeme potřebovat PICkit 3. PICkit 3 programátor / debugger je jednoduchý, low-cost debugger v obvodu, který je řízen počítačem s MPLAB IDE (v8.20 nebo vyšší) softwaru na platforma Windows. PICkit 3 programátor / debugger je nedílnou součástí sady nástrojů vývojového inženýra. Kromě toho budeme také potřebovat další hardware, jako je Perf board, Pájecí stanice, PIC IC, Crystal oscilátory, kondenzátory atd. Ale budeme je přidávat do našeho seznamu, jak postupujeme prostřednictvím našich výukových programů.
Přinesl jsem svůj PICkit 3 z Amazonu, jeho unboxingové video najdete ve videu níže. Poskytuje se také odkaz na PICKIT3; cena může být trochu vysoká, ale věřte mi, že se vyplatí investovat.