AVR mikrokontrollerite programmeerijad. Lihtsad programmeerijad. LPT programmeerija valmistamine AVR mikrokontrolleritele Programmeerija kasutades COM porti

Üsna sageli puutuvad paljud internetis kokku mõne huvitava disainiga, kuid üks asi hoiab seda tagasi – see on tehtud kontrolleri abil. Ja see on nii raske...

Tegelikult on kõik palju lihtsam. Kui kontrollerit on võimalik osta, on pool tööst juba tehtud. Jääb vaid plaat “triikida”, söövitada ja detailidega jootma... Ja nüüd tuleb kontroller. Kuidas teda "elustada"? Kuidas "vilgutada"? Algab valus programmeerija ahela ja programmi otsimine. Ahel leiti, kuid halb õnn - arvuti tagaseinal on juba 8 USB-pistikut, printeri port ja mitte ühtegi COM-porti, mille jaoks vooluahel leiti.

Sündmuste arendamiseks on veel üks võimalus. Arvutil on COM-port. Kuid mingil põhjusel keeldub programmeerija kontrollerit "õmblemast" - pidevalt ilmub tõrge. Kuid tõsiasi on see, et sageli on tänapäevastel emaplaatidel (ja eriti sülearvutites) COM-pordid väga madala vooluga. Seetõttu lõpeb programmeerimisprotsess enne selle algust. Kõigil ülaltoodud juhtudel aitab see lihtne diagramm teid.

See on LPT-pordi programmeerija. Vaatamata näilisele keerukusele on skeem üsna lihtne ja hakkab tööle kohe, ilma konfiguratsiooni nõudmata. Osad on saadaval ja maksavad sõna otseses mõttes sente. Aga võimalused... Selle aparaadiga saad lihtsalt vilgutada kontrollerit mitte ainult pesas, vaid ka vooluringis (see puudutab seadmeid, mille plaat on juhtmega SMD kontrolleri korpuse jaoks, aga sa ei taha osta pistikupesa selle eest 20 dollarit).

Pärast kokkupanemist näeb see välja selline:

See väikeste erinevustega programmeerija on Internetis rändlenud umbes 20 aastat. Seda tuntakse kui Clasic Tait Programmer, ProPIC2, ​​​​meProg. Mõned ettevõtted toodavad seda siiani ja müüakse edukalt.

Tarkvara uusimad versioonid saab alla laadida siit:

  • http://www.winpic800.com/
  • http://melabs.com/support/progsoft.htm
  • http://members.aon.at/electronics/pic/picpgm/

Siin on WinPIC800 seaded:

Ja siin on adapter 8-14-18-20 väljundkontrollerite vilkumiseks.


Seda diagrammi vaadatakse sageli ka:

Algajatele on küsimus "mida me oma kontrolleri välgutamiseks kasutame?" tõuseb peaaegu kohe üles. Seda probleemi saab lahendada kahel viisil – ostame jadaprogrammeerija või ehitame ise. Loomulikult ei ole mikrokontrollerite tundmaõppimise algfaasis soovitatav osta ühtegi jadaprogrammeerijat. Lihtsaim lahendus oleks nn "viie juhtme" programmeerija. See valik on ühekordseks kasutamiseks üsna sobiv, kuid on suur oht, et varem või hiljem põleb teie arvuti LPT-port läbi. Odava ja turvalise võimalusena paralleelpordi programmeerija jaoks kasutame täiustatud vooluringi.

Tutvustame lihtsat ja turvalist paralleelpordi programmeerijat. Programmeerija ahel on erinevates variatsioonides üsna levinud ja põhineb 74HC 244N puhverkiibi kasutamisel. Puhver hoiab teie printeri pordi turvalisena ja usaldusväärsena. Lisaks on vooluringis kaasas takisti, mille eesmärk on kaitsta staatilise elektri eest.

Programmeerija ühildub Atmel STK 200/300-ga ja seda toetavad paljud populaarsed kompilaatorid. Kogu väike osade komplekt selle kokkupanekuks on üsna tavaline ja ei tekita ostmisel raskusi. Trükkplaat on valmistatud mitme džempriga ühepoolse versioonina.

Programmeerija ühendamiseks arvutiga on mugav kasutada LPT pordi pikenduskaablit.

Skeem sPlani formaadis 6.0 ja tahvli paigutus vormingus Sprinti paigutus 4.0 saate alla laadida LUT alt.

Kui plaanite Atmel AVR mikrokontrollerite (või isegi omatehtud Arduino) abil mõnda seadet ehitada, ei saa te lihtsalt ilma programmeerijata hakkama. Programmeerija võimaldab teil mikrokontrolleri soovitud programmiga flashida või Arduino puhul kirjutada mikrokontrolleri mällu sobiva alglaaduri.

Üldiselt on programmeerijaid väga erinevaid, mis erinevad kokkupaneku keerukuse, püsivara kiiruse ja töökindluse poolest. Lihtsaim neist on valik, mida rahvasuus nimetatakse "viieks juhtmestikuks". Kuid selle töökindlus jätab soovida, kuna sellega on lihtsam LPT porti tappa =) Usaldusväärsem on STK200 programmeerija, mis sisaldab puhverkiipi ja tagab normaalse töö pordiga.

Kuid kiibi olemasolu tõttu muutub see algajale (st minu jaoks) palju keerulisemaks.

Kuidas sellega toime tulla?

Lühise eest kaitsmiseks lisame takistid 150 oomi; ühilduvuse tagamiseks STK200-ga (see võimaldab teil töötada enamiku vilkuvate programmidega) ühendame LPT kontaktid 2 kuni 12 ja 3 kuni 11. Nagu näha, pole skeem sugugi keerulisemaks muutunud ja samas on tekkinud lisakaitse.

Alustame kokkupanekut!

Isastüüpi LPT-pistikul (võite selle iidsest kaablist printerisse viia) peate ühendama jalad vahemikus 18 kuni 25 - need on maandusväljundid. Staatilise elektri eest kaitsmiseks võite lisaks jootma 1 KOhm takisti maanduse ja LPT-pistiku korpuse vahele.

Seejärel peate ühendama väljundi 3 väljundiga 11 ja väljundi 2 väljundiga 12 (STK200 eristav omadus)

Takistid nimiväärtusega 100 kuni 150 oomi on joodetud jalgadele 6, 7, 9, 10. Need on meie 4 signaaliväljundit.

Kaabli saab IDE-st võtta, parem on valida pikkus ilma fanatismita, 20-30 sentimeetrist peaks piisama =) Mida lühem, seda usaldusväärsem on programmeerija lõpuks. Võimalike häirete eest kaitsmiseks oleks hea mõte vahetada iga signaalijuhe maandusega (nagu seda tehakse näiteks samas IDE-kaablis).

Voolusisese programmeerimise pistikud…

Siin saab lasta fantaasial lennata =) IDE kaablist saab 2x3 grupi ära jagada, kasutada saab naissoost BLS-pistikuid (need ühendavad korpuse esipaneeli emaplaadiga). Lõikasin 40 tihvtiga joonlauast kaks 3 tihvtist riba. Ei saanudki hullemaks =)

Pärast kogu selle headuse jootmist sulgeme LPT-pistiku ja imetleme oma käte loomingut.

Algajatele on küsimus "mida me oma kontrolleri välgutamiseks kasutame?" tõuseb peaaegu kohe üles. Seda probleemi saab lahendada kahel viisil – ostame jadaprogrammeerija või ehitame ise. Loomulikult ei ole mikrokontrollerite tundmaõppimise algfaasis soovitatav osta ühtegi jadaprogrammeerijat. Lihtsaim lahendus oleks nn "viie juhtme" programmeerija. See valik on ühekordseks kasutamiseks üsna sobiv, kuid on suur oht, et varem või hiljem põleb teie arvuti LPT-port läbi. Odava ja turvalise võimalusena paralleelpordi programmeerija jaoks kasutame täiustatud vooluringi.

Tutvustame lihtsat ja turvalist paralleelpordi programmeerijat. Programmeerija ahel on erinevates variatsioonides üsna levinud ja põhineb 74HC 244N puhverkiibi kasutamisel. Puhver hoiab teie printeri pordi turvalisena ja usaldusväärsena. Lisaks on vooluringis kaasas takisti, mille eesmärk on kaitsta staatilise elektri eest.

Programmeerija ühildub Atmel STK 200/300-ga ja seda toetavad paljud populaarsed kompilaatorid. Kogu väike osade komplekt selle kokkupanekuks on üsna tavaline ja ei tekita ostmisel raskusi. Trükkplaat on valmistatud mitme džempriga ühepoolse versioonina.

Programmeerija ühendamiseks arvutiga on mugav kasutada LPT pordi pikenduskaablit.

Skeem sPlani formaadis 6.0 ja tahvli paigutus vormingus Sprinti paigutus 4.0 saate alla laadida LUT alt.

Uurime välja, mis on ISP liides ja vaatame odavat ja mugavat USB ISP programmeerijat. Vaatame arvuti COM- ja LPT-porte kasutavate AVR-i mikrokontrollerite lihtsamate programmeerijate skeeme. Sellest teabest piisab enamiku AVR-i mikrokontrollerite mudelite vilkumiseks mitte ainult Linuxis, vaid ka teistes OS-ides.

