Forum: Mikrocontroller und Digitale Elektronik Problem mit Bluetooth Modul + Latenz


von Bernd (Gast)


Lesenswert?

Hallo!
Ich möchte über MAX/MSP und über ein Bluetoothmodul:

http://www.dealextreme.com/customerphotos/quarantined/201108/80711-62c3fc11-39cf-4998-9b9e-334fecf41cf8.jpg

und einen Mikrocontroller eine LED dimmen (erst einmal)

Das funktioniert soweit auch. Letzlich nutze ich die UART und die 
virtuelle serielle Schnittstelle des BT Moduls.

Leider schleicht sich irgendwo in der Kommunikation eine hohe Latenz ein 
die meinem Vorhaben einen Strich durch die Rechnung macht. Wenn ich eine 
Kabel RS232 Verbindung wähle taucht das Problem nicht auf.

Ich habe gelesen dass es bei BT ein grundsätzliches Problem ist, sofern 
mensch einzelne Zeichen senden möchte?

Woanders stand dass diese BT Dinger automatisch in den sleep Mode 
verfallen wenn länger kein Zeichen ankommt?

Wäre gut wenn da jemand mehr wüsste als ich.


Gruss

Bernd

von Bernd (Gast)


Lesenswert?

Hallo!
Ich bins nochmal.
Ich habe die Baudrate mal ganz hoch gestellt. Hat aber nichts gebracht. 
(War irgendiwe klar..)

Weiss Niemand woran es liegt?

Gruss

Bernd

von Harald (Gast)


Lesenswert?

Bluetooth Module arbeiten Paket-orientiert, d.h. Daten werden nicht ein 
einzelnen Bytes sondern grundsätzlich in einem größeren Paket 
übertragen. Das Modul muss bei der Annahme von seriellen Daten einen 
Kompromiss zwischen Effizienz (Paket möglichst gut ausnutzen) und Latenz 
finden. Daher warten die Module einige (zig) Millisekunden, ob noch 
weitere Daten über die serielle Schnittstelle vom Host ankommen bevor 
der Frame auf die Reise geht.

Wenn jetzt Daten byteweise übertragen werden und dazu auch noch ein 
Handshake stattfindet (Gegenseite quittiert den Empfang und erst dann 
geht es weiter), addieren sich die Latenzzeiten. In der worst-case 
Betrachtung ist das nicht nur eine Addition beider Timeouts sondern 
zusätzlich auch noch Framing- bzw. Paketzeiten auf der Funkseite.

Lösungsansätze:
- Bei manchen Modulen kann man das Timeout konfigurieren, dazu bitte das 
Command-Set durchsehen. Falls nicht vorhanden anderes Modul wählen.

- Datenübertragung optimieren, d.h. Handshakes eliminieren oder anders 
lösen (das Bluetooth grundsätzlich hohe Datenraten fahren kann sieht man 
ja bei der unidirektionalen Übertragung eines großen Datenpaketes)

- Kann sein mit dem Sleep-Modus. Kann man aber auf jeden Fall 
konfigurieren, sofern man das Command-Set kennt.

- Falls kein Command-Set bekannt bitte mal die grundsätzliche 
Vorgehensweise wie bei einem BTM-222 prüfen. Die meisten 
Bluetooth-Firmware beruhen auf Templates des Herstellers Cambrige 
Silicon Radio (CSR), daher sind die recht identisch.

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.