Multe dispozitive digitale moderne includ un microcontroler și un microprocesor. Ce sunt aceste componente electronice?

Ce este un microcontroler?

Sub microcontroler se înțelege o componentă electronică care conține principalele module hardware necesare pentru îndeplinirea funcțiilor sale. Cum ar fi, de exemplu:

  • cip de calcul;
  • modul ROM;
  • modul RAM;
  • temporizator;
  • poduri;
  • regulator de voltaj;
  • porturi de intrare și ieșire.

Astfel, toate componentele relevante sunt încorporate. Un microcontroler, dacă este instalat într-un computer, interacționează cel mai adesea cu alte module hardware ale unui PC (de exemplu, un hard disk sau RAM) direct și nu folosește module inutile într-un PC, similar ca scop cu cele integrate în dispozitiv.

Deci, datorită modulului încorporat responsabil pentru controlul tensiunii, microcontrolerul nu necesită adaptarea tensiunii externe la caracteristicile sursei de alimentare ale componentelor interne și, în general, nu folosește componente externe pentru a controla nivelul de tensiune.

Microcontrolerele sunt de obicei responsabile pentru o parte a operațiunilor de calcul. De exemplu, dacă sunt pe un computer, acesta poate fi citirea și scrierea datelor, pornirea și oprirea dispozitivelor conectate la computer. Prin urmare, performanța lor este relativ scăzută.

Adesea microcontrolerul este utilizat în dispozitive în care utilizarea microprocesorului nu are prea mult sens din cauza costului său mai mare în majoritatea cazurilor. De exemplu, acesta ar putea fi un cuptor cu microunde, un aparat de aer condiționat sau un dispozitiv conceput pentru udarea automată a plantelor din grădină. Dispozitivele menționate includ, de obicei, cel mai simplu microcontroler în structură.

Ce este un microprocesor?

Sub microprocesor este obișnuit să înțelegem un microcircuit, a cărui componentă principală este un cristal de siliciu sau alt semiconductor. De fapt, este de câteva ori mai puternic decât cel din microcontroler, cipul de calcul. Dar aici se termină asemănările dintre tipurile considerate de componente electronice.

Microprocesoarele, de regulă, nu au multe componente suplimentare (cum ar fi microcontrolerele) și folosesc în principal dispozitive externe pentru a-și îndeplini funcțiile. Acestea pot fi module RAM, regulatoare de tensiune sau surse de alimentare separate, porturi de intrare și ieșire. În principiu, aceste componente au același scop ca în cazul controlerelor, dar externe. Cu toate acestea, la fel ca și cipul de calcul al microprocesorului în sine, în majoritatea cazurilor acestea sunt mai productive decât cele din microcontroler.

Procesorul are puține module interne. De regulă, modelele moderne de componente electronice de acest tip conțin un microcircuit RAM - din acele tipuri de componente care sunt caracteristice designului microcontrolerului. ROM-ul, regulatorul de tensiune, porturile din structura microprocesorului sunt de obicei absente.

Scopul principal al unui microprocesor este operațiile de calcul complexe. Prin urmare, de regulă, are o performanță excelentă și este instalat pe acele dispozitive, a căror funcționalitate o necesită. De exemplu, în console de jocuri, PC-uri, dispozitive mobile.

Comparaţie

Principala diferență între un microcontroler și un microprocesor este că, în prima componentă, sunt încorporate principalele module necesare pentru ca acesta să își îndeplinească funcțiile. La rândul său, microprocesorul folosește dispozitive externe. În același timp, microcontrolerul poate accesa și resursele lor dacă performanța celor încorporate nu este suficientă. Desigur, acest lucru este posibil numai dacă tipul corespunzător de dispozitive externe sunt furnizate în proiectarea dispozitivului în care este utilizat microcontrolerul. Se întâmplă să nu existe în principiu și atunci eficiența dispozitivului depinde de performanța microcontrolerului.

Între cele două componente electronice considerate, de regulă, există o diferență semnificativă în nivelul vitezei de calcul. Un microcontroler în majoritatea cazurilor este mai puțin eficient decât un microprocesor cu un scop similar (dacă, desigur, sunt interschimbabile într-un dispozitiv specific), deoarece este conceput pentru a efectua doar o parte din operațiile de calcul sau cele care au o structură foarte simplă.

