Intel 8742, 8 MGts da ishlaydigan CPU, 12 bayt RAM12 MHz, 128 bytesbaytEPROM2048 bytesbir xil chipdagi 2048 bitli mikrokontrollerdan olingan
Ikkita ATmega mikrokontroller
**Mikrokontroller** (**mikrokontroller birligi** uchun *MCU*)-bu bitta metall oksidi-yarimo'tkazgich (MOS) vlsi integral mikrosxemasi (IC) chipidagi kichik kompyuter. Mikrokontroller bir yoki bir nechtasini o'z ichiga oladi CPU (protsessor yadrolari) xotira va dasturlashtiriladigan kirish/chiqish tashqi qurilmalari bilan birga. Ferroelektrik operativ xotira shaklida dastur xotira, na flash yoki OTP ROM ham tez-tez yonga kiritilgan, RAM, shuningdek, bir kichik miqdori. Mikrokontrollerlar ishlatilgan mikroprotsessorlardan farqli o'laroq, o'rnatilgan dasturlar uchun mo'ljallangan shaxsiy kompyuterlar yoki turli xil diskret chiplardan iborat boshqa umumiy maqsadli dasturlar.

Zamonaviy terminologiyada mikrokontroller chipdagi tizimga (SoC) o'xshash, ammo unchalik murakkab emas. SoC tashqi mikrokontroller chiplarini anakart komponentlari sifatida ulashi mumkin, ammo SoC odatda rivojlangan tashqi qurilmalarni birlashtiradi grafik ishlov berish birligi (GPU) va simsiz interfeys tekshiruvi uning ichki mikrokontroller birligi davrlari sifatida.

Mikrokontrollerlar - bu qurilmalarda, implantlarda, masofadan boshqarishda, ofislarda, uskunalarda, elektr jihozlarida, avtomatik o'chirgichlarda va boshqa qurilmalarda avtomobil dvigatellari kabi avtomatik boshqariladigan qurilmalar va qurilmalar. Alohida mikroprotsessor, xotira va kirish / chiqish dizayni bilan mikrokontrollerlar hajmi va narxini kamaytirish orqali ko'proq uskunalar va jarayonni boshqarishni tejaydi. Raqamli bo'lmagan elektron qurilmalar uchun zarur bo'lgan analog komponentlarni birlashtirgan aralash signal mikrokontrollerlari keng tarqalgan. Narsalar Interneti kontekstida mikrokontrollerlar ma'lumotlarni to'plash, sezish va jismoniy dunyoni yo'ldan uzoqlashtirish uchun iqtisodiy va mashhur vositadir.

Ba'zi mikrokontrollerlar to'rt bitli so'zlardan foydalanishi va kam 4 kHz uchun 4 kHz gacha bo'lgan chastotalarda ishlashi mumkin (bitta raqamli millivat yoki mikroto'lqinli pechlar). Ular, odatda, tugmachani bosish yoki boshqa uzilish kabi hodisani kutish paytida funksionallikni saqlab qolish qobiliyatiga ega; uxlash paytida quvvat sarfi (CPU soati va aksariyat tashqi qurilmalar o'chirilgan) shunchaki nanovatt bo'lishi mumkin, bu ularning aksariyatini batareyaning uzoq muddatli dasturlari uchun juda mos keladi. Boshqa mikrokontrollerlar ishlash uchun muhim rollarga xizmat qilishi mumkin, bu erda ular ko'proq raqamli signal protsessori (DSP) kabi harakat qilishlari kerak, soat tezligi va quvvat sarfi yuqori.

Tarix
-----

### Orqa fon

Birinchi ko'p chipli mikroprotsessorlar, to'rt fazali tizimlar AL1 1969-yilda va Garrett AiResearch MP944 1970-yilda bir nechta MOS LSI chiplari bilan ishlab chiqilgan. Birinchi bitta chipli mikroprotsessor bu edi Intel 4004, bitta MOS lsi chipida 1971-yilda chiqarilgan. U tomonidan ishlab chiqilgan Federiko Faggin, uning yordamida kremniy darvozasi mos texnologiyasi, Intel muhandislari bilan birga Marcian Hoff va Sten Mazorva Busicom muhandis Masatoshi Shima. Undan keyin 4-bit Intel 4040, 8-bit Intel 8008 va 8-bit Intel 8080. Ushbu protsessorlarning barchasi ishchi tizimni, shu jumladan xotira va periferik interfeys chiplarini amalga oshirish uchun bir nechta tashqi chiplarni talab qildi. Natijada, tizimning umumiy qiymati bir necha yuz (1970-yillar AQSh) dollarni tashkil etdi va bu kichik jihozlarni iqtisodiy jihatdan Kompyuterlashtirishni imkonsiz qildi.

MOS Technology uning sub-$100 mikroprotsessorlar joriy 1975, the 6501 va 6502. Ularning asosiy maqsadi ushbu xarajat to'sig'ini kamaytirish edi, ammo bu mikroprotsessorlar hali ham tashqi qo'llab-quvvatlash, xotira va periferik chiplarni talab qilar edi, bu esa tizimning umumiy narxini yuzlab dollarlarda ushlab turardi.

### Rivojlanish

Bitta kitobda ti muhandislari Gari Boone va Maykl Kokran 1971-yilda birinchi mikrokontrollerning muvaffaqiyatli yaratilishi bilan. Ularning ishlarining natijasi TMS 1000 edi, u 1974-yilda savdo sifatida mavjud bo'ldi. U bitta chipda faqat o'qish uchun mo'ljallangan xotira, o'qish/yozish xotirasi, protsessor va soatni birlashtirdi va o'rnatilgan tizimlarga yo'naltirilgan edi.

1970-yillarning boshidan o'rtalariga qadar Yapon elektronika ishlab chiqaruvchilari avtomobillar uchun mikrokontrollerlar, shu jumladan avtomobil ichidagi o'yin-kulgi uchun 4-bitli MCU, avtomatik o'chirgichlar, elektron qulflar va asboblar paneli va dvigatelni boshqarish uchun 8-bitli MCU ishlab chiqarishni boshladilar.

