Windows.  Viruslar.  Noutbuklar.  Internet.  Idora.  Utilitalar.  Haydovchilar

Mikroprotsessor - raqamli axborotni qayta ishlaydigan yoki bu jarayonni boshqaradigan, bir yoki bir nechta integral mikrosxemalar shaklida tayyorlangan qurilma. Protsessor arifmetik-mantiqiy birlik (ALU) va boshqaruv blokidan (CU) iborat bo'lib, ALU amalga oshiradigan raqamlar bo'yicha harakatlarni boshqaradi. Barcha zamonaviy mikroprotsessorlar ikkilik arifmetikadan foydalanadilar, unda raqam 2 raqamining kuchlari yig'indisi mos keladigan raqamga ko'paytiriladi:

bu erda ikkilik sonning har bir raqami a v ..., a n+[ faqat ikkita qiymatni qabul qilishi mumkin: 0 yoki 1. 0 raqami past kuchlanish darajasi bilan, 1 esa yuqori kuchlanish darajasi bilan takrorlanadi.

Mikroprotsessor qurilmasining (M11U) soddalashtirilgan blok diagrammasi rasmda ko'rsatilgan. 2.16. Unda mikroprotsessor, saqlash qurilmasi (SRAM) yoki xotira va kiritish/chiqarish qurilmasi (I/O) mavjud. Protsessorga dasturning barcha amallarini operatsion algoritmga muvofiq bajarish vazifasi yuklangan. Xotira protsessorning operatsion dasturining buyruqlarini, shuningdek, hisob-kitoblarga jalb qilingan doimiy va o'zgaruvchilarning qiymatlarini saqlaydi. Boshqarish bloki tomonidan qabul qilingan dastur buyruqlari qanday operatsiyalarni bajarish kerakligi, ma'lumotlarni xotirada qayerda saqlash, natijani qayerda yozish kerakligi va keyingi buyruq qayerda joylashganligi haqida ma'lumot beradi. Havo qurilmasi interfeysni o'z ichiga oladi - mikroprotsessordan signallarni periferik (tashqi) qurilmalarga kirish mumkin bo'lgan signallarga va aksincha, aylantirish uchun xizmat qiluvchi bog'lovchi havola. Interfeys signalni taqdim etish shakli (analog, raqamli) va ularning o'tish ketma-ketligiga ko'ra kirish va chiqish signallari uchun asboblarni zarur muvofiqlashtirishni (konjugatsiyasini) ta'minlaydi.

Guruch. 2.16.

MPU tarkibiy qismlari ichki magistrallar (avtobuslar) bilan o'zaro bog'langan - " - simli liniyalar, bu orqali “-bitli ikkilik sonlar uzatiladi. Boshqaruv bloki boshqaruv shinasi yordamida barcha tizim qurilmalarining ishlashini muvofiqlashtiradi. Tanlangan xotira uyasidan yoki havo portlaridan ma'lumotlarni uzatish ma'lumotlar shinasi orqali amalga oshiriladi. Barcha MPU xotirasi bayt-bayt raqamlangan, xotira birligi bir bayt. Protsessor xotirasiga yoki havo qurilmasiga kirish uchun manzil shinasidagi kerakli ma'lumotlarning manzilini so'rash kerak. Saqlash qurilmalari doimiy xotira qurilmalari (ROM) va tasodifiy kirish xotirasi (RAM) ga bo'linadi. ROMlar asosan statsionar dasturlarni, doimiy koeffitsientlarni, jadvallarni va hokazolarni saqlash uchun ishlatiladi. Operativ xotira arifmetikani bajarishda bevosita foydalaniladigan o'zgaruvchan ma'lumotlarni yozib olish va saqlash uchun mo'ljallangan va mantiqiy operatsiyalar dasturni bajarish paytida. RAM o'zgaruvchan, ya'ni. Ta'minot kuchlanishi bo'lmasa, ma'lumot saqlanmaydi. Xotira birliklari sifatida baytlar va kilobaytlar ishlatiladi (1 KB = 2 10 B = 1024 B). Eng muhim xususiyat MPU - bit chuqurligi, t.s. to'liq uzatilishi va qayta ishlanishi mumkin bo'lgan ikkilik kodning maksimal uzunligi. Ish tezligi protsessorning soat chastotasi bilan belgilanadi, ya'ni. har qanday operatsiyani bajarishning minimal vaqti (MPUdagi elementlarni almashtirish vaqti) soat generatori tomonidan yaratilgan impulslarning bir takrorlash davriga to'g'ri keladi.

Mikroprotsessor boshqaruvchisi (mikrokontroller) - turli texnik ob'ektlarni mantiqiy boshqarish va boshqarish funktsiyalarini bajarish uchun mo'ljallangan va mikroprotsessor yadrosi va o'rnatilgan kiritish / chiqarish qurilmalari to'plamini birlashtirgan hisoblash qurilmasi. Foydalanishning o'ziga xos shartlariga qarab, mikrokontroller turli dizaynlarga ega bo'lishi mumkin. Sxema texnologiyasining rivojlanishi bilan mikrokontrollerlar keng tarqaldi, ularda protsessor, xotira, signal o'zgartiruvchi mikrosxemalar va ularning interfeyslari bir platada joylashgan. Yagona integral mikrosxema shaklida ishlab chiqarilgan bir chipli mikrokontrollerlar asosan ishlatiladi. Ular kichik umumiy o'lchamlarga va yuqori ishonchlilikka ega.

Mikrokontrollerlarning tuzilishi va xarakteristikalari ularni belgilaydi funksionallik. 4-, 8-, 16-, 32- va 64-bitli protsessorlar qo'llaniladi va ular yuqori aniqlikni ta'minlaydigan qattiq nuqta (ko'p hollarda) yoki suzuvchi nuqta formatlarida ma'lumotlar bilan operatsiyalarni bajarishi mumkin. Mikrokontrollerlar taymerlar (impuls hisoblagichlari), tortish va taqqoslash birliklari, turli kanallar soniga ega PWM modullari, analog-raqamli konvertorlar (ADC), interfeyslar kabi maxsus kirish-chiqarish qurilmalari mavjudligi bilan farqlanadi. har xil turlari. Ishlab chiqaruvchilar turli xil interfeys konfiguratsiyasi va o'rnatilgan komponentlarga ega bo'lgan o'nlab vakillardan (seriyadan) iborat mikrokontrollerlar oilalarini ishlab chiqaradilar. periferik qurilmalar. Hisoblashning katta hajmi va tezligini talab qiladigan muammolarni hal qilish uchun muammolarni hal qilish uchun moslashtirilgan ixtisoslashtirilgan mikrokontrollerlar qo'llaniladi. raqamli nazorat real vaqtda, - uchun protsessorlar raqamli ishlov berish signallar (inglizcha) DSP - raqamli signal protsessori). Yarimo'tkazgichli konvertor qurilmalarini boshqarish uchun maxsus ishlab chiqilgan, hisoblash yadrosiga asoslangan mikrokontrollerlar mavjud. DSP ob'ektga yo'naltirilgan buyruqlar tizimi bilan. Mikrokontroller ishlab chiqarish sohasida yetakchilardan biri kompaniya hisoblanadi Texas asboblari, quvvatli elektron konvertorlarni boshqarish uchun keng turdagi qurilmalarni ishlab chiqarish. Mashhur oilalardan biri C2000 mikrokontrollerlari |3].

Mikrokontrollerlarning dizayni va asosiy sanalari haqida umumiy ma'lumot

Mikrokontrollerlar zamonaviy odamlar hayotining ajralmas qismidir. Ular bolalar o'yinchoqlaridan ishlov berish tizimlariga qadar qo'llaniladi. Mikrokontrollerlardan foydalanish tufayli muhandislar erisha oldilar yuqori tezlik ishlab chiqarish va mahsulot sifati ishlab chiqarishning barcha sohalarida amaliydir.

Bu material umumiy ko'rinish mikrokontrollerning rivojlanish tarixidagi asosiy sanalar. Bu texnik qo'llanma emas, ko'p nozikliklar va fikrlar o'tkazib yuborilgan.

Mikroprotsessor va mikrokontroller tizimlarining paydo bo'lishining zaruriy shartlari

Mikroprotsessor texnologiyasining paydo bo'lishi va rivojlanishi sabablarini tushunish uchun birinchi kompyuterlarning xususiyatlari va xususiyatlarini ko'rib chiqing. ENIAC - birinchi kompyuter, 1946 yil. Og'irligi - 30 tonna, butun xonani yoki kosmosda 85 kubometr hajmni egallagan. Yuqori issiqlik ishlab chiqarish, quvvat iste'moli, konnektorlar tufayli doimiy muammolar vakuum quvurlari. Oksidlar kontaktlarning yo'qolishiga olib keldi va lampalar taxta bilan aloqani yo'qotdi. Doimiy parvarish qilishni talab qiladi.

Kompyuter texnologiyalari rivojlandi va 60-yillarning oxiriga kelib dunyoda ularning 30 mingga yaqini, shu jumladan asosiy kompyuterlar va mini-kompyuterlar mavjud edi. O'sha paytdagi minilar shkafning o'lchamida edi.

Aytgancha, 1969 yilda Internetning prototipi allaqachon ixtiro qilingan edi - ARPANET (inglizcha: Advanced Research Projects Agency Network).

Bunga parallel ravishda yarimo'tkazgich texnologiyalari ishlab chiqilgan - 1907 yilda yarimo'tkazgichlarning detektorlari va elektroluminesanslari ustida ishlash. 1940-yillarda diodlar va tranzistorlar. Bularning barchasi integratsiyalashgan texnologiyalarning paydo bo'lishiga olib keldi. Robert Noys 1959 yilda u integral mikrosxemani (keyingi o'rinlarda IC yoki MC deb yuritiladi) ixtiro qildi.

