WikiStart » HardwareDocumentation »
Zigbee Protocol¶
- Work in progress to document the Zigbee Protocol from different internet sources.
History¶
- Build for low-power, low-cost, reliable
Standards¶
- Based of 802.15.4 which implements PHY and MAC layers
- Radio frequencies, encoding, frames, timeslots, etc.
- 2.4GHz or 915MHz in US (unlicensed frequencies)
- Zigbee Specificaiton handles the layers above this
Device Types¶
- Full Function Device (FFD)
- Coordinator
- Repository for security keys
- Stores network information
- All networks must have at least one coordinator, but can have more than one
- Can talk to anyone
- Router
- Routes packets to any other device
- Can talk to anyone
- Reduced Function Device (RFD)
- Can only talk to FFDs, never to another RFD
- Can't route packets
Addressing¶
Frames¶
- Fundamental unit of data transfer
- Idea of a supergrame also exists
- 16 time slots
- Active and inactive sections for each slot
- Guarantees bandwidth
- Used for low-latency applications
- CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) used for collisions
- Will listen first to make sure no one is transmitting before transmitting
- Exponential backoff for collisions
- Network Layer
- Take MAC layer and provides interface to application laye
- Data Entity provides routing capabilities
- Layer Control handles new device configuration and network establishment. Allows for discover of new nodes.
- AODV routing (x x Distance Vector)
- Broadcasts a send request to all neighbors who keep doing the same
- Once path is found send reply through lowest cost path (usually the one that gets to the destination first)
- Once reply reaches source, update routing table and then send packet to the first node on path to route
- Application Layer
- ZigBee Device Objects (ZDO)
- Role assignment
- A coordinator, router, or end device
- Managing join requests
- Device discovery
- If address known -> Unicast to device
- If address unknown -> broadcast with addresses returned by the device who responds to the broadcast message
- Can learn information about what these nods can do this way
- Security
- 128bit keys
- Associated with a network or link
- Two types of keys
- Master keys - controls the link key, must be preshared
- Link key
- Can send other nodes the keys as well
- Application Support Sublayer (APS)
- Bridges network and application layers
- Can contain upto 240 "objects"
- Manufacturer Defined Application Objects
Joining Networks¶
- MAC Association
- Supported by every Zigbee device
- Steps
- Coordinator tells others to join network by sending "NLIME-PERMIT-JOINING.request"
- Router who wants to join (after receiving this message) sends "NLIME-JOIN.request" with rejoin=FALSE
- Unsecure, all packets sent in the clear
- Network Rejoin
- Can be used to join for the first time too
- Does not require the coordinator to send "NLIME-PERMIT-JOINING.request"
- If key is shared beforehand or through another medium we can secure joining as well
Routing¶
- Distance Vector used
- Routing table keeps the cost and next node to get to a particular node
*
Mesh Networks¶
- Each peer usually connected to 2 or more peers
- Relay messages from one peer to another
References¶