ISP süsteemisisene programmeerimisliides

AVR-i mikrokontrollerisse programmi kirjutamiseks vajate programmeerijat.

Programmeerija on väike elektrooniline vooluahel, mis võimaldab ühendada mikrokontrolleri ühe arvuti pordiga (COM, LPT, USB) püsivara hilisemaks lugemiseks ja kirjutamiseks (programmeerimine).

Erinevate arvutiportidega ühendatavate AVR-mikrokontrollerite jaoks on üsna palju erineva disainiga programmeerijaid.

Kõige usaldusväärsem ja mugavam valik on programmeerija, mis ühendatakse USB-porti, kuna COM- ja LPT-porte ei installita enam uutesse laua- ja sülearvutitesse.

Valmisseadmetes on programmeerija ühendatud mikrokontrolleriga liidese kaudu ISP(In System Programming) - süsteemisisene programmeerimisliides. ISP liides koosneb mitmest juhtmest, mille kaudu võetakse vastu kellasignaal ja andmed programmeerija ühendamiseks mikrokontrolleriga.

Reeglina on ISP liides paigutatud tahvlitele kümne-kuue kontakti kujul, mille külge on programmeerija kaabli kaudu sobiva pistiku kaudu ühendatud.

Riis. 4. ISP liides tahvlil.

ISP-liidese kontaktide otstarve:

  1. VCC - toiteallikas pluss, tavaliselt +5V;
  2. GND - võimsus miinus, maandus (maandus);
  3. MOSI - andmesisend (Master Out Slave In);
  4. MISO - andmeväljund (Master In Slave Out);
  5. SCK - kella signaal (Serial Clock);
  6. RST – lähtestussignaali pakkumiseks.

Mikrokontrolleri ahelasiseseks programmeerimiseks piisab ainult 4 kontaktist, kuna mikrokontrolleri saab toita vooluringist endast, kuhu see on paigaldatud.

Kuidas ühendada programmeerija AVR-i mikrokontrolleri kiibiga, kui see pole ahelasse joodetud? - väga lihtsalt, kasutades samu ISP-liidese tihvte, vajadusel mikrokontrolleri toide toiteallikast.

USB ISP ASP programmeerija

AVR-kiipidega töötamiseks ostsin umbes 10 dollari eest odava USB ISP programmeerija. Selline seade on nüüd müügil paljudes kodumaistes ja välismaistes veebipoodides, seega ei tohiks ostuga probleeme tekkida.

Riis. 5. USB ISP - kaabliga programmeerija ATMEL-i AVR mikrokontrollerite ahelasiseseks programmeerimiseks.

Seda programmeerijat on ohutu kasutada, see on väikese suurusega ja seda toetab enamik AVR-i mikrokontrollerite vilkumiseks mõeldud programme. USB ISP töötab operatsioonisüsteemides Linux, Mac OS X ja Windows. Linuxi puhul ei pea te installima ühtegi draiverit, pärast programmeerija ühendamist USB-porti tuvastatakse seade koheselt ja see on kasutamiseks valmis.

Allpool annan USB ISP programmeerija pistikute pinout - see on meile kasulik hiljem mikrokontrolleriga ühendamisel.

Riis. 6. USB ISP-pistiku kontaktide asukoht (pistikupesa).

Riis. 7. Kontaktide asukoht USB ISP programmeerijaga ühendatud pistikupesades.

Mida teha, kui te ei saa osta USB ISP programmeerijat?- saate mikrokontrollereid programmeerida lihtsate omatehtud programmeerijate abil, mis ühendatakse COM- või LPT-porti, kuid parem on teha ise USB ISP ja programmeerida selle jaoks mikrokontrolleri kiip üks kord lihtsa omatehtud programmeerijaga COM- või LPT-pordi kaudu.

Riis. 8. Omatehtud USB ASP ISP programmeerija skemaatiline diagramm.

Üksikasjalikku teavet USB ASP, samuti mikrokontrolleri trükkplaatide, draiverite ja püsivara valmistamise kohta leiate ametlikult veebisaidilt: http://www.fischl.de/usbasp/

Lisaks on Internetis selle tasuta programmeerija kohta üsna palju ressursse, seal on palju valmis trükkplaatide paigutusi, sealhulgas programmis SprintLayout, nii et me ei peatu selles artiklis üksikasjalikult.

Programmeerija kasutab COM-porti

Seda programmeerijat nimetatakse ka "Gromovi programmeerijaks", selle skeemi väljamõtleja auks, programmi Algorithm Builder (graafiline keskkond AVR-i programmeerimiseks Windowsi all, kasutades algoritmilist keelt) looja - G.L. Gromova.

See programmeerija võimaldab programmeerida AVR-kiipe, kasutades arvuti COM-porti - RS232 liidest. Sellise programmeerija kokkupanemiseks vajate minimaalselt osi - 3 dioodi, 7 takistit, DB-9 või DB-25 pistikut (olenevalt sellest, milline ühenduspistik on teie arvutisse installitud) ja ISP-pistikut mikrokontrolleriga ühendamiseks. (või ainult paar juhti kiipida). Ahelas võib kasutada mis tahes väikese võimsusega dioode.

Riis. 9. AVR mikrokontrolleri programmeerija skemaatiline diagramm arvuti COM-pordi kaudu.

Täieliku teabe huvides annan allpool RS-232 portide väljundi DB-9 ja DB-25 valikute jaoks.

Riis. 10. RS232 – COM-port, DB-9 kontaktide paigutus.

Riis. 11. RS232 COM-port DB-25 – tihvtide asukoht pistikutel.

Programmeerija kasutab LPT porti

Teatavasti on arvuti LPT-port mõeldud kohaliku printeri ühendamiseks (Local Printer Port), kuid sellest hoolimata kasutatakse seda sageli erinevate seadmete ja isetehtud toodete ühendamiseks. Sel juhul saame seda kasutada AVR-i mikrokontrollerite programmeerimiseks, koostades selleks väga lihtsa vooluringi, mis on allpool näidatud.

Riis. 12. Arvuti LPT porti kasutava AVR mikrokontrollerite programmeerija skemaatiline diagramm.

Nagu näete, on vooluahel veelgi lihtsam kui selle versiooniga, siin on arvuti LPT-pordiga ühendamiseks vaja ainult 4 väikese võimsusega takistit ja pistikut (isane, koos tihvtidega).

Riis. 13. LPT-pordi pistikute kontaktide asukoht.

Kõik osad ja ühendused saab paigutada LPT pistiku korpusesse ning mikrokontrolleriga ühendamiseks saab välja tuua kaabli koos pistikuga ISP liidese jaoks või lihtsalt vajalikud juhtmed mikrokiibiga ühendamiseks.

Tarkvara ja märkmed

Kui olete COM- või LPT-programmeerija ühendanud mikrokontrolleriga, peate meeles pidama, et toiteallikaks on mikrokiip. Mikrokontrolleri toiteallikana saate kasutada patareisid või stabilisaatoriga toiteallikat, see on nii arvuti pordi kui ka kiibi jaoks kõige turvalisem. Oleme juba arutanud, kuidas seda kasutada.

Linuxi all on väga võimas programm, mis suudab töötada USB ASP, COM ja LPT programmeerijatega – see programm AVRDUDE, arutatakse seda järgmistes osades.

AVR-kiipide välgutamiseks Windowsi all, kasutades COM- ja LPT-programmeerijate andmeid, vajate Nikolajevi programmi UniProf, mis on AVR-i universaalne programmeerija (avr.nikolaew.org).

TÄHELEPANU! Arvuti COM- või LPT-porti kasutavate programmeerijate kokkupanemisel ja kasutamisel olge äärmiselt ettevaatlik ja ettevaatlik, lihtne viga saab kergesti süüdasid need sadamad põlema. Selliste programmeerijate normaalseks tööks peaksite proovima kasutada võimalikult lühemaid juhte pistikust programmeerija vooluringi ja mikrokontrollerini. Arvuti mikroprotsessori sagedus on soovitav mitte üle 1-2 GHz ning kiipide programmeerimiseks on soovitatav kasutada operatsioonisüsteemina Win2000 või WinXP.

Samuti on oluline teada, et USB-RS232 (USB-COM-port) adapterid Gromovi programmeerijaga tõenäoliselt ei tööta; töötavad ainult need, millel on uuemad kiibid, seega on parem otsida natiivse COM-pordiga masin.

Järeldus

Artiklis käsitletud programmeerijad on vaid mõned kõige soodsamad ja lihtsamad lahendused suurest AVR-i programmeerijate loendist: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, FTDI programmeerijad ja teised.

Nüüd saad igal juhul kokku panna enda käsutuses oleva programmeerija ja flashida vähemalt ühe kiibi, mille põhjal saad kokku panna teise mugavama programmeerija või mõne muu seadme.

Järgmises artiklis selgitame välja, kuidas ühendada programmeerijaga erinevaid AVR-i mikrokontrollerite mudeleid, ja saame teada, kust saada teavet mikrokontrollerite pinouti kohta.