Att använda skalbara MCU:er för att uppnå flexibilitet i konstruktionen

Av Kenton Williston

Bidraget med av DigiKeys nordamerikanska redaktörer

I takt med att avancerade funktioner som t.ex. artificiell intelligens (AI) och komplexa, grafikintensiva gränssnitt mellan människa och maskin (HMI) blir allt vanligare i tillämpningar, söker produktutvecklare efter kraftfullare MCU:er. Men, konstruktörer uppmanas även att skapa kostnadsoptimerade produkter som avstår från dessa attraktiva funktioner. De konkurrerande kraven gör det absolut nödvändigt att välja en MCU som är skalbar för att uppfylla olika marknadskrav.

Den allt snabbare innovationstakten ökar trycket ytterligare. Tillämpningskraven kan ändras utan förvarning så det är viktigt att ha enkel tillgång till alternativa MCU:er. Framtidssäkring och återanvändning måste också beaktas. Betydande tids- och kostnadsbesparingar kan uppnås när delar av konstruktionen kan återanvändas för andra projekt.

Ett sätt att hantera dessa utmaningar är att välja en MCU-familj som har många alternativ. Ett bra exempel är STM32H7 frånSTMicroelectronics. Den omfattar värdeoptimerade instegsmodeller av 32-bitars MCU:er till MCU:er med dubbla kärnor och många funktioner.

Artikeln beskriver de kriterier som bör beaktas vid val av en MCU-familj, med serien STM32H7 som exempel. Dessutom presenteras utvecklingskort och verktyg för STM32H7-MCU:erna och den förklarar hur man snabbt kommer igång med projekt med hjälp av denna infrastruktur.

Faktorer som gör en MCU-familj flexibel och skalbar

Det är många faktorer som måste beaktas när man söker efter en flexibel MCU-familj. Det är särskilt viktigt att ha alternativ för ett stor mängd prestanda- och effektnivåer. Den MCU-familj som föredras bör innehålla alternativ som har ett stort utbud av klockhastigheter och kärnor som är optimerade för olika mål. Som exempel, Arm® Cortex®-M4 för låg strömförbrukning och Arm Cortex-M7 för hög prestanda.

Familjen bör innehålla MCU:er med grundläggande processorkapacitet och alternativ med utökad kapacitet. Många tillämpningar kräver dataskydd och säker kommunikation. Funktioner som t.ex. hårdvarubaserad kryptering, säker uppstart och kryptografiska acceleratorer är viktiga för dessa användningsområden. På samma sätt är en digital signalprocessor (DSP) och flyttalsinstruktioner nödvändiga för dataintensiva tillämpningar.

MCU-familjen ska även ha ett stort utbud av RAM- och flashminnesstorlekar för att passa allt från enkla tillämpningar till sådana som kräver omfattande ramverk för mjukvara eller datalagring. MCU:erna bör ha gränssnitt för externa minnen för tillämpningar som överskrider den interna minneskapaciteten för att tillhandahålla nödvändig skalbarhet.

Slutligen kan MCU-familjer med flera alternativ av kringkretsar hantera en större mängd tillämpningar. Det är viktigt att se till att MCU-familjen innehåller alternativ med avancerade in-och utgångar (I/O) som t.ex. USB, Ethernet, Bluetooth och WiFi eftersom dessa gränssnitt kan vara svåra att lägga till senare i konstruktionen. Den utvalda produktfamiljen ska helst vara stiftkompatibel genom hela produktsortimentet för att stödja upp- eller nedgraderingar av hårdvaran utan större omarbetningar av kretskortet.

Utvecklingsverktygen bör stödja hela MCU-familjen ur ett mjukvaruperspektiv. För att påskynda utvecklingen bör det finnas gemensamma API:er (Application Programming Interface) och en robust uppsättning bibliotek, mellanprogam samt ett realtidsoperativsystem (RTOS).

STM32H7: en fallstudie i mångsidighet

Serien STM32H7 från STMicroelectronics är ett exempel på en MCU-familj som uppfyller dessa kriterier. Som framgår av tabell 1 är den mycket skalbar, med ett sortiment som bygger på Arm Cortex-M7 och omfattar både enkla och avancerade MCU:er. Serien består av fyra modeller som var och en är optimerad för olika tillämpningar.

MCU-kärna och klocka Maximalt Flash/RAM Viktiga funktioner
Value-modeller 280 till 550 MHz
Arm Cortex-M7
128 kB Flash
1 MB RAM
Låg kostnad, Ethernet, QSPI, TFT
Modeller med en kärna 280 till 550 MHz
Arm Cortex-M7
2 MB Flash
1,4 MB RAM
TFT, Ethernet, Q-SPI, låg effekt
Modeller med dubbla kärnor 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4
2 MB Flash
1 MB RAM
Switchad strömförsörjning (SMPS), TFT-LCD, MIPI-DSI, JPEG
Modeller med boot-flash 600 MHz
Arm Cortex-M7
Externt Flashminne, 620 kB RAM NeoChrom GPU, I3C, XiP, USB PHY

