ŠKOLA PIC II 2021 – Úvod

    Když jsem si chtěl něco ověřit v historických dokumentech, zjistil jsem, že ŠKOLA PIC, kde jsem se chtěl podělit o zkušenosti se začátky programování procesorů 8bit PIC od společnosti Microchip už uplynulo plných 20 let. Tehdy se zájemci o práci s mikroprocesory dělil na dva tábory a to zájemce o PIC a ATMEL. Bylo to tak 50 na 50 . Odborné literatury i publikací pro začátky práce s oběma typy procesorů byl celkem dostatek. Já jsem si vybral procesor Microchip PIC16F887, který byl celkem novinkou, ale nebyl již tak popularizován v češtině a proto tehdy vznikla první Škola PIC, která měla za úkol seznámit zájemce se základy a osvojit si jak vlastně začít a co pro to udělat. Aby co nejjednodušším a nenáročným způsobem tyto základy předaly dalším zájemcům, což si myslím, se povedlo a podařilo se s touto problematikou seznámit zájemce několik let po sobě v kroužcích elektroniky a programování na základní škole v Netvořicích a v gymnáziu v Benešově.

    Jak se bouřlivě a někdy až překotně vyvíjel svět mikroprocesorů, objevil se fenomén Arduino (1) v prvních verzích UNO s procesorem AT mega. V tomto čase i začal opadávat zájem odborných časopisů i internetu o procesory PIC. Ne že bych se nezajímal o Arduino, ale postrádal jsem u něho takové to původní bastlení a tvoření. Internet byl okamžitě zaplaven konstrukcemi, kde se dalo v podstatě najít cokoliv, ale s využitím Arduina. Mělo to ale jeden háček. Vše se muselo najít na internetu, včetně podrobných popisů i programů a knihoven na cokoliv. Rázem ubylo zájemců o to aby si někdo něco sám navrhoval a programoval, když se to dalo pohodlně stáhnout z webu a taky to většinou fungovalo. Když to nešlo napoprvé, záloze bylo většinou nějaké fórum, aby si člověk našel zkušenosti a postup někoho jiného. Tak proč ne? Mě to ale přidalo v té době spíše jako dnešní plagiátorství, tak jsem se dál držel svých PICek. Taky mně připadalo mnoho konstrukcí jako jít na vrabce s kanónem.

    Procesory PIC v řadě 16F (osmibitové) stále vylepšovaly své parametry hlavně ve zjednodušení návrhů konstrukcí a udržely si jednoduchost hlavně pro aplikace malých řídicích jednotek, jako jsou termostaty, hladinová čidla, různé ovládají jednotky malých strojů a mnoho a mnoho dalších aplikací. Obě platformy PIC i Atmega zůstaly zachovány, aby se později spojily, kdy firma Microchip koupila společnost ATMEL. Tak se stalo, že v současnosti můžete pracovat se všemi procesory obou platforem v jednom vývojovém prostředí MPLAB®X IDE a to jak v základním jazyce Assembler nebo v jazyce C a obojí je podporováno množstvím dalších vývojových aplikací a programátorů jen je třeba si osvojit základy a názvosloví a už můžeme začít pracovat.

    Literatury a dokumentace je k dispozici volně na NETu dost a dost, jediný předpoklad je znalost angličtiny a znalost základních termínů, abyste věděli, co je třeba hledat. Upozorňuji, že moje znalosti angličtiny jsou pouze znalosti technických výrazů a když jsem něco hledal a věděl co, tak jsem se vždy dovtípil, i když někdy s použitím překladače. Od toho vlastně ty překladače jsou.

    Teď po letech, když se zotavuji z těžkého úrazu hlavy a mám částečně poškozený mozek a spoustu věcí, jako je práce s počítačem a programování, musím se znovu učit a připomínat si věci z minulosti.

    Zde se také zrodila myšlenka začít vytvářet novou ŠKOLU PIC II, kde bych si jednak připomněl a zdokumentoval základy práce s procesory PIC16F, které jsou a stále budou aktuální pro svoji jednoduchost a robustnost a i pro velký výběr periférií, který mají k dispozici. Samozřejmě konstrukce s Arduinem budou stále fungovat a zdokonalovat se. Ale pro jednoduché věci a konstrukce jsme opět u toho kanónu, a z dnešního pohledu bych řekl že někdy i u raketové techniky.

    Původní Škola PIC mi mnoho pomohla při vývoji plných 20 let, často jsem se k ni často vracel a úkoly, které jsem neřešil často jsem si jenom nakouknutím připomněl a ujistil jsem se o správném postupu a cestě. Tak tedy ŠKOLA PIC II, ale v novém pojetí, které bude zohledňovat dvacetiletý vývoj procesorů a využije pokud možno všech nebo většinu výhod, které nové rodiny PIC16F přináší konstruktérům, bastlířům i amatérům.

    Pro ty, kteří chtějí v budoucnosti něco vytvářet za pomocí elektroniky nebo se setkávají s těmito procesory v zaměstnání nebo jen prostě si chtějí rozšířit své vědomosti je to nepříliš náročná příležitost, ať již finančně, nebo i časově. Seznámit se se základy nikdy neškodí. Pak je to již na každém jednotlivci, kolik času bude chtít věnovat této problematice. Tento základ ale opravdu není náročný a v podstatě ho můžu doporučit zájemcům již od prvního stupně základní školy až po důchodce (mně letos bude 66 let a stále se chci také vzdělávat).

    Vzal jsem si za cíl podle vzoru distanční výuky na školách, že je možno tuto ŠKOLU PIC takovým to jednoduchým způsobem připravit a zveřejnit. Chci tuto problematiku zpracovávat v češtině, i když se určitě anglickým výrazům nevyhneme, ale to bude jen ku prospěchu věci a přispěje to k celkové orientaci v problematice a zjednoduší to vyhledávání na internetu.

