Publikováno 23.02.2011

Krátký přehled programátorů používaných v praxi pro mikrokontroléry AVR. AVR ISP Prorgammer A USB programátor AVR/89S kompatibilní s AVR910.

AVR ISP Prorgammer

In-circuit programátor pro programování mikrokontrolérů ATMEL® jak v podmínkách hromadné výroby, tak v procesu vývoje a ladění produktu.

Programátor podporuje následující rodiny krystalů:

TinyAVR

ATtiny11L, ATtiny11, ATtiny12V, ATtiny12L, ATtiny13, ATtiny15L, ATtiny2313, ATtiny26L, ATtiny26, ATtiny28V, ATtiny28L

AT90S1200, AT90S2313, AT90LS2323, AT90S2323, AT90LS2343, AT90S2343, AT90LS4433, AT90S4433, AT90LS8515, AT51,950S858

MegaAVR

ATI L, ATmega169, ATmega8515, ATmega8535, ATmega2560, ATmega2561, ATmega325, ATmega3250, ATmega645, ATmega6450, ATmega329, ATmega3290, ATmega649, ATmega6490

Charakteristické rysy:

– programování v obvodu (nejsou vyžadovány žádné další adaptérové ​​panely a v projektu jsou použity programovací piny)

– programátorská podpora oblíbených kompilátorů AVRstudio, IAR AVR, Image Craft AVR.

– automatické ověření (100% záruka, že se pevně zakódovaný kód shoduje s původním)

– vysoká rychlost programování, možnost flashování sériového čísla krystalu

Tento spolehlivý a jednoduchý programátor, který pracuje přes LPT port, jsem s úspěchem používal dlouhou dobu a nadále používám.

Schéma tohoto jednoduchého, ale spolehlivého programátoru:

Oboustranná deska se vejde do slotu:


Potřeboval jsem druhý programátor a níže popsaný USB programátor nemohl flashovat mikrokontrolér, který jsem potřeboval. Proto jsem se rozhodl tento LPT programátor zopakovat.



Počítačové trendy jsou takové, že LPT port brzy zmizí. Proto je čas hledat alternativu.

Programátor mikrokontrolérů AVR/89S kompatibilní s AVR910 (USB programátor)

Po návštěvě několika obchodů jsem si uvědomil, že ceny pro programátory nejsou skromné, a tak jsem se rozhodl zmást a vyrobit si programátora sám.
Po prozkoumání internetu jsem našel několik implementací kompatibilních s příkazy původního programátoru AVR910 ATMEL.

Nevýhodou této úpravy je absence pojistky. Ačkoli, jak ukázala praxe, je nepravděpodobné, že budete moci vypálit port USB zkratem. Alespoň na mém počítači to nefungovalo, ale nemá cenu s tím experimentovat.
LED VL3 signalizuje, že je programátor napájen přes USB port. LED diody VL1, VL2 signalizují čtení/zápis programátoru.
Jumper J1 – (MODify) slouží k programování mikrokontroléru v novém programátoru. Při jeho zavření se na ISP konektor připojí externí programátor a do MK se načtou programy.
Po této propojce je třeba otevřít a zavřít propojku J2 – NORMal. Už se ho nedotýkáme.
Pomocí jumperu J3 LOW SCK je možné snížit hodinový kmitočet SPI portu programátoru MK na ~20 kHz. Když je propojka otevřená, frekvence SPI je normální, když je sepnutá, je snížena.
Pozoruhodným rysem je, že obdélníková vlna s frekvencí 1 MHz je vyvedena na výstup LED konektoru ISP pro „oživení“ MK, které měly pojistkové bity zodpovědné za taktování nesprávně naprogramované. VELMI užitečná věc!

Firmware FUSE BITY
Pro normální provoz regulátoru v obvodu je nutné, aby byly naprogramovány bity SPIEN, CKOPT, SUT0 a BODEN (nastaveny na „0“). Typicky mikrokontroléry pocházející z továrny, např. nové mají bit SPIEN již naprogramovaný. Zbývající bity musí být odprogramovány (nastaveny na „1“).

Instalace
Windows 2000/XP/Vista/Seven 32bitový

