Diferența dintre microcontroler și microprocesor. Despre microcontrolerele pentru începători - istoria creației, principalele tipuri și diferențele dintre arhitectura FPGA

Altera-Cyclone și Arduino

Esența întrebării. Diferența dintre FPGA și microcontrolerul

Fiecare Microproger Novice într-o anumită etapă a dezvoltării sale este pus ca întrebarea a ceea ce diferența dintre Plis. (Altera sau Xilinx) și microcontroler (Microprocesor)?

Citiți forumurile - Connoisserul de afaceri Scrieți că acestea sunt complet diferite lucruri care nu pot fi comparate, argumentând că au diferite arhitectură. Citiți manualul de către Verilog sau C ++ - iar celălalt utilizați operatori similari cu funcționalitate similară, chiar și sintaxa este similară și de ce sunt diferite? Mergeți la veveriță - există LED-uri (sau chiar becuri de lumină) cu FPGA. clipește, vizionați proiecte pe roboții Arduino - alerga acolo. Stop!

Dar acum să ne oprim și să ne întrebăm: de ce Plis. - Bec prost, și Arduino este un robot inteligent? La urma urmei, primul și al doilea pare a fi un dispozitiv programabil, într-adevăr Plis. Oportunități pentru o lipsă de robot?

Într-o oarecare măsură esența întrebării "Ce diferența dintre FPGA și microcontrolerul? " Deschis tocmai pe acest exemplu.

Notă imediat. Funcţional Plis. Inițial nu inferior microcontroler(Și microprocesorul, apropo, de asemenea), mai precis, principalele funcții ale unuia și al doilea sunt, în esență identice - pentru a produce logice 0 sau 1 în anumite condiții și dacă vorbim despre viteză, numărul de concluzii (picioarele ) și capabilitățile transportorilor, atunci microcontroler inainte de Plis.dar, în general, departe. Dar există unul "dar". Timp pentru a dezvolta același algoritm de software pe două dispozitive diferite (Plis și microcontroler) Diferă uneori sau chiar de zece ori. Exact Plis. Aici, în 99% din cazuri, MK este foarte inferior. Iar punctul nu este în problema limbilor Verilog., VHDL. sau Ahdl., și în dispozitivul însuși Plis..

Privind interacțiunea limbajului de program cu arhitectura FPGA și Microcontroler

FPGA.: In. Plis. Și nu există lanțuri complexe automate (făcând parte din lucrarea pentru dvs.). Există doar piste de fier și autostrăzi, intrări, ieșiri, blocuri logice și blocuri de memorie. Există o clasă specială printre piese - pista pentru tactare (legată de anumite picioare prin care se recomandă frecvența ceasului).

Distribuție principală:

Traseul - metalul, care este pentru straturile de cip, este un conductor de energie electrică între blocuri.

Blocurile sunt locuri separate în bord constând din celule. Blocurile servesc la memorarea informațiilor, multiplicarea, adăugarea și operațiile logice la semnale deloc.

Celulele - grupuri de la mai multe unități la câteva zeci de tranzistori.

Tranzistorul este elementul principal al logicii TTL.

Concluzii (picioarele cipurilor) - prin schimbul lor Plis. Cu lumea exterioară. Există picioare de un scop special, concepute pentru firmware, primind frecvența ceasului, puterea, precum și picioarele, scopul care este instalat de utilizator în program. Și de obicei sunt mult mai mult decât atât microcontroler.

Generatorul de ceas este un cip exterior care generează impulsuri de ceas pe care se bazează cea mai mare parte a lucrării. Plis..

Arhitectura pavilionului. Relația dintre componentele elementelor

Traseele sunt conectate la blocuri folosind tranzistoare speciale CMOS. Acești tranzistori sunt capabili să-și mențină starea (deschisă sau închisă) pe o perioadă lungă de timp. Starea tranzistorului se schimbă atunci când semnalul este trimis printr-o rută specifică, care este utilizată numai când programare Plis.. Acestea., La momentul firmware-ului, tensiunea se efectuează la un set de tranzistori CMOS. Acest set este determinat de programul firmware. Aceasta se întâmplă o construcție complexă a unei mari rețele de trasee și autostrăzi înăuntru Plis.Legarea unui mod dificil unul față de celălalt este un număr mare de blocuri logice. În program, descrieți ce algoritm trebuie efectuat, iar firmware-ul conectează elementele care efectuează funcțiile pe care le descrieți în program. Semnalele rulează pe autostrada de la bloc la bloc. Și traseul complex este dat de program.


Arhitectura Plis. (FPGA)

Microcontroler de arhitectură

În acest element, logica TTL, toate operațiunile pentru prelucrarea alarmei individuale sunt efectuate indiferent de dvs. Specificați doar ce să faceți cu unul sau altul de semnale primite și unde să producați aceste semnale care trebuie transmise. Arhitectură microcontroler constă din total de alte blocuri decât Plis.. Și comunicarea între blocuri se efectuează pe autostrăzi permanente (și nu reflexia). Printre blocurile MK, puteți aloca principalul:

