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.
Wenn der Mega32 mit 5 Volt läuft dann 14,7456 MHz (Baudratenquarz) http://www.reichelt.de/?ACTION=3;GROUP=B41;GROUPID=3173;ARTICLE=68890;SID=253fB8SKwQARkAAG1Vh68f3c63ec6752fa925d046a0b8c55addd7 Bei 3,3 Volt 4,9152 MHz (UART z.B dann 19200 und vielfache) http://www.reichelt.de/?ACTION=3;GROUP=B41;GROUPID=3173;ARTICLE=32841;SID=253fB8SKwQARkAAG1Vh68f3c63ec6752fa925d046a0b8c55addd7 Beide Vielfache vom Uhrenquarz 32,768 kHz daher "Uhrtauglich" avr
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.