ATprogISPUSB0A Programátor pro procesory AVR Miroslav Janás Modul USB programátoru procesorů AVR s šestipinovým ISP rozhraním. Programátor je kompatibilní s AVR studio (programátor STK00 nebo AVRISP) a s avrdude (programátor STK00v). 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 V z USB nebo.v z vnitřního stablizátoru.. Technické parametry Parametr Hodnota Poznámka Napájení V Napájeno z USB rozhraní Napájení cílového zařízení V z USB.V z vlastního stabilizátoru Omezeno USB zdrojem Maximálně cca 90mA Spotřeba cca 0mA Bez cílového zařízení Interface USB., USB.0 USB kabel A-B Kompatibilita AVR Studio AVRDUDE STK00 STK00v Rozměry xx0mm Výška nad nosnou deskou ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /
ATprogISPUSB0A. Popis konstrukce.. Úvodem 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 stk00.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í... Zapojení modulu Základní procesor U ATmega8 zajišťuje veškerou programovací činnost. S PC komunikuje prostřednitvím sériového rozhraní. O seriového rozhraní se stará IO U, známý převodník USBrs FTRL. Často se vyskytuje situace, programovat při nižším napětí, než V. Proto byl programátor osazen i stabilizátorm,v LEDE U. Na rozhraní ISP byly přidány ochranné rezistory s hodnotou 00 ohmů a dále možnost vypnout napájení cílového zařízení přes přepínač SW (VTG enable). Jumper J7 (ISP select) se použije jen při prvním nahrání HEX souboru a pojistek do programátoru (poloha - ISPmega88). V poloze - 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 D značí připravenost programátoru, červená LED dioda D oznamuje právě probíhající programování. VTG enable - ON ISP select - ISPmega8 - normal ISPAVR - OFF SW SW_P-B J7 JUMP R 0k C MOSI X.8M A B C p VTG MISO MOSI SCK RST# J JUMPx C p C9.7uF/.V A C MOSI MISO SCK R MISO 00 SCK R7 00 R 00 R 00 RX_AVR TX_AVR R 0k 7 8 9 0 7 8 9 0 U SW PB/MOSI PB/MISO PB7/SCK RESET# XTAL XTAL PD0/RXD PD/TXD PD/INT0 PD/INT PD/OCB PD/OCA PD/ICP TARGET_RESET ATmega8_TQ SS#/PB AIN/OC0/PB AIN0/INT/PB T/PB T0/XCK/PB0 C 0 9 8 7 ADC0/PA0 ADC/PA ADC/PA ADC/PA ADC/PA ADC/PA ADC/PA 0 ADC7/PA7 9 PD7/OC AREF 8 7 A PC0/SCL TOSC/PC7 PC/SDA TOSC/PC PC PC PC PC C R 0k R0 0k R9 0k R8 0k R7 0k C C7 R 8k R k A C C8 R k D green A C R k D red PROCESSOR Srdce programátoru ATmega8. ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /
ATprogISPUSB0A USB_ J USB_B_0 M M J JUMPX USBDM USBDP L 0.A f errite_bead FUSE C USB_ R k7 R 0k C0 0n USB_ C A C C U 8 IN OUT C.7uF/.V J JUMP INH 7 LED A C select on V off.v C.uF/.V C080 D N007SMD C 0 9 7 8 7 U FTRL USBDM USBDP RESET# OSCI OSCO IO VOUT TEST 7 8 A USB RXD TXD RTS# CTS# DTR# DSR# DCD# RI# CBUS0 CBUS CBUS CBUS CBUS NC NC 9 0 8 USB INTERFACE TX_AVR RX_AVR USB interface s převodníkem USB-rs FTRL. Standardní katalogové zapojení doplněno o stabilizátor U LED. Stabilizátor vytváří napětí,v. Jumprem J se volí programovací napětí... Mechanická konstrukce Modul je navrhnut pro připevnění na standardní nosou desku (deska s provrtanými díramy,mm v ose x a y po 00 milsů). V rozích jsou šroubky a sloupky s rozpětím xcm (000x800mils). ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /
ATprogISPUSB0A. Osazení a oživení.. Osazení 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). Deska z pohledu strany součástek Deska z pohledu strany spojů ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /
ATprogISPUSB0A Seznam použitých součástek Odpory SMD 8 R, R, R7, R8, R9, R0, R, R 0k R080 R 8k R080 R k R080 R, R k R080 R k7 R080 R, R, R, R7 00 R080 Keramické kondenzátory SMD 0 C, C, C, C, C7, C8, C, C, C, C C080 C, C p C080 C0 0n C080 C.uF lze i elektrolyt C080 Elektrolytické kondenzátory SMD C9, C.7uF/.V ELYTB Indukčnosti SMD L Ferrite_bead R080 Diody D red LED D green LED D N007SMD MELF Integrované obvody U ATmega8_TQ TQFP U FTRL SSO8_0 U LED SO8_0 Krystaly X.8MHz XTAL00 Pojistky SMD FUSE 0.A R0 Mechanické součástky J JUMPX JUMPX J JUMPx JUMPx/B J JUMP JUMP J USB_B_0 USB_B_0 J7 JUMP JUMP SW TARGET_RESET PUSH00x00 SW SW_P-B P-B Konstrukční součástky Jumper propojka Sloupek Mxmm Šroub Mx křížový s válcovou hlavou Podložka M Konektor pinů NDR-0 s piny ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /
ATprogISPUSB0A.. Oživení 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. Postup nahrání pojistek a firmware pro avrdude je následující: Přepneme JUMPER J7 (sel ISP) do polohy - ISPmega8 a připojíme externí programátor do konektoru ISP(pin). Pokud externí programátor potřebuje ke své činnosti napájení ze cílového zařízení, přepneme přepínač SW (VTG) do polohy on. Zvolíme programovací napětí pomocí JUMPERU J (sel POWER) na V nebo,v, 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 stk00.hex. Pro pojistky: avrdude -p atmega8 -P %PORT% -c %PRG% -U lfuse:w:0xff:m -U hfuse:w:0xdb:m Pro soubor stk00.hex avrdude -p atmega8 -P %PORT% -c %PRG% -U flash:w:stk00.hex:a kde PRG je typ externího programátoru a PORT je sériový nebo paralelní port externího programátoru. Po naprogramování se JUMPER J7 (sel ISP) vrátí do polohy - ISP normal.. Programové vybavení Pro uživatele WINDOWS XP je nutné ještě nainstalovat ovladače USB převodníku FTDI... AVR Studio 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: STK00 or AVRISP Port: COM kde se náš programátor nachází... AVRDUDE Zde stačí do příkazové řádky zadat tyto patametry avrdude p xxx c stk00v P comx U flash:w:muj.hex:a xxx typ cílového procesoru comx com port kde je náš programátor ostatní parametry viz příkaz avrdude?, zde získáme nápovědu. ATprogISPUSB0A.doc / 009-0- / mija / http://www.mlab.cz /