Pasirinkimas tarp mikroprocesoriaus (MPU) ir mikrovaldiklio (MCU) yra pagrindinis sistemos pasirinkimas. Abu turi procesorių, tačiau jie sukurti skirtingiems darbams. MPU daugiausia dėmesio skiria dideliam našumui ir dažnai reikalauja papildomos atminties bei palaikymo lustų. MCU sujungia procesorių, atmintį ir bendrą įvesties / išvesties į vieną lustą, skirtą valdymo užduotims ir mažai galios. Šiame straipsnyje aiškiai suskirstytos detalės.

Kas yra mikroprocesoriai ir mikrovaldikliai?
Mikroprocesorius yra tik procesoriaus lustas, kuris apdoroja duomenis ir vykdo instrukcijas, tačiau priklauso nuo išorinės atminties ir įvesties / išvesties įrenginių. Jis dažniausiai naudojamas sudėtingose sistemose, kurioms reikalinga didelė skaičiavimo galia, didelė atmintis ir operacinės sistemos, tokios kaip Linux.
Mikrovaldiklis, priešingai, integruoja procesorių, atmintį, įvesties / išvesties prievadus, laikmačius ir dažnai analogines funkcijas į vieną lustą. Dėl šios autonominės konstrukcijos jis idealiai tinka specialioms valdymo užduotims, veikimui realiuoju laiku ir mažoms energijos sąnaudoms.
Trumpai tariant, mikroprocesoriai yra sukurti našumui ir lanksčiam sistemos išplėtimui, o mikrovaldikliai yra skirti kompaktiškoms, efektyvioms įterptųjų valdymo programoms.
Mikroprocesorius ir mikrovaldiklis: vidinė architektūra

Mikrovaldiklio architektūra
Mikrovaldiklis turi pagrindines jam reikalingas dalis, įmontuotas į vieną lustą, pavyzdžiui:
• Procesoriaus branduolys
• Integruota "Flash" atmintis programoms
• Integruota SRAM duomenims
• GPIO kaiščiai, laikmačiai, ADC, UART, SPI ir I²C
• Pertraukimo valdiklis
Mikroprocesoriaus architektūra
Mikroprocesorius daugiau dėmesio skiria stipriam apdorojimui ir glaudžiai bendradarbiauja su išorinėmis dalimis. Tai apima:
• CPU branduolys, kartais su daugiau nei vienu branduoliu
• Keli talpyklos atminties lygiai
• Išorinis atminties valdiklis
Mikroprocesoriaus sistemos komponentai
Sistemai, sukurtai aplink mikroprocesorių, reikia papildomų lustų, tokių kaip:
• Išorinė DRAM pagrindinei atminčiai
• Išorinė nepastovi saugykla
• Maitinimo valdymo IC
• Papildoma palaikymo grandinė
Atminties architektūra ir įkrovos elgesys
Atminties išdėstymas turi įtakos sistemos paleidimui ir veikimui. Dauguma mikrovaldiklių nuskaito ir paleidžia kodą tiesiai iš vidinės "Flash". Tai leidžia greitai paleisti ir tiesesnį kelią nuo atstatymo iki programos paleidimo.
Mikroprocesoriai pradeda įkelti kodą iš išorinės atminties per vieną ar kelis įkrovos įrenginius. Po to jie paleidžia programas iš išorinės DRAM. Tai suteikia daug daugiau atminties ir pažangesnės programinės įrangos, tačiau taip pat prideda daugiau veiksmų paleidimo metu.
Instrukcijų ir duomenų architektūros modeliai
Daugelis mikrovaldiklių vadovaujasi Harvardo stiliaus dizainu, atskirdami instrukcijų ir duomenų kelius. Daugelis mikroprocesorių naudoja vieningą atminties modelį, kuriame instrukcijos ir duomenys turi tą pačią atminties vietą.
Našumas ir elgesys: mikroprocesorius ir mikrovaldiklis

Mikrovaldikliai (MCU) puikiai tinka tokioms užduotims kaip:
• Variklio valdymas
• Jutiklio mėginių ėmimas
• Uždaro ciklo valdymo sistemos
• Mažos delsos pertraukimo valdymas
• Nuolatinė įterptoji logika
Mikroprocesoriai (MPU) geriau tinka tokioms užduotims kaip:
• Sudėtinga taikomoji programinė įranga
• Multimedijos apdorojimas
• Didelių duomenų tvarkymas
• Grafinės vartotojo sąsajos
• Tinklų platformos
Maitinimo ir sistemos projektavimo sudėtingumas

Mikrovaldiklių sistemos
Mikrovaldiklių sistemos yra paprastesnės ir sunaudoja mažiau energijos. Jie dažnai veikia iš vieno ar kelių įtampos bėgių ir palaiko gilaus miego režimus su labai maža budėjimo srove. Maitinimo seka yra paprasta, todėl lengviau valdyti maitinimo dizainą.
Mikroprocesorių sistemos
Mikroprocesorių sistemos yra sudėtingesnės ir turi didesnę galią. Jie dažnai naudoja kelis įtampos domenus šerdžiai, atminčiai ir I/O ir turi tiekti maitinimą išorinei DRAM. Galios valdymo IC padeda koordinuoti šiuos bėgius, o plokštė turi palaikyti kontroliuojamą varžos nukreipimą didelės spartos atminties signalams.
Sistemos išlaidų aspektai
Bendra sistemos kaina viršija procesoriaus kainą. Mikrovaldikliai gali sumažinti išlaidas sumažindami išorinių atminties dalių skaičių, PCB sluoksnių skaičių, klijų logiką ir maitinimo grandines. Mikroprocesoriams dažnai reikalinga išorinė DRAM, išorinė "Flash", PMIC ir sudėtingesnis PCB išdėstymas, o tai gali padidinti sistemos kainą.
Mikroprocesorių ir mikrovaldiklių programinės įrangos modeliai
| Aspektas | MCU programinės įrangos modelis | MPU programinės įrangos modelis |
|---|---|---|
| Pagrindinis programinės įrangos tipas | MCU veikia pliko metalo programinė įranga arba tikra operacinė sistema (RTOS). | MPU veikia visos operacinės sistemos, tokios kaip Linux, Android ar panašios platformos. |
| Įkrovos elgesys | Ši sąranka suteikia greitą įkrovą ir trumpą kelią nuo atstatymo iki pagrindinio kodo paleidimo. | Įkrova užtrunka ilgiau, nes sistema turi įkelti operacinę sistemą prieš programas. |
| Prieiga prie aparatūros | Programinė įranga gali tiesiogiai valdyti aparatinę įrangą paprastais, nuspėjamais keliais. | Operacinė sistema valdo aparatinę įrangą, o programos ją pasiekia per OS paslaugas. |
| Išteklių naudojimas | Programinė įranga parašyta taip, kad atitiktų griežtus atminties ir apdorojimo galios apribojimus. | Daugiau atminties ir procesoriaus erdvės palaiko didesnes programas ir sudėtingesnes funkcijas. |
| Integruotos funkcijos | Šis modelis palaiko greitą paleidimą, tiesioginį aparatinės įrangos valdymą ir kruopštų išteklių naudojimą. | Šis modelis įgalina failų sistemas, tinklo sistemas, programų sluoksnius ir turtingas sąsajas. |
Periferinių įrenginių, ryšio ir įvesties / išvesties skirtumai

