Sxema va materiallar. Dasturchi proshivkasini yangilash

Teatr ilgichdan boshlanganidek, mikrokontrollerlarni dasturlash ham yaxshi dasturchi tanlashdan boshlanadi. Men kompaniyaning mikrokontrollerlarini o'zlashtira boshlaganimdan beri ATMEL, keyin men ishlab chiqaruvchilar taklif qiladigan narsalar bilan yaxshilab tanishishim kerak edi. Ular juda ko'p qiziqarli va mazali narsalarni taklif qilishadi, faqat o'ta yuqori narxlarda. Misol uchun, jabduq sifatida bir juft rezistor va diodli yigirma oyoqli mikrokontrollerli sharf "samolyot" kabi turadi. Shuning uchun dasturchining o'zini o'zi yig'ish masalasi paydo bo'ldi. Tajribali radio havaskorlarining ishlanmalarini uzoq vaqt o'rganib chiqqandan so'ng, yaxshi tasdiqlangan dasturchini yig'ishga qaror qilindi. USBASP , uning miyasi mikrokontrollerdirAtmega8 (shuningdek, atmega88 va atmega48 uchun proshivka imkoniyatlari mavjud). Mikrokontrollerning minimal simlari sizga flesh-disk kabi har doim o'zingiz bilan olib yurishingiz mumkin bo'lgan juda miniatyura dasturchini yig'ishga imkon beradi.

Miniatyura dasturchisini yig'ishga qaror qilingandan so'ng, men korpusdagi Atmega8 mikrokontrolleri sxemasini qayta tikladim. TQFP32(mikrokontrollerning pinouti DIP paketidagi pinoutdan farq qiladi):

Jumper J1, agar 1,5 MGts dan past chastotali mikrokontrollerni miltillash zarur bo'lsa ishlatiladi. Aytgancha, bu jumperni MK ning 25-oyog'ini erga qo'yish orqali butunlay yo'q qilish mumkin. Keyin dasturchi har doim kamaytirilgan chastotada ishlaydi. Shaxsan men kamaytirilgan tezlikda dasturlash soniyaning bir qismini ko'proq vaqt talab qilishini payqadim va shuning uchun endi men jumperni tortmayman, balki u bilan doimo tikaman.
D1 va D2 zener diodlari dasturchi va USB avtobus o'rtasidagi darajalarni moslashtirish uchun ishlatiladi; ularsiz ishlaydi, lekin hamma kompyuterlarda emas.
Moviy LED kontaktlarning zanglashiga olib dasturlash uchun tayyor ekanligini bildiradi, qizil LED esa dasturlash paytida yonadi. Dasturlash kontaktlari IDC-06 ulagichida joylashgan, pinout 6 pinli ISP ulagichi uchun ATMEL standartiga mos keladi:


Ushbu ulagichda dasturlashtiriladigan qurilmalarni quvvatlantirish uchun kontaktlar mavjud, bu erda u to'g'ridan-to'g'ri kompyuterning USB portidan olinadi, shuning uchun ehtiyot bo'lishingiz va qisqa tutashuvlardan qochishingiz kerak. Xuddi shu ulagich nazorat mikrokontrollerini dasturlash uchun ham ishlatiladi, buning uchun konnektor va mikrokontrollerdagi Reset pinlarini ulang (diagrammadagi qizil nuqta chiziqqa qarang). Muallifning sxemasida bu jumper bilan amalga oshiriladi, lekin men taxtani chalkashtirib yubormadim va uni olib tashladim. Bitta proshivka uchun oddiy simli o'tish moslamasi etarli bo'ladi. Kengash 45x18 mm o'lchamdagi ikki tomonlama bo'lib chiqdi.


Dasturlash ulagichi va dasturchining tezligini pasaytiradigan jumper qurilmaning oxirida joylashgan, bu juda qulay


Boshqaruv mikrokontrollerining dasturiy ta'minoti

Shunday qilib, qurilmani yig'gandan so'ng, qolgan eng muhim narsa - boshqaruv mikrokontrollerini miltillash. Hali ham LPT portiga ega kompyuterlari bo'lgan do'stlar bu maqsadlar uchun juda mos keladi :)AVR uchun eng oddiy besh simli dasturchi
Mikrokontroller (29 oyoq) va ulagichning Reset pinlarini ulab, dasturlash ulagichidan mikrokontrollerni o'chirish mumkin. Mikrodastur Atmega48, Atmega8 va Atmega88 modellari uchun mavjud. Oxirgi ikkita toshdan birini ishlatish tavsiya etiladi, chunki Atmega48 versiyasini qo'llab-quvvatlash to'xtatilgan va dasturiy ta'minotning so'nggi versiyasi 2009 yilga to'g'ri keladi. Va 8-chi va 88-chi toshlar uchun versiyalar doimiy ravishda yangilanadi va muallif ushbu funktsiyaga elektron tuzatuvchini qo'shishni rejalashtirayotganga o'xshaydi. Biz proshivkani nemis sahifasidan olamiz. Boshqarish dasturini mikrokontrollerga yuklash uchun men PonyProg dasturidan foydalandim. Dasturlashda kristalni tashqi soat manbasidan 12 MGts chastotada ishlashga sozlash kerak. PonyProg-da sug'urta o'tkazgich sozlamalari bilan dasturning skrinshoti:


Mikrodasturni miltillagandan so'ng, mikrokontrollerning 23 oyog'iga ulangan LED yonishi kerak. Bu dasturchi muvaffaqiyatli dasturlashtirilganligi va foydalanishga tayyor ekanligining ishonchli belgisi bo'ladi.

Haydovchi o'rnatish

