AProg - ISP programátor pro Atmel AVR (USB, RS232)
Programátor slouží k programování MCU Atmel AVR pomocí SPI rozhraní.
Základní vlastnosti:
- podpora obvodů ATmega, ATtiny a částečně AT90S
- zápis a čtení Flash i EEPROM
- nastavení fuse a lock bitů
- napájení 2.7V až 5.5V (z programovaného zařízení)
- podpora rozhraní USB (USB1.1, USB2.0) nebo RS232
- možnost galvanického oddělení od PC
- rychlost zápisu až 25kB/s, rychlost čtení až 60kB/s (závisí na frekvenci hodin SPI a konkrétním MCU)
Vyzkoušené obvody:
- ATmega2313, ATmega8, ATmega16, ATmega32, ATmega64, ATmega2560
Na vlastní zodpovědnost!
Veškerá rizika spojená s užíváním tohoto zařízení nese uživatel. Autor nenese v žádném případě odpovědnost za škodu, vzniklou používáním zařízení ať by byla jakákoli.
Ve vlastním zájmu si překontrolujte názvy fuse bitů s katalogovým listem ;-)
Popis zapojení
Jako základ celého zapojení byl zvolen MCU ATmega8 vybavený hardwarovým SPI rozhraním, který zajišťuje komunikaci mezi PC a programovaným obvodem. Z důvodu stability přenosové rychlosti asynchronního sériového přenosu dat mezi převodníkem na USB a dostatečné výpočetní rychlosti je použit krystalový oscilátor s frekvencí 10MHz. Napájení MCU se odebírá z programovaného zařízení, což zaručuje správné logické úrovně signálu.
Rozhraní USB poskytuje obvod FT232BM kompatibilní s USB 1.0 i USB 2.0, který se napájí přímo z PC přes USB konektor. Komunikace USB převodníku a MCU využívá hardwarové řízení toku RTS/CTS, ale pouze ve směru odesílání dat do PC (z důvodu možnosti přeplnění vyrovnávací paměti obvodu FT232BM při velkém zatížení PC).
K dispozici jsou tři varianty HW části programátoru:
USB bez galvanického oddělení od PC
- první vývojová verze - používají hazardéři jako já :D
- jednostranná DPS
- součástky SMD 0805, ATmega8 v TQFP32
USB s optoelektronickým oddělením od PC (PCB 1)
- autorem modifikace je Stanislav Mašláň http://elektronika.kvalitne.cz
- dvoustranná DPS
- součástky SMD 0805, ATmega8 v DIL28
USB s optoelektronickým oddělením od PC (PCB 2)
- dvoustranná DPS
- součástky SMD 0805, ATmega8 v TQFP32
RS232 port bez galvanického oddělení od PC
- autorem modifikace je Stanislav Mašláň http://elektronika.kvalitne.cz
- jednostranná DPS
- součástky SMD 0805, ATmega8 v DIL28
Firmware
Firmware pro MCU je kompletně napsán v assembleru přeložitelný překladačem AvrAsm32 (součást AvrStudia od Atmelu). Pokud se v mém kódu někdo vyzná :-), tak si jej může sám vylepšit a zbavit chyb ...
| Zdrojový kód | |||
|---|---|---|---|
| Firmware v2.4 | v2.4 | 06.02.2009 | Firmware - kompletní zdrojový kód v assembleru |
| Firmware v2.3 | v2.3 | 10.09.2007 | Firmware - kompletní zdrojový kód v assembleru |
| Firmware v2.2 | v2.2 | 23.03.2007 | Firmware - kompletní zdrojový kód v assembleru |
Nastavení fuse bitů
| Bit (MSB->LSB) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|---|---|---|---|---|---|---|---|---|
| Fuse Low Byte | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| Fuse High Byte | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
0 = naprogramován, 1 = nenaprogramován (jak v datasheetu)
Software
Obslužný software pod Windows má jednoduché uživatelské rozhraní. Vstupní data načítá jak v binárním formátu, tak ve formátu IntelHEX a automaticky detekuje změny datových souborů.
Program umožňuje programovat, číst a verifikovat obsah paměti flash a EEPROM, dále pak nastavovat fuse bity (low, high, extended), lock bity a číst signaturu obvodu. Pro dosažení co největší rychlosti programování lze nastavit frekvenci hodinového kmitočtu SPI rozhraní volbou děliče 2, 4, 8, 16, 32, 64 nebo 128.
Ovladače a nastavení
Pro správnou funkci USB verze programátoru je nutné nainstalovat ovladače obvodu FT232BM, které vytvoří při připojení programátoru k PC v systému virtuální sériový port. Ovladače naleznete na stránkách výrobce.
Aby bylo možné dosáhnout maximální rychlosti čtení a zápisu musí se ve vlastnostech sériového portu v rozšířených nastaveních (Ovládací panely -> Systém -> Správce zařízení -> Porty COM a LPT -> COMx -> Vlastnosti ...) zvolit hodnota latency timeru 2ms.
V ovládacím programu AProg (Soubor -> Nastavení) pak nastavit pouze správný port COMx a přenosovou rychlost (1250000 pro USB verzi a 115200 pro RS232 verzi).
| Download | |||
|---|---|---|---|
| AProg v1.0.3 | 598 kB | 06.02.2009 | Ovládací software pod Windows (ChangeLog.txt) |
| AProg v1.0.2 | 401 kB | 12.12.2008 | Ovládací software pod Windows |
| AProg v1.0.0 | 400 kB | 23.03.2008 | Ovládací software pod Windows |
| FT232BM | Ovládače virtuálního COM portu pro FT232BM | ||