Qisman bitta chip mavjudligiga javoban TMS 1000, Intel boshqaruv dasturlari uchun optimallashtirilgan chipda kompyuter tizimini ishlab chiqdi Intel 8048, tijorat qismlari birinchi marta 1977-yilda etkazib berilishi bilan. U RAM va Romni bir xil chipda mikroprotsessor bilan birlashtirdi. Ko'plab dasturlar orasida ushbu chip oxir-oqibat bir milliarddan ortiq kompyuter klaviaturalariga yo'l topadi. O'sha paytda Intel Prezidenti Luqo J. Valenter mikrokontroller kompaniya tarixidagi eng muvaffaqiyatli mahsulotlardan biri ekanligini aytdi va u mikrokontroller bo'limining byudjetini 25% dan ko'proq kengaytirdi.

Ayni paytda aksariyat mikrokontrollerlar bir vaqtda variantlarga ega edi. Ulardan birida EPROM dasturi xotirasi bor edi, shaffof kvarts oynasi paketning qopqog'ida uni ultrabinafsha nurlar ta'sirida o'chirishga imkon beradi. Ushbu o'chiriladigan chiplar ko'pincha prototiplash uchun ishlatilgan. Boshqa variant niqob dasturlashtirilgan ROM yoki faqat bir marta dasturlashtiriladigan balo varianti edi. Ikkinchisi uchun ba'zida "bir martalik dasturlashtiriladigan"uchun otp belgisi ishlatilgan. OTP mikrokontrollerida PROM odatda EPROM bilan bir xil turdagi edi, ammo chip paketida kvarts oynasi yo'q edi; chunki epromni ultrabinafsha nurlariga ta'sir qilishning iloji yo'q edi, uni o'chirib bo'lmaydi. O'chiriladigan versiyalar kvarts oynalari bo'lgan keramika paketlarini talab qilganligi sababli, ular otp versiyalariga qaraganda ancha qimmatroq edi, ular arzonroq shaffof bo'lmagan plastik paketlarda tayyorlanishi mumkin edi. O'chiriladigan variantlar uchun kvarts shaffofligi uchun arzonroq shisha o'rniga talab qilingan ultrabinafsha nur—bu shisha asosan shaffof emas—lekin asosiy xarajatlarni farqlovchi keramika paketining o'zi edi.

1993-yilda EEPROM xotirasining kiritilishi ruxsat berdi mikrokontrollerlar (bilan boshlanadi Microchip PIC16C84)EPROM uchun talab qilinganidek qimmat paketsiz tezda elektr bilan o'chirilishi, tezkor prototiplarni yaratishga ham, tizim ichidagi dasturlashga ham imkon beradi. (EEPROM texnologiyasi shu vaqtgacha mavjud edi, ammo avvalgi EEPROM qimmatroq va kamroq bardoshli bo'lib, uni arzon narxlardagi ommaviy ishlab chiqarilgan mikrokontrollerlar uchun yaroqsiz holga keltirdi.) Xuddi shu yili Atmel yordamida birinchi mikrokontrollerni taqdim etdi flesh xotira, eepromning maxsus turi. Boshqa kompaniyalar tezda ikkala xotira turiga ham ergashdilar.

Hozirgi kunda mikrokontrollerlar arzon va havaskorlar uchun osonlikcha mavjud bo'lib, ma'lum protsessorlar atrofida katta onlayn jamoalar mavjud.

### Hajmi va narxi

2002-yilda dunyoda sotilgan barcha protsessorlarning taxminan 55% 8 bitli mikrokontrollerlar va mikroprotsessorlar edi.

Ikki milliarddan ortiq 8-bitli mikrokontrollerlar 1997-yilda sotilgan, va Semiko ma'lumotlariga ko'ra, to'rt milliarddan ortiq 8-bitli mikrokontrollerlar 2006-yilda sotilgan. Yaqinda, Semico MCU bozor o'sdi da'vo qildi 36.5% ichida 2010 va 12% ichida 2011.

Rivojlangan mamlakatda odatdagi uyda faqat to'rtta umumiy maqsadli mikroprotsessorlar bo'lishi mumkin, ammo uch o'nlab mikrokontrollerlar mavjud. Odatda o'rta masofali avtomobilda 30 ga yaqin mikrokontrollerlar mavjud. Ularni kir yuvish mashinalari, mikroto'lqinli pechlar va telefonlar kabi ko'plab elektr qurilmalarida topish mumkin.

Ishlab chiqarish narxi birlik uchun $0.10 ostida bo'lishi mumkin.

Vaqt o'tishi bilan xarajatlar pasayib ketdi, eng arzon 8-bitli mikrokontrollerlar 0.03 USD ostida mavjud va shunga o'xshash miqdorlar uchun ba'zi 32-bitli mikrokontrollerlar 1 AQSh dollari atrofida.

2012-yilda global inqirozdan so'ng—har yili eng yomon sotuvlar pasayishi va tiklanishi va o'rtacha sotish narxi yildan-yilga 17% ga tushib ketishi-1980—yillardan beri eng katta pasayish-mikrokontroller uchun o'rtacha narx 0,88 AQSh dollarini tashkil etdi (0,69 AQSh dollari). 4-/8- bit, $ 0.59 uchun 16-bit, 1.76-bit uchun $32).

2012-yilda 8-bitli mikrokontrollerlarning butun dunyo bo'ylab savdosi 4 milliard dollar atrofida edi, 4-bitli mikrokontrollerlar ham sezilarli sotuvlarni ko'rdilar.

2015-yilda 8-bitli mikrokontrollerlar $0.311 (1,000 dona), 16-bit uchun $0.385 (1,000 dona) va 32-bit uchun $0.378 (1,000 dona, lekin 0.35 uchun $5,000 da) sotib olish mumkin edi.

2018-yilda 8-bitli mikrokontrollerlarni $0.03 uchun sotib olish mumkin, 16-bit $0.393 uchun (1,000 dona, lekin 0.563 uchun $100 yoki 0.349 uchun $2,000), va 32-bit $0.503 uchun (1,000 dona, lekin $da0.466 uchun 5,000). Past narxdagi 32-bit mikrokontroller, bir dona, $0.891 uchun bo'lishi mumkin.

