Hi Luke
1.-
- Your first 2 sentences looks correctly
- Does that mean my only means to disconnect is with the IDLE timer (necessitating that I have configured the IDLE timer when requesting the bus in the first place)?
Are you sure you can't perform a recommended and appropriate disconnect by sending a stop?
- The datasheet states that using the IDLE timer is "not ideal". Why is this?
I2C has its own correct protocol to perform disconnection and this is what everyone should use, but sometimes it is not possible, that is why we have IDLE timer, we cannot recommend IDLE timer because it does not follow I2C process correctly.
- What happens if the reserve timer is set, but the IDLE timer is not, once the reserve time expires?
I don't fully understand this question, the IDLE timer only starts counting after the reservation time expires, you can set the reservation time to a different value, but the IDLE timer is always 100ms which you cannot modify.
- Is it possible to check, using Master 0, whether or not the IDLE timer was set for Master 1?
Each system master controls its own set of registers, however they can also read specific bits from the other system master
RafaR_0-1742508006102.png
CONTR, REG#001
2-
- Yes, I believe we are losing power to Master 1 in the middle of a transaction, and thus sending an incomplete transaction. Does this in any way invalidate a programmed reserve time or idle timer?
No, they are completely independent.
- Does this state mean that neither Master is connected to the downstream bus? If I use a resistor and switch to force the SCL line of Master 1 low after it has lost power, I don't see the SCL line of the downstream bus go Low. Does this mean the arbiter only connects legitimate transactions (rather than being a pass-through to a Master it has granted)?
- No
- If we are in this state, is there any way out of it other than using Master 0 to software reset the arbiter (as per Section 13 of the datasheet)?
I can only recommend that you follow what is described in the data sheet, sorry.
I hope this information has helped you, please let me know if you need help with anything else.
Have a great day and best of luck.