AN #142 - Using MAX1668 with BASCOM-AVR


Connecting the MAX1668 to the AT90S2313

The MAX1668 is a precise multichannel digital thermometer that report the temperature of 4 remote sensors and it's own package. The remote sensors are diode-connected transistors-typically low-cost, easily mounted 2N3904 NPN types-that replace conventional thermistors or thermocouples. The remote channels can also measure the die temperature of other ICs, such as microprocessors, that contain an on-chip, diode-connected transistor.

The 2-wire serial interface accepts standard system management bus (SMBusT) write byte, read byte, send byte, and receive byte commands to program the alarm thresholds and to read temperature data. The data format is 7 bits plus sign, in two's-complement format.



Is to connect the small QSOP package MAX1668 comes in. Each pin is 0.25mm wide, and there is one pin each 0.6 mm. That is : "on less than 5mm there is 8 pins to solder". The easy way is to buy SMT adapterboards, http://smt-adapter.com/





This is the Bascom code example I used. The code uses 74% of the available 2Kb of the AT90S2313.

The code does the following:
Read Manufacture ID
Read Device ID
Read Status byte 1
Read Status byte 2
Read MAX1668 Local Temperature
Set remote DX1 Thigh limit
Set remote DX1 Tlow limit
Read Remote DX1 Thigh limit
Read Remote DX1 Tlow limit
Read Remote DX1 temperature 10 times with a 1sec. interval



There is much more possible with the MAX1668, the MAX1668 can generate an interrupt if a temperature is outside Thigh or Tlow limits for example. Consult the datasheet for an overview of all available commands.

Download source code in an142.zip