2018-yilda 2015-yildan boshlab yuqoridagi past narxdagi mikrokontrollerlarning barchasi qimmatroq (inflyatsiya ushbu birliklar uchun 2018-yildan 2015-yilgacha hisoblangan narxlar bilan): 8-bitli mikrokontrollerni 0,319 dollarga (1000 dona) yoki 2,6% ga sotib olish mumkin, uchun 16-bitli $0.464 (1,000 birliklari) yoki 21% yuqori, va 32-bit bir $0.503 uchun (1,000 birliklari, lekin $0.466 uchun 5,000) yoki 33% yuqori.

18 pinli TQFP paketidagi PIC 8720F80 mikrokontroller
### Eng kichik kompyuter

21-iyun 2018 da Michigan universiteti tomonidan "dunyodagi eng kichik kompyuter" e'lon qilindi. Qurilma "0.04mm3 16nt simsiz va batareyasiz sensorli tizim bo'lib, Cortex-M0+ protsessori va uyali haroratni o'lchash uchun optik aloqa o'rnatilgan." U "guruch donasi bilan mitti tomonga atigi 0,3 mm o'lchaydi. [...] RAM va fotoelektrlardan tashqari, yangi hisoblash qurilmalarida protsessorlar va simsiz uzatgichlar va qabul qiluvchilar mavjud. Ular an'anaviy radio antennalarga ega bo'lish uchun juda kichik bo'lgani uchun, ular ko'rinadigan yorug'lik bilan ma'lumotlarni qabul qiladi va uzatadi. Asosiy stantsiya quvvat va dasturlash uchun yorug'likni ta'minlaydi va u ma'lumotlarni oladi." Qurilma 1 / 10 mart oyida qaytib oy IBM ilgari da'vo jahon-rekord o'lchamli kompyuter hajmi 2018, qaysi "tuz don kichikroq"deb, bir million tranzistorlar bor, ishlab chiqarish uchun kam $0.10 turadi, va, bilan birga blockchain texnologiyasi logistika va"kripto-langarlar" uchun mo'ljallangan—raqamli barmoq izlari ilovalari.

O'rnatilgan dizayn
------------------

Mikrokontroller protsessor, xotira va tashqi qurilmalarga ega bo'lgan mustaqil tizim deb hisoblanishi mumkin va o'rnatilgan tizim sifatida ishlatilishi mumkin. Bugungi kunda ishlatilayotgan mikrokontrollerlarning aksariyati boshqa mashinalarga, masalan, avtomobillar, telefonlar, maishiy texnika va kompyuter tizimlari uchun tashqi qurilmalarga joylashtirilgan.

Ba'zi o'rnatilgan tizimlar juda murakkab bo'lsa-da, ko'pchilik xotira va dastur uzunligiga minimal talablarga ega, operatsion tizimsiz va dasturiy ta'minotning murakkabligi past. Odatda kirish va chiqish qurilmalariga kalitlar, o'rni, solenoidlar, LED, kichik yoki maxsus suyuq kristalli displeylar, radiochastota qurilmalari va harorat, namlik, yorug'lik darajasi va boshqalar kabi ma'lumotlar uchun sensorlar kiradi. O'rnatilgan tizimlarda odatda klaviatura, ekran, disklar, printerlar yoki boshqa taniqli I/u qurilmalari mavjud emas shaxsiy kompyuterva etishmasligi mumkin insonning o'zaro ta'siri har qanday turdagi qurilmalar.

### Uzulishlar

Mikrokontrollerlar o'zlari boshqaradigan o'rnatilgan tizimdagi hodisalarga real vaqt rejimida javob berishlari kerak (baxsh qilingan bo'lsa ham, tez emas). Muayyan hodisalar sodir bo'lganda, uzilish tizimi protsessorga joriy ko'rsatmalar ketma-ketligini qayta ishlashni to'xtatish va asl ko'rsatmalar bo'lgan uzilishlarga xizmat ko'rsatish protsedurasini (ISR yoki "uzilishni qayta ishlash") boshlash haqida signal berishi mumkin. ketma-ketlikka qaytishdan oldin uzilish manbasiga asoslangan har qanday ishlov berishni amalga oshiradi. Mumkin bo'lgan uzilish manbalari qurilmaga bog'liq bo'lib, ko'pincha ichki overclocking, analogdan raqamli konvertatsiyani yakunlash, tugmani bosish va aloqa havolasidan olingan ma'lumotlar kabi kirishdagi mantiqiy darajani o'zgartirish kabi hodisalarni o'z ichiga oladi. Quvvat iste'moli muhim bo'lgan hollarda, batareya qurilmalarida bo'lgani kabi, uzilishlar mikrokontrollerni kam quvvatli uyqu holatidan uyg'otishi mumkin, bu erda protsessor periferik hodisa bilan biror narsa qilish kerak bo'lgunga qadar to'xtatiladi.

### Dasturlar

Odatda mikro-boshqaruvchi dasturlar mavjud chipdagi xotiraga mos kelishi kerak, chunki tizimni tashqi, kengaytiriladigan xotira bilan ta'minlash qimmatga tushadi. Kompilyatorlar va montajchilar yuqori darajadagi va montaj til kodlarini mikro-kontroller xotirasida saqlash uchun ixcham mashina kodiga aylantirish uchun ishlatiladi. Qurilmaga qarab, dastur xotirasi faqat zavodda dasturlashtirilishi mumkin bo'lgan doimiy, faqat o'qish uchun mo'ljallangan xotira bo'lishi mumkin yoki u maydonni o'zgartiradigan flesh yoki o'chiriladigan faqat o'qish uchun xotira bo'lishi mumkin.

Maqsadli tizimning apparat va dasturiy ta'minotini ishlab chiqishda yordam berish uchun ishlab chiqaruvchilar ko'pincha o'zlarining mikro-kontrollerlarining maxsus versiyalarini ishlab chiqarishgan. Dastlab bunga kiritilgan EPROM dastur xotirasi ultrabinafsha nurlari bilan o'chirilishi mumkin bo'lgan qurilmaning yuqori qismida "oyna" bo'lgan versiyalar, dasturlash ("kuyish") va sinov tsiklidan keyin qayta dasturlashga tayyor. 1998-yildan beri EPROM versiyalari kamdan-kam uchraydi va ularning o'rnini EEPROM va flash egallaydi, ulardan foydalanish osonroq (elektron tarzda o'chirilishi mumkin) va ishlab chiqarish arzonroq.

