Izbira med mikroprocesorjem (MPU) in mikrokrmilnikom (MCU) je osnovna sistemska izbira. Oba imata procesor, vendar sta zasnovana za različne naloge. MPU-ji se osredotočajo na visoko zmogljivost in pogosto zahtevajo dodatni pomnilnik ter podporne čipe. MCU-ji združujejo procesor, pomnilnik in skupni vhodno/izhodni sistem v en sam čip za krmilne naloge in nizko porabo energije. Ta članek jasno razčlenjuje podrobnosti.

Kaj so mikroprocesorji in mikrokrmilniki?
Mikroprocesor je čip, ki deluje izključno za CPU, ki izvaja obdelavo podatkov in izvaja ukaze, vendar je za delovanje odvisen od zunanjega pomnilnika in vhodnih/izhodnih naprav. Pogosto se uporablja v kompleksnih sistemih, ki zahtevajo veliko računalniške moči, velik pomnilnik in operacijske sisteme, kot je Linux.
Mikrokrmilnik pa nasprotno združuje procesor, pomnilnik, vhodno/izhodne priključke, časovnike in pogosto analogne funkcije v en sam čip. Ta samostojna zasnova ga naredi idealnega za namenske krmilne naloge, delovanje v realnem času in nizko porabo energije.
Na kratko, mikroprocesorji so zasnovani za zmogljivost in prilagodljivo širitev sistemov, medtem ko so mikrokrmilniki zasnovani za kompaktne, učinkovite vgrajene krmilne aplikacije.
Mikroprocesor proti mikrokrmilniku: notranja arhitektura

Arhitektura mikrokontrolerjev
Mikrokrmilnik ima glavne potrebne dele vgrajene v en čip, kot so:
• CPU jedro
• Vgrajen Flash pomnilnik za programe
• Vgrajen SRAM za podatke
• GPIO pini, časovniki, ADC, UART, SPI in I²C
• Krmilnik prekinitev
Arhitektura mikroprocesorjev
Mikroprocesor se bolj osredotoča na močno obdelavo in tesno sodeluje z zunanjimi deli. Vključuje:
• CPU jedro, včasih z več kot enim jedrom
• Več ravni predpomnilnika
• Zunanji krmilnik pomnilnika
Sistemske komponente za sistem, ki temelji na mikroprocesorju
Sistem, zgrajen okoli mikroprocesorja, potrebuje dodatne čipe, kot so:
• Zunanji DRAM za glavni pomnilnik
• Zunanja nehlapna shramba
• IC za upravljanje moči
• Dodatna podporna vezja
Arhitektura pomnilnika in obnašanje zagona
Način, kako je pomnilnik razporejen, vpliva na to, kako se sistem zažene in deluje. Večina mikrokrmilnikov bere in izvaja kodo neposredno iz notranjega Flasha. To omogoča hiter zagon in bolj neposredno pot od ponastavitve do zagona programa.
Mikroprocesorji začnejo z nalaganjem kode iz zunanjega pomnilnika preko enega ali več zagonskih nalagalnikov. Po tem aplikacije poganjajo iz zunanjega DRAM-a. To zagotavlja veliko več pomnilnika in naprednejšo programsko opremo, hkrati pa doda več korakov med zagonom.
Modeli arhitekture ukazov in podatkov
Veliko mikrokrmilnikov sledi zasnovi v slogu Harvarda, ki ločuje poti ukazov in podatkov. Veliko mikroprocesorjev uporablja enoten pomnilniški model, kjer ukazi in podatki delijo isti pomnilniški prostor.
Zmogljivost in vedenje: mikroprocesor proti mikrokrmilniku

Mikrokrmilniki (MCU) so zelo primerni za naloge, kot so:
• Motorični nadzor
• Vzorčenje senzorjev
• Sistemi krmiljenja v zaprti zanki
• Obravnava prekinitev z nizko zakasnitvijo
• Neprekinjena vgrajena logika
Mikroprocesorji (MPU) so bolje prilagojeni nalogam, kot so:
• Kompleksna aplikacijska programska oprema
• Multimedijska obdelava
• Obravnava velikih podatkov
• Grafični uporabniški vmesniki
• Omrežne platforme
Kompleksnost načrtovanja električne energije in sistemov

