Bruk av skalerbare mikrokontrollere for å oppnå konstruksjonsfleksibilitet
Bidrag fra DigiKeys nordamerikanske redaktører
2024-05-15
Etter hvert som avanserte funksjoner som kunstig intelligens (AI – artificial intelligence) og kompleks, grafikkrik menneske-maskin-interaksjon (MMI) blir vanligere i utrustninger, er produktutviklere på utkikk etter kraftigere mikrokontrollere (MCU – microcontroller unit). Konstruktører blir imidlertid også bedt om å lage kostnadsoptimaliserte produkter som gir avkall på disse tilsynelatende flotte funksjonene. Disse konkurrerende kreftene gjør det viktig å velge en mikrokontroller som lett kan skaleres for å møte ulike markedskrav.
Den økende innovasjonshastigheten gjør dette enda mer utfordrende. Konstruksjonskravene kan endres uventet, så det er viktig å ha enkel tilgang til alternative mikrokontrollere. Fremtidig sikring og gjenbruk må også tas i betraktning. Betydelige tids- og kostnadsbesparelser kan oppnås ved å gjenbruke designelementer fra andre prosjekter.
En måte å løse disse utfordringene på er å velge en mikrokontrollerfamilie med et bredt utvalg av alternativer. STMicroelectronics STM32H7 er et godt eksempel. Den spenner fra verdioptimaliserte, grunnleggende 32-bits mikrokontrollere til tokjerners mikrokontrollere med omfattende funksjonssett.
Denne artikkelen fremhever kriterier som må tas i betraktning for å velge en mikrokontrollerfamilie, noe som gjøres ved å bruke funksjoner i STM32H7-familien som eksempler. Den introduserer også utviklingskort og -verktøy som er tilgjengelige for STM32H7-mikrokontrollere, og forklarer hvordan du kan komme i gang med prosjekter ved å bruke denne infrastrukturen.
Faktorer som gjør en mikrokontrollerfamilie fleksibel og skalerbar
Mange faktorer må tas i betraktning når man leter etter en fleksibel mikrokontrollerfamilie. Det er spesielt viktig å ha alternativer for et bredt spekter av ytelse- og effektnivåer. Den foretrukne mikrokontrollerfamilien bør inkludere alternativer med et bredt utvalg av klokkehastigheter og kjerner som er optimalisert for forskjellige mål. For eksempel Arm® Cortex® -M4 for lav effekt og Arm Cortex-M7 for høy ytelse.
Familien bør være integrert med mikrokontrollere med grunnleggende prosesseringsegenskaper og alternativer med utvidede muligheter. Mange utrustninger krever databeskyttelse og sikker kommunikasjon. Funksjoner som maskinvarebasert kryptering, Secure Boot og kryptografiske akseleratorer er avgjørende for disse brukstilfellene. På samme måte er en digital signalprosessor (DSP) og flytetallsinstruksjoner avgjørende for datakrevende utrustninger.
Mikrokontrollerfamilien bør også tilby et bredt utvalg av RAM- og flashminnestørrelser for å imøtekomme alt fra enkle utrustninger til de som krever omfattende programvarerammeverk eller datalagring. Mikrokontrollerne bør ha eksterne minnegrensesnitt for utrustninger som overskrider interne minnefunksjoner for å gi nødvendig skalerbarhet.
Til slutt kan mikrokontrollerfamilier med flere periferienhetsalternativer håndtere et bredere utvalg av utrustninger. Det er viktig å sikre at mikrokontrollerfamilien inkluderer alternativer med avansert I/O (inngang/utgang), for eksempel USB, Ethernet, Bluetooth og Wi-Fi, da disse tilkoblingene kan være utfordrende å legge til senere i neste versjon av utrustningen. Ideelt sett vil den valgte familien tilby pinnekompatibilitet på tvers av produktserien for å støtte maskinvareoppgraderinger eller -nedgraderinger uten noen større redesign av kretskortet.
Fra et programvareperspektiv må utviklingsverktøyene støtte hele mikrokontrollerfamilien. For å akselerere utviklingen, bør det være et konsekvent programmeringsgrensesnitt (API – software application programming interface) og et robust sett med biblioteker, mellomvare og et sanntidsoperativsystem (RTOS – real-time operating system).
STM32H7: En case-studie i allsidighet
STM32H7-serien fra STMicroelectronics eksemplifiserer en mikrokontrollerfamilie som oppfyller disse kriteriene. Som illustrert i tabell 1, er den svært skalerbar, med et utvalg bygget rundt Arm Cortex-M7 som omfatter både grunnleggende og avanserte mikrokontrollere. Serien har fire linjer, der hver er optimalisert for ulike utrustninger.
|
Tabell 1: Viktige utvalg for de fire linjene i STM32H7-serien. (Tabellkilde: Forfatter, bruker kildemateriale fra STMicroelectronics)
Lavprislinjen er tilgjengelig med hastigheter fra 280 til 550 megahertz (MHz) og har 128 kilobyte (kB) integrert flashminne og 1 megabyte (MB) RAM. Den støtter en rekke kommunikasjonsgrensesnitt og eksterne minneutvidelser, noe som gir en kostnadseffektiv løsning for ytelsesorienterte systemer. STM32H750VBT6 er en slik mikrokontroller, og den kommer i en 100-LQFP-kapsling på 14 x 14 millimeter (mm).
Enkeltkjerne-linjen kjører også med hastigheter fra 280 til 550 MHz. Den gir opptil 2 MB flashminne og opptil 1,4 MB RAM, noe som dekker behovene til utrustninger som krever rike brukergrensesnitt og sanntidsstyring. Ett eksempel er STM32H743IIK6, som kommer i en 201-UFBGA-kapsling på 10 x 10 mm.
Dual-Core-linjen har en sekundær Arm Cortex-M4-kjerne som er optimalisert for virkningsgrad. En integrert, ikke-lineær strømforsyning (SMPS – switched-mode power supply) øker effektvirkningsgraden. Annet avansert periferiutstyr omfatter TFT-LCD, MIPI-DSI og en JPEG-kodek for maskinvare. Ett vanlig eksempel er STM32H747AII6, som kommer i en 169-UFBGA-kapsling på 7 x 7 mm.
BootFlash-linjen skiller seg ut for sin høye ytelse, og den når hastigheter på opptil 600 MHz. Den er utviklet for å gjøre det enklere å legge til rette for utrustninger med XiP (execute-in-place), og den er utstyrt med 64 kB oppstartsflash og 620 kB RAM. I tillegg har noen modeller i denne linjen en valgfri NeoChrom-grafikkprosessor for å gi forbedret grafikkakselerasjon. STM32H7R3Z8J6, med en 144-UFBGA-kapsling på 10 x 10 mm, er typisk for denne linjen.
Fordelene med kompatibilitet med STM32F4- og STM32F7-familiene
STM32H7 er en del av et mer omfattende utvalg av STMicroelectronics-mikrokontrollere, og den er pinnekompatibel med STM32F4- og STM32F7-familiene for de vanligste kapslingene. Disse mikrokontrollerne er alle basert på Arm Cortex-M-kjerner og deler lignende periferiutstyr og GPIO-pinnelayouter. De felles egenskapene gjør det enklere for konstruktører å overføre mellom mikrokontrollere uten å gjøre store endringer i maskinvaren. Denne kompatibiliteten kan redusere utviklingstiden og kostnadene forbundet med oppgradering av et produkt eller utviklingen av nye produkter basert på de ulike egenskapene til hver familie.
I tillegg støttes alle mikrokontrollerne av det samme økosystemet for programvareutvikling, deriblant STM32CubeMX for generering av konfigurasjons- og initialiseringskoder, og STM32CubeIDE for utvikling og feilsøking. Denne kompatibiliteten sørger for at programvarekomponenter, mellomvare og programkode kan gjenbrukes på tvers av prosjekter som retter seg mot en av familiene, noe som akselererer utviklingssyklusene ytterligere.
Slik kommer du i gang med mikrokontrollere i STM32H7-serien
Det å komme i gang med STM32H7-mikrokontrollere innebærer noen få viktige trinn og effektiv bruk av utviklingskort og -verktøy. Følgende trinnvise veiledning vil vise hvordan man begynner å utvikle med disse kraftige mikrokontrollerne.
1. Velge et utviklingskort
Discovery-settene, som er ideelle for innledende utforskning, leveres med en integrert feilsøker/programmeringsenhet og har vanligvis diverse innebygde lysdioder, nøkler, sensorer og tilkoblingsalternativer for brukeren. Nucleo-kort, for eksempeI NUCLEO-F767ZI (figur 1), er en god balanse mellom fleksibilitet og pris. De er Arduino Uno-kompatible for å gi enkel utvidelse, og de har et STLINK-grensesnitt for bruk med feilsøkere/programmeringsenheter.
Figur 1: NUCLEO-F767ZI-utviklingskortet er et enkelt, men fleksibelt utgangspunkt for eksperimentering. (Bildekilde: STMicroelectronics)
Evalueringskort tilbyr det mest omfattende settet med alternativer for periferiutstyr og konnektivitet, for utforskning med et fullverdig sett av funksjoner. For eksempel muliggjør Discovery-sett som STM32H745I-DISCO (figur 2) og STM32H750B-DK rask evaluering av ulike grensesnitt, med funksjoner som:
- 4,3-tommers RGB-grensesnitt-LCD med berøringspanel
- Ethernet-samsvar med IEEE-802.3-2002
- Strøm over Ethernet (PoE – Power over Ethernet)
- USB OTG FS
- SAI-lydkodek
- Én digital ST-MEMS-mikrofon
- 2 x 512 megabit (Mb) Quad-SPI NOR-flashminne
- 128 Mb SDRAM
- 4 gigabyte (GB) integrert eMMC
- 2 x CAN FD-er
- Arduino shields-kompatibel
- Integrert STLINK-V3E-feilsøker/programmeringsenhet med USB-renumereringsmulighet: masselagring, virtuell COM-port og feilsøkingsport
Figur 2: STM32H745I-DISCO-evalueringskortet tilbyr et rikt sett med maskinvareressurser. (Bildekilde: STMicroelectronics)
2. Oppsett av programvareverktøy
STMicroelectronics tilbyr et integrert utviklingsmiljø (IDE – integrated development environment) for mikrokontrollerne sine (figur 3). Det inkluderer en kompilator, feilsøker og en konfigurator for generering av initialiseringskode og oppsett av periferiutstyr.
Figur 3: Her vises et skjermbilde av 32H7 IDE. (Bildekilde: STMicroelectronics)
3. Lære og eksperimentere
Deretter er det lurt å lese dokumentasjonen. Et utmerket sted å starte er brukerhåndboken for utviklingskortet og den relevante STM32H7-referansehåndboken. Disse dokumentene gir viktig informasjon om mikrokontrollerarkitekturer, konfigurasjon av periferiutstyr, Pin-Mux og maskinvareegenskaper.
Å eksperimentere med eksempelprosjekter er en effektiv måte å lære verktøyene på. STMicroelectronics tilbyr en rekke eksempelprosjekter for ulike STM32-mikrokontrollere. Disse eksemplene kan fungere som et godt utgangspunkt for å forstå hvordan du bruker forskjellige mikrokontrollerfunksjoner.
Til slutt kan utviklerfellesskapet gi ekstra støtte. Det å engasjere seg med ressurser som ST-fellesskapet, opplæringsprogrammer og videoer kan gi løsninger på vanlige problemer og inspirasjon for mulige prosjekter.
4. Utvikling og feilsøking
Det integrerte utviklingsmiljøet (IDE) inneholder alt som trengs for å begynne å skrive, kompilere og feilsøke kode. Konfiguratoren i det integrerte utviklingsmiljøet kan brukes for oppsett av periferiutstyr og mellomvare. Utviklingskortets integrerte grensesnitt for STLINK-feilsøkeren/programmeringsenheten muliggjør feilsøking i sanntid. Problemer kan identifiseres ved å bruke avbruddspunkter, overvåke variabler og gjennomgå kode.
5. Utvide et prosjekt
Utvidelseskort kan legge til funksjonalitet som konnektivitet eller sensorer til Discovery- og Nucleo-kort. Når den ønskede funksjonaliteten er etablert via utviklingskort, kan et tilpasset kretskort utvikles ved å bruke skjemaene for utviklingskortet som referanse. Et eksempel på et tilpasset kort er kameraplattformen OpenMV4 CAM H7 (figur 4) fra Seeed Technology Co., Ltd. Den bruker STM32H743 med én kjerne.
Figur 4: OpenMV4 CAM H7 er beregnet for maskinsyn. (Bildekilde: Seeed Technology Co. Ltd.)
Et annet eksempel er ABX00051 Nicla Vision (figur 5) fra Arduino, som bruker STM32H747 med to kjerner.
Figur 5: ABX00051 Nicla Vision hjelper utviklere med å evaluere ulike bildesensorer. (Bildekilde: Arduino)
Konklusjon
Valget av mikrokontroller i en produktkonstruksjon er svært viktig, med tanke på de konkurrerende kravene om avanserte funksjoner og kostnadsoptimalisering. STM32H7-serien fra STMicroelectronics er et godt eksempel på hvordan valg av riktig mikrokontrollerfamilie kan gi en skalerbar, fleksibel løsning som oppfyller nåværende og fremtidige behov.
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.




