For my setup, the internal pull-ups of the Aardvark I2C/SPI Host Adapter will be disabled and 2.2k pull-ups will be connected from the SCL and SDA lines to a 2.7V voltage source. Here is a diagram:
My question – will this setup work? I am working on a system where signal voltage levels could vary more than normal.
Response from Technical Support:Thanks for your question! Setting up pull-up resistors correctly can make a big improvement for signal integrity and bus tolerance. However, the Aardvark adapter is only compatible with 3.3V and 5V level signals. Operating with signal levels outside of that range would not work with the Aardvark adapter, and could possibly void the warranty should any damage occur.
To successfully communicate with 2.7V and other signal levels, we recommend using our Level Shifter Board. If you want to simplify the setup – avoiding adding a second device to your setup, we recommend the Promira Serial Platform, which provides an internal Level Shifter and many other capabilities.
To understand signal level performance, we will describe how and why the internal resistors work and when external pull-up resistors are needed. Then we will talk about the recommendations we provided.
In the Aardvark adapter, there is a 2.2K internal resistor on each I2C line: SCL (clock) and SDA (data). The lines are pulled up to 3.3V, which results in approximately 1.5 mA of pull-up current. If the Aardvark adapter is connected to an I2C bus that also includes pull-up resistors, the total pull-up current could be larger.
The I2C specification allows a maximum of 3 mA pull-up current on each I2C line.
The Aardvark adapter has two internal pull-up resistors on each line: 2.2k ohm and 100k ohm resistors in parallel.
Here is a good rule of thumb: if a downstream I2C device can sink more than 5 mA of current, the protocol should operate properly. Stronger pull-up resistors and larger sink currents may be required for fast bitrates, especially if there is a large amount of capacitance on the bus.
As previously mentioned, we suggested two solutions to successfully run your setup. We will provide an overview of those options here.
Here is a summary of the features of the Level Shifter Board:
When used, the Level Shifter Board is placed between the Aardvark adapter and the target device. The Level Shifter Board can also be used with the Cheetah SPI Host Adapter and the Beagle I2C/SPI Protocol Analyzer.
To deploy level shifting without additional hardware, consider using the Promira Serial Platform licensed with the appropriate I2C Active Level application: Level 1, or Level 2. Note:, Active Level 1 is required before installing Active Level 2.
Here are the basic features of the Promira Serial Platform:
for benchtop programming, testing, and emulation
Here is a visual summary of all the features, as well as a quick overview of other Total Phase devices for working with I2C and SPI protocols:
For an Introduction to using the Promira Serial Platform, take a look at this video:
We hope this answers your questions. 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.