O'rnatish Windows 7 bilan ishlaydigan mashinada amalga oshirildi va hech qanday muammo yuzaga kelmadi. Kompyuteringizga birinchi marta ulanganingizda, yangi qurilma aniqlanganligi haqida xabar paydo bo'lib, drayverni o'rnatishni taklif qiladi. Belgilangan joydan o'rnatishni tanlang:


O'tin joylashgan papkani tanlang va "Keyingi" tugmasini bosing


O'rnatilgan drayverda kichik yumshoqlar uchun raqamli imzo yo'qligi haqida ogohlantirish bilan oyna darhol paydo bo'ladi:


Biz ogohlantirishni e'tiborsiz qoldiramiz va o'rnatishni davom ettiramiz, qisqa pauzadan so'ng drayverni o'rnatish jarayoni muvaffaqiyatli yakunlanganligi haqida bizga xabar beruvchi oyna paydo bo'ladi.


Hammasi shu, dasturchi endi foydalanishga tayyor.

Khazama AVR dasturchisi

Dasturchi bilan ishlash uchun men Khazama AVR Programmer chirog'ini tanladim. Minimalist interfeysga ega ajoyib dastur.


U barcha mashhur AVR mikrokontrollerlari bilan ishlaydi, flesh va eepromni miltillash, xotira tarkibini ko'rish, chipni o'chirish, shuningdek, sug'urta bitlarining konfiguratsiyasini o'zgartirish imkonini beradi. Umuman olganda, butunlay standart to'plam. Sug'urta sozlamalari ochiladigan ro'yxatdan soat manbasini tanlash orqali amalga oshiriladi, shuning uchun kristallni xato bilan blokirovka qilish ehtimoli keskin kamayadi. Sigortalarni pastki maydonga belgilash katakchalarini qo'yish orqali ham o'zgartirish mumkin, lekin siz mavjud bo'lmagan konfiguratsiyaga tasdiqlash qutilarini qo'ya olmaysiz va bu xavfsizlik nuqtai nazaridan ham katta ortiqcha.


Sigortalar, siz taxmin qilganingizdek, "Hammasini yozish" tugmasini bosish orqali MK xotirasiga yoziladi. Saqlash tugmasi joriy konfiguratsiyani saqlaydi va Yuklash tugmasi saqlanganini qaytaradi. To'g'ri, men bu tugmalardan amaliy foydalanishni topa olmadim. Standart tugma standart sug'urta konfiguratsiyasini yozib olish uchun mo'ljallangan, mikrokontrollerlar zavoddan keladi (odatda ichki RC dan 1 MGts).
Umuman olganda, men ushbu dasturchidan foydalangan vaqtim davomida u barqarorlik va ishlash tezligi bo'yicha o'zini eng yaxshi ko'rsatdi. U eski ish stoli kompyuterida ham, yangi noutbukda ham muammosiz ishlagan.

PCB faylni yuklab olingSprintLayout-da siz ushbu havolaga o'tishingiz mumkin

Radio havaskor mikrokontrollerda sxemani yig'ishga qaror qilsa, qanday birinchi qadamlarni qo'yishi kerak? Tabiiyki, nazorat qilish dasturi kerak - "proshivka" va dasturchi.

Va agar birinchi nuqtada hech qanday muammo bo'lmasa - tugallangan "proshivka" odatda sxemalar mualliflari tomonidan yuklanadi, keyin dasturchi bilan ishlar yanada murakkablashadi.

Tayyor USB dasturchilarning narxi ancha yuqori va eng yaxshi yechim uni o'zingiz yig'ish bo'ladi. Bu erda taklif qilingan qurilmaning diagrammasi (rasmlarni bosish mumkin).

Asosiy qism.

MK o'rnatish paneli.

Asl diagramma muallifning ruxsati bilan LabKit.ru veb-saytidan olingan, buning uchun unga katta rahmat. Bu xususiy PICkit2 dasturchisining klonidir. Qurilma versiyasi xususiy PICkit2 ning "engil" nusxasi bo'lganligi sababli, muallif o'zining rivojlanishini chaqirdi. PICkit-2 Lite, bu yangi boshlanuvchi radio havaskorlari uchun bunday qurilmani yig'ish qulayligini ta'kidlaydi.

Dasturchi nima qila oladi? Dasturchi yordamida siz eng oson mavjud va mashhur PIC seriyali MCU (PIC16F84A, PIC16F628A, PIC12F629, PIC12F675, PIC16F877A va boshqalar), shuningdek, 24LC seriyali EEPROM xotira chiplarini miltillashingiz mumkin. Bundan tashqari, dasturchi USB-UART konvertor rejimida ishlashi mumkin va mantiqiy analizatorning ba'zi funktsiyalariga ega. Dasturchiga ega bo'lgan ayniqsa muhim funktsiya - bu ba'zi MCU-larning (masalan, PIC12F629 va PIC12F675) o'rnatilgan RC generatorining kalibrlash doimiyligini hisoblash.

Kerakli o'zgarishlar.

Sxemada PICkit-2 Lite dasturchisi yordamida 24Cxx seriyali EEPROM xotira chiplaridan ma'lumotlarni yozish/o'chirish/o'qish mumkin bo'lishi uchun zarur bo'lgan ba'zi o'zgarishlar mavjud.

Sxemaga kiritilgan o'zgartirishlardan. DD1 (RA4) ning 6-pinidan ZIF panelining 21-piniga ulanish qo'shildi. AUX pin faqat 24LC EEPROM xotira chiplari (24C04, 24WC08 va analoglari) bilan ishlash uchun ishlatiladi. U ma'lumotlarni uzatadi, shuning uchun u dasturlash paneli diagrammasida "Ma'lumotlar" so'zi bilan belgilangan. Mikrokontrollerlarni dasturlashda odatda AUX pinidan foydalanilmaydi, garchi u LVP rejimida MKlarni dasturlashda kerak bo'lsa.