Také zde chci zveřejnit věci, kde jsem v minulosti měl problémy, které jsem řešil zdlouhavě a muselo se prostudovat několik až 400 stránkových datasheetů, přičemž se nakonec ukázalo, že by stačilo jen pár obrázků a stránek.

Co k tomu bude vlastně potřeba a jaká bude náročnost:

  1. Počítač nebo notebook, který má alespoň dvě USB 2.0, ale nemusí to být žádné TOP a systém může být WINDOWS i LINUX.
  2. Vývojové prostředí MPLAB®X IDE, které lze bezplatně stáhnout na stránkách Microchip. Prostředí je psáno v Java® Platform and Operating System Direction. https://www.microchip.com/en-us/development-tools-tools-and-software/mplab-x-ide
  3. Programátor, kterým budeme moci náš první program nahrát přímo do mikroprocesoru. Mně se osobně osvědčil PICKIT3 od Microchipu nebo i čínský klon. Bohužel s PICKIT 4 už tak dobré zkušenosti nemám. Koupil jsem si originál asi za 1600,- a stále jsem měl s ním problémy.(Vypadával mi ze systému WINDOWS). Koupil jsem druhý a choval se obdobně. Závadu jsem našel v komunikaci, stačilo trochu zahýbat kabelem a už to šlo nebo naopak zase nešlo. Takže jsem se vrátil ke staré dobré PICKIT3 cca za 650,- Kč který mi funguje již celu dobu, kdy jsem jím nahradil PICKIT2 a tak jsem si přiobjednal klon cca za 10 dolarů, což je dnes asi 250,- k plné spokojenosti.
  4. Destičku nebo modul s procesorem, s kterým si budeme moci hrát, pracovat a zkoušet. To nejjednodušší si zájemci zájemci budou moct i sami postavit, protože je k dispozici kompletní dokumentace včetně DPS, což je destička plošných spojů a rozpisky součástek. Dá se ale pořídit i destička osazená a začít s ní, protože na ni budou ve škole PIC odkazy.
  5. Pak už jenom čas, který budeme výuce věnovat. Pro začátek si myslím tak dvě hodiny týdně. Když to půjde dobře, tak zhruba po měsíci si každý už bude moci sám vytvořit svůj první projekt a pro začátek rozblikat svoji první LED a věřím, že tento pocit dokáže mnoho zájemců uchvátit.

    V jednotlivých kapitolách bychom se seznámili se základy jak použité rodiny procesorů PIC, tak se základy použití vývojového prostředí včetně programátoru.

    Pro výuku jsem vybral rodinu PIC16F15244, která obsahuje u všech procesorů stejné jádro a stejné funkce, takže se to stačí naučit jednou a platí to pro všechny procesory v této rodině, které mohou mít od 8 do 44 pinů (vývodů nebo také „nožiček), různá pouzdra a také různě velké paměti a jsou určeny pro různé teplotní rozsahy, takže pro svoje budoucí konstrukce si můžeme vybrat přesně co potřebujeme a je to hlavně i cenová záležitost. Pro jeden výrobek to asi problém nebude, ale kdybychom pak již vyráběli stovky a tisíce, tak již to problém je.

 

Seznam jednotlivých kapitol:

  • Základní popis MPLABX, instalace a založení prvního projektu opis způsobu práce s projektem, vytvoření programu pro PIC a jeho nahrání do procesoru.
  • Základní jednoduchý popis zápisu a používání jazyka Assembler (jazyk symbolických adres)
  • Všeobecný popis mikroprocesoru PIC16F15324
  • Praktické zkušenosti se zabudovanými periferiemi procesoru a jejich nastavování prakticky
  • Základní nastavení procesoru (konfigurace)
  • Nastavení oscilátoru
  • Nastavení portů
  • Organizace paměti procesoru
  • Timer 0 , TIMER1 a TIMER2 modul
  • Instrukční sada (INSTRUCTION SET SUMMARY)
  • Analog to digital Converter (ADC)
  • Pulse-With Modulation (PWM) modul
  • Voltage Reference (FVR)
  • Digital to analog convertes (DAC)
  • Comparators
  • Capture/Compare/PWMPWM,( CCP) modul
  • EUSART (RS-232,RS-485,LIN)
  • SPI mode
  • I2C mode
  • Baud Rate Generátor (BRG)
  • Zero -Ccoss Detect (ZCD) modul
  • Waweform generátor (CWG) modul
  • Nastavení a využití ochran procesoru (WDT,WWDT, PWRTE,BOR,POR,Code protection,DIA





Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *