AVR mikro nəzarətçi proqramçıları. AVR mikro nəzarətçiləri üçün proqramçılar (USB, COM, LPT) Avr üçün evdə hazırlanmış usb proqramçı

10.09.2021

Bu yazıda istehsal mərhələlərini addım-addım təsvir edəcəyik. AVR mikro nəzarətçiləri üçün USBasp proqramçısı. Ayrı-ayrı məqalələrdə biz Windows XP və Windows 7 (x64/x86) əməliyyat sistemləri üçün sürücülərin quraşdırılması təsvirini təqdim edəcəyik. Yazının sonunda öz əlinizlə bir USBasp proqramçısı düzəltmək üçün lazımi sənədləri olan bir keçid var.

USBasp proqramçısı, istehsalının asanlığı və ucuz və geniş yayılmış elementlərin istifadəsi sayəsində radio həvəskarları arasında çox populyarlaşdı. Onun əməliyyat parametrləri peşəkar və bahalı AVR mikrokontroller proqramçılarından geri qalmır.

USBasp proqramçısının əsas xüsusiyyətləri

  • Bir neçə ilə işləyir əməliyyat sistemləri– Linux, Mac OS X və Windows – Windows 8 daxil olmaqla!
  • Xarici güc tələb etmir.
  • 5kB/s-ə qədər sürətlə proqramlaşdıra bilir
  • Proqramlaşdırma sürətini azaltmaq üçün bir seçim (Switch 2) var - kvars 1,5 MHz-dən az olan prosessorlar üçün
  • Proqramlaşdırma gərginliyini (Switch 1) 5 volt təmin edir
  • Bir LED istifadə edərək proqramçının işini göstərən

İşə başlamazdan əvvəl yerinə yetirilən bütün hərəkətlərin ardıcıllığı ilə tanış olmağa dəyər, yəni:

  1. Diaqramın/rəsmin seçilməsi çap dövrə lövhəsi
  2. Çap edilmiş elektron lövhənin dizaynının folqa fiberglas laminatına köçürülməsi
  3. Dəmir xlorid məhlulunda çap dövrə lövhəsinin aşındırılması
  4. Qazma delikləri
  5. Elementlərin quraşdırılması (lehimləmə)
  6. Proqramlaşdırma Atmaga8 proqramçısı
  7. Proqramçının kompüterə qoşulması
  8. Sürücülərin quraşdırılması – Windows XP, Windows 7
  9. USBasp-ı dəstəkləyən proqramın seçilməsi

USBasp proqramçısının bir çox versiyaları var, lakin onların hamısı Tomas Fişlin müəllifi olduğu əsas sxemə əsaslanır. Proqramçı mikrokontroller proqram təminatı da onun müəllifidir.

Orijinal proqramçı dövrəsi:

Bu vəziyyətdə, orijinal sxem əsas olaraq seçildi. Orijinal dövrədə keçidlərin istifadəsi tamamilə rahat olmadığı üçün DIP açarlarından istifadə etmək qərara alındı. Bəzi rezistor dəyərləri də dəyişdirildi.
Üstəlik, orijinal sxemdə TxD və RxD xətləri ISP konnektoruna yönəldilir, baxmayaraq ki, bu lazım deyil (daha doğrusu, praktikada istifadə edilmir).

Aşağıda edilən dəyişikliklərin diaqramı verilmişdir:

USBasp proqramçısının qurulması

Bu proqramçı üçün PCB-nin bir çox versiyası var, bəzilərini rəsmi USBasp saytında tapa bilərsiniz. Ancaq yuxarıdakı diaqrama əsaslanaraq özümü düzəltdim.

Təəssüf ki, DIP açarlarının istifadəsi səbəbindən lövhənin dizaynı bir az daha mürəkkəbləşdi və bu, PCB-nin hələ də tək tərəfli olmasını təmin etmək üçün 2 qısa keçidin istifadəsinə səbəb oldu.

Aşağıda PCB nəticəsidir:

Şəkildən göründüyü kimi, proqramçı SMD elementlərindən istifadə etməyib. Lövhədəki boş yer, əsasən aşındırmamaq üçün kütləvi bir sahə ilə "doldurulur" çox sayda mis, həmçinin proqramçıya müdaxilənin təsirini azaldır.

USBasp proqramçısında istifadə olunan elementlərin siyahısı:

  • R1: 10k
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2k2
  • C1, C2: 22p
  • C3: 10μ
  • C4: 100n
  • LED1: Qırmızı LED 20mA
  • LED2: 20mA-da yaşıl LED
  • D2, D3: 3.6V-də zener diodları
  • X1: USB konnektoru B növü
  • SV1: IDC-10 yuvası
  • Q1: Kvars 12MHz, HC49-S korpus
  • SW1: Dip açarı üç mövqe
  • IC1: Atmega8 ( QEYD: Atmega8 - PU mikrokontrolleri maksimum 8 MHz saat sürəti məhdudiyyətinə görə istifadə edilməməlidir!)

