Abend. Ich benutzte EFM32 Zero Gecko Alles funktionierte wunderbar und ich wollte mal den LXO an den µC anschließen. Und zwar diesen hier: http://www.mouser.com/ds/2/3/abs25-35653.pdf Die Kondensatorenwerte habe ich laut der Seite berechnet und bin auf ca.20 pF gekommen https://www.mikrocontroller.net/articles/Quarze_und_AVR Nach dem ich den Low Freq Oszillator von internen LRCO auf LXO umgestellt habe, hat mein µC aufgehört zu funktionieren. Er wird nicht mal vom Programmer erkannt. LXO ausgelötet. Trotzdem nichts. Neuer µC rein, mit LRC geht alles wieder. XO wieder rein, alles funktioniert. LowFeq auf LXO umgestellt, gleiches Ergebnis=> µC reagiert nicht mehr und wird nicht erkannt. Tja, jetzt habe ich XO entfernt und arbeite weiter mit dem dritten µC. Woran kann es liegen? Selbst wenn ich bei dem LXO was falsch gemacht habe, sollte ich den µC trotzdem umprogrammieren können. PS die Kondensatoren sind noname aus Ebay, zeigen aber den wert von 21pF.
Ist ein Quarz, kein Quarzoszillator. Also falsche Fuses. Damit wartet der AVR auf einen Externen Takt, den er nie bekommt, weil der Quarz nicht anschwingt. Also einen externen Takt anlegen und dei Fuses richtig (external Cystal) setzen
das ist kein AVR. Soweit ich verstehe, detektiert ARM M0 falls mit dem LXO irgendwas nicht stimmt und schaltet automatisch auf LFRC oder HFRC
Böser K. schrieb: > Ich benutzte EFM32 Zero Gecko > Alles funktionierte wunderbar und ich wollte mal den LXO an den µC > anschließen. Dieser Satz ergibt keinen Sinn. LXO steht für _l_ow-frequency crystal (_x_tal) _o_scillator. Und der befindet sich bei einem Cortex-M0 im µC. Extern anzuschließen sind lediglich der Quarz und die beiden Bürde-Kondensatoren. > Und zwar diesen hier: > http://www.mouser.com/ds/2/3/abs25-35653.pdf Ein Quarz. Und wie hast du den angeschlossen? > Die Kondensatorenwerte habe ich laut der Seite berechnet und bin auf > ca.20 pF gekommen > https://www.mikrocontroller.net/articles/Quarze_und_AVR Warum schaust du auf eine Seite für den AVR, wenn du doch einen Quarz an einen Cortex-M0 anschließen willst? Hat der "EFM32 Zero Gecko" kein Datenblatt oder warst du nur zu faul, das zu lesen? > Nach dem ich den Low Freq Oszillator von internen LRCO auf LXO > umgestellt habe, hat mein µC aufgehört zu funktionieren. Er wird nicht > mal vom Programmer erkannt. Bahnhof. Alle mir bekannten Cortex-M0 laufen mit dem HSI Takt los und müssen dann von Software auf andere Taktquellen umgeschaltet werden. Man kann denen gar nicht den Takt wegkonfigurieren. Spätestens nach einem Reset laufen sie wieder mit dem Standardtakt. Überdies kann man auch erst dann auf eine andere Taktquelle umschalten, wenn die als funktionierend erkannt wurde. > Woran kann es liegen? Selbst wenn ich bei dem LXO was falsch gemacht > habe, sollte ich den µC trotzdem umprogrammieren können. Erzähl doch einfach mal, was genau du gemacht hast. Ich kenne deinen µC nicht. Und ich lese jetzt sicher nicht das Datenblatt für dich.
---Extern anzuschließen sind lediglich der Quarz und die beiden Bürde-Kondensatoren. Richtig. Ich habe den Quarz und die Kondensatoren gelötet. ANbei das Bild, wie das ganze angeschlossen ist. Pin 11 und 12 sind jeweils für LFXTAL gedacht ----Warum schaust du auf eine Seite für den AVR Hier steht die gleiche Formel wie für AVR: https://www.silabs.com/Support%20Documents/TechnicalDocs/AN0016.pdf Ja, auch wenn LXO nich geht, soll der µC nach dem Reset wieder von Programmer erkannt werden. -----Erzähl doch einfach mal, was genau du gemacht hast Ich habe den Quarz und Kondensatoren auf die Platine gelötet und den µC gesagt, er soll anstatt von LRCO den LXO benutzen, das wars.
Die App-Note zu den Oscillator Design Considerations http://www.silabs.com/Support%20Documents/TechnicalDocs/AN0016.pdf und zur CMU hast du gelesen? http://www.silabs.com/Support%20Documents/TechnicalDocs/AN0004.pdf
Böser K. schrieb: >> Extern anzuschließen sind lediglich der Quarz und die beiden >> Bürde-Kondensatoren. > > Richtig. Ich habe den Quarz und die Kondensatoren gelötet. Darf man fragen warum du 1. die Pads des Quarzes in deinem Layout anders numerierst als im Datenblatt? 2. die beiden intern verbundenen (aber funktionslosen) Pads des Quarzes überhaupt anschließt? Und dann auch noch an einen "heißen" Anschluß und nicht etwa an GND? 3. dich nicht an die empfohlenen Regeln zur GND-Führung hältst? 4. den Quarz nicht einfach um 180° drehst um die Leiterführung zu vereinfachen und das GND-Problem zu entschärfen? > Ja, auch wenn LXO nich geht, soll der µC nach dem Reset wieder von > Programmer erkannt werden. > >> Erzähl doch einfach mal, was genau du gemacht hast > Ich habe den Quarz und Kondensatoren auf die Platine gelötet und den > µC gesagt, er soll anstatt von LRCO den LXO benutzen, das wars. Du "hast dem µC gesagt"? Wie denn? Nochmal: Axel S. schrieb: > Alle mir bekannten Cortex-M0 laufen mit dem HSI Takt los und > müssen dann von Software auf andere Taktquellen umgeschaltet werden. Wenn du also in deinem Programm die Taktquelle umschaltest, dann muß das ja bis zum Umschalten an sich erstmal laufen. Und du sagst jetzt, der µC stellt sich ab dem Augenblick tot, an dem du den Takt umschaltest? Wie hast du das festgestellt? Was ist nochmal genau der Unterschied zwischen einer funktionierenden und nichtfunktionierenden Konfiguration? Falls das noch nicht deutlich genug war: ich zweifle deine Diagnose an, daß das Umschalten des Taktes das Problem darstellt. Und wie erklärsst du, daß dein Cortex-M0 sich im Gegensatz zu allen anderen Vertretern seiner Art nach dem Reset nicht wieder die Standard-Taktquelle schnappt?
> Und wie erklärsst du, daß dein Cortex-M0 sich im Gegensatz zu allen > anderen Vertretern seiner Art nach dem Reset nicht wieder die > Standard-Taktquelle schnappt? Sowas habe ich mit dem LPC1115 (auch M0) auch schon geschafft. Wollte mit der PLL spielen, zuviel gespielt, danach nicht mehr erreichbar. Es gibt da aber einen Pin (PIO0_1), wenn man den vor dem Powerup/Reset auf GND zieht, springt der Bootloader nicht ins Flash. Damit war die CPU wieder über den Debugger erreichbar. Gibts sowas ähnliches beim EFM32 auch?
Georg A. schrieb: >> Und wie erklärsst du, daß dein Cortex-M0 sich im Gegensatz zu allen >> anderen Vertretern seiner Art nach dem Reset nicht wieder die >> Standard-Taktquelle schnappt? > > Sowas habe ich mit dem LPC1115 (auch M0) auch schon geschafft. Wollte > mit der PLL spielen, zuviel gespielt, danach nicht mehr erreichbar. Es > gibt da aber einen Pin (PIO0_1), wenn man den vor dem Powerup/Reset auf > GND zieht, springt der Bootloader nicht ins Flash. Damit war die CPU > wieder über den Debugger erreichbar. Das ist aber eine ganz andere Problembeschreibung als die der TE hier abgegeben hat. Wenn dein Programm irgendeine kaputte Taktkonfiguration einstellt, dann wird der µC ntürlich immer dann stehen bleiben, wenn er das Programm ausführt. Aber: mit angeschlossenem Debug-Adapter wird das Programm im Flash nach einem Reset ja nicht ausgeführt. Und klar, wenn der µC einen Bootloader enthält und man eine Möglichkeit hat ihn zum Ausführen desselben zu bewegen, dann auch nicht.
Böser K. schrieb: ..... > ANbei das Bild, wie das ganze angeschlossen ist. > Pin 11 und 12 sind jeweils für LFXTAL gedacht .. auf jeden Fall stehn mir die Haare bei dem Anblick vom Layout ;)
Böser K. schrieb: > ANbei das Bild, wie das ganze angeschlossen ist. > Pin 11 und 12 sind jeweils für LFXTAL gedacht Der Quarz-Footprint weicht aber stark vom Datenblatt ab. Und nach Datenblatt sind Pin 2 und 3 verbunden.
> Aber: mit angeschlossenem Debug-Adapter wird > das Programm im Flash nach einem Reset ja nicht ausgeführt. Genau das war bei mir auch nicht mehr zu schaffen. Ohne den PIO0_1 kam der Debugger nicht mehr auf die CPU (SWD-IF halt das Ding vom LPC1115-Evalboard). Schon die CPU-ID-Erkennung ging da nicht mehr. Und die Beschreibung des TEs klingt da jetzt nicht soviel anders...
Böser K. schrieb: > LowFeq auf LXO umgestellt Wie? Source Code, bitte. Böser K. schrieb: > µC reagiert nicht mehr und wird nicht erkannt. Du hast einen Zero Gecko. Dessen STK kann den "Unlock"en. Daszu braucht man eventuell den alten EACommander, im neuen Silabs Studio gibts nur einen Würgaround: http://community.silabs.com/t5/32-bit-MCU/Problem-unlocking-the-MCU/m-p/158209#M9794 Der Post spricht vom GG STK, Du brauchst hier aber IIRC das Zero Gecko STK da bei dessen Unlocking etwas anders ist.
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.