0,0 → 1,554 |
<!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átor |
obsahuje 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.3V |
z 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ých |
stránkách, zejména z EVERTOOL – combinet AVR programmer and |
debugger. Pro složitost nahrání firmware do modulu, byl vytvořen soubor |
stk500.hex, který se externím programátorem nahraje do modulu. Pokud |
jsou dobře nastaveny konfigurační pojistky je programátor připraven k |
programová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í. O |
seriového rozhraní se stará IO U2, známý převodník USB-rs232 |
FT323RL. Často se vyskytuje situace, programovat při nižším |
napětí, než 5V. Proto byl programátor osazen i stabilizátorm 3,3V |
LE33DE U3. Na rozhraní ISP byly přidány ochranné rezistory |
s hodnotou 100 ohmů a dále možnost vypnout napájení cílového |
zaří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 a |
pojistek do programátoru (poloha 1-2 ISPmega8538). V poloze |
2-3 normal AVRISP je modul připraven programovat. Zapojení obsahuje |
tlačítko reset, kterým se resetuje cílový procesor. (Neresetuje se |
programátor!!!) a je nutné toto tlačítko osadit na desce. Zelená |
LED dioda D2 značí připravenost programátoru, červená LED dioda D1 |
oznamuje 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átor |
vytváří 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 (deska |
s provrtanými díramy 3,2mm v ose x a y po 400 |
milsů) . 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. Jedna |
propojka je realizována prostřednistvím tlačítka reset.Tudíž se |
neosazuje, ale samo tlačítko tuto propojku realizuje.Tlačítko reset je |
nutné 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 se |
muselo stejně nahrát další firmaware, který pak už komunikoval |
s aplikaci AVR studio. Do našeho programátoru tedy nahrajeme jen |
patřičný HEX soubor s pojistkami pomocí externího programátoru a |
už 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íme |
externí programátor do konektoru ISP(6pin). Pokud externí programátor |
potřebuje ke své činnosti napájení ze cílového zařízení, přepneme |
př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ůžeme |
nahrá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 ISP |
normal. |
</p> |
|
<h1> Programové vybavení </h1> |
|
<p> |
Pro uživatele WINDOWS XP je nutné ještě nainstalovat ovladače USB |
převodníku FTDI. |
</p> |
|
<h2> AVR Studio 4 </h2> |
|
<p> |
Po spuštění aplikace vybereme na horní liště nástroje Tools – Program |
AVR – Auto connect. A můžeme už programovat. Pokud auto connect nic |
nenajde, 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> |