Programuesi USB (AVR): përshkrim, qëllim. Programuesit e mikrokontrolluesit AVR Programuesi serial në qark AVR

Ky programues nuk kërkon programim fillestar - ju gërvishtni tabelën e qarkut të printuar, e lidhni dhe e përdorni. Autori i kësaj pajisjeje është renditur në fund të artikullit, por këtu do të jap një fragment të shkurtër nga manuali për ta bërë më të qartë se për çfarë po flasim: programuesi i duhur USB është, në fakt, një gjë universale. Mund ta lidhni në çdo kompjuter modern dhe të përditësoni lehtësisht mikrokontrolluesin e dëshiruar me çdo sasi memorie FLASH me një shpejtësi mjaft të lartë. Por fjala kyçe këtu është "e saktë", e cila funksionon normalisht pa akorduar dhe kërcyer me një dajre sipër saj menjëherë pas instalimit dhe montimit të pjesëve. E cila nuk ka probleme kur lëviz nga një kompjuter në tjetrin ose kur ndryshon OS. E sakta është ajo për të cilën ka drejtues për çdo version modern të përdorur gjerësisht të OS, dhe këta drejtues nuk janë me probleme. Të gjithë do të përcaktojnë një duzinë më shumë kritere korrektësie për veten e tyre personalisht, por sa më sipër janë ato kryesore, pa të cilat do të jetë e pamundur të punohet normalisht me mikrokontrolluesin në parim.

Në ditët e sotme interneti është plot me skema të ndryshme. Në mënyrë konvencionale, ato mund të ndahen në dy grupe të mëdha.

Grupi i parë përfshin programues të ndërtuar në bazë të mikrokontrolluesve (në veçanti, AVR). Unë mblodha disa pjesë programuesish nga Prottoss (AVR910), për veten dhe miqtë e mi, si dhe disa pjesë USBasp. Dy nga miqtë e mi, të talentuar me këto pajisje, janë të kënaqur. Ata qepnin gurë me sukses prej disa vitesh. Për të tjerët (në veçanti, për mua personalisht), programuesit e mbledhur nuk shkaktuan shumë gëzim. Nuk po them se janë të këqij, thjesht rrethanat ishin të tilla: funksionon në një kompjuter, por jo në tjetrin. Ose, pasi punuan për disa orë, ata doli të ishin të padukshëm për softuerin përmes të cilit është qepur guri. Edhe me shume. Më lejoni të them menjëherë se nuk e kuptova firmware-in e kontrollorëve në të cilët janë mbledhur këta programues. Vërtetë, kam provuar një mori programesh ndezëse, përmes të cilave këta programues duket se janë në gjendje të qepin gurë pa asnjë problem. Sidoqoftë, rezultati në formën e defekteve të shpeshta nuk më kënaqi veçanërisht. Përjashtimi i vetëm ishte programi AVRDUDE në kombinim me guaskën grafike SinaProg, por e mësova shumë vonë. Nga rruga, unë vura re këtë prirje: sa më i vjetër të jetë pajisja e kompjuterit, aq më mirë funksionojnë këta programues. Epo, momenti më i pakëndshëm për ata që zgjodhën opsionin e dytë të njohjes me mikrokontrolluesit AVR është që në mënyrë që programuesi të funksionojë, duhet të ndezni gurin e përfshirë në të me diçka. Kjo do të thotë, rezulton kështu: për të përdorur programuesin, duhet të bësh/gjeni një programues në mënyrë që të ndezni trurin e këtij programuesi. Ky është një rreth kaq vicioz.

Dhe grupi i dytë Programuesit USB përfshijnë një zgjidhje të bazuar në një çip të specializuar FT232Rx. Në një kohë, ky mikroqark u bë një lloj revolucioni. Jo vetëm që e konverton USB-në në UART pa ndonjë problem për zhvilluesin (dhe, me siguri, 95% e zhvilluesve e përdorin atë pikërisht për këtë qëllim). Ai gjithashtu mund të imitojë një port të plotë COM, dhe gjendja e linjave "të vogla" (si RTS, CTS, DTR, etj.) mund të vendoset/lexohet jo nga një port virtual COM, por direkt përmes drejtuesit FTDI ( zhvilluar nga FT232Rx). Kështu, është shfaqur një zgjidhje e re për mikrokontrolluesit ndezës, pa pasur nevojë për firmware fillestar të trurit të programuesit, dhe është mjaft e shpejtë.

