Hi,
ich möchte mit einem ATMEGA32 sowohl mit einem Handy seriell
kommunizieren als auch einen möglichst genauen Sekunden-Takt generieren.
Was ist sinnvoller: Einen Quarz mit z.B. 10,2400 Mhz zu verwenden, der
ohne Verrenkungen mit dem Prescaler eine genaue Sekundenbasis erzeugen
kann, oder doch lieber einen 11,0592 MHz verwenden, der die gängigen
Baudraten erzeugen kann?
Gruß,
Peter
> Was ist sinnvoller: Einen Quarz mit z.B. 10,2400 Mhz zu verwenden, der> ohne Verrenkungen mit dem Prescaler eine genaue Sekundenbasis erzeugen> kann, oder doch lieber einen 11,0592 MHz verwenden, der die gängigen> Baudraten erzeugen kann?
Nimm nen Baudratenquarz, das spart em ehesten Komplikationen auf der
Seriellen. Die 'Verrenkungen' brauchst Du eh sofern Du eine genaue(tm)
Zeit haben möchtest [1]. Und falls Du keine genaue(tm) Zeit brauchst,
dann kommst auch mit dem Baudratenquarz (ohne Verrenkungen) genau
genug(tm) hin :-)
[1]
http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC
Welche Baudrate würde dein Handy denn akzeptieren und wie sieht in
diesem Fall der Baudratenfehler bei dem Genaue-Uhr-Quarz aus? Vielleicht
lassen sich ja beide Anforderungen mit dem gleichen Quarz erschlagen...
Ich vermute mal das du einen Frequenzzähler, oder Frequenzsynthesizer
bauen willst.
Wenn dem so ist, würde ich 2 getrennte Quarze nehmen. Den 11,0592MHz um
den
Mikroprozessor zu takten und damit auf die genaue Baudrate zu kommen,
und einen 10 MHz Quarz für die eigentliche Zeitbasis des Zählers zu
nehmen. Den Zähler würde ich gegebenfalls hartwäremäßig aufbauen und das
Ergebnis dem Mikroprozessor zur Weiterverarbeitung übermitteln. Das
dürfte vermutlich genauer sein als den Mikroprozessor zum Zählen zu
bemühen.
10MHz ist eine in der Messtechnik übliche Referenzfrequenz. Je nach
Anforderung an die Stabilität , Genauigkeit und Auflösung des Zählers
kann man dann auch gegebenfalls einen Quarzofen, den es in verschiedene
Stabilitätsklassen gibt, oder gar einen Rubidiumfrequenznormal als
Zeitbasisfrequenz nehmen.
Hi
>Wenn dem so ist, würde ich 2 getrennte Quarze nehmen. Den 11,0592MHz um>den Mikroprozessor zu takten und damit auf die genaue Baudrate zu kommen,>und einen 10 MHz Quarz für die eigentliche Zeitbasis des Zählers zu>nehmen.
Mit einem 10MHz Takt sind Baudraten <=76800 Baud mit einem akzeptablen
Fehler erreichbar. Ein zusätzlicher Baudratenquarz ist unnötig.
MfG Spess
Ralph Berres schrieb:> 10MHz ist eine in der Messtechnik übliche Referenzfrequenz.
Das ist doch nur ein Relikt aus vergangenen TTL-Gräber Zeiten.
Heutzutage nimmt man irgendwas und läßt den MC das kleine bischen
Umrechnen machen.
Peter
Peter Dannegger
Ich weis ja nicht woher du diese Kenntnis hast.
Das muss du mir mal zeigen wie man nur mit einen Mikroprozessor einen
9stelligen Zähler baut, der auch auf der letzten Stelle genau misst.
Aber in der Messtechnik ist nach wie vor 10MHz als Referenzfrequenz auch
heute gebräuchlich. Praktisch alle Zähler Generatoren der Premiumklasse
haben einen 10MHz Referenzeingang um eben diese an eine genaue
Referenzfrequenz anbinden zu können. Auch heute wird das Erfassen bzw
Generieren einer Frequenz eben nicht mit dem Mikroprozessor gemacht,
sondern mit mittlerweile speziell dafür designten Chips.
Mit einen Mikroprozessor der gleichzeitig noch die Bedienung abarbeiten
soll ( und eventuell noch einiges mehr ) wird nur gezählt, wenn die
Anforderungen an Genauigkeit gering bzw zweitrangig sind.
Schaue doch einfach mal in Serviceanleitungen von Agilent Rohde/Schwarz
usw hinein.
Aber vermutlich habe ich den Peter ganz zu Anfang wohl falsch
verstanden.
Vielleicht will er ja nur eine Uhr implementieren. Da sind die
Anforderungen an Genauigkeit und Stabilität ja sehr gering. Da geht
sowas natürlich.
Ralph Berres
Ralph Berres schrieb:> Aber vermutlich habe ich den Peter ganz zu Anfang wohl falsch> verstanden.
Vermute ich auch, ich konnte nirgends was von nem "9stelligen Zähler"
herauslesen.
Peter
Peter Dannegger
Ich habe mich nur etwas daran gestört, das 10 MHz Referenzfrequenz
in der Messtechnik ein Relikt aus der TTL Zeit ist, und man heute
einfach einen x beliebigen Quarz verwenden würde. Das konnte ich so
einfach nicht stehen lassen.
Nichts für ungut
Ralph Berres
wie wärs mit einem zweiten quarz - einem uhrenquarz?
gibt mcus mit 2 ports für quarze. oder den treiber dafür schnell selber
gezimmert und dann an einen timer clock eingang für den timer.
oder vielleicht eine RTC wie ds1337?
Hallo,
danke für eure Antworten...ich will die Sekunde tatsächlich nur für eine
"schnöde" Uhr generieren und nicht für einen 10-Stelligen Frequenzzähler
;)
Das Handy geht glaube ich bis 115.2kbps, aber um SMS zuversenden werde
ich vermutlich mit 9600bps begnügen.
Wenn ich das richtig verstanden habe, kann ich mit einem 11,0592 Mhz
Quarz jedoch nicht nur die Baudrate fehlerfrei einstellen, sondern
gleich auch noch die Sekunde ohne Rest teilen, also quasi beide Probleme
erschlagen:
11059200 / 16384 = 675
Oder mache ich hier einen Denkfehler? Dann wäre das ja der Ideale Quarz
für diverse Projekte, oder?
Gruß,
Peter
Peter schrieb:> Wenn ich das richtig verstanden habe, kann ich mit einem 11,0592 Mhz> Quarz jedoch nicht nur die Baudrate fehlerfrei einstellen, sondern> gleich auch noch die Sekunde ohne Rest teilen, also quasi beide Probleme> erschlagen:>> 11059200 / 16384 = 675>> Oder mache ich hier einen Denkfehler? Dann wäre das ja der Ideale Quarz> für diverse Projekte, oder?
Nö, passt schon.
Aber Sekunden sind grundsätzlich immer durch einen ganzzahligen Teiler
möglich, solange der Quarz einen ganzzahligen Takt hat ;-) Die Frage ist
höchstens, inwiefern man mit den vorhandenen Timern das ganze so machen
kann, dass der CPU-Aufwand gering bleibt (insbesondere wenn man den
Controller zwischendurch schlafen schicken will, um Strom zu sparen).
Andreas
Peter schrieb:> gleich auch noch die Sekunde ohne Rest teilen, also quasi beide Probleme> erschlagen:>> 11059200 / 16384 = 675
Du hast hier eine Fehlannahme:
Dein Quarz macht nicht exakt 11059200 Hz.
Der macht vielleicht 11059282 oder 11059167 oder irgendwelche Werte
dazwischen, je nach Temperatur und Quarz. Aber exakt 11059200 macht der
mit Sicherheit nicht.
D.h. deinen Faktor von 675 kannst du dir schon wieder abschminken. Wenn
die Uhr ein paar Stunden laufen soll, mag das noch gehen, aber
spätestens nach ein paar Tagen wirst du Abweichungen im Sekundenbereich
haben. Nach ein paar Monaten schon mehr.