- Factori importanți de luat în considerare atunci când selectați un MCU
- 1. Cerere
- 2. Selectați Arhitectura microcontrolerului
- 3. Dimensiunea bitului
- 4. Interfețe pentru comunicare
- 5. Tensiunea de funcționare
- 6. Numărul pinilor I / O
- 7. Cerințe de memorie
- 8. Dimensiunea ambalajului
- 9. Consum de energie
- 10. Suport pentru microcontroler
Un microcontroler este în esență un computer mic pe un cip, ca orice computer, are memorie și, de obicei, este programat în sisteme încorporate pentru a primi intrări, a efectua calcule și a genera ieșiri. Spre deosebire de un procesor, acesta încorporează memoria, procesorul, I / O și alte periferice pe un singur cip, așa cum se arată în aspectul de mai jos.
Alegerea microcontrolerului potrivit pentru un proiect este întotdeauna o decizie complexă de luat, deoarece este inima proiectului și de acesta depinde succesul sau eșecul sistemului.
Există o mie de tipuri diferite de microcontrolere, fiecare dintre ele având o caracteristică unică sau un avantaj competitiv de la factorul de formă, până la dimensiunea pachetului, la capacitatea RAM și a ROM-ului care le face potrivite pentru anumite aplicații și improprii pentru anumite aplicații. Astfel, de multe ori, pentru a evita durerea de cap care vine la alegerea celei potrivite, proiectanții optează pentru microcontrolere pe care le cunosc, uneori, chiar și ele nu îndeplinesc cu adevărat cerințele proiectului. Articolul de astăzi va arunca o privire asupra câtorva dintre factorii importanți care trebuie luați în considerare atunci când selectați un microcontroler, inclusiv Arhitectura, memoria, interfețele și proprietățile imobiliare I / O, printre altele.
Factori importanți de luat în considerare atunci când selectați un MCU
Următorii sunt câțiva dintre factorii importanți care trebuie luați în considerare atunci când selectați un microcontroler, inclusiv arhitectura, memoria, interfețele și imobilele I / O, printre altele.
1. Cerere
Primul lucru de făcut înainte de a selecta un microcontroler pentru orice proiect este să dezvolți o înțelegere profundă a sarcinii pentru care urmează să fie implementată soluția bazată pe microcontroler. O foaie de specificații tehnice este întotdeauna dezvoltată în timpul acestui proces și va ajuta la determinarea caracteristicilor specifice pe care microcontrolerul le va folosi pentru proiect. Un bun exemplu al modului în care aplicația / utilizarea dispozitivului determină microcontrolerul care trebuie utilizat este prezentat atunci când este adoptat un microcontroler cu o unitate în virgulă mobilă pentru proiectarea unui dispozitiv care va fi utilizat pentru a efectua operațiuni care implică o mulțime de numere zecimale.
2. Selectați Arhitectura microcontrolerului
Arhitectura unui microcontroler se referă la modul în care microcontrolerul este structurat intern. Există două arhitecturi majore utilizate pentru proiectarea microcontrolerelor;
- Arhitectura Von Neumann
- Harvard Architecture
Arhitectura von Neumann prezintă utilizarea aceleiași magistrale pentru a transmite date și a prelua seturi de instrucțiuni din memorie. Prin urmare, transferul de date și preluarea instrucțiunilor nu pot fi efectuate în același timp și sunt de obicei programate. Pe de altă parte, arhitectura Harvard oferă utilizarea de autobuze separate pentru transmiterea datelor și preluarea instrucțiunilor.
Fiecare dintre aceste arhitecturi are propriul avantaj și dezavantaj. Arhitectura Harvard, de exemplu, sunt calculatoare RISC (Set de instrucțiuni reduse) și sunt astfel capabile să efectueze mai multe instrucțiuni cu cicluri mai mici decât computerele CISC (Set de instrucțiuni complexe) care se bazează pe arhitectura von Neumann. Un avantaj important al microcontrolerelor bazate pe Harvard (RISC) este faptul că existența diferitelor magistrale pentru setul de date și instrucțiuni permite separarea accesului la memorie și operațiunile unității aritmetice și logice (ALU). Acest lucru reduce cantitatea de putere de calcul necesară de către microcontroler și duce la costuri reduse, consum redus de energie și disiparea căldurii, ceea ce le face ideale pentru proiectarea dispozitivelor cu baterii. Multe ARM,Microcontrolerele AVR și PIC se bazează pe arhitectura Harvard. Exemplu de microcontrolere care utilizează arhitectura Von Neumann includ 8051, zilog Z80 printre altele.
3. Dimensiunea bitului
Un microcontroler poate fi fie 8 biți, 16 biți, 32 biți și 64 biți, care este dimensiunea maximă de biți actuală pe care o posedă un microcontroler. Dimensiunea de biți a unui microcontroler reprezintă dimensiunea unui „cuvânt” utilizat în setul de instrucțiuni al microcontrolerului. Aceasta înseamnă că într-un microcontroler de 8 biți, reprezentarea fiecărei instrucțiuni, adrese, variabile sau registre durează 8 biți. Una dintre implicațiile cheie ale dimensiunii biților este capacitatea de memorie a microcontrolerului. De exemplu, într-un microcontroler de 8 biți, există 255 de locații de memorie unice, așa cum este dictată de dimensiunea biților, în timp ce într-un microcontroler de 32 de biți, există 4.294.967.295 de locații de memorie unice, ceea ce înseamnă că cu cât este mai mare dimensiunea de biți, cu atât este mai mare numărul de locații de memorie disponibile pentru utilizare pe microcontroler. Însă producătorii de astăzi,dezvoltă modalități de a oferi acces la mai multe locații de memorie la microcontrolere cu dimensiuni de biți mai mici prin paginare și adresare, astfel încât microcontrolerul de 8 biți să devină adresabil de 16 biți, dar acest lucru tinde să complice programarea pentru dezvoltatorul de software încorporat.
Efectul dimensiunii biților este probabil mai semnificativ experimentat atunci când se dezvoltă firmware-ul pentru microcontroler, în special pentru operațiuni aritmetice. Diferitele tipuri de date au dimensiuni de memorie diferite pentru diferite dimensiuni de biți de microcontroler. De exemplu, utilizarea unei variabile declarate ca un număr întreg nesemnat care, datorită tipului de date, va necesita 16 biți de memorie, în codurile care vor fi executate pe un microcontroler de 8 biți va duce la pierderea celui mai semnificativ octet din date care uneori poate fi foarte important pentru realizarea sarcinii pentru care a fost conceput dispozitivul pe care urmează să fie utilizat microcontrolerul.
Prin urmare, este important să selectați un microcontroler cu o dimensiune de biți care să se potrivească cu cea a datelor care urmează să fie procesate.
Este probabil important să rețineți că majoritatea aplicațiilor din zilele noastre sunt între 32 biți și 16 biți microcontrolere datorită progreselor tehnologice încorporate pe aceste cipuri.
4. Interfețe pentru comunicare
Comunicarea dintre microcontroler și unii dintre senzorii și actuatorii care vor fi folosiți pentru proiect ar putea necesita utilizarea unei interfețe între microcontroler și senzor sau actuator pentru a facilita comunicațiile. Luați, de exemplu, pentru a conecta un senzor analogic la un microcontroler, va trebui ca microcontrolerul să aibă suficient ADC (convertoare analogice la digitale) sau, așa cum am menționat mai devreme, modificarea vitezei unui motor DC poate necesita utilizarea interfeței PWM pe microcontroler. Deci, va fi important să confirmați că microcontrolerul care urmează să fie selectat are suficiente interfețe necesare, inclusiv UART, SPI, I2C, printre altele.
5. Tensiunea de funcționare
Tensiunea de funcționare este nivelul de tensiune la care este proiectat să funcționeze un sistem. Este, de asemenea, nivelul de tensiune la care sunt legate anumite caracteristici ale sistemului. În proiectarea hardware, tensiunea de funcționare determină uneori nivelul logic la care microcontrolerul comunică cu alte componente care alcătuiesc sistemul.
Nivelul de tensiune de 5V și 3,3V este cea mai populară tensiune de funcționare utilizată pentru microcontrolere și ar trebui luată o decizie cu privire la care dintre aceste niveluri de tensiune va fi utilizat în timpul procesului de dezvoltare a specificațiilor tehnice ale dispozitivului. Utilizarea unui microcontroler cu o tensiune de funcționare de 3,3V în proiectarea unui dispozitiv în care majoritatea componentelor, senzorilor și actuatoarelor externe vor funcționa la un nivel de tensiune de 5V nu va fi o decizie foarte inteligentă, deoarece va fi necesară implementarea nivelului logic comutatoare sau convertoare pentru a permite schimbul de date între microcontroler și celelalte componente și acest lucru va crește inutil costul de fabricație și costul general al dispozitivului.
6. Numărul pinilor I / O
Numărul de porturi de intrare / ieșire cu scop general sau special și (sau) pini deținut de un microcontroler este unul dintre cei mai importanți factori care influențează alegerea microcontrolerului.
Dacă un microcontroler ar avea toate celelalte caracteristici menționate în acest articol, dar nu are suficienți pini IO, așa cum este cerut de proiect, acesta nu poate fi utilizat. Este important ca microcontrolerul să aibă suficiente pini PWM, de exemplu, pentru a controla numărul de motoare de curent continuu a căror viteză va fi variată de dispozitiv. În timp ce numărul de porturi I / O pe un microcontroler poate fi extins prin utilizarea registrelor de schimbare, acesta nu poate fi utilizat pentru toate tipurile de aplicații și crește costul dispozitivelor în care este utilizat. Prin urmare, este mai bine să vă asigurați că microcontrolerul care va fi selectat pentru proiectare are numărul necesar de porturi I / O cu scop general și special pentru proiect.
Un alt lucru cheie care trebuie avut în vedere atunci când se determină cantitatea de pini I / O cu scop general sau special necesari unui proiect, este îmbunătățirea viitoare care poate fi făcută dispozitivului și modul în care aceste îmbunătățiri pot afecta numărul de pini I / O necesar.
7. Cerințe de memorie
Există mai multe tipuri de memorie asociate cu un microcontroler pe care designerul ar trebui să le aibă în vedere atunci când face o selecție. Cele mai importante sunt RAM, ROM și EEPROM. Cantitatea fiecăreia dintre aceste amintiri necesare ar putea fi dificil de estimat până când nu va fi folosită, însă, judecând pe cantitatea de muncă necesară microcontrolerului, se pot face predicții. Aceste dispozitive de memorie menționate mai sus formează datele și memoria programului microcontrolerului.
Memoria de program a microcontrolerului stochează firmware-ul pentru microcontroler, astfel încât atunci când alimentarea este deconectată de la microcontroler, firmware-ul nu se pierde. Cantitatea de memorie de program necesară depinde de cantitatea de date, cum ar fi biblioteci, tabele, fișiere binare pentru imagini etc., care sunt necesare pentru ca firmware-ul să funcționeze corect.
Memoria de date pe de altă parte este utilizată în timpul rulării. Toate variabilele și datele generate ca urmare a procesării printre alte activități în timpul rulării sunt stocate în această memorie. Astfel, complexitatea calculelor care va avea loc în timpul rulării poate fi utilizată pentru a estima cantitatea de memorie de date necesară pentru microcontroler.
8. Dimensiunea ambalajului
Dimensiunea pachetului se referă la factorul de formă al microcontrolerului. Microcontrolerele vin în general în pachete care variază de la QFP, TSSOP, SOIC la SSOP și pachetul DIP obișnuit care face montarea pe panou pentru prototipare ușoară. Este important să planificați înainte de fabricație și să vă gândiți care pachet va fi cel mai bun.
9. Consum de energie
Acesta este unul dintre cei mai importanți factori de luat în considerare atunci când selectați un microcontroler, mai ales atunci când acesta urmează să fie implementat într-o aplicație alimentată cu baterie, cum ar fi dispozitivele IoT, unde se dorește ca microcontrolerul să aibă o putere cât mai redusă. Fișa tehnică a majorității microcontrolerelor conține informații despre mai multe tehnici hardware și (sau) bazate pe software care pot fi utilizate pentru a minimiza cantitatea de energie consumată de microcontroler în diferite moduri. Asigurați-vă că microcontrolerul pe care îl selectați îndeplinește cerințele de energie pentru proiectul dvs.
10. Suport pentru microcontroler
Este important ca microcontrolerul cu care alegeți să lucrați să aibă suficient suport, inclusiv; mostre de cod, modele de referință și, dacă este posibil, o comunitate mare online. Lucrul cu un microcontroler pentru prima dată ar putea avea diferite provocări și accesul la aceste resurse vă va ajuta să le depășiți rapid. În timp ce utilizați cele mai recente microcontrolere, datorită acelor noi funcții interesante pe care le-a venit, este un lucru bun, este recomandabil să vă asigurați că microcontrolerul a existat de cel puțin 3-4 luni pentru a asigura majoritatea problemelor timpurii care pot fi asociate cu microcontrolerul. ar fi fost rezolvate, deoarece diferiți clienți ar fi făcut o mulțime de testări ale microcontrolerului cu aplicații diferite.
De asemenea, este important să selectați un microcontroler cu un kit de evaluare bun, astfel încât să puteți începe rapid construirea prototipului și să testați cu ușurință caracteristicile. Kituri de evaluare sunt o modalitate bună de a dobândi experiență, de a vă familiariza cu lanțul de instrumente utilizat pentru dezvoltare și de a economisi timp în timpul dezvoltării dispozitivului.
Selectarea microcontrolerului potrivit pentru un proiect va continua să fie o problemă, fiecare proiectant hardware va trebui să rezolve și, deși mai sunt câțiva factori care pot influența alegerea microcontrolerului, acești factori menționați mai sus sunt cei mai importanți.