TinyAVR: - Kamroq xotira, kichik o'lcham, oddiy dasturlarga mos keladi
MegaAVR: - Bular asosan yaxshi xotira hajmiga ega (256 Kbitgacha), ichki qurilgan atrof-muhitning ko'p soni va kamtarona dasturlarga mos keladigan eng mashhurlari.
ARM protsessor ARM protsessor, shuningdek RISC Machines (ARM) tomonidan ishlab chiqilgan RISC (qisqartirilgan o'qitish kompyuteri) arxitekturasiga asoslangan protsessorlar oilasidan biridir.
ADC interfeysi: Atmega16 8 bitli ADC (analogdan to raqamli konverter) bilan jihozlangan va 10 bitli sig'imga ega. ADC, masalan, sensor kiritish uchun analog kirishni o'qiydi va uni mikrokontrolder tomonidan tushunarli bo'lgan raqamli ma'lumotlarga o'zgartiradi.
· Taymerlar va Hisoblagichlar: Atmega16 ikkita 8 bitli va bitta 16 bitli taymer hisoblagichlardan iborat. Taymerlar aniq amallarni yaratish uchun foydalidir, masalan, ikkita operatsiya o'rtasida vaqtning kechikishini keltirib chiqaradi.
· Qo'riqchi taymeri: Qo'riqchi taymeri ichki osilator bilan mavjud. Watchdog taymeri doimiy ravishda nazorat qiladi va agar biron bir amal bajarishda kod belgilangan vaqtdan ko'proq vaqt davomida ushlanib qolsa kontrollerni qayta tiklaydi.
Kontrollerlarning interfeyslari
KONTROLLER — elektr dvigatellarni ishga tushirish (yurgizib yuborish), tezligini rostlab turish, reversirlash (dvigatel oʻqining aylanish yoʻnalishini oʻzgartirish) va toʻxtatish uchun moʻljallangan past kuchlanishli elektr apparat. Tuzilishi jihatdan koʻp pogʻonali yassi, barabanli va kulachokli almashlab ulagichlardan iborat. Odatda, Kontroller dasta yoki zalvar massa (maxovik) yordamida qoʻlda boshqariladi; agar maʼlum masofadan turib boshqariladigan boʻlsa, servomotor qoʻllaniladi. Kontroller yordamida boshqarish zanjiridagi, kuch zanjirlarini biriktirish sxemalaridagi va elektr dvigatellarni uygʻotish zanjirlaridagi elektr qarshilik oʻzgartiriladi. Kontrollerlar elektronika (jumladan, kompyuterlar)da ham qoʻllaniladi. Kichkina yoki mega AVR-ning har bir GPIO porti sakkiz pingacha sig'adi va uchta 8 bitli registrlar tomonidan boshqariladi: DDRx, PORTx va PINx, bu erda x portning identifikatori.PINx: Kirish signalini o'qish uchun ishlatiladigan kirish registri. Ba'zi bir qurilmalarda ushbu registrni ulash uchun ishlatilishi mumkin: PINx bitiga mantiqiy yozishni yozish, DDRx bitining sozlanishidan qat'iy nazar, PORTx-da tegishli bitni o'zgartiradi.ATtiny817 va uning aka-ukalari singari yangi ATtiny AVR-larda portlarni boshqarish registrlari biroz boshqacha belgilangan. xmegaAVR-da surish / tortish, totem-qutb va tortish konfiguratsiyalari uchun qo'shimcha registrlar mavjud.AVR arxitekturasining aksariyat variantlarida, bu ichki EEPROM xotirasi MCU-ning murojaat qilinadigan xotira maydoniga joylashtirilmagan. Unga faqat tashqi periferik qurilma singari kirish mumkin, bu maxsus marker registrlari va o'qish-yozish ko'rsatmalaridan foydalanib, EEPROM-ga kirishni boshqa ichki RAMga qaraganda ancha sekinlashtiradi. Biroq, SecureAVR (AT90SC) turkumidagi ba'zi qurilmalar konfiguratsiyaga qarab ma'lumotlar yoki dasturlar xotirasida maxsus EEPROM xaritalashidan foydalanadilar. XMEGA turkumi, shuningdek, EEPROM-ni ma'lumotlar manzili maydoniga joylashtirishga imkon beradi.
EEPROM-ga yozish soni cheklanganligi sababli - Atmel o'z ma'lumotlar jadvalida 100,000 yozish tsiklini belgilaydi - yaxshi ishlab chiqilgan EEPROM yozish usuli EEPROM manzilini kerakli tarkib bilan taqqoslashi kerak va agar tarkibni o'zgartirish kerak bo'lsa, faqat haqiqiy yozishni bajarishi kerak.
Shuni yodda tutingki, o'chirish va yozish jarayoni ko'p hollarda alohida-alohida baytda bajarilishi mumkin, bu bitlarni faqat 1s (o'chirish) yoki 0s (yozish) uchun tanlab tozalash kerak bo'lganda umrni uzaytirishga yordam beradi.
AVR protsessorlari kompilyatsiya qilingan C kodni samarali bajarish bilan yaratilgan va tas uchun bir nechta o'rnatilgan ko'rsatkichlarga ega. AVR chipiga dastur kodini yuklash uchun ko'plab vositalar mavjud. AVR chiplarini dasturlash usullari AVR oilasidan oilaga qarab farq qiladi. Dasturlash rejimiga kirish uchun quyida tavsiflangan usullarning ko'pi RESET liniyasidan foydalanadi. Tasodifan bunday holatga tushmaslik uchun, RESET pimi va quvvat manbai o'rtasida tortish rezistorini ulash tavsiya etiladi.
Tizimli dasturlash (ISP) dasturlash usuli SPI orqali funktsional ravishda amalga oshiriladi, shuningdek Reset liniyasining bir oz twiddling. AVR-ning SPI pinlari hech qanday buzadigan narsaga ulanmagan ekan, AVR chipi qayta dasturlashda tenglikni saqlanib qolishi mumkin. Buning uchun faqat 6 pinli ulagich va dasturiy adapter kerak. Bu AVR bilan rivojlanishning eng keng tarqalgan usuli.
Atmel-ICE qurilmasi yoki AVRISP mkII (Legacy device) kompyuterning USB portiga ulanadi va Atmel dasturi yordamida tizimli dasturlashni amalga oshiradi.
AVRDUDE (AVR Downloader / UploaDEr) Linux, FreeBSD, Windows va Mac OS X-da ishlaydi va turli xil tizimdagi dasturiy ta'minotni qo'llab-quvvatlaydi, shu jumladan Atmel AVRISP mkII, Atmel JTAG ICE, eski Atmel seriyali portga asoslangan dasturchilar va turli xil uchinchi tomon va "o'z-o'zidan" dasturchilar.
PDI.Dastur va Nosozliklarni tuzatish interfeysi (PDI) - bu Atmel xususiy interfeysi bo'lib, tashqi dasturlash va XMEGA qurilmalarini chip orqali disk raskadrovka qilish. PDI barcha uchmaydigan xotira (NVM) bo'shliqlarini yuqori tezlikda dasturlashni qo'llab-quvvatlaydi; flesh, EEPROM, sigortalar, qulflash moslamalari va foydalanuvchi imzosi qatori. Bu XMEGA NVM kontrolleriga PDI interfeysi orqali kirish va NVM kontrol buyruqlarini bajarish orqali amalga oshiriladi. PDI - bu soat kiritish uchun PET (PDI_CLK) va kirish va chiqish uchun ajratilgan ma'lumotlar pinidan (PDI_DATA) foydalanib, ikkita pinli interfeys.
UPDI.Birlashtirilgan dastur va nosozliklarni tuzatish interfeysi (UPDI) tashqi dasturlash va yangi ATtiny va ATmega qurilmalarini chip orqali disk raskadrovka qilish uchun bitta simli interfeys.
Yuqori voltli seriyali. Yuqori voltli ketma-ket dasturlash (HVSP) asosan kichikroq avtoulovlarda zaxira rejimidir. 8 pinli AVR to'plami AVR-ni dasturlash rejimiga o'rnatish uchun ko'plab noyob signal kombinatsiyalarini qoldirmaydi. Biroq, 12 voltli signal bu AVR faqat dasturlash paytida ko'rilishi kerak va normal ish paytida. Yuqori kuchlanish holati sigortalar yordamida qayta o'rnatish pimi o'chirilgan ba'zi qurilmalarda ham ishlatilishi mumkin. Yuqori voltli parallel. Yuqori kuchlanishli parallel dasturlash (HVPP) "oxirgi kurort" deb hisoblanadi va AVR chipidagi yomon sug'urta parametrlarini tuzatishning yagona yo'li bo'lishi mumkin.
Bootloader Ko'pgina AVR modellari 256 baytdan 4 Kb gacha bo'lgan bootloader mintaqasini zaxiralashlari mumkin, bu erda qayta dasturlash kodi joylashgan bo'lishi mumkin. Qayta tiklashda birinchi navbatda yuklash vositasi ishga tushadi va foydalanuvchi dasturlashtirgan dasturni qayta dasturlash yoki asosiy dasturga o'tish to'g'risida qaror qiladi. Kod mavjud bo'lgan har qanday interfeys orqali qayta dasturlashtirishi yoki PXE kabi chekilgan adapter orqali shifrlangan ikkilikni o'qishi mumkin. Atmel ko'plab avtobus interfeyslariga tegishli dastur yozuvlari va kodlariga ega. ROM. AT90SC seriyali AVR-lar dastur xotirasi uchun emas, balki zavod niqob-ROM-larida mavjud. Old buyurtma narxi va buyurtmaning minimal miqdori tufayli, niqob-ROM yuqori mahsuldorlikka ega bo'lganlar uchun faqat iqtisodiy jihatdan qulaydir. aWire - bu yangi UC3L AVR32 qurilmalarida mavjud bo'lgan bitta simli tuzatish interfeysi. Nosozliklarni tuzatish interfeysi AVR nosozliklarni tuzatish uchun bir nechta variantlarni taklif qiladi, asosan chip tizim maqsad tizimida bo'lsa, chipni disk raskadrovka qilish.WIRE - bu Atmel-ning bitta mikrokontroller pimi orqali chip orqali disk raskadrovka imkoniyatlarini taqdim etish uchun echim. Bu, ayniqsa, JTAG uchun zarur bo'lgan to'rtta "zaxira" pinlarni ta'minlay olmaydigan pinlar soni uchun foydalidir. JTAGICE mkII, mkIII va AVR Dragon disk raskadrovka dasturini qo'llab-quvvatlaydi. debugWIRE original JTAGICE versiyasidan keyin ishlab chiqilgan va hozirda klonlar uni qo'llab-quvvatlamoqda. Jtag. Birlashgan Sinov Harakatlari Guruhi (JTAG) xususiyati chip tizimida ishlayotgan paytda chiplarni disk raskadrovka funktsiyalariga kirish huquqini beradi. JTAG ichki xotira va registrlarga kirish, kodning kirish nuqtalarini belgilash va tizimning ishlashini kuzatish uchun bir bosqichli bajarishga imkon beradi.Atmel AVR uchun bir qator JTAG adapterlarini taqdim etadi:JTAGICE mkII JTAGICE o'rnini bosadi va xuddi shunday narxga ega. Kompyuter orqali USB orqali JTAGICE mkII interfeysi mavjud va JTAG va yangi debugWIRE interfeyslarini qo'llab-quvvatlaydi. Atmel JTAGICE mkII qurilmasining uchinchi tomon klonlari Atmel aloqa protokoli chiqqandan keyin yuk tashishni boshladi.AVR Dragon ba'zi maqsadli qismlar uchun arzon narxda (taxminan 50 AQSh dollari) JTAGICE mkII o'rnini bosadi. AVR Dragon tizimli ketma-ket dasturlash, yuqori voltli ketma-ket dasturlash va parallel dasturlash, shuningdek, 32 Kb yoki undan kam xotira hajmiga ega qismlar uchun JTAG yoki debugWIRE emulyatsiyasini ta'minlaydi. ATMEL AVR Dragon-ning nosozliklarni tuzatish xususiyatini AVR Studio 4 - AVR Studio 5-ning eng so'nggi dasturiy ta'minoti bilan o'zgartirdi va hozirda u 32 Kb dan ortiq dastur xotirasiga ega qurilmalarni qo'llab-quvvatlaydi.
II. bob Mavzuning bugungi kundagi holati va masalaning yechimi 2.1. Rivojlangan mikrokontrollerlarning turlari, tarkibi foydalanishdagi buyruqlar tizimi, sinxronizatsiyalash sxemasi Hozirgi vaqtda mikrokontrollerlarning bir qator turlari ishlab chiqarilmoqda. Bularning barchasini shartli ravishda uchta asosiy sinfga bo‘lish mukin:
Mikroprotsessor oilasining eng ko‘p tarqalgan namoyondasi, sanoatda, uy ro‘zg‘or buyumlarida va kompyuter texnikasida ko‘p ishlatiladigan 8-razryadlik mikrokontrollerlardir. Ular o‘z rivojlanish tarixida oddiy nisbatan tashqi qurilmasi rivojlanmagan qurilmalardan to zamonaviy ko‘p vazifali, real vaqt o‘lchamida murakkab boshqarish algoritmlarini bajaruvchi mikrokontrollerigacha bo‘lgan yo‘lni bosib o‘tdi. 8-razryadli mikrokontrollerlarni yashovchanlik xususiyatining sababi, real obektlarni boshqarish uchun ishlatilishligi va ularda asosan ishlov berish tezligi amaliy jihatdan protsessorning razryadlar soniga bog‘liq bo‘lmagan mantiqiy operatsiyalar ko‘p bo‘lgan algoritmlarni ishlatilishidadir.
8-razryadli mikrokontrollerlarni ommabop bo‘lishining yana bir sababi taniqli bo‘lgan Motorola, Microchip, Intel, Zilog, Atmel va boshqa firmalarning doimiy maxsulot turini kengaytirib borishidir. Zamonaviy 8-razryadli mikrokontrollerlarini odatda bir qator farq qiluvchi belgilari mavjutdir. Ularning asosiysini sanab o‘tamiz:
modulliy tashkillanishi, u holda bitta protsessor yadrosi (markaziy protsessor) asosida mikrokontroller qatorini (lineyka) loyihalashtiriladi, ular dastur xotirasining turi va hajmi bilan, axborot xotirasining xajmi, tashqi modul to‘plamlari va sinxronlash chastotasi bilan farqlanadilar.
mikrokontroller ning yopiq arxitekturasidan foydalanish, u magistralning manzillar va axborotlar yo‘lining mikrokontroller g‘ilof oyoqchalariga chiqarilmaganligi bilan xarakterlanadi. Shunday qilib, mikrokontroller tugatilgan axborotlarga ishlov berish tizimi bo‘lib, uning imikrokontrolleroniyatlarini manzil va axborotlarning parallel magistrallarini qo‘llash orqali oshirish nazarda tutilmagan.
tipik funksional tashqi modullaridan foydalanish (taymer, voqea protsessorlari, ketma-ket interfeys kontrollerlari, analog-raqam o‘zgartiruvchilar va boshqalar), turli ishlab chiqaruvchilarning mikrokontroller da ishlash algoritmlari kam farqlanadi.
mikrokontroller maxsus vazifalar registrini dastlabki holatga o‘tqazish jarayonida beriluvchi tashqi modullarning ish tartiblari sonini oshishi. Modulli tamoyil asosida qurilgan bir oilaning barcha mikrokontroller lari bir xil protsessor yadrosiga ega bo‘ladilar va mikrokontroller ning turli modellarini ajratib turuvchi o‘zgaruvchan funksional blokka ega bo‘ladi.
1-chizmada modulli mikrokontroller tarkibiy sxemasi keltirilgan.
1-chizma. Mikrokontroller modulli tashkillashtirish.
Protsessor yadrosi o‘z tarkibiga quyidagi qurilmalarni oladi:
markaziy protsessor.
manzil, axborot va boshqarish shinalar tarkibida kontrollerning ichki magistrali (KIM);
mikrokontroller sinxronizatsiyalash sxemasi.
mikrokontroller ish tartibini boshqarish sxemasi, shu jumladan yana pasaytirilgan energiyani isteʻmol ish tartibini quvvatlash, dastlabki ishga tushurish (sbros, tashlash) va h.k.o‘z ichiga olgan.
O‘zgaruvchan funksional blok o‘z tarkibiga turli xildagi va turli sig‘imga ega bo‘lgan xotira modullarini, kiritish/chiqarish portlarini, takt generator modulini (G), taymerni oladi. Nisbatan oddiy mikrokontrollerlarda uzilishlarga ishlov berish moduli protsessor yadrosining tarkibiga kiradi. Ancha murakkab mikrokontrollerlarda esa u rivojlangan imikrokontrolleroniyatli alohida modul sifatida bo‘ladi. O‘zgaruvchan funksional blok tarkibiga qo‘shimcha modul sifatida kuchlanish komparatori, analog-raqam o‘zgartiruvchi (ARO‘) va boshqalar kirishi mumikrokontrollerin. Har bir modul mikrokontroller tarkibida kontrollerning ichki magistralining (KIM) protokollarini hisobga olingan holda ishlashi uchun loyihalashtiriladi. Ushbu yondoshish bir oila ichida tarkibi jihatidan turli mikrokontroller yaratish imikrokontrolleronini beradi.