Flash ovladač. Připojte čerstvě upečený programátor k PC přes volný USB konektor. Operační systém najde nové zařízení - AVR910 USB Programmer, když bude vyzván k automatickému vyhledání ovladače, odmítnutí a zadání cesty k souboru inf v závislosti na operačním systému nainstalovaném na vašem počítači.
Archiv s firmwarem obsahuje složku “ Ovladač AVR910 “, který obsahuje tři adresáře pro různé operační systémy:
-“2k_xp_32 “ – pro operační systémy Windows 2000/XP 32-bit (používá se standardní ovladač usbser.sys)
-“vista_xp_32 “ – Pro operační systémy Windows XP/Vista/Seven 32-bit (usbser.sys + lowbulk.sys od Osamu Tamury)
-“vista_xp_64 “ – Pro operační systémy Windows XP/Vista/Seven 64-bit (usbser.sys + lowbulk.sys od Osamu Tamury)

Vlastnosti instalace:

Instalace se v zásadě neliší od instalace pro Windows XP, ale je tu jedno ALE - zpoždění v ovladači usbser.sys tohoto OS kazí řetězec příkazů od softwaru na PC k programátorovi, a tedy i řetězec zpětných odpovědí od programátora do softwaru v PC... Mám problém, ještě jsem ho nenainstaloval, ale řešení existuje. Samozřejmě není nejhezčí, ale funguje spolehlivě :) Je potřeba nahradit soubor usbser.sys v systémových složkách Windows 2000 podobným z Windows XP. Jedná se o složky ...\winnt\system32\drivers\ a ...\winnt\system32\dllcashe\. Soubor usbser.sys z Windows XP SP1 naleznete zde. Ovladač bude samozřejmě muset být nahrazen zavedením do jiného OS (například ze spouštěcího disku).

Chcete-li používat ovladače na 64bitové platformě, musíte zakázat kontrolu digitálního podpisu ovladače stisknutím funkční klávesy F8 při spouštění systému.
Druhou možností je použití programu „Driver Signature Enforcement Overrider“, který podepíše ovladač jako „testdriver“ a aktivuje „testmode“, takže ovladač můžete načíst bez skutečného digitálního podpisu. Podrobnější popis naleznete na stránce programu kliknutím na výše uvedený odkaz.

Zde je to, co jsem dostal:



Programátor používám s programy AVRProg v.1.4 z balíčku AVRStudio. Na Windows XP funguje bezchybně.

Programátor je instalován jako virtuální Com port. Jediné, co je potřeba vzít v úvahu, je, že AVRProg kontroluje porty od 1 do 4. Budete jej muset ve správci zařízení přesunout na port až COM4, ​​nebo v nastavení AVRStudio určit, na kterém portu má programátor hledat .

Schéma zapojení, deska, firmware a ovladače lze stáhnout.

P.S. Když jsem potřeboval flashnout PWM řadiče (AT90PWM3), musel jsem to udělat pomocí starého dobrého AVR ISP Prorgammer (přes LPT port), AVRProg v.1.4 neumí AT90PWM3. Situace s ATmega64 je také nejasná. Mým hlavním pracovním programátorem tedy zůstává LPTesh AVR ISP Prorgammer.

P.S.P.S. Není to tak dávno, co přítel koupil tento programátor USBasp

Ovladače a software pro něj najdete zde: http://www.fischl.de/usbasp/
Funguje to a potěšilo mě, že v programátoru AVR910 (USB) kompatibilním s AVR/89S nebyly nalezeny žádné chyby.

Článek popisuje software pro práci s těmito a dalšími programátory.

Soutěž radioamatérů pro začátečníky
„Návrh mého amatérského rádia“

USB AVR programátor

Schéma zapojení a software jednoduchého vysokorychlostního USB AVR programátoru, který si může začínající radioamatér sestavit vlastníma rukama

Soutěžní návrh pro začínajícího radioamatéra -
"USB AVR programátor"

Dobrý den, milí přátelé a hosté stránek!
Předkládám k posouzení druhý soutěžní příspěvek.
Autor designu - Grigorjev Ilja Sergejevič.
Nyní na našem webu nejen „Ledy se prolomily“, ale také „Schůzka pokračuje“.

USB AVR programátor

