Hallo!
Das ist am wahrscheinlichsten, einfach bei 5 V unbelastet mit Oszilloskop prüfen.Zitat von vajk
MfG
Hallo
Ich habe folgendes Konstrukt: atmega128L, betrieben mit 3V3 über Regler aus 4.2V LiPo, ermöglicht via Software-UART an FTDI auf Konsole eine Textausgabe.
Die Fuses http://www.engbedded.com/fusecalc/ sind wie folgt gesetzt: BODEN füer Burnout 2.7V, SUT0, CKSEL3 = ext. Oszi 3MHz - 8MHz [Anm.: mit genau diese Einstellung werkelt eine andere Platine in sehr ähnlicher Systemfunktionalität wie erwartet korrekt].
Jetzt wirds merkwürdig:
ab dem Zeitpunkt, wo ich von internen Oszi (4MHz, CKSEL2) auf den externen "umfuse" wird die Frequenz (mit dem Scope ams Outpin des Qarzsoszi gemessen) von 3.686 MHz auf das genau doppelte = 7.3728 MHz verdoppelt. VERDOPPELT !
Ganz sicher? - JA !
Denn wenn ich jetzt diese Frequenz im Makefile für F_CPU eingebe und kommen Textdaten über eine Software-UART mir brav mit 9600 Baud raus..
.. wenn ich im Makefile die eigentlichen 3.6864 MHz einstelle - die auf dem Quarzoszi draufsteht - kommt auf der Software-UART die doppelte Baudrate raus.
Ganz sicher? - JA !
Was passiert hier - hat dafür jemand eine Erklärung?
Ist der Oszi wohl eine 5V type der keine 3V3 abkann ... oder hat der uC eine Macke ... die Platine gibts 2 mal, beide mit gleichem Dämon.
Das mit dem Oszi versuche ich heute am Tage rauszubekommen.
Meine Firmware läuft auf 3 anderen ähnlichen System einwandfrei, nur das neue Board will wie oben beschrieben, nicht so, wie es soll. Daß habe ich noch nie erlebt...
Wortlos,
Vajk
Ich kann mir keine Signatur leisten - bin selbständig!
Hallo!
Das ist am wahrscheinlichsten, einfach bei 5 V unbelastet mit Oszilloskop prüfen.Zitat von vajk
MfG
jetzt wirds für mich noch merkwürdiger
der Hammer von eben, telefoniere mit meinem Kollegen, der das Gerät der bisherigen Baureihe immer programmiert, und er sagte mir, er hat da ganz andere Fuses - Einstellungen.
Welche - diese: SUT0,1,CKSEL0..3 nicht gesetzt !
=> somit ext. Quarz, hohe Freq. - und NICHT QuarzOsci!
Bilder zeigen es:
korrekte Fuses = ext. Oszi, altes Gerät: DSC_5995 und 3.686 MHz
korrekte Fuses = ext. Oszi, neues Gerät: DSC_5996 und 7.374 MHz <- falsches Signal -> Freq.Verdoppelung
falsche Fuses = ext. Quarz, altes Gerät: DSC_5998 und 3.686 MHz
falsche Fuses = ext. Quarz, altes Gerät: DSC_5999 und 3.686 MHz
Also total falsche Fuses - aber super Signalform und die Frequenz stimmt natürlich auch ...
Wer kann dazu was sagen ?
Ich kann mir keine Signatur leisten - bin selbständig!
was für nen quarz oszi genau benutzt du denn ?
STATEK CXO3M OSCILLATOR, CXO3M10T mit 3.6864Mhz, 3V3-Typ
Ich kann mir keine Signatur leisten - bin selbständig!
Wenn man einen externen Oszillator und nicht nur einen externen Quarz hat, sollte man auch auf externen Takt einstellen, nicht auf einen Quarz oder RC Takt.
Da kann es wohl tatsächlich mal passieren das man einen Überschwinger bekommt und damit den doppelten Takt.
Hi,
lt. Datenblatt sollte deine Einstellung folgende sein
wobei wie immer eine "1" als Symbol und nicht als Zahl zu verstehen ist und für "nicht gesetzt" steht.Code:CKOPT == 1 CKSEL3..1 == 111 Bei "fast rising power" CKSEL0 == 1 SUT1..0 == 10
Ergo: Deine(Eure) Einstellung weicht nur in SUT1..0 ab und ist also auf "slow rising power" eingestellt.
Mit externem Takt stimmt die Konfiguration, was wundert Dich daran?
Gruss,
O.
Danke für eure Antworten.
Nochmal:
ich habe einen externen Oszillator und sollte somit die Fuses auch darauf einstellen.
Die fuses - Konfiguration für den atmega 128 habe ich von hier: http://www.engbedded.com/fusecalc/
(die menschlichere Logik ist hier angepaßt - Haken entspricht 0, kein Haken der 1).
Zum Setzen der Fuses verwende ich PonyProg.
Wenn ich das tue, bekomme ich die doppelte Frequenz.
Siehe:
Bild hier
Und fuses siehe:
Bild hier
Wenn ich eben nicht auf ext. Oszi sondern auf ext. Quarz fuse,
was ja nicht sein sollte, dann ist der Rechteck sauber und die Frequenz richtig.
Siehe:
Bild hier
und fuses siehe:
Bild hier
Ich finde das immer noch merkwürdig!
Ich kann mir keine Signatur leisten - bin selbständig!
ohke ohke .. ein Freund macht mich drauf aufmerksam:
"Ext. RC Osc." ist nicht ein externer Quarzoszi sondern eine R-C-Kombination die schwingt ...
... man muß ext. Clock wählen !!!
Es lebe die Fehlinterpretation von Englisch ins Deutsche ... *schäm*
Vielleicht hilft das ja jemandem .. und interessant, daß eben auch ext. Quarz funktioniert, XtalOut hängt ja in der Luft ....
Ich kann mir keine Signatur leisten - bin selbständig!
Lesezeichen