Diagrami skematik i një programuesi USB

Ky qark thjesht drejton sinjalet MOSI, MISO, SCK dhe RESET, të cilat gjenerohen në kunjat DCD, DTR, RTS dhe DSR të çipit DD1 (FT232RL), përkatësisht, në kunjat e dëshiruara të mikrokontrolluesit që ndizet (d.m.th. është në të vërtetë një analog i programuesve "të lashtë"). Për më tepër, këtë e bën vetëm në momentin e programimit të gurit; në raste të tjera programuesi shkëputet nga pllaka duke u ndezur për shkak të 4 elementëve tampon të çipit DD2 (74HC125D). Gjendja e linjave MOSI, MISO, SCK dhe RESET caktohet/lexohet nga softueri i firmuerit në kompjuter. Transferimi i të dhënave ndërmjet kompjuterit dhe çipit FT232RL ndodh nëpërmjet autobusit USB (nga i cili merr energji edhe programuesi).

LED HL2 ("PWR") sinjalizon se programuesi po merr energji nga autobusi USB. LED HL1 ("PROG") tregon procesin e ndezjes së mikrokontrolluesit (ndizet vetëm gjatë ndezjes). Ky, në parim, është i gjithë përshkrimi i vetë diagramit të qarkut elektrik. E vetmja gjë që do të doja të shënoja është: së pari, për të lidhur programuesin me bordin që ndizet, përdoret një lidhës IDC-10MR (XP2 "ISP"), pika e së cilës përkon me daljen e përhapur të lidhësit të programuesit.
STK200/STK300:

Konektori XP2 "ISP" për lidhjen e pajisjes me një mikrokontrollues të programueshëm

Lidhës XP3 "MISC" për përdorimin e funksioneve shtesë të programuesit

Në përgjithësi, çipi FT232RL ka një potencial mjaft serioz për një zhvillues (për shembull, linjat e autobusit CBUS mund të përdoren si linja të rregullta hyrje/dalje të mikrokontrolluesit), kështu që do të ishte mirë të kishim akses në të gjitha kunjat e tij. Epo, qasja në tensionet +5.0 V dhe +3.3 V nuk do të jetë asnjëherë e tepërt. Bashkangjitur është një tabelë e qarkut të printuar dhe një përshkrim i plotë i detajuar. Zhvillimi dhe manuali - [email i mbrojtur] , gjyq - SssaHeKkk.

Diskutoni artikullin PROGRAMER USB

Ka shumë qarqe programues mikrokontrollues të disponueshëm në internet. Unë paraqes një version të një programuesi universal USB në qark me aftësi korrigjimi, të cilin e përdor. Ju mund ta montoni këtë programues me duart tuaja.

Baza e programuesit është çipi FT2232D. Është një konvertues USB në dy porte UART. E veçanta është se kanali "i sipërm" A mund të funksionojë në mënyrat JTAG, SPI dhe I 2 C, i cili kërkohet për programimin e mikrokontrolluesve, çipave të ndryshëm të memories, etj.

Zhvillimi i këtij programuesi USB kryhet në një kompjuter duke përdorur bibliotekat nga FTDI Chip.

Pajisja mundësohet nga ndërfaqja USB. Nëse montohet saktë, qarku nuk ka nevojë të konfigurohet. Funksionimi i pajisjes varet nga aftësia e zhvilluesit të softuerit. Rezistorët R8, R9, R12, R13, R14, R15, R16 kufizojnë rrymën nëse lidhen gabimisht me pajisjen; në përputhje me rrethanat, terminalet e pajisjes së programueshme nuk duhet të lidhen me elementë të tjerë në qark ose të kenë tërheqje të tilla që nuk do të shtrembëronte logjikën logjike gjatë formimit të niveleve të ndarësve të tensionit. Çipi U1 përdoret për të ruajtur cilësimet e përdoruesit.

