Komunikační protokol programátoru
AT-master
Osobní počítač (PC) komunikuje s programátorem
AT-master
prostřednictvím běžného sériového
rozhraní (COM).
Parametry:
9600Bd, 8
bitů, 1 stop bit, bez parity.
Princip použitého komunikačního protokolu je jednoduchý. PC posílá
do programátoru jednoznakové povely,
za nimiž buď nenásleduje nic nebo následuje
parametr, případně následují zapisovaná data. Programátor
provádí echo, tj. vrací do PC
stejný znak, jaký přijal. Provedení každého povelu programátor potvrzuje
řetězcem "
ok
" resp. "
error
".
Jednoduchost protokolu umožňuje použít ke komunikaci s
AT-master
em běžný
terminálový program
(já používám výborný
TeraTerm
)
a programátor ovládat
manuálně. To je velice užitečné jak při ladění
firmware, tak
i při oživování.
Ukázka použití komunikačního protokolu v praxi je na stránce
ruční řízení programátoru AT-master
.
Popis jednotlivých povelů:
e (Erase)
Vymazání paměti.
w (Write)
Zápis do paměti (počet zapisovaných bytů je určen povelem
s
).
Následují zapisovaná data
v binárním tvaru. Komunikaci řídí programátor.
Před každým znakem posílá do PC
xon
a po každém
znaku
xoff
.
r (Read)
Čtení obsahu paměti (počet čtených bytů je určen povelem
s
).
Čtená data jsou v hexadecimálním
tvaru.
V režimu ED1.1 chrlí programátor data bez řízení, v režimu ED2.0 programátor
reaguje na znaky
xon
a
xoff
od PC.
l (Lock bit)
Nastaví maximální
Lock Bit Protection Mode
, tj. 3 nebo 4 podle typu čipu.
b
N
(lock Bit protection mode, N = 1 až 4)
Nastaví
Lock Bit Protection Mode
podle hodnoty N.
Před vysláním znaku N je třeba počkat na znak
xon
(v manuálním režimu - TeraTerm apod. se čekat nemusí).
m (read lock bit protection Mode)
Vrací aktuální
Lock Bit Protection Mode
(1 až 4).
Funguje pouze u některých čipů.
s
NNNNN
(Set counter)
Nastavuje počet bytů pro zápis a čtení.
NNNNN = 1 až 5 číslic v decimálním tvaru.
Jediný příkaz,
který se zakončuje klávesou Enter (0ah nebo 0dh).
Před vysláním každého znaku je třeba počkat
na znak
xon
(v manuálním režimu - TeraTerm apod. se čekat nemusí).
c (print Checksum)
Vrací kontrolní součet. Kontrolní součet se vždy vypočítává při vykonávání povelů
p
,
g
,
r
a
w
(u povelů
p
a
g
z celé paměti,
zatímco u povelů
r
a
w
z oblasti paměti dané povelem
s
).
Obdrží-li
programátor povel
c
, vrátí pouze dříve získanou hodnotu.
g (Get info)
Vrací typ čipu, počet nenulových bytů a nastavení '
s
'.
Nastavení
oN
nemá na činnost příkazu vliv.
Není-li nalezena platná signatura, vrací řetězec
"
Not found Atmel chip
".
p (Pgm parameters)
Vrací druhý byt signatury čipu, počet nenulových bytů a nastavení '
s
'.
Nastavení
oN
má vliv:
Pokud je
Power Off Mode
zapnut (
o1
),
příkaz vrací údaje uložené v paměti a nezapíná napájecí
napětí
programovaného čipu.
i
XXYY
(Impose signature)
Zapíná (při
i0000
vypíná) režim vnucení signatury (u poškozeného čipu).
XX = 2.byt signatury,
YY = 3.byt signatury v hexadecimálním tvaru.
Před vysláním každého znaku "X" a "Y" je třeba
počkat na znak
xon
(v manuálním režimu - TeraTerm apod. se čekat nemusí).
Okamžitě po vyslání
druhého znaku "Y" programátor ověří platnost
zadané signatury a zjistí počet nenulových bytů.
Je-li signatura platná, vrací "
ok
", jinak vrací "
error
".
o
N
(power Off mode, N = 0 nebo 1)
Nastavuje (N = 1) nebo ruší (N = 0) Power Off Mode.
Před vysláním znaku N je třeba
počkat na znak
xon
(v manuálním režimu se čekat nemusí).
Zavedeno proto, že program
ezdl4.exe
neustále periodicky
posílá povel '
p
'. Zapnutí
Power Off
Mode
tedy umožňuje vyměňovat programované
procesory za chodu i při používání
ezdl4.exe
.
t (Test AVR)
Slouží pro otestování funkce AT90S1200 při možných problémech.
Předpokládá se použití pouze
v manuálním režimu (TeraTerm apod.).
Podrobnosti viz vestavěný "help".
a (Adjustment voltage)
Slouží pro kontrolu nastavení programovacího a napájecího napětí.
Předpokládá se použití pouze
v manuálním režimu (TeraTerm apod.).
Podrobnosti viz vestavěný "help".
? (Help)
Vrací seznam příkazů se stručným popisem.
Poznámka:
Uvedený komunikační protokol je z větší části beze změny převzatý z konstrukcí
Easy
Downloader 1.1
a
Easy Downloader 2.0
(z důvodu kompatibility s ovládacím
programem
ezdl4.exe
).
Nově jsou doplněny pouze povely bN,
m,
oN,
t,
a a
?.
Úvodní stránka
Hlavní stránka
AT-mastera
Historie vzniku AT-mastera
Ruční řízení AT-mastera
Programátor TSP-IC
Jakékoliv ohlasy a otázky pište prosím na adresu:
lubos.ruckl@quick.cz
Aktualizováno: 9. 12. 2005