Support Question of the Week: How to Use One Aardvark I2C/SPI Host Adapter to Read and Write to I2C and SPI Devices

Q: I have a project that needs a host adapter to simultaneously communicate with an I2C device and an SPI device. Both devices are sensors and I need to collect time stamped data from them. I plan to use Python and the Rosetta language bindings.

Can I achieve this with one AardvarkTM I2C/SPI Host Adapter?

Thanks for your question! Yes - the Aardvark I2C/SPI Host adapter can operate as an I2C master and an SPI master for polling I2C and SPI sensors - read and write to I2C and SPI devices. The Aardvark adapter supports functioning as an I2C master up to 800 kHz and as an SPI master up to 8 MHz. For your application, the following software tools can be used with your Aardvark adapter: Control CenterTM Software and the Aardvark API. Python is one of many languages supported.

Aardvark 12C/SPI Host Adapter simultaneously supports master I2C and master SPI Figure 1: Aardvark I2C/SPI Host Adapter

 

  • The Control Center Software provides full access to all Aardvark adapter functionalities and can eliminate the need to write custom software to control the Aardvark adapter. It has also an XML batch scripting capability to help simplify repetitive commands, such as writing a series of commands to your sensors or performing multiple reads.
  • The Aardvark API comes in handy when a customized solution is required.  The API is more flexible than the Control Center Software, but does require some more programming knowledge.  However, it can be a very powerful tool for creating your own applications.  The API is cross-platform (supports Windows, Linux, and Mac) and supports multiple languages (C, Python, Visual Basic, and C#). API examples are provided that show how our API works, which can be modified and applied for your specific applications.

If higher speed is needed for reading and writing SPI data, consider using the CheetahTM SPI Host Adapter. The Cheetah SPI adapter actively communicates on the bus, operates at speeds up to 40+ MHz, can provide gapless shifting, and provides control over the timing of the data that is shifted out.  To compare signaling characteristics, please refer to section 2.4  of the Aardvark Adapter User Manual and section 2.5 of the Cheetah Adapter User Manual.

Cheetah SPI Host Adapter for Queuing Commands on SPI Bus Figure 2: Cheetah SPI Host Adapter

For additional information, please refer to the following documents:

Aardvark Getting Started
Aardvark Host Adapter User Manual
Control Center Software User Manual
Flash Center Software User Manual
Aardvark API
Cheetah Host Adapter User Manual
Total Phase Products
Product Selector Guide

We hope this answers your questions. 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.

Leave a Reply