Traditionally, a wireless device performs a single role and can be present in a single physical network at a time. It can either be set up as either a master or a slave-type device.
The Kinetis KW2x IEEE 802.15.4 compliant SiP family offers hardware acceleration for dual PAN modes (i.e. a device can be present on 2 networks simultaneously). The hardware will store the channel, PAN Id, short address, long address and device role for both networks, and by setting a single bit it can switch the active network. The network can operate on the same channel of the 802.15.4 2.4 GHz band or on different channels. For the second case, there is a 68us blind spot until the channel is changed (essentially the time it takes for the PLL to lock).
The hardware offers the possibility to change the active PAN manually or automatically (at a configurable dwell time). In this case the radio automatically searches for a preamble, and if it is found, the PAN switch will be disabled until the entire packet is received.
Dual PAN support at 802.15.4 MAC software level:
At MAC level, the device can have the following roles inside the PAN:
- EndDevice on both networks (no discernable performance degradation)
- Coordinator on both networks (MAC retransmissions are often seen only when operating on different channels)
- Coordinator on one network and EndDevice on the other network (most commonly used and MAC retransmissions are rarely seen only when operating on different channels)
In manual mode, the MAC’s upper layer is responsible for setting the active network by using a MLME-SET.Request, and setting the value of the gMPibDualPanActiveNwk_c PIB (0 or 1).
In Automatic mode, one must set the value of the dwell time into the gMPibDualPanDwell_c PIB (0.5ms-3.2s), and set the value of the gMPibDualPanAuto_c PIB to 1 (default is 0).
To address the Dual PAN scenario, the 802.15.4 MAC codebase present in the BeeKit Wireless Connectivity Toolkit found on www.freescale.com offers 2 set of Service Access Primitives (SAPs). For example:
- NWK_MCPS_SapHandler() is responsible for data transmitted on PAN 0
- NWK_MCPS_PAN1_SapHandler() is responsible for data transmitted on PAN 1
For more information please consult the MAC dual PAN documentation included in the BeeKit Wireless Connectivity Toolkit.