Něco málo o tomto designu.
Na první pohled se zdá, že toto schéma je složité, pro začátečníky není „příliš těžké“ a autor je již poměrně zkušený radioamatér.
Troufám si všechny ujistit, že Ilja Sergejevič je začínající radioamatér. A svým návrhem dokázal, že s touhou, vytrvalostí a odhodláním může každý začínající radioamatér sestavit návrh takové složitosti.
No a teď k autorovi.

Grigorjev Ilja Sergejevič, Chabarovsk

Ahoj všichni!
Předkládám k vaší úvaze svou druhou dokončenou práci (první je jednoduché blikající světlo).
Rozhodl jsem se, že v budoucnu budu sestavovat obvody na základě nějakých mikroobvodů, které je třeba naprogramovat, což ve skutečnosti vyžaduje programátora!
Na internetu je obrovské množství obvodů pro každý vkus, ale hlavní problém a poznámka k obvodům je, že nemám ani LTP ani COM port, zbývá jen USB programátor. Ale i zde je háček - aby většina programátorů začala pracovat, musí být jejich mikroobvody naprogramovány tak, aby fungovaly, a k tomu potřebujete... - správně, programátor! Samozřejmě bylo možné sestavit programátor Gromov, jít za přáteli a najít LTP nebo COM port, ale to jsem nechtěl. Zůstala poslední možnost - použít programátor založený na mikroobvodu FT232RL, jedinou nevýhodou tohoto programátoru a tohoto mikroobvodu je cena druhého - v Chabarovsku to stojí kolem 230 rublů. Rozhodl jsem se na tom nešetřit a pustit se do sestavování programátoru pro FT232RL.

Takže tady je seznam dílů:
Toto je srdce programátoru - FT232RL. Cena - 230 rublů.
Druhý mikroobvod je 74HC244, je potřeba, protože tento programátor má ještě jednu nevýhodu - po dokončení programování nevydává RESET linku. Proto, aby se obvod spustil, musíte z desky vytrhnout ISP konektor, což je velmi nepohodlné. To lze vyřešit jednoduchým přidáním vyrovnávacího čipu 74HC244 do tohoto obvodu. Cena 20-30 rublů.
A pak pár maličkostí:
– 4 odpory 47 ohmů
– 4 odpory 100 ohmů
– 1 rezistor na 4,7 Kom
– 3 odpory na 300 ohmů
– 3 kondenzátory po 0,1u
– 3 LED diody (k, g, g)
– 1 Schottkyho dioda (aby případný zpětný proud z blikajícího zařízení nespálil programátor a PC)
– 1 USB typu B, nazývá se také tiskárna
To je vše, co potřebujete! Malé věci stojí kolem 50 rublů
Vzal jsem všechny komponenty v obvyklé verzi a smd, protože... Nevěděl jsem úplně, jak budu umět pracovat s SMD součástkami, najednou bych musel sestavit velkou verzi.

Zde je samotný diagram:

Princip činnosti.
Programátor je napájen z USB portu. Úrovně výstupních signálů programátoru pomocí propojky JP1 lze nastavit buď na 5 V nebo 3 V.
Napájecí napětí programátoru lze přivést přes konektor X2 na programovatelnou desku, pro kterou je potřeba sepnout propojku JP2.
Je třeba mít na paměti, že u 5voltového zdroje je napětí přiváděno z USB portu. A maximální proud, který lze získat z programátoru, je omezen na 500 mA. Pro takový proud je však nutné čip FT232 nakonfigurovat pomocí utility FT Prog.
U 3voltového zdroje je napětí odebíráno z výstupu vnitřního stabilizátoru čipu FT232, jehož maximální proud je cca 50 mA.
Aby se zabránilo napájení USB portu z externího zařízení, je na programátoru instalována Schottkyho dioda (mají malý úbytek napětí v propustném směru). V případě potřeby lze diodu VD1 nahradit běžnou diodou nebo propojkou, ale je to na vaše vlastní nebezpečí a riziko.
Programátor lze použít i jako převodník USB-UART. K tomu jsou signály RXD, TXD vyvedeny na konektor X2 a jsou připojeny LED diody LED2, LED3. Při přenosu dat blikají.
Programátor není třeba odpojovat od programované desky, protože po naprogramování čip DD1 přesune výstupní buffery do třetího stavu.
LED1 se rozsvítí, když probíhá programování.
Pad JP může vydávat hodinový signál. To vyžaduje konfiguraci FT232 pomocí nástroje FT Prog.