USBasp proqramçı çap dövrə lövhəsi dizaynı LUT () metodundan istifadə edərək fiberglas laminata köçürüldü. Bunu necə edəcəyimizi təsvir etməyəcəyik, çünki İnternetdə bu cür məlumatlar çoxdur.

Qısaca deyək ki, əvvəlcə parlaq kağıza 1:1 miqyaslı rəsm çəkilir, sonra şüşə lifin təmizlənmiş və yağdan təmizlənmiş mis tərəfinə çəkilir və kağız lentlə bərkidilir. Sonra, kağız tərəfi 3 nöqtəli dəmirdən istifadə edərək bir dəmir ilə diqqətlə hamarlanır. Bundan sonra, hər şey suya batırılır və kağızdan diqqətlə təmizlənir.

Növbəti addım taxtanın dəmir xlorid həllində aşındırılmasıdır. Aşınma zamanı məhlulun temperaturunu ən azı 40 C saxlamaq məsləhətdir, buna görə də bankanı məhlulla isti suya batırın:


Aşınma prosesi başa çatdıqdan sonra toneri asetonla çıxarmalısınız.

İndi yalnız delikləri qazmaq qalır. Lövhənin istehsalı prosesini başa vurduqdan sonra jumperlərdən başlayaraq USBasp proqramçı elementlərini lehimləməyə başlaya bilərsiniz.

Çap etməyə hazırdır (in PDF formatı) Çap dövrə lövhəsinin çertyoyu məqalənin sonundadır. Layihənin rəsmi saytında da bir neçə variant tapa bilərsiniz.

USBasp proqramçısının ilk buraxılışı

İndi bütün hissələr lehimləndikdən sonra, proqramçının özünün Atmegę8 mikro nəzarət cihazını "yandırmaq" qalır. Bunun üçün sizə ayrıca proqramçı lazımdır, o, məsələn, STK 200 (LPT portu), STK500 və s. ola bilər. LPT proqramçısı IDC-10 konnektoru vasitəsilə USBasp-a qoşulur.

Nəzərə alın ki, orijinal proqramçının (USBasp) konnektorunda sancaqların paylanması sağda, bu məqalədə təsvir edilən versiyada isə soldadır:

Sağdakı şəkildə göstərilən paylama Atmel tərəfindən orijinal proqramçılarda istifadə edilənlərə uyğundur. Bu paylama proqramçıdan nəzarətçiyə uzun naqillərin olması halında proqramlaşdırma zamanı müdaxilə riskini azaldır, çünki hər bir siqnal xətti MOSI istisna olmaqla, torpaqla qorunur.

Proqramlaşdırma zamanı 3 nömrəli DIP açarını ON vəziyyətinə çevirərək SELF rejimini aktivləşdirin. Bunun sayəsində Atmega8-i proqramlaşdırmaq mümkün olur. Proqramlaşdırma başa çatdıqdan sonra açarın (3) mövqeyi OFF vəziyyətinə qoyulmalıdır.

Ən son firmware versiyasını rəsmi veb saytından yükləmək olar. Arxivdə olan Atmega8 versiyasını tövsiyə edirik: usbasp.2011-05-28.tar.gz.

Nəzərə alın ki, Atmega8-i proqramlaşdırmadan əvvəl aşağıdakı dəyərlərə malik qoruyucuları təyin etməlisiniz:

  • # Atmega8 üçün: HFUSE=0xC9 LFUSE=0xEF
  • # Atmega48 üçün: HFUSE=0xDD LFUSE=0xFF

Proqramlaşdırma uğurlu olarsa, proqramçını kompüterin USB konnektoruna qoşun, qırmızı LED yanmalı və kompüter yeni avadanlıq aşkar edildiyini bildirməlidir.

USBasp proqramçı drayverlərinin quraşdırılması

Proqramçı sürücülərini quraşdırmaq üsulu ayrı məqalələrdə təsvir edilmişdir və sürücülərin özləri də orada mövcuddur. Aşağıda bu məqalələrə birbaşa keçidlər verilmişdir:

  • Windows XP altında USBasp proqramçı üçün sürücülərin quraşdırılması
  • USBasp proqramçısı Windows 7 x64/x86 üçün sürücülərin quraşdırılması

USBasp proqramçısını idarə etmək üçün proqramlar

USBasp proqramçısını dəstəkləyən ən populyar proqram AVRdude konsol proqramıdır. İstifadəsi daha rahat olan bir çox törəmə proqramlar da var. Onlar USBasp proqramçısını dəstəkləmək üçün proqramların müqayisəsi məqaləsində təqdim olunur.