Romga ichki xotira sifatida emas, balki tashqi qurilma sifatida kirish mumkin bo'lgan boshqa versiyalar mavjud bo'lishi mumkin, ammo arzon mikrokontroller dasturchilarining keng tarqalganligi sababli ular kamdan-kam uchraydi.

Mikro tekshirgichda dala dasturlashtiriladigan qurilmalardan foydalanish dasturiy ta'minotni maydonni yangilashga imkon berishi yoki yig'ilgan, ammo hali jo'natilmagan mahsulotlarga zavodni kech qayta ko'rib chiqishga ruxsat berishi mumkin. Dasturlashtiriladigan xotira, shuningdek, yangi mahsulotni joylashtirish uchun zarur bo'lgan vaqtni qisqartiradi.

Yuz minglab bir xil qurilmalar talab qilinadigan joyda, ishlab chiqarish vaqtida dasturlashtirilgan qismlardan foydalanish tejamkor bo'lishi mumkin. Bu" niqob dasturlashtirilgan "qismlari dastur bir vaqtning o'zida, jip mantiq bir xil tarzda pastga qo'ydi.

Tayyorlangan micro-nazoratchi qo'shimcha ishlash qobiliyati uchun moslashtirilgan bo'lishi mumkin raqamli mantiq bir blok o'z ichiga, atrof-muhit va dastur talablariga moslashgan interfeyslarni. Bir misol Atmel dan AT91CAP emas.

### Boshqa mikrokontroller xususiyatlari

Mikrokontrollerlar odatda bir necha dan o'nlab umumiy maqsadlar uchun kirish/chiqish pinlarini (GPIO) o'z ichiga oladi. GPIO pinlari kirish yoki chiqish holati uchun sozlanishi dasturiy ta'minotdir. GPIO pinlari kirish holatiga moslashtirilganda, ular ko'pincha datchiklarni yoki tashqi signallarni o'qish uchun ishlatiladi. Chiqish holatiga sozlangan GPIO pinlari LED yoki motor kabi tashqi qurilmalarni ko'pincha bilvosita tashqi quvvat elektronikasi orqali boshqarishi mumkin.

Ko'pgina o'rnatilgan tizimlar analog signallarni ishlab chiqaradigan sensorlarni o'qishi kerak. Bu analog-raqamli konvertorning (ADC) maqsadi. Protsessorlar raqamli ma'lumotlarni, ya'ni 1s va 0Sni sharhlash va qayta ishlash uchun qurilganligi sababli, ular qurilma tomonidan yuborilishi mumkin bo'lgan analog signallar bilan hech narsa qila olmaydi. Shunday qilib, keraksiz ma'lumotlarni protsessor taniy oladigan shaklga aylantirish uchun analog-raqamli konvertor ishlatiladi. Ba'zi mikrokontrolörlarda kamroq tarqalgan xususiyat bu protsessorga analog signallarni yoki kuchlanish darajalarini chiqarish imkonini beruvchi analogdan raqamli konvertorga (DAC) ega.

Konverterlardan tashqari, ko'plab o'rnatilgan mikroprotsessorlar turli xil taymerlarni ham o'z ichiga oladi. Taymerlarning eng keng tarqalgan turlaridan biri bu programlanadigan intervalli taymer (PIT). U nolga yoki istalgan qiymatdan nolga yoki hisoblash registrining kuchiga qadar to'ldirilishi mumkin. U nolga yetganda, u hisoblashni tugatganligini bildiruvchi protsessorga uzilish yuboradi. Bu konditsionerni, isitgichni va hokazolarni yoqish kerakligini bilish uchun vaqti-vaqti bilan atrof-muhit haroratini tekshiradigan termostatlar kabi qurilmalar uchun foydalidir.

Maxsus puls kengligi modulyatsiyasi (SVM) bloki protsessorga quvvat konvertorlarini, rezistiv yuklarni, dvigatellarni va boshqalarni boshqarish imkoniyatini beradi. taymerning qattiq tsikllarida ko'plab CPU resurslaridan foydalanmasdan.

A universal mos kelmaydigan qabul qilish / uzatuvchi (uart) blok qabul qilish va protsessor ustida juda oz yuk bilan ketma-ket liniyasi orqali ma'lumotlarni uzatish imkonini beradi. Chipga bag'ishlangan apparat ko'pincha boshqa qurilmalar bilan aloqa qilish imkoniyatlarini ham o'z ichiga oladi (chiplar) kabi raqamli formatlarda Integratsiyalararo elektron (I2C), seriyali periferik interfeys (SPI), Universal seriyali avtobus (USB) va Ethernet.

Oliy integratsiya
-----------------

12 nanometrli jarayon yordamida Microchip texnologiyasi tomonidan ishlab chiqarilgan PIC508C8 8 bitli, to'liq statik, EEPROM/EPROM/ROM asosidagi CMOS mikrokontrolleridan vafot eting
Stm32f100c4t6b ARM Cortex-m 3 mikrokontrollerining Die, 16 kilobaytli flesh xotira, 24 MGts Markaziy protsessor (CPU), motorni boshqarish va maishiy elektronikani boshqarish (CEC) funktsiyalari. Stmikroelektronika tomonidan ishlab chiqarilgan.
Mikro-kontrollerlar tashqi manzilni yoki ma'lumotlar avtobusini amalga oshirmasligi mumkin, chunki ular RAM va doimiy xotirani CPU bilan bir xil chipga birlashtiradi. Kamroq pinlardan foydalanib, chip juda kichikroq, arzonroq paketga joylashtirilishi mumkin.

