Bus Operation
Digital communication cycles on a two-wire serial interface fetch configuration data or sensor measurements from targeted memory addresses within a slave device. During digital sensor integration, an I2C register read executes a combined write and read sequence governed by inter-integrated circuit protocol specifications. The operation governs start conditions, slave address transmission, register pointer setting, repeated start generation and data byte reception.
It stops applying after the master controller transmits a non-acknowledge bit followed by a stop condition.
Clock Timing
Serial clock lines synchronize bit transitions across open-drain data lines pulled high by external resistors. The master device pulls the data line low while the clock line remains high to initiate communication. After transmitting the seven-bit slave address and a write bit, the master waits for the slave to pull the data line low during the ninth clock pulse.
The master then sends the internal register address byte to point to the desired measurement register. A repeated start condition allows the master to switch bus direction to read mode without releasing control of the bus to other devices. Clock stretching occurs when a slow sensor holds the clock line low to stall execution while preparing output data bytes.
Bus Arbitration
Multiple master devices on the same serial line monitor data state transitions to detect collisions during address transmission. If a master detects a low data level while attempting to transmit a high level, it loses arbitration and disables its output driver. Sensor systems use bus arbitration rules to prevent data corruption during simultaneous read attempts.
Register Addressing
Internal memory maps organize sensor configuration bits, interrupt flags and measurement outputs into eight-bit register locations. Multi-byte read sequences increment the internal register pointer automatically after each byte transfer.