Proqramçı Objective Development-dən olan sürücüyə əsaslanır və ATMEL-in orijinal AVR910 proqramçısı ilə əmrlərdə tam uyğun gəlir. Cihazın təsviri. Qoruyucu USB portunun elektrik xətlərini proqramçının enerji təchizatı sxemlərində təsadüfi qısa qapanmalardan qoruyur. VD1, VD2 diodları rektifikator silisiumdur, onlar mikrokontrolörün enerji təchizatını 3,6 V-a qədər azaltmaq üçün nəzərdə tutulmuşdur. Sənədlərə əsasən, nəzarətçi bu təchizatı gərginliyində 14 MHz tezliyə qədər işləyə bilər. LEDlər VL1 (" R.D."), VL2 (" WR") proqramçının cari hərəkətlərinə siqnal verir və oxuma və yazma rejimlərini göstərir. LED VL3 (" PWR”) enerjinin verildiyini göstərir.

Jumper J1 - ( Dəyişdirin) idarəetmə MK proqramçısının ilkin proqramlaşdırılması üçün istifadə olunur. Bağlandıqda, ISP konnektoruna xarici proqramçı qoşulur və idarəetmə proqramı MK-ya yüklənir. İdarəetmə MK proqramçısını proqramlaşdırdıqdan sonra bu keçid açılmalı və J2 - NORMal keçidi bağlanmalıdır.

Jumper J3 LOW SCK MK proqramçısının SPI portunun takt tezliyini ~20 kHz-ə endirir. Jumper açıq olduqda, SPI tezliyi normaldır, bağlandıqda azalır. MK proqramçısının idarəetmə proqramı SPI portuna hər dəfə daxil olanda PB0 xəttinin vəziyyətini yoxladığı üçün tullananı tez dəyişə bilərsiniz. Proqramlaşdırıla bilən mikrokontroller işləyərkən yazmaq/oxumaq zamanı keçidi dəyişmək tövsiyə edilmir, çünki bu, çox güman ki, yazılan/oxunan məlumatların təhrif olunmasına gətirib çıxaracaq. Jumper J3 daxili 128 kHz osilatordan saatla işləyən AVR mikro nəzarətçilərinin proqramlaşdırılmasına imkan vermək üçün təqdim edilmişdir.

Rezistorlar R10 - R14 proqramçı mikrokontroller və xarici sxemlərin (proqramlaşdırıla bilən mikro nəzarətçi və ya digər proqramçı) siqnal səviyyələrinə uyğunlaşdırmaq üçün nəzərdə tutulmuşdur. Jumper J3 açıq olan MK proqramçısının SPI portunun saat tezliyi 187,5 kHz-dir. Bu, nəzarətçiləri ATtiny/ATmega üçün təxminən 570 kHz, 90S üçün 750 kHz və 89S üçün 7,5 MHz arasında dəyişən saat sürətləri ilə proqramlaşdırmağa imkan verir. Nəzarətçilər 10 ilə 30 saniyə arasında proqramlaşdırılır (paketdən AVRProg v.1.4 utilitindən istifadə edərkən AVR Studio) FLASH yaddaşının miqdarından və takt tezliyindən asılı olaraq yoxlama ilə yanaşı.

1 MHz tezliyi olan kvadrat dalğa, ISP konnektorunun LED çıxışına, səhv proqramlaşdırılmış qoruyucu bitləri olan MK-ləri "canlandırmaq" üçün verilir. Siqnal daim yaradılır və proqramçının iş rejimindən asılı deyildir. Proqramçı AVRProg v.1.4 (AVRStudio paketinə daxildir), ChipBlasterAVR v.1.07 Evaluation, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer) proqramları ilə sınaqdan keçirilib. Dövrədə nəzarətçinin normal işləməsi üçün bitlərin proqramlaşdırılması lazımdır ("0" olaraq təyin olunur) SPIEN, CKOPT, SUT0BODEN. Tipik olaraq fabrikdən gələn mikrokontrollerlər, məs. yeni, artıq proqramlaşdırılmış bit SPIEN. Qalan bitlər proqramlaşdırılmamış olmalıdır ("1" olaraq təyin olunur).

Quraşdırma və istismar təlimatları. Nəzarətçini yandırın. Təzə bişmiş proqramçıyı USB vasitəsilə kompüterə qoşun. Əməliyyat sistemi kompüterinizdə quraşdırılmış əməliyyat sistemindən asılı olaraq, sürücünü avtomatik tapmaq, imtina etmək və inf faylına gedən yolu müəyyən etmək istənildikdə yeni cihaz - AVR910 USB Proqramçı tapacaq.

Forumda bütün fayllar, həmçinin avr proqramçımız üçün çap dövrə lövhəsi var. Burada sizə AVR USB proqramçısının yığılması və qutuya qablaşdırılması texnologiyasını göstərəcəyəm. Əvvəlcə arxivi yükləyin və çap dövrə lövhəsini düzəldin.