Xotirani va boshqa tashqi qurilmalarni bitta chipga birlashtirish va ularni birlik sifatida sinovdan o'tkazish ushbu chipning narxini oshiradi, lekin ko'pincha o'rnatilgan tizimning sof narxini pasayishiga olib keladi. Agar tashqi qurilmalarni birlashtirgan protsessorning narxi protsessor va tashqi tashqi qurilmalarning narxidan bir oz ko'proq bo'lsa ham, kamroq chiplarga ega bo'lish odatda kichikroq va arzonroq elektron plataga imkon beradi va elektron platani yig'ish va sinovdan o'tkazish uchun zarur bo'lgan mehnatni kamaytiradi, qo'shimcha ravishda elektron plataning nuqson tezligini kamaytirishga intiladi. yakunladi montaj.

Mikro-kontroller-bu bitta integral mikrosxema, odatda quyidagi xususiyatlarga ega:

* Markaziy protsessor kichik va oddiy 4 bitli protsessorlardan tortib murakkab 32 bitli yoki 64 bitli protsessorlargacha
* ma'lumotlarni saqlash uchun uchuvchan xotira (RAM)
* Dastur va operatsion parametrlarni saqlash uchun ROM, EPROM, EEPROM yoki flesh xotira
* diskret kirish va chiqish bitlari, individual paket pinining mantiqiy holatini boshqarish yoki aniqlashga imkon beradi
* ketma-ket portlar (uarts)kabi ketma-ket kirish/chiqish
* i2c kabi boshqa ketma-ket aloqa interfeyslarni, tizim bog'lanmoq uchun Serial periferik interfeysi va nazoratchi maydoni tarmoq
* taymerlar, tadbir hisoblagichlari, SVM generatorlari va qo'riqchi kabi tashqi qurilmalar
* soat generatori ko'pincha kvarts vaqt kristalli, rezonator yoki RC davri uchun osilator
* ko'p analog-to-raqamli Konverter o'z ichiga oladi, ba'zi raqamli-to-analog Konverter o'z ichiga oladi
* o'chirish dasturlash va o'chirish disk raskadrovka qo'llab-quvvatlash

Ushbu integratsiya chiplar sonini va alohida chiplardan foydalangan holda ekvivalent tizimlarni ishlab chiqarish uchun zarur bo'lgan simlar va elektron platalar maydonini keskin kamaytiradi. Bundan tashqari, xususan, past pinli hisoblash qurilmalarida har bir pin dasturiy ta'minot tomonidan tanlangan pin funktsiyasi bilan bir nechta ichki tashqi qurilmalarga interfeys qilishi mumkin. Bu qismni pimlarning maxsus funktsiyalariga qaraganda kengroq turli xil dasturlarda ishlatishga imkon beradi.

Mikro-kontrollerlar juda mashhur ekanligini isbotladilar o'rnatilgan tizimlar 1970-yillarda joriy etilganidan beri.

Ba'zi mikrokontrollerlar Garvard arxitekturasidan foydalanadilar: ko'rsatmalar va ma'lumotlar uchun alohida xotira avtobuslari, bir vaqtning o'zida kirish imkonini beradi. Garvard arxitekturasidan foydalanilganda, protsessor uchun ko'rsatma so'zlar ichki xotira va registrlar uzunligidan boshqa bir oz o'lchamga ega bo'lishi mumkin; masalan: 12-bitli ma'lumotlar registrlarida ishlatiladigan 8-bitli ko'rsatmalar.

Qaysi periferikni birlashtirish to'g'risida qaror qabul qilish ko'pincha qiyin. Mikrokontroller sotuvchilari ko'pincha operatsion chastotalar va tizim dizaynining moslashuvchanligi bilan savdo qilishadi bozordan bozorga vaqt talablari va umuman past tizim narxi. Ishlab chiqaruvchilar chip hajmini qo'shimcha funktsiyalarga nisbatan minimallashtirish zarurligini muvozanatlashlari kerak.

