mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mit 1MHz µC Takt und 19200Baud UART, geht das?


Autor: store (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, wollte mal nachfragen ob es möglich ist, mit einem 1MHz µC 
Takt 19200 Bauds über die UART zu übertragen....
Danke und schönen Abend

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Rechnung oder die Beispieltabellen für Baudraten im Datenblatt 
werden es dir verraten....

Autor: Bernd K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
willst du dir UART aus dem DCO berechnen oder hast du einen 1MHz Quarz?

Autor: store (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Mega8 ist mit internem takt ausgestattet und der beträgt 1 MHz, im 
Datenblatt finde ich die Angabe leider nicht, ob ich noch in dem 
Toleranzbereich liege, oder ob ich mit 1MHz gar keine 19200 für die Uart 
realisieren kann. Bisher hatte ich immer einen "Krummen" Quarz von 
3,686400MHz :-(

Danke und gruss nochmal

Autor: Otto (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem internen Takt wird das sowieso nichts.....

Otto

Autor: Skriptor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wir sprechen doch von AVR? Dann geht das locker. Abgesehen vom etwas 
unstabilen/ungenauen Oszillator.

Autor: Skriptor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ehm, nö geht doch nicht :-) 9600 wäre schön machbar, aber nicht mehr 
19200, sorry.

Autor: Jean Player (fubu1000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Skriptor: ja ne is klar mit 7-8,5 % Ungenauigkeit wird das nen tolles 
Gedudel auf der Schnittstelle.

Gruß


P.S: Fehler rechtzeitig erkannt Skriptor ;-)

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht im Prinzip schon bei AVR, aber!!!

1MHz und 2 MHz ergeben einen Fehler von 7-8% bei 19200 -> geht nicht !!

4MHz und 8 MHz ergeben einen Fehler von 0.2% bei 19200 -> geht  !!

(2MHz doppelSpeed geht auch)

Jedoch : - Abgleich mit OSCCAL erforderlich
         - Werte nur für 5V und Zimmertemperatur
           (sonst selber einmessen)
         - Drift beachten

Für Hobbybereich verwendbar

gruß hans

Autor: store (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich sag mal so, ich will auf der schnittstelle eh nicht stundenlang 
dudeln, nur ab und zu mal ein signal senden. dafür würden eigentlich 
auch 9200 reichen, oder? wie gross ist der fehler bei 9200 bauds? wie 
berechnet ihr das eigentlich???
Danke und LG

Autor: store (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ähm ich mein 9600

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
store wrote:
> auch 9200 reichen, oder? wie gross ist der fehler bei 9200 bauds? wie
> berechnet ihr das eigentlich???
das steht doch alles im datenblatt und in ein paar appnotes... meinst du 
wirklich, du bist der erste mensch auf erden, der die uart benutzen 
will??

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@holli
Ich hätte jetzt das AVR-GCC-Tutorial Kapitel 12 UART erwähnt aber 
Datenblatt ist auch hilfreich!

gruß hans

Autor: David (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Baudratenquarz verwenden... Datenblatt lesen... problem inexestent...

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

Bewertung
0 lesenswert
nicht lesenswert
David wrote:
> Baudratenquarz verwenden... Datenblatt lesen... problem inexestent...
Unsinn, für die meisten "handelsüblichen" Baudraten braucht man keinen 
speziellen "Baudratenquarz". Mit einem 4 MHz-Quarz sind alle Baudraten 
bis einschl. 19,2 kBd, mit einem 8 MHz-Quarz bis 38,4 kBd (abgesehen von 
den nicht so verbreiteten 28,8 kBd) ausreichend genau einstellbar. Mit 
16 MHz biste sogar bis 76,8 kBd dabei. Einen Baudratenquarz braucht's 
eigentlich nur dann, wenn entweder eine ganz bestimmte, anders nicht 
machbare Baudrate benötigt wird, oder wenn man flexibel sein muss und 
wirklich alle üblichen Baudraten zur Verfügung stehen müssen.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man schon den internen Oszillator verwenden will, dann geht 
natürlich auch 19200 bei 1MHz, so gut oder schlecht das mit dem internen 
überhaupt geht. Denn 7-8% Abweichung kann man über OSCCAL ausgleichen - 
sind dann halt nicht mehr genau 1MHz.

Autor: Reinhard R. (reirawb)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hält dich eigentlich davon ab, den internen Takt auf 4 oder 8 MHz zu 
erhöhen? Keine Angst vor den Fuses :-)

Reinhard

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Reinhard Richter (reirawb)

>Was hält dich eigentlich davon ab, den internen Takt auf 4 oder 8 MHz zu
>erhöhen? Keine Angst vor den Fuses :-)

Dadurch wird er auch nicht genauer. Ich hab vor kurzem einen Mega88 mit 
2 MHz RC-Oszillator per OSCCAL auf 1,8432 MHz kalibriert (automatisch 
per Uhrenquarz), damit klappts auch mit den Baudraten.

Nicht ein hoher Takt ist notwendig, sondern ein genauer.

MFG
Falk

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>per OSCCAL auf 1,8432 MHz kalibriert ..

Da bist du aber davon ausgegangen, dass der Uhrenquartz entsprechend 
genau ist...?

Autor: PeterL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn 9600 auch reicht, reichen evtl. auch 4800 oder 2400 auch, das geht 
dann locker.
Wir haben einen alten Fernwärmeregler der "dudelt" mit 300Baud dahin,
wenn man da einen Piezo ranhängt, kann man die Bytes auch akustisch 
zuordnen :-)

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>kann man die Bytes auch akustisch zuordnen :-)

Wenn der Empfänger ausfällt, kann sozusagen händisch mitgeschrieben 
werden...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Matthias Lipinsky (lippy)

>>per OSCCAL auf 1,8432 MHz kalibriert ..

>Da bist du aber davon ausgegangen, dass der Uhrenquartz entsprechend
>genau ist...?

Ist mein Ironiedetektor kaputt?
Wie ungenau soll denn ein Uhrenquarz sein? +/-100ppm hat der maximal 
(wenn man die Lastkapazitäten nicht vergisst ;-)
Das sollte für RS232 gerade so reichen . . .

MFG
Fakl

Autor: store (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank an alle, aber händisch die bytes mitloggen wollt ich nicht 
:-)
ich werde wohl nicht drum rum kommen, ein baudratenquarz einzusetzen. 
Ich habe da an den 3686400Hz gedacht, da ich den gerade hier habe. Ich 
dachte, dass ich eventuell auf der Platine Platz sparen kann...

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.