Xotira chiplarining SDA va Vcc pinlari orasiga ulangan 2 kOhm tortishish qarshiligi ham qo'shildi.

PICkit-2 Lite-ni muallifning asl diagrammasi bo'yicha yig'gandan so'ng, men ushbu o'zgartirishlarning barchasini bosilgan elektron platada allaqachon qildim.

24Cxx xotira chiplari (24C08 va boshqalar) maishiy radio uskunalarida keng qo'llaniladi va ba'zida ular, masalan, CRT televizorlarini ta'mirlashda yonib turishi kerak. Sozlamalarni saqlash uchun ular 24Cxx xotirasidan foydalanadilar.

LCD televizorlar boshqa turdagi xotiradan (Flesh xotira) foydalanadi. Men allaqachon LCD televizorning xotirasini qanday o'chirish haqida gapirgan edim. Agar kimdir qiziqsa, ko'ring.

24Cxx seriyali mikrosxemalar bilan ishlash zarurati tufayli men dasturchini "tugatishim" kerak edi. Men yangi bosilgan elektron platani chizmadim, shunchaki bosilgan elektron plataga kerakli elementlarni qo'shdim. Bu shunday bo'ldi.

Qurilmaning yadrosi mikrokontrollerdir PIC18F2550-I/SP.

Bu qurilmadagi yagona chip. MK PIC18F2550 "porlash" kerak. Ushbu oddiy operatsiya ko'pchilikni chalkashtirib yuboradi, chunki "tovuq va tuxum" deb ataladigan muammo paydo bo'ladi. Buni qanday hal qilganimni birozdan keyin aytib beraman.

Dasturchini yig'ish uchun qismlar ro'yxati. Mobil versiyada uning barcha ustunlarini ko'rish uchun jadvalni chapga (chapga o'ngga suring) torting.

Ism Belgilanish Reyting/Parametrlar Brend yoki element turi
Dasturchining asosiy qismi uchun
Mikrokontroller DD1 8-bitli mikrokontroller PIC18F2550-I/SP
Bipolyar tranzistorlar VT1, VT2, VT3 KT3102
VT4 KT361
Diyot VD1 KD522, 1N4148
Shottki diodi VD2 1N5817
LEDlar HL1, HL2 har qanday 3 volt, qizil Va yashil yorqin ranglar
Rezistorlar R1, R2 300 Ohm
R3 22 kOm
R4 1 kOm
R5, R6, R12 10 kOm
R7, R8, R14 100 Ohm
R9, R10, R15, R16 4,7 kOm
R11 2,7 kOm
R13 100 kOm
Kondensatorlar C2 0,1 mk K10-17 (keramika), import qilingan analoglar
C3 0,47 mikron
Elektrolitik kondansatkichlar C1 100 uF * 6,3 V K50-6, import qilingan analoglar
C4 47 uF * 16 V
Induktor (chok) L1 680 µH birlashtirilgan turdagi EC24, CECL yoki uy qurilishi
Kvarts rezonatori ZQ1 20 MGts
USB rozetkasi XS1 USB-BF turi
Jumper XT1 har qanday turdagi "jumper"
Mikrokontrollerni o'rnatish paneli uchun (MK)
ZIF paneli XS1 har qanday 40-pinli ZIF paneli
Rezistorlar R1 2 kOm MLT, MON (0,125 Vt va undan yuqori quvvat), import qilingan analoglar
R2, R3, R4, R5, R6 10 kOm

Endi tafsilotlar va ularning maqsadi haqida bir oz.

Yashil Dasturchiga quvvat berilganda LED HL1 yonadi va qizil Kompyuter va dasturchi o'rtasida ma'lumotlar uzatilganda HL2 LED yorug'lik chiqaradi.

Qurilmaning ko'p qirrali va ishonchliligini ta'minlash uchun XS1 tipidagi "B" (kvadrat) USB rozetkasi ishlatiladi. Kompyuter A tipidagi USB soketidan foydalanadi. Shuning uchun, ulanish kabelining rozetkalarini aralashtirish mumkin emas. Ushbu yechim qurilmaning ishonchliligiga ham hissa qo'shadi. Agar kabel yaroqsiz bo'lib qolsa, uni lehim yoki o'rnatish ishlariga murojaat qilmasdan osongina yangisi bilan almashtirish mumkin.

680 mkH induktor L1 sifatida tayyor (masalan, EC24 yoki CECL turlari) foydalanish yaxshiroqdir. Ammo tayyor mahsulotni topa olmasangiz, gaz kelebeğini o'zingiz qilishingiz mumkin. Buni amalga oshirish uchun siz CW68 tipidagi induktordan ferrit yadrosiga PEL-0,1 simining 250 - 300 burilishlarini shamollashingiz kerak. Qayta aloqa bilan PWM mavjudligi sababli indüktans reytingining to'g'riligi haqida tashvishlanishning hojati yo'qligini hisobga olish kerak.

Yuqori kuchlanishli dasturlash uchun kuchlanish (Vpp) +8,5 dan 14 voltgacha kalit regulyator tomonidan yaratiladi. U VT1, VD1, L1, C4, R4, R10, R11 elementlarini o'z ichiga oladi. PWM impulslari PIC18F2550 ning 12-pinidan VT1 bazasiga yuboriladi. Teskari aloqa R10, R11 bo'luvchi tomonidan taqdim etiladi.

ICSP (In-Circuit Serial Programming) rejimida USB dasturchidan foydalanganda elektron elementlarni dasturlash liniyalarining teskari kuchlanishidan himoya qilish uchun VD2 diodasi ishlatiladi. VD2 - bu Schottky diodidir. P-N birikmasida 0,45 voltdan ko'p bo'lmagan kuchlanish pasayishi bilan tanlanishi kerak. Shuningdek, VD2 diodi dasturchi USB-UART konvertatsiyasi va mantiqiy analizator rejimida foydalanilganda elementlarni teskari kuchlanishdan himoya qiladi.