Mikrokontroller arxitekturasi juda xilma-xildir. Ba'zi keng tarqalgan dizaynlarga mikroprotsessor yadrolari, bir yoki bir nechta ROMli ROMlar, operativ xotira yoki kiritish-chiqarish paketiga birlashtirilgan xususiyatlar kiradi. Boshqa dizaynlar boshqaruv ilovalari uchun mo'ljallangan. Mikro-kontrollerning ko'rsatmalar to'plami odatda boshqaruv dasturlarini yanada ixcham qilish uchun bitni boshqarish (bit bo'yicha operatsiyalar) uchun mo'ljallangan ko'plab ko'rsatmalarni o'z ichiga oladi. Misol uchun, umumiy maqsadli protsessor, agar bit o'rnatilgan bo'lsa, registrda va filialda bitni sinab ko'rish uchun bir nechta ko'rsatmalar talab qilinishi mumkin, bu erda mikro-kontroller odatda kerakli funktsiyani ta'minlash uchun bitta ko'rsatma beradi.

Mikrokontrollerlar an'anaviy ravishda matematik koprotsessorga ega emas, shuning uchun suzuvchi nuqta arifmetikasi dasturiy ta'minot tomonidan amalga oshiriladi. Biroq, ba'zi so'nggi dizaynlarda FPU va DSP optimallashtirilgan xususiyatlar mavjud. Masalan, Microchip-ning PIC32 MIPS asosidagi liniyasi bo'lishi mumkin.

Dasturlash muhitlari
--------------------

Mikrokontrollerlar dastlab faqat Assambleya tilida dasturlashtirilgan, ammo turli xil yuqori darajadagi dasturlash tillari, masalan C, Python va JavaScript, endi mikrokontrollerlar va o'rnatilgan tizimlarni nishonga olish uchun ham keng tarqalgan. Umumiy maqsadli tillar uchun kompilyatorlar odatda mikrokontrollerlarning o'ziga xos xususiyatlarini yaxshiroq qo'llab-quvvatlash uchun ba'zi cheklovlarga va qo'shimcha qurilmalarga ega bo'ladilar. Ba'zi mikrokontrollerlarda ma'lum turdagi dasturlarni ishlab chiqishda yordam beradigan muhit mavjud. Mikrokontroller sotuvchilari ko'pincha o'zlarining apparatlarini qabul qilishni osonlashtirish uchun vositalarni erkin taqdim etishadi.

Maxsus uskunaga ega mikrokontrollerlar SDCC 8051 uchun C kabi o'zlarining nostandart dialektlarini talab qilishi mumkin, bu esa standart vositalardan (masalan, kod kutubxonalari yoki statik tahlil vositalari) hatto apparatga xos bo'lmagan kod uchun ham foydalanishni oldini oladi. Tarjimonlar, shuningdek, MicroPython kabi nostandart xususiyatlarni ham o'z ichiga olishi mumkin, masalan, CircuitPython, apparat bog'liqliklarini kutubxonalarga ko'chirishga qaradi va til CPython standartiga mos keladi.

Interpreter proshivkasi ba'zi mikrokontrollerlar uchun ham mavjud. Misol uchun, erta microcontrollers Intel asosiy 8052; asosiy va oldinga Zilog Z8 shuningdek, ayrim zamonaviy qurilmalar sifatida. Odatda bu tarjimonlar interaktiv dasturlashni qo'llab-quvvatlaydi.

Ba'zi mikrokontrollerlar uchun simulyatorlar mavjud. Ular ishlab chiquvchiga mikrokontrollerning xatti-harakatlarini va ularning dasturiy ta'minoti haqiqiy qismdan foydalangan holda qanday harakat qilishini tahlil qilish imkonini beradi. Simulyator ichki protsessor holati va chiqishlarini ko'rsatadi, shuningdek, kirish signallarini yaratishga imkon beradi. Bir tomondan, ko'pgina simulyatorlar tizimdagi boshqa atrof-muhit qurilmalarini taqlid qila olmasligi bilan cheklangan bo'lsa-da, ular jismoniy mashqlar paytida o'z xohishiga ko'ra takrorlash qiyin bo'lgan shartlarni bajarishi mumkin va muammolarni tuzatish va tahlil qilishning eng tezkor usuli bo'lishi mumkin.

Yaqinda mikrokontrollerlar ko'pincha jtag orqali elektron emulyator (ICE) orqali kirishda chiplarni tuzatish sxemasi bilan birlashtirildi, bu esa dasturiy ta'minotni tuzatuvchi bilan disk raskadrovka qilish imkonini beradi. Bu real vaqtda muz ustida ishlayotganda ichki sharoitlarni ko'rish va/yoki boshqarish imkonini beradi. Muzni kuzatish tugallangan dastur va MCU holatini ishga tushirish nuqtasidan oldin / keyin yozib olishi mumkin.

Turlari
-------

* ARM core protsessorlari (ko'p sotuvchilar)
	+ ARM Cortex-M yadrolari mikrokontroller dasturlariga yo'naltirilgan
* Mikrochip texnologiyasi Atmel AVR (8-bit), AVR32 (32-bit)va AT91SAM (32-bit)
* Cypress Semiconductor ning m8c yadro ularning PSoC ishlatiladigan (Dasturlashtiriladigan tizimi-on-Chip)
* Freescale ColdFire (32-bit) va S08 (8-bit)
* Freescale 68hc11 (8-bit) va boshqalar Motorola 6800 oilasiga asoslangan
* Intel 8051, shuningdek NXP Semiconductors, Infineon va boshqalar tomonidan ishlab chiqarilgan
* Infineon: 8-bit XC800, 16-bit XE166, 32-bit XMC4000 (ARM asosidagi Cortex M4F), 32-bit TriCore va, 32-bit Aurix Tricore Bit mikrokontrollerlar
* Maxim integratsiya MAX32600, MAX32620, MAX32625, MAX32630, MAX32650, MAX32640
* MIPS degan
* Mikrochip texnologiyasi PIC, (8-bit PIC16, PIC18, 16-bit dsPIC33 / PIC24), (32-bit PIC32)
* NXP yarimo'tkazgichlar LPC1000, LPC2000, LPC3000, LPC4000 (32-bit), LPC900, LPC700 (8-bit)
* Parallaks Pervanesi
* Pauerpc ISE
* Quyon 2000 (8-bit)
* Renesas Electronics: RL78 16-bitli MCU; RX 32-bitli MCU; SuperH; V850 32-bitli MCU; H8; R8C 16-bitli MCU
* Silicon Laboratories quvurli 8-bit 8051 mikrokontrollerlar va aralash signalli ARM-ga asoslangan 32-bitli mikrokontrollerlar
* Stmikroelektronika STM8 (8-bit), ST10 (16-bit), STM32 (32-bit), SPC5 (avtomobilsozlik 32-bit)
* Texas Instruments TI MSP430 (16-bit), MSP432 (32-bit), C2000 (32-bit)
* Toshiba TLCS - 870 (8-bit/16-bit)

Ko'pgina boshqalar mavjud, ularning ba'zilari juda tor doiradagi dasturlarda qo'llaniladi yoki mikrokontrollerlarga qaraganda ko'proq dastur protsessorlariga o'xshaydi. Mikrokontroller bozori juda ko'p tarqalgan bo'lib, ko'plab sotuvchilar, texnologiyalar va bozorlar mavjud. E'tibor bering, ko'plab sotuvchilar bir nechta arxitekturalarni sotadilar yoki sotadilar.

Uzilish kechikishi
------------------

Umumiy maqsadli kompyuterlardan farqli o'laroq, o'rnatilgan tizimlarda ishlatiladigan mikrokontrollerlar ko'pincha optimallashtirishga intilishadi uzilish kechikishi ko'rsatmalar o'tkazuvchanligi ustidan. Muammolarga kechikishni kamaytirish ham, uni bashorat qilish ham kiradi (Real vaqtda nazoratni qo'llab-quvvatlash uchun).

Elektron qurilma uzilishga olib kelganda, kontekstni o'zgartirish vaqtidagi oraliq natijalar (registrlar) uzilishlarni boshqarish uchun mas'ul bo'lgan dasturiy ta'minot ishga tushishidan oldin saqlanishi kerak. Bundan tashqari, ular bu kesish xandaqlari tugagandan so'ng tiklanishi kerak. Agar ko'proq protsessor registrlari mavjud bo'lsa, bu saqlash va tiklash jarayoni uzoqroq davom etishi va kechikish vaqtini oshirishi mumkin. (Agar ISR ma'lum registrlardan foydalanishni talab qilmasa, ularni saqlash va tiklash o'rniga ularni yolg'iz qoldirishi mumkin, shuning uchun bu holda bu registrlar kechikish bilan bog'liq emas.) Bunday kontekstni qisqartirish / kechikishlarni tiklash usullari ularning protsessorlariga nisbatan. kamroq registrlarga ega bo'lishni o'z ichiga oladi (istalmagan, chunki u ko'pchilik uzluksiz ishlov berishni sezilarli darajada sekinlashtiradi) yoki hech bo'lmaganda apparat ularning barchasini saqlamasligi kerak (agar dasturiy ta'minot qolgan qismini "qo'lda" saqlash bilan qoplashi kerak bo'lsa). Boshqa usullar silikon eshiklarni "soya registrlari" ga sarflashni o'z ichiga oladi: uzilish dasturi tomonidan ishlatiladigan faqat bitta yoki bir nechta takroriy registrlar maxsus to'plamni qo'llab-quvvatlaydi.