După ce am stabilit care este diferența dintre un microcontroler și un microprocesor, vom stabili concluziile din tabel.

Masa

Microcontroler Microprocesor
Ce au in comun?
Un cip de calcul care face parte dintr-un microcontroler poate îndeplini funcții similare cu cele ale unui microprocesor
Care este diferența dintre ele?
Folosește în principal module hardware încorporate pentru a efectua funcțiiFolosește în principal module hardware externe
Are o performanță relativ scăzută, este de obicei responsabil pentru o parte din operațiunile de calcul ale dispozitivului în care este instalatSe caracterizează prin performanțe ridicate și, prin urmare, în dispozitivul în care este instalat, este adesea principalul microcircuit
De multe ori acționează ca o alternativă mai profitabilă la procesor (dacă nu este necesară performanță ridicată de la microcontroler), dar, în principiu, poate fi înlocuită de acestaEste considerat o alternativă mai productivă la controler, dar, de regulă, nu poate fi înlocuit de acesta atunci când își îndeplinește funcțiile - deoarece performanța celui de-al doilea poate să nu fie suficientă

Un microprocesor de obicei nu are pini RAM, ROM și IO. De obicei își folosește pinii ca magistrală pentru a comunica cu dispozitive periferice precum RAM, ROM, porturi seriale, I / O digitale și analogice. Din această cauză, se extinde la nivelul consiliului.

Un microcontroler este all-in-one, procesor, RAM, IO pe un singur cip, deci nu puteți (să zicem) să măriți cantitatea de RAM disponibilă sau numărul de porturi I / O. Autobuzul de control este intern și nu este accesibil proiectantului plăcii.

Aceasta înseamnă că un microprocesor poate fi de obicei încorporat în aplicații de uz general mai mari decât un microcontroler. Microcontrolerul este de obicei utilizat pentru aplicații mai specializate.

Toate acestea sunt afirmații foarte generale. Există jetoane care estompează limitele.

Cu toate acestea, așa cum am menționat, linia devine neclară. De exemplu, procesoarele recente Intel / AMD adaugă un controler de memorie pe cip (anterior era în chipset).

Microprocesorul și microcontrolerul sunt cipuri electronice tipice programabile utilizate pentru o varietate de scopuri. Diferența esențială dintre cele două este că un microprocesor este un mecanism de calcul programabil alcătuit din ALU-uri, CU-uri și registre, utilizat în mod obișnuit ca unitate de procesare (cum ar fi un CPU în computere) care poate efectua calcule și poate lua decizii. Pe de altă parte, un microcontroler este un microprocesor specializat care este considerat un „computer pe un cip” deoarece integrează componente precum un microprocesor, memorie și I / O digitale paralele.

Un microcontroler este conceput în primul rând pentru controlul sarcinilor în timp real, spre deosebire de un microprocesor.

tabel comparativ

Bază pentru comparațieMicroprocesormicrocontroler
principalConstă dintr-un cip de siliciu care conține ALU, CU și registre.Se compune din microprocesor, memorie, port I / O, unitate de control al întreruperii etc.
CaracteristicăUnitate dependentăUnitate autonomă
Porturi I / ONu conține un port I / O încorporatSunt prezente porturi I / O încorporate
Tipul operației efectuateScop general în proiectare și operare.Aplicație sau domeniu orientat.
Țintă pentruPiață de topPiață încorporată
Consum de energieOferă mai puține opțiuni de economisire a energieiInclude mai multe opțiuni de economisire a energiei

Definirea microprocesorului

Microprocesor cu Un microcircuit de siliciu funcționează ca o unitate centrală de procesare (CPU). Poate îndeplini funcții, inclusiv logică și aritmetică, conform instrucțiunilor predefinite specificate de producător. CPU-ul constă dintr-o ALU (unitate aritmetică și logică), un registru și o unitate de control. Un microprocesor poate fi proiectat în moduri diferite, în funcție de setul de instrucțiuni și arhitectura sistemului.

Există două arhitecturi de sistem pentru proiectarea microprocesorului - Harvard și Von Neumann. Procesor de tip Harvard încorporat în autobuze de izolare pentru programe și memorie de date. În schimb, un procesor de arhitectură von Neumann împarte o singură magistrală pentru memoria și datele programului.

Microprocesorul nu este o unitate independentă, depinde de alte unități hardware, cum ar fi memoria, temporizatorul, controlerul de întrerupere etc. Primul microprocesor a fost dezvoltat de Intel în 1971 și a fost denumit Intel 4004.

Definirea microcontrolerului

Microcontroler este o tehnologie dezvoltată după microprocesor pentru a depăși dezavantajele microprocesorului. Microcircuitul microcontrolerului are un grad ridicat de integrare cu procesorul, memoria (RAM și ROM), registrele, blocurile de control al întreruperii și porturile I / O dedicate. Se pare că este un supliment pentru microprocesor. Spre deosebire de un microprocesor, un microcontroler nu depinde de alte blocuri hardware, el conține toate blocurile necesare pentru buna funcționare.

Microcontrolerul este mai valoros decât microprocesorul din câmpul încorporat, deoarece este mai economic și mai ușor disponibil. Primul microcontroler TMS 1000 a fost dezvoltat de Texas Instruments în 1974. Designul de bază al microcontrolerului TI seamănă cu procesorul Intel 4004/4040 (4 biți), în care dezvoltatorii au adăugat suport pentru RAM, ROM, I / O. Un alt avantaj al microcontrolerului este că putem scrie instrucțiuni de utilizare către procesor.

Diferențe cheie între microprocesor și microcontroler

  1. Microprocesorul este format dintr-un cip de siliciu cu o unitate aritmetică-logică (ALU), o unitate de control (CU) și registre. În schimb, un microcontroler include proprietățile unui microprocesor, precum și RAM, ROM, contoare, porturi I / O și așa mai departe.
  2. Un microprocesor necesită un grup de alte microcircuite, cum ar fi temporizatoarele, controlerele de întrerupere și memoria de programe și date, făcându-l dependent. În schimb, microcontrolerul nu necesită alte blocuri hardware, deoarece este deja inclus cu acesta.
  3. Microcontrolerul oferă porturi I / O implicite, în timp ce microprocesorul nu folosește porturile I / O de la bord.
  4. Microprocesorul efectuează operații de uz general. În schimb, microcontrolerul efectuează operații de aplicație.
  5. Microprocesorul se concentrează pe performanță, deci vizează piața high-end. Pe de altă parte, microcontrolerul este orientat spre piața încorporată.
  6. Utilizarea energiei într-un microcontroler este mai bună decât într-un microprocesor.

Concluzie

Un microprocesor poate efectua operațiuni de uz general pentru mai multe sarcini diferite. În schimb, un microcontroler poate efectua sarcini definite de utilizator, unde îndeplinește aceeași sarcină pe tot parcursul ciclului său de viață.

Suntem oarecum confuzi când suntem întrebați despre diferența dintre microprocesoare și microcontrolere. Se pare că sunt la fel, dar nu sunt. Deci, să le discutăm și să analizăm principalele diferențe.

Microcontroler

Este ca un mic computer pe un singur cip. Conține nucleul procesorului, ROM, RAM și porturile I / O, care sunt responsabile pentru îndeplinirea diverselor sarcini. Microcontrolerele sunt utilizate în mod obișnuit în proiecte și aplicații care necesită control direct al utilizatorului. Deoarece are toate componentele necesare într-un singur cip, nu are nevoie de circuite externe pentru a-și face treaba, deoarece microcontrolerele sunt adesea utilizate în sistemele încorporate, iar microcontrolerele principale fabricate de companie își folosesc piața încorporată. Microcontrolerul poate fi numit inima sistemelor încorporate. Câteva exemple de microcontrolere populare: 8051, AVR, seria pic.

Deasupra arhitecturii microcontrolerului 8051. Și puteți vedea toate componentele necesare pentru un proiect mic sunt prezente într-un singur cip.

