Proč AVR?

Zde je příběh podle mého výběru. Na úsvitu, kdy se na našich rádiových trzích objevily mikrokontroléry, jsem měl neodolatelnou touhu použít je pro ekonomické účely. A v té době výběr na rozhlasových trzích sestával pouze z PIC. S nedětskou cenou a přísně „na objednávku“. Ale buď mě vyděsila cena, nebo nejistota, že tento zázrak zvládnu, nikdy se mi nepodařilo začít s mikrokontroléry Pic. Uplynul nějaký čas, cena ovladačů už nebyla děsivá, protože výrazně zlevnily a já dostudoval, začal pracovat a vydělávat peníze. Bylo by možné začít s masteringem, ale okolnosti znovu zasáhly – stále panovala nejistota, zda zvládnout pryskyřici, a práce, která, jak se zdá, by měla pomoci v peněžním vyjádření, nemilosrdně ubírala čas a dlouho ničila kořeny. -stálé impulsy ponořit se do tajemného a svůdného světa mikrokontrolérů.

Od prvních let jsem se věnoval programování. Nejprve byl BASIC, pak assembler na Z80, pak tam byl x86. Pak tam byla mezera vyplněná hrami, prací a nějakými dalšími kravinami. Celou tu dobu při komunikaci se staršími/mladšími soudruhy, kteří něco dělali s mikrokontroléry, jsem cítil neodolatelnou touhu jim začít rozumět. A pak přišel okamžik, kdy se hvězdy staly správnou cestou a já jsem se pevně rozhodl: Začnu – stejně začnu. Abychom nezačali od nuly, hloupě blikající LED diody, potřebovali jsme rozsáhlý projekt, který by byl zajímavý, vzrušující a smysluplný. A tak se naléhavě na internetu vyhrabal projekt, na který by se mělo hodit veškeré úsilí, peníze a čas. Přirozeně bylo rozhodnuto začít studovat mikrokontrolér, který se již od raného věku rýsoval s červenou vlajkou – PIC. Naštěstí přítel v práci pracoval na PIC už dlouho a s programátorem by neměly být žádné problémy. Na mou žádost mi bylo toto zařízení (programátor) oznámeno a oznámení obsahovalo fráze „všechny typy PIC“, „in-circuit programming“, „in-circuit debugging“, „USB“ a další děsivá slova. Když přinesl své zařízení do práce, hrdě mi ho podal. Dostal jsem do rukou mohutnou krabici (kdo si pamatuje, že do takových krabic na úsvitu počítačů dávali 5palcové diskety (aspoň já)), na jedné straně trčel osamělý USB ocas a na druhé také osamělý ocas vyčnívající s programovacím konektorem v obvodu. Vzhled tohoto monstra, abych byl upřímný, mě trochu zmátl a okamžitě jsem se chtěl podívat dovnitř této „černé skříňky“. Protože můj kolega dlouho pracoval na elektronice a upevňovací šrouby byly něco, co bylo v rozporu s jeho podstatou, pokrčil rameny nad vytřeštěnýma očima a prstem strkajícím do krabice a sundal horní kryt. Uvnitř “Black Box” mě čekalo další překvapení – na dně byl malý šátek. Kolega přidržel desku ke dnu krabice horkým lepidlem. Deska byla vyrobena v továrně a obsahovala asi tucet různých velikostí mikroobvodů, které byly na desce docela těsně zabalené. Netřeba dodávat, že to bylo příliš pro netrénovaný mozek začínajícího elektronického inženýra – mozek upadl do omámení. Přítel, který viděl můj stav, se rozhodl, že nebude dále zraňovat moji křehkou psychiku a opatrně vrátil víko přístroje na své místo. Na otázku “proč, neumíte si to sestavit sami?” přítel se smutně zatvářil a řekl větu: „Zkusil jsem to, opil se a rozhodl jsem se, že bude jednodušší koupit. Tak jsem začal své seznámení s programátorem pro mikrokontroléry. A v mžiku jsem ztratil iluze, že všechno bude snadné a jednoduché. Dobře, myslím, že poprvé použiji zařízení mého přítele, pak si koupím vlastní. Neptal jsem se svého přítele na cenu hotového programátoru, bál jsem se dále zatemňovat své seznámení s mikrokontroléry. Je čas začít se seznamovat s tajemným PIC. Jak se ukázalo, řada PIC je poměrně rozsáhlá a moje znalosti prostě nestačily na výběr správné kopie. Kamarád doporučil čip, o kterém si myslel, že je docela univerzální. Představena byla i e-kniha s popisem a přáním úspěšného seznámení s mikrokontrolérem. Po krátkém přečtení dokumentu jsem byl zklamán. Vzhledem k tomu, že jsem měl od malička kladné dojmy z pohrávání si s assemblerem Z80, rozhodl jsem se studovat assembler. S Z80 bylo vše snadné a jasné a byl jsem připraven na to, že s PICs to bude ještě jednodušší. Mýlil jsem se. No, za prvé mě prostě hluboce pobouřila taková nelogičnost, jako jsou 14bitové programové paměťové buňky. No, nemohl jsem si zamotat hlavu, jak se mohlo stát, že slovo programu mohlo být tak nestydatě vykastrováno. Jak tedy uložit data do paměti? Rozdělte bajty na části nebo ztratíte 6bitové trimy. A to je v době, kdy paměť stojí méně než semena. Dále více. K čemu je v mikrokontroléru s velikostí paměti 4-16 kB organizace stránkované paměti? No, za svůj život tomu nerozumím. A šíření řídicích registrů smíchaných s paměťovými buňkami na 4 stránky je obecně nějaký masochismus. Z nějakého důvodu také kniha představovala malý (nedostatečný) počet instrukcí assembleru jako ctnost – lichých 30. Stručně řečeno, najednou se mi nechtělo psát v assembleru. Dobře, myslím, že napíšu v C – všechno to vyřeší. A pak jsem si představil bláznivý kompilátor C, který, jak program postupuje, přepíná mezi stránkami, snaží se ukládat konstanty do 14bitových paměťových buněk, vytváří kombinace těchto „pouze 30+ instrukcí“, přičemž na každou instrukci stráví 4 hodinové cykly. Celkově naprosté zklamání. Naštěstí pro mě stejný počáteční projekt, o kterém jsem mluvil dříve, přišel ve 2 verzích. Nebo lépe řečeno, byl nejprve vytvořen na PIC a autor předělal druhou verzi pomocí Atmel ATtiny2313. Protože jsem již četl témata s holivary PIC vs AVR, rozhodl jsem se podívat, jak si vede konkurence. A hned mě zarazil rozdíl v architektuře mezi zdánlivě rovnocennými mikrokontroléry.
Tvůrcům se podařilo udělat mikrokontrolér rychlý, jednoduchý a dalo by se říci i elegantní. Téměř všechny příkazy mikrokontroléru jsou vykonávány v 1 hodinovém cyklu, paměť je lineární s jasným členěním podle funkčnosti, hromada příkazů ovladače (více než 130) upravených do C (teď už to kompilátoru nedá – pracuje frivolně s možnosti optimalizace kódu) a hlavně, což mě nečekaně překvapilo – 32. akumulátor – univerzální registr. To znamená, že s každým z nich můžete dělat, co chcete – jakékoli operace! Programátory AVR jsou velmi jednoduché – nejprimitivnější se nazývá „5 vodičů“ – ve skutečnosti je k portu LPT připojeno 5 vodičů a je šitý mikrokontrolér. Uchvátilo mě AVR. S tak bohatou sadou výhod bylo rozhodnuto provést projekt pouze v AVR a pouze v assembleru. Takto jsem zvolil mikrokontrolér.

Omlouvám se fanouškům PIC. V některých bodech se samozřejmě mýlím, protože jsem PIC studoval povrchně a nenapsal jsem pro něj jediný program. Pokud někde v textu uvidíte nesrovnalosti, napište a já je opravím.

Na závěr vám dám malou radu. Pokud vybíráte řadič a potřebujete assembler a rychlost, byla by dobrá volba AVR (volitelně si můžete vybrat novou řadu PIC, ale ty vás nepotěší ani cenou, ani dostupností). Pokud plánujete psát své programy v C nebo jiném vysokoúrovňovém jazyce, pak v zásadě nebude žádný rozdíl.

READ
Jak lepit umělý kámen - Kámen
Rate article
Add a comment

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: