Atšķirība starp mikrokontrolleru un mikroprocesoru. Par mikrokontrolleriem iesācējiem - vēsture radīšanas, galvenajiem veidiem un atšķirībām arhitektūras FPGA

Altera-ciklons un Arduino

Jautājuma būtība. Atšķirība starp FPGA un mikrokontrolleru

Katrs iesācējs mikroprogers noteiktā attīstības posmā tiek jautāts kā jautājums par to, kas atšķirība starp plis (Altera vai xilinx) un mikrokontrolleris (mikroprocesors)?

Jūs lasāt forumus - biznesa cienītājus rakstīt, ka tās ir pilnīgi atšķirīgas lietas, kuras nevar salīdzināt, apgalvojot, ka viņiem ir atšķirīgs arhitektūra. Jūs lasāt rokasgrāmatu pēc Verilog vai C ++ - un otrs izmantot līdzīgus operatorus ar līdzīgu funkcionalitāti, pat sintakse ir līdzīga, un kāpēc ir atšķirīgi? Jūs dodaties uz vāveri - ir LED (vai pat tikai spuldzes) ar FPGA. Blink, skatīties projektus Arduino - palaist robotus tur. Apstāties!

Bet tagad apstājās un jautājiet sev: kāpēc ar Pli - Stupidly spuldze un Arduino ir gudrs robots? Galu galā, pirmais un otrais, šķiet, ir programmējama ierīce, tiešām Pli Iespējas robots trūkst?

Zināmā mērā jautājuma būtība "Kas atšķirība starp FPGA un mikrokontrolleru? " Precīzi atvērti šajā piemērā.

Ņemiet vērā nekavējoties. Funkcionāls Pli Sākotnēji nav sliktāks mikrokontrolleris(un mikroprocesoru, starp citu, arī), precīzāk, galvenās vienas un otrās funkcijas būtībā ir identiskas - ražot loģiskus 0 vai 1 noteiktos apstākļos, un, ja mēs runājam par ātrumu, secinājumu skaitu (kājas) ) un konveijera iespējas mikrokontrolleris agrāk Plibet kopumā tālu. Bet ir viens "bet". Laiks, lai izstrādātu to pašu programmatūras algoritmu divās dažādās ierīcēs (Plis un mikrokontrolleris) Tas atšķiras reizēm vai pat desmit reizes. Tieši Pli Šeit 99% gadījumu MK ir ļoti zemāka. Un punkts nav valodu problēma Verilog., Vhdl vai Ahdlun pats ierīcē Pli.

Par programmas valodas mijiedarbību ar FPGA un mikrokontrollera arhitektūru

FPGA.: In Pli Un nav sarežģītu automatizētu ķēdes (padarot daļu no darba jums). Ir tikai dzelzs vadu dziesmas un automaģistrāles, ieejas, izejas, loģiskās bloki un atmiņas bloki. Trasēs ir īpaša klase - trase taktingam (saistīts ar noteiktām kājām, caur kuru ir ieteicama pulksteņa frekvence).

Galvenā lieta:

Maršruts - metāls, kas ir mikroshēmu slāņiem, ir elektrības diriģents starp blokiem.

Bloki ir atsevišķas vietas, kas sastāv no šūnām. Bloki kalpo, lai iegaumētu informāciju, reizinātu, pievienotu un loģiskas darbības signālos vispār.

Šūnas - grupas no vairākām vienībām vairākiem desmitiem tranzistoru.

Transistors ir galvenais TTL loģikas elements.

Secinājumi (mikroshēmas kājas) - caur tiem apmaiņu Pli Ar ārpasauli. Ir kājām īpaša nolūks, kas paredzēts programmaparatūrai, saņemšanas pulksteņa frekvencei, jaudai, kā arī kājām, kuru mērķis ir instalēts lietotājs programmā. Un tie parasti ir daudz vairāk nekā tas mikrokontrolleris.

Pulksteņa ģenerators ir ārējs mikroshēma, kas ģenerē pulksteņu impulsus, uz kuriem balstās lielākā daļa darba. Pli.

Flag arhitektūra. Elementu sastāvdaļu attiecības

Takas ir savienotas ar blokiem, izmantojot īpašus CMOS tranzistorus. Šie tranzistori spēj saglabāt savu valsti (atvērts vai slēgts) ilgākā laika posmā. Tranzistora stāvoklis mainās, kad signālu iesniedz konkrēts maršruts, ko izmanto tikai tad, kad plis plānošana. Tie. Programmatūras laikā spriegums tiek veikts kādā CMOS tranzistoru komplektā. Šo kopumu nosaka programmaparatūras programma. Tas notiek sarežģītu būvniecību milzīgu tīkla taku un autoceļu iekšpusē PliSaistošs sarežģīts veids, kā viens otram ir milzīgs skaits loģisku bloku. Programmā jūs aprakstāt, kurš algoritms jāveic, un programmaparatūra savieno priekšmetus, kas veic funkcijas, kuras jūs raksturojat programmā. Signāli darbojas uz šosejas no bloka līdz blokam. Un sarežģītais maršruts tiek dots programmā.


Arhitektūras plis (FPGA)

Arhitektūras mikrokontrolleris

Šajā elementā TTL loģika, visas darbības individuālā trauksmes apstrādei tiek veiktas neatkarīgi no jums. Jūs tikai norādāt, ko darīt ar vienu vai citu saņemto signālu kopumu un kur ražot šos signālus, kas jānosūta. Arhitektūra mikrokontrolleris sastāv no pilnīgi no citiem blokiem nekā Pli. Un komunikācija starp blokiem tiek veikta pastāvīgajos automaģistrālēs (un nevis reflashing). Starp MK blokiem jūs varat piešķirt galveno:

Pastāvīgā atmiņa (ROM) - atmiņa, kurā tiek saglabāta jūsu programma. Tas ietver algoritmus darbībai un konstantēm. Kā arī komandu un algoritmu bibliotēkas (kopas).

RAM (RAM) - izmantotā atmiņa mikrokontrolleris par pagaidu datu glabāšanu (kā aktivizē Pli). Piemēram, aprēķinot vairākas darbības. Pieņemsim, ka jums ir nepieciešams, lai reizinātu pirmo numuru uz otro (1. darbību), tad trešais līdz ceturtajam (2 darbībai) un salocīt rezultātu (3 darbības). Šajā atmiņā tiks ievadīts 1 darbības rezultāts otrā izpildes laikā, tad tiks iesniegts 2 darbības rezultāts. Un tad abi šie rezultāti dosies no RAM, lai aprēķinātu 3 darbības.

Procesors ir kalkulators mikrokontrolleris. Tā sazinās ar RAM, kā arī ar nemainīgu. Ar darbības aprēķinu notiek. No pastāvīga procesora saņem komandas, kas izraisa procesoru veikt noteiktus algoritmus un darbības ar signāliem pie ieejas.

I / O ostas (ostas) un secīgi I / O porti - kājas mikrokontrollerisparedzēts mijiedarboties ar ārpasauli.

Taimeri - bloki, kas paredzēti, lai aprēķinātu ciklu skaitu, veicot algoritmus.

Riepu regulators - bloks, kas kontrolē apmaiņu starp visiem blokiem mikrokontrolleris. Tā apstrādā pieprasījumus, nosūtīt kontroles komandas, organizē un racionalizē komunikāciju kristāla iekšpusē.

Pārtraukšanas kontrolieris ir bloks, kas pieņem pieprasījumus pārtraukt no ārējām ierīcēm. Pieprasījums pārtraukt - signālu no ārējās ierīces, kas informē, ka tas ir jāapmainās ar jebkuru informāciju ar mikrokontrolleris.

Iekšējie autoceļi - maršruti, kas atrodas iekšā mikrokontrolleris Informācijas apmaiņai starp blokiem.

Pulksteņa ģenerators ir ārējs mikroshēma, kas rada pulksteņa impulsus, uz kuriem visi darbs mikrokontrolleris.

Mikrokontrolleru bloku sastāvdaļu attiecības

Iebildums mikrokontrolleris, nošķiršana no PliDarbs notiek starp iepriekš minētajiem blokiem, kam ir komplekss arhitektūraProgrammas izstrādes procesa atvieglošana. Kad programmaparatūra, jūs mainīsiet tikai pastāvīgu atmiņu, kas balstās uz visu MK darbu.


FPGA un mikrokontrollera galvenā atšķirība

FPGA ir izšūta dzelzs līmenī, gandrīz visā kristāla teritorijā. Signāli iet caur sarežģītām tranzistoru ķēdēm. Mikroprocesors tiek sašūts dzelzs programmas līmenī, signāli cauri grupām, no bloka līdz blokam - no atmiņas uz procesoru, uz RAM, no procesora darbības uz procesoru, no procesora uz I / O ostas, no I / O portu uz RAM, no RAM ... un tā tālāk. Secinājums: Sakarā ar arhitektūras plis Uzvaras ātrās un plašākas konveijera iespējas, MK uzvar viegli rakstot algoritmus. Sakarā ar vienkāršāko veidu, kā aprakstīt programmas, fantāzijas attīstītājs Mikrokontrolleris mazāk sekmējot atkļūdošanas un attīstības laiku, un līdz ar to laiks, lai programmētu to pašu robotu uz MK un Pli būs atšķirties Daudzas un daudzas reizes. Tomēr robots strādā Pli Tas būs daudz Shunter, precīzāk un vairāk.

Dzelzs un programma.

Iebildums Pli Visi darbi jāveic manuāli: lai īstenotu jebkuru programmu Pli, jums ir jāseko katra trauksme katrai vadai, kas nāk Pli, lai sakārtotu dažus signālus atmiņas šūnās, rūpējieties par to, ka vēl viens trauksme pagriezās pareizajā brīdī uz šīm šūnām, kuras jūs arī izsekojat vai pat radījāt, un galu galā, patstāvīgas, kas aizturētas atmiņā, bija nepieciešams, kas jums ir vajadzīgs , Piemēram, dosies uz noteiktu izvades kāju un ieslēgsies LED, kas ir savienots ar to. Daļa trauksmes nav atmiņā, bet, piemēram, par noteiktu daļu no algoritma (programma). Tas ir, mikroprocatora valodā šīs kājas ir mērķtiecīgas. Piemēram, mums ir mūsu valde mūsu programmā trīs mērķtiecīgas kājas, lai iekļautu dažus nesaistītus (vai saistītus) ar otru algoritmus, kurus esam ieviesuši verilog Pli. Arī programmā, izņemot trīs adrešu kājas, mums joprojām ir 20 informācijas kājas, kas nāk uz ievades trauksmes (piemēram, no dažādiem sensoriem) ar jebkuru informāciju (piemēram, ūdens temperatūra akvārijā no Ūdens temperatūras sensors akvārijā). 20 kājas \u003d 20 biti. 3 kājas -3 biti. Kad ir norādīts adreses signāls 001 (no trīs kāju adresēm) - mēs sākam pirmo algoritmu, kas raksta 20 informācijas signālus 20 atmiņas šūnās (20 trigeri), tad šādi 20 trauksmes tiek reizināta ar iepriekš iegūto 20, un rezultātu No reizināšanas tiek reģistrēts atmiņā, un pēc tam nosūta rezultātu citām kājām, piemēram, ūdens termostatā akvārijā. Bet mēs pārvietot šo rezultātu tikai tad, ja kods, piemēram, 011 ieradīsies mūsu adrešu kājām un uzsāks lasīt un pārraides algoritmu. Nu, protams, "atsauce", "lasīt" un joprojām reģistrē kaut ko rokasgrāmatā. Mēs pārvadājam katru trauksmi katram pulksteņa darbam Pli Uz noteiktu ceļu, nezaudējiet. Mēs turpinām vai rakstīt. Mēs salocām vai reiziniet. Neaizmirstiet pierakstīt. Neaizmirstiet veikt nākamo signālu un rakstīt uz citiem trigeriem. Pat pievienojiet darbu, kas saistīts ar pulksteņa frekvenci, sinhronizāciju (kas tiek īstenota arī manuāli), neizbēgamas kļūdas attīstības un atkļūdošanas posmos un citu problēmu ķekars, kas šajā rakstā ir vienkārši bezjēdzīgi. Grūti. Garš. Bet pie izejas, tas darbojas super ātri, bez glitches un bremzēm. Dzelzs!

Tagad mikrokontrolleris. 20 kājas uz informācijas saņemšanu - vairumam mikrokontrolleri Fiziski neiespējams uzdevums. Bet 8 vai 16 - jā, lūdzu! 3 Informācija - Easy! Vai programma? Pie 001, reiziniet pirmo numuru otrajam, 011 nosūtiet rezultātu uz termostatu. Viss! Ātri. Viegli. Nav super, bet nekavējoties. Ja ir ļoti kompetenta rakstīt programmu bez glitches un bremzēm. Programmatūra!

Dzelzs un programma! Šeit ir galvenais atšķirība starp FPGA un mikrokontrolleru.

Iebildums mikrokontrolleris Lielākā daļa apdares, bet bieži izmantotie algoritmi jau ir šūtas dzelzs (kristālā). Jums tikai nepieciešams, lai izsauktu vēlamo bibliotēku, kurā šis algoritms tiek saglabāts, zvaniet to pēc nosaukuma, un tas darīs visu netīro darbu jums. No vienas puses, tas ir ērti, tas prasa mazāku skaitu zināšanu par iekšējo ierīci mikroshēmu. Micrick rūpējas par izsekošanu, kas pieņemti, radīti un radušies signāli, par to uzglabāšanu, apstrādi, kavēšanos. Viss padara sevi. Lielākajā daļā mikroprocētāju uzdevumu tas ir tas, kas jums nepieciešams. Bet, ja jūs viegli izmantot visas šīs ērtības, tad rodas nepareiza darba varbūtība. Dzelzs un programma!

Secinājums

Mūsdienu procesors un mikroprocesoru izstrādātāji sākotnēji attīsta savas ierīces Pli. Jā, jā, jūs pareizi uzminēt: vispirms tie atdarina radīto mikrokontrollera arhitektūra Ar programmas izstrādi un programmaparatūru PliUn tad veikto algoritmu veiktspējas ātrumu mēra noteiktā modelētā MK bloku izvietojumā un viena vai cita katra bloka funkcionālā funkcionālā vienošanās.

Saskaņā ar signāla produkcijas īpašībām, \\ t Pli visbiežāk paredzēti 3.3V, 20., Mikrokontrolleris Par 5V, 20mA.

Zem mikrokontrolleris AVR, veiksmīgi iestrādāts Arduino platformā, ir rakstītas dažādas atvērtas programmas, lieliska raķešu komplekts ir izstrādāti sensoru, dzinēju, monitora, un viss, kas ir tikai jūsu pašu! Arduino pašlaik ir vairāk kā spēļu dizainers bērniem un pieaugušajiem. Tomēr neaizmirstiet, ka šī dizainera pamatā ir "gudra māju", modernā patēriņa elektronika, ierīces, automašīnas, lidmašīnas, ieroči un pat kosmosa kuģis. Neapšaubāmi, šāds dizainers būs viena no labākajām dāvanām jebkuram spēcīgas pusei cilvēces pārstāvim.

Principā viss ir vienkāršs!

Vai jums ir jautājumi? Uzraksti komentāru. Mēs atbildēsim un palīdzēsim noskaidrot \u003d)

Darīsimies ar to, ko viņi faktiski atšķiras, un kāda ir šo divu veidu digitālo radio elektronisko ierīču veidu līdzības.

Un mikroprocesors un mikrokontrolleris ir paredzēti, lai veiktu dažas operācijas - tie ekstrakts komandas no atmiņas un izpilda šos norādījumus (kas pārstāv aritmētiskās vai loģiskās operācijas), un rezultātu izmanto, lai uzturētu izejas ierīces. Un mikrokontrolleris un mikroprocesors var nepārtraukti izvēlēties komandas no atmiņas un izpildīt šīs instrukcijas, kamēr ierīce ir darbināta. Instrukcijas ir biti no sevis. Šīs instrukcijas vienmēr tiek iegūtas no to uzglabāšanas vietas, ko sauc par atmiņu.

Kas ir mikroprocesors

Mikroprocesors (angoy valodas literatūrāMPU - Micro procesora vienība ) Satur datoru centra procesora funkcionalitāti vai CPU (CPU - centrālo pārstrādes vienību) vienā pusvadītāju kristālam (IC - integrālajā mikroshēmā vai rietumu veidā - integrētā ķēde).

Būtībā tas ir mikrodatoru, kas tiek izmantots, lai veiktu aritmētiskās un loģiskās operācijas, kontroles sistēmas, uzglabāšanas un citas sistēmas.

Mikroprocesors apstrādā datus no ieejas perifērijas ierīcēm un pārraida pārstrādātus datus izejas perifērijas ierīcēm.

Ir četri galvenie procesori, kas atšķiras savā arhitektūrā.

Mikroprocesori ar pilnu komandu komplektu (komplekss instrukciju komplekts Dators, CISC -Rhitecut). Raksturīgs komanda garuma non-fiksētā vērtība, kodējot aritmētiskās darbības ar vienu komandu, nelielu skaitu reģistru, kas veic stingri definētas funkcijas. Šāda veida procesoru piemērs ir X86 ģimene.

Mikroprocesori ar samazinātu komandu komplektu (samazināts instrukciju komplekts dators, RISC-arhitektūra). Parasti ir Palielināts ātrums rēķina norādījumiem, lai vienkāršotu procesudekodēšana un attiecīgi samazināt to izpildes laiku. Lielākā daļa grafisko procesoru tiek izstrādāti, izmantojot šāda veida arhitektūru.

Mikroprocesori ar minimālu komandu komplektu (minimālais instrukciju komplekts dators, misc -rhitecut). Atšķirībā RISC arhitektūru viņi izmanto garus komandu vārdus, kas ļauj jums veikt diezgan sarežģītas darbības vienai ierīces darbības ciklam. Long "komandu vārdu" veidošanās bija iespējama, palielinot mikroprocesoru ierīču izvadīšanu.

SuperCalar procesoros (superskalāra procesori) un vairāki komandas dekoderi tiek izmantotikas lejupielādē daudzu izpilddirektoru bloku darbu. Plānošana izpildes komandu plūsma notiek dinamiski un veic paša skaitļošanas kodols. Piemērs procesora ar šāda veida arhitektūru, ir, piemēram, Cortex A8.

Atsevišķi es vēlos piešķirt īpašus mērķus mikroprocesorus(ASIC - pieteikums s pecific i ntegrated c ircuit). Šādi no nosaukuma, Paredzēti, lai atrisinātu konkrētu uzdevumu. Atšķirībā no vispārējas nozīmes mikroprocesoriem, piemērojiet konkrētā ierīcē un veiciet noteiktas funkcijas, kas raksturīgas tikai šai ierīcei. Specializācija par šauras funkciju klases ieviešanu noved pie ierīces ātruma palielināšanās un kā likums samazina šādas integrētas ķēdes izmaksas. Šādu mikroprocesoru piemēri var būt mikrošķiedras, kas paredzēti tikai mobilo tālruņu pārvaldībai., aparatūras kodēšanas mikroshēmas un dekodēšanas audio un video signāli - tā sauktodigitālā signālu apstrāde, DSP multiprocesori). Var īstenot kā FPGA (programmējamu loģisku integrētu shēmu). Izstrādājot šādus procesorus Lai aprakstītu to funkcionalitāti, izmantojiet aparatūras aprakstu Valodas (HDL - Hardware D Escription L Anguage), piemēram, verilog un vhdl.

Mikroprocesoru sistēmas ir veidotas aptuveni šādi.

Kā redzams, mikroprocesoram šajā sistēmā ir daudz palīgierīces, piemēram, pastāvīga atmiņas ierīce, RAM, sērijas interfeiss, taimeris, I / O porti utt. Visas šīs ierīces apmainās ar komandām un datiem ar mikroprocesoru caur sistēmas autobusu. Visas mikroprocesoru sistēmas palīgierīces ir ārējās. Savukārt sistēmas autobuss sastāv no mērķtiecīgas autobusu riepas, datu autobusu un kontroles autobusu.

Tagad apsverim mikrokontrolleru.

Kas ir mikrokontrolleris

Zemāk ir mikrokontrollera bloka diagramma. Kāda ir tās galvenā atšķirība no mikroprocesora? Visas atsauces ierīces, piemēram, pastāvīga atmiņas ierīce, RAM, taimeris, sērijas interfeiss, I / O porti ir iebūvēti. Tāpēc nav nepieciešams izveidot saskarnes ar šīm palīgierīcēm, un tas ietaupa daudz laika sistēmas izstrādātājam.

Mikrokontrolleris ir nekas cits kā mikroprocesoru sistēma ar visām atsauces ierīcēm, kas integrētas vienā mikroshēmā. Ja vēlaties izveidot ierīci, kas mijiedarbojas ar ārējo atmiņu vai DAC / ADC vienību, jums ir nepieciešams tikai pievienot atbilstošu barošanas avotu, izlādes ķēdi un kvarca kristālu (pulksteņa frekvences avots). Tie ir vienkārši problemātiski integrēties pusvadītāju kristālos.

Mikrokontrollera (centrālais procesors) kodols parasti ir veidots, pamatojoties uz RISC arhitektūru.

Mikrokontrollera atmiņā ierakstīto programmu var aizsargāt no tās nākamās lasīšanas / rakstīšanas iespējām, kas aizsargā pret tās neatļautu lietošanu.

Salīdziniet mikrokontrolleru un mikroprocesoru

Mikroprocesors Mikrokontrolleris
IzmantotDatoru sistēmasIegultās sistēmas
IerīceSatur centrālo procesoru, vispārējo mērķu reģistrus, kaudzes rādītājus, programmas skaitītājus, taimeri un pārtraukt ķēdesMikroprocesoru ķēde satur iegulto ROM, RAM, I / O ierīces, taimeri un skaitītāji.
Datu atmiņaTai ir daudz instrukcijas datu pārvietošanai starp atmiņu un procesoru.Tai ir viena vai divas instrukcijas datu pārvietošanai starp atmiņu un procesoru.
Elektriskās ķēdesAugstas grūtībasPietiekami jauki
IzdevumiVisa sistēmas izmaksas palielināsZemas sistēmas izmaksas
Reģistru skaitsTam ir mazāk reģistru, operācijas galvenokārt tiek ražotas atmiņā.Ir vairāk reģistru, tāpēc ir vieglāk rakstīt programmas
Atmiņas ierīcePamatojoties uz Nymanāna arhitektūru. Programma un dati tiek saglabāti vienā atmiņas modulī.Pamatojoties uz Hārvardu arhitektūru. Programmas un dati tiek glabāti dažādos atmiņas moduļos.
Piekļuves laiksAtmiņas piekļuves laiks un ievades / izejas ierīces ir lielākas.Little piekļuves laiks iebūvētai atmiņai un I / O ierīcēm.
DzelzsPrasa lielāku skaitu aparatūru.Prasa mazāku aparatūras daudzumu.

Piemērotas ierīces izvēle, uz kuras balstās jūsu jaunā izstrāde, nav viegli. Ir nepieciešams atrast līdzsvaru starp cenu, veiktspēju un enerģijas patēriņu, kā arī ņem vērā šīs izvēles ilgtermiņa sekas. Piemēram, ja izmantotā ierīce ir mikrokontrolleris vai mikroprocesors, kļūs par pamatu vairākiem jauniem produktiem.

Kāda ir atšķirība starp mikroprocesoru un mikrokontrolleru?

Pirmkārt, aplūkosim atšķirību starp mikrokontrolleru (MCU) un mikroprocesoru (MPU). Parasti mikrokontrolleris izmanto iebūvēto zibatmiņu, kurā tās programma tiek saglabāta un izpildīta. Sakarā ar to, mikrokontrolleram ir ļoti īss sākuma laiks un var izpildīt kodu ļoti ātri. Vienīgais ierobežojums, izmantojot iebūvēto atmiņu, ir tā galīgais apjoms. Lielākajā daļā mikrokontrolleru, kas pieejami tirgū, ir maksimālais flash atmiņas daudzums ~ 2 megabaiti. Dažiem lietojumiem tas var būt kritisks faktors.

Mikroprocesoriem nav ierobežojumu par atmiņas lielumu, jo tās izmanto ārējo atmiņu, lai saglabātu programmu un datus. Programma parasti tiek saglabāta ne gaistošu atmiņā, piemēram, NAND vai secīgā flash atmiņā. Sākot, programma tiek ielādēta ārējā dinamiskā RAM un pēc tam izpildīts. Mikroprocesors nespēj darboties tik ātri kā mikrokontrolleris, bet darbības un ne-gaistošo atmiņas apjomu, ko var savienot ar procesoru, var sasniegt simtiem un pat tūkstošiem megabaitu.

Vēl viena atšķirība starp mikrokontrolleru un mikroprocesoru ir elektroenerģijas sistēma. Pateicoties iebūvētajam sprieguma regulatoram, mikrokontrolleram nepieciešama tikai viena ārēja sprieguma vērtība. Lai gan mikroprocesoram ir nepieciešami vairāki dažādi spriegumi kodolam, perifērijai, I / O ostām utt. Par šo spriegumu klātbūtni uz kuģa būtu jārūpējas par attīstītāju.

Ko izvēlēties MPU vai MCU?

Mikrokontrollera vai mikroprocesora izvēli nosaka dažādi izstrādātā ierīces specifikācijas aspekti. Piemēram, ir nepieciešami šādi perifērijas interfeisa kanāli, kurus nevar nodrošināt ar mikrokontrolleru. Vai lietotāja interfeisa prasības nevar izpildīt, izmantojot mikrokontrolleru, jo tam trūkst atmiņas un ātruma. Darba sākšana ar pirmo attīstību, mēs zinām, ka produkts var turpināt mainīt. Šādā gadījumā ir iespējams izmantot kādu gatavo platformu kā labāku risinājumu. Tāpēc mēs ņems vērā skaitļošanas jaudas un interfeisa iespējas nākotnes modifikācijai ierīces.

Viens aspekts, kas ir grūti noteikt, ir ātrums, kas nepieciešams turpmākās sistēmas veikšanai. Jūs varat aprēķināt šo kritēriju, izmantojot tā saukto skaitļošanas jaudu, ko mēra dhrystone MIP vai DMIPS (Dhrystone ir sintētisko datoru tests, un MIP ir miljoniem instrukciju skaits sekundē). Piemēram, Atmel Sam4 mikrokontroller, pamatojoties uz ARM Cortex-M4 kodolu, nodrošina 150 DMIPS, un mikroprocesoru uz ARM Cortex-A5 kodola, piemēram, Atmel Sam5ad3 var nodrošināt līdz 850 DMips. Viens no veidiem, kā novērtēt nepieciešamos DMIPS, ir redzēt, kāda produktivitāte ir nepieciešama, lai sāktu pieteikuma daļu. Palaidiet pilnvērtīgu operētājsistēmu (Linux, Android vai Windows CE), lai strādātu, lai jūsu pieteikumam būtu vajadzīgs aptuveni 300-400 DMips. Un, ja jūs izmantojat RTOS lietojumprogrammai, tad ir pietiekami tikai 50 DMIPS. Lietojot RTO, arī prasa mazāk atmiņas, jo kodols parasti aizņem vairākus kilobaitus. Diemžēl pilnvērtīga operētājsistēma prasa atmiņas pārvaldības vienību (MMU) tās uzsākšanai, kas savukārt ierobežo procesora kodolu veidu, kurus var izmantot.

Pieteikumiem, kas apstrādā lielu skaitu skaitu, ir nepieciešama īpaša DMIPS piegāde. Jo lielāks pieteikums ir orientēts uz skaitlisko apstrādi, jo lielāka varbūtība izmantot mikroprocesoru.

Nopietnās diskusijas prasa lietotāja interfeisu, vai mājsaimniecības vai rūpniecības elektronikas. Patērētāji jau ir pazīstami, lai izmantotu intuitīvas grafiskās saskarnes, un rūpniecībā, šī mijiedarbības metode ar operatoru arvien vairāk izmanto.