Dasturchidan faqat paneldagi mikrokontrolderlarni dasturlash uchun foydalanilganda (ICSP dan foydalanmasdan), siz VD2 diyotini butunlay yo'q qilishingiz mumkin (men shunday qildim) va o'rniga jumperni o'rnatishingiz mumkin.

Qurilmaning ixchamligi universal ZIF paneli (Zero Insertion Force - nol o'rnatish harakati bilan) tomonidan amalga oshiriladi.

Buning yordamida siz mikrokontrollerni deyarli har qanday DIP to'plamiga "ulashingiz" mumkin.

"Mikrokontroller (MK) o'rnatish paneli" diagrammasi panelga turli korpusli mikrokontrollerlarni qanday o'rnatish kerakligini ko'rsatadi. MKni o'rnatayotganda, paneldagi mikrokontroller chipdagi kalit ZIF panelini qulflash dastagining yon tomonida joylashganligiga e'tibor berishingiz kerak.

18 pinli mikrokontrollerlarni (PIC16F84A, PIC16F628A va boshqalar) shunday o'rnatishingiz kerak.

Va bu erda 8 pinli mikrokontrollerlar (PIC12F675, PIC12F629 va boshqalar).

Agar siz mikrokontrollerni sirtga o'rnatiladigan paketda (SOIC) o'chirib qo'yishingiz kerak bo'lsa, siz adapterdan foydalanishingiz yoki odatda dasturlash uchun zarur bo'lgan 5 pinni mikrokontrollerga lehimlashingiz mumkin (Vpp, Clock, Data, Vcc, GND).

Maqolaning oxiridagi havolada barcha o'zgarishlar bilan bosilgan elektron plataning tayyor chizmasini topishingiz mumkin. Faylni Sprint Layout 5.0 dasturida ochib, "Chop etish" rejimidan foydalanib, siz nafaqat bosilgan o'tkazgichlar naqshli qatlamni chop etishingiz, balki bosilgan elektron platadagi elementlarning joylashishini ham ko'rishingiz mumkin. DD1-ning 6-pinini va ZIF panelining 21-pinini bog'laydigan izolyatsiyalangan jumperga e'tibor bering. Taxta chizmasini chop etishingiz kerak oyna tasvirida.

LUT usuli yordamida bosilgan elektron platani, shuningdek, tsaponlak (men shunday qildim) yoki "qalam" usuli yordamida bosilgan elektron platalar uchun marker yasashingiz mumkin.

Bu erda bosilgan elektron platadagi elementlarning joylashuvi tasviri (bosish mumkin).

O'rnatishda birinchi qadam konservalangan mis simdan yasalgan o'tish moslamalarini lehimlash, keyin past profilli elementlarni (rezistorlar, kondansatörler, kvarts, ISCP pinli ulagichi), so'ngra tranzistorlar va dasturlashtirilgan MKni o'rnatishdir. Oxirgi qadam - ZIF panelini, USB rozetkasini o'rnatish va simlarni izolyatsiyalashda (jumperlar) muhrlash.

PIC18F2550 mikrokontrollerining "proshivka".

Mikrodastur fayli - PK2V023200.hex PIC mikrokontrollerlarini (masalan, Extra-PIC) qo'llab-quvvatlaydigan har qanday dasturchi yordamida PIC18F2550I-SP MK ni xotiraga yozishingiz kerak. Men JDM Programmator JONIC PROG va dasturdan foydalandim WinPic800.

Mikrodasturni PIC18F2550 MCU ga bir xil xususiy dasturchi PICkit2 yoki uning yangi PICkit3 versiyasidan foydalanib yuklashingiz mumkin. Tabiiyki, siz buni uy qurilishi PICkit-2 Lite bilan qilishingiz mumkin, agar do'stlaringizdan biri uni sizdan oldin yig'ishga muvaffaq bo'lsa :).

Shuni ham bilish kerakki, PIC18F2550-I/SP mikrokontrollerining "proshivka" (fayl) PK2V023200.hex) PICkit 2 Programmer dasturini dasturning o'zi fayllari bilan birga papkaga o'rnatishda yoziladi. PK2V023200.hex faylining taxminiy joylashuvi - "C:\Program Files (x86)\Microchip\PICkit 2 v2\PK2V023200.hex" . Shaxsiy kompyuterida Windows-ning 32-bitli versiyasi o'rnatilganlar uchun joylashuv yo'li boshqacha bo'ladi: "C:\Program Files\Microchip\PICkit 2 v2\PK2V023200.hex" .

Xo'sh, agar siz taklif qilingan usullardan foydalangan holda "tovuq va tuxum" muammosini hal qila olmasangiz, AliExpress veb-saytida tayyor PICkit3 dasturchini sotib olishingiz mumkin. U yerda ancha arzon turadi. AliExpressda ehtiyot qismlar va elektron to'plamlarni qanday sotib olish haqida yozdim.

Dasturchi proshivkasini yangilash.

Taraqqiyot to'xtamaydi va vaqti-vaqti bilan Microchip o'zining dasturiy ta'minoti uchun, jumladan PICkit2, PICkit3 dasturchisi uchun yangilanishlarni chiqaradi. Tabiiyki, biz uy qurilishi PICkit-2 Lite boshqaruv dasturini ham yangilashimiz mumkin. Buning uchun sizga PICkit2 Programmer dasturi kerak bo'ladi. Bu nima va uni qanday ishlatish kerak - birozdan keyin. Ayni paytda, proshivkani yangilash uchun nima qilish kerakligi haqida bir necha so'z.