Memoria permanentă (ROM) - memoria în care este stocat programul dvs. Acesta include algoritmi de acțiune și constante. Precum și biblioteci (seturi) de echipe și algoritmi.

RAM (RAM) - Memorie folosită microcontroler Pentru stocarea temporară a datelor (ca declanșatoare în Plis.). De exemplu, atunci când se calculează mai multe acțiuni. Să presupunem că aveți nevoie pentru a se multiplica primul număr al doilea (acțiunea 1), apoi a treia la (acțiunea 2) a patra și ori rezultatul (3 acțiune). În această memorie, va fi introdus rezultatul a 1 acțiune pentru timpul de executare a celui de-al doilea, atunci rezultatul a 2 acțiuni va fi depus. Apoi, ambele rezultate vor trece de la RAM pentru a calcula 3 acțiuni.

Procesorul este un calculator microcontroler. Acesta comunică cu memoria RAM, precum și cu constantă. Cu calculul operațional are loc. De la un procesor permanent primește comenzi care determină procesorul să efectueze anumiți algoritmi și acțiuni cu semnale la intrări.

Porturi I / O (porturi) și porturile secvențiale I / O - picioare microcontrolerdestinate să interacționeze cu lumea exterioară.

Timeri - Blocuri concepute pentru a calcula numărul de cicluri atunci când efectuați algoritmi.

Controler de anvelope - bloc care controlează schimbul între toate blocurile din microcontroler. Procesează solicitările, trimiteți comenzi de control, organizează și simplifică comunicarea în interiorul cristalului.

Controlerul de întrerupere este un bloc care acceptă cereri de întrerupere de la dispozitive externe. Cerere de întrerupere - un semnal de la un dispozitiv extern care informează că trebuie schimbat pentru orice informații cu microcontroler.

Autostrăzile interne - rutele stabilite în interior microcontroler Pentru schimbul de informații între blocuri.

Generatorul de ceas este un cip extern care produce impulsuri de ceas pe care toate microcontroler de lucru.

Relația dintre componentele blocurilor microcontrolerului

ÎN microcontroler, in distincţie din Plis.Lucrarea are loc între blocurile de mai sus având un complex arhitecturăFacilitarea procesului de dezvoltare a programului. Când firmware, schimbați numai memoria constantă, care se bazează pe toată lucrarea MK.


Principala diferență de FPGA și microcontroler

FPGA este cusută la nivelul fierului, aproape în întreaga zonă a cristalului. Semnalele trec prin lanțuri complexe de tranzistori. Microprocesorul este cusută la nivelul programului de fier, semnalele trec de grupe, de la blocul de bloc - din memorie la procesor, la RAM, de procesorul operațional la procesor, de la procesor la I / porturi O, din porturile i / O la RAM, de la RAM ... și așa mai departe. Concluzie: Datorită arhitectura Plis. Câștigă în capabilități de viteză și transportoare mai largi, MK câștigă în ușurință de a scrie algoritmi. Datorită celei mai simple modalitate de a descrie programele, dezvoltatorul fanteziei Microcontroler mai puțin fiditat de timpul de depanare și dezvoltare, și astfel timpul pentru programarea aceluiași robot pe MK și Plis. va fi diferă Multe ori de multe ori. Cu toate acestea, un robot care lucrează la Plis. Va fi mult Shunter, mai precis și mai mult.

Fier și program.

ÎN Plis. Toate lucrările ar trebui făcute manual: pentru a pune în aplicare orice program pe Plis., trebuie să urmăriți fiecare alarmă pentru fiecare cablare care intră în Plis., pentru a aranja unele semnale în celulele de memorie, aveți grijă ca o altă alarmă întoarsă la momentul potrivit pentru aceste celule, pe care le urmăriți și chiar generați și, în cele din urmă, confirmele care au reținut în memorie au implicat semnalul de care aveți nevoie, care , de exemplu, va merge la un anumit picior de ieșire și va porni LED-ul, care este conectat la acesta. O parte din alarmă nu este în memorie, ci, de exemplu, la lansarea unei anumite părți a algoritmului (program). Aceasta este, în limba microproger, aceste picioare sunt vizate. De exemplu, avem la bordul nostru în programul nostru trei picioare vizate pentru a include unele non-legate (sau legate) cu fiecare algoritmi pe care l-am implementat în Verilog în Plis.. De asemenea, în program, cu excepția celor trei picioare de adresă, avem încă 20 de picioare de informații, care vine un set de alarmă de intrare (de exemplu, de la diferiți senzori) cu orice informație (de exemplu, temperatura apei în acvariu din Senzor de temperatură a apei în acvariu). 20 picioare \u003d 20 de biți. 3 picioare -3 biți. Când semnalul de adresă 001 vine (de la adresele cu trei picioare) - începem primul algoritm care scrie 20 de alarme de informații în 20 de celule de memorie (20 de declanșatoare), apoi următoarele 20 de alarme sunt înmulțite cu 20 de ani obținuți și rezultatul obținut de multiplicare este înregistrată în memorie și apoi trimite rezultatul pentru alte picioare, de exemplu, în termostatul de apă din acvariu. Dar vom muta acest rezultat numai atunci când codul de exemplu 011 va veni la picioarele noastre de adresă și va lansa algoritmul de citire și transmisie. Ei bine, în mod natural, "referindu-se", "citiți" și înregistrați ceva în manual. Noi purtăm fiecare alarmă pentru fiecare lucrare de ceas Plis. Pe o anumită cale, nu pierdeți. Procesăm sau scriem. Ne pliam sau multiplicăm. Nu uitați să scrieți. Nu uitați să luați următorul semnal și să scrieți la alte declanșatoare. Chiar adăugați un loc de muncă legat de frecvența ceasului, sincronizarea (care este, de asemenea, implementată manual), erori inevitabile la etapele de dezvoltare și depanare și o grămadă de alte probleme că în acest articol sunt pur și simplu lipsite de sens. Dificil. Lung. Dar la ieșire, funcționează foarte repede, fără glituri și frâne. Fier!

Acum microcontroler. 20 de picioare pe primirea informațiilor - pentru majoritatea microcontrolere Fizic imposibil sarcina. Dar 8 sau 16 - Da, vă rog! 3 informații - în ușor! Program? La 001, înmulțiți primul număr la cel de-al doilea, la 011 trimite rezultatul la termostat. Tot! Rapid. Uşor. Nu este super, dar cu promptitudine. Dacă este foarte competentă să scrieți un program fără glituri și frâne. Software!

Fier și program! Iată principalul lucru diferența dintre FPGA și microcontrolerul.

ÎN microcontroler Cea mai mare parte a algoritmilor tăiat, dar adesea folosiți sunt deja cusut cusut (în cristal). Trebuie doar să sunați la biblioteca dorită în care acest algoritm este stocat, îl numiți după nume și va face toată lucrarea murdară pentru dvs. Pe de o parte, este convenabil, necesită un număr mai mic de cunoștințe despre dispozitivul intern al cipului. Micrick are grijă de urmărirea semnalelor adoptate, generate și rezultate, despre depozitarea, prelucrarea, întârzierea. Totul se face. În majoritatea sarcinilor de microproger, acesta este ceea ce aveți nevoie. Dar dacă utilizați cu ușurință toate aceste facilități, atunci probabilitatea de a lucra incorectă. Fier și program!

Concluzie

Producătorii moderni de procesor și microprocesor își dezvoltă inițial dispozitive Plis.. Da, da, ghiciți corect: Mai întâi imită crearea arhitectura microcontrolerului Cu dezvoltarea și firmware-ul programului Plis.Și apoi viteza de a efectua algoritmii este măsurată la un anumit aranjament al blocurilor MK simulate și unul sau alt set de funcțional al fiecărui bloc separat.

În funcție de caracteristicile de ieșire a semnalului, Plis. cel mai adesea proiectat pentru 3.3V, 20, Microcontroler La 5V, 20mA.

Sub microcontroler AVR, încorporat cu succes în platforma Arduino, este scrisă o varietate de programe deschise, un mare set de rachete este dezvoltat sub formă de senzori, motoare, monitor și tot ceea ce este doar pe cont propriu! Arduino este în prezent mai mult ca un designer de jocuri pentru copii și adulți. Cu toate acestea, nu uitați că nucleul acestui Designerul „case inteligente“, electronice moderne de larg consum, electrocasnice, automobile, avioane, arme, și chiar nave spațiale. Fără îndoială, un astfel de designer va fi unul dintre cele mai bune daruri pentru orice reprezentant al unei jumătăți puternice de umanitate.

În principiu, totul este simplu!

Aveți întrebări? Scrie un comentariu. Vom răspunde și vom ajuta să dau seama \u003d)

Să ne ocupăm de ceea ce diferă de fapt și care sunt asemănările acestor două tipuri de dispozitive radio-electronice digitale.

Și microprocesorul și microcontrolerul sunt proiectate pentru a efectua unele operații - extrag comenzi din memorie și să execute aceste instrucțiuni (reprezentând operații aritmetice sau logice), iar rezultatul este utilizat pentru a menține dispozitive de ieșire. Și microcontrolerul și microprocesorul pot selecta continuu comenzile din memorie și execută aceste instrucțiuni în timp ce dispozitivul este alimentat. Instrucțiunile sunt biți de la sine. Aceste instrucțiuni sunt întotdeauna extrase din locația lor de stocare, numită memorie.

Ce este microprocesorul

Microprocesor (în literatura de limbă angoianăMPU - Micro Processor Unit ) Conține o funcționalitate a procesorului Cight Center sau CPU (unitate de procesare centrală CPU) pe un cristal semiconductor (cip integrat IC sau în mod occidental - circuit integrat).

În esență, acesta este un microcomputer care este utilizat pentru efectuarea operațiilor aritmetice și logice, sisteme de control, depozitare și alte sisteme.

Microprocesorul procesează datele de la dispozitivele periferice de intrare și transmite datele prelucrate la perifericele de ieșire.

Există patru tipuri principale de procesoare care diferă în arhitectura lor.