Mikrokrmilski sistemi
Mikrokrmilniki so enostavnejši in porabijo manj energije. Pogosto delujejo na eni ali več napetostnih tirnicah in podpirajo globoke načine spanja z zelo nizkim tokom v pripravljenosti. Zaporedje moči je enostavno, kar pomaga, da je zasnova moči lažja za upravljanje.
Mikroprocesorski sistemi
Mikroprocesorski sistemi so bolj zapleteni in imajo večjo moč. Pogosto uporabljajo več napetostnih domen za jedro, pomnilnik in vhodno/izhodno omrežje ter morajo napajati zunanji DRAM. IC za upravljanje moči pomaga usklajevati te tirnice, plošča pa mora podpirati nadzorovano usmerjanje impedance za hitre pomnilniške signale.
Stroški sistema
Skupni stroški sistema presegajo stroške procesorja. Mikrokrmilniki lahko znižajo stroške z zmanjšanjem števila zunanjih pomnilniških delov, števila plasti na tiskanih vezjih, logike lepljenja in napajalnih vezij. Mikroprocesorji pogosto zahtevajo zunanji DRAM, zunanji Flash, PMIC in bolj zapleteno postavitev tiskanih vezij, kar lahko poveča stroške sistema.
Programski modeli v mikroprocesorjih in mikrokrmilnikih
| Vidik | MCU programska oprema | MPU programska oprema |
|---|---|---|
| Glavna vrsta programske opreme | MCU-ji poganjajo bare-metal firmware ali dejanski operacijski sistem (RTOS). | MPU-ji poganjajo celotne operacijske sisteme, kot so Linux, Android ali podobne platforme. |
| Obnašanje zagona | Ta nastavitev omogoča hiter zagon in kratko pot od ponastavitve do zagona glavne kode. | Zagon traja dlje, ker mora sistem naložiti operacijski sistem pred aplikacijami. |
| Dostop do strojne opreme | Vdelana programska oprema lahko neposredno nadzoruje strojno opremo s preprostimi, predvidljivimi potmi. | Operacijski sistem upravlja strojno opremo, programi pa do nje dostopajo prek storitev OS. |
| Uporaba virov | Programska oprema je napisana tako, da ustreza strogim omejitvam pomnilnika in procesorske moči. | Več pomnilnika in procesorske rezerve podpira večje programe in bolj kompleksne funkcije. |
| Vgrajene funkcije | Ta model podpira hiter zagon, neposreden nadzor strojne opreme in skrbno uporabo virov. | Ta model omogoča datotečne sisteme, omrežne okvire, aplikacijske plasti in bogate vmesnike. |
Periferne naprave, povezljivost in razlike v vhodno-izhodnih sistemih

