MezData-Logo Creative Commons License 752 Lösungen Button :AVR: Experimentierboard STK200 und USB-Programmer

Die Entwicklungsumgebung

Bestandteile

  • STK200 Board mit ATtiny2313
  • Programmer USB AVR Lab von ullihome.de
  • 10 Pol-Flachbandkabel mit unterbrochener Leitung 4
  • USB-Kabel
  • Netzteil >8V (Gleichrichter und Spannungsregler 5V ist auf dem Board)

Installationsdateien

AVR Studio 4

WinAVR C-Compilererweiterung

Treiberinstallation USB AVR Lab

Anzeigeelemente des Programmers

Grün-Rote-Dual-LED zeigt den Status der Zielhardware an:

  • aus: keine Zielhardware angeschlossen
  • grün: Zielhardware richtig angeschlossen (wenn Jumper zur Targetversorgung gesetzt ist, leuchtet sie dauern grün)
  • rot blinkend: Zielhardware falsch angeschlossen
  • rot: Programmiervorgang läuft
  • orange: beide LED leuchten und Blaue LED leuchtet nicht -> Programmer ist im BootModus

Blaue LED zeigt die PC-Verbindung an:

  • dauernd aus: keine Verbindung
  • an: Verbindung, aber kein Datentransfer
  • sporadisch ausgehend: LED ist während des Datentransfers aus.

Alternativer Programmer: Orginal AVRISP mkII

Es wird eine Adapterplatine von 6 Pol auf 10 Pol benötigt:

Die richtige Reihenfolge beim Anschließen an den PC und Verbinden mit dem Board

Achtung: Zuerst muss eine Verbindung des Programmers mit dem PC bestehen und erst dann darf der Programmer mit dem STK200-Board verbunden werden. Sonst wird der Programmer nicht richtig initialisiert.

Programmer an PC anschließen

Programmer wird mit USB-Kabel an PC angeschlossen, blaue LED leuchtet. Im AVR-Studio den Programmer auswählen. Bei Erfolg mit Netzteil verbundenes und eingeschaltetes Board mittels 10 Pol. Flachbandkabel mit dem Programmer verbinden.

Überprüfen der Einstellungen

Der zu programmierende Controller muss richtig eingestellt sein.

Wir programmieren im ISP mode, die Daten werden seriell auf den im System steckenden Controller übertragen (In System Programing). Dabei darf die Übertragungsgeschwindigkeit (ISP Frequency) zu dem Controller nicht schneller als 1/4 seines Systemtaktes sein, sonst kommt er nicht mehr mit und es gibt eine Fehlermeldung:

ISP Frequency auf 125.0 kHz einstellen:

Fuses (Sicherungen)

Besondere Hardwareparameter werden mittels Fuses eingestellt.

Eine genaue Beschreibung ist in der jeweiligen Dokumentation des Controllers zu finden.

Warnung: Eine unbedachte Änderung kann dazu führen, daß eine Programmierung des Controllers nicht mehr möglich ist. Z.B. bei falscher Takteinstellung.

Bei Auslieferung bekommt der ATtiny2313 von einem internen 8MHz RC-Oszillator einen durch 8 geteilten Systemtakt, wird also mit 1 MHz betrieben.

Programmierung eines Controllers

Das richtige HEX-File auswählen!

Firmwareupdate des USB AVR Lab Programmers

Ein fabrikneuer oder fehlerhaft funktionierender Programmer kann mittels des USB AVR Lab Tools wieder in Funktion gebracht werden.

Das Tool starten und den Programmer anschließen (Achtung kein Target darf angeschlossen sein). Den Programmer in Bootmodus versetzen (leuchtet dann orange).
Nun die geeignete Firmware (AVRISPmkII) auswählen und auf Programmieren klicken:

Das Tool beenden und den Programmer abziehen. Beim erneuten Anstecken sollte der Programmer wieder einwandfrei funktionieren.

Das Experimentierboard STK200

An PortB sind 8 Leuchtdioden (LED) über jeweils einen Widerstand gegen VCC (5V) angeschlossen. Sie leuchten wenn der jeweilige Pin PB7..PB0 eine logische Null (0V) führt.

An PortD sind 8 Taster mit GND (0V) verbunden. Wenn ein Taster gedrückt wird wird der jeweilige Pin PD7..PD0 auf Masse (0V) gezogen.

Befehle, die mit Ports zu tun haben

Befehl Operand Beschreibung Beispiel
IN Rd,P Einlesen eines Port in Register in R16,PIND
OUT P, Rd Ausgeben eines Register in Port out PORTB,R16
SBI P, b Setze Bit b in Port P sbi PORTB,2
CBI P, b Lösche Bit b in Port P cbi PORTB,2
SBIC P, b Überspringe, wenn Bit b in Port P gelöscht sbic PIND,4
SBIS p, b Überspringe, wenn Bit b in Port P gesetzt sbis PIND,4
rjmp testmode

Weitere Möglichkeiten des Entwicklungs-Boards

Einsetzbare Bausteine

Sockel Bausteine Bemerkung
20 Pol AT90S2313
ATtiny2313
AT90S2313 läßt sich mit unserem Programmer nicht programmieren
28 Pol ATmega8
ATmega48
40 Pol Analog AT90S8535
ATmega16
ATmega32
AT90S8535 läßt sich mit unserem Programmer nicht programmieren
40 Pol Digital

Belegung der I/O Ports

D0 1 2 D1
D2 3 4 D3
D4 5 6 D5
D6 7 8 D7
GND 9 10 VCC

20Pol

Sockel AT90S2313 ATtiny2313

28Pol

Sockel ATmega8 ATmega48

40Pol Analog

Sockel AT90S8535 ATmega16

40Pol Digtal