MCU I/O ir ryšys
• Dažnai apima mišrių signalų blokus, tokius kaip ADC, DAC, komparatoriai, PWM įrenginiai ir pagrindiniai operaciniai stiprintuvai.
• Pateikite standartines mažos spartos skaitmenines sąsajas, tokias kaip I²C, SPI, UART, CAN ir LIN.
• Įtraukite pagrindinį USB palaikymą ir tikrus įvesties / išvesties kaiščius, kad galėtumėte tiesiogiai valdyti kontaktų lygį.
MPU I/O ir ryšys
• Sutelkite dėmesį į didelės spartos sąsajas, įskaitant išorines DRAM magistrales ir didelės spartos USB.
• Palaikykite pažangias sistemos jungtis, tokias kaip PCIe, Gigabit Ethernet, ir didelės spartos ekrano ar fotoaparato sąsajas, pvz., MIPI.
• Pasikliaukite išoriniais lustais daugeliui analoginių funkcijų ir daugeliui specializuotų įvesties / išvesties funkcijų.
MCU ir MPU saugumas, sauga ir patikimumas
Mikrovaldikliuose dažnai yra įmontuoti saugos blokai, tokie kaip saugus įkrovimas, kodo nuskaitymo apsauga, kriptografiniai greitintuvai ir patikima saugykla. Šios funkcijos padeda išvengti programinės įrangos klastojimo ir apsaugoti įrenginyje saugomą slaptą informaciją.
Mikroprocesoriai užtikrina pažangesnę apsaugą, įskaitant saugias įkrovos grandines, patikimą vykdymo aplinką, stiprią atminties apsaugą ir kai kuriais atvejais virtualizaciją. Šios funkcijos palaiko saugų operacinių sistemų ir programų duomenų tvarkymą.
Taip pat reikalingos saugos ir patikimumo funkcijos, tokios kaip stebėjimo laikmačiai, klaidų taisymo atmintis ir saugos įvertintos įrenginių šeimos. Daugelyje projektų saugumas, sauga ir ilgalaikis patikimumas gali būti tokie pat svarbūs kaip našumas, galia ar atmintis renkantis MCU ir MPU.
Greita palyginimo lentelė: MPU ir MCU
| Sistemos reikalavimas | Rekomenduojama architektūra | Kodėl jis tinka |
|---|---|---|
| Ilgas baterijos veikimo laikas | MCU | Optimizuotas mažos galios režimams ir miego režimui |
| Deterministinis laikas | MCU | Lengviau išlaikyti tikslų valdymą realiuoju laiku |
| Paprastas įterptasis valdiklis | MCU | Integruoja procesorių, atmintį ir periferinius įrenginius viename luste |
| Didelė atmintis (šimtai MB ar daugiau) | MPU | Palaiko išorinę RAM ir dideles atminties vietas |
| Turtinga vartotojo sąsaja arba daugialypė terpė | MPU | Geriau tinka grafikos apdorojimui ir medijos užduotims |
| Išplečiama skaičiavimo platforma | MPU | Lengviau išplėsti naudojant pažangią OS ir papildomas funkcijas |
| Reikalingas "Linux" palaikymas | MPU | Sukurta paleisti visas operacines sistemas |
| Griežtas valdymas realiuoju laiku | MCU | Labiau nuspėjamas pertraukimo ir vykdymo laikas |
| Maitinamas baterijomis ir ilgas miego laikotarpis | MCU | Mažesnės budėjimo ir aktyviosios energijos sąnaudos |
| Sunkus tinklas ir daugiasluoksniai programinės įrangos rietuvės | MPU | Didesnė apdorojimo galia ir atminties ištekliai |
| Maža PCB ir paprastas aparatūros dizainas | MCU | Sumažina išorinių komponentų ir maršruto parinkimo sudėtingumą |
| Tikimasi būsimo funkcijų išplėtimo | MPU | Palaiko sudėtingą programinės įrangos plėtrą ir aparatinės įrangos atnaujinimus |
Išvada
Mikrovaldikliai ir mikroprocesoriai atitinka skirtingus poreikius. MCU yra geriausi, kai laikas turi būti nuspėjamas, energijos suvartojimas turi išlikti mažas, o aparatinė įranga turi būti kompaktiška ir paprasta. MPU geriau veikia didesnei atminčiai, sunkiam apdorojimui, ištisoms operacinėms sistemoms, daugialypės terpės ir sudėtingiems tinklams. Skirtumai apima tai, kaip jie paleidžiami, kaip jie naudoja atmintį, kokius periferinius įrenginius jie palaiko, kiek energijos jie sunaudoja, kaip sudėtinga plokštė tampa ir kokios saugos funkcijos yra prieinamos. Šie punktai atskiria MCU stiliaus valdymą nuo MPU stiliaus skaičiavimo.
Dažnai užduodami klausimai [DUK]
1 klausimas. Kuris iš jų yra geresnis faktiniam valdymui: MCU ar MPU?
MCU. MCU suteikia labiau nuspėjamą laiką ir greitesnį, nuoseklesnį atsaką į pertraukimą nei MPU, kuriuose veikia visos operacinės sistemos.
2 klausimas. Ar MPU gali pakeisti MCU?
Kartais. Jis gali atlikti darbą, tačiau paprastai jam reikia išorinės atminties, sunaudoja daugiau energijos, kainuoja daugiau ir padidina dizaino sudėtingumą.
3 klausimas. Kokie įrankiai naudojami programuojant MCU ir MPU?
MCU: įterptasis IDE + C/C++ įrankių grandinė + JTAG/SWD derintuvas. MPU: kryžminis kompiliatorius + įkrovos įkroviklio sąranka + Linux/Android branduolys ir tvarkyklės.
4 klausimas. Ar MPU reikia daugiau aušinimo nei MCU?
Taip. MPU veikia karštiau ir gali prireikti radiatoriaus arba geresnės šiluminės PCB konstrukcijos; MCU dažnai to nedaro.
5 klausimas. Ar didesnis laikrodžio dažnis yra pagrindinė priežastis, kodėl MPU yra greitesni?
Ne. MPU yra greitesni daugiausia dėl talpyklų, didesnio atminties pralaidumo ir kelių branduolių / pažangių procesoriaus funkcijų, o ne tik laikrodžio greičio.
6 klausimas. Kuris turi geresnį ilgalaikį pramonės produktų prieinamumą?
MCU. MCU turi ilgesnį produkto gyvavimo ciklą ir ilgesnį tiekimą nei daugelis MPU platformų.