Ir vairāki faktori attiecībā uz lietotāja interfeisu. Pirmkārt, tā ir papildu skaitļošanas slodze. Šādai saskarnes bibliotēkai kā QT, kas plaši izmanto Linux, papildus būs nepieciešami 80-100 DMIPS. Otrkārt, tas ir lietotāja interfeisa sarežģītība. Jo vairāk jūs izmantojat animācijas, efektus un multivides saturu, jo lielāku attēlu izšķirtspēju, lielāku veiktspēju un atmiņu, kas jums būs nepieciešama. Tāpēc, visticamāk, mikroprocesors šeit ir piemērots. No otras puses, ir vienkāršs lietotāja interfeiss ar statisku attēlu zema izšķirtspējas displejā var īstenot mikrokontrollerā.

Vēl viens arguments par labu mikroprocesoram ir iebūvēta TFT LCD kontroliera klātbūtne. Maziem mikrokontrolleriem ir tik modulis savā sastāvā. Jūs varat ievietot ārējo TFT LCD kontrolieri un dažus citus draiverus mikrokontrolleram, bet jums ir nepieciešams, lai ņemtu vērā izmaksas produkta beigās.

Tirgū tagad parādās zibspuldzes mikrokontrolleri ar TFT LCD kontrolieriem, bet tomēr ir jābūt pietiekamam skaitam iebūvētu RAM, lai kontrolētu displeju. Piemēram, 16 krāsu QVGA 320x240 prasa 150 kB RAM, lai iegūtu attēlu un atjauninātu displeju. Tas ir diezgan liels RAM daudzums un var prasīt ārējo atmiņu, kas ietekmēs arī izmaksas.

Sarežģītākas grafiskās lietotāja saskarnes, jo īpaši tiem, kas izmanto vairāk nekā 4,3 collu displejus, ir nepieciešama mikroprocesoru izmantošana. Ja mikroprocesori dominē lietojumprogrammas, kurās lietotāja interfeiss tiek izmantots ar krāsu TFT ekrānu, tad mikrokontrolleri ir segmenta vai punkta matricas LCD un citu ekrānu karaļi ar sērijas interfeisu.

No sakaru viedokļa lielākā daļa mikrokontrolleru un mikroprocesoru ir populārākais. Bet ātrgaitas saskarnes, piemēram, HS USB 2.0, 10/100 Mbps Ethernet ostas vai Gigabit Ethernet ostām, parasti ir tikai mikroprocesori, jo tie ir labāk pielāgoti lielu datu apjomu apstrādei. Galvenais jautājums šeit ir piemērotu kanālu un joslas platuma klātbūtne, lai apstrādātu datu plūsmu. Programmas, izmantojot ātrgaitas savienojumus un orientētu operētājsistēmu, ir nepieciešama mikroprocesoru izmantošana.

Vēl viens svarīgs aspekts, kas nosaka izvēli starp mikrokontrolleru un mikroprocesoru, ir prasība par deterministisku reakcijas laiku pieteikumu. Pateicoties procesora kodolam, iebūvētajai zibatmai atmiņai un programmatūrai RTOS formā (reālā laika operētājsistēma) vai tīrie kodi, mikrokontrolleris noteikti novedīs pie šī kritērija.

Mūsu diskusijas pēdējā daļa attieksies uz enerģijas patēriņu. Lai gan mikroprocesoram ir mazjaudas režīmi, tipisks mikrokontrolleris ir daudz lielāks. Turklāt ārējais aparatūras atbalsts mikroprocesoru sarežģī tās tulkojumu šajos režīmos. Mikrokontrollera faktiskais patēriņš ir ievērojami zemāks par mikroprocesoru. Piemēram, enerģijas taupīšanas režīmā, saglabājot reģistru un RAM, mikrokontrolleris var patērēt 10-100 reizes mazāk.

Secinājums

Izvēle starp mikrokontrolleru un mikroprocesoru ir atkarīga no daudziem faktoriem, piemēram, produktivitāti, iespējām un budžeta attīstību.

Vispārīgi runājot, mikrokontrolleri parasti izmanto ekonomiski optimizētos risinājumos, kur ir svarīga produkta un enerģijas taupīšanas vērtība. Tie, piemēram, tiek plaši izmantoti lietojumprogrammās ar ultra zemu enerģijas patēriņu, kas prasa ilgu akumulatora darbības laiku. Piemēram, tālvadības pulti, elektrometri, drošības sistēmas utt. Tos izmanto arī tad, ja ir ļoti deterministiska uzvedība sistēmā.

Mikroprocesori parasti tiek izmantoti, lai izveidotu funkcionālus un augstas veiktspējas pieteikumus. Tie ir ideāli piemēroti rūpnieciskiem un patērētāju lietojumiem, pamatojoties uz operētājsistēmām, kurās tiek intensīvi izmantotas aprēķini vai nepieciešama ātrgaitas datu apmaiņa vai dārga lietotāja interfeiss.

Un pēdējais. Izvēlieties piegādātāju, kas piedāvā saderīgus mikrokontrollerus vai mikroprocesantus, lai varētu migrēt uz augšu vai uz leju, palielinot programmatūras atkārtotu izmantošanu.

Atšķirība starp mikrokontrolleru mikroprocesoriem. Un ieguva labāko atbildi

Atbilde no Releboy [Guru]
Mikroprocesors ir neatkarīga vai ienākoša mikro-datoru informācijas apstrādes ierīce, kas izgatavota viena vai vairāku lielo integrētu shēmu veidā (faktiski, tas ir mikrokontrolleru smadzenes). Ar vienas mikroshēmas mikro-datora atvēršanu saistās ar datora automatizācijas masas piemērošanas laikmeta sākumu kontroles jomā. Acīmredzot, šis apstāklis \u200b\u200bun noteica terminu "kontrolieris" (ENG. Regulators - kontrolieris, vadības ierīce). Saistībā ar iekšzemes ražošanas lejupslīdi un palielinātu tehnoloģiju importu, tostarp skaitļošanas, terminu "mikrokontrolleris" (MK), kas pārvietots iepriekš izmantotais termins "viena histērisks mikro-dators" no patēriņa. Pirmais patents par vienu mikroshēmu mikro-dators tika izdots 1971. gadā inženieri M. KOCHEN un BUNU, darbinieki American Texas Instruments. Tas bija tie, kas piedāvāja vienu kristālu ne tikai procesoru, bet arī atmiņu ar I / O ierīcēm. Projektējot mikrokontrollerus, ir nepieciešams ievērot līdzsvaru starp izmēriem un izmaksām vienā pusē un elastīgumu un veiktspēju, no otras puses. Dažādiem lietojumiem šo un citu parametru optimālā attiecība var būt ļoti atšķirīga. Tāpēc ir liels skaits mikrokontrolleru veidiem, kas atšķiras arhitektūrā procesora moduļa, izmēru un integrētās atmiņas, komplektu perifērijas ierīču, veidu mājokļu, uc, bet 16 bitu vispārējas nozīmes procesori jau sen ir pilnībā izdzēsti ar produktīvākiem modeļiem, 8 bitu mikrokontrolleri joprojām tiek plaši izmantoti. To izskaidro fakts, ka ir liels skaits pieteikumu, kurās nav nepieciešama augsta veiktspēja, bet zemas izmaksas ir svarīgas. Tajā pašā laikā ir mikrokontrolleri ar lielām skaitļošanas iespējām, piemēram, digitālo signālu procesoriem. Šodien termins mikrokontrolleris ir dators, kas kontrolē perifērijas ierīces automātiskajā režīmā bez operatora līdzdalības. Parasti darbojas zemākajā automatizācijas līmeņos. Mūsdienu personālie datori ir spēcīgi un ātrgaitas mikrokontrolleri, kuru mērķis ir veikt milzīgu darbību skaitu un funkcijas, piedaloties operatoram. Savākt un apstrādāt informāciju no kontrolieriem. Izmanto augstā automatizācijas līmenī.

Atbilde no Yaerensky[guru]
kā es zinu, mikroprocesors jau ir aizliegts. Mikrošķiedru var apstrādāt, kā jūs vēlaties, atkarībā no uzdevumiem viens un tas pats kontrolieris var kontrolēt un strādāt, lai ļautu daudzciparu indikatoram ar citu kombināciju, lai radītu biežumu, lai pārvaldītu dažādu ierīču komplektus pat uz RF kontroli operāciju No saskarnes (piemēram, modemu) parasti izmanto salīdzinoši nav dārgas daudzfunkcionālas ierīces atkarībā no atbrīvošanas laika ierīces funkcionālās kalpošanas var atšķirties, kā noteikts programmā


Atbilde no Vladimirs Nikolajevs[guru]
Mikrokontrolleris ir dators tajā pašā mikrocīncūciņā. Paredzēti, lai kontrolētu dažādas elektroniskas ierīces un īstenotu mijiedarbību starp tām saskaņā ar programmu, kas noteikta mikrokontrollerā. Atšķirībā no mikroprocesoriem, ko izmanto personālajos datoros, mikrokontrolleri satur iebūvētās papildu ierīces. Šīs ierīces veic savus uzdevumus, kontrolējot mikrokontrollera mikroprocesoru kodolu.

Pārsteidzoši, tā kā neliela daļa no tehnoloģijas ir mainījusi personālo datoru seju. No pirmā komerciālā mikroprocesora (4 bitu 4004), ko Intel izstrādāja 1971. gadā, lai iegūtu moderāku un universālu 64-bitu Itanium 2, mikroprocesoru tehnoloģiju pārcēlās uz pilnīgi jaunu nākamās paaudzes arhitektūras sfēru. Sasniegumi mikroprocesoru iekārtu jomā veica personiskus aprēķinus ātrāk un uzticamus nekā jebkad agrāk. Ja mikroprocesors ir datorsistēmas sirds, mikrokontrolleris ir smadzenes. Gan mikroprocesors, gan mikrokontrolleris bieži tiek izmantots sinonīmos viens otru sakarā ar to, ka viņiem ir kopīgas iezīmes un ir īpaši paredzētas reāllaika lietojumprogrammām. Tomēr viņiem ir atšķirību daļa.

Kas ir mikroprocesors?

Mikroprocesors ir integrēts silīcija mikroshēma, kurai ir tikai centrālais procesors. Tā ir datorsistēmas sirds, kas paredzēta, lai veiktu dažādus uzdevumus, kas saistīti ar datiem. Mikroprocesoriem nav RAM, ROM, IO kontaktpersonas, taimeri un citas perifērijas ierīces uz mikroshēmas. Tie ir jāpievieno no ārpuses, lai tos funkcionāli. Tas sastāv no ALU, kas apstrādā visas aritmētiskās un loģiskās operācijas; kontroles vienība, kas kontrolē un kontrolē instrukciju plūsmu visā sistēmā; un reģistrēt masīvu, kas saglabā datus no atmiņas ātrai piekļuvei. Tie ir paredzēti vispārējas nozīmes lietojumprogrammām, piemēram, loģikas operācijām datorsistēmā. Vienkārši sakot, tas ir pilnībā funkcionāls procesors vienā integrētā ķēdē, ko izmanto datorsistēma, lai veiktu savu darbu.

Kas ir mikrokontrolleris?