Samotný proces montáže.
Nejprve jsem si diagram vytiskl na lesklý papír z časopisu (do tiskárny jsem použil fotopapír i lepicí papír, vše nebylo stejné... nejlepší efekt je vytisknout diagram na lesklý časopis). Poté, po spojení lesklého plechu s kouskem textolitu, jej začneme žehlit žehličkou a nastavíme ji na maximální teplotu. Nejprve jsem položil žehličku přímo na list tak, aby se přilepila k DPS, podržel jsem ji tam 10 sekund, pak jsem na ni položil papír a začal žehlit 3-4 minuty, poté jsem papír odstranil a přiložil žehličku ještě několik sekund ostrým rohem pohyboval žehličkou podél míst, kde by byly budoucí cesty pro mikroobvody.

Poté žehličku vyjměte a nechte desku zcela vychladnout. Poté naši DPS s lesklým papírem ponoříme na 5 minut do teplé vody, aby se papír namočil a DPS se uvolnila, poté papír opatrně srolujeme. Co se stane:

Pak otrávíme. Otrávím chloridem železitým: naliji téměř horkou vodu, rozpustím v ní prášek, ponořím textolit a pak horkou vodu naliji do umyvadla a ponořím do něj misku s chloridem železitým. Čím vyšší je koncentrace roztoku a teplota, tím rychleji proběhne reakce.
Co se stalo:

Pak jsem vzal vatový tampon s acetonem a odstranil toner, poté jsem ho pocínoval.

A začal pájet:

Sestavil jsem programátor, načež MUSÍM vše zkontrolovat, zda nedošlo ke zkratu. Obecně, protože Bylo to poprvé, co jsem pracoval s takovou maličkostí, poté jsem po každém rezistoru, po každém konektoru zkontroloval vůli programátoru (je zcela jasné, zda se pájka dostala na sousední koleje) a pomocí multimetru zkontroloval zkrat . Výsledek je tento: 2x došlo ke zkratu pod odpory... vše bylo úspěšně opraveno.
Po sestavení programátoru byste jej také neměli hned zapojovat do USB portu. Ujistěte se, že nedošlo ke zkratu mezi zemí a kladným pólem napájení, nastavte propojky do požadované polohy a teprve poté připojte programátor k počítači.
Abych byl upřímný, měl jsem obavy, i když jsem si byl jistý, že nedošlo ke zkratu.
Po připojení jsem cítil zahřívání desky, v oblasti FT232RL a PC zobrazilo hlášení o připojení neznámého zařízení s nesprávnou obsluhou. Rychle jsem vypnul programátor a ještě jednou pečlivě prozkoumal všechny stopy, zda neulpívá pájka k sousedním stopám a ještě jednou připájel všechny piny mikroobvodů. Poté jsem programátor znovu připojil a ejhle! , rozhodl se programátor a požádal o instalaci palivového dřeva! Nainstaloval jsem palivové dříví a ve správci aplikací se objevila 2 nová zařízení:

Hurá! Nyní můžete vážně přemýšlet o práci s mikroobvody!
Děkuji za pozornost!

(666,9 kiB, 2 785 přístupů)

Vážení přátelé a hosté stránek!

Nezapomeňte vyjádřit svůj názor na soutěžní příspěvky a zúčastnit se diskuzí na fóru webu. Děkuji.

Pojďme zjistit, co je to ISP rozhraní a podívat se na levný a pohodlný USB ISP programátor. Podívejme se na schematická schémata nejjednodušších programátorů pro mikrokontroléry AVR využívající porty COM a LPT na počítači. Tyto informace jsou dostačující pro flashování většiny modelů mikrokontrolérů AVR nejen v Linuxu, ale i v jiných OS.

ISP In-System Programming Interface

Abyste mohli napsat program do mikrokontroléru AVR, budete potřebovat programátor.

Programátor je malý elektronický obvod, který umožňuje připojit mikrokontrolér k jednomu z portů počítače (COM, LPT, USB) pro následné čtení a zápis firmwaru (programování).

