Lernpaket Bascom und C - Fehlersuche
Wenn die Controllerplatine zum ersten mal mit
Spannung versorgt wird, startet das Ping-Pong-Spiel. Schritt zwei ist dann,
dass man den Programmieradapter aufbaut und ein erstes Hexfile in den
Controller brennt. Der Adapter stellt eine Pegelanpassung zwischen der RS232
und der ISP-Schnittstelle des Mega8 bereit.
CTS liest direkt | 1 MISO | 2 Vcc | + Batterie |
TXD über 22 k | 3 SCK | 4 MOSI | DTR |
RTS über 22 k + Z5V1 | 5 RST | 6 GND | GND direkt |
Starten Sie die ISP-Software aus dem Lernpaket und
öffnen Sie die angeschlossene COM-Schnittstelle. Überprüfen Sie, ob die
Schnittstelle (hier COM1) tatsächlich geöffnet wurde und ein Häkchen zeigt.
Im
Handbuch wird vorgeschlagen, dass Sie nun das Programm Ledmatrix2.hex
in den Controller brennen. Im Normalfall geht das problemlos und endet
mit der ok-Meldung.
Falls
aber eine Fehlermeldung erscheint, muss man die Ursache suchen. Eine
solche Fehlermeldung kann ich z.B. erzeugen, wenn ich den Adapter von
der Pingpong-Platine abziehe.
Um das Problem lösen zu können, muss man wissen, was diese
Fehlermeldung auslöst. Das PC-Problem schaltet den Controller in
den Resetzustand und taktet dann über MOSI und SCK ein
Byte in den Controller, das dieser an MISO wieder zurückschickt.
Das erste Byte wird von der PC-Software gelesen, um die Antwort des
Mega8 zu erkennen. Wenn es nicht erscheint, kommt die Fehler-Meldung.
Der Fehler kann also irgendwo auf dem Weg hin und zurück liegen.
Mit der folgenden Checkliste sollte sich der Fehler einkreisen lassen.
1. Spannung liegt an, das Pingpong läuft
2. Verbinden Sie den Programmieradapter noch ohne PC-Verbindung: Pingpong läuft
weiter. Falls es stoppt: Lötbrücke oder die Zenerdiode wurde falsch herum
eingesetzt.
3. Schließen Sie die serielle Schnittstelle an. Das laufende Programm im Mega8
stoppt. Starten sie das Programm Terminal.exe, und öffnen Sie die verwendete
Schnittstelle. Falls Sie "COM ERROR" lesen, ist es die
falsche Schnittstelle, der sie ist von einem andern Programm bereits
belegt. Wenn alles in Ordnung ist, erhalten Sie die Meldung "COM
open".
4. Klicken Sie den Ausgang RTS aktiv. Das Programm im Mega8 läuft wieder. Falls
nicht: Überprüfen Sie die Spannung am Pin5 bzw. an der Kathode der Zenerdiode:
RTS an: ca. 4,5 V, RTS aus: ca. -0,6 V. Falls nicht: Unterbrechnung oder
Lötbrücke auf der Platine.
5. Schalten Sie RTS aus. Der Prozessor befindet sie
wieder im Reset-Zustand. Nun soll die Verbindung MISO-CTS überprüft werden.
Verbinden Sie Pin1 und Pin2 am ISP-Stecker (MISO gegen Vcc). Der Eingang CTS
wird als aktiv gelesen. Falls nicht: Lötfehler im Bereich ISP-Stecker oder
RS232-Stecker.
6.
Überprüfen Sie die Verbindung zur SCK-Leitung. Klicken Sie
auf TXD. Die Spannung am Pin 3 muss ca. 4,5 V betragen. Klicken Sie TXD
wieder aus, die Spannung an Pin 3 geht auf ca. -0,6 V.
7. Überprüfen Sie die Verbindung zur MOSI-Leitung. Klicken Sie auf DTR.
Die Spannung am Pin 4 muss ca. 4,5 V betragen. Klicken Sie DTR wieder
aus, die Spannung an Pin 3 geht auf ca. -0,6 V.
Wenn
alle diese Signale richtig ankommen, ist die Hardware in Ordnung. Falls
eins nicht wie erwartet erscheint, liegt der Fehler mit hoher
Wahrscheinlichkeit im Programmieradapter. Möglich ist aber auch
ein Fehler in der RS232-Schnittstelle des PC oder
im Verbindungskabel.
Hinweise zu Windows 7
Die
ISP-Software zum Lernpaket läuft unter Windows7, egal ob 32 Bit
oder 64 Bit. Man muss nur bedenken, dass unter Win7 ein Programm mit
serieller Verbindung immer beim ersten mal mit Administratorrechten
geöffnet werden muss, sonst ignoriert Windows7 den Datenverkehr,
ganz ohne Rückmeldung, man merkt praktisch nichts davon. (siehe Labortagebuch.)
Das
AVR-Studio produziert teilweise Fehlermeldungen unter 64 Bit. Die
betreffen aber solche Treiber, die für die Kommunikation mit
Programmern und Entwicklungssystemen verwendet werden. Hier jedoch wird nur der Compiler gebraucht.
Einige
Nutzer berichten von Problemen beim Installieren des AVR-Studio, bei
anderen lief es völlig glatt. Hier einige der Erfahrungen:
http://www.mikrocontroller.net/topic/248350
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=103530
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=86501