Der Programmer


Viele User würden gerne mal auf den AVR umsteigen , jedoch schrecken immer vor dem Begriff : Programmer   zurück.

Der Programmer ist im Grunde lediglich die Schnittstelle zwischen dem PC und dem ATMEL-Chip.

Bei der Picaxe z.B. , ist der kleine Vorteil , das diese mittels serieller Datenübertragung am RS232
Anschluss programmiert wird.

Die ATMEL werden auch per serieller Datenübertragung programmiert,
nur nennt sich der Anschluss eben nicht RS232, sondern SPI .

Leider gibt es bis heute noch keinen PC , der einen SPI Anschluss serienmäßig eingebaut hat.
Darum muß man sich entweder dieses Bindeglied selber löten , oder auf ein fertiges "Gerät" zurückgreifen.

Bei einer Programmierung mittels RS232 Anschluss , werden die Daten mittels 3 Leitungen übertragen :

- Rx
- Tx
- GND

Die Geschwindigkeit der entsprechenden Übertragung richtet sich nach der eingestellten Baudrate.
Es gibt verschiedene Baudraten in proportionalen Geschwindigkeiten :
300     Baud
600     Baud
1200   Baud
4800   Baud
9600   Baud
14400 Baud
19200 Baud
28800 Baud
38400 Baud
usw.

Die Firma ATMEL hat bewußt nicht diese Art der Kommunikation genommen, da man hier auf feste Werte zurückgreifen muß.
Die SPI Schnittstelle arbeitet im Grunde gleich der RS232 ,
jedoch werden hier einzelne Leitungen für jede Funktion genommen.

- MOSI     ( Datenausgang )  Master  Out  Slave  In     ( "Tx" )
- MISO     ( Dateneingang )   Master   In    Slave  Out   ( "Rx" )
- SCK      ( Clock )
- Reset

Es nennt sich alles vielleicht ein bischen gewöhnungsbedürftig , ist aber am Ende immer das selbe gemeint.  ;-)
Durch die seperate Clock-Leitung sind beim SPI zum einen flexiblere und auch schnellere Übertragungen möglich..
Die SPI Schnittstelle wird nicht nur vom AVR genutzt , sondern auch von vielen anderen IC´s und Gerätschaften wo
es insbesondere auf Geschwindigkeit drauf ankommt.

Da es verschiedene Anbieter mit verschiedenen Experimentiertboards gibt die bereits schon eine
integrierte Programmierschnittstelle ( ISP ) enthalten , so hat sich auch fast jeder Anbieter eine eigene technische Lösung
für die serielle Kommunikation ausgedacht.
Die gängisten ISP "Protokolle" sind : STK200/300 und STK500


Der STK200/300 :



Der STK200 wird an der LPT-Schnitstelle betrieben und nutzt den 74HC244 als Umsetzer.
Viele PC ´s besitzen leider nicht mehr den LPT Anschluss , so das mittlerweile auf USB umgestiegen wird.
Zu diesem Zweck gibt es viele viele Hersteller die einen Programmer mit USB Anschluss anbieten , deren Protokoll in
der Regel auf dem ST500 basiert.






Genauso wie der RS232 Anschluss , ist auch der ISP Anschluss einheitlich genormt.
Es gibt mittlerweile 2 Arten an ISP :  6-pin und 10-pin Variation.


Ansicht von oben auf die Steckerleiste










Ein selbst entwickeltes Experimentierboard könnte z.B. auch so aussehen :



- Jeder Ausgang ist mit einer LED versehen - an-/und abschaltbar per Jumper
- Alle Pins sind stirnseitig herausgeführt in 2 Reihen und noch einmal direkt am IC
- ISP Anschluss
- Stromversorgung wahlweise über ISP oder Netzteil , wählbar über Jumper
- Quarz über Jumper de- oder aktivierbar
- integrierter Pegelwandler max232 , über Jumper wahlweise de- oder aktivierbar
- 4 Stk Taster  high aktiv
- 2 Stk Poti 0V - 5V
- serieller Anschluss als 3-er Stiftleiste