Wireless Hausautomation

Z-Wave-Geräte für die Haus-Automation entwickeln

Seite: 2/3

Anbieter zum Thema

SoC- und SPI-Schnittstellen im Detail

Z-Wave-Modul ZM3102: basierend auf einem Funkempfänger ZW0301 der Series 300
Z-Wave-Modul ZM3102: basierend auf einem Funkempfänger ZW0301 der Series 300
(Bild: Z-Wave)
Das Modul bietet alle Peripherieschnittstellen des SoCs als Anschlusskontakte an. Diese I/Os sind Mehrzweck-I/Os, d.h. sie können frei als Eingang oder Ausgang (mit oder ohne internen Pull-up) programmiert werden. Im Allgemeinen erlauben das flexible I/O-Konzept und der modulare Ansatz die Entwicklung von Produkten mit minimalen Zusatzkosten.

Wird als Projekt ein einfacher binärer batteriebetriebener Sensor angenommen, lässt sich das gesamte Produkt mit nur zehn zusätzlichen Komponenten, einschließlich der externen Antenne, realisieren. Alle Z-Wave-Module enthalten eine SPI-Schnittstelle, um den internen ROM-Speicher zu programmieren. An dieser Schnittstelle kann ebenfalls ein serieller EEPROM angeschlossen werden. Der externe EEPROM kann zum Speichern weiterer Anwendungsdaten verwendet werden.

Es ist nicht möglich, den externen EEPROM als Programmspeicher zu nutzen. Der 8051-kompatible Mikrocontroller mit internem ROM enthält im Allgemeinen die Firmware des Geräts und führt ihn aus. Geräte mit komplexeren Funktionen, z. B. Fernbedienungen, können aber auch den Z-Wave-Chip nur als Zusatzchip für die Kommunikation nutzen.

Zum Entwickeln von Z-Wave-Software ist ein System Development Kit (SDK) erforderlich. Sigma Designs, Mitsumi und Digi-Key beispielsweise bieten SDKs in unterschiedlichen Versionen in einer Preislage zwischen 1500 und 3500 USD an. Sie unterscheiden sich in der mitgelieferten Hardware.

Z-Wave-Software als System Development Kit

Alle SDKs enthalten das Software- und Dokumentationspaket. Um Zugang zur Dokumentation, den Softwarecodes und den Tools zu erhalten, muss der Entwickler eine Vertraulichkeitsvereinbarung mit Sigma Designs unterzeichnen. Der Kommunikations-Stack von Z-Wave besteht aus drei Teilen. Die PHY- und MAC-Ebene ist als ITU-T Empfehlung G.9959 [ITU2012] spezifiziert.

Die Netzwerkebene ist ein proprietärer Code von Sigma Designs und durch mehrere Patente geschützt. Die Anwendungsebene wird in Umfang und Funktion vom Produkthersteller definiert. Die einzelnen Funktionen und Kommandos müssen jedoch der Z-Wave-Spezifikation entsprechen, um die Interoperabilität zu gewährleisten.

Das SDK enthält die gesamte Dokumentation und den Code, der benötigt wird, um eine Firmware zu programmieren, die alle drei Teile des Kommunikations-Stacks abdeckt. Die unteren Protokollebenen sind komplett definiert. Der Hersteller darf sie nicht ändern, da dies die Interoperabilität der Geräte untereinander gefährden könnte. Sie stehen deshalb auch nicht als Quellcode, sondern nur in vorkompilierten Libraries zur Verfügung.

Z-Wave-Geräte als Controller und Slaves im Netzwerk

Z-Wave: Z-Wave-Kommunikations-Stack
Z-Wave: Z-Wave-Kommunikations-Stack
(Bild: Z-Wave)
Z-Wave-Geräte können unterschiedliche Funktionen im Netzwerk ausfüllen. Es wird zwischen Controllern – sie übernehmen Steueraufgaben des Netzes - und Slaves unterschieden. Diese verschiedenen Rollen im Netzwerk nutzen im Protokoll in Z-Wave unterschiedliche Funktionen. Als Ergebnis bietet das SDK verschiedene Library-Versionen für unterschiedliche Geräteaufgaben im Netzwerk an. Der Hauptgrund dafür ist die Speichergröße, da die Implementierung aller Funktionen in einer Library den verfügbaren EEPROM-Speicher für den Betriebscode übersteigen würde.

Die meisten Funktionen der Library, insbesondere die Versionen, die sich mit der Netzwerkorganisation befassen, aber auch die Initialisierung des Chips und die Behandlung der Ein- und Ausgangsschlange des Empfängers, werden für den Entwickler ausgeblendet. Das SDK enthält auch Quellcode-Templates zum einfachen Entwurf neuer Anwendungen. Unterschiedliche Beispielcodes für Z-Wave-Funktionen vereinfachen die Nutzung der Beispielvorlagen und helfen beim Entwickeln von Anwendungen.

(ID:39440660)