Sonra bütün detalları onun üzərinə lehimləyirik. Kiçik bir kvars tapa bilmədim, ona görə də böyük bir kvars lehimlədim, ancaq uzun ayaqlara, sonra onu büküm ki, taxtanın korpusa quraşdırılmasına mane olmasın. Sonra, uyğun bir qutu seçirik;

Lövhəni korpusa uyğunlaşdırırıq, bütün ölçüləri götürürük, deliklər qazırıq və burada universal bir lövhə ilə bitmiş bir cihazınız var.

Xüsusi ölçmə cihazı yoxdursa, bir LED istifadə edərək yoxlaya bilərsiniz. LED anod ilə LED pininə, katod isə ISP konnektorunun istənilən GND pininə birləşdirilir. Güc tətbiq edildikdə, LED tam intensivliklə yanmalıdır. Ayaqları cımbızla bağlayarkən kristal osilator LED ya "tam parıltıda" yanmalıdır, ya da heç bir parıltı olmamalıdır.

Səhvlər olmadan, düzgün proqramlaşdırılmış mikro nəzarətçi ilə yığılmış proqramçının konfiqurasiyasına ehtiyac yoxdur. Ancaq proqramlaşdırıla bilən MK-nın RESET girişi bir rezistor tərəfindən təchizatı gərginliyinə bağlıdırsa, rezistorun dəyəri 10 kOhm-dən aşağı olmamalıdır - bu, bununla əlaqədardır. azaldılmış gərginlik proqramçı sxemində idarəetmə tənzimləyicisinin enerji təchizatı və ISP konnektoru avtobusunda məhdudlaşdırıcı rezistorların tətbiqi.

AVR USB PROGRAMMER məqaləsini müzakirə edin

Gəlin ISP interfeysinin nə olduğunu öyrənək və ucuz və rahat USB ISP proqramçısına baxaq. Üçün ən sadə proqramçıların sxematik diaqramlarına baxaq AVR mikro nəzarətçiləri kompüterin COM və LPT portlarından istifadə etməklə. Bu məlumat yalnız Linux-da deyil, digər əməliyyat sistemlərində də AVR mikro nəzarət cihazlarının əksər modellərini yandırmaq üçün kifayətdir.

ISP Sistemdaxili Proqramlaşdırma İnterfeysi

AVR mikro nəzarətçisinə proqram yazmaq üçün sizə proqramçı lazımdır.

Proqramçı- kiçikdir elektron dövrə, mikrokontrolleri sonradan mikroproqramın oxunması və yazılması (proqramlaşdırma) üçün kompüter portlarından birinə (COM, LPT, USB) qoşmağa imkan verir.

Müxtəlif kompüter portlarına qoşulan AVR mikro nəzarətçiləri üçün proqramçıların kifayət qədər müxtəlif dizaynları var.

Ən etibarlı və rahat seçim, yeni olduğundan USB portuna qoşulan bir proqramçıdır stolüstü kompüterlər və noutbuklarda artıq COM və LPT portları quraşdırılmayıb.

Bitmiş cihazlarda proqramçı interfeys vasitəsilə mikrokontrollerə qoşulur ISP(Sistem Proqramlaşdırmasında) - sistemdaxili proqramlaşdırma interfeysi. ISP interfeysi bir neçə keçiricidən ibarətdir ki, onların vasitəsilə proqramçının mikrokontrollerlə birləşdirilməsi üçün saat siqnalı və məlumat alınır.

Bir qayda olaraq, ISP interfeysi on və ya altı pin şəklində lövhələrə yerləşdirilir, proqramçı ona uyğun bir konnektor vasitəsilə kabel vasitəsilə qoşulur.

düyü. 4. Lövhədə ISP interfeysi.

ISP interfeysindəki pinlərin məqsədi:

  1. VCC - enerji təchizatı plus, adətən +5V;
  2. GND - güc mənfi, torpaq (Torpaq);
  3. MOSI - məlumat girişi (Master Out Slave In);
  4. MISO - məlumat çıxışı (Master In Slave Out);
  5. SCK - saat siqnalı (Serial Saat);
  6. RST - sıfırlama siqnalını təmin etmək.

Mikrokontrolörün dövrə daxilində proqramlaşdırılması üçün yalnız 4 pin kifayətdir, çünki mikrokontroller quraşdırıldığı dövrənin özündən qidalana bilər.

Proqramçı, dövrəyə lehimlənməmişsə, AVR mikro nəzarətçi çipinə necə qoşulmaq olar? - çox sadə, ISP interfeysinin eyni sancaqlarından istifadə edərək, zəruri hallarda mikrokontrolleri enerji mənbəyindən gücləndirmək.