Tabell 1: Viktiga kännetecken för de fyra modellerna i serien STM32H7. (Tabellkälla: Författaren, med hjälp av källmaterial från STMicroelectronics)

Value-serien finns i hastigheter från 280 till 550 MHz och har ett inbyggt flashminne på 128 kB samt 1 MB RAM. Den har stöd för en mängd olika kommunikationsgränssnitt och externa minnesutökningar, vilket ger en kostnadseffektiv lösning för system inriktade på prestanda. STM32H750VBT6 är en sådan MCU och levereras i en 100-LQFP kapsling med måtten 14 x 14 mm.

Serien med en kärna arbetar även i hastigheter från 280 till 550 MHz. Den har upp till 2 MB flashminne och arbetar i upp till 1,4 MB RAM, vilket passar tillämpningar som kräver kraftfulla användargränssnitt och realtidsstyrning. Ett exempel är STM32H743IIK6, som levereras i en 201-UFBGA kapsling med måtten 10 x 10 mm .

Serien med dubbla kärnor har en sekundär Arm Cortex-M4-kärna som är optimerad för effektivitet. En inbyggd switchad strömförsörjning (SMPS) förbättrar verkningsgraden. Övrig avancerad kringutrustning är TFT-LCD, MIPI-DSI och en JPEG-codec i hårdvaran. Ett typiskt exempel är STM32H747AII6, som levereras i en 169-UFBGA kapsling med måtten 7 x 7 mm .

Serien med boot-flash utmärker sig för sin höga prestanda och når hastigheter på upp till 600 MHz. Den är utformad för att underlätta realtidstillämpningar med exekvering på plats (XiP) och är utrustad med 64 kB boot-flash samt 620 kB RAM. Dessutom har vissa modeller i denna serie en NeoChrom GPU som tillval för förbättrad grafikacceleration. Typiskt för denna serie är STM32H7R3Z8J6 i 144-UFBGA kapsling med måtten 10 x 10 mm.

Fördelarna med kompatibilitet i familjerna STM32F4 och STM32F7

STM32H7 är en del av ett mer omfattande sortiment av MCU:er från STMicroelectronics och är stiftkompatibel med sina syskon STM32F4 och STM32F7 för de vanligaste kapslingarna. MCU:erna är alla baserade på Arm Cortex-M-kärnor och har liknande kringutrustning och stiftlayouter för GPIO. De gemensamma egenskaperna gör det lättare för konstruktörer att migrera mellan MCU:erna utan att behöva göra några större förändringar i hårdvaran. Kompatibiliteten kan minska tiden och kostnaden för utveckling när en produkt ska uppgraderas eller när nya produkter ska utvecklas utifrån de olika egenskaperna hos respektive familj.

Dessutom stöds alla MCU:er av samma ekosystem för mjukvaruutveckling, inklusive STM32CubeMX för konfiguration och generering av initialiseringskod, och STM32CubeIDE för utveckling och felsökning. Kompatibiliteten garanterar att programvarukomponenter, mellanprogram och programkod kan återanvändas i projekt som riktar sig till båda familjerna, vilket ytterligare påskyndar utvecklingscyklerna.

Komma igång med MCU:er i serien STM32H7

Att komma igång med MCU:er i serien STM32H7 innebär några grundläggade steg och en effektiv användning av utvecklingskort och verktyg. Följande steg för steg-guide visar hur du börjar utveckla med dessa kraftfulla MCU:er.

1. Välj ett utvecklingskort

Discovery-satser är perfekta för inledande utvärdering och levereras med integrerat felsökningsverktyg/programmerare och har vanligtvis flera olika inbyggda lysdioder, knappar, sensorer och anslutningsmöjligheter. Nucleo-kort, som t.ex NUCLEO-F767ZI (figur 1), är en bra balans mellan flexibilitet och pris. De är kompatibla med Arduino Uno för enkel utökning och har ett gränssnitt för STLINK för användning med felsökningsverktyg/programmerare.

Bild på utvecklingskortet NUCLEO-F767ZI från STMicroelectronicsFigur 1: Utvecklingskortet NUCLEO-F767ZI är en enkel men flexibel startpunkt för experiment. (Bildkälla: STMicroelectronics)