* Joriy CPU faoliyatini bajarish uchun zarur bo'lgan tsikllar. Ushbu xarajatlarni minimallashtirish uchun mikrokontrollerlar qisqa quvur liniyalariga ega (ko'pincha uchta ko'rsatma yoki undan kam), kichik yozish tamponlariga ega va uzoqroq ko'rsatmalar doimiy yoki qayta ishga tushirilishini ta'minlaydi. RISC dizayn tamoyillari eng ko'rsatmalar ko'chadan bir xil miqdorda olib ta'minlash, eng bunday davom ettirish/restart mantiq zarurligini oldini yordam.
* To'xtatilishi kerak bo'lgan har qanday tanqidiy qismning uzunligi. Muhim bo'limga kirish bir vaqtning o'zida ma'lumotlar tuzilishiga kirishni cheklaydi. Ma'lumotlar tuzilmasiga uzilish ishlov beruvchisi kirishi kerak bo'lganda, muhim qism ushbu uzilishni bloklashi kerak. Shunga ko'ra, uzilish kechikishi, uzilish bloklanganligi bilan ortadi. Tizimning kechikishida qattiq tashqi cheklovlar mavjud bo'lganda, ishlab chiquvchilar ko'pincha uzilish kechikishlarini o'lchash va qaysi muhim bo'limlar sekinlashuvga olib kelishini aniqlash uchun vositalarga muhtoj.
	+ Bir umumiy texnikasi faqat bloklari muhim bo'limda davomida barcha uzilishlar. Bu amalga oshirish uchun oson, lekin ba'zan muhim bo'limlar bezovta uzoq olish.
	+ Keyinchalik murakkab texnika ushbu ma'lumotlar tuzilishiga kirishni boshlashi mumkin bo'lgan uzilishlarni bloklaydi. Bu ko'pincha tizimning tegishli ma'lumotlar tuzilmalariga yaxshi mos kelmaslikka moyil bo'lgan uzilish ustuvorliklariga asoslanadi. Shunga ko'ra, ushbu uslub asosan juda cheklangan muhitda qo'llaniladi.
	+ Protsessorlar ba'zi muhim bo'limlar uchun apparat yordamiga ega bo'lishi mumkin. Masalan, so'z ichidagi bitlarga yoki baytlarga atomik kirishni qo'llab-quvvatlash yoki ARMv6 arxitekturasida kiritilgan ldrex/STREX eksklyuziv kirish ibtidoiylari kabi boshqa atomik kirish ibtidoiylari.
* Uyalashni to'xtatish. Ba'zi mikrokontrollerlar yuqori ustuvor uzilishlarga past ustuvor bo'lganlarni to'xtatishga imkon beradi. Bu dasturiy ta'minotga vaqtni tanqid qiladigan uzilishlarni unchalik muhim bo'lmaganlarga qaraganda yuqori ustuvorlik (va shu bilan pastroq va taxmin qilinadigan kechikish) berish orqali kechikishni boshqarish imkonini beradi.
* Trigger darajasi. Uzilishlar orqa tomondan sodir bo'lganda, mikrokontrollerlar qo'shimcha kontekstni saqlash/tiklash tsiklidan quyruq qo'ng'iroqlarini optimallashtirish shakli bilan qochishlari mumkin.

Pastki so'nggi mikrokontrollerlar yuqori so'nggi bo'lganlarga qaraganda kamroq uzilish kechikishini boshqarishni qo'llab-quvvatlaydi.

Xotira texnologiyasi
--------------------

Odatda mikrokontrollerlar, dasturiy ta'minotni saqlash uchun doimiy bo'lmagan xotira va vaqtinchalik ma'lumotlar uchun o'qish-yozish xotirasi bilan ikki xil xotira ishlatiladi.

### Ma'lumotlar

Dastlabki mikrokontrollerlardan bugungi kungacha oltita tranzistorli SRAM deyarli har doim o'qish/yozish uchun ishlaydigan xotira sifatida ishlatiladi, registr faylida bit uchun yana bir nechta tranzistorlar ishlatiladi.

