2.4 GHz über Kabel
Zusammenfassung
Der Artikel beschreibt das Konzept eines flexiblen 1-wire, low-cost Hausbusses mittels 2.4GHz-SoCs über RG58-Koaxialkabel. Stand 2015.
Eigenschaften des Busses
- Mehrere Teilnehmer kommunizieren über das selbe Koaxialkabel.
- Als Steckverbinder werden RP-SMA verwendet.
- Es sind beliebige Abzweigungen mittels T-Stück (Y-Adapter) möglich.
- Die Stromversorgung erfolgt ebenfalls über das Koaxialkabel.
- Reichweite: 20-50m pro Segment in Abhängigkeit von der Anzahl der Verzweigungen, Annahmen:
- Typische maximale Sendeleistung des SoCs: 20dB
- Typische maximale Sensibilität des SoCs: -80dBm
- Dämpfung des RG58-Koaxialkabels bei 2.4GHz: ca. 1dB/m
- Dämpfung an Steck- und Lötverbindungen: 1dB
- Halbierung der Signalenergie an jeder Verzweigung
Anforderungen an die Module
- Geringer Platzbedarf, Kosten, Stromverbrauch
- Hochintegriert: CPU und Speicher on package
Mögliche Technologien
Im Folgenden werden die Vor- und Nachteile verschiedener Technologien kurz vorgestellt. Prinzipiell können mehrere Systeme auf dem selben Kabel betrieben parallel betrieben werden, solang die Kanäle nicht überlappen.
WLAN
Vorteile
Für WLAN werden unter anderem Module mit Espressif ESP8266, Marvell Avastar 88W8782/88W8782U und TI CC3200 angeboten. WLAN-Module können einen relativ hohen Datendurchsatz erzielen. Als Master kann ein handelsüblicher Accesspoint genutzt werden. WLAN-Module detektieren und bewältigen Kollisionen automatisch und realisieren von alle Schichten des OSI-Modells über TCP/IP bis hin zur Anwendungsschicht (z.B. HTTP).
Nachteile
Das für den Nutzer vollständig transparente Management von Kollisionen, die Realisierung des OSI-Modells bis hin zur Anwendungsschicht und die hohe Performanz von WLAN führen zu einem relativ hohen Stromverbrauch von bis zu 56mA für das Empfangen. Folglich benötigen 50 Module für Lampen und Steckdosen bereits allein für die Empfangsbereitschaft 11,2 Watt: 0,056A*50*4V (4V = 3V3 zzgl. Wandlerverluste). Die Pinouts der aktuell angeboten ICs (Stand 09/2015) sind nicht auf die Verwendung mit 2-Lagen-PCBs hin optimiert. Der Flash-Speicher befindet sich nicht im Package. Deshalb ist ein separater Flash-IC auf dem PCB erforderlich. Diese Speicherung des Programmcodes in separatem Flash-Speicher steht der Nutzung bei sicherheitsrelevanten Anwendungen entgegen. Günstige Module aus China weisen eine wechselnde Qualität hinsichtlich der verwendeten Bauteile auf und sind nicht für die Verwendung mit DC-führenden Koaxialkabeln vorgesehen.
Nordic nRF52 (favorisiert, Stand 09/2015)
siehe https://www.mikrocontroller.net/articles/%C3%9Cbersicht_Funkmodule#nRF52
DC-Auskopplung am Modul (TODO: rework)
a. Mittels Widerstand
- - DC-Verluste am Widerstand
b. Terminiert über 13cm Impedanz-kontrollierte Leiterbahn und anschließende Kondensatoren gegen Masse
- f(Z_min) der Kondensatoren: 2.4GHz, f(stepdown-Wandler)
- + Signale werden nicht reflektiert
- - Ein Teil der Signalenergie des Moduls nimmt den Weg in Richtung Terminierung/DC-Auskopplung und geht somit nicht in den Bus.
- - Impedanz-kontrollierte Leiterbahn erfordert mindestens ein 4-Lagen-PCB.
c. Offen über 13cm Kabel, z.B. Twisted-Pair (Impedance mismatch) und anschließende Kondensatoren gegen Masse
- Das 13cm-Kabel darf nicht als Antenne funktionieren.
- Statt des Kabels geht auch ein passender Inductor.
- + Signalenergie des Moduls geht komplett in den BUS
- - Signale anderer Module und des Masters werden reflektiert. Eventuell kommen die intelligenten WLAN-Transceiver in Kombination mit der Dämpfung des Bussystems aber damit klar.
Problematik Übersteuern
Befinden sich zwei Module sehr nah beieinander, so ist die Dämpfung des kurzen Kabels gering und die Antenneneingänge werden übersteuert. Lösungsansätze:
- Reduzieren der Sendeleistung des Moduls.
- Einfügen von Dämpfungsgliedern.
Weitere mögliche Komponenten
- WLAN-Modul als Repeater/Router: Gleichzeitiger Betrieb als Client und als Accesspoint, um die maximale Kabellänge zu erhöhen.
- Zwei WLAN-Module als Repeater/Router: Die Module sind über UART/SPI verbunden, aber an verschiedene Koaxialkabel angeschlossen. Auf diese Weise können zwei physikalisch getrennte Netze logisch verbunden werden.
- Signalunterbrechung (Buskomponente): DC wird durchgelassen, das Signal jedoch nicht. Verwendung eventuell sinnvoll mit einem Repeater. (Realisierung: Terminierung beider Seiten und Kurzschluss der Terminierungen.)
- DC-Unterbrechung (Buskomponente): Signal wird durchgelassen, DC jedoch nicht. Verwendung eventuell sinnvoll bei mehreren DC-Einspeisepunkten. (Realisierung: Kondensator)
- DC-Stepdown (Buskomponente): Signal wird durchgelassen. DC wird umgewandelt, Beispielsweise von 48V zu 3.3V (Motivation: siehe DC-Spannung). (Realisierung: DC-Unterbrechnung + Stepdown-Wandler)
- Dämpfungsglied (Buskomponente): siehe Wikipedia.
DC-Spannung (Welche Spannung für den Bus?)
- Vorteile einer hohen Spannung:
- Eine hohe Leistung kann übertragen werden (z.B. 48Watt bei 48V mit max. 1A vs. 5Watt bei 5V mit max 1A) und somit kann eine hohe Zahl von Knotenpunkten betrieben werden.
- Spannungsabfall von bis zu einigen Volt über dem Kabel für Stepdown-Wandler auf 3.3V vernachlässigbar.
- Nachteil einer hohen Spannung:
- Wandler von beispielsweise 48V auf 3.3V kosten mehrere Euro.
- Lösungsansatz:
- Benutzen auf globaler Ebene (Haus) 48V und für jedes logale Segment (Raum) einen Stepdown-Wandler (siehe DC-Stepdown (Buskomponente)) auf 5V oder auf 3.3V. Bei einer Wandlung auf 3.3V können die Module eventuell direkt angeschlossen werden. Die WLAN-Module benötigen eine Betriebsspannung von 3,3V; teilweise 3,0-3,3V.
Anmerkung: Es bietet sich an, eine logische Aufteilung (Repeater/Router) und die DC-Aufteilung (mehrere Einspeisepunkte oder DC-Stepdown) an der selben Stelle vorzunehmen. Die Aufteilung kann aber auch beliebig erfolgen.
Debugging
Messgeräte
Signalstärke RSSI auswerten
- Mit dem Accesspoint
- Mit den WLAN-Modulen
- Mit WLAN-USB-Adaptern an jedem Anschluss
4.4GHz China Spectrum Analyzer
- Ebay: 60-90EUR
- Link zur Diskussion: http://www.mikrocontroller.net/topic/336482
2.4GHz Eigenbau Spectrum Analyzer
- Auf Basis des TI CC2500, ca: 50EUR
- Link1: http://e2e.ti.com/support/wireless_connectivity/f/155/t/17252.aspx
- Link2: https://cccfr.de/wiki/projekte:spectrumanalyzer
Messmethoden
Kabel überprüfen, Methode 1
- Sender an Kabelende K1
- Messgerät/Empfänger an Kabelende K2
- Entspricht die Signalstärke der Erwartungshaltung?
Kabel überprüfen, Methode 2
- Mittels T-Stück mit den Anschlüssen T1,T2,T3
- T1: Messgerät/Empfänger
- T2: 13cm RG58 und Sender
- T3: 13cm RG58 und Terminierung (Messung 1)
- T3: Kabelanschluss K1, Kabelanschluss K2 terminieren (Messung 2)
- Abweichungen zwischen Messung1 und Messung 2 vorhanden/akzeptabel?
Reflektionen in einem Teilzweig X bestimmen
- Alle Sender im Teilzweig X abschalten
- Messung der Signalstärken an einem Anschluss A im zu untersuchenden Segment ausserhalb von Teilzweig X vornehmen (Messung 1)
- Teilzweig X an einem T-Stück abtrennen und den nun freiliegenden Anschluss des T-Stücks über 13cm RG58 terminieren
- Erneut messen am Anschluss A (Messung2)
- Signifikante Abweichungen zwischen Messung1 und Messung 2 deuten auf Reflektionen im Teilzweig X hin
Überprüfen der Schirmung/Abstrahlung (an Anschlüssen oder am WLAN-Modul)
- Einrichten des WLAN-Moduls als Accesspoint
- Sicherstellen, dass das WLAN-Modul die SSID aussendet (z.B. Empfänger an anderem Kabelanschluss)
- Mit einem WLAN-Stick mit externer Antenne oder einem anderen Messgerät in der Nähe des zu untersuchenden WLAN-Moduls oder Kabelanschlusses nach der SSID suchen und die Signalstärke bewerten
Stromverbrauch minimieren
- Das WLAN-Modul befindet sich im Sleep- oder LowPower-Modus mit aktivierten Interrupts für GPIO und Timer.
- GPIO-Interrupts werden von einem Taster ausgelöst und das Modul reagiert unmittelbar (z.B. Relais schalten)
- Mittels Timer-Interrupt wacht das Modul 2-5 Mal pro Sekunde auf und prüft den WLAN-Paketdatenstrom auf relevante Pakete.
- Gegebenenfalls kann das Aufwach-Intervall dynamisch und situationsabhängig gesetzt werden.
- Mittels Synchronisation muss sichergestellt werden, dass die WLAN-Module zu unterschiedlichen Zeitpunkten aufwachen.
- Effekte
- Verzögerung für das erste Kommando bei der Steuerung über den Master / das Smartphone. Danach sind die angesprochenen WLAN-Module (oder alle WLAN-Module) eine gewisse Zeit lang wach.
- Diese Verzögerung kann versteckt werden, indem bereits beim Aufruf des GUI-Programms oder beim Aufruf eines Untermenüs in der GUI die WLAN-Module aufgeweckt und wach gehalten werden. Anschließend reagieren die WLAN-Module unmittelbar auf die Auswahl einer Funktion.
- Für die Strecke "Taster -> WLAN-Modul -> WLAN -> WLAN-Modul -> Relais" tritt eine Verzögerung auf.
- Verzögerung für das erste Kommando bei der Steuerung über den Master / das Smartphone. Danach sind die angesprochenen WLAN-Module (oder alle WLAN-Module) eine gewisse Zeit lang wach.
Stresstest der WLAN-Module
Bei sehr günstigen WLAN-Modulen werden günstige Komponenten mit hohen Fertigungstoleranzen verwendet (Soll-Wert, Temperatur-Drift, Bestückung). Auch die Chips unterliegen Fertigungstoleranzen. Es bietet sich daher insbesondere vor dem Einbau selbst importierter Module an, diese einem Stresstest zu unterziehen und beispielsweise die schlechtesten 5% auszusortieren (insofern sich diese identifizieren lassen).
Mögliche Testparameter:
- Undervoltage
- Höhere Taktrate
- SRAM-Test
- Flash-Speicher-Test
Getestet werden kann
- die Fehlerfreiheit von Lese- und Schreibzugriffen, von Berechnungen sowie beim Versenden und Empfangen von Daten-Paketen
- die Genauigkeit des Oszillators (innerhalb gewisser Grenzen)
- Drift der WLAN-Frequenzen aufgrund von Temperatur-Drift (innerhalb gewisser Grenzen)
Für einen solchen Stresstest kann eine Stresstest-Firmware erstellt werden, die einmalig auf das Modul aufgespielt wird. Der Stresstest läuft dann einige Minuten lang automatisiert ab.
Erkennen von Manipulationen
Das Anbringen einer Verzweigung verändert die Signalstärken auf dem gesamten Bus, weil ein Teil der Signalenergie nun auch in den neuen Zweig hinein läuft. Ungewöhnliche Veränderungen der WLAN-Signalstärke im laufenden Betrieb deuten auf eine solche Manipulation oder einen Defekt hin.
Material-Kosten, Beispielrechnung für 30 Module (Stand 2014)
- 30x Wlan-Module: 2,50 EUR, Ali Express, gesamt: 75 EUR
- 1x WLAN Accesspoint: 30 EUR
- 100m RG58 Kabel: 23 EUR, Reichelt
- Netzteil: 48V 1.25A, 20 EUR, Reichelt
- 10x SMA-T-Stück: 1,52 EUR, Ebay, gesamt: 15 EUR
- 30x SMA-Konnektoren (Kabel Crimp): 0,60EUR, Ebay, gesamt: 18 EUR
- 30x SMA-Konnektoren (PCB, für Dämpfungsglieder): 0,60EUR, Ebay, gesamt: 18 EUR
- Widerstände und Kondensatoren (für DC-Auskopplung, Dämpfungsglieder), Kleinzeug: 50 EUR
- Spannungswandler: 30 EUR
- PCBs: 50 EUR
Gesamt: 329 EUR