We have been using the Aardvark I2C/SPI Host Adapter, Level Shifter Board, and Aardvark Software API to communicate with our chips for a few months now. We have set up one workstation and the Aardvark I2C/SPI Host Adapter works reliably.
However, we now need to set up three different workstations to do testing in parallel. During setup, we get the following message: “error: no bytes read – are you sure you have the right address?”
How do I set up the Aardvark I2C/SPI Host Adapter to do parallel testing? Do you know of other causes that will keep us from having all three setups running simultaneously?
Response from Technical Support:Thank you for your question! It is possible to set up the Aardvark I2C/SPI Host Adapter to do parallel testing using the Flash Center Software. This problem is either a setup issue or the DUT is not responding. There could be other reasons for the same - we recommend using our I2C/SPI Activity Board and Beagle I2C/SPI Host Adapter for your scenario to narrow down the issue.
There are multiple ways to use a single computer to communicate with multiple Aardvark I2C/SPI Host Adapters. One way is to use our Flash Center Software. The Flash Center Software lets the user quickly erase, program, and verify I2C and SPI EEPROM and Flash memory chips. One instance of Flash Center Software can support multiple Aardvark adapters, which allows for easy gang programming. You can connect multiple Aardvark adapters to your computer to program your target devices in parallel.
Another option for more complex testing is to use our royalty-free Aardvark Software API. You can use the API example codes to modify into your use case to control multiple Aardvark I2C/SPI Host Adapters from a single computer. The API supports C, C#, Python 2/3, .NET, VB.NET, and VB6.
We recommend viewing our blog post for more information: Testing Multiple Units Simultaneously with the Aardvark Host Adapter
We suggest using our I2C/SPI Activity Board to test your scenario. The I2C/SPI Activity Board can help create a prototype of the system at hand and act as a tool for debugging a system against working slave devices. It can also help differentiate between hardware and software bugs.
We also recommend looking at our Knowledge Base article on “How to Read and Write to an I2C EEPROM Using the Aardvark Adapter and Control Center.” This article describes the steps for the EEPROM found on the I2C/SPI Activity Board that can be used for other devices.
It would also be helpful to find out what is going on on the bus. The Beagle I2C/SPI Protocol Analyzer and our Data Center Software enables the user to monitor the flow of data on the bus. Our video shows how a Beagle I2C/SPI Protocol Analyzer can be used to quickly evaluate a system as seen here:
There may be some low-level analog issues with the setup. We recommend taking a look using a scope to find any signaling issues. Some common causes are: ground loops, insufficient grounding, incorrect pullups, or wires too long or picking up noise. These can all cause unreliable operation of an I2C bus.
We hope this answers your questions. Additional resources that you may find helpful include the following:
If you need more information, feel free to contact us with your questions at sales@totalphase.com or request a demo that applies to your application.