Packet Trace Interface, also known as the PTI, is a peripheral that is proprietary to the Silicon Labs portfolio of devices. This peripheral collects all received and transmitted packets and some meta data directly from the sequencer, thereby providing valuable information to help debug complex problems in a mesh network. The packet sniffer, unlike the PTI is a device that is external to the network and simply monitors all Zigbee traffic on a channel.
Advantages of the PTI peripheral over using a packet sniffer to capture network traffic:
1. Since the packet sniffer is external to the device-under-test (DUT) and network under test, it may or may not capture all traffic as seen by the DUT. i.e., If a packet was captured on the sniffer, it may or may not have been heard by the DUT. Conversely, a missing packet on the sniffer that may indicate a problem may have been actually been heard by the DUT.
2. PTI packet trace helps capture network traffic from the perspective of multiple nodes on the network, without repeating packet traffic, and keeping packets in order. This might otherwise require manual decoding using sequence numbers / frame counters on a sniffer.
3. The PTI works seamlessly with Silicon Labs Simplicity Studio's network analyzer and visually pairs packets with their acknowledgements, groups various events into transactions , etc. This makes it easy to decipher large log files compared to looking at individual packets on a sniffer. The user is able to look at a birds eye view or drill into as much detail as necessary.
4. Although the PTI is able to log a treasure trove of useful information directly from the chip, it does not burden or result in any software overhead on the Cortex M core.
5. Additional debug data can be viewed in the same timeline as the packet trace capture. This debug information includes:
User printf data
Appended meta data such as RSSI, link quality, receive sensitivity, etc
EZSP trace of all activity between the host and NCP
Packets that the network analyzer deems dropped / corrupt or missing., etc.
Note that some of these may require enabling "Debug extended library" plugin.
6. PTI can be used to capture network trace on multiple protocols (Bluetooth LE, Zigbee, Thread, Bluetooth mesh). This can be particularly useful in Dynamic multiprotocol applications where the radio divides time running two or more protocols.
Enabling PTI on custom boards:
Set aside 2 port pins that support FRC_FRAME and FRC_DOUT for the PTI_FRAME and PTI_DATA. We strongly recommend that these pins be brought out into the standard Simplicity mini 10 pin header on custom boards for ease of connection.
To enable peripheral, open hardware configurator and enable PTI making sure to match PTI pins with those chosen on schematic. PTI baud can be set to the default value of 1600000.