Here are some frequent questions and answers about ZigBee products based on Texas instruments, which are summaried by RF-star - a leading wireless IoT suppiler.
1. Due to the differences among the versions of TI ZigBee protocol stack, how to choose the right protocol stack for development?
TI ZigBee protocol stack Z-Stack is developed from Z-Stack 0.1 to Z-Stack 2.5.1a, and later Z-Stack Home 1.2.1, Z-Stack Lighting 1.0.2, Z-Stack Energy 1.0. 1, Z-Stack Mesh 1.0.0. In the process of upgrading the protocol stack, TI has mainly done two aspects of the protocol stack.
1) Add some new features according to the ZigBee Specification of the ZigBee Alliance.
For example, ZigBee 2007 is a tree-shaped routing. In ZigBee Pro, Mesh routing is coming out, and routing algorithms such as MTO and Source Routing are proposed. TI adds corresponding new features to the protocol stack is to fix some related bugs in specs, such as those with ambiguous descriptions.
2) To fix the bug in the TI ZigBee protocol stack itself.
The difference of the protocol stack between a version and the previous version can be found in the Release Note.
After the version of Z-Stack 2.5.1a, TI protocol stack did not continue to be released directly in the form of Z-Stack 2.6.x, but was released in the form of Application Profile.
The reason is that TI wants developers to choose more targeted protocol stack for development according to the actual application. Protocol stack like Z-stack Home 1.2.1 mainly includes the following two parts.
After the ZigBee Alliance released the ZigBee 3.0 protocol, the latest ZigBee protocol stack is Z-Stack 3.0, which currently supports CC2530, CC2538, CC2652R, CC265P.
2. How to make ZigBee testing and certification?
There is an example about the development of standard ZigBee Home Automation related products. To begin with, when developers develop products, they must develop products according to the products described in the ZigBee Home Automation Profile Specification which can be downloaded at www.zigbee.org. After completing the product development, developers need to understand the ZigBee Home Automation Profile Test Specification which can also be downloaded at www.zigbee.org. The document describes the relevant test items that a specific product needs to be tested in the Test House. There is also a PICS document besides the above two documents. The third document describes the functions supported by the products that need to be certified and tested. Developers compare and confirm the features in PICS according to the actual functions of the developed products and the functions required in the Specification. The testing process is as follows.
At present, there are seven testing laboratories that can do the standard ZigBee testing.
https://zigbeealliance.org/certification/testing-providers/
3. How to select the 64-bit MAC address of the device?
There are two IEEE addresses in CC2530 / CC2538 / CC2630, the one is called Primary IEEE address, and the other is called Secondary address. The Primary IEEE address is stored in the Information Page of the chip. This Primary address is purchased by TI from the IEEE Association, and each of them is unique. The user can only read this value and cannot erase/modify. Reading the address in the protocol stack can obtain Osal_memcpy (aExtendedAddress,(uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),Z_EXTADDR_LEN). The secondary address is stored in the last page of Flash, and the user can perform Read/Write through the function HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, aExtendedAddress, Z_EXTADDR_LEN).
How does the protocol stack operate to select the Primary IEEE address or the Secondary address as the MAC address of the device? The specific operation is in zmain_ext_addr(void).
4. End Device is a low-power device with battery power supply. After the node is disconnected from the network, how to prohibit nodes from continuously searching the network, or how to increase the interval between sending Beacon Requests?
Modify the variable: zgDefaultStartingScanDuration
// Beacon Order Values
#define BEACON_ORDER_NO_BEACONS 15
#define BEACON_ORDER_4_MINUTES 14 // 245760 milliseconds
#define BEACON_ORDER_2_MINUTES 13 // 122880 milliseconds
#define BEACON_ORDER_1_MINUTE 12 // 61440 milliseconds
#define BEACON_ORDER_31_SECONDS 11 // 30720 milliseconds
#define BEACON_ORDER_15_SECONDS 10 // 15360 MSecs
#define BEACON_ORDER_7_5_SECONDS 9 // 7680 MSecs
#define BEACON_ORDER_4_SECONDS 8 // 3840 MSecs
#define BEACON_ORDER_2_SECONDS 7 // 1920 MSecs
#define BEACON_ORDER_1_SECOND 6 // 960 MSecs
#define BEACON_ORDER_480_MSEC 5
#define BEACON_ORDER_240_MSEC 4
#define BEACON_ORDER_120_MSEC 3
#define BEACON_ORDER_60_MSEC 2
#define BEACON_ORDER_30_MSEC 1
#define BEACON_ORDER_15_MSEC 0
5. How to make End Device enter low-power status and how to set the sleep time?
After enable POWER_SAVING in the protocol stack macro definition, and then operate -DRFD_RCVC_ALWAYS_ON=FALSE in the f8wConfig.cfg file, then the End Device can enter the sleep status.
The sleep time is determined by the scheduling of the OSAL operation system. Each sleep time is based on the latest Event Timeout as the sleep time. The details are explained in the protocol stack hal_sleep function.
This timeout is mainly divided into two categories, the one is the timeout of application layer events, and the other is the timeout of MAC layer events.
6. What's new in the ZigBee 3.0 protocol stack?
Please refer to the link below, which introduces the additions of the ZigBee 3.0 protocol stack compared to the previous ZigBee Home Automation/ZigBee Light Link.
https://www.ti.com/lit/an/swra615a/swra615a.pdf?ts=1627190581608
7. Detailed explanation of the state switching of the terminal equipment in the TI ZigBee protocol stack.
8. What are differences between OAD and OTA in TI protocol stack?
OAD is Over the Air Download, and OTA is Over the Air. The functions of these two implementations are the same, and both can be called remote upgrades to the program. In the early ZigBee protocol standard, there is no standard for the over-the-air upgrade of the node program, but many customers have requirements for it. Therefore, TI has developed a set of protocol stacks for the over-the-air upgrade of the program and named it OAD. ZigBee Alliance realized that the demand was increasing, then they also specified a standard for over-the-air upgrades and named OTA, which also referred to TI OAD implementation and made relevant modifications. Therefore, in early TI protocol stack, the over-the-air upgrade is called OAD, and later in ZigBee Alliance, it is called OTA.
9. If the 32K crystal oscillator is not soldered in a non-low power device, how to modify the Z-Stack protocol stack?
In the Z-Stack protocol stack, whether the used crystal oscillator is stable will be checked during the initialization process. If the 32K crystal oscillator is not soldered, the following code needs to be modified. TI Z-Stack protocol stack uses 32K crystal oscillator by default.
In the file of hal_board_cfg.h, #define OSC32K_CRYSTAL_INSTALLED FALSE
10. If a private application need to be developed based on the ZigBee Mesh network, which protocol stack should be selected?
Many users, in some industrial applications, only want to use the functions of the ZigBee mesh network in their own systems or products, and do not need to follow the application layer specifications defined by ZigBee. For such application requirements, how to choose appropriate TI protocol stack for product development? http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/132197.aspx
11. When using CC2630/CC2650 ZigBee to develop, can I debug with a breakpoint in the Core stack code?
Yes. You must download the file corresponding to the breakpoint code and open it in advance, then debugging.
12. How does the Zigbee coordinator select the appropriate channel to create the network?
The creation of a Zigbee network must be completed by a coordinator. A Zigbee network has only one coordinator. The Zigbee coordinator mainly completes the selection of the network channel and the generation of PANID when creating the network. There are two steps to select the channel.
13. How to delete UI and use TI Zigbee 3.0 protocol stack to quickly enter product development mode?
Please click here to view https://e2echina.ti.com/question_answer/wireless_connectivity/zigbee/f/104/t/146528
14. How to optimize the Flash and RAM of CC2530?