Forum: Mikrocontroller und Digitale Elektronik Synchronisation UART


von Stefan (Gast)


Lesenswert?

Hallo,

ich sende Daten von meinem Rechner über Bluetooth an einen Atmega48.
Das Bluetooth Modul ist über UART mit dem µC verbunden.

Das senden und empfangen klappt soweit, nur ist mir das alles zu
ungenau. Wenn ich z.B. eine LED mit einer gesendeten 1 vom Rechner
einschalten will muss ich diese Taste kurz drücken aber manchmal auch
1-2 Sekunden gedrückt halten.

Wie kann ich das synchronisieren...?

Gruß  Stefan

von Jörg S. (Gast)


Lesenswert?

Ist das Bluetooth Modul immer mit dem anderen verbunden, oder baut das
jedes mal eine neue Verbindung auf?

von Stefan (Gast)


Lesenswert?

Das ist nicht immer mit dem anderen verbunden. Es wird auch mal
abgeschaltet. Die verbinden sich zwar wieder automatisch beim
einschalten, aber es besteht keine dauerhafte Verbindung!

von Jörg S. (Gast)


Lesenswert?

Tja, der Verbindungsaufbau bei Bluetooth kann halt schon mal etwas
länger dauern. Beim Frequenzsprungverfahren müssen die sich erst mal
finden und Synchronisieren. Ist aber auch recht stark vom Software
Stack abhängig.
Steht im Datenblatt des Moduls was über die Verbindungsaufbauzeiten?

von Stefan (Gast)


Lesenswert?

Der Verbindungsaufbau ist nicht das Problem. Das geht super schnell!

Auch die Übertragung geht total fix. Nur die Synchronisation passt
irgendwie nicht. Manchmal tipp ich die Taste kurz an und die LED
Leuchtet, manchmal muss ich sie aber auch 1-2 Sekunden gedrückt halten
damit was passiert.....

von Peter D. (peda)


Lesenswert?

Das hat nichts mit Synchronisation zu tun, sondern da ist was oberfaul.

Entweder die PC-Software verschlampt den Tastendruck oder Deine
AVR-Software schaltet zwischenzeitlich die UART ab, bzw. ignoriert
deren  Empfang.

Oder Du hast am AVR die Spar-UART (interner RC-Oszillator statt
Baudraten-Quarz) und mal klappts und mal eben nicht.


Peter

von Stefan (Gast)


Lesenswert?

Ja, die UART läuft über den internen Osc. vom STK600 mit 3,8MHz.

Wenn ich den µC direkt an die Schnittstelle vom PC hänge, dann klappt
das alles aber wunderbar. Nur wenn es dann über Bluetooth läuft, ist es
so ungenau.

Hätte ja dann auf die Bluetoothverbindung getippt, aber von PC zu PC
mit den Modulen geht das ruck zuck.

Liegt das wohl am internen Osc.? Welchen Quartz sollte man dafür
verwenden..?

von Thorsten F. (thorsten)


Lesenswert?

Vielleicht ist die UART im Blauzahn-Modul nicht so tolerant, wie in
deinem Rechner.

Als Baudratenquarz bietet sich z.b. 3,6864Mhz oder 11,0592Mhz an.

Gruß

von Stefan (Gast)


Lesenswert?

Der interne Osc. läuft doch aber auch 3,8Mhz. Macht doch keinen
Unterschied ob ich jetzt den internen Osc. nehme oder einen externen
verwende. Oder doch?

Die empfohlene Baudrate für das Bluetoothmodul beträgt 115200. Gibt es
da irgend eine Formel oder Richtlinie welcher Quarz dafür verwendet
werden sollte?

von Jörg S. (Gast)


Lesenswert?

Wichtig ist das die Frequenz stabil ist. Das Timing muss bei UART genau
stimmen, weil es keine Clock Leitung gibt.
Die Internen Osc. sind in der Regel halt recht ungenau.

von Stefan (Gast)


Lesenswert?

Gut, aber welcher Quarz empfiehlt sich nun....??

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.