Existuje poměrně mnoho různých návrhů programátorů pro mikrokontroléry AVR, které se připojují k různým portům počítače.

Nejspolehlivější a nejpohodlnější možností je programátor, který se připojuje k portu USB, protože porty COM a LPT již nejsou instalovány v nových stolních počítačích a přenosných počítačích.

U hotových zařízení je programátor připojen k mikrokontroléru přes rozhraní ISP(In System Programming) - rozhraní pro programování v systému. Rozhraní ISP se skládá z několika vodičů, přes které jsou přijímány hodinový signál a data pro spojení programátoru s mikrokontrolérem.

ISP rozhraní je zpravidla umístěno na deskách v podobě deseti nebo šesti pinů, ke kterým je programátor připojen přes vhodný konektor pomocí kabelu.

Rýže. 4. ISP rozhraní na desce.

Účel pinů v rozhraní ISP:

  1. VCC - napájení plus, obvykle +5V;
  2. GND - výkon mínus, zem (Ground);
  3. MOSI - vstup dat (Master Out Slave In);
  4. MISO - výstup dat (Master In Slave Out);
  5. SCK - hodinový signál (Serial Clock);
  6. RST - poskytuje resetovací signál.

Pro in-circuit programování mikrokontroléru stačí pouze 4 piny, protože mikrokontrolér může být napájen ze samotného obvodu, kde je instalován.

Jak připojit programátor k čipu mikrokontroléru AVR, pokud není zapájen do obvodu? - velmi jednoduše pomocí stejných pinů rozhraní ISP, v případě potřeby napájení mikrokontroléru ze zdroje.

USB ISP ASP programátor

Abych pracoval s čipy AVR, koupil jsem si levný programátor USB ISP za asi 10 $. Takové zařízení je nyní v prodeji v mnoha domácích i zahraničních internetových obchodech, takže s nákupem by neměly být žádné problémy.

Rýže. 5. USB ISP - programátor s kabelem pro in-circuit programování mikrokontrolérů AVR od ATMEL.

Tento programátor je bezpečný pro použití, má malé rozměry a je podporován většinou programů pro flashování mikrokontrolérů AVR. USB ISP běží na operačních systémech Linux, Mac OS X a Windows. Pro Linux není třeba instalovat žádné ovladače, po připojení programátoru do USB portu bude zařízení okamžitě detekováno a připraveno k použití.

Níže uvedu vývod konektorů programátoru USB ISP - bude se nám hodit později při připojení k mikrokontroléru.

Rýže. 6. Umístění pinů na USB ISP konektoru (pinout).

Rýže. 7. Umístění kontaktů v konektorových zásuvkách připojených k USB ISP programátoru.

Co dělat, když si nemůžete koupit programátor USB ISP?- mikrokontroléry můžete programovat pomocí jednoduchých domácích programátorů, které se připojují na COM nebo LPT port, ale je lepší vyrobit si USB ISP sami a čip mikrokontroléru mu jednou naprogramovat pomocí jednoduchého domácího programátoru přes COM nebo LPT port.

Rýže. 8. Schematické schéma domácího USB ASP ISP programátoru.

Podrobné informace o výrobě USB ASP, stejně jako desky plošných spojů, ovladače a firmware pro mikrokontrolér naleznete na oficiálních stránkách: http://www.fischl.de/usbasp/

Kromě toho je na internetu o tomto bezplatném programátoru poměrně mnoho zdrojů, existuje mnoho hotových rozvržení desek plošných spojů, včetně programu SprintLayout, takže se v tomto článku nebudeme podrobně zabývat.

Programátor používající COM port

Tento programátor se také nazývá „Gromov programátor“, na počest toho, kdo přišel s tímto schématem, tvůrce programu Algorithm Builder (grafické prostředí pro programování AVR pod Windows pomocí algoritmického jazyka) - G.L. Gromová.

Tento programátor umožňuje programovat čipy AVR pomocí COM portu počítače - rozhraní RS232. K sestavení takového programátoru budete potřebovat minimum dílů - 3 diody, 7 rezistorů, konektor DB-9 nebo DB-25 (podle toho, jaký protikonektor máte nainstalovaný v počítači) a konektor ISP pro připojení k mikrokontroléru (nebo jen pár vodičů na čip). V obvodu lze použít libovolné nízkopříkonové diody.

