1 / 160

Introduction of ZigBee Specification

Introduction of ZigBee Specification. Huai-Kuei Wu NTUSTEE Last updated: Jun 2007. Zigbee Specification History. TEXT. GRAPHICS. INTERNET. HI-FI AUDIO. STREAMING VIDEO. DIGITAL VIDEO. MULTI-CHANNEL VIDEO. LAN. 802.11b. 802.11a/HL2 & 802.11g. SHORT < RANGE > LONG.

skylar
Download Presentation

Introduction of ZigBee Specification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction of ZigBee Specification Huai-Kuei Wu NTUSTEE Last updated: Jun 2007

  2. Zigbee Specification History

  3. TEXT GRAPHICS INTERNET HI-FI AUDIO STREAMING VIDEO DIGITAL VIDEO MULTI-CHANNEL VIDEO LAN 802.11b 802.11a/HL2 & 802.11g SHORT < RANGE > LONG Bluetooth 2 ZigBee PAN Bluetooth1 LOW < DATA RATE > HIGH The Wireless Market

  4. BUILDING AUTOMATION CONSUMER ELECTRONICS security HVAC AMR lighting control accesscontrol TV VCR DVD/CD remote PC & PERIPHERALS patient monitoring fitness monitoring PERSONAL HEALTH CARE ZigBee Wireless Control that Simply Works mouse keyboard joystick INDUSTRIAL CONTROL RESIDENTIAL/ LIGHT COMMERCIAL CONTROL asset mgt process control environmental energy mgt security HVAC lighting control access control lawn & garden irrigation Applications

  5. Promoters

  6. Participants(1/3)

  7. Participants(2/3)

  8. Participants(3/3)

  9. Bluetooth Protocol ArchitectureFor comparison only

  10. Outline of the ZigBee Stack Architecture (1/4)

  11. Outline of the ZigBee Stack Architecture (2/4) • The responsibilities of the ZigBee NWK layer shall include mechanisms used to: • Join and leave a network • Apply security to frames • Route frames to their intended destinations • Discover and maintain routes between devices • Discover one-hop neighbors • Store of pertinent neighbor information • The NWK layer of a ZigBee coordinator is responsible for starting a new network, when appropriate, and assigning addresses to newly associated devices

  12. Outline of the ZigBee Stack Architecture (3/4) • The ZigBee application layer consists: • Application Support Sublayer (APS) • Application Framework (AF) • manufacturer-defined application objects • Zigbee Device Object (ZDO) • The responsibilities of the APS sub-layer include: • Maintaining tables for binding, defined as the ability to match two devices together based on their services and their needs • Forwarding messages between bound devices

  13. Outline of the ZigBee Stack Architecture (4/4) • The responsibilities of the ZDO include: • Defining the role of the device within the network (e.g., ZigBee coordinator or end device) • Initiating and/or responding to binding requests • Establishing a secure relationship between network devices • The ZDO is also responsible for discovering devices on the network and determining which application services they provide

  14. Device Types • ZigBee coordinator: • an IEEE 802.15.4-2003 PAN coordinator • ZigBee router: • an IEEE 802.15.4-2003 FFD participating in a ZigBee network, which is not the ZigBee coordinator but may act as an IEEE 802.15.4-2003 coordinator • It is capable of routing messages between devices and supporting associations • ZigBee end device: • an IEEE 802.15.4-2003 RFD or FFD participating in a ZigBee network, which is neither the ZigBee coordinator nor a ZigBee router

  15. Network Topologies

  16. Network Topology • The ZigBee network layer (NWK) supports star, tree and mesh topologies • In a star topology, the network is controlled by one single device called the ZigBee coordinator • The ZigBee coordinator is responsible for initiating and maintaining the devices on the network, and all other devices, known as end devices, directly communicate with the ZigBee coordinator • In mesh and tree topologies, the ZigBee coordinator is responsible for starting the network and for choosing certain key network parameters but the network may be extended through the use of ZigBee routers

  17. Network Topology • In tree networks, routers move data and control messages through the network using a hierarchical routing strategy • Tree networks may employ beacon-oriented communication as described in the IEEE 802.15.4-2003 specification • Mesh networks shall allow full peer-to-peer communication • ZigBee routers in mesh networks shall not emit regular IEEE 802.15.4-2003 beacons • This specification describes only intra-PAN networks, that is, networks in which communications begin and terminate within the same network

  18. Network (NWK) Layer

  19. Network (NWK) Layer Overview • The NWK layer data entity (NLDE) provides the data transmission service • The NWK layer management entity (NLME) provides the management service • The NLME utilizes the NLDE to achieve some of its management tasks • It also maintains a database of managed objects known as the network information base (NIB)

  20. Network Layer Data Entity (NLDE) • The NLDE shall provide a data service to allow an application to transport application protocol data units (APDU) between two or more devices • The NLDE will provide the following services: • Generation of the Network level PDU (NPDU): • The NLDE shall be capable of generating an NPDU from an application support sub-layer PDU through the addition of an appropriate protocol header • Topology specific routing: • The NLDE shall be able to transmit an NPDU to an appropriate device that is either the final destination of the communication or the next step toward the final destination in the communication chain • Security: • The ability to ensure both the authenticity and confidentiality of a transmission

  21. Network Layer Management Entity (NLME) • The NLME shall provide a management service to allow an application to interact with the stack • The NLME shall provide the following services: • Configuring a new device: • The ability to sufficiently configure the stack for operation as required • Configuration options include beginning an operation as a ZigBee coordinator or joining an existing network • Starting a network: • The ability to establish a new network • Joining and leaving a network: • The ability to join or leave a network as well as the ability for a ZigBee coordinator or ZigBee router to request that a device leave the network • Addressing: • The ability of ZigBee coordinators and routers to assign addresses to devices joining the network

  22. Network Layer Management Entity (NLME) • Neighbor discovery: • The ability to discover, record, and report information pertaining to the one-hop neighbors of a device • Route discovery: • The ability to discover and record paths through the network, whereby messages may be efficiently routed • Reception control: • The ability for a device to control when the receiver is activated and for how long, enabling MAC sub-layer synchronization or direct reception

  23. Frame FormatsGeneral NPDU Frame Format (1/6)

  24. Frame FormatsGeneral NPDU Frame Format (2/6) • Frame Control Field

  25. Frame FormatsGeneral NPDU Frame Format (3/6) • Destination Address Field • If the multicast flag sub-field of the frame control field has the value 0, the destination address field shall hold the 16-bit network address of the destination device or a broadcast address • The network address of a device shall always be the same as its IEEE 802.15.4-2003 MAC short address • If the multicast flag sub-field has the value 1, the destination address field shall hold the 16-bit Group ID of the destination multicast group • Source Address Field • The source address field shall always be present. It shall hold the network address of the source device of the frame • The network address of a device shall always be the same as its IEEE 802.15.4-2003 MAC short address • Radius Field • The radius field shall always be present • It specifies the range of a radius transmission • The field shall be decremented by 1 by each receiving device

  26. Frame FormatsGeneral NPDU Frame Format (4/6) • Sequence Number Field • The sequence number field is present in every frame • The sequence number value will be incremented by 1 with each new transmitted frame • The values of the source address and sequence number fields of a frame, taken as a pair, may be used to uniquely identify a frame • Destination IEEE Address Field • The destination IEEE address field is present if the corresponding sub-field in the frame control field is set • Source IEEE Address Field • The source IEEE address field is present if the corresponding sub-field in the frame control field is set

  27. Frame FormatsGeneral NPDU Frame Format (5/6) • Multicast Control Field The maximum value of the NonmemberRadius field for this frame. Indicate the range of a member mode multicast when relayed by devices that are not members of the destination group.

  28. Frame FormatsGeneral NPDU Frame Format (6/6) • Source Route Subframe Field • The relay count sub-field indicates the number of relays contained in the relay list sub-field • The relay index sub-field indicates the index of the next relay in the relay list subfield • The relay list sub-field is a list of the 2-byte short addresses of the nodes to be used as relays for the purpose of source routing the packet

  29. Frame FormatsFormat of Individual Frame Types • Data Frame Format • In the frame control field, the frame type sub-field shall contain the value that indicates a data frame • The routing fields shall contain an appropriate combination of address and broadcast fields

  30. Frame FormatsFormat of Individual Frame Types • NWK Command Frame Format

  31. Command Frames

  32. Command FramesRoute Request Command (1/2)

  33. Command FramesRoute Request Command (2/2) • The Multicast Sub-field • It shall have a value of 1, if and only if, the command frame is a request for a route to a multicast group • The Route Repair Sub-field • It shall have a value of 1 if and only if the route request command frame is being generated as part of a route repair operation for mesh network topology • Route Request Identifier • The route request identifier is incremented by 1 every time the NWK layer on a particular device issues a route request • Destination Address • The destination address represents the intended destination of the route request command frame • Path Cost • The path cost field is used to accumulate routing cost information as a route request command frame moves through the network

  34. Command FramesRoute Reply Command (1/2) • Route Reply Command

  35. Command FramesRoute Reply Command (2/2) • Route Request Identifier • The route request identifier is the 8-bit sequence number of the route request to which this frame is a reply • Originator Address • The originator address field shall contain the 16-bit network address of the originator of the route request command frame to which this frame is a reply • Responder Address • The responder address field shall always be the same as the value in the destination address field of the corresponding route request command frame • Path Cost • The path cost field is used to sum link cost as the route reply command frame transits the network

  36. Command FramesRoute Error Command the destination address from the data frame that encountered the forwarding failure

  37. Command FramesLeave Command (1/2) • The leave command is used by the NLME to inform other devices on the network that a device is leaving the network or else to request that a device leave the network

  38. Command FramesLeave Command (2/2) • Rejoin Sub-field • If the value of this subfield is 1, the device that is leaving from its current parent will rejoin the network • If the value of this sub-field is 0, the device will not join the network again • Request Sub-field • If the value of this subfield is 1 then the leave command frame is a request for another device to leave the network • If the value of this sub-field is 0 then the leave command frame is an indication that the sending device plans to leave the network • Remove Children Sub-field • If this sub-field has a value of 1 then the children of the device that is leaving the network will also be removed

  39. Command FramesRoute Record Command (1/2) • The route record command allows the route taken by a unicast packet through the network to be recorded in the command payload and delivered to the destination device

  40. Command FramesRoute Record Command (2/2) • Relay Count Field • This field contains the number of relays in the relay list field of the route record command • It is initialized to 0 by the originator and is incremented by each receiving relay • Relay List Field • The relay list field is a list of the 2-byte short addresses of the nodes that have relayed the packet • Addresses are formatted least significant byte first • Receiving relay nodes append their short address to the list before forwarding the packet

  41. Command FramesRejoin Request Command • The rejoin request command allows a device to rejoin its network • This is normally done in response to a communication failure, such as when an end device can no longer communicate with its original parent

  42. Command FramesRejoin Response Command • The rejoin response command is sent by a device to inform a child of its short address and rejoin status • Short Address Field • If the rejoin was successful this two-byte field contains the new short address assigned to the rejoining device • If the rejoin was not successful this contains the broadcast address (0xfffd) • Rejoin Status Field • This one-byte field shall contain one of the nonreserved association status values

  43. Network and Device Maintenance • Establishing a New Network • Permitting Devices to Join a Network • Joining a Network • Joining a Network Through Association • Rejoining a Network Using NWK Rejoin • Joining a Network Directly • Neighbor Tables • Distributed Address Assignment Mechanism • Higher-layer Address Assignment Mechanism • Installation and Addressing • Leaving a Network • Changing the ZigBee Coordinator configuration • Resetting a Device

  44. Network and Device Maintenance • All ZigBee devices shall provide the following functionality: • Join a network • Leave a network • Both ZigBee coordinators and routers shall provide the following additional functionality: • Permit devices to join the network using the following: • Association indications from the MAC • Explicit join requests from the application • Permit devices to leave the network using the following: • Network Leave command frames • Explicit leave requests from the application • Participate in assignment of logical network addresses • Maintain a list of neighboring devices • ZigBee coordinators shall provide functionality to establish a new network • ZigBee routers and end devices shall provide the support of portability within a network

  45. Network and Device Maintenance • Establishing a New Network • Permitting Devices to Join a Network • Joining a Network • Joining a Network Through Association • Rejoining a Network Using NWK Rejoin • Joining a Network Directly • Neighbor Tables • Distributed Address Assignment Mechanism • Higher-layer Address Assignment Mechanism • Installation and Addressing • Leaving a Network • Changing the ZigBee Coordinator configuration • Resetting a Device

  46. Establishing a New Network • The procedure to establish a new network is initiated through the use of the NLME-NETWORK-FORMATION.request primitive • Only devices that are ZigBee coordinator capable and are not currently joined to a network shall attempt to establish a new network • If this procedure is initiated on any other device, the NLME shall terminate the procedure and notify the next higher layer of the illegal request • When this procedure is initiated, the NLME shall first request that the MAC sublayer perform an energy detection scan (ED scan) over either a specified set of channels • A channel scan is initiated by issuing the MLME-SCAN.request primitive, with the ScanType parameter set to energy detection scan, to the MAC sub-layer • The results are communicated back via the MLME-SCAN.confirm primitive

  47. Establishing a New Network • On receipt of the results from a successful energy detection scan, the NLME shall order the channels according to increasing energy measurement and discard those channels whose energy levels are beyond an acceptable level • The choice of an acceptable energy level is left to the implementation • The NLME shall then perform an active scan, by issuing the MLME-SCAN.request primitive with a ScanType parameter set to active scan and ChannelList set to the list of acceptable channels, to search for other ZigBee devices • To determine the best channel on which to establish a new network, the NLME shall review the list of returned PAN descriptors and find the first channel with the lowest number of existing networks, favoring a channel with no detected networks

  48. Establishing a New Network • If no suitable channel is found, the NLME shall terminate the procedure and notify the next higher layer of the startup failure • This is achieved by issuing the NLME-NETWORK-FORMATION.confirm primitive with the Status parameter set to STARTUP_FAILURE • If a suitable channel is found, the NLME shall select a PAN identifier for the new network • To do this the device shall choose a random PAN identifier less than 0x3fff that is not already in use on the selected channel • Once the NLME makes its choice, it shall set the macPANIDattribute in the MAC sub-layer to this value by issuing the MLME-SET.request primitive

  49. Establishing a New Network • If no unique PAN identifier can be chosen, the NLME shall terminate the procedure and notify the next higher layer of the startup failure by issuing the NLME-NETWORK-FORMATION.confirm primitive with the Status parameter set to STARTUP_FAILURE • Once a PAN identifier is selected, the NLME shall select a 16-bit network address equal to 0x0000 and set the macShortAddress PIB attribute in the MAC sub-layer equal to the selected network address • Once a network address is selected, the NLME shall check the value of the nwkExtendedPANIdattribute of the NIB • If this value is 0x0000000000000000 this attribute is initialized with the value of the MAC constant aExtendedAddress

  50. Establishing a New Network • Once the value of the nwkExtendedPANId is checked, the NLME shall begin operation of the new PAN by issuing the MLME-START.requestprimitive to the MAC sub-layer • The status of the PAN startup is communicated back via the MLME-START.confirm primitive • On receipt of the status of the PAN startup, the NLME shall inform the next higher layer of the status of its request to initialize the ZigBee coordinator • This is achieved by issuing the NLME-NETWORK-FORMATION.confirm primitive with the Status parameter set to the primitive returned in the MLME-START.confirm from the MAC sub-layer

More Related