|
Přibližně od poloviny roku 2005, kdy jsem začal s prvními pokusy s jednočipy Atmel AVR jsem na jejich programování používal program PonyProg a jednoduchý interface na paralelní port. (přímé propojení některých pinů paralelního portu s programovacími piny jednočipu). Bohužel, vývoj PonyProgu se před pár lety zastavil. Chtěl jsem si postavit tester součástek AVR_tester a zjistil jsem, že s tou mojí sestavou nenaprogramuji ATmega_328. Nastal čas na změnu.
|
Rozhodl jsem se pro USB_ASP od Thomase Fischla. Nejde o žádnou novinku, první verzi zveřejnil někdy v roce 2005 a na internetu lze najít spoustu klonů tohoto programátoru. Autor to poskytl pod GNU GPL v2 licencí a tak se toho hned chytli Číňani (a následně překupníci u nás) a už to nabízejí v e-shopech.
Já ve svých konstrukcích používám pro ISP programování netypický, pětipinový konektor PSH (už jsem za to sklidil kritiku, že to neodpovídá ani zvyklostem, ani doporučení výrobce), a tak jsem si navrhl vlastní plošný spoj. Na konektor jsou vyvedeny pouze programovací signály, tedy CS, SCK, MISO, MOSI a zem. Předpokládám, že napájení a hodinový signál pro programovaný jednočip jsou vždycky součástí vyvíjené konstrukce.
|
|
|
|
|
|
Schéma
| Plošný spoj (není v měřítku)
| Jak ho osadit součástkami
|
|
|
|
|
|
|
|
|
|
Zemní propojky a drátové propojky
| Fotka z jedné strany.
| Fotka z druhé strany.
|
|
|
|
Vše ohledně stavby, instalace ovladače a použití je na webu autora (viz odkaz výše), takže myslím, že není potřeba to zde opakovat. Využívá se napájení 5V z USB portu PC, úrovně programovacích signálů jsou tedy vztažené k této hodnotě. Pokud bychom chtěli programovat jednočip v zařízení s jiným napájecím napětím, byl by nutný nějaký převodník úrovní.
Plošný spoj jsem udělal dvouvrstvý, celá horní vrstva je zemní plocha (mínus napájení). Jsou na něm dvě drátové propojky, jedna z nich pod paticí pro integrovaný obvod. Desku jsem vyrobil doma, bez prokovených děr, a proto bylo nutné připájet vývody součástek, které jsou připojeny na zem také z vrchní strany. Tam kde to není možné (pod paticí integrovaného obvodu, nebo pod USB konektorem) jsem přidal pájecí plošku kousek vedle (ve schématu kolečko s křížkem), kde je potřeba udělat propojku skrz desku kouskem drátku. Na levém obrázku výše jsou to ty červené puntíky.
Do sekce DOWNLOAD jsem uložil .zip soubor obsahující vše pro zprovoznění programátoru. Jsou tam i soubory pro návrhový systém Eagle, tedy .sch a .brd (vytvořené ve free verzi Eagle 5.4.0) Také je tam obrázek spodní strany plošného spoje ve formátu .pdf, tedy vhodný k vytištění v měřítu 1:1.
|
|
|
|
|
|
V provozu
| Programátor v Bascomu
| Přehledné nastavení Fuse-bits.
|
|
|
|
Funkčnost jsem ověřil s programátorem (software) který je součástí BASCOM-AVR, jak placené verze (v 2.0.7.7), tak v demoverzi (v 2.0.7.5) na systémech WIN-XP-SP2, SP3 a WIN7(x64). Také jsem zkusil Extreme_burner dokonce i na systému WIN_2k (Extreme_burner však umí jen některé AVR jednočipy a například výše uvedený ATmega_328 mezi nimi není).
Jediný drobný problém se vyskytl s WIN7, kdy po prvním připojení systém zařízení sice rozpoznal, ale tím vše skončilo. Nenabídl instalaci ovladače. Vše se však vyřešilo několikerým kliknutím:
Ovládací_panely->Systém->Správce_zařízení->libusb-win32->USBasp->
->Ovladač->Aktualizovat_ovladač.
Vybrat adresář s rozbalenými soubory staženými z webu autora.
Jarda ok1hdu