Muhim:

Intel mikrokontrollerlarning rivojlanishiga katta hissa qo'shdi. Ta'sischilar: Robert Noys, Gordon Mur va Endryu Grove. 1968 yilda tashkil etilgan.

Muayyan vaqtgacha kompaniya xotira qurilmalarini ishlab chiqargan. Birinchisi MS "3101" - 64 bit, Schottky - bipolyar statik RAM edi.

Keyinchalik "4004" ixtirosi bo'ldi - tarkibida 2300 p/p tranzistorli mikroprotsessor, unumdorligi bo'yicha ENIAC dan yomon emas va kaftingizdan kichikroq. Bular. 4004 mikroprotsessorining o'lchami ko'p marta kichikroq edi.

Arxitektura, dasturlash, jismoniy amalga oshirish

Birinchi mikroprotsessor arxitekturasini ishlab chiquvchisi - Ted Xoff, buyruq tizimlari - Sten Mazor. Federiko Fagin- kristallni ishlab chiqdi. Ammo dastlab Intel bu chipga barcha huquqlarga ega emas edi va Busicomga 60 000 dollar to'lab, u to'liq huquqlarga ega bo'ldi. Ko'p o'tmay, ikkinchisi bankrot bo'ldi.

Yangi texnologiyalarni ommalashtirish va joriy etish uchun Intel reklama va ta'lim kampaniyasini o'tkazdi.

Keyinchalik, boshqa elektronika ishlab chiqaruvchilari shunga o'xshash qurilmalarni yaratishni e'lon qilishdi.

Bu qiziq:

4004 4-bitli, p-MOS chipidir.

Keyingi bosqich 1972 yilda 8008 protsessorining chiqarilishi edi. Oldingi modeldan farqli o'laroq, u allaqachon zamonaviy modellarga o'xshash. 8008 - 8 bitli, akkumulyatorga ega, 6 ta registr umumiy maqsad, stek ko‘rsatkichi, 8 ta manzil registrlari, kiritish-chiqarish buyruqlari.

Tadbir:

Va 1973 yilda eng muvaffaqiyatli mikroprotsessor konfiguratsiyasi ixtiro qilindi, bu hali ham klassik - 8 bitli "8080".

Olti oy o'tgach, Intel jiddiy raqibga ega bo'ldi - "6800" protsessorli Motorola, n-MOS texnologiyasi, 16 bitli manzil shinasiga ega uch avtobusli tuzilma. Keyinchalik kuchli uzilish tizimi, bu kuchlanish "8080" kabi uchta emas, balki uni quvvatlantirish uchun etarli. Bundan tashqari, buyruqlar sodda va qisqaroq edi.

Bugungi kunga qadar ushbu ishlab chiqaruvchilarning mikroprotsessorlari oilalari o'rtasidagi qarama-qarshilik saqlanib qolmoqda.

16 bitli mikroprotsessorlarning joriy etilishi ish tezligini tezlashtirdi va mikroprotsessorlarning imkoniyatlarini kengaytirdi. Ulardan birinchisi Intel kompaniyasining "8086" tomonidan ishlab chiqilgan. U birinchi shaxsiy kompyuterlarni yaratish uchun IBM tomonidan ishlatilgan.

Protsessor "68000" - ATARI va Apple kompyuterlarida ishlatiladigan "Motorola" dan 16 bitli javob

Uchun keng auditoriya kompyuter sifatida mashhur bo'ldi ZX spektri. Ular Sinclair Research Ltd kompaniyasining Z80 protsessorlarini o'rnatdilar. Uning mashhurligining asosiy sabablaridan biri shundaki, monitor sotib olishning hojati yo'q, chunki Spektr, zamonaviy pristavkalar kabi, televizorga ulangan va yozish va saqlash uchun qurilma sifatida oddiy magnitafon ishlatilgan. dasturlar va ma'lumotlar.

