Hallo,
Mich würde mal kurz eure Erfahrung interessieren, wie empfindlich
Quarzoszillatoren sind (oder sein können).
Wir haben nämlich erhebliche Probleme mit einem WLAN-Chip. Der ist über
SDIO an einen Controller angeschlossen, auf dem Linux läuft.
Anfangs lief er gar nicht, sprich es wurden keine WLAN-Netze gefunden.
Auf Anraten des Herstellers haben wir dann die Ziehkondensatoren für den
Quarz etwas geändert, so in der Größenordnung von 4pF auf 8 oder 12pF.
Das brachte eine erheblich Verbesserung, und WLAN-Traffic war nun
möglich. Hätte ich nicht erwartet (allerdings bin ich auch mehr auf der
Softwareseite beheimatet).
Allerdings traten weiterhin verschiedene Fehler auf, Verbindungsabbrüche
und Timeouts und sowas. Der Chiphersteller meinte daraufhin, daß die
Kapazitäten für den Quarz noch nicht optimal wären und zu Störungen bei
der SDIO-Kommunikation führen würde.
Es kamen dann Vorschläge, statt den 8pF vielleicht 6pF zu verwenden,
zumindest so in der Größenordnung.
Ich habe da irgendwie erhebliche Zweifel, daß Quarzoszillatoren wirklich
so empfindlich sind, daß man da mit einzelnen Pikofarads herumspielen
muß. Wir sind schließlich nicht auf der Funkseite, sondern bei der ganz
banalen Taktversorgung. Der Quarz ist unmittelbar neben dem Chip
platziert, und die SDIO-Leitung hat maximal 4cm zum Prozessor. Vorher
hatten wir einen anderen WLAN-Chip drauf, der funktionierte mit den
(sozusagen falschen) 4pF und demselben Quarz ganz wunderbar - leider
wurde er abgekündigt.
Ich würde mal gerne eure Meinung hören, ob Quarzoszillatoren wirklich so
dermaßen empfindlich sind, oder ob eher der Hersteller seinen Oszillator
nicht im Griff hat?
Der oszillator ist teil des Chips. Sollen wir jetzt über alle möglichen
WLAN Chips der Welt philosophieren, oder magst du uns verraten, um wen
es hier geht?
Norbert schrieb:> Ich habe da irgendwie erhebliche Zweifel, daß Quarzoszillatoren wirklich> so empfindlich sind, daß man da mit einzelnen Pikofarads herumspielen> muß.
Zumindest bei den BLE Teilen hier muss der Quarz auch in so 1ms sicher
angelaufen sein, da spielen dann einzelen pF durchaus eine Rolle. Viel
Abweichung darf der auch nicht haben.
Norbert schrieb:> Vorher> hatten wir einen anderen WLAN-Chip drauf, der funktionierte mit den> (sozusagen falschen) 4pF und demselben Quarz ganz wunderbar - leider> wurde er abgekündigt.
Hier spielt auch der innere Aufbau des Oszillators eine Rolle. Eventuell
hat der "alte" Chip den Quarz nie abgeschaltet.
Ich hätte auch erstmal nachgeschaut welchen Quarz der neue Hersteller
des Chips empfielt. Könnte ja sein das ESR oder andere Parameter auch
nicht stimmen.
Blöd ist dass man bei Quarzen schlecht einen Oszi dran hängen kann, da
das den Quarz selbst beeinflusst.
Ein Frequenzzähler könnte helfen, wenn die Frequenz tatsächlich so
daneben liegt, dass die Kommunikation gestört ist. Oder schwingt der
Quarz nicht richtig an?
Der Oszillator ist, wenn ich es recht verstehe, im WLAN-Chip integiert,
man kenn also nur die beiden Kapazitäten ändern?
Die Bürdekondensatoren haben Einfluss auf die Frequenzgenauigkeit und
das Anschwingverhalten. Normalerweise schwingen die auch mit dem
doppelten oder halben optimalen Kapazitätswert noch problemlos, wenn
auch die nominale Frequenz nicht optimal erreicht wird. Dass er dann mal
nicht oder nur schlecht anschwingt, dürfte höchstens bei den
Grenztemperaturen zu beobachten sein.
Die Wahl des richtigen Wertes hängt auch von den Layoutgegegenheiten ab,
so dass ein typischer Datenblattwert nur eben ein Richtwert sein kann.
Wir haben in solchen Fällen den Quarzhersteller um eine
Schaltungsoptimierung gebeten, was auch problemlos zum Support gehörte.
Da konnte es schon mal vorkommen, dass der Musteraufbau mit 20pF
bestückt war und der Hersteller dann 8pF empfohlen hat. Trotzdem hat das
auch mit dem falschen Wert problemlos geschwungen.
Fazit: eine solche Empfindlichkeit darf nicht vorhanden sein.
Wenn dein Chip hier Probleme hat, dann ist wahrscheinlich dessen Design
schlecht - auch die Tatsache, dass der Vorgänger gut funktionierte,
deutet darauf hin.
Generell: diese Sorgen hast du los, wenn du einen fertigen
Quarzoszillator nimmst. Neue Sorgen liefert dann der Kaufmann im
Hintergrund ...
Ich werde den Verdacht nicht los, das hier jemand was designed hat, von
dem er wenig Ahnung hat. Der Quarz wird, um auf 2,4GHz zu kommen, per
PLL hochmultipliziert, was jede kleine Frequenzänderung der Taktfrequenz
auf der Endfrequenz vervielfacht.
Schaut euch andere WLAN Layouts an, die funktionieren - so wirds
gemacht. Es ist ja auch nicht so, das die Hersteller keine
Referenzdesigns anbieten.
Du meinst vermutlich einen Quarz, keinen Oszillator. Einen
Quarzoszillator zieht man eher nicht ;-)
Wichtig wäre:
Man sollte keinesfalls die Frequenz direkt am Quarz messen, weil der
Tastkopf hat auch eine Kapazität, die ist oft größer als die
Lastkapazitäten.
Am Besten eigent sich ein Referenztaktausgang am IC, oder auch ein
Timerausgang. Es muss halt ein bekannter Faktor dazwischen sein.
Messen tut man das mit einem sehr gutem Oszi (Statistikfunktion) oder
einem Frequenzzähler.
Man lötet dann solange verschiedene Kondensatoren drauf, bis es genau
stimmt. Systematisch natürlich...
Man sollte auch eine Kontrollmessung danach bei möglichst vielen
Platinen machen, um sicher zu sein, dass man das richtig gemacht hat.
Das Ziehen ist Layoutabhängig, daher muss das schon auf dem richtigen
Board geschehen. Die Kontrollmessung macht man am Besten (nochmal) mit
den ersten Boards aus der nächsten Fertigung.
PS:
Man muss dann aber schon den Hersteller des Quarzes festlegen. Nimmt der
Fertiger "irgendeinen mit 24MHz und 50ppm", kann man sich die Aktion
schenken. Die sind nicht alle gleich.
Matthias S. schrieb:> Der Quarz wird, um auf 2,4GHz zu kommen, per> PLL hochmultipliziert, was jede kleine Frequenzänderung der Taktfrequenz> auf der Endfrequenz vervielfacht.
Das funktioniert aber bereits bei jedem billigen NRF24 einwandfrei,
wenn auch die Reichweite bei Frequenzabweichungen ein wenig leiden
kann.
Entscheidend ist ja ob der Sender in die Nutzbandbreite des Emfängers
ausreichend genau hineintrifft. Dies dürfte bei WLAN-Anwendungen
durchaus der Fall sein da die erforderliche Bandbreite des Über-
tragungskanals (einige MHz) gross gegenüber der denkbaren Frequenz-
abweichung des Quarzes (plus Vervielfachung vielleicht einige hundert
KHz) ist.
Hier noch ein Vorschlag:
Man könnte am Oszillatoreingang noch eine Varicap Diode über einen
Trennungskondensator anschliessen nachdem man den Original Bürde C
entfernt hat. Dann kannst Du mit einem Trimpoti die Frequenz genau
einstellen und die Stelle finden bei der das WLAN optimal funktioniert.
Dann hätte man einen Anhaltspunkt welces C eingebaut werden sollte.
Sonst halt ein Trimmer C einbauen. Es gibt ja wunderschöne kleine SMD
Typen.
Eine Kapazitätsdiode mit einem 5-30pF Abstimmbereich wäre günstig hier.
Mir fällt jetzt gerade kein Typ ein. Vielleicht würde eine MV209
funktionieren.
http://www.onsemi.com/pub_link/Collateral/MMBV109LT1-D.PDF
Mfg,
Gerhard
Mitlesa schrieb:> Entscheidend ist ja ob der Sender in die Nutzbandbreite des Emfängers> ausreichend genau hineintrifft.
Naja, ein Kanal ist z.B. 20MHz. Das sind >8300ppm. Aber das ist kein
simples Modulationsverfahren.
Da wird es nicht reichen, nur den Kanal auf 50% genau zu treffen...
Üblicherweise liest man +-25ppm an. Das gilt in Summe, also alle Fehler
der PLL noch dazu.
Das hat zur Folge, dass man den Quarz normalerweise eben hinziehen muss,
um Fehler im Layout auszugleichen. Meine Quarze liegen eben öfter 50ppm
oder so daneben.
Das werden die Chinesen sicher getan haben, auch wenn sie vermutlich
keinen so genauen Quarz verwenden.
Ich würde das tun, das ist schließlich kein Hexenwerk. Wer ein Layout
für WLAN-Chips macht, sollte das nötige Equipment sowieso haben :-)
Wer sich die Arbeit sparen will, nimmt ein WLAN-Modul, z.B. von Murata.
Solche mit SDIO gibs wie Sand am Meer. Die haben auch schon die ganzen
FCC-Zulassungen, was eine Chiplösung selten hat.
Mir wude der FCC-Kram mit fast 100k angeboten, da kann man sich das
selbermachen schenken...
Ich habe ehrlich Zweifel, daß das Problem des TE, die Frequenz seines
Quarzoszillators ist. Vielleicht ist es ja wirklich ein Oszillator, der
im Start/Stop betrieben wird und der relevante Parameter ist die
Anschwingzeit.
Die Problembeschreibung ist auch sehr dürftig: "es wurden keine WLAN-
Netze gefunden" klingt wie ein Problem auf der Funkseite, dann wieder
"Verbindungsabbrüche und Timeouts", was eher nicht die Funkseite ist.
Ungeachtet dessen, ist es ganz sicher nicht die "Empfindlichkeit" irgend
eines Quarzoszillators, die hier Probleme macht. Daß man die Frequenz
eines Quarzes mit den Bürdekondensatoren ziehen kann, ist elektronisches
Trivialwissen. Und man nutzt es in der Regel, um die Frequenz nochgenauer einzustellen, als die Werkstoleranz des Quarzes hergibt.
Axel S. schrieb:> eines Quarzes mit den Bürdekondensatoren ziehen kann, ist elektronisches> Trivialwissen. Und man nutzt es in der Regel, um die Frequenz noch> genauer einzustellen, als die Werkstoleranz des Quarzes hergibt.
Das ist so nicht richtig.
Ein Beispiel aus der Praxis:
Quarz, 24MHz Seiko-Epson TSX-3225 mit 10ppm typisch. Datenblatt:
http://www5.epsondevice.com/en/products/mhz_range/tsx3225.html
Initial : Durchgängig auf 10 Boards so 55-65ppm zu wenig
Mit 5,3pF weniger hats fast exakt gestimmt.
Sowas in dem Bereich ist üblich.
Die Kapazitäten sind fast immer recht grob daneben, einfach weil man bei
der Auslegung weder die Kapazität der Pins des internen Oszillators
kennt, noch die des Layouts.
Bei Standardanwendungen wie Ethernet, UART oder USB sind <65ppm Fehler
natürlich egal. Aber wenn man die 10ppm herausholen will, kommt man um
Finetuning nicht herum.
Ein Standardbeispiel dafür wäre eine Echtzeituhr.
Hurra schrieb:> Axel S. schrieb:>> eines Quarzes mit den Bürdekondensatoren ziehen kann, ist elektronisches>> Trivialwissen. Und man nutzt es in der Regel, um die Frequenz noch>> genauer einzustellen, als die Werkstoleranz des Quarzes hergibt.>> Das ist so nicht richtig.>> Ein Beispiel aus der Praxis:> Quarz, 24MHz Seiko-Epson TSX-3225 mit 10ppm typisch. Datenblatt:> http://www5.epsondevice.com/en/products/mhz_range/tsx3225.html>> Initial : Durchgängig auf 10 Boards so 55-65ppm zu wenig> Mit 5,3pF weniger hats fast exakt gestimmt.
Und wo ist da jetzt der Widerspruch zu dem, was ich geschrieben habe?
Wenn man die Bürdekondensatoren verändert, dann kann man damit die
Frequenz des Quarzes ziehen. Und um die Frequenz einzustellen, braucht
man natürlich einen einstellbaren Kondensator (vulgo: Trimmer). Muß
ich solche Trivialitäten wirklich extra hinschreiben?
Mit einem fest eingebauten Kondensator zieht man die Frequenz natürlich
nur um einen festen Wert. Und mit einem Kondensator mit dem falschen
Wert auf eine falsche Frequenz. Überrascht?
> Die Kapazitäten sind fast immer recht grob daneben, einfach weil man bei> der Auslegung weder die Kapazität der Pins des internen Oszillators> kennt, noch die des Layouts.
Die Existenz parasitärer Elemente, in erster Linie parasitärer
Kapazitäten und Induktivitäten, ist ebenfalls elektronisches
Trivialwissen.
> wenn man die 10ppm herausholen will, kommt man um Finetuning> nicht herum. Ein Standardbeispiel dafür wäre eine Echtzeituhr.
Einmal darfst du raten, warum diese Uhren früher einen Trimmer neben dem
Quarz verbaut haben. Heutzutage mach man das eleganter, indem man den
Teilerfaktor der RTC per Software-Kalibrierung etwas verbiegt.
Hurra schrieb:> Bei Standardanwendungen wie Ethernet, UART oder USB sind <65ppm Fehler> natürlich egal.
Bei meinen Ethernet MACs und PHYs wird immer max. +-50ppm gefordert.
Und ein Quarz wird "gebaut" für eine bestimmte Lastkapazität. Nur bei
dieser garantiert der Hersteller die Daten wie z.B. die
Frequenzgenauigkeit. Wenn man einen Quarz nicht mit der vorgeschriebenen
Lastkapazität betreibt, dann ist er schon per Definition verstimmt. Es
hat gar keinen Sinn über pF zu diskutieren, wenn man nicht mal die vom
Quarz gewünschte (vorgeschriebene) Kapazität kennt. Klar spielen bei den
üblichen pF Werten die Pin- und Leitungskapazitäten schon eine Rolle und
verringern damit den Wert der üblicherweise zwei zugeschalteten C's.
Deren Wert wäre im Idealfall ja (ohne Pin- und Leitungskapazität)
doppelt so groß wie die vorgeschriebene Lastkapazität, weil ja in Serie
geschaltet (aus Sicht des Quarzes).
Man lässt sich also vom Hersteller/Lieferanten ein paar Quarze
vermessen, baut diese ein und vergleicht die Frequenz. Natürlich wegen
der Tastkopfkapazität nicht am Quarz, sondern auf einem Clock Ausgang.
So macht man noch das Feintuning der beiden C's an den Oszillatorpins zu
denen ja die Leitungs- und Pinkapazitäten parallel liegen.
Axel S. schrieb:> Und wo ist da jetzt der Widerspruch zu dem, was ich geschrieben habe?> Trivialwissen. Und man nutzt es in der Regel, um die Frequenz noch> genauer einzustellen, als die Werkstoleranz des Quarzes hergibt.
Werkstoleranz : 10ppm
Daneben war er : 63ppm
Daneben > Werkstoleranz. Also ist er von Haus aus ungenauer als die
Werkstoleranz.
Mehr an deinem Beitrag habe ich gar nicht in Zweifel gezogen. Sorry,
wenn das falsch rüberkam.
Dass das Trivialwissen ist, stimmt leider nicht. Ich kenne so einige
"Entwickler" die nie davon gehört haben, dass man da irgenwas messen
muss. Das Worte "Blödsinn" und "Übertrieben" sind hier in der Firma in
diesem Zusammenhang schon gefallen.
Heute kann man froh sein, wenn die Leute den Unterschied Quarz <>
Quarzoszillator kennen. Scroll nach oben ;-)
Jim M. schrieb:> Zumindest bei den BLE Teilen hier muss der Quarz auch in so 1ms sicher> angelaufen sein
Ich kenne Quarze so eher im 10ms Bereich zum Anschwingen. Die 32kHz
Uhrenqzuarze können sogar mehrere Sekunden benötigen.
Z.B. beim AVR wird als Resetzeit 65ms empfohlen. Als ich sie mal beim
AT90S2313 auf 4ms verkürzte, erfolgte kein Reset mehr.
> Wir sind schließlich nicht auf der Funkseite, sondern bei der ganz> banalen Taktversorgung.
Ja, das ist so banal, dass Chiphersteller einen grossen Teil beim Design
nur auf die Taktverteilung legen...
Der Takt ist heutzutage alles, um den muss man sich liebevoll kümmern.
Es geht da nicht nur um den statisch absoluten Fehler (da kann man auf
RF-Seite viel wegsynchronisieren) sondern auch um den Jitter. Und gerade
OFDM ist da ziemlich penibel. Bei DAB (ist auch OFDM, allerdings mit
deutlich engerem Trägerabstand als bei WLAN) reicht es schon, gegen den
Quarz zu schnippen und die Fehlerrate geht signifikant hoch. D.h. wenn
dein Quarz dursch schlechtes Layout oder labile Oszillationsbedingungen
Störsignale auffängt, produziert er damit eine heftige FM. Dagegen kommt
die Timingsynchronisation nicht mehr an...
Hurra schrieb:> Werkstoleranz : 10ppm> Daneben war er : 63ppm>> Daneben > Werkstoleranz.
...und für welche Bürdekapazität galt diese Toleranz?
> Dass das Trivialwissen ist, stimmt leider nicht.
Ich gewinne hier im Forum auch immer mehr die Erkenntnis,
das man für Trivialwissen anscheinend ein mehrjähriges
Studium braucht. Früher hat man das während der Lehre in
der Berufsschule gelernt.
Hallo,
Danke schon mal für die Antworten. Wie schon angedeutet bin ich nicht
gerade der versierte Elektronikentwickler, sondern eher der hardwarenahe
Softwareentwickler. Von daher hat mich vor allem die Einschätzung von
euch Experten interessiert, wie sensibel die Werte der Ziehkondensatoren
sind, da ich selber damit gar keine Erfahrung habe.
Der Unterschied zwischen Quarz und Oszillator ist mir schon klar, in
diesem Fall ist der Oszillator im Chip integriert und wird vom externen
Quarz gesteuert. Meine Frage war nun, wie sensibel diese Oszillatoren
üblicherweise auf die externe Beschaltung reagieren. Ob man da wirklich
pikofaradweise justieren muß, damit das ganze ohne Fehler läuft.
Anlaufen tut der Quarz auf jeden Fall, wir bekommen ja
WLAN-Datenübertragung in erheblichem Umfang zustande. Der Start ist also
nicht das Problem.
Die Fehler treten im Laufe des Betriebs auf und kommen aus dem
Zusammenspiel zwischen Chip-Firmware und dem (Linux-) Treiber zustande,
die Anbindung zwischen den beiden ist wie gesagt über SDIO. Da ich
keinen Zugriff auf die Firmware oder das Protokoll habe, was da über
SDIO läuft, bin ich da nicht tiefer eingestiegen. Der Chip-Hersteller
meint, die nicht optimalen Kondensatoren des Quarzes wären für eine
fehlerhafte SDIO-Kommunikation verantwortlich.
Ich habe an dieser Einschätzung irgendwie deutliche Zweifel. Ich frage
nochmal anders. Kann man sagen:
- Wenn der Oszillator erstmal läuft, dann sind die Ziehkondensatoren
schon irgendwie richtig und sollten keine Auswirkung auf die restliche
Funktion haben (speziell im WLAN oder SDIO-Umfeld)?
- Selbst wenn der Oszillator anläuft, kann durch falsche Kapazitätswahl
der Oszillator später wieder stoppen oder falsch laufen?
- Die Empfindlichkeit des Oszillators (also der Teil innerhalb des
Chips) hängt von dessen Design ab und kann so richtig grottig sein? Oder
sind das Standardschaltungen, die quasi überall identisch vorkommen?
Teilweise zeigt der Hersteller auch nicht besondere Kompetenz.
Beispielsweise frage ich nach "Ist der Enable-Pin high- oder low-aktiv?"
und bekomme als Antwort "Der Pin ist low-aktiv. Um den Chip zu enabeln,
muß er also auf High gesetzt werden."
Ich habe mal den Vorschlag von hier weitergetragen, anstelle dem Quarz
einen kompletten Oszillator dranzuhängen. Mal sehen, ob es dann besser
läuft.
Norbert schrieb:> Die Fehler treten im Laufe des Betriebs auf und kommen aus dem> Zusammenspiel zwischen Chip-Firmware und dem (Linux-) Treiber zustande,> die Anbindung zwischen den beiden ist wie gesagt über SDIO. Da ich> keinen Zugriff auf die Firmware oder das Protokoll habe,
Du hast von denen nur einen Closed-Source-Treiber bekommen? Nach meiner
Erfahrung kann Dir das bei der längerfristigen Pflege Deines Produkts
ganz schön in die Suppe spucken. Denn ein, z.B. für Sicherheitsupdates
etc. nötiges, Update auf einen neuen Kernel wird dann evtl. durch diesen
Treiber unmöglich gemacht.
Ich habe mich schon viele viele Stunden mit genau solchen Problemen
rumgeschlagen und kann daher nur empfehlen das zu vermeiden.
Gerade bei WLAN-ICs gibt es heute eigentlich genug Auswahl daß man auch
welche mit Open Source Treibern verwenden kann und sich damit diesen
ganzen Ärger vom Hals hält.
Und auch Dein jetztiges Problem könntest Du damit genauer untersuchen.
Vielleicht ist es ja gar nicht der Oszillator, sondern nur ein Bug im
Treiber. Es könnte z.B. sein, daß der davon ausgeht daß der Takt Deiner
CPU für eine bestimmte Sequenz synchron zu dem des WLAN-Moduls ist, was
aber eben nicht auf die Dauer garantiert ist.
> - Wenn der Oszillator erstmal läuft, dann sind die Ziehkondensatoren> schon irgendwie richtig und sollten keine Auswirkung auf die restliche> Funktion haben (speziell im WLAN oder SDIO-Umfeld)?
Nein. Der Takt könnte dauerhaft daneben liegen und damit nicht richtig
mit anderen WLAN-Teilnehmern kommunizieren. Der Takt wird ja von dem
WLAN-Modul höchstwahrscheinlich für den RF-Teil und das SDIO verwendet.
> - Selbst wenn der Oszillator anläuft, kann durch falsche Kapazitätswahl> der Oszillator später wieder stoppen oder falsch laufen?
Ja, wäre möglich.
Ein weiterer möglicher Fehler wäre zu hohes oder zu niedriges
Spannungsniveau am Quarz. Jeder Quarz hat ein Leistungslimit was er
verträgt und braucht eine gewisse Spannung um sauber zu laufen.
Lies Dir mal diese Application Note von ST durch:
http://www.st.com/resource/en/application_note/cd00221665.pdf
Die ist natürlich auf Controller von ST gemünzt, aber ich finde dort
werden die Hintergründe und Parameter ganz gut erklärt.
> Teilweise zeigt der Hersteller auch nicht besondere Kompetenz.> Beispielsweise frage ich nach "Ist der Enable-Pin high- oder low-aktiv?"> und bekomme als Antwort "Der Pin ist low-aktiv. Um den Chip zu enabeln,> muß er also auf High gesetzt werden."
Ein weiterer Grund nur einen WLAN-Adapter zu nehmen zu dem Du auch den
Source hast. Da kannst Du das selber fixen oder jemanden dafür
beauftragen. So bist Du auf Gedeih und Verderb einem Support dieser
Qualität ausgeliefert. Wenn irgendwas klemmt kann einen sowas ganz schön
in die Zwickmühle bringen.
Norbert schrieb:> Der Unterschied zwischen Quarz und Oszillator ist mir schon klar, in> diesem Fall ist der Oszillator im Chip integriert und wird vom externen> Quarz gesteuert. Meine Frage war nun, wie sensibel diese Oszillatoren> üblicherweise auf die externe Beschaltung reagieren. Ob man da wirklich> pikofaradweise justieren muß, damit das ganze ohne Fehler läuft.
Wischiwaschi. Was bedeutet "ohne Fehler läuft" konkret?
Mal ein einfaches Zahlenbeispiel. Ein 10MHz Quarz, der für 12pF
Lastkapazität gebaut ist und eine Werkstoleranz von +/-50ppm hat, wird
bei Verwendung von zwei 22pF Kondensatoren + je 2pF parasitären
Kapazitäten (Pins, Leiterbahnen, etc.) mit einer Frequenz zwischen
9999500Hz und 10000500Hz schwingen. Je weiterem pF mehr/weniger wird er
um ca. 10Hz langsamer/schneller sein. Das ist pure Physik. Das kriegst
du nicht wegdiskutiert und mit jeglicher Optimierung des Oszillators
auch nicht ausgebügelt.
Das ist aber auch nicht die Frage. Die Frage ist vielmehr: ist die
Funktion der Kommunikation zwischen Host und WLAN-Modul tatsächlich
derart sensibel bezüglich der exakten Oszillatorfrequenz? Und die
Antwort wird in der Regel sein: Nein, ist sie nicht. Und das ist auch
leicht begründbar. Wenn es durch Herstellungstoleranzen ohnehin schon
+/-500Hz Abweichung gibt, die auch bei knappst möglicher Auslegung
toleriert werden müssen, wieso sollten dann vielleicht 50Hz zusätzliche
Abweichung durch leicht fehldimensionierte Bürdekondensatoren das System
zum Kippen bringen? Noch dazu reproduzierbar und nicht nur in
Einzelfällen (wenn sich die Toleranzen gerade ungünstig addieren)?
> Anlaufen tut der Quarz auf jeden Fall, wir bekommen ja> WLAN-Datenübertragung in erheblichem Umfang zustande. Der Start ist also> nicht das Problem.
Dieses folgt nicht aus jenem. Start/Stop-Betrieb heißt, daß der
Oszillator (zum Strom sparen) still gelegt wird, wenn nichts zu tun ist.
Und daß er bei Bedarf innerhalb eines vorgegebenen Zeitfensters anlaufen
muß. Daß das manchmal (oder sogar oft) funktioniert, reicht nicht. Es
muß schon immer, oder zumindest allermeistens funktionieren.
Ist das so? Wissen wir nicht.
> Die Fehler treten im Laufe des Betriebs auf und kommen aus dem> Zusammenspiel zwischen Chip-Firmware und dem (Linux-) Treiber zustande,> die Anbindung zwischen den beiden ist wie gesagt über SDIO. Da ich> keinen Zugriff auf die Firmware oder das Protokoll habe, was da über> SDIO läuft, bin ich da nicht tiefer eingestiegen.
Mit anderen Worten: du hast keine Ahnung, was da schief läuft. Das ist
kein Vorwurf, nur eine Feststellung. Es bedeutet, aber auch, daß du
einfach nur im Nebel stocherst. Zeitverschwendung.
> Ich habe an dieser Einschätzung irgendwie deutliche Zweifel. Ich frage> nochmal anders. Kann man sagen:>> - Wenn der Oszillator erstmal läuft, dann sind die Ziehkondensatoren> schon irgendwie richtig und sollten keine Auswirkung auf die restliche> Funktion haben (speziell im WLAN oder SDIO-Umfeld)?
Jein. So ein Quarzoszillator ist schon einigermaßen elastisch. Er wird
auch mit fehldimiensionieren Bürdekondensatoren schon anlaufen. Er wird
dann vielleicht 10ppm oder 50ppm daneben liegen. Oder er wird statt 10ms
zum Anlaufen 100ms brauchen. Aber: ob das relevant für die Funktion ist,
hängt von Details ab, die wir nicht kennen.
> - Selbst wenn der Oszillator anläuft, kann durch falsche Kapazitätswahl> der Oszillator später wieder stoppen oder falsch laufen?
Nicht stoppen. Und falsch läuft er im Fall des Falles sofort.
> - Die Empfindlichkeit des Oszillators (also der Teil innerhalb des> Chips) hängt von dessen Design ab und kann so richtig grottig sein?
Die Empfindlichkeit als Frequenzabweichung vs. Kapazitätsabweichung wird
im wesentlichen vom Quarz bestimmt.
> Teilweise zeigt der Hersteller auch nicht besondere Kompetenz.> Beispielsweise frage ich nach "Ist der Enable-Pin high- oder low-aktiv?"> und bekomme als Antwort "Der Pin ist low-aktiv. Um den Chip zu enabeln,> muß er also auf High gesetzt werden."
Womöglich nur ein Problem der Sprache an sich. Aber ja, das ist ein
schlechtes Zeichen.
Norbert schrieb:> - Wenn der Oszillator erstmal läuft, dann sind die Ziehkondensatoren> schon irgendwie richtig und sollten keine Auswirkung auf die restliche> Funktion haben (speziell im WLAN oder SDIO-Umfeld)?
Nein.
> - Selbst wenn der Oszillator anläuft, kann durch falsche Kapazitätswahl> der Oszillator später wieder stoppen oder falsch laufen?
Ja.
> - Die Empfindlichkeit des Oszillators (also der Teil innerhalb des> Chips) hängt von dessen Design ab und kann so richtig grottig sein? Oder> sind das Standardschaltungen, die quasi überall identisch vorkommen?
Ja.
Wenn es sich um ein kommerzielles Produkt handelt, dann bitte arbeite
mal in die Grundlagen zu Quarz-Oszillatorschaltugen durch (z.B. die
Grundlagen in den alten Jauch Kataloge sollten für dich reichen), oder
lass einen kompetenten HW-Entwickler ran.
Ansonsten poste mal das Datenblatt des Quarzes und den relevanten
Abschnitt der WLAN Modul Beschreibung bzw. des Chips.
Harald W. schrieb:> Hurra schrieb:>>> Werkstoleranz : 10ppm>> Daneben war er : 63ppm>>>> Daneben > Werkstoleranz.>> ...und für welche Bürdekapazität galt diese Toleranz?
4p7 (ok) und 10p (daneben)
Harald W. schrieb:> Ich gewinne hier im Forum auch immer mehr die Erkenntnis,> das man für Trivialwissen anscheinend ein mehrjähriges> Studium braucht. Früher hat man das während der Lehre in> der Berufsschule gelernt.
So sind die Erfahrungen verschieden.
Ich wurde neulich erst angepflaumt, weil ich von einem Kollegen wissen
wollte, nach welchen Kriterien er seinen Quarz ausgesucht hat. Für einen
STM32. Der glaubt mir bis heute nicht, dass man da etwas berechnen /
auslegen muss.
Hurra schrieb:> Der glaubt mir bis heute nicht, dass man da etwas berechnen / auslegen> muss.
Müssen tut man das nicht, man kann aber nach einer durch Standards
festgelegten Auswahl seine Auslegung überprüfen..