I am using the Aardvark I2C/SPI Host Adapter in SPI/GPIO mode as a slave. I set up a MISO message in the Control Center software (I’m using Windows), and the transaction log indicates that the MISO data is written on the bus.
However, when I use a scope on the SPI lines, the MISO line seems to echo back the MOSI data with a one byte delay instead of the preset MISO message.
What can I do to fix this delay? This is my setup:
Thanks for your question! Most likely, the target system (SPI master) is not set up to match the Aardvark SPI timing requirements. For details about the SPI timing characteristics, please refer to section 2.4 of the Aardvark I2C/SPI Host Adapter User Manual.
You must modify the target system, the SPI master, to match the timing requirements for the Aardvark adapter. For correct transmission from the SPI slave to the SPI master, there must be a minimum 4 µs delay between the end of byte n and the start of byte n+1. This enables the MISO data to set up properly for byte n+1.
If the target system (SPI master) does not follow these requirements, then the slave Aardvark adapter does not send the required data to the SPI master through the MISO line. Instead, the Aardvark SPI slave sends some of the MOSI data it just received through the MOSI line to the SPI master.
Here are some additional resources that you may find helpful include the following:
We hope this answers your question. 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.