Utvärderingskorten erbjuder den mest omfattande uppsättningen kringkretsar och anslutningsmöjligheter för utvärdering av alla funktioner. Med Discovery-satser som t.ex. STM32H745I-DISCO (figur 2) och STM32H750B-DK går det snabbt att utvärdera olika gränssnitt med funktioner som t.ex:

  • 4,3 tum LCD-pekskärm med RGB-gränssnitt
  • Uppfyller Ethernet-standarden IEEE-802.3-2002
  • Power over Ethernet (PoE)
  • USB OTG FS
  • SAI-ljudcodec
  • En digital ST-MEMS mikrofon
  • 2 × 512 Mbit Quad-SPI NOR-flashminne
  • 128 Mbit SDRAM
  • 4 GB inbyggd eMMC
  • 2 × CAN FDs
  • Kompatibel med tilläggskort för Arduino
  • Inbyggt felsökningsverktyg/programmerare för STLINK-V3E för USB med återanslutningskapacitet: masslagring, virtuell COM-port och felsökningsport

Bild på utvärderingskortet STM32H745I-DISCO från STMicroelectronicsFigur 2: Utvärderingskortet STM32H745I-DISCO har en stor uppsättning hårdvaruresurser. (Bildkälla: STMicroelectronics)

2. Installation av programverktyg

STMicroelectronics har en integrerad utvecklingsmiljö (IDE) för sina MCU:er (figur 3). Den innehåller en kompilator, ett felsökningsverktyg och ett konfigurationsverktyg för generering av initieringskod och konfigurering av kringkretsar.

Bild på den integrerade utvecklingsmiljön för STM32H7 från STMicroelectronicsFigur 3: Här visas en skärmbild på den integrerade utvecklingsmiljön för STM32H7. (Bildkälla: STMicroelectronics)

3. Studera och experimentera

Därefter är det lämpligt att läsa dokumentationen. En bra början är att läsa användarhandboken för utvecklingskortet och den aktuella referenshandboken för STM32H7. Dokumenten innehåller viktig information om MCU:ernas arkitekturer, konfiguration av kringkretsar, Pin-Mux samt hårdvarukarakteristik.

Att experimentera med exempelprojekt är ett effektivt sätt att lära sig verktygen. STMicroelectronics har en rad exempelprojekt för olika MCU:er i serien STM32. Exemplen kan utgöra en bra utgångspunkt för att förstå hur man använder olika funktioner i MCU:erna.

Slutligen kan gemenskapen bland utvecklare bidra med ytterligare stöd. Genom att ta del av resurser som t.ex. ST Community, självstudier och videor kan man hitta lösningar på vanliga problem och få inspiration till potentiella projekt.

4. Utveckling och felsökning

Den integrerade utvecklingsmiljön innehåller allt som behövs för att börja skriva, kompilera och felsöka kod. Konfigurationsverktyget i den integrerade utvecklingsmiljön kan användas för initiering av kringutrustning och installation av mellanprogram. Utvecklingskortets integrerade gränssnitt STLINK för felsökning/programmering möjliggör felsökning i realtid. Problem kan identifieras med hjälp av brytpunkter, övervakning av variabler och stegvis genomgång av kod.

5. Utöka ett projekt

Utökningskort kan lägga till funktionalitet som t.ex. anslutningsmöjligheter eller givare på Discovery- och Nucleo-kretskorten. När den önskade funktionaliteten har fastställts via utvecklingskorten kan ett anpassat kretskort konstrueras med utvecklingskortets schema som referens. Ett exempel på ett anpassat kort är kameraplattformen OpenMV4 CAM H7 (figur 4) från Seeed Technology Co., Ltd. Den använder en STM32H743 med en kärna.

Bild på OpenMV4 CAM H7 från Seeed Technology som är avsedd för bildsystemFigur 4: OpenMV4 CAM H7 är avsedd för bildsystem. (Bildkälla: Seeed Technology Co. Ltd.)

Ett annat exempel är ABX00051 Nicla Vision (figur 5) från Arduino, som använder en STM32H747 med dubbla kärnor.

Bild på ABX00051 Nicla Vision från ArduinoFigur 5: ABX00051 Nicla Vision hjälper utvecklare att utvärdera olika bildsensorer. (Bildkälla: Arduino)

Sammanfattning

Valet av MCU i en produktkonstruktion är avgörande med hänvisning till de konkurrerande kraven om avancerade funktioner och kostnadsoptimering. Familjen STM32H7 från STMicroelectronics är ett bra exempel på hur man genom att välja rätt MCU-familj kan få en skalbar och flexibel lösning som tillgodoser nuvarande och framtida behov.

DigiKey logo

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.

Om skribenten

Image of Kenton Williston

Kenton Williston

Kenton Williston tog sin kandidatexamen i elektroteknik år 2000 och började sin karriär som utvärderingsanalytiker för processorer. Sedan dess har han arbetat som redaktör för EE Times-gruppen och hjälpt till att starta och leda flera tidskrifter och konferenser för elektronikindustrin.

Om utgivaren

DigiKeys nordamerikanska redaktörer