Mikrokontrollerlar

Mikrokompyuter - ommaviy qo'llashning asosiy bosqichi kompyuterni avtomatlashtirish boshqaruv sohasida. Avtomatlashtirishdagi asosiy vazifa parametrlarni nazorat qilish va tartibga solish bo'lganligi sababli, "nazoratchi" atamasi ushbu muhitda mustahkamlangan.

Va SSSRda bir chipli mikrokompyuterlar uchun birinchi patent 1971 yilda Texas Instruments kompaniyasidan M. Kochren va G. Boonega berilgan. Shu vaqtdan boshlab kremniy kristaliga protsessordan tashqari xotira va qo'shimcha qurilmalar ham joylashtirildi.

Yetmishinchi yillarning oxiri Intel va Motorola o'rtasidagi raqobatning yangi to'lqinidir. Buning sababi ikkita taqdimot edi, ya'ni 76-yilda Intel i8048-ni chiqardi va Motorola atigi 78-yilda mc6800-ning dastlabki mikroprotsessoriga mos keladigan mc6801-ni chiqardi.

4 yil o'tgach, 1980 yilga kelib, Intel hali ham mashhur bo'lganlarini ishlab chiqardi. Bu bugungi kungacha yashaydigan ulkan oilaning tug'ilishi edi. Dunyoning etakchi ishlab chiqaruvchilari keng ko'lamli vazifalar uchun ushbu arxitektura asosida yuqori darajada modifikatsiyalangan mikrokontrollerlarni ishlab chiqaradilar.

O'z vaqtida u aql bovar qilmaydigan 128 000 tranzistorga ega edi. Bu i8086 protsessoridagi miqdordan to'rt baravar ko'p edi.

2017 yilda va so'nggi o'n yillikda quyidagi turdagi mikrokontrollerlar eng keng tarqalgan:

    Microchip Technology-dan 8-bitli mikrokontrollerlar PIC va Atmel'dan AVR;

    TI dan 16-bitli MSP430;

    32-bitli mikrokontrollerlar, ARM arxitekturasi. Ishlab chiquvchilar tomonidan turli kompaniyalarga sotiladi, ular asosida juda ko'p turli xil mahsulotlar ishlab chiqariladi.

Sovet Ittifoqida texnologiya bir joyda turmadi. Olimlar nafaqat eng muvaffaqiyatli va qiziqarli xorijiy ishlanmalardan nusxa olishdi, balki noyob loyihalarni ham ishlab chiqdilar. Shunday qilib, 1979 yilga kelib, K1801BE1 TT tadqiqot institutida ishlab chiqilgan, bu mikroarxitektura "NC Electronics" deb nomlangan va 16 bitga ega edi;

Mikrokontrollerning farqlari

Mikrokontrollerlarni quyidagi mezonlarga ko'ra ajratish mumkin:

    Bit chuqurligi;

    Buyruqlar tizimi;

    Xotira arxitekturasi.

Bit sig'imi - bu nazoratchi yoki protsessor tomonidan qayta ishlangan bir so'zning uzunligi, u qanchalik katta bo'lsa, mikrokontroller katta hajmdagi ma'lumotlarni tezroq qayta ishlay oladi, ammo bu yondashuv har doim ham har bir vazifa uchun adolatli emas, ikkalasi ham; tezligi va ishlov berish usuli bo'yicha, masalan, ishlash uchun 32-bitli ARM mikroprotsessoridan foydalanish. oddiy qurilmalar, 8 bitli so'zlar bilan ishlash dasturni yozish va ma'lumotlarni qayta ishlash qulayligi nuqtai nazaridan ham, xarajatlar nuqtai nazaridan ham oqlanmasligi mumkin.

Biroq, 2017 yilgi statistik ma'lumotlarga ko'ra, bunday kontrollerlarning narxi faol ravishda pasayib bormoqda va agar bu davom etsa, u eng oddiylaridan arzonroq bo'ladi. PIC kontrollerlari, juda kattaroq funktsiyalar to'plamiga ega. Faqat bitta narsa aniq emas - bu marketing hiylasi va past narxlash yoki haqiqiy texnologik taraqqiyot.

Bo'linish quyidagicha sodir bo'ladi:

