mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Quarz vs Resonator


Autor: Annika (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi !

Ich habe eine Frage bezüglich der externen Taktquelle eines
atmega32
und zwar ist momentan alles noch mit standard bauteilen aufgebaut, soll 
aber eine SMD Version umgesetzt werden.
Kann ich da einen 8,0000-HC49U-S (8MHz Quarz)
gegen einen CSTCC 8,00 (8MHz SMD Resonator)
tauschen ?? Oder gibt das eventuell Probleme bei Kommunikations 
Anwendungen, also UART ???

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der Resonator tatsächlich die Angabe "8,00" bzw. "8.00" trägt, dann 
liegt die Abweichung von den 8 MHz unter 0,01 MHz, also unter 1/8 
Promill. Das reicht für asynchrone Datenübertragung dicke aus.

Autor: Nullpointer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Keramikresonatoren haben die Kondensatoren meist bereits eingebaut, 
die Quarze nicht. Es gibt uebrigens auch SMD Quarze, zb im SMU4 
gehaeuse, ich bevorzuge aber zur Zeit HC49 im 4mm hohen Gehaeuse fuer 20 
Euro @100 Stueck,  wohingegen die Keramikresonatoren um die 10 Euro @100 
liegen.

Autor: Rüdiger Knörig (sleipnir)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mittleren Baudraten (2400 baud) hat man eigentlich eine recht große 
Toleranz. Ich habe mal vor kurzem eine Software-UART auf einem Tiny15 
realisiert (wegen IR-Übertragung mit einem TSOP als Empfänger nur 1200 
baud). Diese versagte auch dann nicht als ich dem Tiny15 mit einer Lampe 
etwas einheizte (interner RC-Oszillator!)

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rüdiger Knörig wrote:
> Bei mittleren Baudraten (2400 baud) hat man eigentlich eine recht große
> Toleranz. Ich habe mal vor kurzem eine Software-UART auf einem Tiny15
> realisiert (wegen IR-Übertragung mit einem TSOP als Empfänger nur 1200
> baud). Diese versagte auch dann nicht als ich dem Tiny15 mit einer Lampe
> etwas einheizte (interner RC-Oszillator!)
Anmerkung:
Da alle Baudraten aus dem selben Takt durch herunterteilen erzeugt 
werden, ist die Baudrate an sich wurscht, wenn es um die Abweichung 
geht. Der Fehler ist relativ. Wenn z.B. zwei Baudraten sich bei einer 
bestimmten Taktfrequenz mit dem selben "Initialfehler" erzeugen lassen, 
dann bringt es nichts, bei Übertragungsproblemen durch einen ungenauen 
Oszillator die jeweils andere zu nehmen, weil die dieselbe Prozentuale 
Abweichung hat.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Johannes M. (johnny-m)

>Wenn der Resonator tatsächlich die Angabe "8,00" bzw. "8.00" trägt, dann
>liegt die Abweichung von den 8 MHz unter 0,01 MHz, also unter 1/8
>Promill. Das reicht für asynchrone Datenübertragung dicke aus.

Das glaube ich nicht. Resonatoren haben 0,5-1% Toleranz. Die 0,01 MHz 
von 8,00 MHz ist ausserdem nicht 1/8 Promill sondern 1/8 Prozent! 
Ausserdem sagt 8,00 nichts über die Toleranz aus, genausowenig wie 220 
Ohm Kohleschichtwiderstände auf 1 Ohm genau sind (die haben 10% und mehr 
Toleranz). Da kann mit einer höheren Baudrate schon Probleme geben, wenn 
der systematische Fehler schon zu gross ist. Systematischer Fehler duch 
die Rundung von UBRR und Toleranz des Resonators addieren sich und 
sollte <1% bleiben!
Wenn es nicht um einen Großserie geht wo jeder Cent zählt, würde ich den 
Quarz drin lassen.

MFG
Falk

P.S. Hier mal die Baudraten und Fehler eines 8 MHz Quarzes.

Baud      UBRR   Fehler [%]
75        6666   0,0
300       1666   0,0
1200      416    -0,1
2400      207    0,2
4800      103    0,2
9600      51     0,2
14400     34     -0,8
19200     25     0,2
28800     16     2,1
38400     12     0,2
57600     8      -3,5
76800     6      -7,0
115200    3      8,5

P.P.S. Die RC-Takter sterben wohl auch nie aus. :-(

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Systematischer Fehler duch
> die Rundung von UBRR und Toleranz des Resonators addieren sich und
> sollte <1% bleiben!
Wie schön wir schon wieder aneinander vorbeireden... Ich habe extra 
(sinngemäß) geschrieben "bei Baudraten mit gleichem "Initialfehler"". Im 
Initialfehler steckt der Rundungsfehler durch den Wert in UBRR drin. 
Nimm aus Deiner Tabelle z.B. 19200 Baud. Wenn es mit denen nicht klappt, 
bringt es überhaupt nichts, bei gleichem Basistakt 2400 Baud zu nehmen, 
die mit dem gleichen Initialfehler behaftet sind.

Und ja, ich habe mich um eine Null vertan. 1/8 Prozent (bzw. kleiner 
als 1/8 Prozent) ist aber noch dicke im grünen Bereich, vorausgesetzt 
eben, die Baudrate lässt sich mit einem ausreichend kleinen Fehler 
überhaupt erzeugen.

P.S.: Allerdings ist zu beachten, dass Resonatoren einen höheren TK 
haben als Quarze. Da hakts dann schon eher wegen der 
Temperaturabhängigkeit. Ein Resonator ist jedoch i.d.R. noch besser als 
der interne RC-Oszillator.

P.P.S.: Grad mal nachgesehen: Die üblichen Toleranzen bei Resonatoren 
liegen tatsächlich um 0,5 %...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Annika:

UART und Resonator CSTCC 8.00 funktioniert aus Erfahrung bestens und ist 
stabil genug. Laß´ Dir nichts einreden. Selbst bei 9Bit + Parity mußt Du 
Dir keine Sorgen machen.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Travel Rec. (travelrec)

>UART und Resonator CSTCC 8.00 funktioniert aus Erfahrung bestens und ist
>stabil genug. Laß´ Dir nichts einreden. Selbst bei 9Bit + Parity mußt Du

Erfahrung? Stabil genug?

Wieviele Boards hast du damit aufgebaut? Wie hast du die Stabilität 
gemessen?

>Dir keine Sorgen machen.

Bei welcher Baudrate? Wenn die Gegenstelle ein PC o.ä. ist, dann kann 
man sich bis zu 3% Fehler leisten, weil der PC garantiert mit einem 
Baudratenquarz praktisch fehlerfrei die Baudrate generiert bzw. 
dekodiert.

MFG
Falk

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir haben in der laufenden Serie aus Platzgründen von einem Quarz 
(HC49-Typ) auf eine wesentlich kleineren Resonator (SMD) gleicher 
Frequenz gewechselt. Solange der Fehler <2% ist (worse case Betrachtung 
über Freq.-Abweichung und Temp.-abhängigkeit) funktioniert es sicher. Es 
sollte aber auch mal ein Blick in das µC Datenblatt geworfen werden und 
dort geprüft werden, ob Resonatoren als Taktgeber erwähnt werden. Ggf. 
wird auch hier auf WICHTIGES hingewiesen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Erfahrung? Stabil genug?
>Wieviele Boards hast du damit aufgebaut? Wie hast du die Stabilität
>gemessen?

Mit wenigen Ausnahmen alle meine Controllerboards in meinem Umfeld (etwa 
30), außerdem 40 Module für Modelleisenbahnsteuerung. Dabei verwende ich 
teilweise eigene 1- / 2-Wire Interfaces mit bis zu 57600 Baud bei 9Bit + 
Parity. Die Gegenstellen sind entweder AVRs, echte Com-Ports oder 
Com-Port-Adapter. Keine Probleme bisher.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da alle Baudraten aus dem selben Takt durch herunterteilen erzeugt
> werden, ist die Baudrate an sich wurscht, wenn es um die Abweichung
> geht. Der Fehler ist relativ.

Bei sehr hohen Baudraten kommt noch die Charakteristik der 
Schnittstellenwandler hinzu. Wenn Laufzeit und Flanke dieser Biester bei 
L=>H und H=>L nicht identisch sind, addiert sich ein bitratenabhängiger 
Fehler. Die Spezifikation des MAX232 endet immerhin bereits bei 120Kbps 
- auch wenn man nicht selten mit dem doppelten davon arbeitet.

Bei der Wahl zwischen 2400 und 19200 ist das allerdings irrelevant.

Autor: Nullpointer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man moeglichst viel Baudraten hinreichend genau erzeugen will, 
sollte man sich vom 8MHz verabschieden und auf 7.3728MHz gehen. Der 8Mhz 
bringt die Baudraten ueber 9600 nicht mehr richtig.

Autor: Annika (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hui, da ist ja doch noch ne ganze Menge herbei gekommen, seit ich das 
letzte mal hier vorbeischaute...
Vielen Dank für die vielen ausführlichen Antworten, auch wenn ich nicht 
alle verstehe :)

Also gut ist schonmal, das ich beide fürs UART verwenden kann.
Jedoch habe ich grade gemerkt, das es ja auch einen 12MHz internal 
Oscillator im FT232RL gibt, mit dem ich dann doch auch über OSCO und 
OSCI meinen atmega mit Takt versorgen kann, oder ist dieser nicht genau 
genug, sollte doch, da er doch direkt für die Kummunikation gedacht ist, 
richtig??

Autor: Nullpointer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da musste mal im Datenblatt des FT232RL nachschauen, was der fuer eine 
Genauigkeit und Drift spezifiziert hat. Serielle Kommunikation benoetigt 
besser als 2%. Dann musst auch noch im Datenblatt des Preozessors 
nachschauen, ob du mit 12MHz auch deine Baurate hinreichend genau 
hinbekommst.

Autor: Funkamateur3 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Annika,
welche Anforderungen und Umgebungstemperaturen werden an den Quarz 
gestellt. Welche Min. und Maximum Temperturen werden den Quarz und in 
Zukunft Resonator beeinflussen. Ist der Quarz momentan in einem 
Quarzofen.  Wie sieht die Platine aus. Gibt es spezielle HF Bauteile 
bzw. Anforderungen. Welche Baudraten benutzt du. 307k2 oder höher. Was 
hängt an dem UART dran.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.