Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Brug af skalerbare mikrocontrollere til at opnå designfleksibilitet

Af Kenton Williston

Bidraget af DigiKeys nordamerikanske redaktører

Efterhånden som avancerede funktioner som kunstig intelligens (Artificial Intelligence/AI) og komplekse, grafikrige menneske-maskine-grænseflader (Human-machine interfaces/HMI'er) bliver mere almindelige i anvendelser, er produktdesignere på udkig efter mere kraftfulde mikrocontrollerenheder (Microcontroller Units/MCU'er). Men designere bliver også bedt om at skabe omkostningsoptimerede produkter, der giver afkald på disse prangende funktioner. Dette konkurrerende pres gør det bydende nødvendigt at vælge en MCU, der let kan skaleres til at opfylde forskellige markedskrav.

Den stigende innovationshastighed øger dette pres. Anvendelseskrav kan ændre sig uventet, så det er vigtigt at have let adgang til alternative MCU'er. Fremtidssikring og genbrug skal også overvejes. Der kan opnås betydelige tids- og omkostningsbesparelser, når designelementer kan genbruges til andre projekter.

En måde at løse disse udfordringer på er ved at vælge en MCU-familie med en bred vifte af muligheder. STMicroelectronics STM32H7’en er et godt eksempel. Det spænder fra værdioptimerede 32-bit MCU'er på ”entry-level” til dobbeltkernede MCU'er med mange funktioner.

Denne artikel fremhæver de kriterier, der skal overvejes, ved valg af en MCU-familie, og bruger funktioner i STM32H7-familien som eksempler. Den introducerer også udviklingsprintkort og -værktøjer til STM32H7-MCU'erne og forklarer, hvordan man kickstarter projekter ved hjælp af denne infrastruktur.

Faktorer, der gør en MCU-familie fleksibel og skalerbar

Der er mange faktorer, der skal tages i betragtning, når man søger efter en fleksibel MCU-familie. Det er især vigtigt at have valgmuligheder inden for en bred vifte af ydelses- og effektniveauer. Den foretrukne MCU-familie bør inkluderer muligheder med en bred vifte af clockhastigheder og kerner, der er optimeret til forskellige mål. For eksempel Arm® Cortex®-M4 til lavt strømforbrug og Arm Cortex-M7 til høj ydeevne.

Familien skal indeholde MCU'er med grundlæggende processorkapacitet og muligheder med udvidet funktioner. Mange anvendelser kræver databeskyttelse og sikker kommunikation. Funktioner som hardwarebaseret kryptering, sikker opstart og kryptografiske acceleratorer er afgørende for disse brugsscenarier. På samme måde er en digital signalprocessor (DSP) og instruktioner til flydende tal afgørende for dataintensive anvendelser.

MCU-familien bør også tilbyde en bred vifte af RAM- og flashhukommelsesstørrelser for at imødekomme alt fra enkle anvendelser til dem, der kræver omfattende softwarerammer eller datalagring. MCU'erne bør have eksterne hukommelsesgrænseflader til anvendelser, der overstiger den interne hukommelses kapacitet, for at give den nødvendige skalerbarhed.

Endelig kan MCU-familier med flere muligheder for periferiudstyr håndtere et bredere udvalg af anvendelser. Det er vigtigt at sikre, at MCU-familien inkluderer muligheder med avanceret I/O som USB, Ethernet, Bluetooth og Wi-Fi, da disse grænseflader kan være udfordrende at tilføje som opgraderinger i senere designs. Ideelt set vil den valgte familie tilbyde ben-kompatibilitet på tværs af sit produktsortiment for at understøtte hardwareopgraderinger eller -nedgraderinger uden større omlægning af printkort.

Udviklingsværktøjerne skal understøtte hele MCU-familien fra et softwareperspektiv. For at fremskynde udviklingen bør der være en ensartet programmeringsgrænseflade (API) og et robust sæt biblioteker, middleware og et realtidsoperativsystem (RTOS).

STM32H7: en case-studie i alsidighed

STM32H7-serien fra STMicroelectronics er et eksempel på en MCU-familie, der opfylder disse kriterier. Som det fremgår af tabel 1, er den meget skalerbar med et sortiment, der er bygget op omkring Arm Cortex-M7, og som omfatter både grundlæggende og avancerede MCU'er. Serien har fire linjer, som hver især er optimeret til forskellige anvendelser.

MCU-kerne og clock Maksimal Flash/RAM Vigtige funktioner
Værdilinje 280 MHz til 550 MHz
Arm Cortex-M7
128 Kbyte Flash
1 Mbyte RAM
Lave omkostninger, Ethernet, QSPI, TFT
Enkeltkerne-linje 280 MHz til 550 MHz
Arm Cortex-M7
2 Mbyte Flash
1,4 Mbyte RAM
TFT, Ethernet, Q-SPI, lavt strømforbrug
Dobbeltkerne-linje 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4
2 Mbyte Flash
1 Mbyte RAM
Switched-mode-strømforsyning (SMPS), TFT-LCD, MIPI-DSI, JPEG
BootFlash-linje 600 MHz
Arm Cortex-M7
Ekstern flash, 620 Kbyte RAM NeoChrom GPU, I3C, XiP, USB PHY

Tabel 1: vigtige højdepunkter i de fire linjer i STM32H7-serien. (Tabelkilde: forfatter, ved hjælp af kildemateriale fra STMicroelectronics)

Value Line fås med hastigheder fra 280 til 550 megahertz (MHz) og har 128 kilobyte (Kbytes) indbygget flash-hukommelse og 1 megabyte (Mbyte) RAM. Den understøtter en række forskellige kommunikationsgrænseflader og eksterne hukommelsesudvidelser, hvilket giver en omkostningseffektiv løsning til ydelses-orienterede systemer. STM32H750VBT6 er en sådan MCU og kommer i en 14 x 14 millimeter (mm) 100-LQFP.

Enkeltkerne-linjen kører også med hastigheder fra 280 til 550 MHz. Den har op til 2 Mbyte flash-hukommelse og op til 1,4 Mbyte RAM, hvilket passer til anvendelser, der kræver rige brugergrænseflader og realtidsstyring. Et eksempel er STM32H743IIK6, som kommer i en 10 x 10 mm 201-UFBGA-pakke.

Dobbeltkerne-linjen har en sekundær Arm Cortex-M4-kerne, der er optimeret til effektivitet. En indbygget switched-mode-strømforsyning (SMPS) forbedrer strømforbrugseffektiviteten. Andre avancerede, perifere enheder inkluderer TFT-LCD, MIPI-DSI og en hardware JPEG-codec. Et typisk eksempel er STM32H747AII6’en, som leveres i en 7 x 7 mm 169-UFBGA-pakke.

BootFlash-linjen skiller sig ud med sin høje ydeevne og når hastigheder på op til 600 MHz. Den er designet til at facilitere realtids ”udførsel-på -stedet” (execute-in-place/XiP) anvendelser og er udstyret med 64 Kbytes boot-flash sammen med 620 Kbytes RAM. Derudover har nogle modeller i denne serie en valgfri NeoChrom GPU til forbedret grafikacceleration. Typisk for denne linje er STM32H7R3Z8J6’en med sin 10 x 10 mm 144-UFBGA-pakke.

Fordelene ved kompatibilitet med STM32F4- og STM32F7-familierne

STM32H7 er en del af et mere omfattende udvalg af STMicroelectronics MCU'er og er ben-kompatibel med sine søskende STM32F4- og STM32F7-familier i de mest almindelige indpakninger. Disse MCU'er er alle baseret på Arm Cortex-M-kerner og har samme periferiudstyr og GPIO-benlayout. Fællestrækkene gør det lettere for designere at migrere mellem MCU'erne uden væsentlige ændringer i deres hardware. Denne kompatibilitet kan reducere udviklingstiden og -omkostningerne, når man opgraderer et produkt, eller designer nye produkter, baseret på de forskellige funktioner i hver familie.

Derudover understøttes MCU'erne af det samme økosystem til softwareudvikling, herunder STM32CubeMX’en til konfiguration og generering af initialiseringskode og STM32CubeIDE’en til udvikling og fejlfinding. Denne kompatibilitet sikrer, at softwarekomponenter, middleware og applikationskode kan genbruges på tværs af projekter, der er rettet mod begge familier, hvilket yderligere fremskynder udviklingscyklusserne.

Kom godt i gang med MCU'er i STM32H7-serien

At komme godt i gang med STM32H7-MCU'er indebærer et par vigtige trin og effektiv brug af udviklingsprintkort og -værktøjer. Den følgende trinvise vejledning viser, hvordan man kommer i gang med at udvikle med disse kraftfulde mikrocontrollere.

1. Vælg et udviklingsprintkort

Discovery-sættene er ideelle til den første udforskning og leveres med en integreret debugger/programmeringsværktøj og har normalt forskellige indbyggede bruger-LED'er, taster, sensorer og tilslutningsmuligheder. Nucleo-printkort, som NUCLEO-F767ZI’en (figur 1), er en god balance mellem fleksibilitet og overkommelige priser. De er Arduino Uno-kompatible for nem udvidelse og har et STLINK-grænseflade til brug med debuggere/programmeringsværktøj.

Billede af STMicroelectronics NUCLEO-F767ZI-udviklingsprintkortFigur 1: NUCLEO-F767ZI-udviklingsprintkortet er et enkelt, men fleksibelt udgangspunkt for eksperimenter. (Billedkilde: STMicroelectronics)

Evalueringsprintkort tilbyder det mest omfattende sæt af periferiudstyr og tilslutningsmuligheder til udforskning af alle funktioner. For eksempel giver Discovery-kits som STM32H745I-DISCO’em (figur 2) og STM32H750B-DK’en mulighed for hurtigt at evaluere forskellige grænseflader med funktioner som f.eks.:

  • 4,3 tommer (in.) RGB-grænseflade-LCD med touch-panel
  • Ethernet-kompatibilitet med IEEE-802.3-2002
  • PoE (Power over Ethernet)
  • USB OTG HS
  • SAI audio-codec
  • En ST-MEMS digital mikrofon
  • 2 × 512 Mbit Quad-SPI NOR-flash-hukommelse
  • 128 Mbit SDRAM
  • 4 gigabyte (Gbytes) indbygget eMMC
  • 2 × CAN-FD'er
  • Arduino-afskærmning kompatibel
  • Den indbyggede STLINK-V3E-debugger/programmereringsværktøj med USB-genoptællingsevne: masselagring, virtuel COM-port og debug-port

Billede af STMicroelectronics STM32H745I-DISCO-evalueringsprintkortFigur 2: STM32H745I-DISCO-evalueringsprintkortet tilbyder et rigt sæt hardwareressourcer. (Billedkilde: STMicroelectronics)

2. Opsætning af softwareværktøjer

STMicroelectronics tilbyder et integreret udviklingsmiljø (integrated development environment/IDE) til sine MCU'er (figur 3). Den inkluderer en compiler, debugger og en konfigurator til generering af initialiseringskode og opsætning af periferiudstyr.

Billede af STMicroelectronics STM32H7 IDEFigur 3: Her ses et skærmbillede af STM32H7 IDE. (Billedkilde: STMicroelectronics)

3. Lær og eksperimenter

Dernæst anbefales det at læse dokumentationen. Et godt sted at starte er brugermanualen til udviklingsprintkortet og den relevante STM32H7-referencevejledning. Disse dokumenter indeholder vigtige oplysninger om MCU-arkitekturer, konfiguration af periferiudstyr, Pin-Mux og hardwareegenskaber.

At eksperimentere med eksempelprojekter er en effektiv måde at lære værktøjerne på. STMicroelectronics tilbyder en række eksempler på projekter til forskellige STM32 MCU'er. Disse eksempler kan fungere som et godt udgangspunkt for at forstå, hvordan man bruger forskellige MCU-funktioner.

Endelig kan udviklerfællesskabet give yderligere støtte. At bruge ressourcer som ST Community, tutorials og videoer kan give løsninger på almindelige problemer og inspiration til mulige projekter.

4. Udvikling og fejlfinding

IDE'et indeholder alt, hvad der er nødvendigt for at komme i gang med at skrive, kompilere og debugge kode. Konfiguratoren i IDE'en kan udnyttes til initialisering af periferiudstyr og opsætning af middleware. Udviklingsprintkortets integrerede STLINK-debugger/programmeringsgrænseflade giver mulighed for debugging i realtid. Problemer kan identificeres ved hjælp af breakpoints, overvågning af variabler og gennemgang af kode.

5. Udvidelse af et projekt

Udvidelseskort kan tilføje funktionalitet såsom tilslutningsmuligheder eller sensorer til Discovery- og Nucleo-printkortene. Når den ønskede funktionalitet er etableret via udviklingsprintkort, kan et brugerdefineret printkort designes med udviklingsprintkortets skematiske tegninger som reference. Et eksempel på et brugerdefineret printkort er OpenMV4 CAM H7-kameraplatformen (figur 4) fra Seeed Technology Co., Ltd. Den bruger STM32H743’en med enkeltkerne.

Billede af Seeed Technology OpenMV4 CAM H7 er beregnet til visionssystemerFigur 4: OpenMV4-CAM-H7’en er beregnet til visionssystemer. (Billedkilde: Seeed Technology Co. Ltd.)

Et andet eksempel er ABX00051’en Nicla Vision (figur 5) fra Arduino, som bruger den dobbeltkernede STM32H747.

Billede af Arduino ABX00051 Nicla VisionFigur 5: ABX00051 Nicla Vision hjælper udviklere med at evaluere forskellige billedsensorer. (Billedkilde: Arduino)

Konklusion

Valget af MCU i et produktdesign er kritisk i betragtning af de konkurrerende krav om avancerede funktioner og omkostningsoptimering. STM32H7-serien fra STMicroelectronics er et godt eksempel på, hvordan valg af den rigtige MCU-familie kan give en skalerbar, fleksibel løsning, der imødekommer nuværende og fremtidige 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 denne forfatter

Image of Kenton Williston

Kenton Williston

Kenton Williston received his B.S. in Electrical Engineering in 2000 and started his career as processor benchmark analyst. Since then he worked as an editor with the EE Times group and helped launch and lead multiple publications and conferences serving the electronics industry.

Om udgiveren

DigiKeys nordamerikanske redaktører