I²C BUS Introduction The HDI is capable to generate a digital output signal. The device runs a cyclic program, which will store a corrected pressure value with 12 bit resolution about every 250 µs within the output registers of the internal ASIC. In order to use the sensor for digital signal readout, it should be connected to a bidirectional I²C-bus. According to the I²C-bus specification, the bus is controlled by a master device, which generates the clock signal, controls the bus access and generates START and STOP conditions. The HDI is designed to work as a slave, hence it will only respond to requests from a master device. Digital I²C interface The HDI complies with the following protocol (Fig. 1): Bus not busy: During idle periods both data line (SDA) and clock line (SCL) remain HIGH. START condition (S): HIGH to LOW transition of SDA line while clock (SCL) is HIGH is interpreted as START condition. START conditions are always generated by the master. Each initial request for a pressure value has to begin with a START condition. STOP condition (P): LOW to HIGH transition of SDA line while clock (SCL) is HIGH determines STOP condition. STOP conditions are always generated by the master. More than one request for the current pressure value can be transmitted without generation of intermediate STOP condition. DATA valid (D): State of data line represents valid data when, after START condition, data line is stable for duration of HIGH period of clock signal. Data on line must be changed during LOW period of clock signal. There is Acknowledge (A): Data is transferred in pieces of 8 bits (1 byte) on serial bus, MSB first. After each byte receiving device – whether master or slave – is obliged to pull data line LOW as acknowledge for reception of data. Master must generate an extra clock pulse for this purpose. When acknowledge is missed, slave transmitter becomes inactive. It is on master either to send last command again or to generate STOP condition in that case. one clock pulse per bit of data. Slave address: The I²C-bus master-slave concept requires a unique address for each device. The HDI has a preconfigured slave address (1111000xb). By factory programming it is possible to define a secondary slave address additional to the general one. According to I²C specification 127 different addresses are available. The sensor will then listen to both slave addresses. After generating a START condition the master sends the address byte containing a 7 bit address followed by a data direction bit (R/W). A "0" indicates a transmission from master to slave (WRITE), a "1" indicates a data request (READ). DATA operation: The sensor starts to send 2 data bytes containing the current pressure value as a 15 bit information placed in the output registers.