Un microprocesor are în interior doar un procesor în unul sau mai multe circuite integrate. La fel ca microcontrolerele, acestea nu au RAM, ROM și alte periferice. Acestea depind de circuitele externe ale dispozitivelor periferice pentru a funcționa. Dar microprocesoarele nu sunt create pentru o sarcină specifică, dar sunt necesare acolo unde sarcinile sunt complexe și dificile, cum ar fi dezvoltarea de software, jocuri și alte aplicații care necesită multă memorie și unde intrarea și ieșirea nu sunt definite. Poate fi numită inima unui sistem informatic. Câteva exemple sunt microprocesorul Pentium, i3 și i5 etc.

Din această imagine a arhitecturii microprocesoarelor, puteți vedea cu ușurință că acestea sunt registre și ALU-uri ca dispozitiv de procesare și nu are RAM, ROM în ea.

Deci, care este diferența dintre un microprocesor și un microcontroler?

1. Diferența cheie în acestea este prezența unui dispozitiv periferic extern, în microcontrolere RAM, ROM, EEPROM încorporate în el, în cazul microprocesoarelor, trebuie să folosim circuite externe.

2. Întregul microcontroler periferic este asamblat pe un singur cip, este compact, în timp ce microprocesorul este voluminos.

3. Microcontrolerele sunt fabricate folosind tehnologia complementară a semiconductorilor cu oxid de metal, deci sunt mult mai ieftine decât microprocesoarele. În plus, susține că microcontrolerele sunt mai ieftine, deoarece au nevoie de mai puține componente externe, în timp ce costul general al unui sistem bazat pe microprocesor este ridicat datorită numărului mare de componente externe necesare pentru astfel de dispozitive.

4. Viteza de procesare a microcontrolerelor este de aproximativ 8MHz până la 50MHz, dar spre deosebire de viteza de procesare a microprocesoarelor peste 1GHz, deci funcționează mult mai repede decât microcontrolerele.

5. În general, microcontrolerele au sisteme de economisire a energiei, cum ar fi modul de așteptare sau de economisire a energiei, deci, în general, consumă mai puțină energie și, de asemenea, cu componentele externe utilizează un consum general redus de energie. În timp ce microprocesoarele nu au, de obicei, un sistem de economisire a energiei, iar multe componente externe sunt utilizate împreună cu acesta, consumul său de energie este ridicat în comparație cu microcontrolerele.

6. Microcontrolerele sunt compacte, deci acest parametru le face profitabile și eficiente în sistemele pentru produse și aplicații mici, în timp ce microprocesoarele sunt voluminoase, deci sunt preferate pentru produsele mari.

7. Sarcinile efectuate de microcontroler sunt limitate și în general mai puțin complexe. Deși sarcinile efectuate de microprocesoare sunt: \u200b\u200bDezvoltarea software-ului, dezvoltarea jocurilor, site-urile web, documentele etc., care sunt de obicei mai complexe, de aceea necesită mai multă memorie și viteză, prin urmare, ROM-ul extern, RAM sunt folosite cu acesta.

8. Microcontrolerele se bazează pe arhitectura Harvard a memoriei de program și a memoriei de date, unde sunt amplasate microprocesoare separate și se bazează pe modelul von Neumann, unde programele și datele sunt stocate într-un modul de memorie.

Altera-Ciclon și Arduino

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

Fiecare microproger novice într-o anumită etapă a dezvoltării sale pune întrebarea ce diferența dintre FPGA (de la Altera sau Xilinx) și microcontroler (microprocesor)?

Citiți forumurile - experții scriu că acestea sunt lucruri complet diferite, care nu pot fi comparate, susținând că au diferite arhitectură... Când citiți un manual pe Verilog sau C ++, ambii utilizează operatori similari cu funcționalități similare, chiar și sintaxa este similară, dar de ce sunt diferite? Mergi la rover - acolo cu LED-uri (sau chiar doar becuri) folosind FPGA clipind, uitându-se la proiecte pe Arduino - ei controlează roboții acolo. Stop!

Dar acum să ne oprim și să ne întrebăm: de ce cu FPGA - bec prost și Arduino - robot inteligent? La urma urmei, atât primul, cât și al doilea par a fi un dispozitiv programabil, într-adevăr FPGA Oportunități pentru ca robotul să nu fie suficient?

Într-o oarecare măsură, esența întrebării „Ce diferența dintre FPGA și microcontroler? " este dezvăluit doar de un astfel de exemplu.