Mikrokontrolleris ir līdzīgs mini datoram ar procesoru, kā arī RAM, ROM, sērijas ostām, taimeri un perifērijas I / O ierīcēm, kas iebūvētas vienā mikroshēmā. Tas ir paredzēts, lai veiktu konkrētus uzdevumus, kas prasa zināmu kontroli, piemēram, televīzijas tālvadības pults, LED displeja panelis, viedais pulkstenis, transportlīdzekļi, satiksmes kontrole, temperatūras kontrole utt. Šī ir augstas kvalitātes ierīce ar mikroprocesoru, atmiņu un i / o porti uz vienas mikroshēmas. Tie ir datorsistēmas smadzenes, kas satur pietiekami daudz shēmas, lai veiktu noteiktas funkcijas bez ārējās atmiņas. Tā kā nav ārējo komponentu, enerģijas patēriņš ir mazāks, kas padara to ideāli piemērotu ierīcēm, kas darbojas uz baterijām. Vienkārša saruna, mikrokontrolleris ir pilnīga datoru sistēma ar mazāku ārējo aprīkojumu.

Atšķirība starp mikroprocesoru un mikrokontrolleru

1) Tehnoloģija, ko izmanto mikroprocesorā un mikrokontrollerā

Mikroprocesors ir programmējams daudzfunkcionāls silīcija mikroshēma, kas ir vissvarīgākais komponents datorsistēmā. Tas ir kā datorsistēmas sirds, kas sastāv no alu (aritmētiskās loģiskās vienības), vadības bloks, komandu dekodētāji un reģistru masīvs. No otras puses, mikrokontrolleris ir iebūvētās sistēmas sirds, kas ir mikroprocesoru tehnoloģijas blakusprodukts.

2) mikroprocesors un mikrokontrollera arhitektūra

Mikroprocesors ir vienkārši integrēta ķēde bez RAM, ROM vai I / O kontaktu. Būtībā tas attiecas uz datora sistēmas centrālo procesoru, kas noņem, interpretē un izpilda tai nosūtītās komandas. Tas ietver CPU funkcijas vienā integrētā ķēdē. Mikrokontrolleri, no otras puses, ir jaudīgākas ierīces, kas satur mikroprocesoru shēmu un ir RAM, IO un procesors vienā mikroshēmā.

3) mikroprocesora un mikrokontrollera darbība

Mikroprocesoram ir nepieciešams izveidot ārējo autobusu, lai izveidotu savienojumu ar perifērijas ierīcēm, piemēram, RAM, ROM, analogo un digitālo IO, kā arī seriālo portu. Alu veic visas aritmētiskās un loģiskās operācijas, kas nāk no atmiņas vai ievades ierīcēm un veic rezultātus par izejas ierīcēm. Mikrokontrolleris ir neliela ierīce ar visām perifērijas ierīcēm, kas iestrādāta vienā mikroshēmā, un tā ir paredzēta, lai veiktu noteiktu uzdevumu, piemēram, izpildes programmas citu ierīču pārvaldībai.

4) Datu atmiņa mikroprocesorā un mikrokontrollerā

Datu atmiņa ir daļa no PIC, kurā ir īpašo funkciju un vispārējo mērķu reģistru reģistri. Tas īslaicīgi saglabā datus un saglabā starpposma rezultātus. Mikroprocesori veic vairākus norādījumus, kas tiek glabāti atmiņā un nosūta rezultātus izejai. Mikrokontrolleri satur vienu vai vairākus procesorus kopā ar RAM un citām perifērijas ierīcēm. CPU izraksta instrukcijas no atmiņas un veic rezultātus.

5) Uzglabāšana mikroprocesorā un mikrokontrollerā

Mikroprocesori ir balstīti uz Nimanānas fona arhitektūru (pazīstams arī kā Neumannas fona modelis un Princeton arhitektūra), kurā vadības ierīce saņem komandas, piešķirot kontroles signālus ar aparatūru un dekodē tos. Ideja ir saglabāt instrukcijas atmiņā kopā ar datiem, par kuriem darbojas instrukcijas. No otras puses, mikrokontrolleri ir balstīti uz Hārvarda arhitektūru, kur norādījumi un šīs programmas tiek uzglabātas atsevišķi.

6) Mikroprocesors un mikrokontrolleru lietojumprogrammas

Mikroprocesori ir masveida atmiņas ierīce ar vienu mikroshēmu un iestrādāts vairākās lietojumprogrammās, piemēram, kontroles specifikācijas, satiksmes kontrole, temperatūras kontrole, testēšanas rīki, reālā laika uzraudzības sistēma un daudz ko citu. Comcontrollers galvenokārt izmanto elektriskās un elektroniskās shēmas un ierīces ar Automātiska kontrole, piemēram, augstas kvalitātes medicīnas instrumenti, automobiļu dzinēju vadības sistēmas, saules lādētāji, spēļu automāts, satiksmes kontrole, rūpniecības vadības ierīces utt.

Mikrokontrollera mikroprocesors: salīdzinošā tabula

Kopsavilkuma mikroprocesors un mikrokontrolleris

Galvenā atšķirība starp šiem noteikumiem ir perifēro ierīču klātbūtne. Atšķirībā no mikrokontrolleriem mikroprocesoriem nav iebūvēta atmiņa, ROM, sērijas ostas, taimeri un citas perifērijas ierīces, kas veido sistēmu. Mijiedarbībai ar perifērijas ierīcēm ir nepieciešama ārēja riepa. No otras puses, mikrokontrolleram ir visas perifērijas ierīces, piemēram, procesors, RAM, ROM un IO, iebūvēts vienā mikroshēmā. Tai ir iekšēja kontroles riepa, kas nav pieejama dizainerim. Tā kā visas sastāvdaļas ir iepakotas vienā mikroshēmā, tas ir kompakts, kas padara to ideāli piemērotu liela mēroga rūpnieciskām lietojumprogrammām. Mikroprocesors ir datorsistēmas sirds, un mikrokontrolleris ir smadzenes.