Monday, March 12, 2012

Data Transmission message sequence Chart – Recipient


  1. MLME-RX-ENABLE.request (TRUE or FALSE (Receiver enable for this superfra or until next), 0 x 000000–0 x ffffff (RxOnTime ), 0 x 000000–0 x ffffff (RxOnDuration ) )
        → Higher to MAC
  1.  PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY
  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Note: Receives data.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )  
        → PHY to MAC
  1. MCPS-DATA.indication (0 x 00–0 x 03(SrcAddrMode ), 0 x 000–0 x ffff (SrcPANId ) SrcAddr (As specified by the SrcAddrMode ) 0 x 00–0 x 03 (DstAddrMode ) 0 x 0000–0 x ffff (DstPANId ) DstAddr(As specified by the DstAddrMode )msduLength, msdu, 0 x 00–0 x ff (mpduLinkQuality), TRUE or FALSE (Security), 0 x 00–0 x 08 (ACL entry) )
          → MAC to Higher level.

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY

Note: Sent Acknowledgment.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (TRX_OFF)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Data Transmission message sequence Chart – Orginator


  1. MCPS-DATA.request ( 0 x 00–0 x 03(SrcAddrMode ), 0 x 000–0 x ffff (SrcPANId ) SrcAddr (As specified by the SrcAddrMode ) 0 x 00–0 x 03 (DstAddrMode )  x 0000–0 x ffff (DstPANId ) DstAddr(As specified by the DstAddrMode ) msduLength, msdu, 0 x 00–0 x ff(msduHandle) 0000 xxxx(TxOptions ) )

        → Higher layer to MAC

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-CCA.request ()
        → MAC to PHY
        → No parameter.

Note: Do this upto channel is idle.

  1. PLME-CCA.confirm (IDLE(status ))
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY

Note: Sent Data.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Note: Wait for macAckWaitDuration, and receive the Acknowledgment.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (TRx_off)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. MCPS-DATA.confirm ( 0 x 00–0 x ff (MSDU handle), SUCCESS(Status) )
        → MAC to Higher layer.

Zigbee standard message sequence while Orphan Channel Scan



Orphan Channel Scan

  1. MLME-SCAN.request( 0 x 03(ScanType, Orphan), 32-bit field(ScanChannels), 0 to 14(ScanDuration) )
        → Higher layer to MAC.
  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET.request ( 0 x 00(PIBAttribute Identifier-phyCurrentChannel), firstchannel(0 to 26) )
        → MAC to PHY

  1. PLME-SET.confirm ( SUCCESS,0 x 00(PIBAttribute Identifier-phyCurrentChannel) )
       → PHY to MAC

Note: Sent orphan notification.

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Note: Wait for aResponseWaitTime.

Note: Repeat for all the channels until it receives coordinator realignment command .

  1. MLME-ORPHAN.indication ( 64-bit address of the orphaned device, TRUE or FALSE (Security use), 0 x 00–0 x 08(ACL entry) )
        → MAC to Higher level of Coordinator.

  1. MLME-ORPHAN.response ( 64 bit address of orphaned device, 0 x 0000–0 x ffff(Short address of orphaned device ), TRUE or FALSE(Associated member ), TRUE or FALSE(Security enable))
        → Higher layer to MAC on coordinatorr.
Note: Sent coordinator realignment command to device.
  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )
        → PHY to MAC on device.

Note: Device assigned to its previous values.

Zigbee standard message sequence while Disassosiation

Disassociation

  1. MLME-DISASSOCIATE.request (64-bit address, 0 x 00–0 x ff (disassociation reason), True/False(Security enable))
        → Higher layer to MAC of device.

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY of device.

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC of device.

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY of device.

Note: Sent Disassociation notification.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC of device.

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY of device.

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC of device.

Note: Wait for macAckWaitDuration & get it.

  1. PLME_SET-TRX-STATE.request (RX_ON)
        → PHY to MAC on coordinator side.

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC on coordinator side.

Note: Receives disassociation request.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )

        → PHY to MAC on coordinator side.

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY on coordinator side.

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC on coordinator side.

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY on coordinator side.

Note: Sent Acknowledgment request.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC on coordinator side.

  1. MLME-DISASSOCIATE.indication ( DeviceAddress(64 bit address), 0 x 00–0 x ff (DisassociateReason ), True/False(Security use), 0 x 00– 0 x 08 (ACLEntry ) )
        → MAC to Higher layer on coordinator side.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )
       → PHY to MAC on device.

Note: Received acknowledgment.

  1. MLME-DISASSOCIATE.confirm ( SUCCESS )
        → MAC to Higher layer on device.

Zigbee standard message sequence while a Device associate with a Co-ordinator (In Device side)



Device Association with Coordinator (Device side)


  1. MLME-RESET.request ( true/false (SetDefaultPIB) )
        → Upper layer to MAC

  1. PLME-SET-TRX-STATE.request (TRX_OFF)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. MLME-RESET.confirm (SUCCESS)
        → MAC to Higher layer

  1. MLME-SCAN.request( 0 x 02(ScanType, Passive), 32-bit field(ScanChannels), 0 to 14(ScanDuration) )
        → Higher layer to MAC.

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET.request ( 0 x 00(PIBAttribute Identifier-phyCurrentChannel), firstchannel(0 to 26) )
        → MAC to PHY

  1. PLME-SET.confirm ( SUCCESS, 0 x 00(PIBAttribute Identifier- phyCurrentChannel) )
        → PHY to MAC

Note: Beacons will arrive

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )

        → PHY to MAC

 Note: Receives the beacon from one channel for aBaseSuperframeDuration x (2n +1), where n is ScanDuration whose value < 14.

Note: Steps 8 to 10 done repeatedly to finish scanning of all channels specified in ScanChannels parameter of MLME-SCAN.request.


  1. PLME-SET-TRX-STATE.request (TRx_off)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. MLME-SCAN.confirm( SUCCESS, 0 x 02(ScanType-Passive scan), 32-bit field(unscanned channels), ResultListSize(No. Of elements returned, 0 for orphan), 0 x 00 to 0x ff(List of energy measured, one for each channel), PANDescriptorList(Null for ED & Orphan) )

        → MAC to Higher level

Note: Selection of PAN based on list of PAN descriptors.

  1. MLME-ASSOCIATE.request ( LogicalChannel(Integer), 0 x 02–0 x 03 (CoordAddrMode), 0 x 0000–0 x ffff(CoordPANId), CoordAddress(As specified inCoordAddrMode ), CapabilityInformation, True/False(Security enable) )

        → Higher layer to MAC

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) ) 

    → MAC to PHY

Note: Sent Association request.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Note: Wait for macAckWaitDuration, and receive the Acknowledgment.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )

        → PHY to MAC

Note: Wait for aResponseWaitTime.

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY

Note: Sent Data request.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (RX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

Note: Wait for macAckWaitDuration, and receive the Acknowledgment.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )

        → PHY to MAC

Note: Receive Association response.

  1. PD-DATA.indication ( psduLength(<=127, msdu length) psdu(set of octets), 0 x 00 to 0x ff(ppduLinkQuality) )

        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (TX_ON)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. PD-DATA.request ( psduLength((<=127, msdu length)), psdu(set of octets) )
        → MAC to PHY

Note: Sent Acknowledgment.

  1. PD-DATA.confirm (SUCCESS)
        → PHY to MAC

  1. PLME-SET-TRX-STATE.request (TRX_OFF)
        → MAC to PHY

  1. PLME-SET-TRX-STATE.confirm (SUCCESS)
        → PHY to MAC

  1. MLME-ASSOCIATE.confirm ( 0 x 0000–0 x ffff(Short address for device), SUCCESS(Status if association))

       → MAC to Higher layer.