User Manual

Application Note
SMBus communication with MLX90614
390119061402 Page 12 of 32 Jan-2008
Rev 004
6 SMBus comunication with MLX90614
6.1 Overview
The MLX90614 can only be used as a slave device. Generally, the master initiates the start of
data transfer by selecting a slave through the Slave Address (SA). The MLX90614 meets all the
timing specifications of the SMBus (refer to Electrical characteristics of SMBus devices above).
MLX90614 has 32x17 RAM. It is not possible to write into the RAM memory. It can only be read
and only a limited number of RAM registers are of interest to the customer (see Table 6 below).
(RAM readings format is described in more details below as well as in the MLX90614 data
sheet.) 32x16 EEPROM is available for keeping the calibration data, chip configuration and chip
ID. Entire EEPROM can be read via the SMBus compatible interface. Some EEPROM locations
are write protected (access is possible with entry to Calibration mode). Before writing to
EEPROM an erase has to take place. Erase is simply writing zero into EEPROM. Erase
operations have the same access constrains as the write operations. Note that changes in
EEPROM will result in reconfiguration of the ASIC after POR (also includes enter and exit Sleep
mode). For example, Slave Address can be changed in EEPROM, but the ASIC will respond to
the old SA until POR is exited.
If MLX90614 is configured in PWM output mode, a SMBus request condition is needed. SMBus
request overrides the OD/PP bit that configures the SDA/PWM pin into Open Drain NMOS or
Push-Pull CMOS. For example, MLX90614 configured for PP PWM will switch to OD SMBus
upon SMBus request condition. The diagram below illustrates the way of switching to SMBus if
PWM is enabled. PWM output can be the POR default if configured in EEPROM.
Fig.7 SMBus request
The MLX90614’s SMBus request condition requires forcing LOW the SCL pad for period longer
than the request time t
REQ
(see Table 5 below). The Data line value is ignored in this case. Once
disabled PWM, it can be only enabled by switching Off-On of the supply or exit from Sleep
Mode.
6.2 Timings
The specific timings in MLX90614’s SMBus are: SMBus Request (t
REQ
) is the time that the SCL
should be forced low in order to switch the MLX90614 from PWM mode to SMBus mode; Tsuac
(SD) is the time after the eighth falling edge of SCL that MLX90614 will force PWM/SDA low to
acknowledge the last received byte. Thdac (SD) is the time after the ninth falling edge of SCL
that MLX90614 will release the PWM/SDA so the MD could continue with the communication.
Tsuac (MD) is the time after the eighth falling edge of SCL that MLX90614 will release
PWM/SDA so that the MD could acknowledge the last received byte. Thdac (MD) is the time
after the ninth falling edge of SCL that MLX90614 will take control over the PWM/SDA so the it
could continue with the next byte to transmit. (The indexes MD and SD for the latest timings are