Dasturchining dasturiy ta'minotini yangilash uchun, kompyuterdan uzilganida dasturchidagi XT1 jumperini yopishingiz kerak. Keyin dasturchini shaxsiy kompyuterga ulang va PICkit2 Programmer-ni ishga tushiring. XT1 yopilganda, rejim faollashadi yuklovchi proshivkaning yangi versiyasini yuklab olish uchun. Keyin PICkit2 Programmer-da, "Asboblar" - "PICkit 2 operatsion tizimini yuklab olish" menyusi orqali yangilangan proshivkaning oldindan tayyorlangan hex faylini oching. Keyinchalik, dasturchining dasturiy ta'minotini yangilash jarayoni sodir bo'ladi.

Yangilashdan so'ng, dasturchini shaxsiy kompyuterdan uzishingiz va XT1 jumperini olib tashlashingiz kerak. Oddiy rejimda jumper ochiq. PICkit2 Programmer dasturining "Yordam" - "Haqida" menyusi orqali dasturchining dasturiy ta'minoti versiyasini bilib olishingiz mumkin.

Bularning barchasi texnik muammolar bilan bog'liq. Va endi dasturiy ta'minot haqida.

Dasturchi bilan ishlash. PICkit2 dasturchisi.

USB dasturchi bilan ishlash uchun kompyuterga PICkit2 Programmer dasturini o'rnatishimiz kerak bo'ladi. Ushbu maxsus dastur oddiy interfeysga ega, o'rnatish oson va maxsus konfiguratsiyani talab qilmaydi. Shuni ta'kidlash kerakki, siz MPLAB IDE ishlab chiqish muhitidan foydalangan holda dasturchi bilan ishlashingiz mumkin, ammo MKni miltillash/o'chirish/o'qish uchun oddiy dastur - PICkit2 Programmer etarli. Men Tavsiya qilaman.

PICkit2 Programmer dasturini o'rnatgandan so'ng, yig'ilgan USB dasturchini kompyuterga ulang. Shu bilan birga u yonadi yashil LED ("quvvat") va operatsion tizim qurilmani taniydi "PICkit2 mikrokontroller dasturchisi" va drayverlarni o'rnating.

PICkit2 Programmer dasturini ishga tushiring. Dastur oynasida yozuv paydo bo'lishi kerak.

Agar dasturchi ulanmagan bo'lsa, dastur oynasida qo'rqinchli xabar va qisqacha ko'rsatmalar paydo bo'ladi "Nima qilish kerak?" inzgliz tilida.

Agar dasturchi MK o'rnatilgan kompyuterga ulangan bo'lsa, dastur ishga tushirilganda uni aniqlaydi va PICkit2 Programmer oynasida bu haqda bizga xabar beradi.

Tabriklaymiz! Birinchi qadam tashlandi. Va men PICkit2 Programmer dasturidan qanday foydalanish haqida alohida maqolada gaplashdim. Keyingi qadam .

Kerakli fayllar:

    PICkit2 foydalanuvchi qo'llanmasi (ruscha) oling yoki.

Kompyuter texnologiyalarining rivojlanishi bilan har safar COM va LPT portlari bilan jihozlangan kompyuterlar kamroq va kamroq bo'ladi. Bu, o'z navbatida, mikrokontroller dasturlash vositalarini shaxsiy kompyuter bilan bog'lash bilan bog'liq, xususan, radio havaskorlari uchun qiyinchiliklarni keltirib chiqaradi.

Ushbu maqolada siz o'zingiz yig'ishingiz mumkin bo'lgan AVR mikrokontrollerlari uchun USB dasturchisi tasvirlangan. U Atmega8 mikrokontrollerida qurilgan va kompyuterning USB ulagichidan ishlashga qodir. Ushbu dasturchi STK500 v2 bilan mos keladi.

USB dasturchi tavsifi

USB dasturchi bir tomonlama folga shisha tolasidan tayyorlangan taxtada qurilgan. Bortda 2 ta jumper mavjud: biri SPI ulagichi ostida, ikkinchi o'tish moslamasi bir xil ulagichga yaqin joylashgan.

Barcha qismlar muhrlangandan so'ng, siz Atmega8 mikrokontrollerini maqolaning oxirida berilgan proshivka bilan yondirishingiz kerak. Atmega8 mikrokontrollerini dasturlashda o'rnatilishi kerak bo'lgan sigortalar quyidagicha ko'rinishi kerak:

  • SUT1 = 0
  • BOOTSZ1 = 0
  • BOOTSZ0 = 0
  • CKOPT = 0
  • SPIEN = 0

Shuni esda tutish kerakki, ba'zi dasturlarda sug'urta sozlamalari bunga teskari yo'nalishda o'rnatiladi. Masalan, CodeVisionAVR dasturida yuqorida qayd etilgan sigortalar yonidagi katakchalarni belgilashingiz kerak, PonyProg dasturida esa aksincha.

Atmega8 ni kompyuterning LPT porti orqali dasturlash

Atmega8-ni dasturlashning eng tez va arzon usuli bu AVR uchun LPT dasturchisidan foydalanishdir. Xuddi shunday diagramma quyida ko'rsatilgan.

Mikrokontroller oddiy 78L05 kuchlanish regulyatori bilan quvvatlanadi. UniProf dasturidan dasturlash qobig'i sifatida foydalanishingiz mumkin.

Dasturni birinchi marta yoqqaningizda va kontroller ulanmagan bo'lsa, "LPTpins" tugmasini bosish orqali siz LPT port pinlarini quyidagicha sozlashingiz kerak:

UniProf ishga tushganda, u avtomatik ravishda mikrokontroller turini aniqlaydi. Biz Atmega8_USB_prog.hex proshivkasini UniProf xotirasiga yuklaymiz va EEPROM faylining ulanishini rad etamiz.