Buyruqlar tizimining turi bo'yicha bo'linish:

    RISC arxitekturasi, yoki qisqartirilgan buyruq tizimi. Diqqat qilingan tezkor ijro 1 ta, kamroq tez-tez 2 ta mashina tsiklidagi asosiy buyruqlar, shuningdek, mavjud katta miqdorda universal registrlar va doimiy xotiraga kirishning uzoqroq usuli. UNIX tizimida ishlaydigan tizimlar uchun arxitekturaga xos;

    CISC arxitekturasi, yoki to'liq tizim xotira bilan bevosita ishlash bilan tavsiflangan buyruqlar, kattaroq raqam ko'rsatmalar, kichik miqdordagi registrlar (xotiraga yo'naltirilgan), ko'rsatmalarning davomiyligi 1 dan 4 ta mashina tsikli. Misol tariqasida Intel protsessorlarini keltirish mumkin.

Xotira turi bo'yicha bo'linish:

    Von Neumann arxitekturasi- asosiy xususiyat buyruqlar va ma'lumotlar uchun umumiy xotira maydoni bo'lib, bunday arxitektura bilan ishlashda dasturchi xatosi natijasida dastur xotirasi maydoniga ma'lumotlar yozilishi mumkin va dasturni keyingi bajarish imkonsiz bo'ladi. Ma'lumotlarni uzatish va buyruq olish bir xil sabablarga ko'ra bir vaqtning o'zida amalga oshirilmaydi. 1945 yilda ishlab chiqilgan.

    Garvard arxitekturasi- alohida ma'lumotlar xotirasi va dastur xotirasi, birinchi marta Mark oilasi kompyuterlarida qo'llaniladi. 1944 yilda ishlab chiqilgan.

xulosalar

Mikroprotsessorli tizimlarning joriy etilishi natijasida qurilmalarning o'lchamlari qisqardi va funksionallik oshdi. Arxitektura, bit sig'imi, buyruq tizimi, xotira tuzilishini tanlash qurilmaning yakuniy narxiga ta'sir qiladi, chunki bitta ishlab chiqarish bilan narxdagi farq sezilarli bo'lmasligi mumkin, ammo replikatsiya bilan bu sezilarli bo'lishi mumkin.

AVR mikrokontrollerlarida qurilmalarni dasturlash va yaratish bo'yicha bosqichma-bosqich o'qitish

Mikrokontroller qurilmalarini loyihalashga ixtisoslashgan elektronika muhandislari " atamasiga ega. tez boshlash". Bu qisqa vaqt ichida biror narsani sinab ko'rish kerak bo'lgan holatga ishora qiladi mikrokontroller va uni oddiy vazifalarni bajarishga majbur qiling.

Maqsad - dasturlash texnologiyasini tafsilotlarga berilmasdan o'zlashtirish va tezda aniq natijaga erishish. To'liq tushunish, ko'nikma va qobiliyatlar keyinchalik ish jarayonida paydo bo'ladi.

"Tez ishga tushirish" rejimida mikrokontrollerlar bilan ishlashni o'zlashtiring, ularni qanday dasturlashni o'rganing va turli xil foydali smartlarni yarating elektron qurilmalar Maksim Selivanovning o'quv video kurslari yordamida osongina qilishingiz mumkin, unda barcha asosiy fikrlar javonlarda joylashtirilgan.

Mikrokontrollerlar bilan ishlash tamoyillarini tezda o'rganish usuli shundan iboratki, uning boshqa navlari uchun dasturlarni ishonchli tarzda tuzish uchun asosiy mikrosxemani o'zlashtirish kifoya. Buning yordamida mikrokontrolderlarni dasturlash bo'yicha birinchi tajribalar juda qiyinchiliksiz o'tadi. Asosiy bilimlarni olganingizdan so'ng, siz o'zingizning dizayningizni ishlab chiqishni boshlashingiz mumkin.

Yoniq bu daqiqa Maksim Selivanov oddiydan murakkabgacha printsip asosida mikrokontrollerlarda qurilmalar yaratish bo'yicha 4 ta kursga ega.

Kurs elektronika va dasturlash asoslari bilan allaqachon tanish bo'lgan, asosiysini biladiganlar uchundir elektron komponentlar, yig'adi oddiy sxemalar, lehimli temirni qanday ushlab turishni biladi va yuqori sifatga o'tishni xohlaydi yangi daraja, lekin yangi materialni o'zlashtirishdagi qiyinchiliklar tufayli bu o'tishni doimiy ravishda kechiktiradi.

Kurs mikrokontroller dasturlashni o'rganishga yaqinda birinchi urinishlarini qilganlar uchun ham juda yaxshi, lekin ular uchun hech narsa ishlamaydi yoki ishlamaydi, lekin ular kerakli tarzda emas (tanishmi?!)

Kurs, shuningdek, mikrokontrollerlarda oddiy (yoki unchalik oddiy bo'lmagan) sxemalarni yig'ayotganlar uchun ham foydali bo'ladi, lekin mikrokontroller qanday ishlashi va uning tashqi qurilmalar bilan o'zaro ta'sirining mohiyatini yaxshi tushunmaydi.

Kurs C tilida mikrokontroller dasturlashni o'rgatishga bag'ishlangan. O'ziga xos xususiyat kurs - tilni juda chuqur darajada o'rganish. Trening AVR mikrokontrollerlari misolida amalga oshiriladi. Ammo, printsipial jihatdan, u boshqa mikrokontrollerlardan foydalanadiganlar uchun ham javob beradi.

Kurs o'qitilgan talabalar uchun mo'ljallangan. Ya'ni, kurs kompyuter fanlari va elektronika va mikrokontrollerlarning asosiy asoslarini o'z ichiga olmaydi. Ammo kursni o'zlashtirish uchun sizga AVR mikrokontrollerlarini istalgan tilda dasturlash bo'yicha minimal bilim kerak bo'ladi. Elektronikani bilish maqsadga muvofiq, lekin shart emas.

Kurs C tilida AVR mikrokontrollerlarini dasturlashni endigina boshlagan va o'z bilimlarini chuqurlashtirishni istaganlar uchun ideal. Boshqa tillarda mikrokontrollerlarni dasturlash bo'yicha ozgina ma'lumotga ega bo'lganlar uchun ham yaxshi. Va yana oddiy uchun mos C tili bo'yicha bilimlarini chuqurlashtirishni xohlaydigan dasturchilar.

Ushbu kurs o'z rivojlanishini oddiy yoki tayyor misollar bilan cheklashni istamaydiganlar uchundir. Kurs ular qanday ishlashini to'liq tushunadigan qiziqarli qurilmalarni yaratishga qiziquvchilar uchun juda mos keladi. Kurs C tilida mikrokontrollerlarni dasturlash bilan allaqachon tanish bo'lganlar va ularni uzoq vaqt davomida dasturlash bilan shug'ullanadiganlar uchun juda mos keladi.

Kurs materiali birinchi navbatda amaliy foydalanishga qaratilgan. Quyidagi mavzular yoritilgan: radiochastotani identifikatsiya qilish, audio tinglash, simsiz ma'lumotlar almashinuvi, rangli TFT displeylar bilan ishlash, sensorli ekranlar, bilan ishlash. fayl tizimi FAT SD kartalari.

NEXTION displeylari eng ko'p yaratish uchun sensorli ekran va UART bilan dasturlashtiriladigan displeylardir turli interfeyslar ekranda. Dasturlash uchun juda qulay va oddiy ishlab chiqish muhiti qo'llaniladi, bu sizga bir necha kechada turli elektronika uchun juda murakkab interfeyslarni yaratishga imkon beradi! Va barcha buyruqlar UART interfeysi orqali mikrokontroller yoki kompyuterga uzatiladi. Kurs materiali oddiydan murakkabgacha tamoyilga muvofiq tuzilgan.

Ushbu kurs hech bo'lmaganda mikrokontrollerlar yoki arduino dasturlash bo'yicha tajribaga ega bo'lganlar uchun mo'ljallangan. Kurs, shuningdek, displeylarni o'rganishga harakat qilganlar uchun ham juda mos keladi. Displeyni yaxshi o'rgandim deb o'ylasangiz ham kursdan ko'plab yangi ma'lumotlarni bilib olasiz!

Kuz yaqinlashmoqda va u bilan birga Bilimlar kuni keladi! Bu yangi narsalar, g'oyalar va urinishlar uchun ajoyib vaqt va o'rganish vaqti. Bu vaqtdan bilimingizni oshirish uchun foydalaning!

To'liq mikrokontroller dasturlash kursi chegirma bilan:

Altera-Siklon va Arduino

Savolning mohiyati. FPGA va mikrokontroller o'rtasidagi farq

Har bir boshlang'ich mikroproger o'z rivojlanishining ma'lum bir bosqichida nimaga hayron bo'ladi FPGAlar orasidagi farq(Altera yoki Xilinx'dan) va mikrokontroller(mikroprotsessor)?

Siz forumlarni o'qidingiz - soha mutaxassislari bu mutlaqo boshqa narsalar, ularni taqqoslab bo'lmaydigan narsa deb yozishadi va ular boshqacha ekanligini ta'kidlaydilar. arxitektura. Siz Verilog yoki C++ bo'yicha qo'llanmani o'qidingiz - ikkalasi ham o'xshash funksiyalarga ega o'xshash operatorlardan foydalanadi, hatto sintaksisi ham o'xshash, lekin nima uchun ular farq qiladi? Siz Mars roveriga borasiz - u erda LEDlar (yoki shunchaki lampochkalar) ishlatiladi FPGA Ular miltillaydilar, siz Arduino-dagi loyihalarga qaraysiz - ular robotlarni boshqaradi. STOP!

Ammo endi to'xtab, o'zimizga savol beraylik: nima uchun FPGA- ahmoq lampochka, va Arduino - aqlli robotmi? Axir, birinchi va ikkinchisi dasturlashtiriladigan qurilmalarga o'xshaydi, haqiqatan ham? FPGA Robot qobiliyatlari yetarli emasmi?

Ma'lum darajada, savolning mohiyati "Nima FPGA va mikrokontroller o'rtasidagi farq? aynan shu misolda ochib berilgan.

Keling, darhol qayd qilaylik. Funktsional FPGA dastlab kam emas mikrokontroller(va mikroprotsessor, aytmoqchi, ham), aniqrog'i - birining va boshqasining asosiy funktsiyalari mohiyatan bir xil - ma'lum sharoitlarda mantiqiy 0 yoki 1 ni ishlab chiqarish va agar tezlik haqida gapiradigan bo'lsak, pinlar soni (oyoqlari). ) va quvurlarni qayta ishlash imkoniyatlari, keyin mikrokontroller oldin FPGA lekin umuman uzoqda. Ammo bitta "lekin" bor. Ikkita bir xil dasturiy ta'minot algoritmini ishlab chiqish vaqti keldi turli qurilmalar (FPGA va mikrokontroller) bir necha marta, hatto o'nlab marta farqlanadi. Aynan FPGA bu erda 99% hollarda u MK dan ancha past. Va bu umuman til chalkashligi masalasi emas Verilog,VHDL yoki AHDL, va qurilmaning o'zida FPGA.

Dastur tilining FPGA va mikrokontroller arxitekturasi bilan o'zaro ta'siri haqida

FPGA: V FPGA va murakkab avtomatlashtirilgan zanjirlar mavjud emas (ular siz uchun ba'zi ishlarni bajaradi). Faqat temir simli yo'llar va avtomobil yo'llari, kirishlar, chiqishlar, mantiqiy bloklar va xotira bloklari mavjud. Izlar orasida maxsus sinf mavjud - soatlik iz (ma'lum oyoqlarga bog'langan, ular orqali soat chastotasini o'tkazish tavsiya etiladi).

Asosiy aktyorlar:

Yo'nalish - bu bloklar orasidagi elektr tokini o'tkazadigan mikrosxema qatlamlariga lehimlangan metall.

Bloklar - bu hujayralardan tashkil topgan doskadagi alohida joylar. Bloklar ma'lumotni saqlash, ko'paytirish, qo'shish va umuman signallar ustida mantiqiy operatsiyalar uchun ishlatiladi.

Hujayralar bir necha birlikdan bir necha o'nlab tranzistorlargacha bo'lgan guruhlardir.

Transistor TTL mantiqining asosiy elementidir.

Xulosa (mikrosxemaning oyoqlari) - almashinuv ular orqali sodir bo'ladi FPGA tashqi dunyo bilan. Mikrodastur, qabul qiluvchi soat chastotasi, quvvat manbai uchun mo'ljallangan maxsus maqsadli oyoqlar, shuningdek, dasturda foydalanuvchi tomonidan o'rnatiladigan oyoqlar mavjud. Va, qoida tariqasida, ularning soni ko'proq mikrokontroller.

Soat generatori - ishning ko'p qismi asoslangan soat impulslarini ishlab chiqaradigan tashqi chip FPGA.

FPGA arxitekturasi. Tarkibiy elementlarning o'zaro bog'liqligi

Izlar maxsus CMOS tranzistorlari yordamida bloklarga ulanadi. Ushbu tranzistorlar uzoq vaqt davomida o'z holatini (ochiq yoki yopiq) saqlashga qodir. Signal ma'lum bir yo'l bo'ylab qo'llanilganda tranzistorning holati o'zgaradi, bu faqat qachon ishlatiladi FPGA dasturlash. Ya'ni, proshivka vaqtida kuchlanish ma'lum bir CMOS tranzistorlar to'plamiga beriladi. Ushbu to'plam proshivka dasturi tomonidan belgilanadi. Shunday qilib, ichkarida ulkan marshrutlar va magistrallar tarmog'ining murakkab qurilishi amalga oshiriladi FPGA, juda ko'p sonli mantiqiy bloklarni bir-biriga murakkab tarzda bog'lash. Dasturda siz qanday algoritmni bajarish kerakligini aniq tasvirlab berasiz va proshivka dasturda tasvirlangan funktsiyalarni bajaradigan elementlarni bir-biriga bog'laydi. Signallar yo'l bo'ylab blokdan blokga o'tadi. Murakkab marshrut dastur tomonidan belgilanadi.


FPGA arxitekturasi(FPGA)

Mikrokontroller arxitekturasi

TTL mantig'ining ushbu elementida individual signallarni qayta ishlash bo'yicha barcha operatsiyalar sizdan mustaqil ravishda amalga oshiriladi. Siz faqat u yoki bu qabul qilingan signallar to'plami bilan nima qilish kerakligini va uzatilishi kerak bo'lgan signallarni qaerga berishni ko'rsatasiz. Arxitektura mikrokontroller dan butunlay boshqa bloklardan iborat FPGA. Va bloklar orasidagi ulanishlar doimiy magistrallar orqali amalga oshiriladi (va qaytarilmaydi). MK bloklari orasida asosiylarini ajratib ko'rsatish mumkin:

Faqat o'qish uchun xotira (ROM) - bu sizning dasturingiz saqlanadigan xotira. U harakat algoritmlari va doimiylarni o'z ichiga oladi. Shuningdek, buyruqlar va algoritmlar kutubxonalari (to'plamlari).

Tasodifiy kirish xotirasi (RAM) - ishlatiladigan xotira mikrokontroller ma'lumotlarni vaqtincha saqlash uchun (masalan, triggerlar FPGA). Misol uchun, bir necha bosqichda hisoblashda. Aytaylik, birinchi kelgan sonni ikkinchi (1-harakat), keyin uchinchisini to'rtinchi (2-harakat) ga ko'paytirish va natijani (3-harakat) qo'shish kerak. Bunda 1-harakat natijasi operativ xotiraga ikkinchi harakat muddati davomida kiritiladi, keyin 2-harakat natijasi kiritiladi. Va keyin bu ikkala natijalar RAMdan 3-harakatni hisoblash uchun ketadi.

Protsessor - bu kalkulyator mikrokontroller. U RAM bilan, shuningdek doimiy xotira bilan aloqa qiladi. Hisob-kitoblar operatsion hisob bilan almashtiriladi. Konstantadan protsessor protsessorni kirish signallari bilan ma'lum algoritmlar va amallarni bajarishga majburlovchi buyruqlarni oladi.

Kirish-chiqarish moslamalari (portlar) va ketma-ket kiritish-chiqarish portlari - Pinlar mikrokontroller, tashqi dunyo bilan o'zaro ta'sir qilish uchun mo'ljallangan.

Taymerlar algoritmlarni bajarishda tsikllar sonini hisoblash uchun mo'ljallangan bloklardir.

Avtobus boshqaruvchisi - bu barcha bloklar orasidagi almashinuvni boshqaradigan blok mikrokontroller. U so'rovlarni qayta ishlaydi, boshqaruv buyruqlarini yuboradi, kristall ichidagi aloqani tashkil qiladi va soddalashtiradi.

Interrupt tekshiruvi tashqi qurilmalardan uzilish so'rovlarini qabul qiluvchi blokdir. Uzilish so'rovi - signal tashqi qurilma, u bilan har qanday ma'lumot almashishi kerakligi haqida xabar beradi mikrokontroller.

Ichki avtomobil yo'llari - ichkariga yotqizilgan marshrutlar mikrokontroller bloklar o'rtasida ma'lumot almashish uchun.

Soat generatori - tashqi mikrosxema bo'lib, u barcha soat impulslarini hosil qiladi mikrokontrollerning ishlashi.

Mikrokontrollerning komponentlar bloklarining o'zaro bog'liqligi

IN mikrokontroller, V farqlar dan FPGA, ish kompleksga ega bo'lgan yuqoridagi bloklar o'rtasida amalga oshiriladi arxitektura, dasturni ishlab chiqish jarayonini osonlashtirish. Mikrodasturni o'chirishda siz faqat MK ning barcha ishi tayanadigan doimiy xotirani o'zgartirasiz.


FPGA va mikrokontroller o'rtasidagi asosiy farq

FPGA apparat darajasida, deyarli chipning butun maydonida tikilgan. Signallar tranzistorlarning murakkab zanjirlari orqali o'tadi. Mikroprotsessor apparat dasturi darajasida miltillaydi, signallar guruhlarga bo'linadi, blokdan blokga - xotiradan protsessorga, operativ xotiraga, operativ xotiradan protsessorga, protsessordan kiritish-chiqarish portlariga, kiritish-chiqarish portlaridan operativ xotiraga, RAM... va hokazo. Xulosa: tufayli FPGA arxitekturalari tezlik va quvurlarni qayta ishlashning keng imkoniyatlarida g'alaba qozonadi, MK algoritmlarni yozish qulayligida g'alaba qozonadi. Ko'proq tufayli oddiy yo'l dastur tavsiflari, ishlab chiquvchining tasavvuri Mikrokontroller disk raskadrovka va ishlab chiqish uchun vaqt kamroq cheklangan va shuning uchun MK va bir xil robotni dasturlash vaqti. FPGA bo'ladi farq qiladi ko'p, ko'p marta. Biroq, robot ishlaydi FPGA ancha tez, aniqroq va epchil bo'ladi.

Uskuna va dasturiy ta'minot.

IN FPGA barcha ishni o'zingiz qilishingiz kerak, qo'lda: har qanday dasturni amalga oshirish uchun FPGA, siz kiruvchi har bir sim uchun har bir signalni kuzatishingiz kerak FPGA, xotira kataklariga ba'zi signallarni joylashtiring, kerakli vaqtda ushbu xotira hujayralariga siz ham kuzatib boradigan yoki hatto yaratadigan boshqa signal orqali kirishiga ishonch hosil qiling va natijada xotirada kechiktirilgan signallar to'plami sizga kerakli signalni faollashtiradi, bu, masalan, ma'lum bir chiqish piniga o'tadi va unga ulangan LEDni yoqadi. Ba'zi signallar xotiraga tushmaydi, lekin, masalan, algoritmning (dasturning) ma'lum bir qismini ishga tushirish uchun. Ya'ni, mikroproger tilida bu oyoqlar manzilli. Misol uchun, dasturimizdagi doskada biz Verilog tilida amalga oshirgan ma'lum bir bog'liq bo'lmagan (yoki bog'liq) algoritmlarni yoqish uchun uchta manzil piniga egamiz. FPGA. Shuningdek, dasturda uchta manzil oyoqlariga qo'shimcha ravishda bizda, masalan, 20 ta ma'lumot oyoqlari mavjud bo'lib, ular orqali kirish signallari to'plami (masalan, turli sensorlardan) ba'zi ma'lumotlar bilan birga keladi (masalan, qurilmaning harorati akvariumdagi suv harorati sensoridan akvariumdagi suv). 20 oyoq = 20 bit. 3 oyoq - 3 bit. Manzil signali 001 kelganda (uchta manzil oyog'idan) biz birinchi algoritmni ishga tushiramiz, u 20 ta axborot signalini 20 xotira katakchasiga (20 trigger) yozadi, so'ngra keyingi 20 signalni avval olingan 20 taga ko'paytiramiz va natijani yozamiz. ko'payish xotiraga, so'ngra uni boshqa oyoqlar bo'ylab, masalan, akvariumdagi suv termostatiga yuboring. Ammo biz bu natijani faqat kod, masalan, 011 manzillar oyoqlariga kelib, o'qish va uzatish algoritmini boshlaganda yuboramiz. Albatta, biz qo'lda boshqa narsalarni "yuboramiz", "o'qiymiz" va yozamiz. Biz ishning har bir bosqichida har bir signalni nazorat qilamiz FPGA ma'lum bir yo'lda, biz yo'qotmaymiz. Qayta ishlash yoki yozib olish. Qo'shish yoki ko'paytirish. Uni yozishni unutmang. Keyingi signalni qabul qilishni va uni boshqa triggerlarga yozishni unutmang. Shuningdek, bu erda soat chastotasi bilan bog'liq ishlarni, sinxronizatsiyani (u qo'lda ham amalga oshiriladi), ishlab chiqish va disk raskadrovka bosqichlarida muqarrar xatolarni va ushbu maqolada ko'rib chiqish befoyda bo'lgan boshqa muammolarni qo'shing. Qiyin. Uzoq vaqt davomida; anchadan beri. Lekin chiqish juda tez ishlaydi, nosozliklar yoki sekinlashuvlarsiz. Temir!

Hozir mikrokontroller. Ma'lumot olish uchun 20 oyoq - ko'pchilik uchun mikrokontrollerlar jismoniy imkonsiz vazifa. Ammo 8 yoki 16 - ha, iltimos! 3 ta ma'lumot - oson! Dastur? 001-manzilda olingan birinchi raqamni ikkinchisiga ko'paytiring, 011-manzilda natijani termostatga yuboring. Hammasi! Tez. Osonlik bilan. Ajoyib emas, lekin samarali. Agar siz dasturni juda malakali, nosozlik va tormozsiz yozsangiz. Dasturiy jihatdan!

Uskuna va dastur! Bu asosiy narsa FPGA va mikrokontroller o'rtasidagi farq.

IN mikrokontroller Ko'pchilik chalkash, lekin tez-tez ishlatiladigan algoritmlar allaqachon kristall ichiga ulangan. Siz shunchaki qo'ng'iroq qilishingiz kerak dasturiy jihatdan ushbu algoritm saqlanadigan kerakli kutubxona, uni nomi bilan chaqiring va u siz uchun barcha iflos ishlarni bajaradi. Bir tomondan, bu qulay va mikrosxemaning ichki tuzilishi haqida kamroq bilim talab qiladi. Mikrik qabul qilingan, yaratilgan va natijada signallarni kuzatish, ularni saqlash, qayta ishlash va kechikish bilan shug'ullanadi. U hamma narsani o'zi qiladi. Ko'pgina mikrodasturlash vazifalari uchun bu kerak bo'ladi. Ammo agar siz ushbu qulayliklarning barchasini noto'g'ri ishlatsangiz, unda noto'g'ri ishlash ehtimoli bor. Uskuna va dastur!

Xulosa

Protsessorlar va mikroprotsessorlarning zamonaviy ishlab chiquvchilari dastlab o'z qurilmalarini ishlab chiqishadi FPGA. Ha, ha, siz to'g'ri taxmin qildingiz: avval ular yaratilganga taqlid qilishadi mikrokontroller arxitekturasi bo'yicha dasturni ishlab chiqish va proshivka orqali FPGA, va keyin simulyatsiya qilingan MC bloklarining ma'lum bir joylashuvi va har bir blok uchun alohida funktsiyalar to'plami uchun algoritmlarni bajarish tezligini o'lchang.

Chiqish signalining xususiyatlariga ko'ra, FPGA ko'pincha 3,3V, 20mA uchun mo'ljallangan, Mikrokontroller 5V, 20mA da.

ostida mikrokontroller Arduino platformasida muvaffaqiyatli amalga oshirilgan AVR juda ko'p yozilgan ochiq kodli dasturiy ta'minot, sensorlar, dvigatellar, monitorlar va yuragingiz xohlagan hamma narsa ko'rinishida juda ko'p turli xil gadjetlar ishlab chiqilgan! Arduino endi bolalar va kattalar uchun o'yin qurish to'plamiga o'xshaydi. Biroq, unutmangki, ushbu konstruktorning yadrosi nazorat qiladi " aqlli uylar", zamonaviy maishiy elektronika, maishiy texnika, avtomobillar, samolyotlar, qurollar va hatto kosmik kema. Shubhasiz, bunday qurilish to'plami insoniyatning kuchli yarmining har qanday vakili uchun eng yaxshi sovg'alardan biri bo'ladi.

Aslida, hamma narsa oddiy!

Hali ham savollaringiz bormi? Fikr yozing. Biz javob beramiz va sizga buni tushunishga yordam beramiz =)

Mikroprotsessorda odatda operativ xotira, ROM yoki IO pinlari mavjud emas. U odatda o'z pinlarini RAM, ROM, ketma-ket portlar, raqamli va analog kiritish-chiqarish kabi tashqi qurilmalar bilan aloqa qilish uchun avtobus sifatida ishlatadi. Shu sababli, u kengash darajasida kengayadi.

Mikrokontroller - bu hammasi birda, protsessor, operativ xotira, bitta chipdagi IO, shuning uchun siz mavjud operativ xotira miqdorini yoki kiritish/chiqarish portlari sonini oshira olmaysiz. Boshqaruv avtobusi ichki bo'lib, taxta dizayneriga kirish imkoni yo'q.

Bu shuni anglatadiki, mikroprotsessor odatda mikrokontrollerga qaraganda kengroq umumiy maqsadli ilovalarga joylashtirilishi mumkin. Mikrokontroller odatda ko'proq ixtisoslashgan ilovalar uchun ishlatiladi.

Bularning barchasi juda umumiy bayonotlar. Chegaralarni xiralashtiradigan chiplar mavjud.

Biroq, aytib o'tganimdek, chiziq xiralashadi. Misol uchun, so'nggi Intel/AMD protsessorlari chipga xotira boshqaruvchisini qo'shadi (ilgari u chipsetda edi).

Keling, ushbu ikki turdagi raqamli radioelektron qurilmalar o'rtasidagi haqiqiy farqlar va o'xshashliklar nima ekanligini aniqlaylik.

Mikroprotsessor ham, mikrokontroller ham ba'zi operatsiyalarni bajarish uchun mo'ljallangan - ular xotiradan ko'rsatmalar oladi va bu ko'rsatmalarni bajaradi (bu arifmetik yoki mantiqiy operatsiyalar) va natija chiqarish qurilmalariga xizmat ko'rsatish uchun ishlatiladi. Mikrokontroller ham, mikroprotsessor ham doimiy ravishda xotiradan ko'rsatmalarni olish va qurilmaga quvvat berilsa, ushbu ko'rsatmalarni bajarishga qodir. Ko'rsatmalar bitlar to'plamidir. Ushbu ko'rsatmalar har doim xotira deb ataladigan saqlash joyidan olinadi.

Mikroprotsessor nima

Mikroprotsessor (ingliz tilidagi adabiyotda MPU - mikro protsessor birligi ) kompyuterning markaziy protsessorining yoki bitta protsessorning (CPU - Markaziy protsessor) funksiyalarini o'z ichiga oladi. yarimo'tkazgich kristalli(IC - integral mikrosxema yoki g'arbiy uslubda - Integrated Circuit).

Asosiysi, bu arifmetik va mantiqiy operatsiyalarni, boshqaruv tizimlarini, ma'lumotlarni saqlashni va boshqalarni bajarish uchun ishlatiladigan mikrokompyuterdir.

Mikroprotsessor kirish periferik qurilmalaridan keladigan ma'lumotlarni qayta ishlaydi va qayta ishlangan ma'lumotlarni chiqish periferik qurilmalariga uzatadi.

Protsessorlarning to'rtta asosiy turi mavjud bo'lib, ular o'zlarining arxitekturasida farqlanadi.

Mikroprotsessorlar bilan to'liq to'plam buyruqlar (Complex Instruction Set Computer, CISC arxitekturasi). tomonidan xarakterlanadi aniq bo'lmagan buyruq uzunligi, arifmetik amallarni bitta buyruq bilan kodlash, qat'iy belgilangan funktsiyalarni bajaradigan kam sonli registrlar. Bu turdagi protsessorlarga x86 oilasini misol qilib keltirish mumkin.

Qisqartirilgan buyruqlar to'plamiga ega mikroprotsessorlar (Reduced Instruction Set Computer, RISC arxitekturasi). Ular odatda bor soddalashtirilgan ko'rsatmalar tufayli ishlashni oshiradi, bu jarayonni soddalashtiradidekodlash va shunga mos ravishda ularni bajarish vaqtini qisqartirish. Ko'pchilik GPUlar Ushbu turdagi arxitektura yordamida ishlab chiqilgan.

Minimal ko'rsatmalar to'plamiga ega mikroprotsessorlar (Minimal Instruction Set Computer, MISC arxitekturasi). RISC arxitekturasidan farqli o'laroq, ular uzoq buyruq so'zlaridan foydalanadilar, bu sizga juda ko'p ishlarni bajarishga imkon beradi murakkab harakatlar qurilma ishlashining bir tsikli uchun. Uzoq "buyruq so'zlari" ning shakllanishi mikroprotsessorli qurilmalarning bit sig'imini oshirish tufayli mumkin bo'ldi.

Superskalar protsessorlarda va bir nechta buyruq dekoderlaridan foydalaniladi, bu ko'plab ijro birliklarini ish bilan yuklaydi. Buyruqlar oqimining bajarilishini rejalashtirish dinamik ravishda sodir bo'ladi va hisoblash yadrosining o'zi tomonidan amalga oshiriladi. Ushbu turdagi arxitekturaga ega protsessorga misol, masalan, Cortex A8.

Alohida-alohida, men maxsus mikroprotsessorlarni ta'kidlamoqchiman(ASIC - Application Specific Integrated Circuit). Nomidan ko'rinib turibdiki, hal qilish uchun mo'ljallangan aniq vazifa. Umumiy maqsadli mikroprotsessorlardan farqli o'laroq, ular ishlatiladi maxsus qurilma va faqat o'ziga xos bo'lgan ba'zi funktsiyalarni bajaradi ushbu qurilmadan. Tor toifadagi funktsiyalarni bajarish bo'yicha ixtisoslashuv qurilmaning tezligini oshirishga olib keladi va qoida tariqasida bunday integral mikrosxemaning narxini pasaytiradi. Bunday mikroprotsessorlarga misollar faqat boshqarish uchun mo'ljallangan chip bo'lishi mumkin Mobil telefon , mikrosxemalar apparat kodlash va audio va video signallarni dekodlash - deb ataladigan raqamli signal protsessorlari (Digital Signal Processing, DSP multiprotsessorlari). FPGA (programmable logic integrated circuit) sifatida amalga oshirilishi mumkin. Bunday protsessorlarni ishlab chiqishdaUlarning funksionalligini tavsiflash uchun apparat qurilmalarini tavsiflash tillari (HDL - Hardware Description Language) ishlatiladi. Verilog va VHDL kabi.

Mikroprotsessorli tizimlar taxminan quyidagicha qurilgan.

Ko'rinib turibdiki, ushbu tizimdagi mikroprotsessorda faqat o'qish uchun mo'ljallangan xotira kabi ko'plab yordamchi qurilmalar mavjud. Operativ xotira, ketma-ket interfeys, taymer, kiritish/chiqarish portlari va boshqalar. Ushbu qurilmalarning barchasi tizim shinasi orqali mikroprotsessor bilan buyruqlar va ma'lumotlar almashadi. Mikroprotsessor tizimidagi barcha yordamchi qurilmalar tashqidir. Tizim avtobusi, o'z navbatida, manzil shinasi, ma'lumotlar shinasi va boshqaruv shinasidan iborat.

Endi mikrokontrollerni ko'rib chiqaylik.

Mikrokontroller nima

Quyida mikrokontrollerning blok diagrammasi keltirilgan. Uning mikroprotsessordan asosiy farqi nimada? ROM, RAM, taymer, ketma-ket interfeys, I/U portlari kabi barcha qo'llab-quvvatlovchi qurilmalar o'rnatilgan. Shu sababli, ushbu yordamchi qurilmalar bilan interfeyslarni yaratishning hojati yo'q va bu tizim ishlab chiqaruvchisi uchun juda ko'p vaqtni tejaydi.

Mikrokontroller barcha qo'llab-quvvatlovchi qurilmalar bitta chipga birlashtirilgan mikroprotsessor tizimidan boshqa narsa emas. Agar siz o'zaro aloqada bo'lgan qurilma yaratmoqchi bo'lsangiz tashqi xotira yoki DAC/ADC blokida siz faqat tegishli shahar quvvat manbaini ulashingiz, sxemani va kvarts kristalini (soat manbai) tiklashingiz kerak. Ular yarimo'tkazgich kristaliga integratsiya qilish uchun oddiygina muammoli.

Mikrokontroller yadrosi ( Markaziy protsessor), odatda RISC arxitekturasi asosida qurilgan.

Mikrokontroller xotirasida qayd etilgan dastur uni keyinchalik o'qish/yozish imkoniyatidan himoyalanishi mumkin, bu esa uni ruxsatsiz foydalanishdan himoya qiladi.

Mikrokontroller va mikroprotsessorni solishtirish

Mikroprotsessor Mikrokontroller
FoydalanishKompyuter tizimlariO'rnatilgan tizimlar
QurilmaMarkaziy protsessor, umumiy maqsadli registrlar, stek ko'rsatkichlari, dastur hisoblagichlari, taymer va uzilish davrlarini o'z ichiga oladi.Mikroprotsessor sxemasini o'z ichiga oladi va o'rnatilgan ROM, operativ xotira, kiritish/chiqarish qurilmalari, taymerlar va hisoblagichlarga ega.
Ma'lumotlar xotirasiXotira va protsessor o'rtasida ma'lumotlarni ko'chirish bo'yicha ko'plab ko'rsatmalar mavjud.Xotira va protsessor o'rtasida ma'lumotlarni ko'chirish uchun bir yoki ikkita ko'rsatmalar mavjud.
Elektr zanjirlariYuqori qiyinchilikJuda oddiy
XarajatlarButun tizimning narxi oshadiKam tizim narxi
Registrlar soniU kamroq registrlarga ega, operatsiyalar asosan xotirada amalga oshiriladi.Ko'proq registrlarga ega, bu esa dasturlarni yozishni osonlashtiradi
Xotira qurilmasiFon Neyman arxitekturasiga asoslangan. Dastur va ma'lumotlar bir xil xotira modulida saqlanadi.Garvard arxitekturasiga asoslangan. Dasturlar va ma'lumotlar turli xil xotira modullarida saqlanadi.
Kirish vaqtiXotira va kiritish-chiqarish qurilmalariga kirish vaqtlari uzoqroq.Chipdagi xotira va kiritish/chiqarish qurilmalari uchun tezroq kirish vaqtlari.
TemirKo'proq apparat talab qiladi.Kamroq apparat talab qiladi.

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl+Enter tugmalarini bosing
ULOSING: