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.
1. Switch to I3C as shown below:
2. You can manually enter the Slave address as shown below. If you used the previous "Search Device" and
selected a Slave device, this place will be updated synchronously.
3. A big difference between the I3C protocol and the I2C protocol is that it supports many CCC commands.
In order to simplify the verification complexity of users, we have supported many CCC commands by default
in the GUI. As shown in the figure below, directly select the command and click "Transfer" to send the relevant
command to the data bus. It is simple and easy to use:
2) When you select “ENEC”, you must manually enter the data into the red box according to the protocol
requirements, and then click the “Transfer” button. The Easyi3C Tower adapter will send “0x7E+ENEC CCC+“01”
data”.
If you don’t input data into the red box, click “Transfer” button. Easyi3C Tower adapter will only send “0x7E+ENEC CCC”.
3) When you select “GETPID”, click “Transfer” button. Easyi3C Tower adapter will send “0x7E+GETPID CCC”. According to the protocol, this command has a return value, and you can see the data in “Transaction Log”.
Note: Before sending the read and write commands, make sure that the connected Slave device has entered the
I3C mode. You can first send SETAASA or ENTDAA through the CCC command above. This depends on the
protocol support of your chip. Make sure that the Slave device enters the I3C mode to ensure correct read and
write data. According to the MIPI I3C protocol, when sending the CCC command, the PP frequency setting of
the SCL CLOCK in the first item cannot exceed 4000.
3. Next, you can perform read and write operations. Enter data in the interface below, and then click "write".
The data will be sent to the data bus in the form of I3C protocol. For example, in the following example,
enter "12 34 56 78 90", which is in hexadecimal format, and then click "write". At this time, the data will be
sent to the slave device with address 0x5F.
4. In the following interface, you can also load more data to be written more conveniently, or save the data
to be sent for direct loading next time:
5. The above is to verify the I3C write operation. The next step is to verify the I3C read operation. There are
two ways. The first is Direct Read, which reads data from a fixed Slave address such as 0x5F. The data value
read is related to the address pointed to by the current stack frame of the slave chip:
The second is the traditional register reading method:
6. The I3C protocol specification is more complicated than I2C, and there are more options as shown in the
figure below. If you select Enable IBI, it means that the IBI function of Easyi3C Tower adapter is enabled. If IBI
is triggered on the bus, you will see the corresponding IBI related event information in the running log interface,
such as PEC error, Parity error, etc.
7. In particular, if the IBI event only has an address but no payloaddata, you can set it as follows:
Next, we will continue to introduce how to verify the I2C protocol.