Rýže. 9. Schéma programátoru mikrokontroléru AVR přes COM port počítače.

Pro úplnost informací níže uvedu rozmístění portů RS-232 pro možnosti DB-9 a DB-25.

Rýže. 10. RS232 - COM Port, rozložení DB-9 pinů.

Rýže. 11. RS232 COM Port DB-25 - umístění pinů na konektorech.

Programátor využívající LPT port

Jak víme, LPT port počítače je určen pro připojení lokální tiskárny (Local Printer Port), ale přesto se často používá pro připojení různých zařízení a domácích produktů. V tomto případě jej můžeme použít k programování mikrokontrolérů AVR sestavením velmi jednoduchého obvodu pro tento účel, který je zobrazen níže.

Rýže. 12. Schematické schéma programátoru pro mikrokontroléry AVR využívající LPT port počítače.

Jak vidíte, zapojení je ještě jednodušší než ve verzi s, zde potřebujeme pouze 4 nízkopříkonové rezistory a konektor (samec, s piny) pro připojení k LPT portu počítače.

Rýže. 13. Umístění pinů pro konektory LPT portu.

Všechny díly a spoje lze umístit do pouzdra LPT konektoru a pro připojení k mikrokontroléru lze vytáhnout kabel s konektorem pro rozhraní ISP nebo jednoduše potřebné vodiče pro připojení k mikročipu.

Software a poznámky

Po připojení programátoru COM nebo LPT k mikrokontroléru musíte pamatovat na napájení samotného mikročipu. Jako zdroj napájení mikrokontroléru můžete použít baterie nebo zdroj se stabilizátorem, to bude nejbezpečnější pro port počítače i čip. Už jsme mluvili o tom, jak ji používat.

Pod Linuxem existuje velmi výkonný program, který umí pracovat s USB ASP, COM a LPT programátory – tento program AVRDUDE, bude pojednáno v následujících částech.

Pro flashování AVR čipů pod Windows pomocí dat z COM a LPT programátorů potřebujete program UniProf od Nikolaeva, což je univerzální programátor pro AVR (avr.nikolaew.org).

POZORNOST! Buďte velmi opatrní a opatrní při sestavování a používání programátorů pomocí COM nebo LPT portu počítače, jednoduchá chyba může snadno zapálit tyto přístavy. Pro normální provoz takových programátorů byste se měli snažit použít co nejkratší vodiče od konektoru k obvodu programátoru a mikrokontroléru. Je vhodné, aby mikroprocesor počítače měl frekvenci maximálně 1-2 GHz a jako OS pro programování čipů je vhodné použít Win2000 nebo WinXP.

Je také důležité vědět, že adaptéry USB-RS232 (USB-COM Port) s největší pravděpodobností nebudou fungovat s programátorem Gromov; fungovat budou pouze ty s novějšími čipy, takže je lepší hledat stroj s nativním COM portem.

Závěr

Programátory diskutované v článku jsou jen některé z nejdostupnějších a nejjednodušších řešení z velkého seznamu programátorů AVR: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, programátory FTDI a další.

Nyní si v každém případě můžete sestavit programátor, který máte k dispozici, a flashnout alespoň jeden čip, na jehož základě sestavíte další pohodlnější programátor nebo nějaké jiné zařízení.

V příštím článku zjistíme, jak připojit různé modely mikrokontrolérů AVR k programátoru, a zjistíme, kde získat informace o pinoutu mikrokontrolérů.

S rozvojem výpočetní techniky je pokaždé méně a méně počítačů vybavených porty COM a LPT. To zase způsobuje potíže, zejména radioamatérům, spojené se spárováním programovacích nástrojů mikrokontroléru s osobním počítačem.

Tento článek popisuje USB programátor pro mikrokontroléry AVR, který si můžete sami sestavit. Je postaven na mikrokontroléru Atmega8 a je schopen provozu z USB konektoru počítače. Tento programátor je kompatibilní s STK500 v2.

Popis USB programátoru

USB programátor je postaven na desce vyrobené z jednostranné fólie ze sklolaminátu. Na desce jsou 2 propojky: jedna je umístěna pod konektorem SPI, druhá propojka je umístěna poblíž stejného konektoru.

Po utěsnění všech dílů je potřeba mikrokontrolér Atmega8 flashnout firmwarem uvedeným na konci článku. Pojistky, které je potřeba nastavit při programování mikrokontroléru Atmega8, by měly vypadat takto:

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

Je třeba připomenout, že v některých programech jsou nastavení pojistek nastavena v opačném směru. Například v programu CodeVisionAVR je potřeba zaškrtnout políčka u výše uvedených pojistek a v programu PonyProg naopak.

Programování Atmega8 přes LPT port počítače

Nejrychlejší a nejlevnější způsob programování Atmega8 je použití LPT programátoru pro AVR. Podobné schéma je uvedeno níže.

Mikrokontrolér je napájen jednoduchým regulátorem napětí 78L05. Jako programovací shell můžete použít program UniProf.

Když poprvé zapnete program a když ovladač není připojen, stisknutím tlačítka „LPTpins“ musíte nakonfigurovat piny portu LPT následovně:

Při spuštění UniProf automaticky určí typ mikrokontroléru. Firmware Atmega8_USB_prog.hex nahrajeme do paměti UniProf a odmítneme připojení souboru EEPROM.

Pojistky nastavíme následovně (pro program UniProF) stisknutím tlačítka „FUSE“:

Chcete-li si nastavení zapamatovat, stiskněte všechna tři tlačítka „Write“. Poté kliknutím na „Erase“ nejprve vymažeme paměť flashovaného mikrokontroléru. Poté klikněte na „Prog“ a počkejte na dokončení firmwaru.

Nastavení programátoru USB

Poté, co je náš mikrokontrolér flashován, musí být nainstalován na desce USB programátoru. Dále připojíme programátor k USB portu počítače, ale zatím nedodáváme napájení.

Nastavení portu:

Nastavení terminálu:

Nastavení ASCII:

Nyní, po dokončení všech procedur, napájíme USB programátor. LED HL1 by měla 6krát zablikat a poté zůstat svítit.

Chcete-li zkontrolovat spojení mezi USB programátorem a počítačem, stiskněte v programu HyperTerminal 2x klávesu „Enter“. Pokud je vše v pořádku, měli bychom vidět následující obrázek:

Pokud tomu tak není, zkontrolujte znovu instalaci, zejména linku TxD.

Dále vstoupíme do programátoru verze 2.10, protože bez něj nebude programátor pracovat s „top-level“ programy. Chcete-li to provést, zadejte „2“ a stiskněte „Enter“, zadejte „a“ (anglicky) a stiskněte „Enter“.

USB programátor je schopen rozpoznat připojení programovatelného mikrokontroléru. To se provádí formou sledování „vytažení“ signálu Reset do zdroje napájení. Tento režim se zapíná a vypíná následovně:

  • „0“, „Enter“ - režim je deaktivován.
  • „1“, „Enter“ - režim je povolen.

Změna programovací rychlosti (1 MHz):

  • „0“, „Enter“ – maximální rychlost.
  • „1“, „Enter“ – snížená rychlost.

Tím jsou přípravné práce dokončeny, nyní můžete zkusit flashnout nějaký mikrokontrolér.

(Stažení: 1 203)

Nastal čas, abychom postavili programátor USB. Dlouho jsem se nemohl rozhodnout, kterého programátora bychom měli postavit. Vybral jsem je na základě kritérií jednoduchosti designu a snadnosti práce s nimi, ale nic se mi nelíbilo. Chance mi pomohl vybrat programátora. Nebo spíš jsem si to vůbec nevybral - náhodně jsem to sebral, aniž bych to věděl!

A bylo to takhle. Před pár příspěvky jsme na ATtiny2313 sestavili převodník USB na UART (a ještě jsme vylepšili plošný spoj). Už při výběru obvodu převodníku jsem plánoval jeho využití (nahráním různého firmwaru) k získání zařízení pro různé účely. Tehdy jsem ještě netušil, že by se tento převodník dal využít v širším měřítku, než jsem plánoval. Když jsem viděl schéma USB programátoru - USBtiny na ATtiny2313, uvědomil jsem si, že již mám hotový programátor!

