Reset Module Logic Analyzer Trace

The following images show this example as captured on a logic analyzer. This trace can be downloaded and viewed with free software from www.saleae.com. This is the best way to analyze the data, as it allows you to zoom in/out and measure timing.

NOTE: In these logic analyzer traces MRDY is connected in hardware to Chip Select, hence the MRDY signal on the logic analyzer appears disconnected.

When the application processor (e.g. MSP430, Stellaris, etc.) toggles the Module's Reset signal, the module will respond with a SYS_RESET_IND message. The module does this by first setting the Slave Ready (SRDY) line, and then the application processor polls the module to retrieve the message. The signals used are described in more detail in Physical_Interface and are:
 * CS - Chip Select, connected in hardware to MRDY
 * SCLK - SPI Clock, output from the application processor, input to the module
 * MOSI - Master Out, Slave In, output from the application processor, input to the module
 * MISO - Master In Slave Out, output from the module, input to the module
 * RESET - Module Reset, output from the application processor, input to the module
 * SRDY - Slave Ready, output from the module, input to the module

The SYS_RESET_IND message is an [Asnychronous Request Message].

The image below shows the entire operation:

Toggle RESET Signal
First, the application processor toggles the RESET line of the module for 1mSec:

Send POLL Message
Next, the module performs its internal initialization. When it is done it pulls SRDY goes low. This indicates to the application processor that there is a message waiting to be retrieved. To retrieve the message the application processor sends a POLL message (0x00-0x00-0x00) to the module:

Retrieve SYS_RESET_IND message
After receiving the POLL message the module will hold SRDY low while it is processing the request and then set SRDY back to high when the response is ready. When the application processor detects that SRDY goes high, it retrieves the data by sending again, a poll, and then based on the length field received (first byte) continue to clock SCLK to get all the data.

