I2C

Introduction

The I²C (or Inter-Integrated Circuit) [1] bus is a two-wire serial interface using a master/slave configuration to communicate between one (or more) master devices and slave devices. Commonly used for low-speed on-board peripherals,

Bluewater Systems Experience

Examples of I²C devices used in Bluewater products in the past include:

  • AD7414 Digital Temperature Sensor in 6-Pin SOT with SMBus Alert and Over Temperature Pin [2]
  • DS1339 Serial Real-Time Clock [3]
  • DS2782 Stand-Alone Fuel Gauge IC [4]
Rig200_battery_back

Rig 200 partial bottom view with battery
  • DS4520 9-Bit I²C Nonvolatile I/O Expander Plus Memory [5]
  • LIS3LV02DQ Low Voltage 3Axis - 2g/6g Digital Output Linear Accelerometer [6]
  • MAX7311 16-Bit I/O Port Expander [7]
  • MSM82C54 CMOS Programmable Interval Timer
  • SCA3000 3-axis accelerometer [8]

In addition, Bluewater supports (via the Snapper 255 or custom carrier boards) 1-wire to I²C translation via FPGA, and FPGA-based I²C protocol management, relieving the main CPU of time-consuming interfacing tasks.

On the Rig 200, I²C is used to communicate with two MAX7311 I/O extenders, the TLV320AIC23B (Snapper CL15 only), a DS1339U real-time clock, and two DS2782 fuel gauges. In addition, the I²C bus is available to expansion boards via the riser connection, and for end users and debugging via Mictor 10 on the debug expansion board.

 

rs1

rs_2

rs_3

rs_4