Ich setzt ein Bluetooth Modul Classe1 von der Firma Connectblue für eine Datenkopplung ein. Die Ansteuerung erfolgt mit 115200 Baud über die serielle Schnittstelle und dem Serial Port Profil von Bluetooth auf einen gleichen Empfänger. Die Daten (ca 50 Byte hin 10 Byte Bestätigung zurück) werden zyklisch von einem uC gesendet. Meine Erfahrung damit: es dauert ca 60 -100ms bis die Daten dann von meiner Anwendung verarbeitet werden selbst bei einer guten Funkverbindung. Nach meiner Meinung und Meinung des Herstellers müsste das schneller gehen. Dann habe ich Module von einem anderen HErsteller verwendet und da sind noch schlechtere Ergebnis von 160ms. Eine direkte KAbelverbindung erzeugt ca 15ms Delay. Es gibt wohl grosse Unterschiede im Softwarestack. Hat jemand Erfahrung ob man andere PRofile verwenden kann als das SPP, da ich zum Sendezeitpunkt die Länge defr Daten weiss, sie aber nicht konstant sind könnte man auch einen Blockmodus verwenden.
Für das Verhalten deiner Bluetoothmodule könnte der Sleepmode ein Grund sein. Bei auslieferung ist meistens standardmässig der Sleepmode aktiviert. Sendest du nicht kontinuielrich Daten braucht das BT modul einige Zeit um aufzuwachen. Bei den Modulen von ConnectBlue und BlueGiga lässt sich dieser Mode mit einem Befehl abschalten.
Hi Die Geschwindigkeit der Bluetooth-Funkstrecke hängt von zwei Faktoren ab . 1. Welche Paketart der Bluetooth Stack zum Datenaustausch verwendet (DH, DM etc.) 2. Vom Buffer-Handling der Firmware der Module Ich hatte in einer Anwendung auch Timing Probleme, bin dann aber auf die Module von www.amber-wireless.de gestoßen. Diese nehmen (wenn es nötig ist) DH5 Pakete (also max Datenrate). somit ist schonmal sichergestellt, dass die Luftschnittstelle schnell genug arbeitet (auf alle Fälle >115k). Um die Latenzzeiten so gering wie möglich zu machen, kann man da nen Kommandomodus verwenden, der dann die Latenzzeit des Moduls auf ein minimum reduziert, da die Länge des Paketes bekannt ist und der Stack/Firmware somit in der Lage schnell zu reagieren. (Aussage Hersteller <2ms). Somit berechnet sich die Gesamtdauer: 2*RS232-Übertragungszeit + Latenzzeit Firmware/Stack + BT-Übertragungszeit Also in deinem Fall über den Daumen gepeilt ca. 15ms für die reine Datenübertragung in eine Richtung (50Byte). So gesehen ist Bluetooth dann nicht mehr langsam. CU Beppi
@Beppi Sobald Amber Wireless Class 1 Module anbietet, werde ich nur noch dort kaufen und erst recht wenn Sie das Doppelfunksystem anbieten.(Das ist ein Insider Joke an Beppi, der weiss was ich meine) Zumindest zeigt mir die Aussage, dass es deutlich schneller gehen müsste. @Montero die Datenübertragung ist zyklisch und wir sind auf "Allways connect = on" Sleep Modus ist deaktiviert. Auffallend ist, dass bei praktisch allen Lieferanten und Herstellern (Amber Wireless + Lintech ausgenommen) von BT Modulen die Anwenderschnittstelle recht stiefmütterlich behandelt wird. Es scheint den meisten zu reichen eine serielle Schnittstelle anzubieten ohne hier eine optimierte Datenübergabe anzubieten. Erwähnenswert ist noch, dass Connectblue das schnellste Modul ist, die anderen getesteten Hersteller erwähne ich lieber nicht, das wäre sonst Rufschädigung.
Wir testen gerade die Geschwindigkeit und die Latenzzeit der gängigsten Bluetooth Klasse 1 Module über ein eigens dafür geschriebens Windows Programm. 100 Bytes über serielle COM Schnittstelle 1 mit 115200Baud senden und dann die Zeit messen bis das letzte Zeichen an COM Schnittstelle 2 eingetroffen ist. Eine 1:1 Übertragung über Kabel braucht 10ms: normierter Vergleichswert (inklusive Durchlaufzeit im PC) Die Bluetooth Module werden nun in diese Messstrecke statt dem KAbel verwendet und als RS232 Kabelersatz betrieben. Die schnellste Übertragung erfolgt in 25ms -44ms von Hersteller 1 und das langsamste vonn 44ms bis 100ms für Hersteller 3. Nach meiner Rechnung bedeutet dies dass BT effektiv mit nur 19200 Bit/s überträgt. Alle Hersteller geben 700kbit Nettodatenrate an! Kann irgend jemand diese Messungen mit eigenen Erfahrungen bestätigen?
Ein Problem, das bei der Übertragung von RS232 über USB oder auch Bluetooth immer wieder auftritt ist folgendes: Sowohl USB als auch Bluetooth arbeiten Paketorinientiert. Das ist bei der Übertragung großer Datenmengen egal, führt aber zu erheblichen Latenzzeiten bei der Übertragung kleiner Pakete oder gar einzelner Zeichen. Gruß, Marcus
Wir haben ebenfalls mit den Modulen von Connectblue die besten ergebnisse erzielt. Allerdings wurden wir (wir mussten Daten mit 420kbit/s übertrage) gezwungen selbst auf dem Host Controller Interface aufzusetzen. Allerdings muss das Modul dann neu Lizenziert werden, die kosten liegen nach meinen angaben (Nov 05) bei 20'000.-- SFr. Module mit DH5 und SPP liessen sich nicht auftreiben. Selbst BT 2.0+EDR erreichen gerade mal 300kBit/s Brutto. (getestet mit Modulen von blueGiga)
@Marcus Die Latenzzeiten durch das Windows Testprogramm + USB haben wir rausgerechnet @Montero Sehr interessanter Ansatz. Wir sind gerade in Gesprächen mit einigen BT Hersteller um eine schnellere Übretragung, natürlich mit höheren Kosten, zu erhalten. Als Anlage Testergbnisse, natürlich anonym, der gemessen BT Module
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.