SWRA671 June   2020 CC1312R , CC1312R , CC1352P , CC1352P , CC1352R , CC1352R , CC2652P , CC2652P , CC2652R , CC2652R , CC2652R7 , CC2652R7 , CC2652RB , CC2652RB , CC2652RSIP , CC2652RSIP

 

  1.   Cloning Z-Stack Network Properties Using the SimpleLink Wireless MCU Family
    1.     Trademarks
    2. Introduction
    3. Abbreviations and Acronyms
    4. Tool Versions
      1. 3.1 Command Line Interface (CLI)
      2. 3.2 MAC OS Application
      3. 3.3 Windows Executable
    5. Trust Center and Non-Volatile Memory
    6. Multi-Page NVM
    7. MT Interface
    8. Zigbee Coordinator Setup Procedure
    9. Zigbee Coordinator Cloning Procedure
      1. 8.1 Cloning: Method One
      2. 8.2 Cloning: Method Two
    10. Zigbee Coordinator Cloning Procedure Example
    11. 10 Other Application Considerations
    12. 11 Summary
    13. 12 References
  2.   A TI Zigbee Network Properties Cloning Tool Guide
    1.     A.1 Tool Layout
    2.     A.2 Configuration File
    3.     A.3 Content File
    4.     A.4 Application Selection
    5.     A.5 COM Ports
    6.     A.6 Read Settings
    7.     A.7 Write Settings
    8.     A.8 Output Settings
    9.     A.9 Save/Load Settings
    10.     A.10 Help
  3.   B Establishing a Serial Connection
    1.     B.1 Serial Connections
    2.     B.2 Detecting COM Ports

Trust Center and Non-Volatile Memory

In order to clone the network properties of a ZC it is important to recognize what kind of information is kept within the TC, and which of that information is crucial to maintaining the already formed network. Data within the TC is kept in non-volatile memory (NVM). The reason for this is that NVM can hold saved data even if the power is turned off. The necessary NV items to clone the network properties and a brief description as to the purpose of each is provided in Table 2.

Table 2. NV Memory Required Content

Content NV Region Name Description
Extended Address ZCD_NV_EXTADDR IEEE Identification Address (specific to each device)
Personal Area Network ID ZCD_NV_PANID 2 byte ID used to represent the PAN
Extended PAN ID ZCD_NV_EXTENDED_PAN_ID By default the 64-bit EPID is set to the device’s own IEEE Address. This value could be used during network joining instead of the 2 byte short address
On a Network Flag ZCD_NV_BDBNODEISONANETWORK Boolean used to represent if the device is part of a network (1= On NWK, 0= Not on NWK)
Group Table ZCD_NV_GROUP_TABLE Indicates the groups that have been formed between sets of end points in the network
Network Information Base ZCD_NV_NIB Contains the attributes required to manage the network layer of the device
Active Key Information ZCD_NV_NWK_ACTIVE_KEY_INFO The network key actively in use
Alternate Key Information ZCD_NV_NWK_ALTERN_KEY_INFO Latest alternate key proposed by the coordinator.
Network Security Table ZCD_NV_EX_NWK_SEC_MATERIAL_TABLE Stores the frame counter and the extended PAN ID of the ZC device
Trust Center Link Key Table ZCD_NV_EX_TCLK_TABLE Includes the TX/RX frame counters, extended address, key attributes/type, and the seed shift index of the corresponding devices added to the network
Trust Center Link Key IC Table ZCD_NV_EX_TCLK_IC_TABLE Includes the key and address of corresponding devices added to the network through the use of install codes.

Each of the entries in Table 2 is crucial to cloning the network properties of a ZC, and is the minimum information required. An item identification (Item ID) is given to each item in NVM so the NV driver is able to identify the location of where it is stored within Flash memory space. Within the example projects found in the SimpleLink CC13X2/CC26X2 SDK, the ‘zcomdef.h’ file (Stack -> Sys -> zcomdef.h’) contains the item IDs for each of the NVM regions. Memory regions described in Table 3 contain Sub IDs and the table or list itself has a System ID. The value associated to each System ID can be found within the SimpleLink CC13X2/CC26X2 SDK under each project in the nvintf.h file (Application -> Services -> nvintf.h).

Table 3. System Identification

NV Region System System ID
ZCD_NV_EX_LEGACY Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_ADDMGR Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_BINDING_TABLE Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_DEVICE_LIST Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_TCLK_TABLE Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_TCLK_IC_TABLE Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_APS_KEY_DATA_TABLE Z-Stack NVINTF_SYSID_ZSTACK
ZCD_NV_EX_SEC_MATERIAL_TABLE Z-Stack NVINTF_SYSID_ZSTACK
ZCL_PORT_SCENCE_TABLE_NV_ID Application NVINTF_SYSID_APP
ZCL_PORT_PROXY_TABLE_NV_ID Application NVINTF_SYSID_APP
ZCL_PORT_SINK_TABLE_NV_ID Application NVINTF_SYSID_APP

The system ID is used to specify the system in which the tables or lists are a part of (for example, Zigbee, 15.4, Application). Depending on the number of max entries to a table or list (configurable at compile time), see Table 4. There will be that many locations in Flash reserved for information.

Table 4. NV Region Tables Required for Zigbee Coordinator Cloning

NV Region Bytes Per Entry Pre-Configurable Value Default
ZCD_NV_EX_NWK_SEC_MATERIAL_TABLE 12 - 1
ZCD_NV_EX_TCLK_TABLE 20 ZDSECMGR_TC_DEVICE_MAX 40
ZCD_NV_EX_TCLK_IC_TABLE 20 ZDSECMGR_TC_DEVICE_MAX 40
ZCD_NV_GROUP_TABLE 322 APS_MAX_GROUPS 1

Sub IDs start at the value 0x0000 and increment upward to the entry of choice, maximum value configurable through the table presented above.

NOTE

For the purpose of this report and application, only the entries defined in Table 2 will be discussed.