2.3.Foydalanuvchi interfeysi
Dasturlash interfeysi.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.
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.
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.
JTAGICE 3 - bu JTAGICE oilasida o'rta darajadagi tuzatuvchi (JTAGICE mkIII). U JTAG, aWire, SPI va PDI interfeyslarini qo'llab-quvvatlaydi.
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. JTAGICE adapterining interfeysi standart ketma-ket port orqali kompyuterga ulanadi. [Izoh talab qilinadi] Garchi JTAGICE adapteri Atmel tomonidan "xizmat muddati" deb e'lon qilingan bo'lsa ham, u AVR Studio va boshqa vositalarda ishlaydi. JTAG chegara tekshiruvini o'tkazish uchun ham ishlatilishi mumkin [31], bu AVR va tizimdagi boshqa chegara tekshiruvi chiplari orasidagi elektr aloqalarini sinovdan o'tkazadi. Chegara tekshiruvi ishlab chiqarish liniyasi uchun juda mos keladi, va hobbiist, ehtimol multimetr yoki osiloskop bilan sinab ko'rish yaxshiroqdir. Loyihalash vositalari va baholash to'plamlari Atmel STK500 ishlab chiqish taxtasi Rasmiy Atmel AVR asboblari va baholash to'plamlari ko'plab AVR moslamalarini qo'llab-quvvatlaydigan bir qator boshlang'ich to'plamlarni va tuzatish vositalarini o'z ichiga oladi:
STK600 boshlang'ich to'plami
STK600 starter to'plami va ishlab chiqish tizimi STK500 uchun yangilanishdir. STK600 bazaviy taxtadan, signalni yo'naltirish platasidan va nishon taxtasidan foydalanadi. Baza taxtasi STK500 ga o'xshaydi, chunki u quvvat manbai, soat, tizimdagi dasturlash, RS-232 porti va CAN (Controller Area Network, avtomobil standarti) portini DE9 ulagichlari orqali va ustunlar uchun pinlar bilan ta'minlaydi. maqsad qurilmadan barcha GPIO signallari.Maqsadli taxtalarda DIP, SOIC, QFN yoki QFP paketlari uchun ZIF rozetkalari mavjud. Signalni yo'naltirish paneli asosiy taxta va maqsad paneli o'rtasida o'tiradi va signallarni moslama panelidagi kerakli pinga yo'naltiradi. ZIF rozetkasida qaysi qurilmaning mavjudligiga qarab bitta maqsadli taxtadan foydalanish mumkin bo'lgan turli xil signallarni yo'naltirish platalari mavjud.
STK500 kengaytirish modullari: STK500 kengashi uchun bir nechta kengaytirish modullari mavjud:
STK501 - 64 pinli TQFP paketlarida mikrokontrolörlarni qo'llab-quvvatlaydi.
STK502 - 64 pinli TQFP paketlarida LCD AVR-larni qo'llab-quvvatlaydi.
STK503 - 100 pinli TQFP paketlarida mikrokontrolörlarni qo'llab-quvvatlaydi.
STK504 - 100 pinli TQFP paketlarida LCD AVR-larni qo'llab-quvvatlaydi.
STK505 - 14 va 20 pinli AVR-larni qo'llab-quvvatlaydi.
STK520 - AT90PWM va ATmega oilasidan 14 va 20 va 32 pinli mikrokontrolderlarni qo'llab-quvvatlaydi.
STK524 - ATmega32M1 / C1 32 pinli CAN / LIN / Motor Control oilasini qo'llab-quvvatlaydi.
STK525 - 64 pinli TQFP paketlarida AT90USB mikrokontrollerlarini qo'llab-quvvatlaydi.
STK526 - 32 pinli TQFP paketlarida AT90USB mikrokontrollerlarini qo'llab-quvvatlaydi.
STK200 boshlang'ich to'plami
STK200 starter to'plami va ishlab chiqish tizimida 40, 20 yoki 8 pinli paketda AVR chipini joylashtiradigan DIP soket mavjud.
Bortda 4 MGts soat manbai, 8 yorug'lik chiqaradigan diod (LED) s, 8 kirish tugmachalari, RS-232 porti, 32km SRAM uchun rozetka va ko'plab umumiy kirish - chiqish mavjud.
Chipni parallel portga ulangan dongle bilan dasturlash mumkin.
Qo'llab-quvvatlanadigan mikrokontrollerlar (qo'llanmaga muvofiq)
Il interfeyslardan, jumladan RS-232, PC-port va USB-dan foydalanadi.
Atmel AVR ATmega328 Arduino Duemilanove taxtasida 28-raqamli DIP
Atmel AVR ATmega8 28-raqamli DIP maxsus ishlab chiqilgan taxtada Avtoulovlar xavfsizlik, xavfsizlik, elektr ta'minoti va o'yin-kulgi tizimlari kabi turli xil avtomobil dasturlarida ishlatilgan. Yaqinda Atmel kompaniyasi ishlab chiqaruvchilarga avtomobil dasturlari bo'yicha yordam berish uchun yangi "Atmel Automotive Compilation" nashrini chiqardi. Ba'zi bir joriy foydalanish BMW, Daimler-Chrysler va TRWda mavjud. Arduino jismoniy hisoblash platformasi ATmega328 mikrokontrolleriga asoslanadi (ATMEga168 yoki ATMEga8 Diceimiladan oldingi versiyalarda). Arduino Mega platformasini ishlab chiqish uchun ko'proq pinout va xotira qobiliyatiga ega ATmega1280 va ATmega2560-dan foydalanildi. Arduino platalaridan uning tili va IDE bilan, yoki odatiy dasturlash muhitlari (C, assembler va boshqalar) bilan standartlashtirilgan va keng tarqalgan AVR platformalari sifatida foydalanish mumkin.
USB-ga asoslangan AVR-lar Microsoft Xbox qo'l nazoratchilarida ishlatilgan. Kontrollerlar va Xbox o'rtasidagi aloqa bu USB. Ko'plab kompaniyalar sevimli mashg'ulotchilar, robot quruvchilar, eksperimentchilar va kichik tizim ishlab chiqaruvchilari tomonidan foydalanishga mo'ljallangan AVR asosidagi mikrokontrolerlar panellarini ishlab chiqaradilar, jumladan: Cubloc, gnusb, BasicX, Oak Micros, ZX Microcontrollers, va myAVR. Shu kabi foydalanuvchilarni qo'llab-quvvatlaydigan Arduino-mos keladigan kengashlarning katta hamjamiyati mavjud. 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. JTAGICE adapterining interfeysi standart ketma-ket port orqali kompyuterga ulanadi. [Izoh talab qilinadi] Garchi JTAGICE adapteri Atmel tomonidan "xizmat muddati" deb e'lon qilingan bo'lsa ham, u AVR Studio va boshqa vositalarda ishlaydi.
Xulosa.
AVR mikrokontrollerlari Garvard arxitekturasiga ega ko’ra (dastur va ma'lumotlar turli manzil maydonlarida joylashgan) va buyruqlar tizimi RISC mafkurasiga yaqin. AVR protsessorida 32 ta umumiy maqsadli 8-bitli registrlar mavjud, ular registrlar fayliga birlashtirilgan. Risklarni "mukammal" RISC dan farqli o'laroq, registrlar mutlaqo nomuvofiq emas: Ba'zi buyruqlar faqat registrlari bilan ishlaydi. Bular to'g'ridan-to'g'ri operand bilan ishlaydigan buyruqlar: ANDI / CBR, ORI / SBR, CPI, LDI, LDS (16 bit), STS (16 bit), SUBI, SBCI, shuningdek SER va MULS;16 bitli qiymatni oshiradigan va kamaytiradigan buyruqlar (ular mavjud bo'lgan modellarda) to'g'ridan-to'g'ri operand juftliklaridan bittasi bilan ishlaydi.
Ikkita registrni nusxalash buyrug'i (u mavjud bo'lgan modellarda) faqat qo'shni registrlar bilan ishlaydi. Ko'paytirish natijasi (ko'payish moduli mavjud bo'lgan modellarda) har doim r1: r0 ga joylashtiriladi. Bundan tashqari, faqat ushbu juftlik o'z-o'zini dasturlash bo'yicha ko'rsatmalar uchun operandlar sifatida ishlatiladi (mavjud bo'lsa); Ko'paytirish ko'rsatmalarining ba'zi variantlari faqat r16 ... r23 diapazonidan (FMUL, FMULS, FMULSU, MULSU) ro'yxatga olishlarni argument sifatida qabul qiladi.Buyruqlar tizimi.AVR mikrokontrollerlarining buyruq tizimi juda rivojlangan va har xil modellarda 90 dan 133 gacha turli xil ko'rsatmalarga ega. Aksariyat buyruqlar faqat bitta xotira hujayrasini oladi (16 bit). Aksariyat jamoalar 1 marotaba bajaradilar.
Do'stlaringiz bilan baham: |