Hello ALC team,
I have a few questions about the I2C of DLPC350. Would you please answer these questions?
Q1. The procedure to read the registers is written in “1.1.2 I2C Read Transaction Sequence” of DLPC350 Programmer’s guide, page8.
There is a following description in this section;
5. Host reads a status byte and checks that bit zero is set. If bit zero is not set, the read transaction is repeated until bit zero is set. If bit one is also set, an error occurred. Successful command requests will only have bit zero set.
It is written that if bit0 of the status byte is 0b, the host should repeat the read transaction until 1b is set to bit0.
First, I would like you to explain about the status byte.
Next, what period do you specify for the read transaction? Please tell us which case is correct.
If we use the case of 1.1.2.1 Example Read Transaction Sequence as an example and if the bit0 of status byte is 0b,
1) We should retry from S34 04 P ... (That is, we have to send all again)
2) We just can retry from S35 01 00 P.
3) Except for 1) or 2).
Q2. This is just a confirmation.
There is a description of “3. Host sends a STOP (depicted as P in Figure 1-1) condition.” in 1.1.2 I2C Read Transaction Sequence.
Is this Stop condition always needed? Or, is it not needed in the case of read transaction?
It would be helpful if you can give any comment.
Best Regards,
Nobu Arai