Welche Technik eignet sich besser für mehrere (10+) gleichzeitige Bluetooth-Kommunikationen? CC2564

Ich entwickle eine industrielle Hardware, die über BLE 5.0 kommuniziert. Das Design ist folgendes: mehrere Geräte: (10, 20 Geräte) kommunizieren mit einer hohen Bitrate (etwa 20 Bytes alle 50 ms, also etwa 150 3,2 kbps). Manchmal kommuniziert auch die Zentrale, aber meistens peripher vs. zentral.

Ich entwickle diese Architektur mit CC2564-Transmittern ( https://www.ti.com/lit/ds/symlink/cc2564.pdf?ts=1616973324278&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FCC2564 ).

Jetzt habe ich die nächsten Möglichkeiten:

  1. Koppeln aller Geräte vor der Übertragung
  2. Verbinden Sie sich über eine BLE-Verbindung ohne Pairing und verwalten Sie die Datenübertragung mit charakteristischem Lesen oder Schreiben.
  3. keine Geräte verbinden, sondern Nachrichten über das Werbesystem übertragen.

Die Frage ist: Welchen Ansatz würden Sie verwenden, um Datenkollaps zu vermeiden, die Reichweite und die Zuverlässigkeit der Übertragung zu erhöhen, was entscheidend ist, und den Verlust von Daten oder, im schlimmsten Fall, der Verbindung zu vermeiden?

Sehen Sie mögliche Probleme, die ich kennen sollte, oder intrinsische Grenzen von Bluetooth für diese Art von Anwendung?

Vielen Dank für Ihre Vorschläge.

Klingt, als wollten Sie etwas, das kein Bluetooth ist?
@MarcusMüller warum nicht? Aber wenn es etwas Passenderes gibt, bin ich für jeden Vorschlag offen. AFAIK, Bluetooth 5.0 unterstützt unbegrenzte Verbindungen ( stackoverflow.com/questions/48418427/… ).
Ja, aber BLE ist im Grunde unkoordiniert. Sie steuern auf eine Situation zu, in der Sie mehr Kollisionen als Daten übertragen!
@MarcusMüller das ist der Punkt. Wie Sie sehen können, ist die Bitrate ziemlich niedrig. Wenn es ein System zur automatischen Unterteilung in verschiedene Kanäle gibt, könnte dies nicht wahr sein. Welche Technologie schlagen Sie vor? Wie auch immer, ich denke an eine überfüllte Gegend: Hunderte von Bluetooth-Geräten werben und Bluetooth funktioniert immer noch. Ich weiß, dass der Anwendungsfall sehr speziell ist, deshalb frage ich.
Lassen Sie uns weniger über die Bitrate und mehr über das Tastverhältnis sprechen. Wie viel % der Zeit sendet jedes Ihrer 20 Geräte aktiv?
@MarcusMüller 20 Bytes alle 50 ms. Wenn die Bitrate also 115k beträgt, würde die Kommunikation nur 1 ms dauern, also wäre das Tastverhältnis theoretisch mehr als genug, für sagen wir 10 Geräte. Jeder, die Wahrscheinlichkeit einer Kollision wird hoch, wenn es intern nicht die Möglichkeit einer Teilung im Kanal gibt: das ist ein entscheidender Punkt.
Das ist also ein Arbeitszyklus von 2 % pro Gerät. Bei 20 Geräten ergibt das in der Tat eine sehr solide Kollisionswahrscheinlichkeit. Mit Bluetooth LE können Sie die Dinge nicht in Kanäle "vorteilen". Ich bin mir wirklich nicht sicher, was Sie verdienen, wenn Sie BLE anstelle eines ISM-Modus mit geringerer Komplexität verwenden, in dem Sie a) schmale Kanäle vordefinieren und b) ein festes Schema haben können, bei dem Ihre Knoten nach einer Ankündigung durch die wissen, wann sie an der Reihe sind Meister.

Antworten (1)

Ich habe das Gefühl, dass Sie versuchen, die BLE-Architektur zu überbetonen. Ein Attribut, das alle 50 ms von 20 Knoten gesendet wird, würde eine Zentrale mit einem Verbindungsintervall von 2,5 ms benötigen. Schade, dass das Minimum 7,5 ms beträgt (genau sechs 1,25-ms-Ticks)

Ich denke, Sie sollten Ihren Bandbreitenbedarf überprüfen und vielleicht eine andere Art von Protokoll verwenden.

Dies natürlich, wenn der Master tatsächlich 20 verbundene Knoten unterstützt. Beim Übertragen von Daten im Werbeprotokoll (z. B. als Beacon) geht die Grenze auf 20 ms, aber es ist durchaus möglich, dass ein Konflikt auftritt: Die Idee ist, dass selbst wenn eine Werbung durcheinander gebracht wird, die nächste mehr oder weniger korrekt ankommt (aber natürlich wird die Luft gesättigt)

Welches kommerzielle Protokoll schlagen Sie vor?