Při pohledu na dříve vytvořené schéma převodníku USB na UART(domovská stránka)


a schéma USB programátoru USBTiny(Domovská stránka)

můžete to vidět je to stejné schéma. Rozdíly jsou malé - nejsou zde žádné signální LED a několik rezistorů. Aby se z převodníku stal USB programátor, stačí mikrokontrolér flashnout novým firmwarem a vyrobit kabel pro připojení.

Nyní je vše v pořádku.
1 Nejprve musíte sestavit převodník(pokud jste to ještě nesbírali).
Zde je výkres obvodové desky převodníku:
Pokud máte zájem, zde je.
Po sestavení vypadá převodník takto:

2 Trochu upravte desku
Aby byly zajištěny všechny potřebné signály pro programování, připájeme do vedení nohou 12, 16, 17, 18, 19 ochranné odpory o jmenovité hodnotě 100 Ohmů (hodnota není kritická - lze ji měnit).


3 Nyní musíte provést flash mikrokontrolér.
Linky pro programátor jsou vyvedeny na společný konektor na desce (kromě resetu, který je samostatný).

Asi není potřeba říkat, že k flashování firmwaru mikrokontroléru budete potřebovat programátor. Můžete jej rychle sestavit a sešít pomocí .


Schéma zapojení je jednoduché.

Jednou z funkcí je, že jsem umístil indikační LED a předřadný odpor k ní na desku na konektoru - to proto, aby se deska dala použít pro další zařízení bez přepájení (no, takhle je to chladnější - LED bliká přímo v konektoru :)). Kromě toho je linka Vcc oddělena od obecného konektoru - to je v případě, že programovatelné zařízení není napájeno z USB, ale ze svého zdroje (což je v zásadě žádoucí). Je vhodné stínit signálové vedení (SCK, MISO, MOSI) (např. střídavým signálovým a zemním vedením ve smyčce). Délka vlaku by neměla být dlouhá - do 50 cm, ne více. Pokud potřebujete naprogramovat vzdálené zařízení, můžete vždy použít prodlužovací kabel USB – je to spolehlivější. Tady je moje hotová krajka:



5 Samotný programátor je připraven, nyní musíte nainstalovat ovladač aby s ním Windows mohl pracovat (pro Mac OS X a Linux zřejmě není potřeba žádný ovladač). Zde je vše jednoduché:

5.1 Stáhněte si ovladač a rozbalte jej.
Stránka s ovladači


5.2 Vložíme náš programátor do USB portu.




5.3 V zásobníku se zobrazí zpráva, že bylo nalezeno nové zařízení.



5.4 Spustí se Průvodce nově rozpoznaným hardwarem.



5.5 V okně „search location“ určete složku s ovladačem.



5.6 Proces instalace ovladače bude dokončen. Zobrazí se okno indikující, že je ovladač nainstalován. Chcete-li zkontrolovat, co jsme tam nainstalovali, přejděte na „Tento počítač/Vlastnosti/Hardware/Správce zařízení“ a najděte tam našeho programátora

Windows viděl nové zařízení a je připraven s ním pracovat.

USBtiny programátor podporovaný AVRDude, což znamená, že mnoho programovacích prostředí s ním bude bez problémů pracovat. Další výhodou práce s AVRDude je, že existuje mnoho GUI shellů pro práci s AVRDude, ze kterých si můžete vybrat ten, který vám vyhovuje (ale o tom více v příštím článku).

S USBTiny jsem předtím nepracoval, ale recenze o něm na internetu jsou pozitivní (je spolehlivý a rychle se programuje) - můj testovací firmware to potvrdil. ATtiny2313 zabliká za 10 sekund (včetně kontroly). Mikrokontrolér je detekován a naprogramován spolehlivě - během mých testů nedošlo k jediné chybě. Příjemné použití programátoru!


Soubory k článku:
- Nákres UART-USB PCB na ATtiny2313
- Firmware programátoru USBtiny pro ATtiny2313
- Pojistkové bity ATtiny2313 pro USBtiny
- Schéma kabelu pro programátor USBtiny