mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART - geringste Baudrate


Autor: Coach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich arbeite mit einem ATmega88 und brauche für eine Anwendung eine sehr
geringe Baudrate.
Muss ich mich an das UBRR-Register halten oder gibts da irgend einen
Trick noch niedriger zu kommen? Denn dann wäre ja bei ca. 120 Baud
Schluss oder? (bei 8 MHz Takt)

Schon mal vielen Dank für eure Tips...

Gruß, Coach.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein ganz entschiedenes Jein.
Mit internem Takt im asynchronen Modus nicht. Da hilft nur CPU-Takt
runter. Was die meisten ATMegas können, ist ein synchroner Modus mit
externem Takt, der über XCK eingespeist wird.
Siehe ab Seite 169 im Datenblatt.
Oder Software-UART.

Gruss
Jadeclaw.

Autor: TravelRec. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann nimm doch den Prozessortakt weiter ´runter: 4MHz -> 60 Baud Dumme
Frage: warum willst Du gerade sooo langsam sein, wo jeder doch
versucht, schnell fertig zu werden?

Autor: Coach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schönen Dank erstmal für die Tips!
Nun ja, ich habe ein Übertragungsmedium, das nicht so schnell reagiert.
Über das sollen zwei Controller kommunizieren.
Aber auch ne dumme Frage: Wir komme ich auf 4 MHz runter?
Ich kenne nur den Weg über die Fuses und da gehts ja nur auf 1 MHz.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schon mal an eine Software-UART gedacht? Timer-gesteuert nicht grad
schwierig und beliebig langsam.

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal auf Seite 35: Clock Prescale Register.
Da lässt sich der Teiler zwischen Oszillator und Rest des Controllers
einstellen. Es ist eine gewisser Ablauf beim Schreiben der Bits
einzuhalten.

Gruss
Jadeclaw.

Autor: Coach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach welchem Prinzip geht man da denn am besten vor?
Signallänge messen und dann entscheiden 0 oder 1?

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rad neu erfinden überflüssig, wozu hat man Application Notes.

Senden ist trivial.

Empfangen: Flanke vom Startbit erkennen (da bietet sich ein
entsprechender Interrupt an), das erste Sample nach T/2, alle weiteren
nach T.

Autor: Coach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Jadeclaw, ich hoffe das wird mir weiterhelfen.

Autor: Coach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke A.K., ich werds erstmal hardwaremäßig probieren. Aber wenns nicht
klappt werd ich wohl nochmal in die tasten hauen müssen...

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Codesammlung ist ne Software-UART mit T1.

Da T1 16Bit ist und Du noch nen Prescaler 1024 reinhauen kannst, kommst
Du bis:

8MHz  1024  65536 = 0,1Baud runter.


Und egal, wie langsam, der prozentuale Fehler bleibt genau der
gleiche.

Ein Quarz sollte bei UART Anwendungen daher immer benutzt werden.
Mit dem internen RC kanns klappen, muß aber nicht. Was Du mit den Fuses
umstellen kannst, ist der interne RC.


Peter

Autor: Wegstabenverbuchsler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"ich habe ein Übertragungsmedium, das nicht so schnell reagiert."

- Druckluft
- Wasser
- Ahornsirup
- ???

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- menschliche Knochen?

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.