MCU I/O in povezljivost
• Pogosto vključujejo mešane signalne bloke, kot so ADC, DAC, primerjalniki, PWM enote in osnovni operacijski ojačevalci.
• Zagotavljanje standardnih nizkohitrostnih digitalnih vmesnikov, kot so I²C, SPI, UART, CAN in LIN.
• Vključuje osnovno podporo USB in dejanske vhodno-izhodne pine za neposredno krmiljenje ravni pinov.
MPU I/O in povezljivost
• Osredotočanje na visokohitrostne vmesnike, vključno z zunanjimi DRAM vodili in hitrimi USB-ji.
• Podpora naprednim sistemskim povezavam, kot so PCIe, Gigabit Ethernet in hitrim zaslonskim ali kamernim vmesnikom, kot je MIPI.
• Zanašajo se na zunanje čipe za večino analognih funkcij in številne specializirane vhodno-izhodne funkcije.
Varnost, zaščita in zanesljivost v MCU in MPU
Mikrokrmilniki pogosto vključujejo vgrajene varnostne bloke, kot so varni zagon, zaščita pred branjem kode, kriptografski pospeševalniki in zaupanja vreden pomnilnik. Te funkcije pomagajo preprečevati manipulacije vdelane programske opreme in ščitijo občutljive informacije, shranjene na napravi.
Mikroprocesorji nudijo naprednejšo zaščito, vključno z varnimi verigami zagona, zaupanja vrednimi izvrševalnimi okolji, močno zaščito pomnilnika in v nekaterih primerih virtualizacijo. Te funkcije podpirajo varno ravnanje z operacijskimi sistemi in aplikacijskimi podatki.
Potrebne so tudi varnostne in zanesljivostne funkcije, kot so watchdog časovniki, pomnilnik za popravljanje napak in varnostno ocenjene družine naprav. V mnogih projektih so varnost, varnost in dolgoročna zanesljivost lahko prav tako pomembni kot zmogljivost, porabo energije ali pomnilnik pri izbiri med MCU in MPU.
Hitra primerjalna tabela: MPU proti MCU
| Sistemska zahteva | Priporočena arhitektura | Zakaj ustreza |
|---|---|---|
| Dolga življenjska doba baterije | MCU | Optimizirano za načine nizke porabe energije in delovanje v spanju |
| Deterministično časovno usklajevanje | MCU | Lažje vzdrževanje natančnega, realnočasovnega nadzora |
| Preprost vgrajeni krmilnik | MCU | Združuje CPU, pomnilnik in periferne naprave v enem čipu |
| Velik pomnilnik (več sto MB) | MPU | Podpira zunanji RAM in velike pomnilniške prostore |
| Bogat uporabniški vmesnik ali multimedija | MPU | Bolj primeren za grafično obdelavo in medijske naloge |
| Razširljiva računalniška platforma | MPU | Lažje je razširiti z naprednim operacijskim sistemom in dodatnimi funkcijami |
| Potrebna podpora za Linux | MPU | Zasnovano za poganjanje polnih operacijskih sistemov |
| Strogo upravljanje v realnem času | MCU | Bolj predvidljiv čas prekinitve in izvajanja |
| Na baterije z dolgimi obdobji spanja | MCU | Nižja poraba v stanju pripravljenosti in aktivne energije |
| Težka omrežja in večplastni programski skladi | MPU | Višja procesorska moč in pomnilniški viri |
| Majhna tiskana vezja in preprosta strojna zasnova | MCU | Zmanjša zunanje komponente in zapletenost usmerjanja |
| Pričakuje se prihodnja razširitev funkcij | MPU | Podpira kompleksno rast programske opreme in nadgradnje strojne opreme |
Zaključek
Mikrokrmilniki in mikroprocesorji ustrezajo različnim potrebam. MCU-ji so najboljši, kadar je treba časovno usklajevanje predvidljivi, poraba energije nizka, strojna oprema pa kompaktna in enostavna. MPU-ji bolje delujejo za večji pomnilnik, zahtevno procesiranje, celotne operacijske sisteme, multimedijo in kompleksna omrežja. Razlike vključujejo način zagona, uporabo pomnilnika, katere periferne naprave podpirajo, koliko energije porabljajo, kako kompleksna postaja plošča in katere varnostne funkcije so na voljo. Te točke ločijo nadzor v slogu MCU od računalništva v slogu MPU.
Pogosta vprašanja [FAQ]
Q1. Katera je boljša za dejanski nadzor: MCU ali MPU?
MCU. MCU-ji omogočajo bolj predvidljivo časovno usklajevanje in hitrejši, bolj konsistenten odziv prekinitev kot MPU-ji, ki poganjajo celotne operacijske sisteme.
Q2. Ali lahko MPU nadomesti MCU?
Včasih. Lahko opravi svoje delo, vendar običajno zahteva zunanji pomnilnik, porabi več energije, stane več in doda kompleksnost zasnove.
Q3. Katera orodja se uporabljajo za programiranje MCU-jev v primerjavi z MPU-ji?
MCU-ji: vgrajeni IDE + C/C++ orodjarna + JTAG/SWD razhroščevalnik. MPU-ji: cross-compiler + namestitev zagonskega nalagalnika + Linux/Android jedro in gonilniki.
Q4. Ali MPU-ji potrebujejo več hlajenja kot MCU-ji?
Da. MPU-ji delujejo bolj vroče in morda potrebujejo hladilnik ali boljšo toplotno obliko tiskanih vezij; MCU-ji pogosto ne.
Q5. Ali je višja frekvenca glavni razlog, da so MPU-ji hitrejši?
Ne. MPU-ji so hitrejši predvsem zaradi predpomnilnikov, večje pasovne širine pomnilnika in večjedrnih/naprednih CPU funkcij, ne le zaradi frekvence takta.
Q6. Katera ima boljšo dolgoročno razpoložljivost za industrijske izdelke?
MCU-ji. MCU-ji imajo daljši življenjski cikel izdelka in daljšo dobavo kot mnoge MPU platforme.