z-wave protocol stack | z-wave protocol layer basics

This page on z-wave protocol stack covers basics of z-wave protocol layers.The stack covers zwave PHY,MAC,transport,network and application layers.

The z-wave protocol layers main function is to communicate very short messages of few bytes long from a control unit to one or more z-wave nodes. It is a low bandwidth and half duplex protocol to establish reliable wireless communication. z-wave protocol stack need not have to take care of large amount of data as well as any kind of time critical or streaming data.

As shown in the fig-1, z-wave protocol stack consists of 5 layers viz. PHY layer, MAC layer, Transport layer, network layer and application layer. The security layer is not defined in z-wave open protocol specifications and hence it is implementation specific. Following are the major functions of these protocol layers.
➤Physical layer takes care of modulation and RF channel assignment as well preamble addition at the transmitter and synchronization at the receiver using preamble.
➤MAC layer takes care of HomeID and NodeID, controls the medium between nodes based on collision avoidance algorithm and backoff algorithm.
➤Transport layer takes care of transmission and reception of frames, takes care of retransmission, ACK frame transmission and insertion of checksum.
➤Network layer takes care of frame routing, topology scan and routing table updates.
➤Application layer takes care of control of payloads in the frames received or to be transmitted.


z-wave protocol stack

The fig-2 depicts fields at various protocol layers of z-wave stack. The figure mentions PHY/MAC frame, 4 types of frames at transport layer and application layer frame. Before we move to understand different protocol layers go through the concept of z-wave network in z-wave tutorial page.

z-wave frame types

z-wave Physical Layer

The physical layer in z-wave does many functions. The important ones are modulation and coding as well as insertion of known pattern('preamble') used for synchronization at receiver. It also takes care of RF channel allocation as desired. The input for configuring the z-wave PHY is data rate (9.6 or 40 or 100 Kbps).
Read more.

z-wave MAC Layer

MAC layer as the name suggests takes care of medium access control among slave nodes based on collision avoidance and backoff algorithms. It takes care of network operation based on HomeID, NodeID and other parameters in the z-wave frame.
Read more.

z-wave Transport Layer

Z-Wave transport layer is mainly responsible for retransmission, packet acknowledgment, waking up low power network nodes and packet origin authentication. The z-wave transport layer (or transfer layer) consists of four basic frame types. These are used for transferring commands in the network. All the frames use the format as mentioned below.

Transport Frame = { HomeID, Source NodeID, Header, length, Data byte(0 to X), Checksum }

The 4 frame types of transport layer is explained below:

Singlecast frame type:
These type of frames are transmitted to one specific z-wave node. The frame is acknowledged so that transmitter will know whether the frame is received or not. If this frame or its ACK is lost or damaged than the singlecast frame is retransmitted.

ACK frame type:
It is singlecast frame where in data payload part does not exist. This is explained above.

Multicast frame type:
These frames are transmitted to more than one node i.e. max. of 232 nodes. This type of frame does not support acknowledgement concept. Hence this type is not used for reliable communication.

Broadcast frame type:
These frames are received by all the nodes in a network and they are not ACKed by any nodes.

z-wave Network Layer

z-wave network

This z-wave network layer controls the frame routing from one node to the other node. Both the controllers as well as slave nodes participate in frame routing. The z-wave network layer is responsible for the following tasks:

• Transmission of a frame with correct repeater list
• Scanning of network topology
• maintenance of routing table in the controller

This z-wave routing layer consists of two kinds of frames. These are used when repeatition of frames become necessary.
Routed Singlecast Frame Type:
It is a one node destination frame with acknowledgement which contains repeater information. The frame is repeated from one repeater to another until it reaches the desired destination.

Routed Acknowledge Frame Type:
This acknowledgement frame is a routed singlecast frame without payload. This will inform the controller that the routed singlecast frame has reached the desired destination.


1 2 3 4 5 6
1 0 1 1 0 0 0
2 1 0 0 0 1 0
3 1 1 0 0 0 0
4 0 0 0 0 1 0
5 0 1 0 1 0 0
6 0 0 0 0 0 0

Table-1: z-wave routing table

Controller maintains the routing table. This table contains information about all the nodes in the network. This routing table is a bit field table as shown in the table-1. This routing table is built by primary controller based on information received from all the nodes in the z-wave network.

z-wave Application Layer

This layer is responsible for decoding and execution of commands in a z-wave network. The frame format used in application layer consists of following fields.

Frame Format = { Single/Multi,broadcast frame header,
Application command class,
Application command,
Command parameter1-to-X

The application command class defines class of commands the command belong to:
00h-1Fh (This command class reserved for Z-wave protocol)
20h-FFh (This command class reserved for Z-wave application)
All the z-wave frame types except the acknowledgement frame contain an application command.

Similar posts on z wave technology

z-wave tutorial
z-wave physical layer-PHY
z-wave MAC layer
z-wave protocol stack
z-wave security basics
z-wave device conformance testing