Technical Note: Signal Conditioning – I2C Output
I2C (Inter-Integrated Circuit) is a communication protocol that is often used to transfer data from sensors to processors and micro-controllers. Many of our sensors are provided with an I2C output or can be converted to an I2C output using a standard signal conditioning PCB (E110).
Using a digital output such as I2C can help prevent errors in sensor readings due to noise. Additionally, all of our signal processing electronics that convert a mV sensor output to I2C can be calibrated, and/or compensated for temperature effects, ensuring every sensor behaves exactly the same as every other sensor.
I2C is a two-wire interface with two signals lines: clock (SCL) and data (SDA). Both of these signals will require pull-up resistors to +5V. Pull-up resistor value of approximately 5K Ohm is recommended. Maximum clock speed should be 100KHz.
After initiating a read, the device will respond with data bytes representing bridge measurement values. The data are reported as 16-bit words split into two bytes, MSB then LSB. The valid measurement range is 0 to 32767. Values greater than 32767 indicate an error condition.
The figure below represents an example read operation:
The default I2C address for the sensor is 78 hex, however a secondary address can be programmed by request.
To convert the data to engineering units, please refer to the datasheet provided with the sensor. The sensor datasheet lists calibration points and associated digital values.