Joustavuuden parantaminen suunnittelussa skaalattavilla mikrokontrollereilla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2024-05-15
Koska sellaiset edistyneet ominaisuudet kuten tekoäly (AI) ja kompleksiset grafiikkarikkaat käyttöliittymät (HMI) yleistyvät eri sovelluksissa, tuotesuunnittelijat etsivät tehokkaampia mikrokontrolleriyksiköitä (MCU). Suunnittelijoiden halutaan myös luovan kustannusoptimoituja tuotteita ilman ole näitä hienoja ominaisuuksia. Näiden vastakkaisten paineiden vuoksi on erittäin tärkeää valita mikrokontrolleriyksikkö, jota on helppo skaalata markkinoiden erilaisiin vaatimuksiin.
Innovaation nopeutuminen lisää näitä paineita. Sovellusvaatimukset voivat muuttua yllättäen, joten mikrokontrollerin helppo vaihtaminen toiseen vaihtoehtoon on välttämätöntä. Tulevaisuuden vaatimusten täyttäminen ja uudelleenkäyttö on myös otettava huomioon. Aikaa ja rahaa voidaan säästää merkittävästi jos suunnitteluelementtejä voidaan käyttää uudelleen muissa projekteissa.
Yksi tapa vastata näihin haasteisiin on valita mikrokontrolleriperhe, joka tarjoaa paljon vaihtoehtoja. STMicroelectronicsin STM32H7 on hyvä esimerkki tästä. Sen tarjoamat vaihtoehdot ulottuvat hintaoptimoiduista 32-bittisistä lähtötason mikrokontrollereista monipuolisia ominaisuuksia tarjoaviin kaksiytimisiin versioihin.
Tämä artikkeli esittää kriteerejä, jotka täytyy ottaa huomioon mikrokontrolleriperhettä valittaessa, ja se käyttää esimerkkeinä STM32H7-tuoteperheen ominaisuuksia. Se esittelee myös STM32H7-mikrokontrollereille saatavilla olevia kehitysalustoja ja työkaluja sekä selittää, miten projekteja voidaan nopeuttaa tämän infrastruktuurin avulla.
Mikä tekee mikrokontrolleriperheestä joustavan ja skaalautuvan
Joustavaa mikrokontrolleriperhettä etsittäessä on otettava huomioon monia tekijöitä. Erityisen tärkeää on, että valittavissa on vaihtoehtoja laajalla suorituskyky- ja tehoalueella. Suositeltavan MCU-perheen tulisi sisältää vaihtoehtoja, jotka tarjoavat laajan valikoiman kellotaajuuksia ja eri käyttökohteisiin optimoituja ytimiä. Esimerkiksi Arm® Cortex®-M4 alhaista virrankulutusta varten ja Arm Cortex-M7 korkeaa suorituskykyä varten.
Tuoteperheeseen tulisi kuulua sekä perusprosessointiominaisuuksilla että laajennetuilla ominaisuuksilla varustettuja mikrokontrollereita. Monet sovellukset edellyttävät tietosuojaa ja suojattua viestintää. Myös sellaiset ominaisuudet kuten laitteistopohjainen salaus, suojattu käynnistys ja salauskiihdyttimet, ovat välttämättömiä näissä käyttötapauksissa. Vastaavasti digitaalinen signaaliprosessori (DSP) ja liukulukukomennot ovat erittäin tärkeitä dataintensiivisissä sovelluksissa.
Mikrokontrolleriperheen tulisi myös tarjota laaja valikoima RAM- ja flash-muistikokoja, jotta ne soveltuisivat yksinkertaisista sovelluksista aina laajoihin ohjelmistokehyksiin tai datan tallennukseen vaativassa käytössä. Mikrokontrollereissa tulisi olla liitännät ulkoiselle muistille sellaisia sovelluksia varten, joille sisäinen muistikapasiteetti ei riitä. Tämä mahdollistaa skaalautuvuuden.
Ja mitä enemmän oheislaitevaihtoehtoja mikrokontrolleriperheet tarjoavat, sitä useampiin sovelluksiin ne sopivat. On erittäin tärkeää varmistaa, että mikrokontrolleriperhe sisältää kehittyneitä I/O-liitäntävaihtoehtoja, kuten USB, Ethernet, Bluetooth ja Wi-Fi, koska näitä liitäntöjä voi olla haastavaa lisätä päivityksinä. Ihannetapauksessa valittu tuoteperhe tarjoaa nastayhteensopivuuden koko tuotevalikoimassa. Tämä mahdollistaa laitteistopäivitykset ja yksinkertaisempien versioiden käytön muuttamatta paljon piirilevyä.
Kehitystyökalujen tulisi tukea koko mikrokontrolleriperhettä ohjelmistonäkökulmasta. Kehitystyön nopeuttamiseksi tarvitaan yhdenmukainen ohjelmointirajapinta (API) ja vankka valikoima kirjastoja, väliohjelmistoja sekä reaaliaikainen käyttöjärjestelmä (RTOS).
STM32H7: tapausesimerkki monipuolisuudesta
STMicroelectronicsin STM32H7-sarja on esimerkki mikrokontrolleriperheestä, joka täyttää nämä kriteerit. Kuten taulukko 1 ilmaisee, se on erittäin skaalautuva, ja sen Arm Cortex-M7-ytimen ympärille rakennettu valikoima kattaa sekä perustason että edistyneet mikrokontrollerit. Sarjaan kuuluu neljä mallisarjaa, jotka on optimoitu eri sovelluksiin.
|
Taulukko 1: Neljän STM32H7-mallisarjan tärkeimmät ominaisuudet. (Taulukon lähde: Kirjoittaja, käyttäen STMicroelectronicsin lähdemateriaalia)
Edullinen Value Line -mallisarja on saatavana 280–550 megahertsin (MHz) nopeuksilla ja se tarjoaa 128 kilotavua (kt) sulautettua flash-muistia ja 1 megatavun (Mt) RAM-muistia. Se tukee monenlaisia kommunikaatiorajapintoja ja ulkoisia muistilaajennuksia tarjoten kustannustehokkaan ratkaisun suorituskykyisiin järjestelmiin. STM32H750VBT6 on yksi tällainen mikrokontrolleri, ja se toimitetaan 14 x 14 millimetrin (mm) kokoisessa 100-LQFP-kotelossa.
Yksiytiminen Single-Core-mallisarja toimii myös nopeuksilla 280–550 MHz. Se tarjoaa jopa 2 megatavua flash-muistia ja 1,4 megatavua RAM-muistia sekä sopii sovelluksiin, jotka vaativat monipuolisia käyttöliittymiä ja reaaliaikaista ohjausta. Yksi esimerkki on STM32H743IIK6, joka toimitetaan 10 x 10 mm:n 201-UFBGA-kotelossa.
Kahden ytimen Dual-Core-mallisarjassa on lisäksi Arm Cortex-M4 -ydin ja se on optimoitu tehokkuutta varten. Sulautettu hakkurivirtalähde (SMPS) tehostaa energiatehokkuutta. Muita kehittyneitä oheislaitteita ovat TFT-LCD, MIPI-DSI ja JPEG-laitteistokoodekki. Tyypillinen esimerkki on STM32H747AII6, joka toimitaan 7 x 7 mm:n 169-UFBGA-kotelossa.
BootFlash-mallisarja erottuu edukseen korkealla suorituskyvyllään ja sen nopeus on jopa 600 MHz. Se on suunniteltu mahdollistamaan reaaliaikaiset Xip (Execute-in-Place) -sovellukset, ja se tarjoaa 64 kilotavua boot-flashia sekä 620 kilotavun RAM-muistin. Lisäksi joihinkin tämän mallisarjan malleihin kuuluu lisävarusteena NeoChrom-näytönohjain parempaa grafiikkakiihdytystä varten. Tämän linjan tyypillinen malli on STM32H7R3Z8J6 10 x 10 mm:n 144-UFBGA-kotelolla.
STM32F4- ja STM32F7-perheiden tarjoaman yhteensopivuuden edut
STM32H7 on osa STMicroelectronicsin laajempaa mikrokontrollerivalikoimaa ja se on nastayhteensopiva STM32F4- ja STM32F7-perheiden kanssa (kaikkein yleisimmät kotelot). Kaikki nämä mikrokontrollerit perustuvat Arm Cortex-M-ytimiin, ja niillä on samanlaiset oheislaitteet ja GPIO-nastajärjestys. Yhteisten ominaisuuksien ansiosta suunnittelijoiden on helpompi siirtyä mikrokontrollereiden välillä ilman merkittäviä laitteistomuutoksia. Tämä yhteensopivuus voi vähentää kehitysaikaa ja kustannuksia tuotetta päivitettäessä tai suunniteltaessa uusia tuotteita kunkin tuoteperheen erilaisten ominaisuuksien pohjalta.
Lisäksi kaikkia mikrokontrollereita tukee sama ohjelmistokehitysekosysteemi, johon kuuluvat STM32CubeMX konfigurointiin ja alustuskoodin luomiseen sekä STM32CubeIDE kehitykseen ja virheenkorjaukseen. Tämä yhteensopivuus varmistaa, että ohjelmistokomponentteja, väliohjelmistoja ja sovelluskoodia voidaan käyttää uudelleen saman tuoteperheen projekteissa, mikä nopeuttaa kehityssyklejä entisestään.
STM32H7-sarjan mikrokontrollereiden käytön aloittaminen
STM32H7-mikrokontrollerien käyttöönottoon sisältyy muutamia tärkeitä vaiheita, jotka mahdollistavat kehitysalustojen ja työkalujen tehokkaan käytön. Seuraava vaiheittainen opas kertoo, miten aloittaa kehitystyö käyttäen näitä tehokkaita mikrokontrollereja.
1. Valitse kehitysalusta
Discovery-sarjat ovat ihanteellisia ensitutustumiseen näihin mikrokontrollereihin ja ne sisältävät yleensä erilaisia kortilla sijaitsevia käyttäjäledejä, näppäimiä, antureita ja liitäntävaihtoehtoja. Nucleo-alustat, kuten NUCLEO-F767ZI (kuva 1), tarjoavat hyvän tasapainon joustavuuden ja edullisuuden välillä. Ne ovat Arduino Uno -yhteensopivia helppoa laajentamista varten, ja niissä on STLINK-liitäntä debuggerien/ohjelmointilaitteiden käyttöä varten.
Kuva 1: NUCLEO-F767ZI-kehitysalusta on yksinkertainen mutta joustava lähtökohta, josta aloittaa kokeilu. (Kuvan lähde: STMicroelectronics)
Evaluointikortit tarjoavat kattavimman valikoiman oheislaitteita ja liitäntävaihtoehtoja mikroprosessorin ominaisuuksien kattavaa tutkimista varten. Esimerkiksi Discovery-sarjat, kuten STM32H745I-DISCO (kuva 2) ja STM32H750B-DK, mahdollistavat nopeasti erilaisten rajapintojen arvioinnin, mm. seuraavat:
- 4,3 tuuman (in.) RGB LCD -liitäntä kosketusnäytöllä
- Noudattaa Ethernet-standardia IEEE-802.3-2002
- Power over Ethernet (PoE)
- USB OTG HS
- SAI-audiokoodekki
- Yksi digitaalinen ST-MEMS-mikrofoni
- 2 × 512 megabitin nelikanavainen SPI NOR Flash-muisti
- 128 megabitin SDRAM
- Kortti sisältää 4 gigatavua (Gt) eMMC-muistia
- 2 × CAN FD
- Yhteensopiva Arduino-lisäkorttien kanssa
- Kortilla sijaitseva STLINK-V3E-virheenkorjaus/ohjelmointituki, tuki USB-uudelleennumeroinnille: massamuisti, virtuaalinen COM-portti sekä virheenkorjausportti
Kuva 2: STM32H745I-DISCO-arviointikortti tarjoaa runsaasti laitteistoresursseja. (Kuvan lähde: STMicroelectronics)
2. Ohjelmistotyökalujen asennus
STMicroelectronics tarjoaa integroidun kehitysympäristön (IDE) mikrokontrollereilleen (kuva 3). Se sisältää kääntäjän, debuggerin ja konfiguraattorin alustuskoodin luomista ja oheislaitteiden asetuksia varten.
Kuva 3: Kuvakaappaus STM32H7 IDE -ympäristöstä. (Kuvan lähde: STMicroelectronics)
3. Opi ja kokeile
Seuraavaksi on suositeltavaa lukea dokumentaatio. Erinomainen paikka aloittaa on kehitysalustan käyttöopas ja sitä vastaava STM32H7 Reference Manual. Näistä dokumenteista saa elintärkeää tietoa mikrokontrollleriarkkitehtuurista, oheislaitteiden konfiguroinnista, jalkojen multipleksoinnista ja laitteiston ominaisuuksista.
Esimerkkiprojektien kokeileminen on tehokas tapa oppia työkalujen käyttöä. STMicroelectronics tarjoaa joukon esimerkkiprojekteja STM32-mikrokontrollereille. Nämä esimerkit voivat toimia hyvänä lähtökohtana mikrokontrollerin eri ominaisuuksien käytön ymmärtämiselle.
Lisäksi kehittäjäyhteisö voi tarjota lisätukea. ST Communityn, tutoriaalien ja videoiden kaltaiset resurssit voivat tarjota ratkaisuja yleisiin ongelmiin ja inspiraatiota mahdollisiin projekteihin.
4. Kehitys ja debuggaus
IDE tarjoaa kaiken tarvittavan koodien kirjoittamiseen, kääntämiseen ja debuggaukseen. IDE:n konfiguraattoria voidaan hyödyntää oheislaitteiden alustamiseen ja väliohjelmiston määrittämiseen. Kehitysalustan integroitu STLINK-debuggaus/ohjelmointiliitäntä mahdollistaa reaaliaikaisen debuggauksen. Ongelmat voidaan identifioida käyttämällä pysäytyskohtia, seuraamalla muuttujia ja askeltamalla koodia.
5. Projektin laajentaminen
Discovery- ja Nucleo-alustoihin voidaan lisätä laajennuskorteilla erilaisia toimintoja, kuten verkkoyhteyksiä tai antureita. Kun haluttu toiminnallisuus on toteutettu kehitysalustojen avulla, räätälöity piirilevy voidaan suunnitella käyttäen kehitysalustan kaaviota referenssinä. Yksi esimerkki räätälöidystä piirilevystä on Seeed Technology Co., Ltd -yrityksen kamera-alusta OpenMV4 CAM H7. Siinä käytetään yksiytimistä STM32H743-piiriä.
Kuva 4: OpenMV4 CAM H7 on tarkoitettu näköjärjestelmiin. (Kuvan lähde: Seeed Technology Co. Ltd.)
Toinen esimerkki on Arduinon ABX00051 Nicla Vision (kuva 5), jossa käytetään kaksiytimistä STM32H747-piiriä.
Kuva 5: ABX00051 Nicla Vision auttaa kehittäjiä evaluoimaan erilaisia kuvakennoja. (Kuvan lähde: Arduino)
Yhteenveto
Mikrokontrollerin valinta tuotesuunnittelussa on ratkaisevan tärkeää, kun otetaan huomioon vastakkaiset vaatimukset kehittyneistä ominaisuuksista ja kustannusten optimoinnista. STMicroelectronicsin STM32H7-sarja on vahva esimerkki siitä, miten sopivan mikrokontrolleriperheen valinnalla voidaan mahdollistaa skaalautuva ja joustava ratkaisu, joka vastaa nykyisiin ja tuleviin tarpeisiin.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.