Image
6.4.2016 0 Comments

Výber vhodného mikrokontroléra

Výber vhodnej vývojovej dosky s mikrokontrolérom pre jednoúčelové riešenie alebo prototyp nového produktu závisí od rôznych faktorov, predovšetkým výkonu, dostupnosti vhodných portov a komunikačných rozhraní, a ak je zariadenie napájané z batérie, kľúčová bude spotreba.

Obmedzenia populárnych dosiek

V rebríčku popularity vývojových dosiek vedie Arduino a jeho klony, nasledované Raspberry a ďalšími doskami, ktoré sa jednoducho konfigurujú a jednoducho sa pre ne robia aplikácie.  V našom seriáli sme ukázali možnosti vývoja aplikácií pre dosku Raspberry Pi 2, na ktorej môže bežať Windows 10 IoT, takže vývojári môžu zúročiť svoje skúsenosti s vývojom aplikácií pre túto platformu. V seriáli sme už narazili na jedno obmedzenie – absenciu analógových prvkov, čo sa dá prekonať rozširujúcimi doskami. Je tu však aj ďalší problém. Na napájanie potrebujete zdroj schopný dodať 1,5 – 2 A, a ak použijete rozširujúce dosky, prípadne pripojíte klávesnicu či monitor, tak aj viac. Takže batériu z kapacitou 2000 mAh vybijete za hodinu, inak povedané, na napájanie z batérie môžete pri takejto doske zabudnúť. Populárna doska Arduino je na tom lepšie, no nie oveľa.

ARM Cortex M3

Aké riešenie teda zvoliť, ak potrebujete, aby zariadenie vydržalo fungovať z jednej súpravy batérií niekoľko mesiacov, prípadne ak potrebujete mať k dispozícii desiatky portov, analógových aj digitálnych a k tomu komunikačné rozhrania USB, RS-232, eternet, I2C, SPI, CAN a pod.? Pri výbere ani nie tak konkrétnej dosky, ale platformy, ktorú predstavíme, sme zvolili jeden z najdôležitejších parametrov – cenu. Nastavili sme ju na 9,61 eura. Za túto cenu môžete mať jednu z najpopulárnejších dosiek  STM32VLDISCOVERY, ktorá využíva architektúru ARM Cortex M3. K dispozícii je vo viacerých variantoch vrátane STM32L s extrémne úsporným procesorom radu STM32L, displejom a univerzálnym dotykovým ovládacím prvkom.

Vývojová doska STM32 Discovery: vpravo variant STM32L

Skôr než sa pustíme do podrobnejšieho opisu, upozorníme na jeden potenciálny, no ľahko riešiteľný problém. Aby bolo možné dosky pripojiť k internetu, potrebujete vhodný externý modul, napríklad DP83848 (v zásielkových obchodoch pod 5 eur). 

Modul s eternetovým rozhraním

 

STM32 Discovery

Okrem klasických vstupno-výstupných portov môžete využiť širokú paletu 16-bitových časovačov vrátane impulzovej šírkovej modulácie PWM, tri rozhrania USART, po dve rozhrania SPI a I2C,  podporu pre rozhrania USB 2.0 a CAN 2.0 (využíva sa v riadiacich systémoch automobilov) a dva 12-bitové 10-kanálové A/D prevodníky. Pozornejší čitatelia pri pohľade na obrázok objavia, že na doskách sú vlastne dva procesory. Všimnite si bielu deliacu čiaru približne v polovici, ktorá dosky rozdeľuje na dva logické celky. V dolnej časti je MCU STMF103RB, disponujúci 128 kB pamäte flash, 8 kB RAM, ktorý budete programovať, externý kryštál 8 MHz,  oscilátor 32,768 kHz pre obvody RTC, dve LED diódy, jedno používateľské a jedno resetovacie tlačidlo. MCU môže bežať na maximálnej frekvencii 72 MHz. V hornej časti  je samostatný modul ST-Link umožňujúci nielen zavedenie programového kódu, ale aj jeho ladenie, takže na pokusy s doskou nepotrebujete žiadne ďalšie zariadenie. Ani s napájaním si pri prvých pokusoch starosti robiť nemusíte, doska Discovery je napájaná z portu USB, presnejšie napätie 5 V z tohto portu je stabilizované na 3,3 V. Samozrejme, je možné aj napájanie z externého zdroja.

Akú dosku si vybrať? Keď prezradíme, že cena je približne rovnaká, pri pohľade na obrázok sa vám bude zrejme viac páčiť  doska vpravo s displejom a univerzálnym dotykovým ovládacím prvkom. Má to však niekoľko úskalí. Displej zaberá pomerne veľa portov, no keďže je v pätici, po jeho odstránení budú porty voľné. Navyše programovanie zobrazovania textu, prípadne alfanumerických znakov nie je aj napriek zrozumiteľnému „pribalenému“ príkladu pre začiatočníkov úplne triviálne. Preto na prvé pokusy odporúčame model bez displeja.

Hybridné riešenie

Veľmi zaujímavý variant je využiť vývojový STM32 Discovery ako rozširujúcu dosku pre Raspberry, či už priamo obidve dosky v jednom zariadení, alebo ako prepojenú hviezdicovú architektúru. Na prepojenie môžete využiť rozhrania RS-232, RS-485, I2C alebo SPI. Použitie dosky Discovery na rozšírenie portov je lacnejšie a vzhľadom na počet portov podstatne variabilnejšie riešenie než originálne dosky, napríklad Explorer HAT, ktoré majú len niekoľko málo portov.

Druhý variant je použiť Raspbery Pi 2 s Windows 10 ako koncentrátor na zber a spracovanie údajov a na komunikáciu s internetom a dosky Discovery na riadenie jednotlivých komponentov alebo pripojenie senzorov. V obidvoch prípadoch budeme, samozrejme, musieť napísať pre dosku Discovery vhodný firmvér.  

Produktová rodina ARM Cortex

Jedna z najuniverzálnejších a zároveň najdostupnejších platforiem je rodina procesorov ARM Cortex. Tento názov sa u mnohých majiteľov smartfónov a tabletov okamžite bude asociovať s procesorom v ich prístroji. Ide o procesory ARM Cortex A9 či A8, ktoré sú vlajkovou loďou produktovej rodiny. Na opačnom konci cenovej osi sú lacné univerzálne mikrokontroléry radu M. Architektúra Cortex je koncipovaná tak, aby pokryla  široké spektrum technologických požiadaviek. Dodáva sa v troch výkonnostných profiloch, pričom výkonu zodpovedá aj cena:

  • A – pre hi-end aplikácie vyžadujúce vysoký výkon; tento rad sa využíva napríklad v moderných tabletoch
  • R – pre aplikácie pracujúce v  reálnom čase
  • M – mikrokontrolér pre nákladovo citlivé aplikácie – pre amatérske konštrukcie, hobby či študentské projekty

Aby sme boli presní, ARM Cortex M3 nie je označenie konkrétneho produktu, ale architektúry jadra mikrokontroléra (MCU). V ponímaní ARM sa pod pojmom jadro rozumie nielen procesor, ale aj programové a dátové zbernice, systém prerušenia, ochrana pamäte a integrovaný podsystém na ladenie programového kódu. Výrobcovia konkrétnych MCU vo svojich produktoch k tomuto základu pridávajú na svoje čipy porty, časovače, sériové rozhrania, prevodníky a ďalšie integrované moduly. Napriek tomu, že výrobcov MCU na báze Cortex M3 sú desiatky, výhodná je unifikácia na úrovni jadra, čo v praxi znamená aj unifikáciu  na úrovni kódu.

Základy architektúry Cortex M3

Pri vytváraní priemerne náročných aplikácií, napríklad jednoduchých riadiacich systémov na ovládanie kúrenia, robotického vozíka zo stavebnice a podobne, nepotrebuje tvorca programového kódu detailné znalosti architektúry, aj keď bez základných vedomostí o portoch, čítačoch, časovačoch či komunikačných rozhraniach sa nezaobíde. 

Bloková schéma architektúry procesorov radu STM32F10x

Jeden z najdôležitejších blokov je sofistikovaný riadiaci systém prerušení Nested Vector Interrupt Controller (NVIC), ktorý umožňuje využiť až 240 prerušení s rôznou prioritou vrátane podpory „prerušenia počas prerušenia“. 32-bitový mikroprocesor umožňuje priamo adresovať 4 GB adresného priestoru, ktorý je rozdelený do prehľadne definovaných oblastí na kód, SRAM a periférie. V praxi to znamená, že ku všetkým registrom periférií sa pristupuje rovnako ako k pamäti. Rodina Cortex podporuje aj takzvaný bit banding čiže nastavenie a nulovanie bitov v dvoch 1 MB oblastiach pamäte vrátane registrov periférií.

Vývojové prostredia

Obidva vývojárske nástroje opisované v článku majú verziu Lite, určenú na nekomerčné, študijné a hobby projekty, ktorá je zadarmo. Hlavné obmedzenie je veľkosť generovaného kódu, limitovaná na 32 kB. Pre hobby projekty je to viac než dosť, dokonca aj v prípade, že neskôr použijete grafický displej a v pamäti budete mať bitové definície alfanumerických znakov a ikon. Na lepšiu predstavu o kapacite -   jednoduchý interpreter jazyka BASIC bez pohyblivej rádovej čiarky sa vojde do 4 kB a jeden z najpopulárnejších mikropočítačov osembitovej éry ZX Spectrum mal 16 kB ROM.

Atollic TrueSTUDIO

Atollic TrueSTUDIO je osvedčená a spoľahlivá vývojárska platforma podporujúca produktové rodiny ARM7, ARM9 a ARM Cortex. Je kompatibilná s otvorenými de facto štandardmi, ako napríklad Eclipse IDE Framework a GNU toolchain. Vývojové prostredie je k dispozícii na www.atollic.com. Pre hobby projekty je určená verzia Atollic TrueSTUDIO for ARM Lite, obmedzená veľkosťou generovaného kódu 32 kB, podporujúca programovanie v assembleri a jazyku C. Komerčná verzia nemá obmedzenie veľkosti kódu a navyše podporuje aj objektovo orientovaný programovací jazyk C++, statickú analýzu kódu a ďalšie črty, ktoré výrazne zefektívňujú prácu pri firemnom vývoji. V priebehu inštalácie sa musíte zaregistrovať. Automaticky sa zobrazí webová stránka registrácie, kde zadáte ID vášho počítača, vygenerované inštalačným programom. Následne zadáte do dialógu registračný kód, ktorý dostanete e-mailom.

Keil μVision

Vývojové prostredie stiahnete po zaregistrovaní z webu www.keil.com/arm/mdk.asp. Ide o komplexný nástroj umožňujúci tvorbu programu pre mikrokontroléry založené na jadrách ARM. Obsahuje všetky potrebné nástroje od vytvorenia projektu cez komfortný editor zdrojového kódu, konfiguračné nástroje, kompilátory...  až po nástroje na ladenie a simuláciu programu. Skúšobná verzia, ktorá je k dispozícii zadarmo, je obmedzená maximálnou veľkosťou generovaného kódu na 32 kilobajtov. V praxi to znamená, že zo 128 kB pamäte flash, ktorou disponuje väčšina mikrokontrolérov radu STM 32, využijete len štvrtinu, no na bežné amatérske projekty je to viac než dosť.

V budúcom pokračovaní ukážeme vytvorenie projektu a príklad ovládania portov.

 

 

Zobrazit Galériu

Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Ako na to

Ako zbaviť fotky hmly

08.12.2016 11:59

Hmla alebo dym sú často veľmi kreatívne nástroje. No všetkého veľa škodí. Fotka potom stráca kontrast a v podstate na nej nič nevidieť. Hmlu môžete neraz následnými úpravami odstrániť alebo zredukovať ...

Ako na to

Užitočné SW nástroje

08.12.2016 11:53

AllDup v4.0.3 Určenie: program na vyhľadávanie a odstraňovanie duplicitných súborov Vlastnosti: duplicitné súbory sa vyhľadávajú len na zvolených diskových jednotkách alebo len v rámci vybraných ...

Ako na to

Fotografovanie s bleskom

08.12.2016 11:47

Ak máte moderný fotoaparát so vstavaným alebo externým bleskom, zdá sa vám téma článku triviálna. Jednoducho nastavíte vhodný režim, vyberiete najlepšiu kompozíciu záberu, exponujete a o zvyšok sa už ...

Žiadne komentáre

Vyhľadávanie

Kyocera - prve-zariadenia-formatu-a4-s-vykonom-a3

Najnovšie videá