Să notăm imediat. Funcţional FPGA inițial nu inferior microcontroler(și, de altfel, microprocesorul), mai precis - funcțiile principale ale unuia și celui de-al doilea sunt în esență identice - pentru a emite 0 sau 1 logic în anumite condiții și, dacă vorbim despre viteză, numărul de pini (picioare) și posibilitățile de conducte, atunci microcontroler inainte de FPGAdar în general departe. Dar există un „dar”. Este timpul să dezvoltați același algoritm software pe două dispozitive diferite (FPGA și microcontroler) diferă de mai multe ori, sau chiar de zeci de ori. Exact FPGA aici în 99% din cazuri este puternic inferior MC. Și nu este deloc despre confuzia limbilor Verilog, VHDL sau AHDL, și în dispozitivul în sine FPGA.

Despre interacțiunea limbajului de programare cu arhitectura FPGA și a microcontrolerului

FPGA: în FPGA și nu există lanțuri automate complexe (care fac o parte din munca dvs. pentru dvs.). Există doar căi de sârmă de fier și autostrăzi, intrări, ieșiri, blocuri logice și blocuri de memorie. Printre urme există o clasă specială - o urmă de ceas (legată de anumiți pini prin care se recomandă efectuarea frecvenței ceasului).

Distribuția principală:

Track - metalul lipit pe straturile microcircuitului este un conductor de electricitate între blocuri.

Blocurile sunt locații individuale pe o placă care sunt alcătuite din celule. Blocurile sunt utilizate pentru stocarea informațiilor, multiplicarea, adunarea și operațiile logice pe semnale în general.

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

Tranzistorul este elementul principal al logicii TTL.

Concluzii (picioare de microcircuit) - prin ele are loc schimbul FPGA cu lumea exterioară. Există picioare speciale destinate firmware-ului, recepției frecvenței ceasului, sursei de alimentare, precum și picioare, al căror scop este stabilit de utilizator în program. Și există, de regulă, mult mai multe decât ele microcontroler.

Generator de ceas - un microcircuit extern care generează impulsurile de ceas pe care se bazează cea mai mare parte a lucrării FPGA.

Arhitectura FPGA. Corelarea elementelor constitutive

Urmele sunt conectate la blocuri folosind tranzistoare CMOS speciale. Acești tranzistori sunt capabili să-și mențină starea (activat sau oprit) pentru o perioadă lungă de timp. Starea tranzistorului se schimbă atunci când un semnal este aplicat de-a lungul unei anumite rute, care este utilizat numai atunci când programare FPGA... Adică, în momentul firmware-ului, se realizează alimentarea cu tensiune a unui anumit set de tranzistoare CMOS. Acest set este determinat de programul de firmware. Astfel, o construcție complexă a unei rețele uriașe de autostrăzi și autostrăzi are loc în interior FPGAconectarea unui număr imens de blocuri logice într-un mod complex. În program, descrieți ce tip de algoritm doriți să efectuați, iar firmware-ul conectează elementele care îndeplinesc funcțiile pe care le descrieți în program. Semnalele rulează de-a lungul pistei de la bloc la bloc. Un traseu complex este stabilit de program.


Arhitectura FPGA (FPGA)

Arhitectura microcontrolerului

În acest element al logicii TTL, toate operațiunile de procesare a semnalizatoarelor individuale sunt efectuate independent de dvs. Indicați numai ce să faceți cu acest sau acel set de semnale primite și unde să trimiteți acele semnale care trebuie transmise. Arhitectură microcontroler constă din blocuri complet diferite de FPGA... Iar legăturile dintre blocuri se realizează prin autostrăzi permanente (și nu reflash). Dintre blocurile MK, se pot distinge principalele:

Memoria numai în citire (ROM) este memoria care stochează programul dvs. Include algoritmi de acțiuni și constante. La fel și bibliotecile (seturile) de comenzi și algoritmi.

Memorie cu acces aleatoriu (RAM) - memoria utilizată microcontroler pentru stocarea temporară a datelor (cum ar fi declanșatoarele în FPGA). De exemplu, atunci când calculați în mai mulți pași. Să presupunem că trebuie să înmulțiți primul număr care a intrat cu a doua (prima acțiune), apoi al treilea cu a patra (a doua acțiune) și să adăugați rezultatul (a 3-a acțiune). În acest caz, rezultatul unei acțiuni va fi introdus în RAM pe durata celei de-a doua, apoi va fi introdus rezultatul a 2 acțiuni. Și apoi ambele rezultate vor merge de la RAM la calculul a 3 acțiuni.

