< Previous question : Which serial protocol do you use?
Next question: What is the maximum frequency of your master clock?>
If your answer is 'YES', then SPI Storm is the solution for you. ! SPI Xpress DOES NOT support custom serial protocols. !

Here is why:
What we define as 'custom protocols' are types of accesses that do not correspond to any standard protocol that we defined previously (our 'standard protocols' are defined with the previous question: Which serial protocol do you use?)
SPI Storm Studio software features a specific interface used to define custom protocols. Here are the basic principles for defining a 'custom protocol':
1) A serial protocol can be divided into 'segments' defined by its length and properties;
2) 'Segments' properties are:
- Clock (SCLK) frequency; this frequency also defines the data rate (that is, the rate at which the data toggles / is sampled on the data lines)
- Clock level during the segment (IDLE high, IDLE low or toggling)
- The use of 1 to 4 data lines
- The 'direction' of each data line: out (generation), in (sampling), high-Z
- The type of use of each data line: variable data generation, constant data generation, keep last level, don't use, data sampling.
'Segments' are the building blocks used to make a full protocols.
3) 'Segments' can be assembled into one or several 'macros'. The 'macros' are the basic accesses defined by the custom protocol.
SPI Storm Studio also features additional properties, like using an extra 'bus direction bit', or using open-drain output.
A simple example:

The protocol shown above only uses 1 clock signal and 1 data line.
It can be seen a sequence of 4 phases that generate data on the SDATA line, together with a reference clock signal.
- During Phase 1: SCLK is left at IDLE 0 level; the data line is 2 cycles long, and sends a fixed sequence of bits (1 - 0);
- During Phase 2: SCLK toggles, while 4 variable bits are sent onto the serial data line.
- During Phase 3: SCLK keeps on toggling, and a fix 4 bits pattern is sent onto the serial line (0 - 0 - 1 - 0).
- During Phase 4: SCLK keeps on toggling, and a new variable 5 bits pattern is sent to the slaves on the data line.
Finally, the clock and data lines return to their initial state.
Please note: this specific protocol can be seen as a sequence of custom segments - OR - a sequence associating Phase 1 with a standard SPI access.
SPI Storm also allows associating custom segments with standard protocol accesses.
< Previous question : Which serial protocol do you use?
Next question: What is the maximum frequency of your master clock?>