<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title> ATprogISPUSB01A </title><meta name="keywords" content="stavebnice MLAB ISP USB programátor ATMELL AVR"><meta name="description" content="Projekt MLAB, ISP USB programátor procesorů ATMEL AVR"><!-- AUTOINCLUDE START "Page/Head.cs.ihtml" DO NOT REMOVE --><link rel="StyleSheet" href="../../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB základní styl"><link rel="StyleSheet" href="../../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print"><link rel="shortcut icon" type="image/x-icon" href="../../../../../Web/PIC/MLAB.ico"><script type="text/javascript" src="../../../../../Web/JS/MLAB_Menu.js"></script><!-- AUTOINCLUDE END --></head><body lang="cs"><!-- AUTOINCLUDE START "Page/Header.cs.ihtml" DO NOT REMOVE --><!-- ============== HLAVICKA ============== --><div class="Header"><script type="text/javascript"><!--SetRelativePath("../../../../../");DrawHeader();// --></script><noscript><p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p></noscript></div><!-- AUTOINCLUDE END --><!-- AUTOINCLUDE START "Page/Menu.cs.ihtml" DO NOT REMOVE --><!-- ============== MENU ============== --><div class="Menu"><script type="text/javascript"><!--SetRelativePath("../../../../../");DrawMenu();// --></script><noscript><p><b> Pro zobrazení (vložení) menu je potřeba JavaScript </b></p></noscript></div><!-- AUTOINCLUDE END --><!-- ============== TEXT ============== --><div class="Text"><p class="Title">Programátor pro procesory AVR</p><p class=Autor>Miroslav Janás</p><p class="Subtitle">Modul USB programátoru procesorů AVR s šestipinovým ISP rozhraním.Programátor je kompatibilní s „AVR studio 4“ (programátor STK500 nebo AVRISP) a s „avrdude“ (programátor STK500v2). Programátorobsahuje tlačítko RESET pro resetování cílového procesoru a přepínačVTG pro napájení cílového zařízení napětím 5V z USB nebo 3.3Vz vnitřního stablizátoru.</p><p class="Subtitle"><img width="624" height="319" src="Pictures/image001.jpg"alt="Obrázek programátoru"></p><p><a href="../ATprogISPUSB01A.cs.pdf"><img class="NoBorder"src="../../../../../Web/PIC/FileIco_PDF.ico"alt="Acrobat"> PDF verze</a></p><h1> Technické parametry </h1><table><tr><th> Parametr </th><th> Hodnota </th><th> Poznámka </th></tr><tr><td> Napájení </td><td> 5V </td><td> Napájeno z USB rozhraní </td></tr><tr><td> Napájení cílového zařízení </td><td> 5V z USB<br>3.3V z vlastního stabilizátoru </td><td> Omezeno USB zdrojem<br>Maximálně cca 90mA </td></tr><tr><td> Spotřeba </td><td> cca 10mA </td><td> Bez cílového zařízení </td></tr><tr><td> Interface </td><td> USB 1.1, USB 2.0 </td><td> USB kabel A-B </td></tr><tr><td> Kompatibilita </td><td> AVR Studio 4<br>AVRDUDE </td><td> STK500<br>STK500v2 </td></tr><tr><td> Rozměry </td><td> 65x25x20mm </td><td> Výška nad nosnou deskou </td></tr></table><h1> Popis konstrukce </h1><h2> Úvodem </h2><p>Modul byl navrhnut pro programování AVR procesorů přes USB rozhraní,pro nedostupnost sériového a paralelního rozhraní na dnešních PC.Konstrukce vychází z dostupných inforamcí na internetovýchstránkách, zejména z EVERTOOL – combinet AVR programmer anddebugger. Pro složitost nahrání firmware do modulu, byl vytvořen souborstk500.hex, který se externím programátorem nahraje do modulu. Pokudjsou dobře nastaveny konfigurační pojistky je programátor připraven kprogramování.</p><h2> Zapojení modulu </h2><p>Základní procesor U1 ATmega8535 zajišťuje veškerou programovacíčinnost. S PC komunikuje prostřednitvím sériového rozhraní. Oseriového rozhraní se stará IO U2, známý převodník USB-rs232FT323RL. Často se vyskytuje situace, programovat při nižšímnapětí, než 5V. Proto byl programátor osazen i stabilizátorm 3,3VLE33DE U3. Na rozhraní ISP byly přidány ochranné rezistorys hodnotou 100 ohmů a dále možnost vypnout napájení cílovéhozařízení přes přepínač SW2 (VTG enable). Jumper J7 (ISP select) se použije jen při prvním nahrání HEX souboru apojistek do programátoru (poloha 1-2 ISPmega8538). V poloze2-3 normal AVRISP je modul připraven programovat. Zapojení obsahujetlačítko reset, kterým se resetuje cílový procesor. (Neresetuje seprogramátor!!!) a je nutné toto tlačítko osadit na desce. Zelená LED dioda D2 značí připravenost programátoru, červená LED dioda D1oznamuje právě probíhající programování.</p><p><img width="1070" height="620" src="Pictures/image002.png"alt="Zapojení procesorové části"></p><p>Srdce programátoru – ATmega8535.</p><p><img width="978" height="531" src="Pictures/image003.png"alt="Zapojení USB rozhraní"></p><p>USB interface s převodníkem USB-rs232 FT232RL. Standardníkatalogové zapojení doplněno o stabilizátor U3 LE33D. Stabilizátorvytváří napětí 3,3V. Jumprem J3 se volí programovací napětí.</p><h2> Mechanická konstrukce </h2><p>Modul je navrhnut pro připevnění na standardní nosou desku (deskas provrtanými díramy 3,2mm v ose x a y po 400milsů) . V rozích jsou šroubky a sloupky s rozpětím 5x2cm(2000x800mils).</p><h1> Osazení a oživení </h1><h2> Osazení </h2><p>Modul je navrhnut na jednostranné desce a obsahuje dvě propojky. Jednapropojka je realizována prostřednistvím tlačítka reset.Tudíž seneosazuje, ale samo tlačítko tuto propojku realizuje.Tlačítko reset jenutné osadit. Druhá propojka se nachází u konektoru J7 (sel ISP).</p><p>Deska z pohledu strany součástek</p><p><img width="701" height="356" src="Pictures/image004.png"alt="Osazení desky ze strany součástek"></p><p>Deska z pohledu strany spojů</p><p><img width="700" height="352" src="Pictures/image005.png"alt="Osazení desky ze strany spojů"></p><p>Seznam použitých součástek</p><table class="Soupiska"><tr><th> Počet </th><th> Reference </th><th> Hodnota </th><th> Pouzdro </th></tr><tr><th colspan="4"> Odpory SMD </th></tr><tr><td> 8 </td><td> R1, R6, R7, R8, R9, R10, R11, R14 </td><td> 10k </td><td> R0805 </td></tr><tr><td> 1 </td><td> R2 </td><td> 68k </td><td> R0805 </td></tr><tr><td> 1 </td><td> R3 </td><td> 33k </td><td> R0805 </td></tr><tr><td> 2 </td><td> R4, R5 </td><td> 1k5 </td><td> R0805 </td></tr><tr><td> 1 </td><td> R13 </td><td> 4k7 </td><td> R0805 </td></tr><tr><td> 4 </td><td> R12, R15, R16, R17 </td><td> 100 </td><td> R0805 </td></tr><tr><th colspan="4"> Keramické kondenzátory SMD </th></tr><tr><td> 10 </td><td> C1, C4, C5, C6, C7, C8, C12, C13, C14, C15 </td><td> 100n </td><td> C0805 </td></tr><tr><td> 2 </td><td> C2, C3 </td><td> 22p </td><td> C0805 </td></tr><tr><td> 1 </td><td> C10 </td><td> 10n </td><td> C0805 </td></tr><tr><td> 1 </td><td> C16 </td><td> 2.2uF lze i elektrolyt </td><td> C0805 </td></tr><tr><th colspan="4"> Elektrolytické kondenzátory SMD </th></tr><tr><td> 2 </td><td> C9, C11 </td><td> 4.7uF/6.3V </td><td> ELYTB </td></tr><tr><th colspan="4"> Indukčnosti SMD </th></tr><tr><td> 1 </td><td> L1 </td><td> ferrite_bead </td><td> R0805 </td></tr><tr><th colspan="4"> Diody </th></tr><tr><td> 1 </td><td> D1 </td><td> red </td><td> LED3 </td></tr><tr><td> 1 </td><td> D2 </td><td> green </td><td> LED3 </td></tr><tr><td> 1 </td><td> D3 </td><td> 1N4007SMD </td><td> MELF </td></tr><tr><th colspan="4"> Integrované obvody </th></tr><tr><td> 1 </td><td> U1 </td><td> ATmega8535_TQ44 </td><td> TQFP44 </td></tr><tr><td> 1 </td><td> U2 </td><td> FT232RL </td><td> SSO28_210 </td></tr><tr><td> 1 </td><td> U3 </td><td> LE33D </td><td> SO8_150 </td></tr><tr><th colspan="4"> Krystaly </th></tr><tr><td> 1 </td><td> X1 </td><td> 3.6864MHz </td><td> XTAL050 </td></tr><tr><th colspan="4"> Pojistky SMD </th></tr><tr><td> 1 </td><td> FUSE </td><td> 0.5A </td><td> R1206 </td></tr><tr><th colspan="4"><span class='c1'>Mechanické součástky</span></th></tr><tr><td> 1 </td><td> J1 </td><td> JUMP2X3 </td><td> JUMP2X3 </td></tr><tr><td> 1 </td><td> J2 </td><td> JUMP2x3 </td><td> JUMP2x3/B </td></tr><tr><td> 1 </td><td> J3 </td><td> JUMP2 </td><td> JUMP2 </td></tr><tr><td> 1 </td><td> J4 </td><td> USB_B_01 </td><td> USB_B_01 </td></tr><tr><td> 1 </td><td> J7 </td><td> JUMP3 </td><td> JUMP3 </td></tr><tr><td> 1 </td><td> SW1 </td><td> TARGET_RESET </td><td> PUSH050x050 </td></tr><tr><td> 1 </td><td> SW2 </td><td> SW_P-B143 </td><td> P-B143 </td></tr><tr><th colspan="4"> Konstrukční součástky </th></tr><tr><td> 2 </td><td> Jumper propojka </td><td> </td><td> </td></tr><tr><td> 4 </td><td> Sloupek M3x5mm </td><td> </td><td> </td></tr><tr><td> 4 </td><td> Šroub M3x12 křížový s válcovou hlavou </td><td> </td><td> </td></tr><tr><td> 4 </td><td> Podložka M3 </td><td> </td><td> </td></tr><tr><td> 2 </td><td> Konektor 6 pinů NDR-06 s piny </td><td> </td><td> </td></tr></table><h2> Oživení </h2><p>Pokud je deska dobře osazená, zbývá jen do procesoru nahrát firmware.Aby se zjednodušila konstrukce, byl vynechán pomocný procesor, kterýfirmware nahrával do programátoru. Nicméně do pomocného procesoru semuselo stejně nahrát další firmaware, který pak už komunikovals aplikaci AVR studio. Do našeho programátoru tedy nahrajeme jenpatřičný HEX soubor s pojistkami pomocí externího programátoru auž se o nic nestaráme. Jen nemáme možnost automatické upgrade firmware.Pro upgrade je nutné zase použít externí programátor.</p><p>Postup nahrání pojistek a firmware pro avrdude je následující:</p><p>Přepneme JUMPER J7 (sel ISP) do polohy 1-2 ISPmega8535 a připojímeexterní programátor do konektoru ISP(6pin). Pokud externí programátorpotřebuje ke své činnosti napájení ze cílového zařízení, přepnemepřepínač SW2 (VTG) do polohy on. Zvolíme programovací napětí pomocíJUMPERU J3 (sel POWER) na 5V nebo 3,3V, dle externího programátoru.Připojíme náš programátor na USB, tím se přivede napájení, a můžemenahrát pojistky a soubor stk500.hex.</p><p>Pro pojistky:</p><p><samp>avrdude -p atmega8535 -P %PORT% -c %PRG% -U lfuse:w:<b>0xff</b>:m -U hfuse:w:<b>0xdb</b>:m</samp></p><p>Pro soubor stk500.hex</p><p><samp>avrdude -p atmega8535 -P %PORT% -c %PRG% -U flash:w:<b>stk500.hex</b>:a</samp></p><p>kde PRG je typ externího programátoru a PORT je sériový nebo paralelníport externího programátoru.</p><p>Po naprogramování se JUMPER J7 (sel ISP) vrátí do polohy 2-3 ISPnormal.</p><h1> Programové vybavení </h1><p>Pro uživatele WINDOWS XP je nutné ještě nainstalovat ovladače USBpřevodníku FTDI.</p><h2> AVR Studio 4 </h2><p>Po spuštění aplikace vybereme na horní liště nástroje Tools – ProgramAVR – Auto connect. A můžeme už programovat. Pokud auto connect nicnenajde, zvolíme Tools – Program AVR –connect… a vybereme Platform:STK500 or AVRISP Port: COM kde se náš programátor nachází.</p><h2> AVRDUDE </h2><p>Zde stačí do příkazové řádky zadat tyto patametry</p><p><samp>avrdude –p xxx <b>–c stk500v2 –P comx</b> – U flash:w:muj.hex:a</samp></p><p>xxx … typ cílového procesoru<br>comx … com port kde je náš programátor</p><p>ostatní parametry viz příkaz avrdude –?, zde získáme nápovědu.</p></div><!-- AUTOINCLUDE START "Page/Footer.cs.ihtml" DO NOT REMOVE --><!-- ============== PATIČKA ============== --><div class="Footer"><script type="text/javascript"><!--SetRelativePath("../../../../../");DrawFooter();// --></script><noscript><p><b> Pro zobrazení (vložení) hlavičky je potřeba JavaScript </b></p></noscript></div><!-- AUTOINCLUDE END --></body></html>