Sprog

Některé jednočipové mikroprocesory mohou být naprogramovány přímo v aplikaci, bez vyjímání z desky nebo patice. U provedení pro povrchovou montáž by to bylo asi dost náročné.

Existuje také několik různých způsobů programování - podle toho, jakým rozhraním výrobce obdařil konkrétní typ procesoru. Zde se zaměříme na ISP (In System Programming) a rozhraní SPI (Serial Peripheral Interface), tvořené vodiči MOSI, MISO a SCK. K přepnutí obvodu do režimu programování je obvykle ještě třeba vodič RST.

Důvody vzniku tohoto programátoru a obslužný program najdete v samostatném článku.

Přímé připojení RS232 na programovaný obvod by asi nepřineslo nic dobrého. Napěťové úrovně mohou být až ±15 V, což může způsobit poškození připojeného mikroprocesoru.

Obvyklý budič MAX232 také nelze jednoduše použít, neboť obsahuje dva přijímače a dva vysílače. My ale potřebujeme tři příjímače a jeden vysílač.

Další nezbytnou vlastností je třístavový výstup. Nebude pak nutné programátor fyzicky odpojovat od procesoru, když budeme chtít naprogramovanou aplikaci spustit.

Příslušné signály sběrnice RS232 jsou nejprve napěťově přizpůsobeny obvodům s napájením 5V (R1 + D1, R2 + D2 a R3 + D3). Následuje třístavový budič, pro zlepšení impedance signálů.

Signály MOSI a SCK procházejí každý jedním budičem směrem k procesoru. Signál MISO naopak prochází od procesoru k RS232.

Signál RST je odvozen od stavu DIP spínače. Obvody rodiny AT89S... vyžadují aktivní úroveň H, což nastavíme sepnutím DIP spínače. Obvody AVR naopak vyžadují aktivní úroveň L, spínač bude v tomto případě rozpojený.

Použitý integrovaný obvod obsahuje celkem šest třístavových budičů, rozdělených do dvou skupin se společným vstupem aktivace. První skupina obsahuje čtyři budiče, použité pro signály MOSI, MISO, SCK a RST.

Druhá skupina obsahuje dva budiče. Ty jsou trvale aktivovány připojením řídicího vstupu na GND. Slouží k ovládání aktivačního vstupu první skupiny.

Seznam součástek:
R1, R2, R3, R4 4k7
C1 100 nF
D1, D2, D3 BZX55C 5V1
IC1 74HC368
S1 DIP 02
X1 D-sub 9, zásuvka
X2 MLW06

K propojení programátoru s procesorem je možné použít plochý kabel s příslušnými konektory. Délka kabelu by neměla přesáhnout 30 cm.

Propojovací kabel
PFL06 1 ks
FBK10H 0,25m
KONPC-SPK-6 *) 1 ks
KONPC-SPK-PI *) 6 ks

*) Typ konektoru na straně mikroprocesoru je třeba zvolit podle použité aplikace. Samozřejmě je možné mít několik kabelů, s různými konektory.

Zapojení je možné realizovat na kousku univerzální desky, navrhnout jednostranný plošný spoj vyrobitelný v domácích podmínkách, nebo třeba takto:

Destička má rozměr 34 x 22 mm, délka sestaveného programátoru (bez kabelu) je 54 mm.

Zůstalo mi několik hotových kusů. Klidně si o ně napište ...