We are running a series of MCTP commands to a slave device (address 0x3a) using the Aardvark I2C/SPI Host Adapter (address 0x70). We observed some NACKs occurred. Could you help us understand what is causing this? Looking at the SMBus specification, we believe this should not happen.
Also, can you provide information about the clock stretching that occurs?
Response from Technical Support:Thank you for your questions! Using the MCTP and SMBus compatible tools that we have in the lab, the Aardvark I2C/SPI Host Adapter as the master device and the I2C/SPI Activity Board as the slave device, we were unable to duplicate the results that you described. However, we can provide guidelines to help check the operation of your MCTP device, as well as describe why clock stretching occurs.
To easily apply commands and view/analyze live data, we recommend using the Control Center Serial Software. Here is an overview of the setup:
In the Control Center Serial Software, select the Master tab under I2C Control and do the following:
The transactions will be displayed in the Transaction Log as shown below:
For advanced examples of analysis and troubleshooting, please refer to Monitoring and Emulating SMBus and PMBus Using Total Phase I2C Tools.
The Aardvark adapter supports clock stretching, as specified in I2C protocols. Clock stretching allows an I2C slave device to force the master device into a wait state. A slave device may perform clock stretching when it needs more time to manage data, such as storing received data or preparing to transmit another byte of data. This typically occurs after the slave device has received and acknowledged a byte of data.
The Aardvark adapter is designed to support clock stretching as either a master device or a slave device. However, only a slave device can initiate the clock stretch. The clock stretching feature cannot be disabled or otherwise controlled in the Aardvark adapter.
For more information, please refer to the article What Causes I2C Clock Stretching? When Is It Needed?
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.