I am using the Promira Serial Platform with the I2C Active - Level 1 Application. Using the Control Center Serial Software, I set the bitrate to 1MHz in I2C Control menu, but when I measured the I2C frequency with an oscilloscope, I see that the actual frequency is around 800KHz, not 1MHz. Are there other settings I can use to increase the speed of the bitrate?
Response from Technical Support:Thanks for your question! There are two ways you can accelerate the bitrate. You can use the Promira Software API and connect the Promira platform via Ethernet. Depending on the hardware version of the Promira platform, using pull-up resistors may also help increase the I2C frequency.
GUI applications, including Control Center Serial Software, have both operating system (OS) and graphical user interface (GUI) latencies, which affect the bitrate. To bypass the GUI latencies, we recommend using Promira Software API I2C/SPI Active. This API is compatible with multiple OS (Windows, Linux, and Mac) and supports multiple languages (C, Python, Visual Basic, and C#). Software examples are provided that can be used as is or modified for your specifications. For more information, please refer to the API Documentation section of the Promira Serial Platform I2C/SPI Active User Manual.
Latencies occur when over USB when delivering I2C or SPI data: round-trip delays occur. When the Promira platform is connected via Ethernet, the speed is increased.
When using Ethernet connectivity, you can provide power to the Promira platform via a USB 2.0 / 3.0 A-micro B cable, or an external power adapter. A 5V, 1.2A adapter is provided in the Promira Ethernet Kit. Following are instructions on how to connect the Promira platform via Ethernet.
The Control Center Serial Software is used for setting up the Ethernet connection.
Depending on the hardware version of the Promira platform, using external pull-ups may improve the speed.
For hardware versions 1.5 and 1.01, the frequencies set is closer to the actual frequency because the pull-ups are “stronger”.
For hardware versions 1.7 and 2.10, the internal pull-ups are 2.2K Ohms. In this case, the signal rise times are higher, which affects the clock period.
If you are using a 3.3V signal level, we recommend disabling the internal pull-up, and using an external pull-up of 500 Ohms.
We hope this answers your question. Additional resources that you may find helpful include the following:
If you have more questions about our Total Phase products, feel free to contact us at sales@totalphase.com.