I am trying to sample IMU (inertial measurement unit, M-G362PDC1 by Epson) data at 100 Hz but my setup misses some of the 16-bit SPI data samples. Here’s my setup:
Looking at section 3.8.4 of the AardvarkTM Host Adapter User Manual, it looks like samples are missing because of USB scheduling delays. What can I change in the setup to read all the SPI data samples at the higher frequencies?
Thanks for your question! For your application, we recommend using the CheetahTM SPI Host Adapter. The preliminary Epson IMU that you are using sends 16-bit data without any clock delay. However, the Aardvark adapter requires some delay (td 7 to 9us) after 8-bit data as described in section 2.4 of the Aardvark adapter manual. Therefore, the IMU does not provide the required SPI signaling characteristics to the Aardvark adapter. The Aardvark adapter is a general purpose device, that can actively communicate on the bus, and provides master and slave capability along with I2C/SPI features. The Aardvark adapter can transfer up to 8 bits of data without td delay. The Aardvark can not transfer 16-bit data without a td delay.
The Cheetah adapter actively communicates on the bus, operates at high speeds up to 50 MHz, can provide gapless shifting, and provides control over the timing of the data that is shifted out. The Cheetah adapter can send multiples of 8- and 16-bit data without requiring a delay. For additional information, please refer to section 2.5 of the Cheetah Host Adapter User Manual.
For an example of using the Cheetah adapter to read/write to the IMU, please refer to Writing and Reading from SPI Flash Using Cheetah Adapter and Cheetah GUI. You will need to modify the instructions according to the IMU datasheet.
Regarding the API code, it will need to be converted from Aardvark Software API code to Cheetah Software API code.
For additional information, please refer to the following documents:
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 submit a request for technical support.