USB ISP ASP proqramçısı

AVR çipləri ilə işləmək üçün təxminən 10 dollara ucuz USB ISP proqramçısı aldım. Belə bir cihaz indi bir çox yerli və xarici onlayn mağazada satışdadır, buna görə də alışda heç bir problem olmamalıdır.

düyü. 5. USB ISP - dövrə üçün kabeli olan proqramçı AVR proqramlaşdırma ATMEL-dən mikrokontrollerlər.

Bu proqramçı istifadə üçün təhlükəsizdir, ölçüsü kiçikdir və AVR mikro nəzarət cihazlarını yandırmaq üçün əksər proqramlar tərəfindən dəstəklənir. USB ISP əməliyyat sistemləri altında işləyir Linux sistemləri, Mac OS X və Windows. Linux üçün proqramçıya qoşulduqdan sonra heç bir sürücü quraşdırmaq lazım deyil USB portu Cihaz dərhal aşkar ediləcək və istifadəyə hazır olacaq.

Aşağıda USB ISP proqramçısının bağlayıcılarının pinoutunu verəcəyəm - bu, daha sonra mikrokontrollerə qoşulduqda bizim üçün faydalı olacaq.

düyü. 6. Sancaqların yeri USB konnektoru ISP (pinout).

düyü. 7. USB ISP proqramçısına qoşulmuş konnektor yuvalarında kontaktların yeri.

USB ISP proqramçısı ala bilmirsinizsə nə etməli?- COM və ya LPT portuna qoşulan sadə ev proqramçılarından istifadə edərək mikrokontrollerləri proqramlaşdıra bilərsiniz, lakin özünüz USB ISP düzəltmək və bunun üçün mikrokontroller çipini COM və ya LPT portu vasitəsilə sadə ev proqramçısı ilə bir dəfə proqramlaşdırmaq daha yaxşıdır.

düyü. 8. Sxematik diaqram evdə hazırlanmış USB ASP ISP proqramçısı.

USB ASP-nin istehsalı, həmçinin çap dövrə lövhələri, drayverlər və mikrokontroller üçün proqram təminatı haqqında ətraflı məlumatı rəsmi internet saytından əldə etmək olar: http://www.fischl.de/usbasp/

Bundan əlavə, İnternetdə bu pulsuz proqramçıda kifayət qədər çox sayda resurs var, SprintLayout proqramında da daxil olmaqla bir çox hazır çap dövrə lövhəsi sxemləri var, buna görə də bu məqalədə bu barədə ətraflı danışmayacağıq.

COM portundan istifadə edən proqramçı

Bu proqramçı həm də bu sxemi hazırlayan Alqoritm Qurucu proqramının yaradıcısının şərəfinə "Qromov proqramçısı" adlanır ( qrafik mühit istifadə edərək Windows altında AVR proqramlaşdırması üçün alqoritmik dil) - G.L. Qromova.

Bu proqramçı kompüterin COM portu - RS232 interfeysindən istifadə edərək AVR çiplərini proqramlaşdırmağa imkan verir. Belə bir proqramçı yığmaq üçün minimum hissələrə ehtiyacınız olacaq - 3 diod, 7 rezistor, DB-9 və ya DB-25 konnektoru (kompüterinizdə hansı cütləşdirici konnektorun quraşdırıldığından asılı olaraq) və mikrokontrolörə qoşulmaq üçün ISP konnektoru (və ya çip üçün bir neçə keçirici). Dövrədə istənilən aşağı güclü diodlar istifadə edilə bilər.

düyü. 9. Kompüterin COM portu vasitəsilə AVR mikrokontroller proqramçısının sxematik diaqramı.

Məlumatın tamlığı üçün aşağıda DB-9 və DB-25 seçimləri üçün RS-232 portlarının pinoutunu təqdim edəcəyəm.

düyü. 10. RS232 - COM Port, DB-9 pin düzümü.

düyü. 11. RS232 COM Port DB-25 - bağlayıcılardakı pinlərin yeri.

LPT portundan istifadə edən proqramçı

Bildiyimiz kimi, kompüterin LPT portu yerli printeri (Local Printer Port) birləşdirmək üçün nəzərdə tutulub, lakin buna baxmayaraq, tez-tez qoşulmaq üçün istifadə olunur. müxtəlif cihazlar və ev məhsulları. Bu vəziyyətdə, çox yığılmış AVR mikro nəzarət cihazlarını proqramlaşdırmaq üçün istifadə edə bilərik sadə diaqram hansı aşağıda verilmişdir.

düyü. 12. Kompüterin LPT portundan istifadə edərək AVR mikrokontrollerləri üçün proqramçının sxematik diaqramı.

Gördüyünüz kimi, dövrə versiyadan daha sadədir, burada kompüterin LPT portuna qoşulmaq üçün yalnız 4 aşağı güclü rezistor və bir bağlayıcı (kişi, sancaqlar ilə) lazımdır.

