Hogyan válasszuk ki a mikrokontrollert az új termékhez
Hogyan válasszuk ki a megfelelő mikrokontrollert az adott hardvertermékhez? Ez a cikk megmutatja az összes olyan tényezőt, amellyel zsonglőrködnie kell a legjobb mikrokontroller kiválasztásakor.
a projekthez megfelelő mikrovezérlő kiválasztásakor figyelembe kell venni a költségeket, a teljesítményt, az energiafogyasztást és a teljes méretet. A megfelelő szoftver és hardver eszközök rendelkezésre állása szintén elsődleges szempont.
a választott platform támogatása szintén nagyon fontos – nem csak az eladótól, hanem az egész közösségtől. Az is segít, ha a választott mikrokontroller könnyen elérhető fejlesztői táblával rendelkezik.
végül a fejlesztési idő jelentősen csökkenthető, ha a kiválasztott mikrokontroller kiterjedt, teljesen hibakeresett szoftverkönyvtárakkal rendelkezik, jól dokumentált alkalmazásprogramozási interfészekkel vagy API-kkal.
ebben a cikkben csak azokat a mikrokontrollereket mutatjuk be, amelyek általában megfelelnek a fenti kritériumoknak.
minden modern mikrokontroller rendelkezik néhány alapvető funkcióval. A feldolgozó egység tetején van egy bizonyos mennyiségű vaku, amelyet az alkalmazás kódjának tárolására használnak, néhány SRAM, és a legtöbb esetben néhány EEPROM.
óraforrásra van szükségük, és ezt általában egy belső ellenállás-kondenzátor (RC) oszcillátor biztosítja, vagy egy külső kristály használatával a kritikus alkalmazások időzítéséhez. Van néhány digitális Io portjuk, és legalább egy időzítő/számláló.
a nagyon alacsony kategóriájú mikrovezérlőkön kívül a legtöbbnek legalább egy UART-ja van a soros kommunikációhoz. Ezen túlmenően a mikrovezérlőket a rendelkezésre álló memória mennyisége, a chipbe integrált egyéb perifériák száma és típusa, valamint a felhasználói alkalmazások futtatásának sebessége különbözteti meg.
ez nem csak a nyers órajel sebességétől függ, hanem a processzor adatszélességétől és az esetleges hardveres gyorsítási funkcióktól is.
a beágyazott rendszerek Mikrokontrollerei elsősorban az adatbuszuk szélessége alapján három kategóriába sorolhatók: 8 bites, 16 bites és 32 bites. Vannak mások is, de ezek a legnépszerűbbek.
általában a 8 bites mikrovezérlők az alsó végű alkalmazások felé irányulnak, a 32 bitesek pedig a magasabb végekhez, a 16 bitesek pedig a középkategóriás alkalmazásokhoz.
messze a legtöbb termék, amelyen dolgozom, általában 32 bites mikrovezérlőket tartalmaz, de a 8 vagy 16 bites mikrovezérlők jó választás lehetnek alacsony kategóriájú, olcsó termékekhez.
8 bites mikrokontrollerek
ha egy alkalmazásnak nincs nagyon magas feldolgozási teljesítménye, és viszonylag kis méretű, akkor érdemes megfontolni egy 8 bites mikrokontrollert.
referenciaként a legtöbb Arduinos 8 bites mikrovezérlőkön alapul. Tehát, ha a korai prototípust Arduino segítségével építette, akkor lehet, hogy 8 bites mikrokontrollert használhat a végtermékben.
ne hagyja, hogy az ár egyedül irányítsa a döntését, és sok esetben a 32 bites mikrovezérlők olcsóbbak lehetnek, mint a 8 bites chipek.
például az Atmega328p az Arduino Uno-t használó 8 bites mikrovezérlő. Kicsit több mint 1 dollárba kerül, körülbelül 10 ezer darab mennyiségben. 20 MHz-en fut, és 32 KB Flash-t és 2KB RAM-ot tartalmaz.
másrészt megvásárolhat egy 32 bites mikrokontrollert, amely 48 MHz-en fut, hasonló memóriával, csak 60 centért. Ez valószínűleg annak köszönhető, hogy a népszerű 32 bites mikrovezérlők csökkentik költségeiket.
ennek ellenére még olcsóbb 8 bites mikrovezérlők is rendelkezésre állnak, amelyek hasonló köteteknél kevesebb, mint 25 centbe kerülnek.
a 8 bites mikrovezérlőket általában olyan alkalmazásoknál kell figyelembe venni, amelyek csak egy munkát végeznek, korlátozott felhasználói felülettel és kevés adatfeldolgozással.
a 8 bites mikrovezérlők minden méretben kaphatók, a kis 6 tűs eszközöktől a 64 tűs chipekig. Vakuméretük 512 bájttól 256 KB-ig, SRAM méretük 32-től 8KB-ig vagy annál nagyobb, EEPROM méretük pedig 0-tól 4K-ig vagy annál nagyobb. A minimális rendszer olyan egyszerű lehet, mint egy chip, egy bypass kondenzátorral a tápegységen.
a 8 bites mikrovezérlők három legnépszerűbb sora a 8051 sorozat, A Pic sorozat a Microchip-től, és az AVR sorozat az Atmel-től, amely ma a Microchip része.
a 8051-es sorozat
eredetileg az Inteltől származik, és most mások készítették, ez a mikrokontroller ma is gyakori használatban van, sok készülékbe ágyazva.
míg önálló eszközként kaphatók, a 8051-et ma már többnyire IP (szellemi tulajdon) magként használják, amelyek be vannak ágyazva a dedikált alkalmazás-specifikus chipek szilíciumába, például néhány vezeték nélküli rádió adó-vevőbe.
nagyon ritkán lenne a 8051 a megfelelő választás a termék fő mikrovezérlőjeként.
a PIC sorozat
a PIC mikrovezérlők meglehetősen népszerűek, és széles körben támogatják mind a mikrochipet, mind a harmadik feleket.
a Microchip biztosítja az MPLAB adapterek X integrált fejlesztői környezetét (IDE), amely ingyenesen tartalmaz egy C-fordítót. IDE plug-inként ingyenesen elérhető az MPLAB Kódkonfigurátor is, amely C-kódot generál a fedélzeti perifériákhoz.
ezt be lehet építeni az alkalmazás kódjába. Vannak PIC modellek kombinációja USART, SPI, I2C, ADC, USB, LIN, CAN és más interfészek. A Microchip számos fejlesztőeszközt is kínál, köztük az MPLAB PICkit 4-et, az ICD 4-et és a Real ICE-t.
magasabb minőségű kereskedelmi compliers, amelyek jobb kód optimalizálás is rendelkezésre állnak. Itt van egy gyors PDF útmutató a PIC mikrokontrollerekhez.
az AVR sorozat
az AVR egy másik nagyon népszerű 8 bites mikrovezérlő sorozat. Bár ugyanabban a térben vannak, mint a fent leírt kép, és hasonló teljesítményük van, egy nagy igényük van a hírnévre: Arduino.
1.ábra – a legtöbb Arduino kártya 8 bites AVR mikrovezérlőkön alapul
az eredeti Arduinók, mint például az Uno, A Leonardo és a Mega, mind AVR mikrovezérlőket használnak. Az Arduinos számára elérhető könyvtárak nagyon széles skálája miatt az AVRs komoly figyelmet érdemel a 8 bites alkalmazásoknál, még akkor is, ha csak a koncepció prototípusainak igazolására szolgál.
mivel az Arduino könyvtárak C++ – ban vannak írva, könnyen beépíthetők bármilyen C/C++ – ban írt alkalmazásba.
a szoftverfejlesztő eszközök közé tartozik az AVR studio, vagy az Arduino használata esetén az Arduino IDE és a Platform IO egyaránt általánosan használt. Az IDE-kben használt complier az AVR GCC egy ingyenes, nagyon jól támogatott és karbantartott C/C++ fordító.
a hardverfejlesztő eszközök közé tartozik az Atmel ICE és a PICkit 4. Emellett az olyan érett eszközök, mint az STK600 és az AVR Dragon még mindig széles körben elérhetők. Itt található egy link az AVR mikrokontrollerek gyors PDF útmutatójához.
a 16 bites mikrovezérlők
a 16 bites mikrovezérlők a következő lépés a 8 biteshez képest, miközben továbbra is sok azonos tulajdonságot osztanak meg. Gyorsabbak, még több perifériát támogatnak, és általában több memóriát kínálnak, mind a flash, mind az SRAM.
a több Io PIN mellett a legtöbb hardveres szorzóval is rendelkezik, amelyek lényegesen gyorsabbak, és kevesebb programmemóriát használnak, mint a tiszta szoftveres megvalósítások.
könnyű megtalálni azokat az eszközöket, amelyek mind ADC-vel, mind DAC-val rendelkeznek, vagy kapacitív érintésérzékelőkkel, szegmentált LCD-meghajtókkal és Ethernet-vel rendelkeznek.
belsőleg ezek az eszközök hardverblokkokkal is rendelkeznek, amelyek általában nem találhatók meg az alsó végű eszközökben. Ezek közé tartoznak a titkosítási motorok, az operatív vagy programozható erősítők és a DMA vezérlők.
bár a 16 bites mikrovezérlők megtalálhatók különféle gyártóktól, például a Mikrochiptől (dspic33 népszerű választás), az NXP-től, az Infineon-tól vagy a Cypress-től, a TI MSP430 sorozatot itt mutatjuk be, mint tipikus példát erre a mikrovezérlő szegmensre.
TI MSP430 sorozat
az MSP430 egy nagyon kis teljesítményű 16 bites mikrovezérlő sorozat, amely sokféle változatban kapható. Az Általános céltól a nagyon speciális modellekig terjednek.
az egyik érdekes dolog ezeknek a mikrovezérlőknek a speciális változataiban az, hogy valójában két végletre oszlik: nagyon dedikált, nagyon alacsony költségű modellekre, valamint Analóg Érzékelő interfészekkel és digitális jelfeldolgozással (DSP) rendelkező csúcskategóriás modellekre.
egy példa a high end alkalmazás ez ultrahangos áramlásérzékelő. Az alsó végén a TI MSP430 alapú chipeket is gyárt, amelyek sok nagyon specifikus hardverfunkciót oldanak meg. További részletekért lásd ezt az e-papírt.
például szeretne egy SPI-UART interfészt, egy I / O bővítőt vagy egy UART-UART hidat? Minden benne van, és mindez kevesebb, mint $0.30 ezért a chipért.
Végül természetesen az MSP430-at számos olcsó eszköz és fejlesztőkészlet támogatja.
az alábbi 1.táblázat az egyes mainstream verziókban elérhető további funkciókat mutatja be.
MSP430FR2x | MSP430FR4x | MSP430FR5x | MSP430FR6x | |
Program memória | legfeljebb 32KB | legfeljebb 16KB | legfeljebb 256kb | legfeljebb 128KB |
csapok száma | 16-64 a különböző csomagok | 48-64 a különböző csomagok | 24-100 a különböző csomagok | 56-100 a különböző csomagok |
a perifériák általában nem állnak rendelkezésre 8 bites vezérlőkben | DAC-k, PGA-k, Transzimpedancia & működési erősítők | IR modulációs logika | DMA, AES | DMA, AES |
LCD szegmens illesztőprogramok | — | fel 256 | — | akár 320 |
1. táblázat-Mainstream MSP430 a funkciók összefoglalása
32 bites mikrovezérlők
a 32 bites mikrovezérlők nagy teljesítményű eszközök, mikroprocesszor-szerű funkciókkal. A fejlett funkciók közé tartozik az utasítás-csővezeték, az elágazások előrejelzése, a beágyazott Vektorozott megszakítások (NVI), a lebegőpontos egységek (FPU), a memóriavédelem és a fedélzeti hibakeresők.
az utasítás-Futtatás azt jelenti, hogy a processzormag előre lekéri a következő utasításokat idő előtt, az ág-előrejelzés pedig előre lekéri az if-else feltétel mindkét kimenetelének következő utasításait, ezáltal felgyorsítva a kódfuttatást.
az NVI biztosítja a megszakítási prioritásokat, ahol egy megszakítás megelőzhet egy alacsonyabb prioritást.
az FPU-k sokkal gyorsabban képesek lebegőpontos számításokat végezni, mint az SW által megvalósított módszerek.
a Memóriavédelem biztosítja, hogy az alkalmazáskód nem tud véletlenül túlírni például az operációs rendszernek szentelt kritikus szakaszokat.
végül a fedélzeti hibakeresés lehetővé teszi a regiszterek és a rendszer egyéb területeinek bepillantását az alkalmazáskód hibakeresésének megkönnyítése érdekében. Mindezek együttesen lehetővé teszik ezeknek a mikrokontrollereknek a nagy, gyors és robusztus alkalmazások futtatását.
ezenkívül nyers feldolgozási teljesítményük azt jelenti, hogy könnyen támogathatják a valós idejű operációs rendszereket (RTOS), amelyek viszont többfeladatos képességeket biztosítanak.
annak ellenére, hogy sok 32 bites mikrovezérlő van a piacon, ebben a megjegyzésben az ARM Cortex M-alapú eszközökre összpontosítanak, külön említve az Espressif ESP32-jét.
az ARM Holdings valójában csak processzormag-IP-ket tervez, amelyeket aztán különféle félvezető-gyártóknak engedélyeznek, amelyek egyes perifériákkal együtt beépítik őket saját Szilícium-chipjeikbe. Számos chipgyártó kínál a Cortex-M architektúrán alapuló mikrokontrollereket.
az ARM-alapú chipek két kiemelkedő gyártója az Atmel a SAM eszközsorával és az STMicroelectronics az STM32 termékcsaládjával.
a SAM eszközök itt említést érdemelnek, mivel egyes Arduino-kompatibilis táblákban használják őket. Általában azonban az STM32 eszközök több választási lehetőséget kínálnak, ezért kiemelt figyelmet kell fordítani a beágyazott 32 bites mikrokontroller tervezésekor.
STM32 mikrovezérlők
az ARM Cortex M magok számos változatban kaphatók. A legnépszerűbbek az M0 / M0+, az M1, Az M3, az M4 és az M7 modellek, amelyek mindegyike fokozatosan nagyobb teljesítményt nyújt. Az STM32 mikrovezérlők M0/M0+, M3, M4 vagy M7 magokat tartalmaznak.
az 1. ábra az ARM Cortex M-alapú mikrovezérlők STM32 családját és azok tervezett alkalmazási szegmenseit mutatja be.
2. ábra-STM32 mikrovezérlők családja
az 1. ábrán bemutatott kategóriák mindegyikén belül sok család választható ki, hogy jobban megfeleljen egy adott alkalmazásnak.
a 2. ábra például a “mainstream” kategóriában elérhető főbb változatokat és azok relatív teljesítménygörbéjét mutatja. Vegye figyelembe, hogy az egyes családokon belül számos változat létezik a perifériák különböző kombinációival és a memória mennyiségével.
valójában ebben az időben több mint háromszáz STM32 mikrovezérlő áll rendelkezésre ebben a kategóriában.
3. ábra-mikrovezérlők családja az STM32 Mainstream kategóriában
STM32 hardver támogatás: Az STM32 családot az ST Microelectronics és harmadik felek által biztosított hardvereszközök széles választéka támogatja.
egy olcsó áramköri hibakereső / programozó az STLink V2. Az ST gyártja, és olyan helyeken kapható, mint a Digi-Key; azonban nagyon olcsó klónok is rendelkezésre állnak.
az ST Microelectronics a Nucleo és a Discovery családok alatt is nagy választékot kínál a fejlesztő táblákhoz.
mindkettő tartalmaz egy STLink hibakereső felületet. Csak egy USB-vel rendelkező számítógépre van szükség, amely a megfelelő szoftvereszközt futtatja a kiválasztott mikrokontroller értékeléséhez.
a Discovery táblák további külső perifériákat, például MEMs érzékelőket és kapacitív érintőlemezeket tartalmaznak. A Nukleóknak azonban vannak fejlécei, amelyek kompatibilisek az Arduino pajzsokkal.
4.ábra – St Discovery development board egy STM32F407 mikrovezérlőhöz
mielőtt elhagyná ezt a részt, érdemes megemlíteni még egy nagyon olcsó fejlesztési táblát. A Blue Pill néven ismert tábla egy STM32F103 Cortex M3 alapú chipet sportol, és egyes forrásokból kevesebb, mint 2,00 dollárba kerül.
ennek a táblának a vonzó tulajdonsága, hogy kompatibilissé tehető az Arduino-val, így az Arduino IDE vagy Platform IO felhasználható kód írására és letöltésére a koncepciótervek gyors igazolásához.
bár az Arduino kompatibilissé tételének folyamata egy kicsit érintett, számos helyen értékesítik az Arduino-kész táblákat. Csak keressen rá az ‘STM32duino’kifejezésre.
ha meg szeretné tudni, hogyan tervezzen egy egyedi STM32 alapú mikrovezérlő táblát, nézze meg ezt a bemutatót, és nézze meg ezt a mélyreható fizetett tanfolyamot.
STM32 szoftvertámogatás: az STMicroelectronics az ARM Mbed fejlesztői csomagjának verzióját biztosítja az összes STM32 termékcsaládhoz. Ez magában foglalja az IDE-t, a fordítót és a könyvtárak kiterjedt készletét.
azoknak a fejlesztőknek, akik inkább más fordítókat használnak, az ST biztosítja az STMCube-t. Ez kódgenerátor szoftver, amely inicializálási kódokat állít elő az STM32 perifériákhoz.
ezzel nincs szükség több regiszter bitbeállításainak teljes áttekintésére a perifériák, például az IO portok vagy az időzítők beállításához.
ESP32
az ESP32 az Espressif Systems mikrovezérlője. Amint az a 3. ábrán látható, egy tipikus 32 bites mikrokontroller összes funkciójával rendelkezik.
5.ábra – Espressif ESP32 modul
azonban, ami megkülönbözteti ezt a mikrokontrollert másoktól, az A WiFi és Bluetooth hardver beépítése a chipbe.
ez magában foglalja nem csak a protokoll stack, de a tényleges rádió adó-vevők is. Az ESP32 kis előre tanúsított modulként is kapható, beépített antennával.
WiFi vagy Bluetooth kapcsolatot igénylő alkalmazások esetén az ESP32 komoly figyelmet érdemel. Az ESP32 ára (mind a diszkrét chip, mind a modul) nagyon kedvező árú, különös tekintettel a chipbe csomagolt funkciók és teljesítmény számára.
6.ábra – ESP32 funkcionális blokkdiagram
következtetés
a mikrovezérlő vitathatatlanul a legfontosabb összetevő, amelyet ki kell választania a termékéhez. Az új mikrokontroller középprojektre való áttérés rémálom lehet, ezért győződjön meg róla, hogy ezt a választást már előre megkapja.
a tervezés egyéb alkatrészei általában megváltoztathatók anélkül, hogy hatalmas, az egész rendszerre kiterjedő változtatásokat igényelnének. Nem ez a helyzet a mikrokontrollerrel, amely a termék magjaként szolgál.
amikor kiválasztunk egy mikrovezérlőt, általában azt szeretnénk kiválasztani, amely teret ad a terméknek a növekedéshez. Például, ha úgy dönt, hogy 16 GPIO-csapra van szüksége, akkor nem szeretne olyan mikrovezérlőt választani, amely csak 16 GPIO-csapot tartalmaz.
mi történik, ha úgy dönt, hogy a jövőben új gombot ad hozzá, így újabb GPIO pin-kódra van szüksége? Ha a mikrokontroller nem ad teret a növekedéshez, akkor előfordulhat, hogy a látszólag egyszerű tervezési frissítések a jövőben hatalmas újratervezést igényelnek, mert új mikrokontrollerre van szükség.
másrészt nem szeretne több teljesítményt vagy funkciót választani, mint amire valaha is számít.
például, ha a termék egyszerűen figyeli a hőmérsékletet és a páratartalmat, akkor soha nem lesz szüksége fejlett 32 bites mikrovezérlőre, amely több száz MHz-en fut. Ez túlzás lenne, ami felesleges költségeket és tervezési bonyolultságot okozna a termékében.
Ehelyett meg kell találnia az édes helyet a növekedés helye között, ha szükséges, de mégsem fizet a teljesítményért vagy a funkciókért, amelyekre soha nem lesz szüksége.
végül, ne felejtsd el letölteni az ingyenes PDF: Ultimate Guide-ot az új elektronikus hardvertermék fejlesztéséhez és értékesítéséhez. A heti hírlevelemet is megkapja, ahol prémium tartalmat osztok meg, amely nem érhető el a blogomban.
egyéb tartalom, ami tetszik:
- Bevezetés Az Ultra nagy teljesítményű STM32H7 32 bites Mikrovezérlőbe
- Bevezetés Az STM32CubeIDE – be STM32 Mikrovezérlőkhöz
- ATmega versus STM32-melyik mikrovezérlő a legjobb az Ön alkalmazásához
- mikrovezérlő vagy mikroprocesszor: melyik az új termékéhez?
- az Arduino használata beágyazott fejlesztési platformként
Write a Reply or Comment