Procesorul este un calculator microcontroler... El comunică cu memoria RAM, precum și cu constanta. Calculele sunt schimbate cu cel operațional. Din constantă, procesorul primește instrucțiuni care îl fac pe procesor să execute anumiți algoritmi și acțiuni cu semnale la intrări.

Facilități I / O (porturi) și porturi I / O seriale - picioare microcontrolerconcepute pentru a interacționa cu lumea exterioară.

Temporizatoarele sunt blocuri concepute pentru a număra numărul de cicluri atunci când rulează algoritmi.

Controler de autobuz - o unitate care controlează schimbul între toate unitățile din microcontroler... El procesează cererile, trimite comenzi de control, organizează și organizează comunicarea în interiorul cristalului.

Controler de întrerupere - un bloc care primește solicitări de întrerupere de la dispozitive externe. O cerere de întrerupere este un semnal de la un dispozitiv extern care informează că trebuie să facă schimb de informații cu acesta microcontroler.

Autostrăzi interne - trasee așezate în interior microcontroler pentru schimbul de informații între blocuri.

Generator de ceas - un microcircuit extern care generează impulsurile de ceas pe care toate operarea microcontrolerului.

Relația blocurilor constitutive ale microcontrolerului

ÎN microcontroler, în diferențe din FPGA, munca are loc între blocurile de mai sus, care au un complex arhitecturăfacilitarea procesului de dezvoltare a programelor. Când clipiți, schimbați doar memoria permanentă, pe care se bazează toată munca MK.


Principala diferență între FPGA și microcontroler

FPGA este cusut la nivelul fierului, practic pe întreaga zonă cristalină. Semnalele se deplasează prin lanțuri complexe de tranzistoare. Microprocesorul este intermitent la nivel de program pentru hardware, semnalele trec în grupuri, de la bloc la bloc - de la memorie la procesor, la RAM, de la RAM la procesor, de la procesor la porturi I / O, de la porturi I / O la RAM, de la RAM ... și așa mai departe. Concluzie: datorată arhitectura FPGA câștigă în viteză și posibilități mai largi de procesare a conductelor, MK câștigă în ușurința de a scrie algoritmi. Datorită modului mai simplu de descriere a programelor, imaginația dezvoltatorului Microcontroler mai puțin constrâns de timp pentru depanare și dezvoltare și, astfel, timp pentru programarea aceluiași robot pe MK și FPGA va fi diferă de foarte multe ori. Cu toate acestea, un robot lucrează la FPGA va fi mult mai rapid, mai precis și mai agil.

Hardware și software.

