Network Freezer

MiWi Development Environment

MiWi(TM) Development Environment Help
Network Freezer
Motivation

Occasionally, a wireless network may lose power. After power is restored, in most of the cases, the wireless nodes might form a different network through different joining procedures. This is particularly obvious for MiWi/MiWi PRO protocols, which use 16-bit network address in communication. After the power cycle, a wireless node in MiWi/MiWi PRO network may be assigned with a different network address. As the result, the application layer may have to dedicate more efforts to handle the power cycle scenario. It is important to develop a feature which can release the application layer from handling power cycle. 

 

Solution

Network Freezer feature is developed to solve this problem. It saves critical network information into the Non-Volatile Memory (NVM) and restore them after power cycle. In this way, the application does not need to worry about the power cycle scenario and the network can be restored to the state before the power cycle without any message exchange after the power cycle. 

 

Interface

Network Freezer feature can be enabled by defining ENABLE_NETWORK_FREEZER in configuration file of application layer: ConfigApp.h. In the demo, this feature has been enabled. 

Network Freezer feature is invoked by calling the MiApp function MiApp_ProtocolInit. The only input boolean parameter bNetworkFreezer indicates if Network Freezer feature should be invoked. When this parameter is TRUE, the network information will be restored from NVM; otherwise, the network information in NVM will be erased and the wireless node start from scratch. 

 

Additional Notes

Network Freezer feature requires NVM to store the critical network information. NVM can be data EPROM in MCU, external EEPORM connected to MCU via SPI, or programming space, if enhanced flash is used in MCU. Choosing the correct form of NVM can be configured in hardware configuration file HardwareProfile.h. The possible options are:

  • USE_DATA_EEPROM
  • USE_EXTERNAL_EEPROM
  • USE_PROGRAMMING_SPACE

For each selection, there are a few minor configurations which can be found in NVM configuration file NVM.h.

Microchip My Application xx.yy - [Jan 1, 2009]
Copyright © 2009 Microchip Technology, Inc.  All rights reserved.