This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi team,
I would like to know more about the behavior when the 954 releases the clock stretch.
I assume the following configuration.
I understand clock stretching will occur on the host I2C when executing instructions to the remote slave as follows.
At this time, 914 is pulling down SCL and SDA is high.
I think that I2C transaction ends at remote I2C and 914 will release clock stretch when ACK or NACK returns at 914, but I want to know the behavior of 914 at that time.
If ACK is returned.
914 will pull SDA low and after a while releases SCL.
Thereafter, 914 does nothing until the host pulls SCL low.
When the host pulls SCL low, 914A also releases SDA.
That is, as long as the host does not pull SCL Low after releasing the clock stretch, the local I2C is stalled in that state.
Is it right?
Is there a possibility that 914 will change SCL or SDA after releasing clock stretch?
Best regards,
Tomoaki Yoshida
Hi Palaniappan-san,
Thank you for your support.
I attach the pictures as followed.
1. Assumed system configuration
2. Assumed Format To Remote I2C Slave
This is the behavior when 914 releases the clock stretch as enclosed in red.
3. I2C transaction
I would like to know how 914 handles SCL, SDA in the part enclosed in red.
I believe that SDA will remain as long as host does not lower SCL to Low.
II want to know if 914A could pull SCl low or change SDA before the host pull SCL low.
In that case, I want to know under what conditions it will happen.
Best regards,
Tomoaki Yoshida
Hi Palaniappan-san,
I have an additional question.
Is SDA always high while 914 is pulling the SCL low for clock stretch?
I think that the waveform will be as follows.
Please tell me if there is any mistake in my perception.
Note: The content of the data has no particular meaning.
Best regards,
Tomoaki Yoshida
Hi Palaniappan-san,
Thank you for your support.
I am evaluating while looking at the specification sheet of I2C and the data sheet of 914A.
It was confirmed that the remote slave access was done correctly.
However, I have one point that I do not know whether it meets specification, so please tell me your opinion.
Monitor the Host (914A side) I2C and Remote (913A side) I2C like the waveform below.
The point to worry is that SDA is Low or High while remote SCL is stretched Low.
For Host I2C, SDA is High during clock stretch.
Under the I2C specification, I think that SDA will be released after returning ACK, is this correct behavior?
In the configuration described above, writing from the host to the register of the imager which is the remote slave.
I thought that the remote SDA will be High at this timing as shown in the previous figure, so I want to check if this is a correct behavior.
Best regards,
Tomoaki Yoshida
Hi Palaniappan-san,
Any update on this issue?
I look forward to your response.
Best regards,
Tomoaki Yoshida