Friday, June 20, 2008

Z-Wave protocol stack overview



Z-Wave started as a proprietary wireless protocol oriented to the residential control anutomation market. Z-Wave protocol is a low bandwidth half duplex protocol intended to offer reliable wireless communication in a low cost control network in the house. The protocol is not designed to transfer large amounts of data or to transfer any kind of streaming.

The protocol consists of 4 layer as figure shows, the MAC layer, the Transfer layer, the Routing layer and the application layer.

The MAC layer controls the radio frequency medium. The data stream is manchester coded and use FSK modulation. A standard collision-avoidance method is applied in this layer which prevents nodes from starting to transmit while other nodes are transmitting. If media is busy, the transmission is delayed by a random number of milliseconds.

The Transfer layer controls the transfer of data between two nodes including retransmission, checksum check and acknowledgements. This layer contains 4 basic frame formats, which are singlecast frame, multicast frame, broadcast frame and transfer acknowledge frame. Different types of frames are identified in the frame header. If frame is successfully received, ACK frame is sent back to the source node. However, multicast and broadcast frames don't get ACK so these types of frames cannot be used for reliable communication. The solution is to send a singlecast frame to each destination node following multicast and broadcast frame.

The routing layer controls the routing of frames from one node to another in the network. The Z-Wave network contains two kinds of nodes: controller node and slave node, which will be described later. Both controllers and slaves can participate in routing of frames in case they're always listening and have a fixed position. The layer is responsible for routing a frame and ensuring that the frame is repeated from node to node. In the case of the controller device, the routing layer is also responsible for scanning the network topology and maintaining a routing table.

The application layer is responsible for decoding and executing commands in a Z-Wave network.



No comments: