Daten übertragung in ISM band mit wenig jitter delay

Moderator Persönliche Seite #7850850
Lesenswert?

Vor allem, was machst du, wenn die von dir ausgewählte Frequenz gerade belegt ist?

Prinzipiell kann man natürlich ein Datenpaket erstmal mit "fire & forget" abschießen – und dann hoffen, dass die andere Seite es empfängt. Ich habe einige Jahre mit IEEE 802.15.4 beruflich zu tun gehabt, man könnte dort alle Einstellungen so vornehmen, dass eben kein CSMA/CA erst gemacht wird, und ACK/retry verbietet sich bei den Jitter-Anforderung ohnehin, denn jeder Retry erzeugt Jitter.

Wenn der Kanal aber gerade belegt ist, dann kommt eben das Paket einfach gar nicht an. Hat dann immer noch null Jitter. :-)

OP #7850859
Lesenswert?

ich möchte 2 geräte synchroniseren. Ich habe meherer Boards die mit einer Samplingrate von 1000 Hz per ADC irgendwelche Messwerte aufnehmen. Jeder sample hat einen timestamp. Ich muss meine Boards synchronsieren damit die Zeitstempel und die ADC werte von den verschiedenen Boards eine synchronisation mit max 500 us (besser 100) jitter aufweisen.

Ich habe schon ein BLE chip wo ich den RF manuell programmiere. Das Projekt ist aber veraltet und sehr kompliziert. So ein BLE chip selber zu programmieren (komplett vorbei an BLE stack) ist nicht ganz ohne.

Embedded bards wireless mit einander zu syncen sollte doch ein verbreitetes Problem sein. Ich konnte mir vorstellen dass gerade in Robotik oder Fernsteuerung wo es auf geringe Latenzen (geringer als WLAN oder BLE) sowas existieren musste

#7852671
Lesenswert?

Das ESP32-IDF bringt doch PTP (IEEE-1588) mit... Allerdings, soweit ich gesehen habe, geht das Hardware-Timestamping nur per Ethernet, nicht WLan.

Damit kriegen die zwei ESP32 auf 60ns synchronisiert, das wäre schonmal ~4 Größenordnungen besser als deine Anforderung. Ob und wie genau das über WLan geht, wäre ja leicht auszuprobieren.

#7852687
Lesenswert?

Wenn du einen LoRa (nicht LoRaWan) Sender hinstellst der z.B. alle 10s die Zeit sendet (plus Prüfsumme zur Plausibilisierung), können mehrere Empfänger die "grobe" Zeit aus dem Dateninhalt entnehmen, und die "genaue" Zeit an der Flanke des Interrupt-Pins vom LoRa-Modul festmachen. Die Modulationsparameter können so gewählt werden, dass eine hohe Bandbreite (also kleine Bitzeit) verwendet wird, und mit 27kBit (laut https://en.wikipedia.org/wiki/LoRa) wären die gewünschten 100µs locker erreichbar. Wenn das Paket nicht ankommt, müssen die Empfänger stabil genug sein, autark die Zeit zu zählen, und beim nächsten korrekt empfangenen Paket kann das wieder synchronisiert werden.

#7852816
Lesenswert?

Mat. K. schrieb:

Eine idee?

Nutze eine gemeinsame, frei verfügbare Zeitbasis und verpasse jedem deiner Arduinos einen eigenen Empfänger. Dann braucht du keine Frequenzen oder Time Slots mit LoRa, BLE oder sonstwas zu belegen, auch wenn Broadcast dir vielleicht zu old School ist. Man braucht nicht für jeden Mist einen eigenen Funkkanal.

Mit dem 1PPS Signal eines GNSS-Empfängers lägest du unter 100ns. Das wäre dann einen Faktor 5000 genauer als gefordert - aber was soll's.

Wie wackelig ist denn das Timing von deinen Arduinos, d.h. wie oft musst du neu synchronisieren?

(Firma: Q3) #7877449
Lesenswert?

Wie weit sind denn die beiden zu synchronisierenden Arduinos von einander entfernt? Gibts keine anderen Möglichkeiten einer Signalübermittlung? Mir fallen da so ein:

  • Magnet-Impuls mit größerer Spule? Früher gab es mal Modellfernsteuerungen per Induktionsschleife, die reichte einige Meter weit

  • Infrarot-"Blitze"? (per LED oder indirekt mit 1mW-Laser an die Decke/Wand)

  • notfalls Kabel, auch LWL

  • Piraten-Funk (sofern kein offizielles bzw. kommerzielles Projekt) auf irgend einer freien Wellenlänge, z.B. 455kHz oder 10,7MHz (Radio-ZF), das dürfte kaum bemerkt oder überwacht werden.

  • Snchronisation auf GPS-Signal (nur theoretisch angedacht, sollte aber grundsätzlich genau genug sein. Problem ist wahrscheinlich die Signalausgabe aus dem Empfängerchip per UART?)

#7878220
Lesenswert?

Frank E. schrieb:

  • Snchronisation auf GPS-Signal (nur theoretisch angedacht, sollte aber grundsätzlich genau genug sein. Problem ist wahrscheinlich die Signalausgabe aus dem Empfängerchip per UART?)

Wenn man über ein GPS-Signal eine Zeitsynchronisation im Bereich von 0.5ms machen möchte, verwendet man dafür das 1PPS-Signal. Das serielle Signal vom UART wird evtl. nur gebraut, um die Mehrdeutigkeit aufzuheben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren