|
![]()
Vydáno dne 29. 01. 2020 (4068 přečtení) |
ISP konektor 10 pinů | ISP konektor 6 pinů | redukce 10/6 pinů |
USB-ASP | Jumpery "low speed" a "self-programming" | Můj home-made USB-ASP programátor |
- Asi nejjednodušší způsob, jak amatérsky naprogramovat většinu AVR jednočipů je pomocí takzvaného ISP (In-citcuit Serial Programming), někdy též označeného ICSP (In Circuit Serial Programming) přes rozhraní SPI (Serial Peripheral Interface). Tedy AVR jednočip je v případě SMD pouzdra již připájený, nebo v případě DIL pouzdra může být v patici v našem zařízení. Programování probíhá při normálním napájecím napětí (většinou 3,3V nebo 5V). Napájení může, ale nemusí být přivedeno z programátoru spolu s ostatními signály.
- Zdá se, že hobby uživatelé (pominu-li Arduino) nejčastěji používají USB-ASP (samostatný jednoduchý programátor připojený na USB port počítače. Autorem je Thomas Fischl. Dneska jsou jich plné e-shopy za cenu, za kterou ani nenakoupíme součástky.
- Klasická verze USB-ASP od Thomase Fischla má možnost přepnutí (zkratovacím jumperem) na nižší taktovací kmitočet (oscilátor < 1,5 MHz). To je potřeba například u nového AVR Atmega328(P), který ma defaultně nastaven vnitřní RC oscilátor 8 MHz a zapnuté dělení kmitočtu osmi, tedy výsledek 1 MHz a jednočip na plnou rychlost nepůjde programovat. Přepneme tedy programátor na nižší kmitočet, konfigurační bit nastavující dělení osmi změníme, uložíme a už to může jet na plnou rychlost.
- Některé čínské verze programátorů (zdá se, že v poslední době většina) mají ve svém firmware přepnutí (snížení) kmitočtu hodin automatické. Stalo se mi ale, že to s některýmí programovacími aplikacemi nekomunikuje korektně. Konkrétně mám zkušenost s MCS-Bascom-AVR. Sice to funguje, ale stále vyskakuje hláška o nemožnosti nastavit kmitočet. Pak je řešením změna firmware v zakoupeném USB-ASP. Abychom ale potom mohli kmitočet přepínat, musejí být na destičce programátoru dva jumpery, na čínských klonech obvykle označené JP2 a JP3. Doporučuji tedy koupit verzi, která má tyto jumpery instalované, nebo alespoň připravené dírky na plošném spoji. Mnoho novějších čínských verzí je už úplně vypustilo. JP2 využijeme při přehrání firmware (self programming), JP3 je ten, kterým potom ručně snižujeme kmitočet hodin. Na přehrání firmware je však potřeba další funkční programátor. Klidně ten samý typ. (Při té ceně snad zakoupení dvou kusů nikoho nezruinuje a bude mít jeden do zálohy.)
- Většina čínských klonů má možnost přepnout na 5V nebo 3,3V, obvykle jumperem označeným JP1. To je potřeba nastavit (zkontrolovat) před připojením.
- Někteří prodejci tvrdí, že jejich USB-ASP programátor nepotřebuje pro Windows instalaci ovladače do počítače. Moc tomu nevěřím, já jsem ji vždy potřeboval. (vyzkoušeno na WinXP a Win7, s Win10 nemám zkušenost). Všechny tři ovladače mám vyzkoušeny jak na starém notebooku s WinXP 32bit tak na Win7 64bit. Na začátku videa odkazovaného na konci článku je ukázka instalace ovladače do Win7.
LINK na ovladače.
Nebo další LINK.
- Piny programátoru a jednočipu se propojují 1:1. Tedy žádné křížení.
Signály jsou:
- GND - minus napájení
- VCC - plus napájení
- Reset(CS) - Chip select (dokud je reset stažený k nule, lze programovat)
- SCK - taktovací kmitočet
- MOSI, MISO - data
- Standardní konektor pro ISP je desetipinový. Zdá se mi to jako plýtvání místem na plošném spoji, protože z toho čtyři piny jsou GND a jeden je nezapojený. Stačí tedy šestipinový konektor, který je rovněž jakýmsi standardem. Je dobré si s koupí programátoru koupit (nebo vyrobit) i redukci z 10 na 6 pinů. (Já jsem na mých deskách dlouho používal dokonce jen pětipinový, protože VCC vlastně není potřeba. Na desce je skoro vždycky stabilizátor, ze kterého je jednočip napájený).
Tím je tedy hardware vyřešený.
Programovací aplikace:
Testoval jsem pár aplikací.
V minulosti jsem zkoušel také Atmel Studio a ještě nějaké další, které si již nepamatuji. Kdysi byl velice populární freeware PonyProg. Vývoj PonyProgu před několika lety skončil a tak s ním není možné programovat některé novější čipy. A také nepodporuje USB-ASP. (To je, bohužel, častý osud mnoha freeware projektů.)- BitBurner (grafická nadstavba AVRdude)
- AVRDUDESS (grafická nadstavba AVRdude)
- ExtremeBurner
- MCS BASCOM-AVR
Po mých, ne zrovna pozitivních, zkušenostech s různými freeware a opensource aplikacemi doporučuji MCS-Bascom-AVR. To je sice především editor a kompilátor pro vytváření vlastního firmware, ale lze s ním také nahrát někde stažená, nebo vygenerovaná data do paměti jednočipu a nastavit konfigurační bity (fuses). Jedná se sice o placenou aplikaci, ale existuje DEMO verze (V-2.0.7.9), která pro tento účel naprosto postačuje. Demo verze není nijak časově omezená. Omezená je pouze tím, že umožňuje zkompilovat kód do maximální velikosti 4kB a nesmí se používat pro komerční účely. Pokud jde ale o vlastní programování (nahrávání kódu do paměti), žádné omezení velikosti tam není. Kdo chce, může si koupiti placenou verzi. V době psaní tohoto článku je aktuální placená verze V-2.0.8.2. Na to, co s tím člověk užije zábavy to není nijak drahé.
Stažení a instalaci Demo verze Bascom-AVR snad není třeba nějak detailně probírat. Abych nemusel nahrání kódu do flash paměti zdlouhavě popisovat, vytvořil jsem video s návodem, jak na to. Jako ukázkový příklad jsem zvolil nahrání bootloaderu do paměti Atmega328P, aby byl použitelný v Arduinu UNO.
Doplněno 18.2.2020
Na Youtube.com jsem přidal video s ukázkou jak provést upgrade (downgrade) programátoru USB-ASP z Číny. Vyměníme tím upravený firmware, který sám přepíná rychlost programování za původní od Thomase Fischla. Tím se zbavíme varovných hlášení, ale musíme potom ručně (pomocí jumperu) nastavovat rychlost programování.
Jarda, ok1hdu
Novinky |
19.08.2020: Update na webu DXFC Dneska jsem updatoval info na webu DXFC.
05.07.2019: Update fotoalba Do fotoalba jsem přidal pár fotografií ze:
Slovinska (červen 2019) Fotoalbum prozatím zrušeno. 05.12.2018: Update fotoalba Do fotoalba jsem přidal pár fotografií ze:
Slovinska (jaro 2018) a ze: Suchého Vrchu (zima 2005/2006). Fotogalerie je prozatím zrušena. |
kalendář |
|
Radary ČHMU |
|
Zaparkováno na: |
![]() |
TSL certifikát: |
![]() |
Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
nebo registrovanými ochrannými známkami příslušných vlastníků.