Biz “FUSE” tugmasini bosish orqali sug'urtalarni quyidagicha o'rnatamiz (UniProF dasturi uchun):

Sozlamalarni eslab qolish uchun barcha uchta "Yozish" tugmasini bosing. Keyin "O'chirish" tugmasini bosish orqali biz birinchi navbatda miltillovchi mikrokontroller xotirasini tozalaymiz. Shundan so'ng, "Prog" tugmasini bosing va proshivka tugashini kuting.

USB dasturchini sozlash

Mikrokontrollerimiz yonib-o'chgandan so'ng, u USB dasturchi platasiga o'rnatilishi kerak. Keyinchalik, dasturchini kompyuterning USB portiga ulaymiz, lekin hali quvvat bermaymiz.

Port sozlamalari:

Terminalni sozlash:

ASCII sozlamalari:

Endi, barcha protseduralar bajarilgandan so'ng, biz USB dasturchiga quvvat beramiz. HL1 LED 6 marta miltillashi va keyin yonib turishi kerak.

USB dasturchi va kompyuter o'rtasidagi ulanishni tekshirish uchun HyperTerminal dasturida "Enter" tugmasini 2 marta bosing. Agar hamma narsa yaxshi bo'lsa, biz quyidagi rasmni ko'rishimiz kerak:

Agar bunday bo'lmasa, o'rnatishni, ayniqsa TxD liniyasini qayta tekshiring.

Keyinchalik, dasturchining 2.10 versiyasiga kiramiz, chunki busiz dasturchi "yuqori darajadagi" dasturlar bilan ishlamaydi. Buning uchun "2" ni kiriting va "Enter" tugmasini bosing, "a" (ingliz) kiriting va "Enter" tugmasini bosing.

USB dasturchi dasturlashtiriladigan mikrokontrollerning ulanishini taniy oladi. Bu Reset signalini quvvat manbaiga "tortib olish" ni kuzatish shaklida amalga oshiriladi. Ushbu rejim quyidagicha yoqiladi va o'chiriladi:

  • "0", "Enter" - rejim o'chirilgan.
  • "1", "Enter" - rejim yoqilgan.

Dasturlash tezligini o'zgartirish (1MHz):

  • "0", "Enter" - maksimal tezlik.
  • “1”, “Enter” – pasaytirilgan tezlik.

Bu tayyorgarlik ishlarini yakunlaydi, endi siz ba'zi mikrokontrollerni yoqishga harakat qilishingiz mumkin.

(yuklab olinganlar: 1203)

Bir kuni men pic16f628a uchun oddiy LC o'lchagichni yig'ishga qaror qildim va tabiiyki, uni biror narsa bilan porlash kerak edi. Ilgari menda jismoniy MAQOMOTI portli kompyuterim bor edi, lekin hozir menda faqat USB va pci-lpt-2com platasi bor. Boshlash uchun men oddiy JDM dasturchisini yig'dim, lekin ma'lum bo'lishicha, u na pci-lpt-com platasi, na usb-com adapteri (RS-232 signallarining past kuchlanishi) bilan ishlashni xohlamadi. Keyin men usb pic dasturchilarini qidirishga shoshildim, lekin u erda hamma narsa qimmat pic18f2550/4550 dan foydalanish bilan cheklangan edi, bu menda tabiiy ravishda yo'q edi va agar men juda qimmat bo'lsam, bunday qimmat MK-lardan foydalanish juda achinarli. kamdan-kam hollarda cho'qqilarda biror narsa qilishni afzal ko'raman (men av- Ha, ularni miltillash muammo emas, ular ancha arzon va menga dasturlarni yozish osonroq tuyuladi). EXTRA-PIC dasturchisi va uning turli xil variantlari haqidagi ko'plab maqolalardan birida Internetda uzoq vaqt o'rganib chiqqandan so'ng, mualliflardan biri ekstrapik har qanday com portlari va hatto usb-com adapteri bilan ishlashini yozgan.

Ushbu dasturchining sxemasi max232 mantiqiy darajadagi konvertordan foydalanadi.

Agar siz usb adapteridan foydalansangiz, usb-ni usart TTL-ga, TTL-ni RS232-ga, RS232-ni TTL darajasiga ikki marta aylantirish juda ahmoqlik bo'ladi, deb o'yladim, agar siz RS232 portining TTL signallarini usb-dan olib olsangiz. usart konvertor chipi.

Shunday qildim. Men CH340G chipini (barcha 8 ta com port signaliga ega) oldim va uni max232 o'rniga uladim. Va bu sodir bo'ldi.

Mening sxemamda jp1 jumper bor, u qo'shimcha cho'qqida emas, men uni o'rnatdim, chunki men TX chiqishi TTL darajasida qanday harakat qilishini bilmasdim, shuning uchun uni qolgan bepul NAND-ga o'zgartirishga imkon berdim. element va ma'lum bo'lishicha, TX pinida mantiqiy bir narsa bor edi va shuning uchun yoqilganda VPP pinida 12 volt bor, lekin dasturlash paytida hech narsa bo'lmaydi (garchi siz TX-ni dasturiy ta'minotga o'zgartirishingiz mumkin bo'lsa ham) .

Kengash yig'ilgandan so'ng, sinov vaqti keldi. Va bu erda asosiy umidsizlik keldi. Dasturchi darhol aniqlandi (ic-prog dasturi bilan) va ishlay boshladi, lekin juda sekin! Printsipial jihatdan - kutilganidek. Keyin com port sozlamalarida men maksimal tezlikni (128 kilobaud) o'rnatdim va JDM uchun barcha topilgan dasturlarni sinab ko'rishni boshladim. Natijada PicPgm eng tezkor bo'lib chiqdi. Mening pic16f628a to'liq yonib ketdi (hex, eeprom va konfiguratsiya) va taxminan 4-6 daqiqa davomida tekshirish (o'qish yozishdan sekinroq). IcProg ham ishlaydi, lekin sekinroq. Dasturlash xatosi yo'q edi. Men ham eeprom 24c08 ni o'chirishga harakat qildim, natija bir xil - hamma narsa tikadi, lekin juda sekin.

Xulosa: dasturchi juda oddiy, unda qimmat qismlar mavjud emas (CH340 - 0,3-0,5 $, k1533la3 odatda radio keraksizlar orasida bo'lishi mumkin), har qanday kompyuterda, noutbukda ishlaydi (va hatto Windows 8/10 da planshetlardan foydalanishingiz mumkin). ). Kamchiliklari: bu juda sekin. Bundan tashqari, VPP signali uchun tashqi quvvat talab qilinadi. Natijada, menimcha, cho'qqilarning kamdan-kam miltillashi uchun bu takrorlash oson va qo'lida zarur portlari bo'lgan qadimgi kompyuterga ega bo'lmaganlar uchun arzon variant.

Mana tayyor qurilmaning fotosurati:

Qo'shiqda aytilganidek, "Men uni bo'lgan narsadan yaratdim". Qismlar to'plami juda xilma-xil: ham SMD, ham DIP.

Sxemani takrorlashga jur'at etganlar uchun deyarli har biri usb-uart konvertori (ft232, pl2303, cp2101 va boshqalar) sifatida mos keladi, k1533la3 o'rniga k555 mos keladi, menimcha, hatto k155 seriyasi yoki xorijiy analog ham mos keladi. 74als00, u hatto k1533ln1 tipidagi mantiqiy EMAS elementlari bilan ham ishlashi mumkin. Men o'zimning bosilgan elektron platani biriktiryapman, lekin har kim u erda mavjud bo'lgan elementlar uchun simlarni qayta chizishi mumkin.

Radioelementlar ro'yxati

Belgilanish Turi Denominatsiya Miqdori EslatmaDo'konMening bloknotim
IC1 ChipCH340G1 Bloknot uchun
IC2 ChipK1533LA31 Bloknot uchun
VR1 Lineer regulyator

LM7812

1 Bloknot uchun
VR2 Lineer regulyator

LM7805

1 Bloknot uchun
VT1 Bipolyar tranzistor

KT502E

1 Bloknot uchun
VT2 Bipolyar tranzistor

KT3102E

1 Bloknot uchun
VD1-VD3 Rektifikator diodi

1N4148

2 Bloknot uchun
C1, C2, C5-C7 Kondensator100 nF5 Bloknot uchun
C3, C4 Kondensator22 pF2 Bloknot uchun
HL1-HL4 Yorug'lik chiqaradigan diodHar qanday4 Bloknot uchun
R1, R3, R4 Rezistor

1 kOm

3
2011 yil 22 sentyabr, soat 20:11

AVR mikrokontrollerlari uchun miniatyura USB dasturchi

  • Mikrokontroller dasturlash

Teatr ilgichdan boshlanganidek, mikrokontrollerlarni dasturlash ham yaxshi dasturchi tanlashdan boshlanadi. Men ATMEL-dan mikrokontrollerlarni o'zlashtirishni boshlaganim sababli, men ishlab chiqaruvchilar taklif qilayotgan narsalar bilan yaxshilab tanishishim kerak edi. Ular juda ko'p qiziqarli va mazali narsalarni taklif qilishadi, faqat o'ta yuqori narxlarda. Misol uchun, jabduq sifatida bir juft rezistor va diodli yigirma oyoqli mikrokontrollerli sharf "samolyot" kabi turadi. Shuning uchun dasturchining o'zini o'zi yig'ish masalasi paydo bo'ldi. Tajribali radio havaskorlarining ishlanmalarini uzoq vaqt o'rganishdan so'ng, miyasi Atmega8 mikrokontrolleri bo'lgan yaxshi tasdiqlangan USBASP dasturchisini yig'ishga qaror qilindi (shuningdek, atmega88 va atmega48 uchun dasturiy ta'minot variantlari mavjud). Mikrokontrollerning minimal simlari sizga flesh-disk kabi har doim o'zingiz bilan olib yurishingiz mumkin bo'lgan juda miniatyura dasturchini yig'ishga imkon beradi.

Ushbu dasturchining muallifi nemis Tomas Fichl bo'lib, uning diagrammalar, bosilgan elektron plata fayllari va drayverlari bilan ishlanma sahifasi.
Miniatyura dasturchisini yig'ishga qaror qilingandan so'ng, men TQFP32 to'plamidagi Atmega8 mikrokontrolleri uchun sxemani qayta chizdim (mikrokontrollerning pinouti DIP paketidagi pinoutdan farq qiladi):

Jumper J1, agar 1,5 MGts dan past chastotali mikrokontrollerni miltillash zarur bo'lsa ishlatiladi. Aytgancha, bu jumperni MK ning 25-oyog'ini erga qo'yish orqali butunlay yo'q qilish mumkin. Keyin dasturchi har doim kamaytirilgan chastotada ishlaydi. Shaxsan men kamaytirilgan tezlikda dasturlash soniyaning bir qismini ko'proq vaqt talab qilishini payqadim va shuning uchun endi men jumperni tortmayman, balki u bilan doimo tikaman.
D1 va D2 zener diodlari dasturchi va USB avtobus o'rtasidagi darajalarni moslashtirish uchun ishlatiladi; ularsiz ishlaydi, lekin hamma kompyuterlarda emas.
Moviy LED kontaktlarning zanglashiga olib dasturlash uchun tayyor ekanligini bildiradi, qizil LED esa dasturlash paytida yonadi. Dasturlash kontaktlari IDC-06 ulagichida joylashgan, pinout 6 pinli ISP ulagichi uchun ATMEL standartiga mos keladi:

Ushbu ulagichda dasturlashtiriladigan qurilmalarni quvvatlantirish uchun kontaktlar mavjud, bu erda u to'g'ridan-to'g'ri kompyuterning USB portidan olinadi, shuning uchun ehtiyot bo'lishingiz va qisqa tutashuvlardan qochishingiz kerak. Xuddi shu ulagich nazorat mikrokontrollerini dasturlash uchun ham ishlatiladi, buning uchun konnektor va mikrokontrollerdagi Reset pinlarini ulang (diagrammadagi qizil nuqta chiziqqa qarang). Muallifning sxemasida bu jumper bilan amalga oshiriladi, lekin men taxtani chalkashtirib yubormadim va uni olib tashladim. Bitta proshivka uchun oddiy simli o'tish moslamasi etarli bo'ladi. Kengash 45x18 mm o'lchamdagi ikki tomonlama bo'lib chiqdi.

Dasturlash ulagichi va dasturchining tezligini pasaytiradigan jumper qurilmaning oxirida joylashgan, bu juda qulay

Boshqaruv mikrokontrollerining dasturiy ta'minoti
Shunday qilib, qurilmani yig'gandan so'ng, qolgan eng muhim narsa - boshqaruv mikrokontrollerini miltillash. Hali ham LPT portli kompyuterlari bo'lgan do'stlar bu maqsadlar uchun juda mos keladi :) AVR uchun eng oddiy besh simli dasturchi
Mikrokontroller (29 oyoq) va ulagichning Reset pinlarini ulab, dasturlash ulagichidan mikrokontrollerni o'chirish mumkin. Mikrodastur Atmega48, Atmega8 va Atmega88 modellari uchun mavjud. Oxirgi ikkita toshdan birini ishlatish tavsiya etiladi, chunki Atmega48 versiyasini qo'llab-quvvatlash to'xtatilgan va dasturiy ta'minotning so'nggi versiyasi 2009 yilga to'g'ri keladi. Va 8-chi va 88-chi toshlar uchun versiyalar doimiy ravishda yangilanadi va muallif ushbu funktsiyaga elektron tuzatuvchini qo'shishni rejalashtirayotganga o'xshaydi. Biz proshivkani nemis sahifasidan olamiz. Boshqarish dasturini mikrokontrollerga yuklash uchun men PonyProg dasturidan foydalandim. Dasturlashda kristalni tashqi soat manbasidan 12 MGts chastotada ishlashga sozlash kerak. PonyProg-da sug'urta o'tkazgich sozlamalari bilan dasturning skrinshoti:

Mikrodasturni miltillagandan so'ng, mikrokontrollerning 23 oyog'iga ulangan LED yonishi kerak. Bu dasturchi muvaffaqiyatli dasturlashtirilganligi va foydalanishga tayyor ekanligining ishonchli belgisi bo'ladi.

Haydovchi o'rnatish
O'rnatish Windows 7 bilan ishlaydigan mashinada amalga oshirildi va hech qanday muammo yuzaga kelmadi. Kompyuteringizga birinchi marta ulanganingizda, yangi qurilma aniqlanganligi haqida xabar paydo bo'lib, drayverni o'rnatishni taklif qiladi. Belgilangan joydan o'rnatishni tanlang:

O'rnatilgan drayverda kichik yumshoqlar uchun raqamli imzo yo'qligi haqida ogohlantirish bilan oyna darhol paydo bo'ladi:

Biz ogohlantirishni e'tiborsiz qoldiramiz va o'rnatishni davom ettiramiz, qisqa pauzadan so'ng drayverni o'rnatish jarayoni muvaffaqiyatli yakunlanganligi haqida bizga xabar beruvchi oyna paydo bo'ladi.

Hammasi shu, dasturchi endi foydalanishga tayyor.

Khazama AVR dasturchisi
Dasturchi bilan ishlash uchun men Khazama AVR Programmer chirog'ini tanladim. Minimalist interfeysga ega ajoyib dastur.

U barcha mashhur AVR mikrokontrollerlari bilan ishlaydi, flesh va eepromni miltillash, xotira tarkibini ko'rish, chipni o'chirish, shuningdek, sug'urta bitlarining konfiguratsiyasini o'zgartirish imkonini beradi. Umuman olganda, butunlay standart to'plam. Sug'urta sozlamalari ochiladigan ro'yxatdan soat manbasini tanlash orqali amalga oshiriladi, shuning uchun kristallni xato bilan blokirovka qilish ehtimoli keskin kamayadi. Sigortalarni pastki maydonga belgilash katakchalarini qo'yish orqali ham o'zgartirish mumkin, lekin siz mavjud bo'lmagan konfiguratsiyaga tasdiqlash qutilarini qo'ya olmaysiz va bu xavfsizlik nuqtai nazaridan ham katta ortiqcha.

Sigortalar, siz taxmin qilganingizdek, "Hammasini yozish" tugmasini bosish orqali MK xotirasiga yoziladi. Saqlash tugmasi joriy konfiguratsiyani saqlaydi va Yuklash tugmasi saqlanganini qaytaradi. To'g'ri, men bu tugmalardan amaliy foydalanishni topa olmadim. Standart tugma standart sug'urta konfiguratsiyasini yozib olish uchun mo'ljallangan, mikrokontrollerlar zavoddan keladi (odatda ichki RC dan 1 MGts).
Umuman olganda, men ushbu dasturchidan foydalangan vaqtim davomida u barqarorlik va ishlash tezligi bo'yicha o'zini eng yaxshi ko'rsatdi. U eski ish stoli kompyuterida ham, yangi noutbukda ham muammosiz ishlagan.

PCB faylini SprintLayout-dan foydalanib yuklab olishingiz mumkin