ÎN FPGA toată munca trebuie făcută de unul singur, manual: pentru a implementa orice program pe FPGA, trebuie să urmăriți fiecare semnalizator pentru fiecare cablare care vine FPGA, plasați câteva semnale de semnalizare în celulele de memorie, asigurați-vă că la momentul potrivit un alt dispozitiv de semnalizare, pe care îl urmăriți sau chiar îl generați, se întoarce către aceste celule de memorie și, ca rezultat, un set de semnale întârziate în memorie va activa semnalul de semnalizare de care aveți nevoie, care, de exemplu, va merge la un anumit picior de ieșire și va aprinde LED-ul care este conectat la acesta. Unele dintre semnalizatoare nu merg în memorie, dar de exemplu pentru a lansa o anumită parte a algoritmului (programului). Adică, vorbind limba unui microproger, aceste picioare sunt vizate. De exemplu, avem trei pini de adresă pe placa noastră din programul nostru pentru a permite niște algoritmi neafiliați (sau înrudiți) pe care i-am implementat în limbajul Verilog în FPGA... De asemenea, în program, pe lângă trei picioare de adresă, avem, de exemplu, 20 de picioare de informații, prin care vine un set de semnale de intrare (de exemplu, de la senzori diferiți) cu orice informație (de exemplu, temperatura apei din acvariu de la senzorul de temperatură a apei din acvariu). 20 de picioare \u003d 20 de biți. 3 picioare -3 biți. Când vine semnalul de adresă 001 (din trei picioare de adresă), lansăm primul algoritm, care scrie 20 de semnale de informații în 20 de celule de memorie (20 de declanșatoare), apoi următoarele 20 de semnale sunt înmulțite cu cele 20 primite mai devreme, iar rezultatul înmulțirii este scris în memorie, iar apoi trimitem pe alte picioare, de exemplu, în termostatul de apă din acvariu. Dar vom trimite acest rezultat numai atunci când un cod, de exemplu 011, vine la picioarele adresei noastre și pornește algoritmul de citire și transmisie. Ei bine, desigur, „trimitem”, „citim” și scriem altceva manual. Realizăm fiecare semnal în fiecare ciclu de lucru FPGA pe o anumită cale, nu pierdem. Procesăm sau scriem. Adăugăm sau înmulțim. Nu uitați să o scrieți. Nu uitați să primiți următorul semnal și să scrieți altor declanșatoare. Adăugați aici și lucrarea legată de frecvența ceasului, sincronizarea (care este implementată și manual), erori inevitabile în timpul etapelor de dezvoltare și depanare și o grămadă de alte probleme care sunt pur și simplu inutile de luat în considerare în acest articol. Dificil. Lung. Dar, pe de altă parte, funcționează foarte eficient la ieșire, fără erori și frâne. Fier!

Acum microcontroler... 20 de picioare pentru primirea informațiilor - pentru majoritatea microcontrolere sarcină imposibilă fizic. Dar 8 sau 16 - da, vă rog! 3 informativ - ușor! Program? La adresa 001, înmulțiți primul număr primit cu al doilea, la adresa 011 trimiteți rezultatul la termostat. Toate! Rapid. Uşor. Nu grozav, dar prompt. Dacă scrieți un program foarte competent, fără erori și frâne. Programatic!

Hardware și program! Iată principalul lucru diferența dintre FPGA și microcontroler.

ÎN microcontroler majoritatea algoritmilor confuzi, dar des folosiți, sunt deja încorporați în fier (în cristal). Trebuie doar să apelați programat biblioteca necesară în care este stocat acest algoritm, să o apelați după nume și va face toate lucrurile murdare pentru dvs. Pe de o parte, este convenabil și necesită mai puține cunoștințe despre structura internă a microcircuitului. Mikrik se ocupă de urmărirea semnalelor primite, generate și rezultate, stocarea, procesarea, întârzierea acestora. El face totul singur. În majoritatea sarcinilor microproger, de asta aveți nevoie. Dar dacă toate aceste facilități sunt folosite analfabet, atunci există posibilitatea unei lucrări incorecte. Hardware și program!

Concluzie

Dezvoltatorii moderni de procesoare și microprocesoare își dezvoltă inițial dispozitivele pentru FPGA... Da, ghiciți corect: mai întâi ei imită creatul arhitectura microcontrolerului prin dezvoltarea și activarea programului FPGA, și apoi măsurați viteza de execuție a algoritmilor la o anumită locație a blocurilor MC simulate și un set particular de funcționalitate a fiecărui bloc separat.

În funcție de caracteristicile semnalului de ieșire, FPGA cel mai adesea conceput pentru 3,3V, 20mA, Microcontroler la 5V, 20mA.

Sub microcontroler AVR, implementat cu succes în platforma Arduino, au fost scrise o mulțime de programe deschise, multe gadgeturi au fost dezvoltate sub formă de senzori, motoare, monitoare și tot ceea ce dorește inima ta! Arduino seamănă mai mult cu un set de construcții pentru copii și adulți. Cu toate acestea, nu uitați că nucleul acestui designer controlează „casele inteligente”, electronice moderne de consum, electrocasnice, mașini, avioane, arme și chiar nave spațiale. Fără îndoială, un astfel de constructor va fi unul dintre cele mai bune cadouri pentru orice reprezentant al jumătății puternice a umanității.

În principiu, totul este simplu!

Mai aveți întrebări? Scrie un comentariu. Vă vom răspunde și vă vom ajuta să vă dați seama \u003d)