Moje Cesta Světem MCU

Před dávnými časy (asi kolem roku 2005), žil jeden klučina se zájmem o elektroniku a programování.

Chodil jen na všeobecnou střední školu, ale přesto uměl napsat pár algoritmů v C a věděl jak fungují základní elektronické součástky. Po sesmolení pár blikačů a houkaček se však začal zajímat, jak sestrojit složitější zařízení s displejem a tlačítky, které bude umět také nějaké užitečnější věci. Inu vydal se do světa na zkušenou (= spustil prohlížeč a zadal www.google.com ). Na konci své strastiplné cesty internetovým světem dospěl ke zkratce MCU. Význam této zkratky zcela změnil klučinův pohled na elektroniku. Dosud si totiž nedokázal představit, že „kompletní počítač“ s CPU, RAM, ekvivalentem HDD (FLASH) a navíc několika magickými periferiemi uvnitř malého pouzdra může být dostupný jen za několik desetikorun.

Tak nějak začala moje cesta světem MCU. Protože s angličtinou jsme v té době ještě nebyli úplně kamarádi, začal jsem hledat informace o programování jednočipů v češtině. Narazil jsem na seriál článků „Škola programování PIC“ na serveru pandatron.cz. Nechal jsem si tedy od kamaráda z Brna dovézt z GME po jednom kusu z řady PIC12F a PIC16F a součástky na jednoduchý programátor na seriový port. Následně jsem vrhnul jsem se do studia prapodivnéhu jazyka symbolických instrukcí (neboli assembleru), který byl jedinou smysluplnou možností programování uvedených MCU. Vyzkoušel jsem si několik jednoduchých příkladů, ale velmi brzy jsem objevil architekturu AVR a procesor ATmega8, který oproti PIC nabízel lepší výbavu za nižší cenu.

S programováním AVR jsem začal taktéž v assembleru, protože vyšší jazyky jsem v omezeném prostředí malých čipů vnímal jako plýtvání prostředky. Brzy mi však došlo, že instrukcemi assembleru stejně dostupnou paměť v životě nezaplním. Vzhledem k dostupnosti překladače jazyka C jsem tedy přešel na tento „vyšší jazyk“. ATmega8 programovaná v jazyce C mi stačila několik let a mnoho projektů. Od pokusů s přenosem telemetrie z RC modelu, přes řídící jednotku CNC frézky až po procesorem řízenou nabíječku. Především u složitějších projektů však začala být překážkou chybějící podpora ladění přímo na čipu (on-chip debug). Tuto překážku jsem se snažil obejít pomocí pokročilejšího simulátoru v prostředí VMLAB, ovšem skutečné chování se od simulovaného často dosti lišilo. Jednoho dne však cena ATmega8 v DIP pouzdře vyskočila z 35 Kč na téměř čtyřnásobek. To byl poslední impulz, který mě přiměl podívat se po alternativách.

Objevil jsem seriál Začínáme s STM32 VL Discovery na serveru mcu.cz, který mě přiměl k nákupu uvedeného kitu a tím tak určil další směr na mé cestě světem MCU. STM32 VL Discovery obsahuje MCU řady STM32F100 s jádrem ARM Cortex-M3 spolu s integrovaným programátorem a debugerem, který lze použít i pro ladění aplikací mimo samotný kit. Vzhledem k velmi nízké ceně to byla neodolatelná nabídka (odhaduji, že na každý kit výrobce dokonce musí doplácet ze svého). S výkonějším jádrem se mi tak otevřela cesta k aplikacím, které nebyly s architekturou AVR myslitelné. STM32 sice nenajdete ve verzi v DIL pouzdře, ovšem moje technika výroby DPS se zlepšila natolik, že mi zapájení pouzder s roztečí 0,5 mm nedělá problémy a tak si pro pokusy vystačím s doma vyrobenou redukcí na DIL40. Procesory STM32 jsou tak pro mě opět docela novým prostředím, se kterým předpokládám vydržím dalších několik let.


Autor
Vlastní CNC (0) – Počáteční Neúspěch