Kunjat U2 (kanali A):
24 - ADBUS0 – dalje - në modalitetin JTAG TCK, në modalitetin SPI SK;
23 - ADBUS1 – dalje - në modalitetin JTAG TDI, në modalitetin SPI DO;
22 - ADBUS2 – hyrje - në modalitetin JTAG TDO, në modalitetin SPI DI;
21 - ADBUS3 – dalje - në modalitetin JTAG TMS, në modalitetin SPI si sinjal ndihmës (CS);
20 - ADBUS4 – në hyrje/dalje të modalitetit JTAG, dalje ndihmëse në modalitetin SPI. Ky pin përdoret për të dhënë një sinjal RESET te mikrokontrolluesi;
15 - AСBUS0 – hyrje/dalje e programueshme lirisht në të gjitha mënyrat (përdoret opsionalisht për të furnizuar me energji pajisjen e programueshme);
13 - AСBUS1 – hyrje/dalje e programueshme lirisht në të gjitha mënyrat.

Në parim, këto përfundime janë shumëfunksionale. Sjellja e tyre përcaktohet nga mënyra e zgjedhur kur hapet porti.

Kanali B përdoret për të korrigjuar gabimet e pajisjes së programueshme. Për ta bërë këtë, ju duhet vetëm të keni një portë UART të papërdorur në mikrokontrollues. Tjetra është një çështje e teknologjisë. Në programin e mikrokontrolluesit, ne përdorim funksionin e prodhimit të formatuar printf() në vendet e duhura.

40 -BDBUS0 – dalje - në modalitetin UART TXD;
39 -BDBUS1 – hyrje - në modalitetin UART RXD;
28 - BСBUS2 - dalje - në modalitetin UART Treguesi LED (ndizet kur transmeton të dhëna përmes USB);
27 - BСBUS3 - dalja - Treguesi LED në modalitetin UART (ndizet kur merr të dhëna përmes USB).

Më poshtë është bordi i qarkut të programuesit

Sot, ky programues universal mbështet mikrokontrolluesit AVR nëpërmjet ndërfaqeve JTAG dhe SPI. Për më tepër, shpejtësia e firmuerit Atmega64 përmes JTAG nuk është më shumë se 5 sekonda, përmes SPI jo më shumë se 8 sekonda. Në parim, mund të ndezni çdo mikrokontrollues për të cilin zbatohet specifikimi për programuesin. Aktualisht, për shembull, zhvillimi është duke u zhvilluar për të mbështetur mikrokontrolluesit NEC.

Formulari i punës është i ndarë në dy pjesë: në të majtë janë tabelat për të punuar me FLASH (lart) dhe EEPROM (poshtë), këtu mund të hapni skedarë ose të shkarkoni firmware nga mikrokontrolluesi, të bëni verifikimin, të modifikoni përmbajtjen e qelizave të memories; në të djathtë është një fushë teksti për korrigjimin e gabimeve, të dhënat nga kanali B shfaqen këtu, gjithashtu mund të futni tekst atje që do të dërgohet në port (funksionalisht ky është një analog i HyperTerminal). Zhvillimi kryhet në platformën Visual C# për Windows. Është gjithashtu e mundur të zhvillohet në gjuhë të tjera. Programuesi mund të punojë edhe nën Linux.

Librat e përdorur:
1. A.V. Evstigneev "Mikrokontrolluesit AVR të familjeve Tiny dhe Mega nga ATMEL", M. Shtëpia botuese "Dodeka-XXI", 2005.
2. Future Technology Devices International Ltd. "FT2232D USB e dyfishtë UART/FIFO I.C." Fleta e të dhënave, 2006.
3. Future Technology Devices International Ltd. “Udhëzuesi i programuesit D2XX për zhvillimin e aplikacioneve softuerike”, Dokument, 2009.
4. Future Technology Devices International Ltd. "Udhëzues programues për FTCJTAG DLL me shpejtësi të lartë", Shënim i aplikacionit AN_110, 2009.
5. Future Technology Devices International Ltd. "Udhëzues programues për FTCSPI DLL me shpejtësi të lartë", Shënim i aplikacionit AN_111, 2009.
6. Andrew Troelsen “C# dhe platforma .NET” M., S-P. Peter, 2007.

