摘要 |
<p>A robust state machine is provided for controlling a slave interface to an I2C-bus. The state machine is configured to enforce the slave-device-protocol of the I2C specification, and to provide recovery from anomalous master-device behavior. In accordance with this invention, the state transitions of the state machine at the slave-device are controlled by the master-device's control of the SCL line of the I2C-bus, except if a START condition is detected. The state machine is configured to asynchronously respond to a START condition on the I2C-bus, regardless of its current state, to force the state machine to a known state. In the known state following the START condition, the slave-device terminates any transmissions to the I2C-bus, thereby minimizing subsequent interference on the bus.</p> |