Jak vybrat mikrokontrolér pro váš nový produkt
jak vyberete správný mikrokontrolér pro váš konkrétní hardwarový produkt? Tento článek vám ukáže všechny různé faktory, které potřebujete k žonglování při výběru nejlepšího mikrokontroléru.
při výběru správného mikrokontroléru pro projekt musíte zvážit náklady, výkon, spotřebu energie a celkovou velikost. Dostupnost správného softwaru a hardwarových nástrojů je také hlavním hlediskem.
podpora zvolené platformy je také velmi důležitá – nejen od dodavatele,ale od celé komunity. Pomáhá také, pokud má vybraný mikrokontrolér snadno dostupnou vývojovou desku.
nakonec lze výrazně zkrátit dobu vývoje, pokud má vybraný mikrokontrolér rozsáhlé, plně laděné softwarové knihovny s dobře zdokumentovanými aplikačními programovacími rozhraními nebo API.
v tomto článku budou představeny pouze mikrokontroléry, které obecně splňují výše uvedená kritéria.
všechny moderní mikrokontroléry sdílejí některé základní funkce. Kromě procesorové jednotky mají určité množství blesku, které se používá k uložení kódu aplikace, některé SRAM a ve většině případů některé EEPROM.
potřebují zdroj hodin, a to je obvykle poskytováno buď oscilátorem interního rezistoru-kondenzátoru (RC), nebo pomocí externího krystalu pro více kritických aplikací časování. Mají některé digitální IO porty, a alespoň jeden časovač/počítadlo.
kromě velmi nízkých mikrokontrolérů má většina alespoň jeden UART pro sériovou komunikaci. Kromě toho se mikrokontroléry vyznačují množstvím paměti, kterou mají, počtem a typem jiných periferií integrovaných do čipu a rychlostí, s jakou spouštějí uživatelské aplikace.
to nezávisí pouze na rychlosti hodin raw; záleží také na šířce dat procesoru a všech zahrnutých funkcích hardwarové akcelerace.
mikrokontroléry pro vestavěné systémy spadají hlavně do tří kategorií na základě šířky jejich datových sběrnic: 8bitové, 16bitové a 32bitové. Existují i jiné, ale ty jsou nejoblíbenější.
obecně platí, že 8-bitové mikrokontroléry jsou zaměřeny na nižší koncové aplikace a 32-bitové jsou pro vyšší konce, s 16-bit pro střední aplikace.
zdaleka většina produktů, na kterých pracuji, má tendenci zahrnovat 32bitové mikrokontroléry, ale 8 nebo 16bitové mikrokontroléry mohou být dobrou volbou pro low-end, low-cost produkty.
8bitové mikrokontroléry
pokud aplikace nemá příliš vysoké nároky na výpočetní výkon a má relativně malou velikost, pak může mít smysl uvažovat o 8bitovém mikrokontroléru.
pro informaci je většina Arduin založena na 8bitových mikrokontrolérech. Takže pokud jste vytvořili svůj časný prototyp pomocí Arduino, můžete ve svém konečném produktu použít 8bitový mikrokontrolér.
nenechte cenu samotnou, i když řídíte své rozhodnutí a v mnoha případech mohou být 32bitové mikrokontroléry levnější než 8bitové čipy.
například Atmega328p je 8bitový mikrokontrolér používaný Arduino Uno. Stojí to něco přes $ 1 v objemech kolem 10k kusů. Běží na 20 MHz a obsahuje 32 KB Flash a 2 kB RAM.
na druhou stranu si můžete zakoupit 32bitové mikrokontroléry běžící na 48 MHz s podobnou pamětí za pouhých 60 centů. To je pravděpodobně způsobeno populárním 32bitovým mikrokontrolérem, který snižuje jejich náklady.
jak již bylo řečeno, jsou k dispozici ještě levnější 8bitové mikrokontroléry, které stojí méně než 25 centů při podobných objemech.
8bitové mikrokontroléry by měly být obvykle zvažovány pro aplikace, které jsou určeny pouze pro jednu práci, s omezeným uživatelským rozhraním a malým zpracováním dat.
8bitové mikrokontroléry se dodávají ve všech velikostech od malých 6kolíkových zařízení až po čipy se 64 kolíky. Mají velikost blesku v rozmezí od 512 bajtů do 256KB, velikosti SRAM od 32 do 8KB nebo více a EEPROM od 0 do 4K nebo více. Minimální systém může být stejně jednoduchý jako jeden čip, s obtokovým kondenzátorem na napájecí kolejnici.
tři nejoblíbenější řady 8bitových mikrokontrolérů jsou řada 8051, řada PIC od Microchip a řada AVR od Atmel, nyní součást Microchipu.
řada 8051
původně od společnosti Intel a nyní od jiných, je tento mikrokontrolér dodnes běžně používán, zabudovaný do mnoha spotřebičů.
zatímco jsou k dispozici jako samostatná zařízení, 8051 se nyní většinou používá jako jádra IP (duševního vlastnictví), která jsou zabudována do křemíku vyhrazených aplikačně specifických čipů, jako jsou některé bezdrátové rádiové vysílače.
velmi zřídka by 8051 byla správná volba, která by sloužila jako hlavní mikrokontrolér pro váš produkt.
PIC série
PIC mikrokontroléry jsou velmi populární a mají širokou podporu jak mikročipem, tak třetími stranami.
Microchip poskytuje integrované vývojové prostředí MPLAB® X (IDE), které obsahuje kompilátor C zdarma. K dispozici také zdarma jako IDE plug-in je MPLAB kód konfigurátor, který generuje C-kód pro palubní periferie.
to pak může být integrováno do kódu aplikace. Existují PIC modely s kombinací rozhraní USART, SPI, I2C, ADC, USB, LIN, CAN a dalších rozhraní. Microchip také nabízí několik vývojových nástrojů, včetně MPLAB PICkit 4, ICD 4 a Real ICE.
k dispozici jsou také kvalitnější komerční compliers, které mají lepší optimalizaci kódu. Zde je rychlá referenční příručka PDF pro mikrokontroléry PIC.
řada AVR
AVR je další řada velmi populárních 8bitových mikrokontrolérů. I když jsou ve stejném prostoru jako výše popsané obrázky, a mají srovnatelné výkony,mají jeden velký nárok na slávu: Arduino.
Obrázek 1 – většina desek Arduino je založena na 8bitových mikrokontrolérech AVR
původní Arduinos, jako jsou uno, Leonardo a Mega, všechny používají mikrokontroléry AVR. Vzhledem k velmi široké škále dostupných knihoven pro Arduinos si AVRs zaslouží vážné zvážení pro 8bitové aplikace, i když pouze pro důkaz prototypů konceptu.
vzhledem k tomu, Arduino knihovny jsou psány v C++, mohou být snadno začleněny do libovolné aplikace napsané v c / c++.
nástroje pro vývoj softwaru zahrnují AVR studio nebo, pokud používáte Arduino, Arduino IDE a Platform IO se běžně používají. Complier použitý v těchto IDE je AVR GCC zdarma, velmi dobře podporované a udržované C/C++ kompilátor.
nástroje pro vývoj hardwaru zahrnují Atmel ICE a PICkit 4. Kromě toho jsou stále široce dostupné zralé nástroje, jako jsou Stk600 a AVR Dragon. Zde je odkaz na rychlou referenční příručku PDF pro mikrokontroléry AVR.
16bitové mikrokontroléry
16bitové mikrokontroléry jsou dalším krokem od 8bitových, přičemž stále sdílejí mnoho stejných atributů. Jsou rychlejší, podporují ještě více periferií a obecně nabízejí více paměti, flash i SRAM.
kromě více IO pinů má většina z nich také hardwarové multiplikátory, které jsou výrazně rychlejší a používají méně programové paměti ve srovnání s čistě softwarovými implementacemi.
je snadné najít zařízení, která mají ADC i DAC, nebo zařízení s kapacitními dotykovými senzory, segmentovanými LCD ovladači a Ethernetem.
interně mají tato zařízení také hardwarové bloky, které se obvykle nenacházejí v dolních koncových zařízeních. Patří sem šifrovací motory, operační nebo Programovatelné zesilovače zisku a DMA regulátory.
ačkoli 16bitové mikrokontroléry lze nalézt od různých výrobců, jako je Microchip (jejich dspic33 je populární volbou), NXP, Infineon nebo Cypress, bude zde jako typický příklad tohoto segmentu mikrokontrolérů představena řada TI MSP430.
TI MSP430 Series
MSP430 je řada 16bitových mikrokontrolérů s velmi nízkým výkonem, které jsou k dispozici v mnoha příchutích. Pohybují se od obecných až po velmi specializované modely.
jedna zajímavá věc na specializovaných variantách těchto mikrokontrolérů je, že se ve skutečnosti rozvětvuje do dvou extrémů: velmi specializované, velmi levné modely a špičkové modely s rozhraním analogových senzorů a digitálním zpracováním signálu (DSP).
příkladem špičkové aplikace je tento ultrazvukový snímač průtoku. Na spodním konci TI také vyrábí čipy založené na MSP430, které řeší mnoho velmi specifických hardwarových funkcí. Pro více informací viz tento e-papír.
chcete například rozhraní SPI to UART, i / o expander nebo most UART-to-UART? Je to všechno tam, a to vše za méně než $ 0.30 pro tento čip.
nakonec je MSP430 samozřejmě podporován řadou levných nástrojů a vývojových sad.
Tabulka 1 níže ukazuje další funkce dostupné v některých běžných verzích.
MSP430FR2x | MSP430FR4x | MSP430FR5x | MSP430FR6x | |
programová paměť | až 32KB | až 16KB | až 256KB | až 128KB |
počet pinů | 16 až 64 v různých baleních | 48 až 64 v různých baleních | 24 až 100 v různých baleních | 56 až 100 v různých baleních |
periferie nejsou obvykle k dispozici v 8bitových řadičích | DAC, PGA, Transimpedance & operační zesilovače | IR modulační logika | DMA, AES | DMA, AES |
LCD segmentové ovladače | — | nahoru 256 | — | až do 320 |
Tabulka 1-Mainstream MSP430 souhrn funkcí
32bitové mikrokontroléry
32bitové mikrokontroléry jsou výkonná zařízení s mikroprocesorovými funkcemi. Mezi pokročilé funkce patří pipelining instrukcí, predikce větví, vnořené Vektorované přerušení (NVI), jednotky s plovoucí desetinnou čárkou (FPU), ochrana paměti a Palubní debuggery.
instrukce pipelining znamená, že jádro procesoru předem načte následující instrukce dopředu a predikce větve předběžně načte další pokyny obou výsledků podmínky if-else, čímž urychlí spuštění kódu.
NVI stanoví priority přerušení, kde jedno přerušení může předcházet nižší prioritě.
FPU mohou provádět výpočty s plovoucí desetinnou čárkou mnohem rychleji než metody implementované SW.
ochrana paměti zajišťuje, že kód aplikace nemůže například nechtěně přepsat kritické sekce věnované operačnímu systému.
konečně palubní ladění umožňuje nahlédnout do registrů a dalších oblastí systému, aby se usnadnilo ladění kódu aplikace. Všechny tyto dohromady umožňují těmto mikrokontrolérům provozovat velké, rychlé a robustní aplikace.
kromě toho jejich surový výpočetní výkon znamená, že mohou snadno podporovat operační systémy v reálném čase (RTOS), které zase poskytují možnosti multitaskingu.
přestože na trhu existuje mnoho 32bitových mikrokontrolérů, bude se v této poznámce zaměřit na zařízení založená na ARM Cortex M, se zvláštní zmínkou o ESP32 od Espressif.
ARM Holdings ve skutečnosti navrhuje pouze IP jádra procesoru, které pak licencují různým dodavatelům polovodičů, kteří je spolu s některými periferiemi začleňují do svých vlastních křemíkových čipů. Řada výrobců čipů nabízí mikrokontroléry založené na architektuře Cortex-M.
dva významní prodejci čipů založených na ARM jsou Atmel s jejich řadou zařízení SAM a STMicroelectronics s řadou produktů STM32.
zařízení SAM si zaslouží zmínku kvůli jejich použití v některých deskách kompatibilních s Arduino. Obecně však zařízení STM32 nabízejí více možností a při navrhování ve vestavěném 32bitovém mikrokontroléru by měla být věnována nejvyšší pozornost.
mikrokontroléry STM32
jádra ARM Cortex M se dodávají v mnoha verzích. Nejoblíbenější jsou M0 / M0+, M1, M3, M4 a M7, z nichž každý nabízí postupně vyšší výkon. Mikrokontroléry STM32 obsahují jádra M0/M0+, M3, M4 nebo M7.
Obrázek 1 ukazuje rodinu STM32 mikrokontrolérů založených na ARM Cortex M a jejich zamýšlené aplikační segmenty.
Obrázek 2 – rodina mikrokontrolérů STM32
v každé z kategorií uvedených na obrázku 1 Existuje mnoho rodin, které lze vybrat tak, aby lépe odpovídaly dané aplikaci.
například obrázek 2 ukazuje hlavní varianty dostupné v kategorii“ mainstream “ a jejich relativní křivku výkonu. Všimněte si, že v každé rodině samotné existuje mnoho variant s různými kombinacemi periferií a množstvím paměti.
ve skutečnosti je v této kategorii k dispozici více než tři sta mikrokontrolérů STM32.
obrázek 3-Rodina mikrokontrolérů v kategorii hlavního proudu STM32
podpora hardwaru STM32: Rodina STM32 je podporována širokou škálou hardwarových nástrojů poskytovaných jak MIKROELEKTRONIKOU ST, tak třetími stranami.
levný in-circuit debugger / programátor je STLink V2. Je vyroben ST, a je k dispozici z míst, jako je Digi-Key; nicméně, velmi levné klony jsou také k dispozici.
mikroelektronika ST má také velký výběr vývojových desek pod jejich rodinami Nucleo a Discovery.
oba obsahují rozhraní pro ladění STLink. Vše, co je potřeba, je počítač s USB, který používá příslušný softwarový nástroj pro vyhodnocení zvoleného mikrokontroléru.
Discovery desky obsahují další externí periferie, jako jsou MEMs senzory a kapacitní dotykové desky. Nicméně, Nucleos mají záhlaví, které jsou kompatibilní s Arduino štíty.
obrázek 4-ST Discovery development board pro mikrokontrolér STM32F407
před opuštěním této sekce stojí za zmínku ještě další velmi levnou vývojovou desku. Běžně známý jako modrá pilulka, tato deska sportovní STM32F103 Cortex M3 na bázi čipu, a stojí méně než $ 2.00 z některých zdrojů.
přitažlivou vlastností této desky je to, že může být kompatibilní s Arduino, takže Arduino IDE nebo Platform IO lze použít k psaní a stahování kódu pro rychlý důkaz návrhů konceptů.
zatímco proces, aby byl Arduino kompatibilní, je trochu zapojen, existuje několik míst, která prodávají desky připravené pro Arduino. Stačí hledat „STM32duino“.
Chcete-li se dozvědět, jak navrhnout vlastní desku mikrokontroléru založenou na STM32, nezapomeňte sledovat tento tutoriál a podívejte se na tento hloubkový placený kurz.
STM32 softwarová podpora: STMicroelectronics poskytuje verzi Arm Mbed development suite pro všechny své STM32 produktové řady. To zahrnuje IDE, kompilátor a rozsáhlou sadu knihoven.
pro vývojáře, kteří dávají přednost použití jiných kompilátorů, ST poskytuje svou STMCube. To je kód generátor software, který produkuje Inicializační kódy pro STM32 periferií.
díky tomu není třeba plně procházet bitovými nastaveními více registrů pro nastavení periferií, jako jsou například IO porty nebo časovače.
ESP32
ESP32 je mikrokontrolér firmy Espressif Systems. Jak je znázorněno na obrázku 3, má všechny funkce na typickém 32bitovém mikrokontroléru.
obrázek 5-modul Espressif ESP32
nicméně, to, co odlišuje Tento konkrétní mikrokontrolér od ostatních, je zahrnutí hardwaru WiFi a Bluetooth na čipu.
to zahrnuje nejen protokoly, ale i skutečné rádiové vysílače. ESP32 je k dispozici také jako malý předem certifikovaný modul s integrovanou anténou.
pro aplikace, které vyžadují připojení WiFi nebo Bluetooth, si ESP32 zaslouží vážné zvážení. Cena ESP32 (diskrétní čip i modul) je velmi cenově dostupná, zejména s ohledem na počet funkcí a výkon zabalený do tohoto čipu.
obrázek 6-ESP32 funkční blokové schéma
závěr
mikrokontrolér je pravděpodobně nejdůležitější složkou, kterou musíte pro svůj produkt vybrat. Přechod na nový mikrokontrolér v polovině projektu může být noční můrou, takže se ujistěte, že máte tuto volbu přímo předem.
ostatní komponenty v návrhu lze běžně měnit bez nutnosti masivních změn v celém systému. To není případ mikrokontroléru, který slouží jako jádro vašeho produktu.
při výběru mikrokontroléru chcete obecně vybrat ten, který dává vašemu produktu určitý prostor k růstu. Pokud například zjistíte, že potřebujete 16 pinů GPIO, nechcete vybrat mikrokontrolér s pouze 16 kolíky GPIO.
co se stane, pokud se rozhodnete přidat nové tlačítko v budoucnu, takže budete potřebovat další GPIO pin? Pokud vám váš mikrokontrolér nedává prostor k růstu, možná zjistíte, že zdánlivě jednoduché vylepšení designu v budoucnu bude vyžadovat masivní redesign, protože je nutný nový mikrokontrolér.
na druhou stranu nechcete vybrat více výkonu nebo funkcí,než jste kdy očekávali.
například, pokud váš produkt jednoduše monitoruje teplotu a vlhkost, nebudete nikdy potřebovat pokročilý 32bitový mikrokontrolér běžící na stovkách MHz. To by bylo přehnané, což by vašemu produktu přidalo zbytečné náklady a složitost designu.
místo toho musíte najít sladké místo mezi tím, že máte prostor pro růst v případě potřeby, ale přesto neplatíte za výkon nebo funkce, které nikdy nebudete potřebovat.
nakonec nezapomeňte stáhnout zdarma PDF: Ultimate Guide pro vývoj a prodej nového elektronického hardwarového produktu. Obdržíte také můj týdenní zpravodaj, kde sdílím prémiový obsah, který není k dispozici na mém blogu.
další obsah, který se vám může líbit:
- Úvod do Ultra vysoce výkonného 32bitového mikrokontroléru STM32H7
- Úvod do mikrokontroléru STM32CubeIDE pro mikrokontroléry STM32
- ATmega versus STM32 – který mikrokontrolér je nejlepší pro vaši aplikaci
- mikrokontrolér nebo mikroprocesor: který je vhodný pro váš nový produkt?
- použití Arduino jako vestavěné vývojové platformy
Write a Reply or Comment