SRAM - dan tashqari, ba'zi mikrokontrollerlarda ma'lumotlarni saqlash uchun ichki EEPROM ham mavjud; va hatto hech qanday (yoki etarli bo'lmagan) ham ko'pincha tashqi ketma-ket EEPROM chipiga (masalan, asosiy shtamp) yoki tashqi ketma-ket flesh-xotira chipiga ulanadi.

2003-yildan boshlangan bir nechta mikrokontrollerlar" o'z-o'zidan dasturlashtiriladigan "flesh xotiraga ega.

### Dasturiy ta'minot

Dastlabki mikrokontrollerlar ishlatilgan niqob rom dasturiy ta'minotni saqlash uchun. Keyinchalik mikrokontrollerlar (masalan, Freescale 68hc11 va erta pic mikrokontrollerlarining dastlabki versiyalari) EPROM xotirasiga ega bo'lib, u ultrabinafsha nurlari orqali o'chirishga imkon beradigan shaffof oynadan foydalangan, ishlab chiqarish versiyalarida esa bunday oyna bo'lmagan, otp (bir martalik dasturlashtiriladigan). Dasturiy ta'minotni yangilash mikrokontrollerning o'zini almashtirishga teng edi, shuning uchun ko'plab mahsulotlar yangilanmadi.

Motorola MC68HC805 dasturiy ta'minotni saqlash uchun EEPROM-dan foydalangan birinchi mikrokontroller edi. EEPROM mikrokontrollerlari 1993-yilda Microchip taqdim etilgandaNOR flesh xotirasidan foydalangan 8051 yadroli mikrokontrollerni taqdim etdi. Bugungi mikrokontrollerlarning deyarli barchasi flesh-xotiradan foydalanadi, bir nechta modellardan foydalaniladi FRAM va ba'zi ultra arzon qismlar hali ham otp yoki Mask ROM yordamida.

Yana qarang
-----------

* + List of common microcontrollers
	+ List of Wi-Fi microcontrollers
	+ List of open-source hardware projects
	+ Microbotics
	+ Programmable logic controller
	+ Single-board microcontroller

Referatlar
----------

1. ↑  „1971: Microprocessor Integrates CPU Function onto a Single Chip". *The Silicon Engine*.  Computer History Museum. Qaraldi: 2019-yil 22-iyul.
2. ↑  Augarten, Stan*. The Most Widely Used Computer on a Chip: The TMS 1000*. New Haven and New York: Ticknor & Fields, 1983. ISBN 978-0-89919-195-9. 2009-yil 23-dekabrda qaraldi.
3. ↑  „Trends in the Semiconductor Industry". *Semiconductor History Museum of Japan*. 2019-yil 27-iyunda asl nusxadan arxivlangan. Qaraldi: 2019-yil 27-iyun.
4. 1 2  „Oral History Panel on the Development and Promotion of the Intel 8048 Microcontroller". *Computer History Museum Oral History, 2008*. Qaraldi: 2016-yil 4-aprel.
5. ↑  Turley, Jim. „The Two Percent Solution" (en). *Embedded*. Qaraldi: 2018-yil 11-iyul.
6. ↑  *Cantrell.* „Microchip on the March". *Circuit Cellar* (1998). 2007-yil 27-sentyabrda asl nusxadan arxivlangan. Qaraldi: 2018-yil 11-iyul.
7. ↑  „Semico Research".
8. ↑  „Momentum Carries MCUs Into 2011 | Semico Research" (en). *semico.com*. Qaraldi: 2018-yil 11-iyul.
9. ↑  
Bill Giovino.
"Zilog Buys Microcontroller Product Lines from Samsung".
2013.
10. ↑  „The really low cost MCUs". *www.additude.se*. 2022-yil 19-martda asl nusxadan arxivlangan. Qaraldi: 2022-yil 5-iyun.
11. ↑  „MSP430FR2000IPW16R Texas Instruments | Mouser".
12. ↑  „CY8C4013SXI-400 Cypress Semiconductor | Mouser" (en-US). *Mouser Electronics*. Qaraldi: 2018-yil 11-iyul.
13. ↑
14. ↑  „EFM8BB10F2G-A-QFN20 Silicon Labs | Mouser".
15. ↑  „MSP430G2001IPW14R Texas Instruments | Mouser".
16. ↑  „CY8C4013SXI-400 Cypress Semiconductor | Mouser" (en-US). *Mouser Electronics*. 2015-yil 18-fevralda asl nusxadan arxivlangan.
17. ↑  *U-M researchers create world's smallest 'computer'*, University of Michigan, 2018-06-21
18. ↑  *University of Michigan outdoes IBM with world's smallest 'computer'*, CNET, 2018-06-22
19. ↑  *IBM fighting counterfeiters with world's smallest computer*, CNET, 2018-03-19
20. ↑  *IBM Built a Computer the Size of a Grain of Salt. Here's What It's For.*, Fortune, 2018-03-19
21. ↑  Heath, Steve*. Embedded systems design*, 2, EDN series for design engineers, Newnes, 2003 — 11–12 bet. ISBN 9780750655460.
22. ↑  David Harris & Sarah Harris (2012). *Digital Design and Computer Architecture, Second Edition*, p. 515. Morgan Kaufmann. ISBN 0123944244.
23. ↑  Mazzei, Daniele; Montelisciani, Gabriele; Baldi, Giacomo; Fantoni, Gualtiero (2015). "2015 IEEE 2nd World Forum on Internet of Things (WF-IoT)". Internet of Things (WF-IoT), 2015 IEEE 2nd World Forum on. Milan: IEEE. pp. 239–244. doi:10.1109/WF-IoT.2015.7389059. ISBN 978-1-5090-0366-2.
24. ↑  "8052-Basic Microcontrollers" by Jan Axelson 1994
25. ↑  Edwards, Robert (1987). „Optimizing the Zilog Z8 Forth Microcontroller for Rapid Prototyping" (PDF). Martin Marietta. 3-bet. Qaraldi: 9–dekabr 2012–yil. `{{cite magazine}}`: Cite magazine requires `|magazine=` (yordam)CS1 maint: date format ()
26. ↑  www.infineon.com/mcu
27. ↑  Motorola*. Advance Information, 8-Bit Microcomputers MC68HC05B6, MC68HC05B4, MC68HC805B6, Motorola Document EADI0054RI*. Motorola Ltd. 1988.
28. ↑  „Chip Hall of Fame: Microchip Technology PIC 16C84 Microcontroller".  IEEE (2017-yil 30-iyun). Qaraldi: 2018-yil 16-sentyabr.
29. ↑  „Atmel's Self-Programming Flash Microcontrollers" (2012-yil 24-yanvar). 2011-yil 27-mayda asl nusxadan arxivlangan. Qaraldi: 2008-yil 25-oktyabr.

 by Odd Jostein Svendsli 2003

Havolalar
---------

* Microkontroller Curlie katalogida
*