2016-04-21 7 views
1

In Connect Anzeige sendet Master-Slave einige Parameter, von denen ich interessiert bin in transmitWindowSize und transmitWindowOffsetBLE: transmitWindowSize: Kann es gesteuert werden?

Steuerung

Gibt es eine Möglichkeit, diese Parameter in Bluedroid/AOSP 5.x kontrollieren konnte?

Beispiel Anzeige verbinden: Connect indication

Antwort

1

TransmitWindowSize TransmitWindowOffset und einen Zeitrahmen für die erste Verbindung bei einer Verbindung definieren. Sie erlauben Master phy, das Verbindungsereignis in einem Zeitfenster zu planen, in dem es nicht mit anderen Verbindungen in Konflikt gerät. Es gibt nichts, was Sie von einem Anwendungsstandpunkt aus tun können - und sollten.

Wenn Sie versuchen, mehr Pakete während einer Verbindung Ereignis übertragen zu bekommen, Fenster ist nicht das, was Sie suchen. In der Spezifikation kann ein Verbindungsereignis höchstens dauern (ConnectionInterval - 150μs) (Siehe 6.B.4.5.1).

Schlechte Sache ist die meisten (wenn nicht alle) BLE-Funkchips in USB-Dongles, Computer und Telefone erzwingen eine Einschränkung viel niedriger, in der Regel 8-10 Pakete pro Verbindungsereignis (4-5 pro Weg). Dies ist normalerweise die Firmware-Beschränkung eines Chips (Speicherbeschränkungen oder andere).

+0

Motivation dazu kam von [diese Frage] (http://stackoverflow.com/questions/36542079/bluedroid-hangs-up-for-45-ms-during-channel-switch). Ich beobachtete, dass nicht mehr als 4 Datenpakete vom Slave zum Master gesendet wurden, und das benötigte genug Zeit, damit das nächste Paket nicht in mein 2,5 ms Sendefenster passte. Stimmt es nicht, dass Master und Slave innerhalb eines Verbindungsintervalls nur für die Dauer des Sendevorgangs miteinander kommunizieren? Gibt es auch eine Möglichkeit, TransmitWindow von hci zu steuern? Gibt es eine andere Methode, um mehr Pakete innerhalb eines CI zu erhalten? Danke .. – GPS

+1

Das Übertragungsereignis Übertragungsfenster ist der Zeitschlitz für die Übertragung des ersten Pakets eines Verbindungsereignisses. Es kann sein: * abhängig von Sendefenstergröße und Sendefenster-Offset bei Verbindungsinitialisierung (erstes Paket) oder nach Aktualisierung der Verbindungsparameter; * a +/- 16μs Fenster, _connectionInterval_ nach dem ersten Paket des vorherigen Verbindungsereignisses. Verbindungsereignis kann nach dem Ende des Fensters dauern, für (_ConnectionInterval_ - 150μs) – Nipo

+0

OK. Verstanden. Also war die 4 pkt-Beschränkung in der Referenzfrage nicht auf transmitWindowSize zurückzuführen, sondern auf einen anderen Grund, vielleicht auf eine begrenzte Pufferanzahl oder ähnliches. Vielen Dank. – GPS

Verwandte Themen