Blog
Technology Sharing
I2C Host Adapter (1)hits:3


Easyi3C is a leading supplier of embedded system tools that simplify the development and debugging of various communication protocols. The company offers a range of products designed to help engineers and developers use I3C/I2C , USB and MIPI, JEDEC, MCTP and other protocols more efficiently.


It has been almost 50 years since the birth of the I2C protocol. However, there is no simple and easy-to-use I2C 

Adapter on the market that can test I2C timing and filter. The existing solution is generally to test through DTG 

or ATE, which is cumbersome and costly. Some companies have given up testing these parameters and basically 

rely on the designer's design experience to ensure the correctness of the above parameters. For customers, any 

chip product that has not been tested for I2C timing and filter effectiveness may actually have potential 

problems, and product reliability cannot be guaranteed. It is precisely to solve these pain points of customers 

that we launched the self-developed I2C Adpter. In order to help customers get familiar with our products 

faster, we explain them through a series of articles in the column.



1. Product Design Introduction

In order to solve the above user pain points, we have made unique innovations in product design and designed 

two I2C master controllers to be placed in the Adapter at the same time, as shown below:

1749349030128420.png

Easyi3C Tower I2C Host Adapter includes two I2C master controllers. One is the main controller; the other is the 

debug controller. The two controllers are on the same bus. You can call any API of one of the controllers to send 

the I2C protocol. The main controller is designed for normal operation to ensure that the host can complete 

operations such as reading and writing normally. The debug controller is designed to test specific protocol 

parameters. You can use the debug controller to set different timing parameters, write data through the debug 

controller API, and then read back the data through the main controller API for verification. Through this unique 

and innovative design, the verification process of the timing parameters can be completed through an 

automated python script, thereby simplifying the verification process, and quickly scanning the upper and lower 

boundaries of different timing parameters, so that the normal working timing range of the slave chip can be 

quickly obtained.


The following are some APIs that can be used by Main Controller:

1. Configure API

configure.png


2. Read and Write API

writeapi.png


The read/write functions provided by these APIs follow the original I2C read/write protocol. All data after the 

address byte is treated as data only. The concept of registers is not introduced in the EasyI3C API. This is to 

provide more freedom for different uses. Users can use the EasyI3C read/write API and appropriate read/write 

flags to write register read/write APIs according to their device specifications.


The above are some relatively common operations. Basically, all products on the market already have these 

common functions, and everyone should be familiar with them. Our introduction is relatively brief. If you want 

to know more detailed introduction, you can download more complete documents from our official website.


The following highlights the differences between our products and other products.

3. Debug Controller APIs:


In order to test the different timing parameters and filters of I2C in MIPI protocol, as shown in the following 

figure:

timing_mpi.png

Our debug controller supports configuration of the following parameters:

parameter.png

In order to set the above parameters, we provide the following API, which can be set dynamically:

API_parameter.png

At the same time, we provide a set of read and write APIs similar to standard read and write for users to use:

debug_write.png


We will introduce the specific detailed usage later. If you want to know more, you can go to the official website 

to download product related information.


In order to lower the threshold for customers to use our products, the functions tested above can be debugged 

through our Tower Console GUI. The following describes how to debug in the Tower Console GUI.


Previous: NONE!
Next: NONE!
Return Back

Service Line:

Address:Silicon Valley
Email:support@easyi3c.com

Copyright © Easyi3C Co., LTD