Mund të shkarkoni burimet e softuerit dhe bordin e qarkut të printuar në formatin e mëposhtëm

Borisov Alexey () Syzran, rajoni i Samara.

Lista e radioelementeve

Emërtimi Lloji Emërtimi sasi shënimDyqanblloku im i shënimeve
U1 ÇipAT93C46D-8S1 Në bllokun e shënimeve
U2 ÇipFT2232D1 Në bllokun e shënimeve
VT1 Transistor MOSFET

BSS84

1 Në bllokun e shënimeve
C1 Kondensator0,01 µF1 Në bllokun e shënimeve
C2, C3 Kondensator27 pF2 Në bllokun e shënimeve
C4, C5, C7, C9, C10 Kondensator0,1 µF5 Në bllokun e shënimeve
C6 Kondensator0,033 µF1 Në bllokun e shënimeve
C8 Kondensator elektrolitik10 µF1 Në bllokun e shënimeve
R1 Rezistencë

2.2 kOhm

1 0,05 W Në bllokun e shënimeve
R2 Rezistencë

10 kOhm

1 0,05 W Në bllokun e shënimeve
R3, R4 Rezistencë

27 Ohm

2 0,05 W Në bllokun e shënimeve
R5 Rezistencë

470 Ohm

1 0,05 W Në bllokun e shënimeve
R6, R7 Rezistencë

1.5 kOhm

2 0,05 W Në bllokun e shënimeve
R8-R16 Rezistencë

Inxhinierët e radios që duan të dizajnojnë pajisje elektronike herë pas here duhet të përdorin mikrokontrollues në zhvillimet e tyre. Aplikimet e këtyre pajisjeve gjysmëpërçuese

hap perspektiva të mëdha për inxhinierët e radios. Mikrokontrolluesit prodhohen vetëm nga disa kompani, drejtues të të cilave janë MicrochipTechnology, ATMEL, ARMLimited. Karakteristika kryesore e pajisjeve të tilla është nevoja për firmware-in e tyre. Kjo është arsyeja pse nevojiten programues. Sot ekziston një përzgjedhje e madhe e llojeve të ndryshme të programuesve, megjithatë, çmimi i produkteve të tilla është shumë i lartë, dhe jo çdo radio amator mund të përballojë të blejë një pajisje të tillë.

Në këtë artikull do të shikojmë një programues USB (AVR) të bazuar në mikrokontrolluesin e kontrollit Atmega 8. Ky produkt është mjaft i thjeshtë që një radio amator ta montojë vetë dhe të mos shpenzojë shumë para për një produkt të markës. Programuesi USB që kemi zgjedhur (AVR) ka instalime elektrike minimale të mikrokontrolluesit, i cili ju lejon të montoni një pajisje shumë miniaturë. Ky produkt nuk merr shumë hapësirë; ai ka një flash drive të rregullt. Programuesi USB (AVR) në qarkun e tij përmban një lloj pakete mikrokontrollues - TQFP 32 (të mos ngatërrohet me llojin e paketës DIP, pasi ato kanë pika të ndryshme). Diagrami i një pajisjeje të tillë tregohet në foto.

Le të vazhdojmë me përshkrimin e qarkut të pajisjes. Jumper J1 përdoret kur bëhet e nevojshme ndezja e firmware-it për një mikrokontrollues me një frekuencë ore nën 1,5 MHz. Nëse dëshironi, ky bluzë mund të përjashtohet lehtësisht nga qarku; për këtë, kunja e 25-të e kontrolluesit është e lidhur me tokën. Në këtë rast, programuesi AVR-USB do të funksionojë gjithmonë me një frekuencë të reduktuar. Ju lutemi vini re se programimi nuk zgjat më shumë, por sigurisht që varet nga ju që të vendosni. Diodat Zener D1, D2 përdoren për të përputhur nivelin midis autobusit USB dhe programuesit. LED blu sinjalizon që pajisja është gati për programimin e mikrokontrolluesit, dioda e kuqe ndizet gjatë procesit të programimit. Qarku ka një lidhës IDC-06, i cili përmban kontakte, pika e të cilave korrespondon me lidhësin ISP të tipit ATMEL 6-pin. Lidhësi i specifikuar mbart kontaktet e rrymës së mikrokontrolluesve; është marrë nga porta USB e kompjuterit personal, prandaj duhet të keni kujdes që të mos lejoni që programimi i kontrolluesit të kontrollit të bëhet duke përdorur të njëjtin lidhës. Për ta bërë këtë, ju duhet të lidhni kontaktet e rivendosjes në kontrollues dhe në lidhës (në diagramin e treguar në vijën e kuqe me pika).

Kërcimi i reduktimit të shpejtësisë së programuesit dhe lidhësi i mikrokontrolluesit ndodhen në fund të pajisjes. Kjo është ajo që është një programues USB (AVR), siç mund ta shihni, gjithçka është elementare.

Pas montimit të pajisjes, duhet të ndezni mikrokontrolluesin e kontrollit; për këtë ju rekomandoj të përdorni programin PonyProg. Gjatë programimit, ne e vendosim kristalin të funksionojë nga një burim i jashtëm i orës në 12 MHz.

Programuesi USB për AVR i përshkruar në këtë artikull punon me të gjithë mikrokontrolluesit e tipit AVR, ju lejon t'i ndezni ato, të shikoni përmbajtjen e regjistruar të pajisjes, të fshini çipat dhe të ndryshoni konfigurimin.

Epo, ka ardhur koha që ne të ndërtojmë një programues USB. Për një kohë të gjatë nuk mund të vendosa se cilin programues duhet të ndërtonim. I zgjodha në bazë të kritereve të thjeshtësisë së dizajnit dhe lehtësisë së punës me to, por asgjë nuk më pëlqeu. Shansi më ndihmoi të zgjidhja një programues. Ose më saktë, nuk e zgjodha fare - e mblodha aksidentalisht pa e ditur!

Dhe ishte kështu. Disa postime më parë, ne montuam një konvertues USB në UART në ATtiny2313 (dhe madje kemi përmirësuar bordin e qarkut të printuar). Edhe kur zgjedh qarkun e konvertuesit, kam planifikuar ta përdor atë (duke ngarkuar firmware të ndryshëm) për të marrë pajisje për qëllime të ndryshme. Në atë kohë, nuk e kisha idenë se ky konvertues mund të përdorej më gjerësisht nga sa kisha planifikuar. Pasi pashë diagramin e një programuesi USB - USBtiny në ATtiny2313, kuptova që tashmë kam një programues të gatshëm!

Duke parë diagramin e konvertuesit USB në UART të bërë më parë(faqja kryesore)


dhe një diagram të programuesit USB USBTiny(Faqja kryesore)

ju mund ta shihni atë është e njëjta skemë. Dallimet janë të vogla - nuk ka LED sinjal dhe disa rezistorë. Në mënyrë që konverteri të bëhet një programues USB, thjesht duhet të ndezni mikrokontrolluesin me firmware të ri dhe të bëni një kabllo për lidhje.

Tani gjithçka është në rregull.
1 Së pari ju duhet të montoni konvertuesin(kjo është nëse nuk e keni mbledhur ende).
Këtu është një vizatim i tabelës së qarkut të konvertuesit:
Nëse jeni të interesuar, ja ku është.
Kur montohet, konverteri duket si ky:

2 Ndryshoni pak tabelën
Për të siguruar të gjitha sinjalet e nevojshme për programim, ne bashkojmë rezistenca mbrojtëse me një vlerë nominale prej 100 Ohms në linjat e këmbëve 12, 16, 17, 18, 19 (vlera nuk është kritike - mund të ndryshojë).


3 Tani duhet të ndezni mikrokontrolluesin.
Linjat për programuesin drejtohen në një lidhës të përbashkët në tabelë (përveç rivendosjes, e cila është e veçantë).

Ndoshta nuk ka nevojë të thuhet se për të ndezur firmware-in e mikrokontrolluesit do t'ju duhet një programues. Mund ta montoni dhe qepni shpejt duke përdorur .


Diagrami i qarkut është i thjeshtë.

Një nga veçoritë është se vendosa LED-in e treguesit dhe rezistencën e çakëllit për të në një tabelë në lidhës - kjo është në mënyrë që bordi të mund të përdoret për pajisje të tjera pa ribashkim (epo, është më e ftohtë në këtë mënyrë - LED pulson menjëherë në lidhës :)). Për më tepër, linja Vcc është e ndarë nga lidhësi i përgjithshëm - kjo është në rast se pajisja e programueshme nuk mundësohet nga USB, por nga burimi i saj (i cili, në parim, është i dëshirueshëm). Këshillohet që të mbroni linjat e sinjalit (SCK, MISO, MOSI) (për shembull, duke alternuar sinjalin dhe linjat tokësore në lak). Gjatësia e trenit nuk duhet të jetë e gjatë - deri në 50 cm, jo ​​më shumë. Nëse keni nevojë të programoni një pajisje në distancë, gjithmonë mund të përdorni një kabllo shtesë USB - është më e besueshme. Këtu është dantella ime e përfunduar:



5 Vetë programuesi është gati, tani ju duhet të instaloni shoferin në mënyrë që Windows të mund të punojë me të (për Mac OS X & Linux, me sa duket, nuk nevojitet fare drejtues). Gjithçka është e thjeshtë këtu:

5.1 Shkarkoni drejtuesin dhe zhbllokoni atë.
Faqja e shoferëve


5.2 Ne e fusim programuesin tonë në portën USB.




5.3 Në tabaka do të shfaqet një mesazh që thotë se është gjetur një pajisje e re.



5.4 Wizard i gjetur i ri i harduerit do të nisë.



5.5 Specifikoni dosjen me drejtuesin në dritaren "kërkoni vendndodhjen".



5.6 Procesi i instalimit të drejtuesit do të përfundojë. Do të shfaqet një dritare që tregon se shoferi është i instaluar. Për të kontrolluar se çfarë kemi instaluar atje, shkoni te "My Computer/Properties/Hardware/Device Manager" dhe gjeni programuesin tonë atje

Windows pa pajisjen e re dhe është gati të punojë me të.

Programuesi USBtiny i mbështetur nga AVRDude, që do të thotë se shumë mjedise programimi do të punojnë me të pa probleme. Një avantazh tjetër i punës me AVRDude është se ka shumë predha GUI për të punuar me AVRDude nga të cilat mund të zgjidhni atë që ju përshtatet (por më shumë për këtë në artikullin vijues).

