Forum: Mikrocontroller und Digitale Elektronik Zwei Taktfrequenzen eine Baudrate


von Dino (Gast)


Lesenswert?

Hallo,

ich hab mal ne Anfängerfrage:

hab zwei Mikrocontroller (AT90CAN128, ATmega8), die ich über UART 
kommunizieren lassen möchte. Muss die Taktfrequenz der beiden Controller 
übereinstimmen? oder kann ich den AT90CAN mit 16Mhz und den Atmega mit 
8Mhz betreiben solange die Baudrate (19200) bei beiden richtig 
eingestellt ist?

Ich habs natürlich schon probiert und es hat nicht geklappt. Eine 
Verbindung bei gleicher Frequenz war allerdings erfolgreich. Darf ich 
also davon ausgehen, dass es nicht machbar ist?

Note: U2X ist aktiviert. UART-Verbindung über Bluetooth BTM220.

Danke

von M. P. (phpmysqlfreak)


Lesenswert?

Dino schrieb:
> oder kann ich den AT90CAN mit 16Mhz und den Atmega mit
> 8Mhz betreiben solange die Baudrate (19200) bei beiden richtig
> eingestellt ist?

Das sollte kein Problem darstellen. Bei PCs funktioniert es ja auch über 
die serielle Schnittstelle.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Die Baudrate muss stimmen, der Rest ist egal.

Allerdings wird die Baudrate aus dem Systemtakt abgeleitet, was 
bedeutet, daß bei geändertem Takt auch der Baudratenteiler angepasst 
werden muss. Wenn Dein Aufbau bei gleichem Systemtakt funktioniert, bei 
abweichendem aber nicht, ist zu vermuten, daß Deine 
Baudratenteilerberechnung nicht korrekt ist.

Zudem ist zu berücksichtigen, daß die etwas einfach strukturierte UART 
der AVRs nicht jede Baudrate "glatt" aus jedem Systemtakt erzeugen kann, 
d.h. einen mehr oder weniger großen Baudratenfehler produziert, wenn 
keine sogenannten "Baudratenquarze" verwendet werden.

von Dino (Gast)


Lesenswert?

Danke für die schnelle Antwort.

hab natürlich bei Veränderung der Taktfrequenz auch die UBRR-Werte aus 
dem Datenblatt angepasst. Mein Atmega8 läuft gerade mit (2Mhz, 19200, 
UBRR:12) und AT90CAN(16Mhz, 19200, UBRR:103). (U2X = 1)

Ich werd jetzt die UBRR-Formel ausm Tutorial verwenden. Hab sie nicht 
benutzt, da die Werte ausm Datenblatt bis jetzt zuverlässig waren. Ich 
werde weiter probieren und nach anderen möglichen Fehlern suchen.

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
Noch kein Account? Hier anmelden.