Forum: Mikrocontroller und Digitale Elektronik USBasp Mega8 CPU-Frequenz 16 statt 12 Mhz


von Sebastian Bergt (Gast)


Lesenswert?

Hallo,
normalerweise hat ja der USBasp einen 12 Mhz Quarz. Dummerweise hatte 
ich nur einen 16 Mhz Quarz da und dachte dass es kein Problem sei, den 
Quarz zu ändern. In der Firmware von ulrichradig.de habe ich F_CPU auf 
16000000L verändert, das Ganze kompiliert und übertragen (sowie fuses 
richtig eingestellt). Aber ich bekomme unter Windows nur ein 
nicht-funktionierendes USB-Gerät angezeigt.

Da ich noch einen zweiten USBasp aus einem Bausatz mit 12 Mhz Quarz habe 
und der richtig erkannt wird, kann ich auch davon ausgehen, dass die 
Software auf dem PC nicht das Problem ist.

Später fiel mir auf, dass es diese waitClock-Funktion gibt, die 
scheinbar mit einem Timer arbeitet. Funktioniert der Timer noch wie 
vorgesehen, wenn ich einen anderen Quarz benutze?

Hat jemand vllt eine bereits angepasste Firmware für den Mega8 zur Hand?

Lg Sebastian

PS: Ich hab auch schon eine ganze Weile danach gegoogelt, hab aber 
nichts passendes gefunden...

von Benedikt K. (benedikt)


Lesenswert?

Sebastian Bergt wrote:

> normalerweise hat ja der USBasp einen 12 Mhz Quarz. Dummerweise hatte
> ich nur einen 16 Mhz Quarz da und dachte dass es kein Problem sei, den
> Quarz zu ändern. In der Firmware von ulrichradig.de habe ich F_CPU auf
> 16000000L verändert, das Ganze kompiliert und übertragen (sowie fuses
> richtig eingestellt). Aber ich bekomme unter Windows nur ein
> nicht-funktionierendes USB-Gerät angezeigt.

USB benötigt 12MHz, wegen der Bitrate. Mir ist zumindest keine Software 
bekannt, die USB verwendet und nicht mit 12MHz (bzw. einem Vielfachen 
davon) läuft.

von Uwe B. (boerge) Benutzerseite


Lesenswert?

Benedikt K. wrote:
> USB benötigt 12MHz, wegen der Bitrate. Mir ist zumindest keine Software
> bekannt, die USB verwendet und nicht mit 12MHz (bzw. einem Vielfachen
> davon) läuft.
>
für die einfacheren USB-Implementierungen hast du mit den 12MHz recht...

Für die Implementierung von obdev (http://www.obdev.at/avrusb/) trifft 
dies aber nicht zu. Und die wird auch in der Firmware des USBasp benutzt 
(Version vom 23.10.2007).

In der Datei firmware/clock.h sollte die Anpassung des Defines F_CPU 
reichen...

Ich betreibe meinen USBasp zwar auch nur mit 12MHz, aber innerhalb eines 
anderen Projektes verwende ich obige Bibliothek mit 16Mhz ohne Probleme. 
Damit sollte es also beim USBasp funktionieren.

Uwe

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.