Forum: Mikrocontroller und Digitale Elektronik Bitte um Hilfe mit Fusebits bei Nachbauprojekt


von Nino K.L. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche, das USB ISP Programmiergerät von Ulrich Radig 
(http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog) nachzubauen, 
die Hardware ist bereits fertig. Bei der Inbetriebnahme habe ich leider 
Probleme. Mein WindowsXP erkennt nur ein "Unbekanntes USB-Gerät" und 
kann (offensichtlilch) mit diesem nicht kommunizieren.

Eine mögliche Ursache sind die Fusebits. In der Anleitung finde ich 
nämlich zwei unterschiedliche Angaben, wie man sie einstellen soll, und 
zwar einmal wie im angefügten jpg und einmal wiefolgt:

-------- Zitat aus der Readme.txt --------
You have to change the fuse bits for external crystal (see "make 
fuses").
# TARGET=atmega8    HFUSE=0xc9  LFUSE=0xef
--------------- Zitat Ende ---------------

Beide Einstellungen führen dazu, daß mein Ponyprog (über ein 
Programmiergerät mit paralleler Schnittstelle) nicht mehr mit dem 
ATmega8 kommunizieren kann. Also habe ich als nächstes nur die SUT und 
CKSEL Bits verändert. Mit SUT(1:0) = 10 und CKSEL(3:0) = 0100 läuft der 
ATmega jetzt mit einem 12 MHz Quarz (alle anderen fuse bits sind auf 
Standardeinstellung). Mein ursprüngliches Problem konnte ich damit 
leider nicht lösen.

Aus diesem Grund hätte ich die Frage, ob das USB-Kommunikationsproblem 
an den Fusebits liegen kann und wenn ja, wie ich sie korrekt einstellen 
soll.

Oder - alternativ: Mit welcher einfachen Softwarelösung könnte ich 
überprüfen, ob die Hardware korrekt gebaut ist. (Die üblichen Messungen 
mit dem Multimeter sowie die Kontrolle, ob meine Hardware mit dem 
Schaltplan ident ist, habe ich bereits mehrfach durchgeführt.)

Vielen Dank im voraus für die Hilfe!
lg, Nino.

von Krapao (Gast)


Lesenswert?

Du hast IMHO das Henne-Ei-Problem!

Das Gerät kann erst erkannt werden, wenn es programmiert ist. Zum 
Programmieren brauchst du ein Gerät, dass erkannt wird...

Mit einem PC und echter RS232 oder echter Centronics Schnittstellen 
kannst du dir einen ganz einfachen AVR In System Programmer ohne µC 
aufbauen und damit den AVR auf deinem USB-Programmer programmieren

von Nino K.L. (Gast)


Lesenswert?

Hallo Krapao,

danke für die schnelle Antwort. Wahrscheinlich habe ich nicht genau 
genug formuliert ('tschuldige!)

Das Henne-Ei Problem habe ich nicht: Ich habe da noch einen alten PC mit 
einem alten Eigenbau-Programmierer mit paralleler Schnittstelle. Kann 
also programmieren. (allerdings keine Hochvoltprogrammierung)

Die Bits zu setzten ist also kein Problem - nur das "wissen wie" ;-)

lg, Nino.

von Krapao (Gast)


Lesenswert?

> Beide Einstellungen führen dazu, daß mein Ponyprog (über ein
> Programmiergerät mit paralleler Schnittstelle)

Doch kein Henne-Ei.

Sind die Treiber installiert?

Zeigt der USB Connection/Device Viewer vom M$ etwas exotisches beim 
anschliessen?
http://www.ftdichip.com/Support/Utilities.htm

von Krapao (Gast)


Lesenswert?

Nö, ich habe nicht genug gelesen.

Die Umrechnung von Hex-Fusewerten in verständlichen Text mache ich mit 
Engbedded AVR Fuse Calculator (http://fusecalc.engbedded.com/). 
Programmieren tue ich Fuses direkt mit den Hex-Werten mit AVRDUDE.

> JPG
> HFUSE=0xc9  LFUSE=0xef

Beide sehe ich für OK an.

> Mit SUT(1:0) = 10 und CKSEL(3:0) = 0100 läuft der ATmega
> jetzt mit einem 12 MHz Quarz

Nein. Interner 8 MHz RC. kannst du mit einem Blinkprogramm leicht 
überprüfen bzw, rupf den Quarz mal raus.

> HFUSE=0xc9  LFUSE=0xef
> nicht mehr mit dem ATmega8 kommunizieren kann.

Dann fehlt der externe Takt. Überprüfe den Aufbau um den Quarz. Wechsele 
auch mal den Quarz.

von Nino K.L. (Gast)


Angehängte Dateien:

Lesenswert?

> Sind die Treiber installiert?

Ähm - ich dachte, das funktioniert so: Das Windows erkennt etwas neues 
am USB Bus und fragt nach. Dann werden die Treiber entweder automatisch 
oder manuell installiert. (Beides geht bei mir nicht. Windows fragt 
erstens nicht nach und wenn ich versuche, bei dem "Unbekannten Gerät" 
etwas zu installieren, dann funktioniert das auch nicht)

Ich bitte um Info, falls ich da etwas falsch mache.

Den USB viewer habe ich runtergeladen. Anbei der screenshot.

Und dann - arghhhh - habe ich die bits falsch angegeben. Auch mit SUT = 
11 und CKSEL = 1111 (das wäre ein externer Quarz mit "high frequency") 
geht's auch nicht :-(
(Atmega8 läuft offensichtlich mit Quarz - wenn ich den Quarz rausnehme, 
geht nichts mehr)

...und trotzdem bin ich zuversichtlich, daß ich es noch hinkriege ;-)

lg, Nino.
PS: Engbedded benutze ich auch. Ist super!

von Nino K.L. (Gast)


Lesenswert?

Lieber Krapao,

bevor ich meinen Forenbeitrag geschrieben hatte, habe ich mindestens 
dreimal alles kontrolliert. Und weißt du was? Jetzt - bei der 
nochmaligen Kontrolle - habe ich tatsächlich (unter Zuhilfenahme eines 
Mikroskops) einen kleinen Lötzinnspritzer entdeckt, der zu meiner 
Miesere geführt hat.

Es tut mir leid, daß ich es nicht vorher gesehen habe. Das Problem ist 
jedenfalls jetzt gelöst.

Ich bedanke mich bei Dir und entschuldige mich für die Verursachung des 
Aufwandes!

Ich freue mich besonders über die Hilfsbereitschaft, die mir zuteil 
wurde!

lg,
Nino.

von Krapao (Gast)


Lesenswert?

Mach dir keinen Kopp, Fehler passieren. Toll finde ich deinen 
Abschlußbericht mit Dank. Das passiert selten hier.

von Stephan W. (stipo)


Lesenswert?

So ein Mikroskop ist eine feine sache :) Damit habe ich auch schon einen 
kurschluss entdeckt, den man mit dem bloßen Auge nicht gesehen hatte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.