düyü. 13. LPT port konnektorları üçün pinlərin yeri.

Bütün hissələr və birləşmələr LPT konnektorunun korpusuna yerləşdirilə bilər və mikro nəzarətçiyə qoşulmaq üçün ISP interfeysi üçün birləşdiricisi olan bir kabel və ya sadəcə mikroçipə qoşulmaq üçün lazımi keçiricilər çıxarıla bilər.

Proqram təminatı və qeydlər

COM və ya LPT proqramçısını mikro nəzarətçiyə qoşduqdan sonra mikroçipin özünə enerji verməyi yadda saxlamalısınız. Mikrokontroller üçün enerji mənbəyi kimi batareyaları və ya stabilizatoru olan enerji təchizatını istifadə edə bilərsiniz, bu həm kompüter portu, həm də çip üçün ən təhlükəsiz olacaqdır. Ondan necə istifadə edəcəyimizi artıq müzakirə etdik.

Linux altında USB ASP, COM və LPT proqramçıları ilə işləyə bilən çox güclü bir proqram var - bu proqram AVRDUDE, bundan sonrakı bölmələrdə müzakirə olunacaq.

üçün AVR proqram təminatı COM məlumatlarından istifadə edərək Windows üçün çiplər və LPT proqramçıları Nikolaevdən UniProf proqramı lazımdır, yəni universal proqramçı AVR üçün (avr.nikolaew.org).

DİQQƏT! Kompüterin COM və ya LPT portundan istifadə edən proqramçıları yığarkən və istifadə edərkən son dərəcə diqqətli və diqqətli olun, sadə bir səhv asanlıqla edə bilər bu limanları yandırın. üçün normal əməliyyat Belə proqramçılar üçün konnektordan proqramçı dövrəsinə və mikrokontrollerə qədər mümkün olan ən qısa tellərdən istifadə etməyə çalışmalısınız. Kompüter mikroprosessorunun 1-2 GHz-dən çox olmayan tezliyə malik olması məqsədəuyğundur və çiplərin proqramlaşdırılması üçün OS kimi Win2000 və ya WinXP-dən istifadə etmək məsləhətdir.

USB-RS232 (USB-COM Port) adapterlərinin çox güman ki, Gromov proqramçısı ilə işləməyəcəyini bilmək vacibdir, buna görə də yerli COM portu olan bir maşın axtarmaq daha yaxşıdır.

Nəticə

Məqalədə müzakirə olunan proqramçılar ən əlverişli və yalnız bir neçəsidir sadə həllər AVR proqramçılarının böyük siyahısından: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, FTDI proqramçıları və başqaları.

İndi, hər halda, sizin üçün mövcud olan bir proqramçı yığa və ən azı bir mikrosxemi yandıra bilərsiniz, bunun əsasında başqa daha rahat proqramçı və ya başqa bir cihaz yığa bilərsiniz.

Növbəti məqalədə necə qoşulacağımızı anlayacağıq müxtəlif modellər Proqramçıya AVR mikrokontrollerləri, mikro nəzarətçilərin pinout haqqında məlumatı haradan əldə edəcəyinizi öyrənin.

22 sentyabr 2011-ci il, saat 20:11

AVR mikrokontrollerləri üçün miniatür USB proqramçı

  • Mikrokontroller proqramlaşdırması

Teatr asılqanla başladığı kimi, mikrokontrollerlərin proqramlaşdırılması da yaxşı proqramçı seçməklə başlayır. ATMEL-dən mikrokontrollerləri mənimsəməyə başladığım üçün istehsalçıların təklif etdikləri ilə hərtərəfli tanış olmalı oldum. Çox maraqlı və dadlı şeylər təklif edirlər, yalnız hədsiz qiymətlərlə. Məsələn, bir qoşqu kimi bir cüt rezistor və diod olan iyirmi ayaqlı bir mikrokontrolörlü bir eşarp "təyyarə" kimi baha başa gəlir. Buna görə də sual yarandı öz-özünə montaj proqramçı Təcrübəli radio həvəskarlarının inkişaflarını uzun müddət araşdırdıqdan sonra beyni Atmega8 mikrokontrolleri olan yaxşı sübut edilmiş USBASP proqramçısının yığılması qərara alındı ​​(atmega88 və atmega48 üçün proqram təminatı variantları da var). Mikrokontrolörün minimal naqilləri, fləş sürücü kimi həmişə özünüzlə apara biləcəyiniz kifayət qədər miniatür proqramçı yığmağa imkan verir.

