Search
Debug through SPI interface

Our customer develops industrial products for digital media production.

His products are composed of several complex digital boards with multiple high end FPGA. These products are regularly upgraded through FPGA firmware changes, including on-site.

All the FPGAs in the design feature a custom debug interface connected to a 4 pins header and based on the use of the SPI (Serial Peripheral Interface). This serial port allows collecting internal data of the system FPGAs like register values, memory dumps, and diagnose / debug the system during design. Having a side door to dump parameters from the system is especially critical when the PC communication is down or irrelevant. It also helps narrowing the search for the source of a problem at FPGA level.

A SPI protocol is used and generalized due to its high simplicity while ensuring good bandwidth performance (serial communication up to 80 - 100 MHz).

Customer's requirements

Some system deployed in his industrial customers are used for experimental purposes on new applications. There appeared a need to extract some trace data from the SPI port initially used for debug.

The main requirements were:

- to have a bidirectional interface to read traces and modify functional parameters of the system;
- to allow maintenance crew run diagnostic on site through this debug port;
- to reuse this SPI debug port - the customer did not want to have to design another port nor to recall the deployed systems for maintenance purposes.

Byte Paradigm's solution

- SPI Xpress is used as a general-purpose probe for debug, diagnostic and maintenance purposes. The customer has developed a whole diagnostic software in C with an easy-to-use user interface to allow his remote customer run automatic tests and collect trace values through the SPI debug interface. This application makes simple functions calls from the SPI Xpress control libraries.

- The results are collected on the control PC and can be sent automatically to his site for analysis.

Since then, this customer has generalized the approach and includes such a diagnostic port into all of his designs.

Update (2011): Similar application cases where non-standard serial protocol is used are now solved with SPI Storm device.  As host adapter supporting standard SPI and non-standard user-defined protocols, SPI Storm enables applications where standard SPI is not possible.

Examples of such cases:
- Applications where the user has defined his own serial protocol that derives from SPI: additional reset pulses sent on the data lines, more complex clock start/stop schemes, protocols with bi-directional data lines and/or open-drain signaling.

- Applications that require multiple parallel data lines. This case is very similar to using quad-SPI protocols for flash memories.

SPI Storm supports SPI, advanced protocols on 3-wires (bi-directional data line), dual-SPI and quad-SPI protocols.
A very interesting feature of SPI Storm host adapter  is the ability to define virtually any serial protocol by segments, enabling non-standard serial protocols. 

Recommended products

- SPI Storm
- SPI Xpress

Compare the 2 devices here.  

 

News