Microprocesoare cu un set complet de comenzi (computer complex de instrucțiuni, CISC -Rhitecut). Caracterizat valoarea nereușită a lungimii comenzii, care codifică acțiunile aritmetice printr-o singură comandă, un număr mic de registre care îndeplinesc funcții strict definite. Un exemplu de acest tip de procesoare este familia X86.

Microprocesoare cu un set de comandă redus (calculator redus de instrucțiuni, RISC-Architecture). Posedă de obicei viteza crescută în detrimentul instrucțiunilor de simplificare a procesuluidecodarea și, în consecință, reduce timpul de execuție. Majoritatea procesoarelor grafice sunt dezvoltate folosind acest tip de arhitectură.

Microprocesoare cu un set minim de comenzi (calculator minim de instrucțiuni, MISC -Rhitecut). Spre deosebire de arhitectura RISC, folosesc cuvinte lungi de comandă în ele, ceea ce vă permite să efectuați acțiuni complexe pentru un ciclu de funcționare a dispozitivului. Formarea de "cuvinte de comandă" lungi a fost posibilă prin creșterea descărcării dispozitivelor de microprocesor.

În procesoarele super-executive (procesoarele superscalare) și sunt utilizați mai mulți decodoare de echipăcare descărcați lucrarea multor blocuri executive. Planificarea executării fluxului de comandă apare dinamic și este efectuată de miezul de calcul propriu. Un exemplu de procesor cu un astfel de tip de arhitectură este, de exemplu, cortexul A8.

Separat, vreau să aloce microprocesoare speciale(ASIC - aplicație este specifică c iriit). După cum rezultă din numele, Concepute pentru a rezolva o sarcină specifică. Spre deosebire de microprocesoarele cu scop general, aplicați într-un anumit dispozitiv și efectuați anumite funcții caracteristice numai pentru acest dispozitiv. Specializarea privind implementarea unei clase înguste de funcții duce la o creștere a vitezei dispozitivului și, de regulă, reduce costul unui astfel de circuit integrat. Exemple de astfel de microprocesoare pot fi un microcircuit, conceput exclusiv pentru gestionarea telefonului mobil., jetoane de codare hardware și decodare semnale audio și video - așa-numitulprelucrarea semnalelor digitale, multiprocesoare DSP). Poate fi implementat ca un FPGA (circuit logic integrat programabil). Când se dezvoltă astfel de procesori Pentru a descrie funcționalitatea lor utilizează hardware Descriere Limbi (HDL - Hardware d esription l Anguage), cum ar fi verilog și VHDL.

Sistemele bazate pe microprocesoare sunt construite aproximativ după cum urmează.

După cum se poate observa, microprocesorul din acest sistem are multe dispozitive auxiliare, cum ar fi un dispozitiv de stocare constant, RAM, interfață serială, cronometru, porturi I / O etc. Toate aceste dispozitive sunt schimbate de comenzi și date cu un microprocesor prin magistrala de sistem. Toate dispozitivele auxiliare din sistemul de microprocesor sunt externe. Autobuzul de sistem, la rândul său, constă dintr-o anvelopă de autobuz orientată, autobuz de date și autobuz de control.

Acum, să luăm în considerare microcontrolerul.

Ce este un microcontroler

Mai jos este o diagramă bloc a unui microcontroler. Care este principala sa diferență de microprocesor? Toate dispozitivele de referință, cum ar fi un dispozitiv de stocare constantă, RAM, cronometru, interfață serială, porturile I / O sunt încorporate. Prin urmare, nu este nevoie să creați interfețe cu aceste dispozitive auxiliare și economisește mult timp pentru dezvoltatorul de sistem.

Microcontrolerul nu este altceva decât un sistem de microprocesor cu toate dispozitivele de referință integrate într-un chip. Dacă doriți să creați un dispozitiv care interacționează cu memoria externă sau o unitate DAC / ADC, trebuie doar să conectați sursa de alimentare corespunzătoare, lanțul de descărcare și un cristal de cuarț (sursă de frecvență ceas). Ele sunt pur și simplu problematice pentru a se integra într-un cristal semiconductor.

Kernel-ul microcontrolerului (procesorul central) este de obicei construit pe baza arhitecturii RISC.

Programul înregistrat în memoria microcontrolerului poate fi protejat de posibilitatea citirii / scrierii ulterioare, care protejează împotriva utilizării sale neautorizate.

Comparați un microcontroler și microprocesor

