We’re working on a small production system that we need to upgrade to make it run faster. The system uses the Cheetah SPI Host Adapter to send SPI messages with C#.NET 2013 and Cheetah Software API. It sends 10 sets of 128 byte frames in 2 milliseconds and resets the Slave select (SS1).
We observed there is a time lag of at least 220 microseconds per reset. This is a problem for us, as that lag only allows 10 frames over 2 milliseconds. The system still works, but we need it to be much faster. How can we get past this Slave Select reset time lag?
Thanks for your question!The Cheetah SPI Host Adapter software and hardware have been meticulously designed to ensure maximal average throughput over the bus. In other words, if the SPI clock rate is set to 30 MHz, the average data rate across an entire transaction will be nearly 30 Mbps, end-to-end from the host PC to the SPI target device. This performance is stable for very large transactions ranging from kilobytes of data to megabytes of data.
Figure 1: Cheetah SPI Host Adapter |
Figure 2: Timing diagram |
However, bus latencies are present and unavoidable; the more transactions you run, the greater the latency. To achieve your speed requirement, we recommend using a single transaction with a much larger block of data. In other words, to achieve the fastest throughput, use single transactions that transfer a large number of bytes.
Alternatively, we offer the Promira Serial Platform that features an Ethernet connectivity option that eliminates the USB bus latencies experienced with the Cheetah SPI Host Adapter.
For more information about SPI timing, please see the SPI Signaling Characteristics section in the Cheetah SPI Host Adapter User Manual.
Additional resources that you may find helpful include the following:
If you have other questions about our host adapters or other Total Phase products, feel free to email us at sales@totalphase.com, or if you already own one of our devices and have a technical question, please submit a request for technical support.