Utilizarea microcontrolerelor scalabile pentru a obține flexibilitate în proiectare
Contributed By DigiKey's North American Editors
2024-05-15
Pe măsură ce caracteristicile avansate, cum ar fi inteligența artificială (AI) și interfețele om-mașină (HMI) complexe și cu grafică bogată, devin tot mai frecvente în aplicații, proiectanții de produse caută unități de microcontrolere (MCU) mai puternice. Cu toate acestea, proiectanților li se cere și să creeze produse cu costuri optimizate care să renunțe la aceste caracteristici spectaculoase. Aceste presiuni concurente fac imperativă alegerea unui MCU care să poată fi adaptat cu ușurință pentru a satisface diferite cerințe ale pieței.
Viteza tot mai mare a inovației contribuie la această presiune. Cerințele aplicațiilor se pot schimba în mod neașteptat, astfel că este esențial să aveți acces ușor la MCU-uri alternative. De asemenea, trebuie să se ia în calcul atât durabilitatea, cât și reutilizarea. Se pot realiza economii semnificative de timp și de costuri atunci când elementele de proiectare pot fi reutilizate pentru alte proiecte.
O modalitate de a aborda aceste provocări este alegerea unei familii de MCU-uri cu o gamă largă de opțiuni. STM32H7 de la STMicroelectronics este un bun exemplu. Aceasta variază de la MCU-uri de 32 de biți cu valori optimizate, la MCU-uri de 32 de biți de nivel de bază, până la MCU-uri dual-core cu seturi bogate de caracteristici.
Articolul de față evidențiază criteriile care trebuie luate în calcul la alegerea unei familii de MCU, folosind ca exemplu caracteristicile familiei STM32H7. De asemenea, prezintă plăcile de dezvoltare și instrumentele disponibile pentru MCU-urile STM32H7 și explică modul în care se pot demara proiecte folosind această infrastructură.
Factorii care fac ca o familie de MCU-uri să fie flexibilă și scalabilă
Trebuie luați în considerare mulți factori atunci când se caută o familie MCU flexibilă. Este deosebit de important să existe opțiuni pentru o gamă largă de niveluri de performanță și putere. Familia preferată de MCU-uri ar trebui să includă opțiuni cu o gamă largă de viteze de ceas și nuclee optimizate pentru diferite obiective. De exemplu, Arm® Cortex®-M4 pentru consum redus de energie și Arm Cortex-M7 pentru performanțe ridicate.
Familia ar trebui să conțină MCU-uri cu capacități de procesare de bază și opțiuni cu capacități extinse. Multe aplicații necesită protecția datelor și comunicații sigure. Caracteristici precum criptarea bazată pe hardware, pornirea securizată și acceleratoarele criptografice sunt esențiale pentru aceste cazuri de utilizare. În mod similar, un procesor de semnal digital (DSP) și instrucțiunile în virgulă mobilă sunt esențiale pentru aplicațiile cu utilizarea intensivă a datelor.
De asemenea, familia de MCU ar trebui să ofere o gamă largă de dimensiuni de memorie RAM și flash pentru a se adapta la orice, de la aplicații simple la cele care necesită cadre software sau stocare de date extinse. MCU-urile ar trebui să aibă interfețe de memorie externă pentru aplicațiile care depășesc capacitățile de memorie internă pentru a asigura scalabilitatea necesară.
În cele din urmă, familiile de MCU cu mai multe opțiuni periferice pot gestiona o varietate mai mare de aplicații. Este esențial să vă asigurați că familia de MCU-uri include opțiuni cu intrări/ieșiri avansate, cum ar fi USB, Ethernet, Bluetooth și Wi-Fi, deoarece aceste interfețe pot fi dificil de adăugat ca actualizări în proiectele ulterioare. În mod ideal, familia selectată va oferi compatibilitate cu pinii în toată gama sa de produse pentru a susține actualizările sau retrogradările hardware fără reproiectări majore ale plăcilor de circuite imprimate (PCB).
Instrumentele de dezvoltare ar trebui să sprijine întreaga familie de MCU-uri în ceea ce privește software-ul. Pentru a accelera dezvoltarea, ar trebui să existe o interfață de programare a aplicațiilor software (API) coerentă și un set robust de biblioteci, middleware și un sistem de operare în timp real (RTOS).
STM32H7: un studiu de caz în materie de versatilitate
Seria STM32H7 de la STMicroelectronics exemplifică o familie de MCU-uri care îndeplinește aceste criterii. După cum este ilustrat în Tabelul 1, este extrem de scalabilă, cu o gamă construită în jurul Arm Cortex-M7 care cuprinde atât MCU-uri de bază, cât și avansate. Seria are patru linii, fiecare optimizată pentru diferite aplicații.
|
Tabelul 1: Principalele caracteristici ale celor patru linii din seria STM32H7. (Sursa tabelului: Autorul, folosind material sursă de la STMicroelectronics)
Linia de valori este disponibilă la viteze cuprinse între 280 și 550 megahertzi (MHz) și dispune de o memorie flash încorporată de 128 de kiloocteți (Kbyte) și de 1 megaoctet (Mbyte) de memorie RAM. Acesta acceptă o varietate de interfețe de comunicare și extensii de memorie externă, oferind o soluție rentabilă pentru sistemele orientate spre performanță. STM32H750VBT6 este un astfel de MCU și vine într-un format 100-LQFP de 14 x 14 milimetri (mm).
Linia Single-Core funcționează, de asemenea, la viteze cuprinse între 280 și 550 MHz. Aceasta oferă până la 2 Mbytes de memorie flash și până la 1,4 Mbytes de memorie RAM, pentru aplicații care necesită interfețe de utilizare bogate și control în timp real. Un exemplu este STM32H743IIK6, care vine într-o capsulă 201-UFBGA de 10 x 10 mm.
Produsele din Dual-Core au un nucleu secundar Arm Cortex-M4 optimizat pentru eficiență. O sursă de alimentare în mod comutat (SMPS) încorporată îmbunătățește eficiența energetică. Alte periferice avansate includ TFT-LCD, MIPI-DSI și un codec hardware JPEG. Un exemplu tipic este STM32H747AII6, care vine într-o capsulă 169-UFBGA de 7 x 7 mm.
Linia BootFlash se remarcă prin performanțele sale ridicate, atingând viteze de până la 600 MHz. Aceasta este concepută pentru a facilita aplicațiile de execuție în timp real (XiP) și este echipată cu 64 Kbytes de memorie flash de pornire, alături de 620 Kbytes de memorie RAM. În plus, unele modele din această linie dispun de un GPU NeoChrom opțional pentru o accelerare grafică îmbunătățită. Tipic pentru această linie este STM32H7R3Z8J6 cu capsula sa 144-UFBGA de 10 x 10 mm.
Avantajele compatibilității cu familiile STM32F4 și STM32F7
STM32H7 face parte dintr-o gamă mai extinsă de MCU-uri STMicroelectronics și este compatibil cu familiile STM32F4 și STM32F7 pentru cele mai comune capsule. Toate aceste MCU-uri se bazează pe nucleele Arm Cortex-M și au în comun periferice și configurații similare ale pinilor GPIO. Punctele comune facilitează migrarea între MCU-uri pentru proiectanți, fără a necesita modificări semnificative ale hardware-ului lor. Această compatibilitate poate reduce timpul și costurile de dezvoltare atunci când se actualizează un produs sau se proiectează produse noi pe baza capacităților diferite ale fiecărei familii.
În plus, toate MCU-urile sunt susținute de același ecosistem de dezvoltare software, inclusiv STM32CubeMX pentru configurarea și generarea codului de inițializare și STM32CubeIDE pentru dezvoltare și depanare. Această compatibilitate garantează că componentele software, middleware-ul și codul aplicației pot fi reutilizate în cadrul proiectelor care vizează ambele familii, accelerând și mai mult ciclurile de dezvoltare.
Noțiuni de bază despre MCU-urile din seria STM32H7
Începerea utilizării MCU-urilor STM32H7 implică câțiva pași cheie și utilizarea eficientă a plăcilor și instrumentelor de dezvoltare. Următorul ghid pas cu pas vă va arăta cum să începeți dezvoltarea cu aceste microcontrolere puternice.
1. Alegeți o placă de dezvoltare
Ideale pentru explorarea inițială, kiturile Discovery vin cu un depanator/programator integrat și, de obicei, dispun de diverse leduri de utilizare, taste, senzori și opțiuni de conectivitate integrate. Plăcile Nucleo, cum ar fi NUCLEO-F767ZI (Figura 1), reprezintă un bun echilibru între flexibilitate și accesibilitate. Acestea sunt compatibile cu Arduino Uno pentru o expansiune ușoară și au o interfață STLINK pentru utilizarea cu depanatoare/programatoare.
Figura 1: Placa de dezvoltare NUCLEO-F767ZI este un punct de plecare simplu, dar flexibil pentru experimentare. (Sursă imagine: STMicroelectronics)
Plăcile de evaluare oferă cel mai cuprinzător set de periferice și opțiuni de conectivitate pentru explorarea completă a funcțiilor. De exemplu, kiturile Discovery, cum ar fi STM32H745I-DISCO (Figura 2) și STM32H750B-DK, permit evaluarea rapidă a diferitelor interfețe cu caracteristici precum:
- Interfață RGB LCD cu panou tactil de 4,3 inch (in.)
- Conformitate Ethernet cu IEEE-802.3-2002
- Power over Ethernet (PoE)
- USB OTG FS
- Codec audio SAI
- Un microfon digital ST-MEMS
- 2 × memorie flash Quad-SPI NOR pe 512 Mbit
- SDRAM 128 Mbit
- 4 gigaocteți (Gbytes) de memorie eMMC încorporată
- 2 × CAN FD
- Compatibilitate cu scuturile Arduino
- Depanator/programator STLINK-V3E încorporat cu capacitate de re-enumerare USB: stocare de masă, port COM virtual și port de depanare
Figura 2: Placa de evaluare STM32H745I-DISCO oferă un set bogat de resurse hardware. (Sursă imagine: STMicroelectronics)
2. Configurarea instrumentelor software
STMicroelectronics oferă un mediu de dezvoltare integrat (IDE) pentru MCU-urile sale (Figura 3). Acesta include un compilator, un depanator și un configurator pentru generarea codului de inițializare și configurare a perifericelor.
Figura 3: Este prezentată o captură de ecran cu IDE STM32H7. (Sursă imagine: STMicroelectronics)
3. Învățați și experimentați
Apoi, se recomandă să citiți documentația. Un loc excelent pentru a începe este manualul de utilizare pentru placa de dezvoltare și manualul de referință STM32H7 relevant. Aceste documente oferă informații vitale despre arhitecturile MCU, configurația perifericelor, Pin-Mux și caracteristicile hardware.
Experimentarea cu exemple de proiecte este o modalitate eficientă de a învăța instrumentele. STMicroelectronics oferă o gamă de proiecte-mostră pentru diferite MCU-uri STM32. Aceste exemple pot servi ca punct de plecare pentru a înțelege cum se utilizează diferite caracteristici ale MCU.
În cele din urmă, comunitatea dezvoltatorilor poate oferi sprijin suplimentar. Utilizarea resurselor precum comunitatea ST, tutorialele și videoclipurile poate oferi soluții la probleme comune și inspirație pentru posibile proiecte.
4. Dezvoltare și depanare
IDE-ul oferă tot ce este necesar pentru a începe să scrieți, să compilați și să depanați codul. Configuratorul din cadrul IDE poate fi utilizat pentru inițializarea perifericelor și pentru configurarea middleware-ului. Interfața integrată de depanator/programator STLINK a plăcii de dezvoltare permite depanarea în timp real. Problemele pot fi identificate cu ajutorul punctelor de întrerupere, a variabilelor de monitorizare și a parcurgerii codului.
5. Extinderea unui proiect
Plăcile de expansiune pot adăuga funcționalitate, cum ar fi conectivitate sau senzori, la plăcile Discovery și Nucleo. Odată ce funcționalitatea dorită a fost stabilită prin intermediul plăcilor de dezvoltare, se poate proiecta o placă de circuit imprimat personalizată, folosind ca referință schemele plăcii de dezvoltare. Un exemplu de placă personalizată este platforma de cameră OpenMV4 CAM H7 (Figura 4) de la Seeed Technology Co., Ltd. Aceasta utilizează STM32H743 cu un singur nucleu.
Figura 4: OpenMV4 CAM H7 este destinat sistemelor de vedere. (Sursa imaginii: Seeed Technology Co. Ltd.)
Un alt exemplu este ABX00051 Nicla Vision (Figura 5) de la Arduino, care utilizează STM32H747 cu două nuclee.
Figura 5: ABX00051 Nicla Vision îi ajută pe dezvoltatori să evalueze diferiți senzori de imagine. (Sursa imaginii: Arduino)
Concluzie
Selectarea MCU-urilor în proiectarea unui produs este esențială, având în vedere cerințele concurente pentru caracteristici avansate și optimizarea costurilor. Seria STM32H7 de la STMicroelectronics este un exemplu puternic al modului în care alegerea familiei corecte de MCU-uri poate oferi o soluție scalabilă și flexibilă care să răspundă nevoilor actuale și viitoare.
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.




