Autor |
UART mit Internem Oszillator |
|
|
|
|
BID = 422956
stuckima Neu hier
Beiträge: 26 Wohnort: Schweiz, Bern
|
|
Guten Tag zusammen
Ich möchte an meinem AVR (ATmega48) die UART Schnittstelle verwenden. Nun meine Fragen dazu:
Kann dafür der interne Oszillator verwendet werden bzw. kann der Oszillator so kalibriert werden damit er den richtigen Takt für die Serielle Schnittstelle hat?
Gruss Mathias
|
|
BID = 422976
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
|
Ja - ist im Datenblatt beschrieben (Teilungsverhältnisse berücksichtigen!) |
|
BID = 423292
stuckima Neu hier
Beiträge: 26 Wohnort: Schweiz, Bern
|
Okay man kann also mit dem Internen AVR Oszillator den UART betreiben.
Aber wie sieht es denn mit den Fehlern aus? Wird alles gut übertragen?
Hast du schon einmal so etwas gemacht?
Kann man grundsätzlich sagen dass der AVR Interne Oszi einen externen BAUD-Raten Oszillator ersetzen kann??
|
BID = 423296
Benedikt Inventar
Beiträge: 6241
|
Zitat :
stuckima hat am 19 Apr 2007 13:33 geschrieben :
|
Okay man kann also mit dem Internen AVR Oszillator den UART betreiben.
|
Ja, aber das ist keine ordentliche Lösung.
Zitat :
|
Aber wie sieht es denn mit den Fehlern aus? Wird alles gut übertragen?
|
Wenn die Temperatur und die Betriebsspannung kontstant sind gibt es keine Probleme. Baut man aber eine Schaltung die mit Batterien läuft, dann kann sich die Spannung und die Temperatur ändern (Sommer/Winter im freien)
Zitat :
|
Hast du schon einmal so etwas gemacht?
|
Ich nutze das meistens nur zum Debuggen. Wenn da mal kurz Mist ankommt ist das nicht schlimm.
Zitat :
|
Kann man grundsätzlich sagen dass der AVR Interne Oszi einen externen BAUD-Raten Oszillator ersetzen kann??
|
Das kann er definitiv nicht. Beim mega8 geht es noch eher als beim mega48, denn bei diesem hat Atmel ein wenig Mist gebaut beim Oszillator.
|
BID = 423299
stuckima Neu hier
Beiträge: 26 Wohnort: Schweiz, Bern
|
Wunderbar dann werde ich weiterhin mein BAUD-Raten Oszi brauchen.
Ich danke dir.
Gruss Mathias
|
BID = 423312
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
@Benedikt:
afaik wird auch ein externer Clock für den UART mit dem internen Clock synchronisiert - also kein Vorteil gegenüber einer internen Clk - Lösung.
Am besten dürfte eine geeignete Wahl des Systemclock (entsprechende Quarzfrequenz mit min. Abweichung) sein.
Also am besten den Clockgenerator als externen Takt für den Atmel gebrauchen.
Hope this helps!
Hajo
|
BID = 423320
Benedikt Inventar
Beiträge: 6241
|
Zitat :
hajos118 hat am 19 Apr 2007 15:56 geschrieben :
|
@Benedikt:
afaik wird auch ein externer Clock für den UART mit dem internen Clock synchronisiert - also kein Vorteil gegenüber einer internen Clk - Lösung.
|
Quatsch.
Du verwechselst interner Takt und interner Oszillator. Wenn man einen externen Quarz anschließt, dann wird dessen Takt zum internen Takt.
|
BID = 423338
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Schau' Dir doch mal das Datenblatt an - da wird beschrieben, wie ein ATMega (und zwar nur die USART - Abteilung) mit externem Takt (im Slave Mode) betrieben wird.
--- also kein Quatsch ....
(ich verkneif' mir jetzt ein Zitat von Dieter Nuhr)
|
BID = 423345
Benedikt Inventar
Beiträge: 6241
|
Welches Datenblatt, welche Seite ?
|
BID = 423485
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Atmel Datenblatt zum Mega48 - doc2545, Seite 172 - 175 (Kap. 18)
|
BID = 423486
Benedikt Inventar
Beiträge: 6241
|
Ich hatte schon recht: Du verwechselt das was hier als Internal Clock bezeichnet ist, mit dem internen Oszillator.
Die meinen lediglich, dass es einen synchronen Modus gibt (im Gegensatz zu dem beim UART üblichen asynchronen Modus) bei dem ein Takt vom Sender mitübertragen wird: External Clock. Ist dagegen der AVR der Sender, wird der interne Takt (egal wo auch immer der herkommt, ob vom internen Oszillator oder von einem Quarz) mitgeschickt.
|
BID = 423611
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Im Datenblatt habe ich folgende Stelle: (Zitat)
18.3 Clock Generation
The Clock Generation logic generates the base clock for the Transmitter and Receiver. The USART supports four modes of clock operation: Normal asynchronous, Double Speed asynchronous, Master synchronous and Slave synchronous mode.
(Zitat Ende)
folgendermassen interpretiert:
Ein extern angelegter Clock wird sowohl im Empfangs- als auch auch im Sende - Mode als Basis des Baud-rate Generator benutzt.
Natürlich ist es nicht üblich, kann aber bei "exotischem" Takt sinnvoll sein. (z.B. MIDI, 31250 Hz)
So lange mir keiner das Gegenteil berichtet, bin ich überzeugt, dass diese Möglichkeit besteht.
|
BID = 423629
Benedikt Inventar
Beiträge: 6241
|
Schau dir mal die Clock Sektion im Datenblatt an:
Der Takt (Quarz, extern, interner RC usw.) wird hier umgeschaltet und versorgt den CPU und die Peripherie.
Was beim UART unter four modes of clock operation gemeint ist, sind eben asynchron, sychron master und synchron slave. Beim synchron slave wird der Takt des anderen AVRs verwendet, der die Daten sendet. Das ist dann quasi eine Art SPI Modus.
Der Takt vom UART wird definitv immer aus dem Haupttakt abgeleitet, der auch den AVR versorgt.
|
BID = 423700
hajos118 Schreibmaschine
Beiträge: 2453 Wohnort: Untermaiselstein
|
Zitat :
Benedikt hat am 20 Apr 2007 20:39 geschrieben :
|
Der Takt vom UART wird definitv immer aus dem Haupttakt abgeleitet, der auch den AVR versorgt.
|
Eben nicht:
Siehe Diagramm aus dem Datenblatt:
|
BID = 423752
cholertinu Inventar
Beiträge: 3755 Wohnort: CH
|
@hajos118:
jetzt müsstest du nur noch ein Diagramm in geeigneter Auflösung (lesbar) einstellen, dass liesse sich dein Einwand auch beurteilen
Edit: ok, ich will ja nicht so sein... Hier ist es:
[ Diese Nachricht wurde geändert von: cholertinu am 21 Apr 2007 13:38 ]
|