Problem mit Bluetooth Modul + Latenz

Gast #2457730
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
Gast #2459565
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.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.