How Can I Find the Root Cause of a System Problem with SPI Devices?

Question from the Customer:

Out test results show a repeated error while programming M95128-R EEPROMs. The EEPROMs are located on separate panels. To program these SPI devices, we use relays and the Cheetah SPI Host Adapter. We are using LabVIEW to control the relays, which select the cables to connect to the CS, MOSI, MISO, and CLK of the desired panel. Here is a diagram of our setup:

Setup For Programming SPI EEPROMs Programming SPI EEPROMs

Our issue is we are having a repetitive, consistent failure. Everything runs smoothly and then shortly after an error occurs and one of the panels fails. After investigation, we have assessed that we are not damaging any of the panels as we originally suspected. In fact, despite the failures that repeatedly occur in our setup, we can program the panel EEPROMs separately with a different programming device.

We have also ruled any hardware problems with the Cheetah adapter. We have several Cheetah adapters, and we have achieved the same results with each Cheetah adapter.

So far, we have been unable to identify and resolve the root cause of this consistent problem. How else can we analyze and remedy this issue? Are there other tools and techniques to consider?

Response from Technical Support:

Thank you for your question! Based on the information provided, it may be a setup issue or the target device is not behaving correctly. There may be other causes for the results of your system actions. To obtain the necessary information to resolve your issue, we have recommendations to help you more deeply observe, monitor, and analyze the activity of your setup.

Recommendations to Successfully Analyze the Root Cause

There are various methods to obtain the details you need to understand and resolve the issue that has been occurring with your setup. One method involves reproducing your system in a more controlled environment. Another method is monitoring the traffic of your system - identifying the root cause by gathering and filtering real-time data.

Prototyping the System

We suggest using our I2C/SPI Activity Board for your scenario. This should help you create a prototype of the system and act as a tool for debugging a system against working slave devices. This approach can help differentiate between hardware and software bugs. The activity board is also useful for establishing a baseline for software commands and responses. For guidelines, you can take a look at our Knowledge Base article, How to Read and Write to an I2C EEPROM Using the Aardvark adapter and Control Center Software. This article provides steps that apply to the AT24C02 I2C EEPROM that is included with the I2C/SPI Activity Board. You can modify the steps as needed for your SPI system.

Monitoring Real time SPI Transactions

Depending on the complexity of your system, you may need more details to fully understand the cause of error and failure.  In addition to the  I2C/SPI Activity Board,  we recommend also using  Beagle I2C/SPI Protocol Analyzer with our Data Center Software, which you can easily integrate in your setup. This powerful and cost-effective set of tools will enable you to monitor the flow of data on the bus, facilitating real-time monitoring along with diagnostics and communication. Please look at our Video that demonstrates how the Beagle I2C/SPI Protocol Analyzer can be used to quickly analyze and debug a system.

We hope this answers your question. Additional resources that you may find helpful include the following:

If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.

Request a Demo