Hallo, ich mache gerade erste Ausflüge in Richtung STM32 und möchte gerne einen STM32F103C8T6 in einem Projekt verwenden. Natürlich kommt man irgendwann auch zum Thema Oszillator und nachdem ich nun diverse (Demo) Board-Schematics, Datasheets und Application Notes durchgelesen habe, bin ich etwas verwirrt - beim AVR war das gefühlt irgendwie klarer. Ich möchte gerne einen Crystal von YXC (Datasheet im Anhang) verwenden. Ich weiß, China, aber beim AVR hab ich bisher mit denen gute Erfahrungen gemacht (aber keine Sorge, ich bin nicht beratungsresistent :-D). Der Crystal hat eine Frequenz von 8Mhz und eine Load Capacity von 20pf (ich habe zwar irgendwo gelesen, dass man sich an den Bereich 7pf für den STM32 orientieren soll, finde aber in dem Datasheet keinen Hinweis darauf). Im Application Note AN2867 wird die Berechnung der nötigen Kondensatoren ja sehr detailliert erklärt. Ich habe die Werte mit der folgenden Seite berechnet, die sich an der Application Note orientiert: https://helios.wh2.tu-dresden.de/~benni_koch/stmcalculator/ Ich bin nun zu den Werten der Schaltung im Anhang (crystal.png) gekommen und würde mich sehr über Feedback und Erfahrungsberichte freuen. Das ganze ist für mich ein Übungsprojekt, dass ich zum lernen benutze, Erklärungen nehme ich deshalb gerne an. :-) Neben dem Feedback zu den errechneten Werten habe ich noch ein paar weitere Fragen: 1) Manche STM32 Boards haben den Widerstand R3 (in meiner Schaltung) drin, manche nicht. Manche mit 1M Ohm, manche mit 10M Ohm. Im Datasheet und Application Note finde ich nicht wirklich etwas dazu, was hat es damit auf sich und wie errechne ich den Wert? Handelt es sich dabei um den Feedback Widerstand? Der sollte ja bereits im STM32 verbaut sein, trotzdem sehe ich ihn in manchen Schematics... 2) Manche STM32 Boards haben den RExt (siehe Anhang crystal_datasheet.png) verbaut, manche nicht. Warum? Herzlichen Dank für jegliche Infos. :-) Mit freundlichen Grüßen, Ben
Benjamin K. schrieb: > ich mache gerade erste Ausflüge in Richtung STM32 und möchte gerne einen > STM32F103C8T6 in einem Projekt verwenden. Natürlich kommt man irgendwann > auch zum Thema Oszillator und nachdem ich nun diverse (Demo) > Board-Schematics, Datasheets und Application Notes durchgelesen habe, > bin ich etwas verwirrt - beim AVR war das gefühlt irgendwie klarer. Mach es dir doch nicht so kompliziert! Also, dein erstes Schaltbild ist schon völlig OK. Allerdings sind 30 pF ungewöhnlich, da außerhalb der üblichen E-Reihe. Nimm also irgend etwas im Bereich 27 .. 39 pF und fertig. Den Widerstand quer über den Quarz kannst du getrost mit auf der LP vorsehen, er ist aber bei dem von dir angezielten µC nicht wirklich nötig. Es gibt aber Controller, wo so ein Widerstand erforderlich ist, z.B. bei (zumindest einigen) Kinetis von Freescale. Also gewöhne dir an, einen vorzusehen, man braucht ihn ja nicht zu bestücken, wenn er überflüssig ist. Du willst ja wohl hoffentlich nicht nur bei STM32 bleiben, sondern deinen Horizont etwas weiter haben. W.S.
Danke! Das mit der E-Reihe macht Sinn und hab ich gar nicht so recht auf dem Schirm gehabt. :-)
Benjamin K. schrieb: > 2) Manche STM32 Boards haben den RExt (siehe Anhang > crystal_datasheet.png) verbaut, manche nicht. Warum? Weil die Entwickler es sich einfach machen wollten und "das ging schon immer ohne"... Sinnvoll ist er - um die Verlustleistung des Quarz zu begrenzen und ihn so nicht zu überlasten. Vor allem bei kleinen Quarzbauformen wichtig. - um die Anschwingreserve testen zu können: bei der Qualifizierung des Designs Stück für Stück immer höhere Widerstandswerte einlöten und testen ab wann er nicht mehr sauber anschwingt (mit verschiedenen Temperaturen testen). In der Praxis dann genug Abstand davon halten. - um den Strom in den Quarz und damit Verlustleistung messen zu können Mit 620 Ohm wie in Deinem Schaltplan könnte der ein bischen hoch sein. Ich nehme meist 100 Ohm.
W.S. schrieb: > Mach es dir doch nicht so kompliziert! Bei einem STM ist das zwar richtig. Dennoch macht es schon Sinn, sich mal mit der Theorie auseinanderzusetzen. Man kann durch die Kondensatoren die Frequenz und Schwingungsgüte doch ganz schön beeinflussen. Wenn man bspw. eine PLL für RF Applikationen hat, empfiehlt es sich da etwas darauf zu achten, da sich der Fehler sonst durch die Frequenzvervielfachung ganz schön vergrößert. Generell gilt: Datenblatt des Chips (hier STM) lesen. Benjamin K. schrieb: > Manche STM32 Boards haben den Widerstand R3 (in meiner Schaltung) > drin, manche nicht. Du kannst dir ein Quarz elektrisch wie eine RLC-Serienschaltung vorstellen. Der Widerstand R3 ist dafür da, dass der Oszillator sicher anschwingt. Der Widerstand sollte recht groß sein, damit er, da er parallel zum Quarz sitzt, dessen Schwingungsgüte nicht allzu sehr abdämpft. Benjamin K. schrieb: > 2) Manche STM32 Boards haben den RExt (siehe Anhang > crystal_datasheet.png) verbaut, manche nicht. Warum? Der Serienwiderstand zwischen dem Ausgang des aktiven Teils in Richtung Quarz ist gerade bei Digitalen Komponenten häufig weggelassen. Dieser sorgt ggf. für eine schwächere Ankopplung des Quarzes => schlechtere ankopplung an den Kreis führt zu höherer Schwingungsgüte. Andere Gründe für den Widerstand können auch von IC Seite her angebracht sein => Datenblatt lesen. Ebenso dies: Gerd E. schrieb: > Sinnvoll ist er > - um die Verlustleistung des Quarz zu begrenzen und ihn so nicht zu > überlasten. Vor allem bei kleinen Quarzbauformen wichtig. > - um die Anschwingreserve testen zu können: bei der Qualifizierung des > Designs Stück für Stück immer höhere Widerstandswerte einlöten und > testen ab wann er nicht mehr sauber anschwingt (mit verschiedenen > Temperaturen testen). In der Praxis dann genug Abstand davon halten. > - um den Strom in den Quarz und damit Verlustleistung messen zu können Die externen Kondensatoren gegen Masse sind gemäß der Datenblätter des IC und des Quarzes zu bestimmen. Im Datenblatt des Quarzes steht eine Lastkapazität, die der Quarz idealerweise erwartet. Achtung! Aus Sicht des Quarzes sind beide Kapazitäten in Reihe und nicht wie häufig angenommen parallel. Deshalb:
In der Regel sind beide Kapazitäten gleich groß:
Typischerweise liegen die Werte im unteren 2-stelligen pF Bereich. In diesem Bereich ist dann auch die Kapazität der Leiterbahnen und des ICs relevant und sollte in die Berechnung mit einfließen. Also auch hier wieder: Datenblatt lesen. Sehr häufig wird auch von den Chipherstellern, gerade im digitalen Consumerbereich das Ganze recht schlecht dokumentiert, da schlichtweg nicht notwendig. Eine Angabe zur Pin-Kapazität erfordert auf Chip-Herstellerseite in der Regel mindestens eine Charakterisierung dieser und bedeutet Aufwand. Deshalb wird meist rein über die zu erwartenden Range + ein paar Sigma eine Empfehlung ausgesprochen, was eine genaue Berechnung ggf. sinnlos macht. Selbst wenn die Größen charakterisiert wurden, bleiben es meist eh bessere Schätzeisen. Das sieht man am temperatursensor des STMs. Dieser hat eine relativ große Streuung. Das Datenblatt sagt dazu: guaranteed by characterization. Konkret beduetet das dann: Irgendwer hat bei ST 10 Chips aus der Grabbelkiste genommen und die mal in der Temperaturkammer hoch und runter gefahren. Zusammen mit den Simualtion aus der Asic-Entwicklung wird dann eine Grenze aus Wert +- n*Standardabweichung gemacht. Konkret kann man sich da eigentlich nur auf kalbibrierte Größen verlassen, die entweder im Wafer-Level_Test gemessen wurden, oder besser, am Ende im Finaltest. Edit: Zuletzt noch ein Tipp aus der Hobby-Praxis: W.S. hat da schon recht. Machs irgendwie. Quarz ran + 22 pF. Wird schon. Footprint für Parallel- / Serienwiderstand vorsehen. Die Kerkos, die man im pF Bereich so kauft streuen sowieso wie Sau. Ob man da 27 pF oder 22 pF kauft, ist quasi egal. Wenn ich mich an die Beschaltung im Datenblatt gehalten habe, ist bei mir bis jetzt jeder Quarz angeschwungen.
Danke für die Antworten, hat mir sehr geholfen etwas mehr Sicherheit zu bekommen. :-) Ja, einfach machen ist richtig, aber ich interessiere mich wirklich für die Materie und möchte nicht einfach nur irgendwas zusammenklöppeln. ;-) Herzlichen Dank an alle! Mit freundlichen Grüßen, Ben
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.