Bu proqramçının müəllifi alman Tomas Fichldir, onun diaqramlar, çap dövrə lövhəsi faylları və sürücüləri olan inkişaf səhifəsidir.
Miniatür proqramçı yığmaq qərarına gəldikdən sonra TQFP32 paketində Atmega8 mikrokontrolleri üçün dövrəni yenidən tərtib etdim (mikro nəzarətçinin pinoutu DIP paketindəki pinoutdan fərqlənir):

Jumper J1, 1,5 MHz-dən aşağı bir saat tezliyi olan bir mikrokontrolleri yandırmaq lazım olduqda istifadə olunur. Yeri gəlmişkən, bu tullanan MK-nın 25-ci ayağını yerə qoymaqla tamamilə aradan qaldırıla bilər. Sonra proqramçı həmişə azaldılmış tezlikdə işləyəcək. Şəxsən mən azaldılmış sürətlə proqramlaşdırmanın saniyənin bir hissəsini daha uzun sürdüyünü gördüm və buna görə də indi tullananı çəkmirəm, ancaq onunla daim tikirəm.
Zener diodları D1 və D2 proqramçı ilə səviyyələri uyğunlaşdırmaq üçün istifadə olunur USB avtobus, onlarsız işləyəcək, lakin bütün kompüterlərdə deyil.
Mavi LED, sxemin proqramlaşdırılmağa hazır olduğunu göstərir, proqramlaşdırma zamanı qırmızı LED yanır; Proqramlaşdırma kontaktları IDC-06 konnektorunda yerləşir, pinout 6 pinli ISP konnektoru üçün ATMEL standartına uyğundur:

Bu konnektor proqramlaşdırıla bilən cihazları gücləndirmək üçün kontaktları ehtiva edir; USB portu kompüter, buna görə diqqətli olmalı və qısa qapanmalardan qaçınmalısınız. Eyni konnektor idarəetmə mikrokontrolörünü proqramlaşdırmaq üçün də istifadə olunur, bunun üçün konnektordakı və mikro nəzarətçidəki Sıfırlama pinlərini birləşdirin (diaqramda qırmızı nöqtəli xəttə baxın). Müəllifin sxemində bu, bir jumper ilə edilir, amma lövhəni qarışdırmadım və onu çıxardım. Tək bir proqram təminatı üçün sadə bir tel keçid kifayət edəcəkdir. Lövhə 45x18 mm ölçüdə iki tərəfli oldu.

Proqramlaşdırma konnektoru və proqramçının sürətini azaltmaq üçün bir keçid cihazın sonunda yerləşir, bu çox rahatdır

İdarəetmə mikrokontrollerinin proqram təminatı
Beləliklə, cihazı yığdıqdan sonra qalan ən vacib şey nəzarət mikrokontrollerini yandırmaqdır. Hələ də kompüteri olan dostlar LPT portu:) AVR üçün ən sadə beş telli proqramçı
Mikrokontroller mikrokontrolörün (29 ayaq) və konnektorun Sıfırlama sancaqlarını birləşdirərək proqramlaşdırma konnektorundan yandırıla bilər. Firmware Atmega48, Atmega8 və Atmega88 modelləri üçün mövcuddur. Son iki daşdan birini istifadə etmək məsləhətdir, çünki Atmega48 versiyasına dəstək dayandırılıb və son versiya Firmware 2009-cu ilə aiddir. Və 8-ci və 88-ci daşlar üçün versiyalar daim yenilənir və müəllif, görünür, funksionallığa bir dövrə içərisindəki sazlayıcı əlavə etməyi planlaşdırır. Proqram təminatını alman dilindən alırıq. İdarəetmə proqramını mikrokontrollerə yükləmək üçün PonyProg proqramından istifadə etdim. Proqramlaşdırma zamanı kristaldan işləməyə başlamaq lazımdır xarici mənbə 12 MHz tezliyi. PonyProg-da qoruyucu keçid parametrləri ilə proqramın ekran görüntüsü:

Firmware yanıb-söndükdən sonra mikrokontrolörün 23 ayağına qoşulmuş LED yanmalıdır. Bu, proqramçının uğurla proqramlaşdırıldığına və istifadəyə hazır olduğuna əmin bir işarə olacaqdır.

Sürücü quraşdırma
Quraşdırma ilə bir maşın həyata keçirildi Windows sistemi 7 hec bir problem yoxdu. Kompüterinizə ilk dəfə qoşulduqda, yeni bir cihazın aşkar edildiyini bildirən bir mesaj görünəcək və sürücü quraşdırmağı təklif edəcəkdir. Göstərilən yerdən quraşdırma seçin:

Quraşdırılan sürücünün olmadığı barədə xəbərdarlıq edən bir pəncərə dərhal görünəcək rəqəmsal imza kiçik yumşaq olanlar üçün:

Xəbərdarlığa məhəl qoymuruq və quraşdırmaya davam edirik, qısa fasilədən sonra sürücü quraşdırma əməliyyatının uğurla başa çatdığını bildirən bir pəncərə görünəcək.

Budur, proqramçı artıq istifadəyə hazırdır.

Khazama AVR Proqramçısı
Proqramçı ilə işləmək üçün Khazama AVR Programmer flasherini seçdim. Minimalist interfeysə malik gözəl proqram.

O, bütün məşhur AVR mikrokontrolörləri ilə işləyir, flaş və eeprom-u yandırmağa, yaddaşın məzmununu nəzərdən keçirməyə, çipi silməyə, həmçinin qoruyucu bitlərin konfiqurasiyasını dəyişdirməyə imkan verir. Ümumiyyətlə, tamamilə standart bir dəst. Qoruyucu parametri açılan siyahıdan saat mənbəyini seçməklə həyata keçirilir, beləliklə, kristalın səhvən kilidlənməsi ehtimalı kəskin şəkildə azalır. Qoruyucuları aşağı sahəyə onay qutuları qoymaqla da dəyişdirmək olar, lakin mövcud olmayan konfiqurasiyada onay qutularını yerləşdirə bilməzsiniz və bu da təhlükəsizlik baxımından böyük bir artıdır.

Sigortalar, təxmin etdiyiniz kimi, Hamısını Yaz düyməsini basaraq MK yaddaşına yazılır. Saxla düyməsi cari konfiqurasiyanı saxlayır, Yükləmə düyməsi isə saxlananı qaytarır. Düzdür, mən bu düymələr üçün praktik istifadə edə bilmədim. Standart düyməsi standart qoruyucu konfiqurasiyasını qeyd etmək üçün nəzərdə tutulmuşdur, mikrokontrollerlər zavoddan gəlir (adətən daxili RC-dən 1 MHz).
Ümumiyyətlə, bu proqramçıdan istifadə etdiyim bütün müddət ərzində sabitlik və işləmə sürəti baxımından özünü ən yaxşı şəkildə göstərdi. Həm qədim masaüstü kompüterdə, həm də yeni noutbukda heç bir problem olmadan işləyirdi.

PCB faylını istifadə edərək SprintLayout-da yükləyə bilərsiniz

ATMEL-dən mikrokontrollerlər geniş populyarlıq qazandı. Onlar istifadə etməzdən əvvəl birbaşa lövhədə proqramlaşdırıla bilər. bitmiş cihaz LPT portuna qoşulmuş sadə ISP kabeli vasitəsilə fərdi kompüter və ya COM portuna qoşulmuş bir az daha mürəkkəb kabel. Ancaq bu gün daha çox ana platalar hər ikisi olmadan istehsal olunur və noutbuklarda LPT çoxdan yoxa çıxdı, USB interfeysi ilə əvəz olundu. Bununla belə, bu interfeys üçün proqramçılar da mövcuddur və mövcuddur.

Ölçək üçün yaxınlıqda adi 5 mm LED var.
Bu USBASP proqramçısı aşağıdakı mikrokontrollerləri dəstəkləyir:

Dəstəklənən MK-ların siyahısı

Attiny11, Attiny13, Attiny15, Attiny15, Attiny22, Attiny2313, Attiny24, Attiny26, Attiny26, Attiny26, Attiny46, Attiny46, Attiny461, Attiny461, Attiny461, Attiny84, Attiny84
AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168, ATmega169, ATmega32, ATmega3223, ATmega324, ATmega324
ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega128, ATmega162, ATmega16 03, ATmega406, 15, ATmega8535
AT90CAN32, AT90CAN64, AT90CAN128
AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
AT89S51, AT89S52
AT86RF401




Proqramçı ilə birləşdiriciləri olan 10 nüvəli uçuş kabeli verilir.


Proqramçı kompüterin USB portundan qidalanır.


Proqramçı lövhəsində 3.3V LDO gərginlik tənzimləyicisini lehimləmək üçün yer var, lakin özü lehimlənmir.
Proqramçı AVRDUDE proqramı tərəfindən dəstəklənir. Proqramın özü konsol proqramıdır, lakin . Avrdude yardım proqramını paylamada /hardware/tools/ qovluğunda tapmaq olar Arduino IDE və ya internetdən yükləyin.
Proqramçı ilə işləməyə başlamazdan əvvəl sürücünü buradan yükləməlisiniz.
Proqramçı həmçinin Arduino inkişaf mühiti tərəfindən dəstəklənir.


Proqramçı üçün onu STK500 uyğunluğuna çevirən və ATMEL AVR Studio özəl inkişaf mühiti tərəfindən qəbul edilən proqram təminatı var, lakin Çin aparatının yüksək dəyişkənliyinə görə ondan yalnız öz təhlükə və riskinizlə istifadə edə bilərsiniz. +32 almağı planlaşdırıram Sevimlilərə əlavə edin Rəyi bəyəndim +17 +42