Unë nuk kam punuar më parë me USBTiny, por vlerësimet në lidhje me të në internet janë pozitive (është i besueshëm dhe i shpejtë për t'u programuar) - firmware-i im i testimit e konfirmoi këtë. ATtiny2313 ndizet në 10 sekonda (kjo përfshin kontrollin). Mikrokontrolluesi zbulohet dhe programohet në mënyrë të besueshme - nuk ka pasur asnjë gabim të vetëm gjatë testeve të mia. Programues i këndshëm për t'u përdorur!


Skedarët për artikullin:
- Vizatimi i PCB-së UART-USB në ATtiny2313
- Firmware i programuesit USBtiny për ATtiny2313
- Bitë siguresash ATtiny2313 për USBtiny
- Diagrami kabllor për programuesin USBtiny

Në këtë artikull do të përshkruajmë hap pas hapi fazat e prodhimit. Programues USBasp për mikrokontrolluesit AVR. Në artikuj të veçantë do të ofrojmë një përshkrim të instalimit të drejtuesve për sistemet operative Windows XP dhe Windows 7 (x64/x86). Në fund të postimit ka një lidhje me dokumentacionin e nevojshëm për të bërë një programues USBasp me duart tuaja.

Programuesi USBasp, për shkak të lehtësisë së prodhimit dhe përdorimit të elementeve të lira dhe të disponueshëm gjerësisht, është bërë shumë i popullarizuar në mesin e amatorët e radios. Parametrat e tij të funksionimit nuk janë inferiorë ndaj programuesve profesionistë dhe të shtrenjtë të mikrokontrolluesve AVR.

Karakteristikat kryesore të programuesit USBasp

  • Punon me shumë sisteme operative - Linux, Mac OS X dhe Windows - duke përfshirë Windows 8!
  • Nuk kërkon energji të jashtme.
  • Mund të programojë me shpejtësi deri në 5 kB/s
  • Ekziston një opsion (Switch 2) për të zvogëluar shpejtësinë e programimit - për procesorët me kuarc më pak se 1.5 MHz
  • Ofron tension programimi (Switch 1) 5 volt
  • Tregon funksionimin e programuesit duke përdorur një LED

Para fillimit të punës, ia vlen të njiheni me sekuencën e të gjitha veprimeve të kryera, përkatësisht:

  1. Zgjedhja e një dizajni/modeli të bordit të qarkut
  2. Transferimi i dizajnit të tabelës së qarkut të printuar në petë me tekstil me fije qelqi
  3. Gdhendja e një bordi qarku të shtypur në një zgjidhje të klorurit të hekurit
  4. Shpimi i vrimave
  5. Instalimi i elementeve (bashkim)
  6. Programimi i programuesit Atmaga8
  7. Lidhja e programuesit me një kompjuter
  8. Instalimi i drejtuesve - Windows XP, Windows 7
  9. Zgjedhja e një programi që mbështet USBasp

Ka shumë versione të programuesit USBasp, por të gjitha bazohen në qarkun kryesor, me autor Thomas Fischl. Firmware-i i mikrokontrolluesit të programuesit është gjithashtu autori i tij.

Qarku origjinal i programuesit:

Në këtë rast, skema origjinale u zgjodh si bazë. Meqenëse përdorimi i kërcyesve në qarkun origjinal nuk është plotësisht i përshtatshëm, u vendos që të përdoren çelsat DIP. Disa vlera të rezistencës u ndryshuan gjithashtu.
Për më tepër, në qarkun origjinal, linjat TxD dhe RxD drejtohen në lidhësin ISP, megjithëse kjo nuk është e nevojshme (më saktë, ato nuk përdoren në praktikë).

Më poshtë është një diagram me ndryshimet e bëra:

Ndërtimi i një programuesi USBasp

Ka shumë versione të PCB-së për këtë programues, disa mund të gjenden në faqen zyrtare të internetit USBasp. Megjithatë, unë e bëra timen bazuar në diagramin e mësipërm.

Fatkeqësisht, për shkak të përdorimit të çelsave DIP, dizajni i bordit u bë pak më i ndërlikuar, gjë që çoi në përdorimin e 2 kërcyesve të shkurtër për të siguruar që PCB-ja të ishte ende e njëanshme.

Më poshtë është rezultati i PCB-së:

Siç shihet në figurë, programuesi nuk ka përdorur elementë SMD. Hapësira e zbrazët në tabelë është "mbushur" me një fushë toke, kryesisht për të mos gërmuar një sasi të madhe bakri, dhe gjithashtu për të zvogëluar ndikimin e ndërhyrjes në programues.

Lista e elementeve të përdorura në programuesin USBasp:

  • R1: 10 mijë
  • R2: 180
  • R3: 100
  • R5, R6: 68
  • R7: 2k2
  • C1, C2: 22p
  • C3: 10μ
  • C4: 100n
  • LED1: LED i kuq 20 mA
  • LED2: LED jeshile në 20 mA
  • D2, D3: dioda zener në 3.6V
  • X1: Lidhës USB i tipit B
  • SV1: fole IDC-10
  • Q1: Kuarc 12MHz, strehim HC49-S
  • SW1: Çelësi i zhytjes në tre pozicione
  • IC1: Atmega8 ( SHËNIM: Mikrokontrolluesi Atmega8 - PU nuk duhet të përdoret për shkak të kufizimit maksimal të shpejtësisë së orës prej 8 MHz!)

Transferimi i modelit të tabelës së qarkut të printuar të programuesit USBasp në tekstil me fije qelqi u krye duke përdorur metodën LUT (). Ne nuk do të përshkruajmë se si ta bëjmë këtë, pasi ka shumë nga këto informacione në internet.

Le të themi shkurtimisht se fillimisht një vizatim në shkallën 1:1 shtypet në letër me shkëlqim, më pas aplikohet në anën e pastruar dhe të yndyrosur të bakrit të petëzuar me tekstil me fije qelqi dhe fiksohet me shirit letre. Më pas, ana e letrës lëmohet me kujdes me një hekur duke përdorur një hekur me 3 pika. Më pas, e gjithë gjëja ngjyhet në ujë dhe pastrohet me kujdes nga letra.

Hapi tjetër është gdhendja e tabelës në një zgjidhje të klorurit të hekurit. Gjatë gdhendjes, është e dëshirueshme të ruhet temperatura e tretësirës së paku 40 C, kështu që zhytni kavanozin me tretësirën në ujë të nxehtë:


Pas përfundimit të procesit të gdhendjes, duhet të hiqni tonerin me aceton.

E vetmja gjë që mbetet tani është të shpohen vrimat. Pas përfundimit të procesit të prodhimit të pllakës, mund të filloni bashkimin e elementeve të programuesit USBasp, duke filluar me kërcyesit.

Një vizatim i PCB i gatshëm për printim (në format PDF) është në fund të artikullit. Ju gjithashtu mund të gjeni disa opsione në faqen zyrtare të projektit.

Nisja e parë e programuesit USBasp

Tani që të gjitha pjesët janë bashkuar, gjithçka që mbetet është të "flash" mikrokontrolluesin Atmegę8 të vetë programuesit. Për këtë ju nevojitet një programues i veçantë, ai mund të jetë, për shembull, STK 200 (porta LPT), STK500, etj. Programuesi LPT është i lidhur me USBasp nëpërmjet lidhësit IDC-10.

Ju lutemi vini re se shpërndarja e kunjave në lidhësin e programuesit origjinal (USBasp) është në të djathtë, ndërsa në versionin e përshkruar në këtë artikull është në të majtë:

Shpërndarja e treguar në figurën në të djathtë korrespondon me ato të përdorura nga Atmel në programuesit e tij origjinal. Kjo shpërndarje zvogëlon rrezikun e ndërhyrjes gjatë programimit në rastin e telave të gjatë nga programuesi te kontrolluesi, pasi çdo linjë sinjali është e mbrojtur me tokëzim, përveç MOSI.

Gjatë programimit, aktivizoni modalitetin SELF duke e kthyer çelësin DIP nr. 3 në pozicionin ON. Falë kësaj, bëhet e mundur programimi i Atmega8. Pas përfundimit të programimit, pozicioni i çelësit (3) duhet të vendoset në OFF.

Versioni më i fundit i firmuerit mund të shkarkohet nga faqja zyrtare e internetit. Ne rekomandojmë versionin për Atmega8, i cili është në arkiv: usbasp.2011-05-28.tar.gz.

Ju lutemi vini re se përpara se të programoni Atmega8, duhet të vendosni siguresat që kanë vlerat e mëposhtme:

  • # për Atmega8: HFUSE=0xC9 LFUSE=0xEF
  • # për Atmega48: HFUSE=0xDD LFUSE=0xFF

Nëse programimi është i suksesshëm, lidhni programuesin me lidhësin USB të kompjuterit, LED-i i kuq duhet të ndizet dhe kompjuteri duhet të njoftojë se është zbuluar pajisje e re.

Instalimi i drejtuesve të programuesit USBasp

Metoda për instalimin e drejtuesve të programuesit përshkruhet në artikuj të veçantë, dhe vetë drejtuesit janë gjithashtu të disponueshëm atje. Më poshtë janë lidhjet e drejtpërdrejta me këta artikuj:

  • Instalimi i drejtuesve për programuesin USBasp nën Windows XP
  • Instalimi i drejtuesve për programuesin USBasp Windows 7 x64/x86

Programet për funksionimin e programuesit USBasp

Programi më i popullarizuar që mbështet programuesin USBasp është programi i konsolës AVRdude. Ekzistojnë gjithashtu shumë programe derivative, përdorimi i të cilave është shumë më i përshtatshëm. Ato janë paraqitur në artikullin Krahasimi i programeve për të mbështetur programuesin USBasp.