Before following this guide, please be sure to review the article covering the SPI analyzer basics here: Using the SPI Analyzer
In many cases, there is no chip select signal available for an SPI bus that needs to be recorded.
The SPI analyzer included in the Saleae Logic software supports this case. In the event you record SPI data and there is no valid enable signal, simply change the "Enable" channel in the SPI analyzer settings to "None" as shown here:
This will usually work just by itself. However, in some cases, the analyzer will not decode the data correctly. That is because the SPI analyzer usually relies on the enable signal to align the data—that is, determine which bit of data should be the first bit in each byte and which bit should be the last.
Shown here is a typical issue where the alignment is off. You can clearly see that the pulses on the clock channel are in groups of eight—8 bits in each byte. There is a short gap between each byte.
However, even though the analyzer is decoding the data in groups of 8 bits, it is not starting on the correct bit. Instead, it is taking some bits from the end of the previous byte and adding them to the bits at the beginning of the next byte.
Here are the two most common causes of this:
- The logic analyzer started recording in the middle of an SPI byte.
- There are other erroneous transitions on the clock channel before the valid SPI data.
This is easy to fix. You will need to tell the SPI analyzer where the valid SPI data starts in the capture. The analyzer will then use that as the new starting point of the capture and decode data from that location.
Here's how this is done:
- Place a timing marker just before the start of the first valid SPI byte.
- Configure the SPI analyzer to start decoding at that location.
First, add the timing marker by clicking the A1 button on the right side of the screen. Then click on the graph at the location where you would like to place it, as shown here:
Next, open the SPI analyzer settings menu and select "Re-run starting at timing marker...". From that list, select the timing marker you just placed.
After a moment, the SPI analyzer will automatically reprocess the capture. The data should now be aligned correctly, as shown here:
That's it! If you have any trouble with it, please try repeating the process and also contact Saleae support.
trello ID: 5849c1dba38920d68e9733a1
trello data: -48931347