Microprocesor Microcontroler
Folosind.Sisteme informaticeSisteme integrate
DispozitivConține un procesor central, registrele de uz general, stivuitoare, contoare de programe, temporizator și lanțuri de întrerupereCircuitul microprocesor conține dispozitivele Embedded Rom, RAM, I / O, cronometrele și contoarele.
Memoria de dateAre multe instrucțiuni pentru mișcarea datelor între memorie și procesor.Are una sau două instrucțiuni pentru mutarea datelor între memorie și procesor.
Lanțuri electriceDificultate înaltăDestul de frumos
CheltuieliCostul întregului sistem creșteCost scăzut al sistemului
Numărul de registreAre mai puține registre, operațiunile sunt produse în principal în memorie.Are un număr mai mare de registre, deci este mai ușor să scriem programe
Dispozitiv de memorie.Bazat pe arhitectura Nymananului. Programul și datele sunt stocate în același modul de memorie.Bazat pe arhitectura Harvard. Programele și datele sunt stocate în module de memorie diferite.
Timpul de accesTimpul de acces la memorie și dispozitivele de intrare / ieșire sunt mai mari.Timp puțin de acces pentru memoria încorporată și dispozitivele I / O.
FierNecesită un număr mai mare de hardware.Necesită o cantitate mai mică de hardware.

Alegerea unui dispozitiv adecvat pe care se va baza noua dvs. dezvoltare nu este ușor. Este necesar să se găsească un echilibru între consumul de preț, performanță și consumul de energie, precum și luarea în considerare a consecințelor pe termen lung ale acestei alegeri. De exemplu, dacă dispozitivul utilizat, fie acesta, este un microcontroler sau microprocesor, va deveni baza unui număr de produse noi.

Care este diferența dintre microprocesor și microcontroler?

În primul rând, să ne uităm la diferența dintre microcontroler (MCU) și microprocesorul (MPU). De obicei, microcontrolerul utilizează memoria flash încorporată în care programul său este stocat și executat. Datorită acestui lucru, microcontrolerul are un timp de pornire foarte scurt și poate executa codul foarte rapid. Singura limitare atunci când utilizați memoria încorporată este volumul său final. Majoritatea microcontrolerelor disponibile pe piață au cantitatea maximă de memorie flash ~ 2 megaocteți. Pentru unele aplicații, acest lucru poate fi un factor critic.

Microprocesoarele nu au restricții asupra dimensiunii memoriei, deoarece utilizează memoria externă pentru a stoca programul și datele. Programul este de obicei stocat în memorie non-volatilă, cum ar fi NAND sau memoria flash secvențială. La pornirea, programul este încărcat în memoria berbecului dinamic extern și apoi executat. Microprocesorul nu este capabil să funcționeze cât mai repede ca un microcontroler, dar cantitatea de memorie operațională și non-volatilă, care poate fi conectată la procesor, poate ajunge la sute și chiar mii de megaocteți.

O altă diferență între microcontroler și microprocesor este sistemul de alimentare. Datorită regulatorului de tensiune încorporat, microcontrolerul necesită o singură valoare de tensiune externă. În timp ce microprocesorul necesită mai multe solicitări diferite pentru kernel, periferie, porturi I / O etc. Despre prezența acestor tensiuni pe tablă ar trebui să aibă grijă de dezvoltator.

Ce să alegeți MPU sau MCU?

Alegerea unui microcontroler sau a microprocesorului este determinată de unele aspecte ale specificației dispozitivului dezvoltat. De exemplu, este necesar un astfel de număr de canale de interfață periferic, care nu pot fi prevăzute cu un microcontroler. Sau cerințele pentru interfața cu utilizatorul nu pot fi executate utilizând un microcontroler, deoarece nu are memorie și viteză. Noțiuni de bază cu prima dezvoltare, știm că produsul poate continua să se schimbe. În acest caz, este posibilă utilizarea unei platforme finalizate ca o soluție mai bună. Deci, vom lua în considerare stocul de capacități de putere și de interfață de calcul pentru modificările viitoare ale dispozitivului.

Un aspect dificil de determinat este viteza necesară pentru performanța viitorului sistem. Puteți cuantifica acest criteriu folosind așa-numita putere de calcul care este măsurată în Mips Dhrystone sau Dmips (Dhrystone este un test de calculatoare sintetice, iar MIPS este numărul de milioane de instrucțiuni pe secundă). De exemplu, microcontrolerul ATMEL SAM4 pe baza kernel-ului brațului Cortex-M4 furnizează 150 de DMIPS, iar microprocesorul de pe kernelul Cortex-A5 al brațului, cum ar fi ATMEL SAM5AD3, poate oferi până la 850 de DMIPS. O modalitate de a evalua DMIP-urile necesare este de a vedea ce productivitate este necesară pentru a începe partea din aplicație. Rulați un sistem de operare cu drepturi depline (Linux, Android sau Windows CE) pentru a lucra aplicația dvs. necesită aproximativ 300 - 400 de DMIPS. Și dacă utilizați pentru aplicația RTOS, atunci numai 50 de DMIPS sunt suficiente. Când utilizați RTOS necesită, de asemenea, mai puțină memorie, deoarece kernelul durează de obicei mai multe kilobytes. Din păcate, un sistem de operare cu drepturi depline necesită o unitate de gestionare a memoriei (MMU) pentru lansarea sa, care, la rândul său, limitează tipul de miezuri de procesor care pot fi utilizate.

Pentru aplicațiile care procesează cantități mari de numere, este necesară o cerere specifică de DMIPS. Cu cât este mai mare aplicația este orientată spre prelucrarea numerică, cu atât este mai mare probabilitatea utilizării microprocesorului.

Discuții serioase necesită interfață cu utilizatorul, indiferent dacă sunt electronice de uz casnic sau industriale. Consumatorii au cunoscut deja utilizarea interfețelor grafice intuitive, iar în industrie, această metodă de interacțiune cu operatorul este tot mai utilizată.

Există mai mulți factori în ceea ce privește interfața cu utilizatorul. În primul rând, este o sarcină suplimentară computațională. Pentru o astfel de bibliotecă de interfață ca un QT, care este utilizat pe scară largă pe Linux`e, va avea nevoie, de asemenea, 80-100 DMIPS. În al doilea rând, aceasta este complexitatea interfeței cu utilizatorul. Cu cât folosiți mai mult animații, efecte și conținuturi multimedia, cu atât rezoluția imaginii este mai mare, performanța și memoria mai mare de care veți avea nevoie. Prin urmare, cel mai probabil microprocesorul este potrivit aici. Pe de altă parte, o interfață simplă de utilizator cu o imagine statică pe un afișaj cu rezoluție redusă poate fi implementată pe un microcontroler.

Un alt argument în favoarea microprocesorului este prezența unui controler LCD încorporat TFT. Microcontrolerele mici au un astfel de modul în compoziția lor. Puteți pune un controler LCD extern al TFT și alți drivere către microcontroler, dar trebuie să țineți cont de costul produsului în cele din urmă.

Pe piață apar acum microcontrolere Flash cu controlere LCD TFT, dar totuși trebuie să existe un număr suficient de memorie RAM încorporată pentru a controla afișajul. De exemplu, un QVGA 320x240 de 16 culori necesită 150 kB de memorie RAM pentru a extrage imaginea și a actualiza afișajul. Aceasta este o cantitate mare de memorie RAM și poate necesita memorie externă, care va afecta, de asemenea, costurile.

Interfețe mai complexe de utilizator grafice, în special cele care utilizează afișaje de mai mult de 4,3 inci, necesită utilizarea microprocesoarelor. Dacă microprocesoarele domină aplicațiile în care interfața cu utilizatorul este utilizată cu un ecran de culoare TFT, atunci microcontrolerele sunt regii de LCD-uri de segment sau punct-matrice și alte ecrane cu o interfață serială.

Din punctul de vedere al comunicărilor, majoritatea microcontrolerelor și microprocesoarelor sunt în compoziția lor cea mai populară. Dar interfețele de mare viteză, cum ar fi porturile Ethernet HS USB 2.0, 10/100 Mbps sau porturile Gigabit Ethernet, de obicei au doar microprocesoare, deoarece sunt mai bine adaptate la prelucrarea unor cantități mari de date. Întrebarea cheie aici este prezența canalelor adecvate și a lățimii de bandă pentru a procesa fluxul de date. Aplicațiile care utilizează conexiuni de mare viteză și orientate spre sistemul de operare necesită utilizarea microprocesoarelor.

Un alt aspect cheie care determină alegerea dintre microcontroler și microprocesor este cerința pentru timpul de reacție determinist al aplicației. Datorită kernel-ului procesorului, memoria flash încorporată și software-ul sub forma RTOS (sistemul de operare al timpului real) sau codurile pure, microcontrolerul va conduce cu siguranță prin acest criteriu.

Partea finală a discuției noastre se va referi la consumul de energie. Deși microprocesorul are moduri cu putere redusă, un microcontroler tipic este mult mai mare. În plus, suportul hardware extern al microprocesorului complică traducerea acesteia în aceste moduri. Consumul real al microcontrolerului este semnificativ mai mic decât microprocesorul. De exemplu, în modul de economisire a energiei cu conservarea registrelor și a memoriei RAM, microcontrolerul poate consuma 10-100 de ori mai puțin.

Concluzie

Alegerea dintre microcontroler și microprocesor depinde de mulți factori, cum ar fi productivitatea, capacitățile și dezvoltarea bugetului.

În general, microcontrolerele sunt de obicei utilizate în soluții optimizate din punct de vedere economic, în care valoarea produsului și economia de energie este importantă. Acestea, de exemplu, sunt utilizate pe scară largă în aplicații cu consum ultra-redus de energie, ceea ce necesită o durată lungă de viață a bateriei. De exemplu, în telecomenzi, consumatori electrici, sisteme de securitate etc. Ele sunt, de asemenea, utilizate în cazul în care există un comportament extrem de determinist al sistemului.

Microprocesoarele sunt de obicei utilizate pentru a crea aplicații funcționale și de înaltă performanță. Acestea sunt ideale pentru aplicații industriale și de consum pe baza sistemelor de operare în care calculele sunt utilizate intens sau este necesară o schimbare de date de mare viteză sau o interfață de utilizator costisitoare.

Și ultimul. Alegeți un furnizor care oferă microcontrolere sau microprocesoare compatibile pentru a putea migra în sus sau în jos, sporind reutilizarea software-ului.

Diferența dintre microprocesoare de la microcontrolere. Și a primit cel mai bun răspuns

Răspuns de la Releboy [Guru]
Microprocesorul este un dispozitiv independent sau primit de procesare a informațiilor cu microelectrice, realizat sub formă de unul sau mai multe circuite integrate mari (de fapt, acesta este un creier microcontroler). Odată cu apariția micro-calculatorului unic, legați începutul erei aplicației în masă a automatizării computerului în domeniul controlului. Aparent, această circumstanță și a determinat termenul "controler" (eng. Controler - controler, dispozitiv de control). În legătură cu recesiunea producției interne și creșterea importului de tehnologie, inclusiv computațională, termenul "microcontroler" (MK) a deplasat termenul "microelectru unic isteric" utilizat anterior de consum. Primul brevet pentru un micro-calculator cu un singur cip a fost emis în 1971 de către inginerii M. Kochen și Bunu, angajați ai instrumentelor americane Texas. Au fost cei care au oferit pe un cristal nu numai procesorul, ci și memoria cu dispozitive I / O. La proiectarea microcontrolerelor, este necesar să se respecte echilibrul dintre dimensiunile și costul pe o parte și flexibilitate și performanță pe cealaltă. Pentru diferite aplicații, raportul optim dintre aceștia și alți parametri poate diferi foarte mult. Prin urmare, există un număr mare de tipuri de microcontrolere care diferă în arhitectura modulului procesor, dimensiunea și tipul de memorie integrat, un set de dispozitive periferice, tipul de carcasă etc., în timp ce procesoarele de uz general de 16 biți Au fost mult timp eliminate pe deplin de modele mai productive, microcontrolerele pe 8 biți continuă să fie utilizate pe scară largă. Acest lucru se explică prin faptul că există un număr mare de aplicații în care nu este necesară performanța ridicată, dar costul scăzut este important. În același timp, există microcontrolere cu capabilități mari de calcul, cum ar fi procesoarele de semnal digital. Astăzi, termenul microcontroler este un computer care controlează dispozitivele periferice în modul automat fără participarea operatorului. Funcționează în mod obișnuit la cele mai scăzute niveluri de automatizare. Computerele personale moderne sunt microcontrolere puternice și de mare viteză care vizează desfășurarea unui număr mare de operațiuni și funcții cu participarea operatorului. Colectați și procesați informații de la controlere. Utilizate la niveluri ridicate de automatizare.

Răspundeți de la Yaerensky.[guru]
după cum știu că microprocesorul este deja interdicția. Un microcanterroller poate fi procesat după cum doriți, în funcție de sarcinile unu și același controler poate controla și lucra pentru a permite indicatorului multi-cifre cu o combinație diferită pentru a genera frecvența pentru a gestiona suitele diferitelor dispozitive chiar și pe controlul RF operația a interfeței (de exemplu, modemul) este de obicei utilizat în dispozitivele multifuncționale relativ nespecifice, în funcție de durata de eliberare funcțională funcțională poate diferi după cum este definit de program


Răspundeți de la Vladimir Nikolaev.[guru]
Microcontrolerul este un computer pe același microcircuit. Conceput pentru a controla diverse dispozitive electronice și implementarea interacțiunii între ele în conformitate cu programul pus în microcontroler. Spre deosebire de microprocesoarele utilizate în computerele personale, microcontrolerele conțin dispozitive suplimentare încorporate. Aceste dispozitive își îndeplinesc sarcinile sub controlul miezului microprocesorului microcontrolerului.

În mod surprinzător, ca o mică parte a tehnologiei a schimbat fața computerelor personale. De la primul microprocesor comercial (4-biți 4004), care a fost dezvoltat de Intel în 1971 pentru o tehnologie Itanium 2, mai avansată și universală, Microprocessor sa mutat într-o sferă complet nouă a arhitecturii de generație următoare. Realizările în domeniul echipamentelor de microprocesor au făcut calcule personale mai rapide și mai fiabile decât oricând înainte. Dacă microprocesorul este inima sistemului informatic, microcontrolerul este creierul. Atât microprocesorul, cât și microcontrolerul sunt adesea folosite în sinonime reciproc datorită faptului că au caracteristici comune și sunt concepute special pentru aplicații în timp real. Cu toate acestea, ei au ponderea lor de diferențe.

Ce este un microprocesor?

Microprocesorul este un cip integrat bazat pe siliciu, care are doar un procesor central. Aceasta este inima unui sistem informatic care are scopul de a efectua o varietate de sarcini asociate cu datele. Microprocesoarele nu au RAM, ROM, contacte IO, cronometre și alte dispozitive periferice pe cip. Acestea trebuie adăugate din exterior pentru a le face funcționale. Se compune din ALU, care procesează toate operațiunile aritmetice și logice; unitatea de control care controlează și controlează fluxul de instrucțiuni din întregul sistem; și înregistrați matricea, care stochează date din memorie pentru acces rapid. Acestea sunt destinate aplicațiilor cu scop general, cum ar fi operațiile logice în sistemul informatic. Pur și simplu puneți, acesta este un procesor complet funcțional pe un singur circuit integrat care este utilizat de un sistem informatic pentru a-și îndeplini activitatea.

Ce este un microcontroler?

Microcontrolerul este similar cu un mini-calculator cu un procesor, precum și cu RAM, ROM, porturi seriale, cronometre și dispozitive i / O periferice construite într-un singur cip. Acesta este conceput pentru a îndeplini sarcini specifice care necesită un anumit grad de control, cum ar fi telecomanda televizorului, panoul cu afișaj LED, ceasul inteligent, vehicule, controlul traficului, controlul temperaturii etc. Acesta este un dispozitiv de înaltă calitate cu un microprocesor, memorie și porturile I / O pe un cip. Acestea sunt creierul unui sistem informatic care conține suficiente scheme pentru a îndeplini anumite funcții fără memorie externă. Deoarece nu există componente externe, consumul de energie este mai mic, ceea ce îl face ideal pentru dispozitivele care rulează pe baterii. O conversație simplă, un microcontroler este un sistem informatic complet cu echipament exterior mai mic.

Diferența dintre microprocesor și microcontroler

1) Tehnologia utilizată în microprocesor și microcontroler

Microprocesorul este un cip de siliciu multifuncțional programabil, care este cea mai importantă componentă din sistemul informatic. Este ca și inima unui sistem informatic constând dintr-o unitate ALU (unitate logică aritmetică), o unitate de control, decodoare de comandă și o serie de registre. Microcontrolerul, pe de altă parte, este inima sistemului încorporat, care este un produs secundar al tehnologiei microprocesorului.

2) arhitectura microprocesorului și microcontrolerului

Microprocesorul este pur și simplu un circuit integrat fără memorie RAM, ROM sau I / O. Practic, acest lucru se referă la procesorul central al sistemului informatic, care îndepărtează, interpretează și execută comenzile transmise. Acesta include funcțiile CPU într-un singur circuit integrat. Microcontrolerele, pe de altă parte, sunt dispozitive mai puternice care conțin o schemă de microprocesor și au RAM, IO și procesor într-un chip.

3) Funcționarea microprocesorului și a microcontrolerului

Pentru microprocesorul, este necesar un autobuz extern pentru a se conecta la dispozitive periferice, cum ar fi RAM, ROM, analog și digital IO, precum și porturile seriale. ALU efectuează toate operațiile aritmetice și logice provenind din memorie sau dispozitive de intrare și efectuează rezultate pe dispozitivele de ieșire. Microcontrolerul este un dispozitiv mic cu toate dispozitivele periferice încorporate într-un singur cip și este conceput pentru a îndeplini anumite sarcini, cum ar fi executarea programelor pentru gestionarea altor dispozitive.

4) Memoria de date în microprocesor și microcontroler

Memoria de date face parte din PIC, care conține registre de funcții speciale și registrele de uz general. Stochează temporar datele și păstrează rezultatele intermediare. Microprocesoarele efectuează mai multe instrucțiuni stocate în memorie și trimit rezultate la ieșire. Microcontrolerele conțin unul sau mai multe procesoare împreună cu memoria RAM și alte dispozitive periferice. CPU extrage instrucțiunile din memorie și efectuează rezultate.

5) Depozitare în microprocesor și microcontroler

Microprocesoarele se bazează pe arhitectura de fundal Nimanan (cunoscută și sub numele de modelul de fundal Neumanna și arhitectura Princeton), în care unitatea de control primește comenzi, atribuind semnale de control hardware și le decodează. Ideea este de a stoca instrucțiunile în memorie împreună cu datele pe care funcționează instrucțiunile. Microcontrolerele, pe de altă parte, se bazează pe arhitectura Harvard, unde instrucțiunile și aceste programe sunt stocate separat.

6) Aplicații microprocesoare și microcontroler

Microprocesoarele sunt un dispozitiv de memorie de masă cu un cip și încorporat în mai multe aplicații, cum ar fi specificațiile de control, controlul traficului, controlul temperaturii, instrumentele de testare, sistemul de monitorizare în timp real și multe altele. Commocontrolerele sunt utilizate în principal în circuitele și dispozitivele electrice și electronice Controlul automat, cum ar fi instrumentele medicale de înaltă calitate, sistemele de control al motorului auto, încărcătoare solare, slot machine, controlul traficului, dispozitivele de control industrial etc.

Microcontroler Microprocesor: tabel comparativ

Rezumat Microprocesor și microcontroler

Distincția cheie dintre acești termeni este prezența dispozitivelor periferice. Spre deosebire de microcontrolere, microprocesoarele nu au memorie încorporată, rom, porturi seriale, cronometre și alte dispozitive periferice care alcătuiesc sistemul. Pentru interacțiunea cu dispozitivele periferice, este necesară o anvelopă externă. Pe de altă parte, microcontrolerul are toate dispozitivele periferice, cum ar fi un procesor, RAM, ROM și IO, construite într-un singur cip. Are o anvelopă de control intern care nu este disponibilă designerului. Deoarece toate componentele sunt ambalate într-un chip, este compact, ceea ce îl face ideal pentru aplicații industriale la scară largă. Microprocesorul este inima sistemului informatic, iar microcontrolerul este creierul.