- Microcontroler și microprocesor
- Factori de luat în considerare la selectarea unui MPU sau MCU
- 1. Putere de procesare
- 2. Interfețe
- 3. Memorie
- 4. Puterea
- Concluzie
Creierul unui dispozitiv încorporat, care este unitatea de procesare, este un factor determinant al succesului sau eșecului dispozitivului în îndeplinirea sarcinilor pentru care este proiectat. Unitatea de procesare este responsabilă pentru fiecare proces care implică de la intrare la sistem, până la ieșirea finală, astfel selectarea platformei potrivite pentru creier devine foarte importantă în timpul proiectării dispozitivului, deoarece orice alt lucru va depinde de acuratețea acelei decizii.
Microcontroler și microprocesor
Componentele de procesare utilizate pentru dispozitivele încorporate pot fi împărțite în două mari categorii; Microcontrolere și microprocesoare.
Microcontrolerele sunt dispozitive de calcul mici pe un singur cip care conțin unul sau mai multe nuclee de procesare, cu dispozitive de memorie încorporate alături de porturi de intrare și ieșire (I / O) programabile pentru scopuri generale și generale. Acestea sunt utilizate în special în aplicații în care trebuie efectuate doar sarcini repetitive specifice. Am discutat deja despre selectarea microcontrolerului potrivit pentru proiectele dvs. încorporate.
Microprocesoarele, pe de altă parte, sunt dispozitive de calcul de uz general care încorporează toate funcțiile unității centrale de procesare pe un cip, dar nu includ periferice precum memoria și pinii de intrare și de ieșire, precum microcontrolerul.
Deși producătorii schimbă acum o mulțime de lucruri care estompează linia dintre microcontrolere și microprocesoare, cum ar fi utilizarea memoriei pe cipuri pentru microprocesoare și capacitatea microcontrolerelor de a se conecta la o memorie externă, există încă diferențe cheie între aceste componente și designerul va trebuie să aleagă cele mai bune dintre ele pentru un anumit proiect.
Aflați mai multe despre diferența dintre microcontroler și microprocesor.
Factori de luat în considerare la selectarea unui MPU sau MCU
Înainte de a lua orice decizie cu privire la direcția de urmat în ceea ce privește dispozitivul de procesare care trebuie utilizat pentru proiectarea unui produs încorporat, este important să se dezvolte specificațiile de proiectare. Dezvoltarea specificațiilor de proiectare oferă o cale de pre-proiectare a dispozitivului, care ajută la identificarea în detalii, a problemei de rezolvat, a modului în care trebuie rezolvată, evidențiază componentele care trebuie utilizate și multe altele. Acest lucru îl ajută pe proiectant să ia decizii generale în cunoștință de cauză cu privire la proiect și ajută la determinarea direcției de deplasare pentru unitatea de procesare.
Unii dintre factorii din specificația de proiectare care trebuie luați în considerare înainte de a alege între un microcontroler și un microprocesor sunt descriși mai jos.
1. Putere de procesare
Puterea de procesare este unul dintre principalele (dacă nu chiar principalele) lucruri de luat în considerare atunci când alegeți între un microcontroler și un microprocesor. Este unul dintre principalii factori pe care înclinarea îl folosește pentru microprocesoare. Se măsoară în DMIPS (Dhrystone Million of Instructions Per Seconds) și reprezintă numărul de instrucțiuni pe care un microcontroler sau microprocesor le poate procesa într-o secundă. Este în esență o indicație a vitezei cu care un dispozitiv poate finaliza o sarcină care i-a fost atribuită.
În timp ce stabilirea puterii de calcul exacte pe care o necesită proiectarea dvs. poate fi o sarcină foarte dificilă, se poate face o presupunere educată, examinând sarcina (sarcinile), dispozitivul este creat pentru a fi efectuat și care ar putea fi cerințele de calcul ale acestor sarcini. De exemplu, dezvoltarea unui dispozitiv care necesită utilizarea unui sistem de operare complet fie Linux încorporat, Windows CE sau orice alt sistem de operare ar necesita o putere de procesare de până la 500 DMIPS, sunând ca un procesor? Da. Pentru a adăuga la acesta, rularea unui sistem de operare pe un dispozitiv va necesita o unitate de gestionare a memoriei (MMU) care va crește puterea de procesare necesară. Aplicațiile pentru dispozitive care implică multă aritmetică necesită, de asemenea, DMIPS foarte marevalorile și cu cât dispozitivul trebuie să efectueze mai multe calcule matematice / numerice, cu atât cerințele de proiectare se înclină mai mult spre utilizarea unui microprocesor datorită puterii de procesare necesare.
O altă implicație principală a puterii de procesare care afectează alegerea dintre microprocesoare și microcontrolere este complexitatea sau simplitatea lucrurilor precum interfețele utilizatorului. Este un lucru de dorit în aceste zile să aveți GUI colorate și interactive chiar și pentru cele mai de bază aplicații. Majoritatea bibliotecilor utilizate în crearea interfețelor utilizatorului, cum ar fi QT, necesită o putere de procesare de până la 80 - 100 DMIPS și cu cât sunt afișate mai multe animații, imagini și alte conținuturi multimedia, cu atât este mai mare puterea de procesare necesară. Cu toate acestea, interfețele de utilizator mai simple pe ecrane cu rezoluție redusă necesită o putere de procesare redusă și pot fi alimentate folosind microcontrolere, deoarece într-un număr destul de mare în zilele noastre, vin cu interfețe încorporate pentru a interacționa cu diferite afișaje.
Pe lângă unele dintre funcțiile de bază menționate mai sus, este important să rezervați o anumită putere de procesare pentru comunicații și alte periferice. Deși majoritatea exemplelor date mai sus tind să sprijine utilizarea microprocesoarelor, acestea sunt în general mai scumpe în comparație cu microcontrolerele și vor fi un exces atunci când sunt utilizate în anumite soluții, de exemplu, utilizarea unui microprocesor de 500 DMIPS pentru automatizarea unui bec va face costul general a produsului mai mare decât în mod normal și ar putea duce în cele din urmă la eșecul acestuia pe piață.
2. Interfețe
Interfața care trebuie utilizată pentru conectarea diferitelor elemente ale produsului este unul dintre factorii care trebuie luați în considerare înainte de a alege între un microcontroler și un microprocesor. Este important să vă asigurați că unitatea de procesare care va fi utilizată are interfețele cerute de celelalte componente.
De la punctul de conectivitate și comunicații, de exemplu, majoritatea microcontrolerelor și microprocesoarelor posedă interfețele necesare pentru conectarea la dispozitive de comunicații, dar când sunt necesare periferice de comunicație de mare viteză, cum ar fi interfața USB 3.0 de mare viteză, mai multe porturi Ethernet 10/100 sau portul Gigabit Ethernet, lucrurile înclinați-vă în direcția microprocesorului, deoarece interfața necesară pentru a le suporta se găsește în general numai pe ele, deoarece sunt mai capabile să manipuleze și să proceseze cantitățile mari de date și viteza cu care sunt transferate aceste date.
Impactul protocoalelor utilizate pentru aceste interfețe asupra cantității de memorie necesare pentru firmware ar trebui confirmat, deoarece acestea tind să crească cerințele de memorie. Este o regulă generală de a adopta un design bazat pe microprocesor pentru aplicații care necesită conectivitate de mare viteză, cu o cantitate mare de date schimbate mai ales atunci când sistemul implică utilizarea unui sistem de operare.
3. Memorie
Aceste două dispozitive de procesare a datelor gestionează diferit memoria și stocarea datelor. Microcontrolerele, de exemplu, vin cu dispozitive de memorie fixe încorporate, în timp ce microprocesoarele vin cu interfețe la care pot fi conectate dispozitive de memorie. Două implicații majore ale acestui lucru sunt;
Cost
Microcontrolerul devine o soluție mai ieftină, deoarece nu necesită utilizarea unui dispozitiv de memorie suplimentar, în timp ce microprocesorul devine o soluție costisitoare de adoptat datorită acestor cerințe suplimentare.
Memorie limitată
Memoria fixă de pe microcontroler limitează cantitatea de date care poate fi stocată pe acesta. Aceasta este o situație care nu se aplică procesoarelor, deoarece acestea sunt de obicei conectate la dispozitive de memorie externe. Un bun exemplu al situației în care această limitare poate fi o problemă este atunci când se dezvoltă firmware pentru dispozitiv. Adăugarea de kiloocteți suplimentari la dimensiunea codului poate necesita o modificare a microcontrolerului, dar dacă proiectarea se bazează pe un procesor, va trebui să schimbăm doar dispozitivul de memorie. Astfel, microprocesoarele oferă mai multă flexibilitate cu memoria.
Există mai mulți alți factori care se bazează pe memoria care trebuie luată în considerare, unul dintre ei este timpul de pornire (boot). Microprocesoarele, de exemplu, stochează firmware-ul pe o memorie externă (De obicei, o memorie externă NAND sau Serial Flash) și la pornire, firmware-ul este încărcat în DRAM-ul procesorului. Deși acest lucru are loc în câteva secunde, este posibil să nu fie ideal pentru anumite aplicații. Pe de altă parte, microcontrolerul durează mai puțin.
Pentru considerații generale de viteză, MCU câștigă, de obicei, datorită capacității sale de a aborda aplicațiile cele mai critice din timp, datorită nucleului procesorului utilizat în acestea, faptul că memoria este încorporată și firmware-ul utilizat cu acestea este întotdeauna fie un RTOS, fie bare metal C.
4. Puterea
Un ultim punct de luat în considerare este consumul de energie. În timp ce microprocesoarele au moduri de putere redusă, aceste moduri nu sunt la fel de multe ca cele disponibile pe un MCU tipic și cu componentele externe solicitate de un design bazat pe microprocesor, este puțin mai complex să obțineți moduri de putere redusă. În afară de modurile de putere redusă, cantitatea reală de energie consumată de un MCU este cu mult mai mică decât consumă un microprocesor, deoarece cu cât este mai mare capacitatea de procesare, cu atât este mai mare cantitatea de energie necesară pentru a menține procesorul în funcțiune.
Prin urmare, microcontrolerele tind să găsească aplicații în care sunt necesare unități de procesare cu putere redusă, cum ar fi telecomenzi, electronice de larg consum și mai multe dispozitive inteligente, unde accentul pe design este pus pe longevitatea duratei de viață a bateriei. Ele sunt, de asemenea, utilizate acolo unde este nevoie de un comportament extrem de determinist.
Microprocesoarele, pe de altă parte, sunt ideale pentru aplicațiile industriale și pentru consumatori care necesită un sistem de operare, sunt intensive în calcul și necesită conectivitate de mare viteză sau o interfață cu utilizatorul cu o mulțime de informații media.
Concluzie
Mai mulți alți factori există și servesc drept factori determinanți pentru alegerea dintre aceste două platforme și toate se încadrează în performanță, capacitate și buget, dar selecția generală devine mai ușoară atunci când există o pre-proiectare adecvată a sistemelor și cerințele sunt clar indicate. Microcontrolerele sunt utilizate mai ales în soluții cu un buget BOM foarte restrâns și cu cerințe de putere stricte, în timp ce microprocesoarele sunt utilizate în aplicații cu cerințe imense de calcul și performanță.