Overview#
The host communicates with a Network Co-Processor (NCP) that runs EmberZNet PRO. The NCP is a chip from the Silicon Labs portfolio of wireless mesh chips which is programmed with Silicon Labs-supplied EmberZNet Serial Protocol (EZSP) UART or SPI NCP firmware.
EZSP-UART using ASH may be a better choice than the SPI protocol if:
The Host processor is running a large-scale multi-tasking operating system that can benefit from the protocol’s tolerance for Host response delays.
The serial connection between the Host and the Network Co-Processor is slightly noisy due to a long or unshielded cable.
The Host does not have enough GPIO pins available to implement the SPI interface.
ASH may not be a good choice in other systems for the following reasons:
On some platforms, ASH does not allow the Network Co-Processor to sleep and thus cannot be used on sleepy devices.
Command execution may take longer due to the lower UART speed and the need for messages to be acknowledged.
The Host processor must supply more RAM and program memory, and perform more processing.
The ASH protocol is a data-link layer protocol below EZSP and above the serial device (or UART) driver. The following figure shows the ASH layer’s relationship to other software layers in the Host and Network Co-Processor.


The ASH protocol includes features for reliable and efficient communication between the host processor and the Network Co-Processor:
Frame-based protocol with only four (4) bytes overhead per message
All frames are validated using a 16-bit cyclical redundancy check (CRC)
Byte stuffing provides binary transparency, so any binary data can be sent and received
Sliding window acknowledgement performs better than simple stop and wait protocols
Command responses can be given priority over callbacks to prevent host receive queue overflow
Acknowledgement timeouts adapt to actual timings
Silicon Labs supplies EZSP-UART for the NCP as a program image, and for the host as C-language software in source form that is compatible with both Linux and Windows. The ASH host software is ready to compile and run on most PCs, and can usually be adapted to a particular embedded host processor with a few simple edits.