Professional Documents
Culture Documents
16x4 IR array
Datasheet
Ordering Information
Part No. Temperature Package Option Code Standard Packing
Code Code -X X X part form
MLX90621 E (-40°C to 85°C) SF (TO-39) (1) (2) (3) -000 -TU
(1) Supply Voltage (2) Number of (3) Package options:
B = 2.6V thermopiles: A = 120°x25° FOV
A = 16X4 B = 60°x16° FOV
C = reserved
D = 40°x10° FOV
Example:
MLX90621ESF-BAB-000-TU
Depending on the application, the external microcontroller can read the different RAM data and, based on the
calibration data stored in the EEPROM memory, compensate for difference between sensors to build up a thermal
image, or calculate the temperature at each spot of the imaged scene.
These constants are accessible by the user microcontroller through the I2C bus and have to be used for external post
processing of the thermal data. This post processing includes:
• Ta calculation
• Pixel offset cancelling
• Pixel to pixel sensitivity difference compensation
• Object emissivity compensation
• Object temperature calculation
The result is an image with NETD better than 0.1K RMS at 1Hz refresh rate.
The refresh rate of the array is programmable by means of register settings or directly via I2C command. Changes of
the refresh rate have a direct impact on the integration time and noise bandwidth (faster refresh rate means higher
noise level). The frame rate is programmable in the range 0.5Hz…512Hz and can be changed to achieve the desired
trade-off between speed and accuracy.
The MLX90621 requires a single 2.6V…3.2V although the device is calibrated and performs best at VDD=2.6V.
NOTE: The sensor can detect higher temperatures, but is not calibrated for temperatures above 300°C.
See Table 21 for configuration specific properties.
Each pixel of the array measures the average temperature of all objects in its own Field Of View (called nFOV).
It is very important for the application designer to understand that the accuracy of the temperature measurement
is very sensitive to the thermal equilibrium isothermal conditions (there are no temperature differences across
the sensor package). The accuracy of the thermometer can be influenced by temperature differences in the
package induced by causes like (among others): Hot electronics behind the sensor, heaters/coolers behind or
beside the sensor or by a hot/cold object very close to the sensor that not only heats the sensing element in the
thermometer but also the thermometer package.
1. Table of contents
1. Table of contents.......................................................................................................................................................... 3
2. Glossary of terms ......................................................................................................................................................... 5
3. Absolute Maximum ratings .......................................................................................................................................... 5
4. Pin definition and description ...................................................................................................................................... 6
5. Electrical characteristics ............................................................................................................................................... 7
6. Block diagram ............................................................................................................................................................... 8
7. Principle of operation ................................................................................................................................................... 9
7.1. Initialization ......................................................................................................................................................... 10
7.1.1. Reading configuration .................................................................................................................................. 11
7.2. Read measurement data (RAM data) .................................................................................................................. 12
7.2.1. PTAT data read ............................................................................................................................................. 12
7.2.2. IR data read .................................................................................................................................................. 12
7.3. Calculation ........................................................................................................................................................... 14
7.3.1. Calculation of absolute chip temperature Ta (sensor temperature) ........................................................... 14
7.3.2. Example for Ta calculations .......................................................................................................................... 15
7.3.3. Calculation of To........................................................................................................................................... 17
7.3.4. Example for To calculations.......................................................................................................................... 20
8. Detailed description, Block description...................................................................................................................... 23
8.1. Pixel position ....................................................................................................................................................... 23
8.2. MLX90621 address map ...................................................................................................................................... 24
8.2.1. RAM .............................................................................................................................................................. 24
8.2.2. Internal registers .......................................................................................................................................... 25
8.2.2.1 Configuration register (0x92) ..................................................................................................................... 25
8.2.2.2 Trimming register (0x93) ............................................................................................................................ 26
8.2.3. EEPROM........................................................................................................................................................ 26
8.3. POR ...................................................................................................................................................................... 28
8.4. ESD ...................................................................................................................................................................... 28
9. Communication protocol ........................................................................................................................................... 28
9.1. Communication pins ........................................................................................................................................... 28
9.2. Low level communication protocol ..................................................................................................................... 29
9.2.1. Start / Stop condition ................................................................................................................................... 29
9.2.2. Device addressing......................................................................................................................................... 29
9.2.3. Acknowledge ................................................................................................................................................ 29
9.2.4. Low level communication operation ............................................................................................................ 29
9.3. Device modes ...................................................................................................................................................... 30
9.3.1. Normal mode ............................................................................................................................................... 30
9.3.2. Step mode .................................................................................................................................................... 30
9.3.3. Power saving mode ...................................................................................................................................... 30
9.4. Communication to IR array ................................................................................................................................. 31
9.4.1. Start measurement command ..................................................................................................................... 31
9.4.2. Read command ............................................................................................................................................ 31
9.4.3. Write configuration register command ........................................................................................................ 32
9.4.4. Write trimming command ............................................................................................................................ 32
9.5. Communication to EEPROM ................................................................................................................................ 33
10. Performance Graphs ................................................................................................................................................ 34
10.1. Temperature accuracy of the MLX90621 .......................................................................................................... 34
10.2. Noise performance and resolution ................................................................................................................... 35
10.3. Field Of View (FOV) ........................................................................................................................................... 36
11. Applications Information.......................................................................................................................................... 37
2
11.1. Use of the MLX90621 thermometer in I C configuration ................................................................................. 37
2. Glossary of terms
POR Power On Reset
PTAT Proportional To Absolute Temperature sensor (package temperature)
IR Infra Red
IR_data Infrared data (raw data from ADC proportional to IR energy received by the sensor)
ADC Analog To Digital Converter
Ta Ambient Temperature measured from the chip – (the package temperature)
To Object Temperature, ‘seen’ from IR sensor
TGC Temperature Gradient Coefficient
FOV Field Of View
nFOV Field Of View of N-th pixel
ESD Electro-Static Discharge
EMC Electro-Magnetic Compatibility
2
IC Inter-Integrated Circuit communication protocol
SDA Serial Data
SCL Serial Clock
FpS Frames per Second – data refresh rate
MD Master Device
SD Slave Device
TBD To Be Defined
NA Not Applicable
Table 1 Glossary of terms
5. Electrical characteristics
All parameters are valid for TA = 25˚C, VDD =2.6V (unless otherwise specified)
Parameter Symbol Test Conditions Min Typ Max Units
Supplies
1
External supply VDD 2.5 2.6 3.3 V
Supply current IDD No load 5 9 mA
Sleep current Islp No load 7 µA
Power On Reset
POR level VPOR_up Power-up (full temp range) 2 2.2 2.4 V
POR level VPOR_down Power –down (full temp range) 1.9 2.1 2.3 V
POR hysteresis VPOR_hys Full temp range 0.1 V
VDD rise time (10% to 90% of
specified supply voltage) TPOR Ensure POR signal 100 µs
2
I C compatible 2-wire interface Sensor chip
Slave address SA Factory default 60 hex
Input high voltage VIH (Ta, V) Over temperature and supply 0.7VDD V
Input low voltage VIL (Ta, V) Over temperature and supply 0.3VDD V
SDA over temperature and supply,
Output low voltage VOL 0.6 V
Isink = 6mA (FM mode)
SDA over temperature and supply,
Output low voltage VOL 0.4 V
Isink = 20mA (FM+ mode)
SCL leakage ISCL, leak VSCL=4V, Ta=+85°C 2 µA
SDA leakage ISDA, leak VSDA=4V, Ta=+85°C 2 µA
SCL capacitance CSCL Two dies MLX90670 + EEPROM 20 pF
2
I C clock frequency SCLIR MLX90621 (FM+ mode) 1 MHz
Acknowledge setup time Tsuac(MD) 8-th SCL falling edge, Master 0.45 µs
Acknowledge hold time Thdac(MD) 9-th SCL falling edge, Master 0.45 µs
Acknowledge setup time Tsuac(SD) 8-th SCL falling edge, Slave 0.45 µs
Acknowledge hold time Thdac(SD) 9-th SCL falling edge, Slave 0.45 µs
EEPROM
Slave address SA Factory default 50 hex
2
I C clock frequency SCLEEPROM EEPROM (FM mode) 400 kHz
Data retention Ta = +85°C 200 years
Erase/write cycles Ta = +25°C 1M Times
Erase/write cycles Ta = +125°C 100K Times
Erase cell time T_erase 5 ms
Write cell time T_write 5 ms
6. Block diagram
Digital Active Thermopile Array
Digital filtering
RAM
memory
Voltage
EEPROM I2C interface regulator
7. Principle of operation
The output of all IR sensors and absolute temperature sensors is scanned according to the programmed refresh rate.
Using their output data as well as calibration constants written in EEPROM the absolute chip temperature and object
temperature, ‘seen’ by each pixel can be calculated. For this goal several sequential calculations must be done
according to the Figure 3 Operation block diagram
Wait 5ms
Store the calibration coefficients in the MCU RAM for fast access
Write the oscillator trim value into the IO at address 0x93 (see 7.1, 8.2.2.2, 9.4.4)
Write the configuration value (IO address 0x92) (see 8.2.2.1, 9.4.3)
The value is either read from the EEPROM or hard coded externally
Set the POR/ Brown Out flag to “1” (bit 10 at address 0x92)
No
Read measurement data (PTAT + desired IR data)
(see 7.2.1, 7.2.2, 8.2.1, 9.4.2)
7.1. Initialization
After the POR is released the external MCU must execute an initialization procedure.
This procedure must start at least 5ms after POR release.
- Read the whole EEPROM (see Figure 4). For maximum speed performance MELEXIS recommends that
the whole calibration data is stored into the client MCU RAM. However it is possible to read the
calibration data from the EEPROM only when needed during calculations. This will result in increased
time for temperature calculation i.e. low refresh rate.
NACK
SDA
S 1 0 1 0 0 0 0 W A 0 0 0 0 0 0 0 0 A S 1 0 1 0 0 0 0 R A A A P
SCL
- Store the EEPROM content into customer MCU RAM – This step could be omitted resulting in more
data processing time because calibration data needs to be reread for each calculation
- Write the oscillator trimming value (extracted from EEPROM content at address 0xF7) into the
corresponding register (0x93).
SCL
- Write device configuration value. In EEPROM addresses (0xF5 and 0xF6) MELEXIS provides a typical
value of the configuration register (0x463E). So it is up to the user to copy that value or hardcode a new
value to be loaded into the configuration register. If the EEPROM value is to be used the 16 bits are
combined as follows:
For example: if EEPROM 0xF5 = 0x3E and 0xF6 = 0x46, the Configuration register value is:
0 6: 0 5
SCL
Example: If the value that has to be uploaded is 0x463E the following sequence must be sent:
1. Start condition (Falling edge of SDA while SCL is high)
2. Slave address (SA=0x60) plus write bit = 0xC0
3. Command = 0x03
4. LSByte check = LSByte – 0x55 = 0x3E – 0x55 = 0xE9
5. LSbyte = 0x3E
6. MSByte check = MSByte – 0x55 = 0x46 – 0x55 = 0xF1
7. MSbyte = 0x46
8. Stop condition (Rising edge of SDA while SCL is high)
SCL
SCL
Slave address Command Start address Address step Number of reads Slave address
SCL
! : " !
- Whole frame read (MELEXIS recommends the whole frame read for maximum refresh rate)
Slave address Command Start address Address step Number of reads Slave address
SDA
S 1 1 0 0 0 0 0 W A 0 0 0 0 0 0 1 0 A 0 0 0 0 0 0 0 0 A 0 0 0 0 0 0 0 1 A 0 1 0 0 0 0 0 0 A S 1 1 0 0 0 0 0 R A
SCL
Figure 10 Whole frame (SA = 0x60, command = 0x02, Start address = 0x00,
Address step = 0x01, Number of reads = 0x40) measurement result read
Start address
SDA
S 1 1 0 0 0 0 0 W A 0 0 0 0 0 0 1 0 A A 0 0 0 0 0 0 0 1 A 0 0 0 0 0 1 0 0 A S 1 1 0 0 0 0 0 R A
SCL
IR pixel(0, column) IR pixel(0, column) IR pixel(1, column) IR pixel(1, column) IR pixel(3, column) IR pixel(3, column)
LSByte MSByte LSByte MSByte LSByte MSByte
A A A A A A P
Figure 11 Single column (SA = 0x60, command = 0x02, Start address = 0x00…0x3C (step 0x04),
Address step = 0x01, Number of reads = 0x04) measurement result read
Start address
SDA
S 1 1 0 0 0 0 0 W A 0 0 0 0 0 0 1 0 A A 0 0 0 0 0 1 0 0 A 0 0 0 1 0 0 0 0 A S 1 1 0 0 0 0 0 R A
SCL
Figure 12 Single line (SA = 0x60, command = 0x02, Start address = 0x00…0x03 (step 0x01),
Address step = 0x04, Number of reads = 0x10) measurement result read
SCL
Figure 13 Single pixel (SA = 0x60, command = 0x02, Start address = 0x00…0x3F,
Address step = 0x00, Number of reads = 0x01) measurement result read
Slave address Command Start address Address step Number of reads Slave address
SCL
Figure 14 Compensation pixel (SA = 0x60, command = 0x02, Start address = 0x41,
Address step = 0x00, Number of reads = 0x01) measurement result read
7.3. Calculation
7.3.1. Calculation of absolute chip temperature Ta (sensor temperature)
The output signal of the IR sensors is relative to the cold junction temperature. That is why we need to know the
temperature of the die in order to be able to calculate the object temperature ‘seen’ by each pixel.
0123 4 5123
6
0 4126 892: (25) 0 _ =
/ 4 25, 8>=
2126
Constants VTH ( 25) , KT 1 and KT 2 are stored in EEPROM at following addresses as two’s complement values:
92: (25)
92: (25)
2DEFGHIJKL-K8M:N=
123
123
2OOLPQ( RST68U:N= ∗ 2DEFGHIJKL-K8M:N=
126
126
2 OOLPQ( RST68D:R=V3R ∗ 2DEFGHIJKL-K8M:N=
Cell values
EEPROM address Cell name
(hex)
0xDA VTH_L 0x20
0xDB VTH_H 0x64
0xDC KT1_L 0x89
0xDD KT1_H 0x55
0xDE KT2_L 0x7E
0xDF KT2_H 0x5E
0xD2 KT_scale 0x8B
Let’s assume that the maximum resolution is set in the configuration register:
ConfigRegister[5:4] = 11b
123 21897
123 85.53515625
2OOLPQ( RST68U:N= ∗ 2DEFGHIJKL-K8M:N= 2] ∗ 2DED
_`a 6N3wR
126 0.01153469085
6bbcdef ghia8j:g=klg ∗6jmnopqrscts8u:v= 6llklg ∗6jmj
a EN_ 8y
E_`l Vx_`l `a `Z (6M)EP2z2_{/,/=
/ 4 25
6_`a
E]M.MDM3M|6MV5UD3|.6|6wMNU3EN∗R.R33MDN|wR]M∗86M|D6 E6|MwR=
/ 4 25
R.R6DR|wD]3U
E]M.MDM3M|6MV5UD3|.6|6wMNU3ER.RN|3D]U|DN∗(EwM])
/ 4 25
R.R6DR|wD]3U
E]M.MDM3M|6MV√UD|R.N|D]wRRM E]M.MDM3M|6MV]M.UwD3NMwD]|
/ 4 25 ≈ 4 25 ≈ 11.1832077 4 25
R.R6DR|wD]3U R.R6DR|wD]3U
/ ≈ 36.18 >
The calculated values for the different resolution settings are given in the table below:
ConfigRegister[5:4]
PTAT data (hex) VTH(25) KT1 KT2 Ta, °C
(bin)
00 0x0CFB 3323.750 10.69189453125 0.0014418363571167 36.18
01 0x19F7 6647.500 21.38378906250 0.0028836727142334 36.18
10 0x33EF 13295.000 42.76757812500 0.0057673454284668 36.18
11 0x67DE 26590.000 85.53515625000 0.0115346908569336 36.18
7.3.3. Calculation of To
Following formula is used to calculate the temperature seen by specific pixel in the matrix:
v y€c(r,•)
Q(J,•) x… nefdb‚ƒ„`bi
4 / _v 0 273.15, 8° =
†o‡ˆ(r,•) ∗(3E_‰v ∗6UD.3M)V)h(r,•)
Where:
9ŠL(J,•)_FQ(PO‹)z2OT is the parasitic free IR compensated signal as calculated in 7.3.3.1
1•N is the compensation factor for the sensitivity – for BAB and BAD, 1•N 0, resulting in a simplified
formula
S(J,•) 1 4 ∗5
4
Œ‘ ’“( ,&)
3 ∗ 9# ( ,&) ” •– •—
4 Œ‘ ’“( ,&)
4 ∗ 14
Where:
9ŠL(J,•) is an individual pixel IR_data readout (RAM read)
J(J,•) is an individual pixel offset restored from the EEPROM using the following formula:
∆„r
z†o‡‡op V∆zr(r,•) ∗6 ‰†™žt
J(J,•) 6jmnopqrscts8u:v=
•GŽŽGH is the minimum offset value stored in the EEPROM at addresses 0xD0 and
0xD1 as 2’s complement value
∆ J is the difference between the individual offset and the minimum value. It is stored in
the EEPROM as unsigned values.
∆ J‰†™žt is the scaling coefficient for the ∆ J values and is stored in the EEPROM at
address 0xD9[7:4] as an unsigned value
*r(r,•)
bbdcef
J(J,•) Ÿr
6 ‰†™žt ∗6jmnopqrscts8u:v=
J‰†™žt is a scaling coefficient for the slopes of IR pixels offset and is stored in the EEPROM at
address 0xD9[3:0] as an unsigned value
/ is the ambient temperature calculated in 7.3.2
/R 25> is a constant
NOTE: This applies to the compensation pixel as well ( FP and FP while J‰†™žt is the same) with the only
difference being that FP is stored in the EEPROM at addresses 0xD3 and 0xD4 as an unsigned value but not
calculated
9ŠL(J,•)` nno‡ˆtp‰™˜tš
9ŠL(J,•)_QII•-,FGŽ•-H•/,-{ 0 ¡ ∗ 9ŠL••eqq‰t˜no‡ˆtp‰™˜tš
Where:
2¢Fbbdcef
¡
D6
3. Emissivity compensation
y€c(r,•)
9ŠL(J,•)nefdb‚ƒ„`bi
` nno‡ˆtp‰™˜tš
£
Where:
¤ is the emissivity coefficient. The scaled value is stored into EEPROM as unsigned value
6M|∗£Z V£[
¤
D6U|]
Where:
/ is the ambient temperature calculated in 7.3.2
/R is a constant = 25°C
6M|∗_•2/Z V_•2/[
1
6ag
6M|∗…ndZ V…nd[
ŒFP ¯
6 g‰†™žt ∗6jmnopqrscts8u:v=
ŒGZ , ŒR[ , ŒFPZ , ŒFP[ , ∆Œ(J,•) , ŒR‰†™žt and ∆Œ••/°- are stored in the EEPROM as unsigned values
All parameters necessary to calculate To are stored into EEPROM at following addresses:
EEPROM
Cell name Stored as Parameter
address
0x00…0x3F ∆ J unsigned IR pixel individual offset delta coefficient
Individual Ta dependence (slope)
0x40…0x7F J(J,•) 2’s complement
of IR pixels offset
0x80…0xBF ∆Œ(J,•) unsigned Individual sensitivity coefficient
[7:4] – NA
0xC0 Ks_scale unsigned
[3:0] – Ks_scale - 8
0xC4 1•N_OO 2’s complement Sensitivity To dependence (slope)
0xD0 •GŽŽGH[
2’s complement IR pixel common offset coefficient
0xD1 •GŽŽGHZ
0xD3 FP[
2’s complement Compensation pixel individual offset coefficient
0xD4 FPZ
Individual Ta dependence (slope)
0xD5 FP 2’s complement
of the compensation pixel offset
0xD6 ŒFP[
ŒFPZ
unsigned Sensitivity coefficient of the compensation pixel
0xD7
0xD8 ¡ 2’s complement Thermal gradient coefficient
∆ J‰†™žt ,
[7:4] – Scaling coeff for the IR pixels offset [3:0] –
0xD9 J‰†™žt unsigned
Scaling coeff of the IR pixels offset Ta dependence
0xE0 ŒR[
ŒRZ
unsigned Common sensitivity coefficient of IR pixels
0xE1
0xE2 ŒR‰†™žt unsigned Scaling coefficient for common sensitivity
0xE3 ∆Œ••/°- unsigned Scaling coefficient for individual sensitivity
0xE4 ¤.
¤:
unsigned Emissivity
0xE5
0xE6 1 .
1
2’s complement KsTa (fixed scale coefficient = 20)
0xE7 :
EEPROM
Cell name Stored as Cell values (hex)
address
0x22 ∆ J unsigned 0x21
0x62 J(J,•) 2’s complement 0xBC
0xA2 ∆Œ(J,•) unsigned 0xCD
0xC0 Ks_scale unsigned 0x99
0xC4 1•N 2’s complement 0x9E
0xD0 •GŽŽGH[ 0x8A
2’s complement
0xD1 •GŽŽGHZ 0xFF
0xD3 FP[ 0x9D
2’s complement
0xD4 FPZ 0xFF
0xD5 FP 2’s complement 0xA2
0xD6 ŒFP[ 0xA8
ŒFPZ
unsigned
0xD7 0x0F
0xD8 ¡ 2’s complement 0x18
0xD9 ∆ J‰†™žt , J‰†™žt unsigned 0x07
0xE0 ŒR[ 0xAE
ŒRZ
unsigned
0xE1 0x4E
0xE2 ŒR‰†™žt unsigned 0x26
0xE3 ∆Œ••/°- unsigned 0x1F
0xE4 ¤. 0x00
¤:
unsigned
0xE5 0x80
0xE6 1 . 0x0C
1
2’s complement
0xE7 : 0x02
Table 9 EXAMPLE for To calibration values
v y€c(r,•)
Q(J,•) x… nefdb‚ƒ„`bi
4 / _v 0 273.15, 8° =
†o‡ˆ(r,•) ∗(3E_‰v ∗6UD.3M)V)h
∆„r
z†o‡‡op V∆zr(a,µ) ∗6 ‰†™žt
J(6,]) 6(jmnopqrscts8u:v=)
•GŽŽGH 256 ∗ •GŽŽGHZ 4 •GŽŽGH[ 256 ∗ 255 4 138 65418 LSB decimal value
∆ J 33 LSB
∆„r
z†o‡‡op V∆zr(a,µ) ∗6 ‰†™žt E33]VDD∗6g
J(6,]) 085 LSB
6(jmnopqrscts8u:v=) 6(jmj)
*r(a,µ)
J(6,]) Ÿ
6 r‰†™žt ∗6(jmnopqrscts8u:v=)
J(6,])_OO 188
*r(a,µ) E|]
J(6,]) Ÿr 00.53125
6 ‰†™žt ∗6(jmnopqrscts8u:v=) 6· ∗6(jmj)
znd Eww
FP 099
6(jmnopqrscts8u:v=) 6(jmj)
FP_OO 162
*nd EwN
FP Ÿ 00.734375
6 r‰†™žt ∗6(jmnopqrscts8u:v=) 6· ∗6(jmj)
2¢Fbbdcef 6N
¡ 0.75
D6 D6
9ŠL(6,])` nno‡ˆtp‰™˜tš
9ŠL(6,])_QII•-,FGŽ•-H•/,-{ 0 ¡ ∗ 9ŠL••eqq‰t˜no‡ˆtp‰™˜tš
9ŠL(6,])` nno‡ˆtp‰™˜tš
529.939375 0 0.75 ∗ 71.2103125 ≈ 475.531640625 LSB
y€c(a,µ)
9ŠL(6,])nefdb‚ƒ„`bi 476.531640625 LSB
` nno‡ˆtp‰™˜tš
£
M6N
1 4.9972534.10EN decimal value
6ag
_‰v Ew]
1•N 07.476806640625. 10EN
6(´‰ _‰†™žtkµ) 6(¸kµ)
v
S 1)N ∗ xŒ•GŽ•(6,]) D ∗ 9ŠL(6,])nefdb‚ƒ„`bi 4 Œ•GŽ•(6,]) N ∗ / _v
S 03.93973510355. 10E]
v y€c(a,µ)
Q(6,]) x… nefdb‚ƒ„`bi
4 / _v 0 273.15 °C
†o‡ˆ(a,µ) ∗(3E_‰v ∗6UD.3M)V)h
NU|.MD3|NR|6M
x3.M]|]6Mw3MwM.3Rm·∗(3E(EU.NU|]R||NR|6M.3Rmv)∗6UD.3M)V(ED.wDwUDM3RDMM.3Rmµ) 4 9155628583 0 273.15 °C
v
Q(6,])
The calculated values for the different resolution settings are given in the table below:
Reference pin
Row 0
Row 1
Row 2
Row 3
Col 10
Col 11
Col 12
Col 13
Col 14
Col 15
Col 0
Col 1
Col 2
Col 3
Col 4
Col 5
Col 6
Col 7
Col 8
Col 9
Not used
0xFF
8.2.1. RAM
2
The on chip 146x16 RAM is accessible for reading via I C. The RAM is used for storing the results of measurements of
pixels and Ta sensor and is distributes as follows:
• 64 words for IR sensors. The data is in 2’s complement format (see 7.2.2)
• 1 word for measurement result of PTAT sensor. The data is 16 bit without sign. (see 7.2.1)
IR( x, y)address = x + 4. y
8.2.3. EEPROM
2
A 2kbit, organized as 256x8 EEPROM is built in the Mlx90621. The EEPROM has a separate I C address SA=0x50 and is
used to store the calibration constants and the configuration of the device.
Address 0 1 2 3 4 5 6 7
00 ΔAi (0,0) ΔAi (1,0) ΔAi (2,0) ΔAi (3,0) ΔAi (0,1) ΔAi (1,1) ΔAi (2,1) ΔAi (3,1)
08 …
10
18
ΔAi - IR pixels individual offset coefficients
20
28
30 …
38 ΔAi (0,14) ΔAi (1,14) ΔAi (2,14) ΔAi (3,14) ΔAi (0,15) ΔAi (1,15) ΔAi (2,15) ΔAi (3,15)
40 Bi (0,0) Bi (1,0) Bi (2,0) Bi (3,0) Bi (0,1) Bi (1,1) Bi (2,1) Bi (3,1)
48 …
50
58
Bi - Individual Ta dependence (slope) of IR pixels offset
60
68
70 …
78 Bi (0,14) Bi (1,14) Bi (2,14) Bi (3,14) Bi (0,15) Bi (1,15) Bi (2,15) Bi (3,15)
80 Δα (0,0) Δα (1,0) Δα (2,0) Δα (3,0) Δα (0,1) Δα (1,1) Δα (2,1) Δα (3,1)
88 …
90
98
Individual sensitivity coefficients
A0
A8
B0 …
B8 Δα (0,14) Δα (1,14) Δα (2,14) Δα (3,14) Δα (0,15) Δα (1,15) Δα (2,15) Δα (3,15)
C0 Ks_scales reserved reserved reserved 1•N reserved reserved reserved
C8 reserved reserved reserved reserved reserved reserved reserved
D0 A common KT scale Compensation pixel coefficients
D8 TGC Scale offset PTAT
E0 Common sensitivity coefficients Emissivity KsTaL KsTaH
E8 MELEXIS reserved
F0 MELEXIS reserved Configuration register OSC trim
F8 Chip ID
Table 14: EEPROM map
Detailed descriptions of some of the EEPROM addresses are described here after:
8.3. POR
The Power On Reset (POR) is connected to the Vdd supply. The on-chip POR circuit provides an active level of the
POR signal when the Vdd voltage rises above approximately 0.5V and holds the entire Mlx90621 in reset until the
Vdd is higher than 2.4V. The device will start approximately 5ms after the POR release.
8.4. ESD
ESD, 4KV Human Body Model (please check with electrical specification)
9. Communication protocol
2
The device supports Fast Mode Plus I C FM+ (IR array only up to 1MHz while the EEPROM can handle only up to 400
kHz) and will work in slave mode only.
The master device must provide the clock signal (SCL) for the communication. The data line SDA is bidirectional and
is driven by the master or the slave depending on the command. The selection of the SDA occupant is done
2
according to the I C specification. As the SDA is an open-drain IO, ‘0’ is transmitted by forcing the line ‘LOW’ and a
‘1’ just by releasing it. During data transfer, the data line could be changed only while SCL is low. Otherwise, it would
be interpreted as a start/stop condition
90620
90621
90670
scl_in
sda_out
90670
+VDD Digital
external Block
sda_in
Rp Rp
SCL SCL
SCL (Serial Clock Line )
SDA SDA
SDA (Serial data Line )
24AA02
External I2C
Master
SCL
SDA
START
STOP
2
Figure 18: Start / Stop conditions of I C
1 0 1 0 0 0 0 R/W
for access to internal EEPROM
1 1 0 0 0 0 0 R/W
For access to IR array data
2
Figure 19: I C addresses
9.2.3. Acknowledge
th
During the 9 clock following every byte transfer the transmitter releases the SDA line. The receiver acknowledges
(ACK) receiving the byte by pulling SDA line to low or does not acknowledge (NoACK) by letting the SDA ‘HIGH’.
2
Figure 20: I C communication
While the Step mode measurement is ongoing all ‘start new measurement in step mode’ commands will be
acknowledged but not executed. All other valid commands are executed accordingly.
A flag bit in Configuration register (bit 0x09) is dedicated in order to be able to check whenever the measurement is
done.
SCL
Figure 21 Write configuration register (SA = 0x60, command LSByte = 0x01 command MSByte = 0x08)
Opcode – 0x02.
The read command is used to read measurement, configuration and other data from the chip to the external master.
The read command has the following parameters:
- Start address – 8bits. Address in the chip address space (0 to 255). It is the address of the first word read.
- Address step – 8bits. On every read word the next address is formed by adding the address step to the current
address.
- Number of reads – 8bits. Number of the words to be read.
Different combinations are possible in order to read all, one line, one column, one exact pixel of the IR or Ta sensors.
They are summarized in the table below:
Start address Address step Number reads Read Word0 Read Word0 Read WordN Read WordN
Slave address
Slave address Read Opcode parameter parameter parameter LSByte MSByte LSByte MSByte
S S
S
T T
T
A A
O
R R
0 A 1 P
T A A A A T A A A A A
C C C C C C C C C C
K K K K K K K K K K
Opcode – 0x03.
This command is used to set the configuration register (16bits) value – all configuration settings.
Each data byte is transmitted in two stages:
- First stage Data byte - 0x55
- Second stage Data byte
This way of transmitting the data is done in order to have a simple error check.
The chip adds 0x55 to the first byte and compares the result with the second one. If both match the configuration
register is updated.
Opcode – 0x04.
This command is used to set the oscillator trimming oscillator trimming value.
This command is used to set the oscillator trimming register (16bits) value.
Each data byte is transmitted in two stages:
- First stage Data byte - 0xAA
- Second stage Data byte
This way of transmitting the data is done in order to have a simple error check.
The chip adds 0xAA to the first byte and compares the result with the second one. If both match the oscillator
trimming register is updated.
Write trimming Trimming data check Trimming data Trimming data check Trimming data
Slave address opcode LSByte LSByte MSByte MSByte
S
S
T
T
A
O
R
0 A A A A A A P
T
C C C C C C
K K K K K K
Furthermore, the accuracy is only valid if the object fills the FOV of the sensor completely.
To, °C
300°C
(Uniformity ±1°C ±1.5%*|To-Ta|)
200°C
±4°C ±3% * |To-Ta|
Ta, °C
0°C
±5.5°C ±3°C ±5% * |To-Ta| ±4°C ±5% * |To-Ta|
-20°C
-20°C 0°C 50°C 85°C
Figure 26: Absolute temperature accuracy for the central four pixels
All accuracy specifications apply under settled isothermal conditions only.
NOTE:
1) The accuracy is specified for the four central pixels. The accuracy of the rest of the pixels is according to the
uniformity statement
2) As a result of long term (years) drift there can be an additional measurement deviation of ± 3°C for object
temperatures around room temperature.
NOTE: It is normal that the noise will decrease for high temperature and increase for lower temperatures
2.50
MLX90621BAA (120°X25°)
2.00
MLX90621BAB (60°X15°)
Noise, °C
MLX90621BAD (40°X10°)
1.50
1.00
0.50
0.00
0.5 1 2 4 8 16 32 64 128 256 512
Refresh rate, Hz
Figure 27: Central pixels noise
MLX90621BAD (40°X10°)
3.00
2.00
1.00
0.00
0.5 1 2 4 8 16 32 64 128 256 512
Refresh rate, Hz
The higher resolution limits the maximum object temperature range of the MLX90621.
100%
50%
Field Of View
The specified FOV is calculated for the wider direction, in this case for the 16 pixels.
Angular alignment must be 5% of specified FOV and will be valid for both directions. For example for the 60° FOV in
the wider direction will come with 16° in the shorter direction.
X direction Y direction
FOV
Typ Typ
MLX90621-ESF-BAA 120 25
MLX90621-ESF-BAB 60 16
MLX90621-ESF-BAD 40 10
Table 22 Available FOV options
VDD1
2 - SDA 3 - VDD
MCU
1 - SCL 4 - VSS
2
Figure 30: MLX90621 I C connection
2
As the MLX90621xxx is fully I C compatible it allows to have a system in which the MCU may be supplied with
VDD=2.5…5V while the sensor it’s self is supplied from separate supply VDD1=2.6V (or even left with no supply i.e.
2
VDD=0V), with the I C connection running at supply voltage of the MCU.
IR sensors are inherently susceptible to errors caused by thermal gradients. There are physical reasons
for these phenomena and, in spite of the careful design of the MLX90621xxx, it is recommended not to
subject the MLX90621 to heat transfer and especially transient conditions.
The MLX90621 is designed and calibrated to operate as a non-contact thermometer in settled conditions.
Using the thermometer in a very different way will result in unknown results.
2
Capacitive loading on an I C can degrade the communication. Some improvement is possible with use of current
sources compared to resistors in pull-up circuitry. Further improvement is possible with specialized commercially
available bus accelerators. With the MLX90621 additional improvement is possible by increasing the pull-up current
2
(decreasing the pull-up resistor values). Input levels for I C compatible mode have higher overall tolerance than the
2 2
I C specification, but the output low level is rather low even with the high-power I C specification for pull-up
currents. Another option might be to go for a slower communication (clock speed), as the MLX90621 implements
2
Schmidt triggers on its inputs in I C compatible mode and is therefore not really sensitive to rise time of the bus (it is
2
more likely the rise time to be an issue than the fall time, as far as the I C systems are open drain with pull-up).
Power dissipation within the package may affect performance in two ways: by heating the “ambient” sensitive
element significantly beyond the actual ambient temperature, as well as by causing gradients over the package that
will inherently cause thermal gradient over the cap
Power supply decoupling capacitor is needed as with most integrated circuits. MLX90621 is a mixed-signal device
with sensors, small signal analog part, digital part and I/O circuitry. In order to keep the noise low power supply
switching noise needs to be decoupled. High noise from external circuitry can also affect noise performance of the
device. In many applications a 100nF SMD ceramic capacitor close to the Vdd and Vss pins would be a good choice. It
should be noted that not only the trace to the Vdd pin needs to be short, but also the one to the Vss pin. Using
MLX90621 with short pins improves the effect of the power supply decoupling.
For all soldering technologies deviating from above mentioned standard conditions (regarding peak temperature,
temperature gradient, temperature profile etc) additional classification and qualification tests have to be agreed
upon with Melexis.
Melexis is contributing to global environmental conservation by promoting lead free solutions. For more information
on qualifications of RoHS compliant products (RoHS = European directive on the Restriction Of the use of certain
Hazardous Substances) please visit the quality page on our website: http://www.melexis.com/quality.aspx
15. FAQ
When I measure aluminum and plastic parts settled at the same conditions I get significant errors on aluminum.
Why?
Different materials have different emissivity. A typical value for aluminum (roughly polished) is 0.18 and for plastics
values of 0.84…0.95 are typical. IR thermometers use the radiation flux between the sensitive element in the sensor
and the object of interest, given by the equation
Ê ¤1 ∗ Œ1 ∗ 4
1 ∗Ë∗ 1 ∗ 0Ì 0 ¤2 ∗ 4
2 ∗Ë∗ 2
Where:
¤3 and ¤6 are the emissivity of the two objects
3 and 6 are the surface areas involved in the radiation heat transfer,
ÆÍ and Ƽ are known temperature of the sensor die (measured with specially integrated and calibrated element)
and the object temperature that we need.
Note that the temperatures are all in Kelvin, heat exchange knows only physics.
When a body with low emissivity (such as aluminum) is involved in this heat transfer, the portion of the radiation
incident to the sensor element that really comes from the object of interest decreases – and the reflected
environmental IR emissions take place. (This is all for bodies with zero transparency in the IR band.) The IR
thermometer is calibrated to stay within specified accuracy – but it has no way to separate the incoming IR radiation
into real object and reflected environmental part. Therefore, measuring objects with low emissivity is a very
sophisticated issue and infra-red measurements of such materials are a specialized field.
What can be done to solve that problem? Look at paintings – for example, oil paints are likely to have emissivity of
0.85…0.95 – but keep in mind that the stability of the paint emissivity has inevitable impact on measurements.
It is also a good point to keep in mind that not everything that looks black is “black” also for IR. For example, even
heavily oxidized aluminum has still emissivity as low as 0.30.
How high is enough? Not an easy question – but, in all cases the closer you need to get to the real object
temperature the higher the needed emissivity will be, of course.
With the real life emissivity values the environmental IR comes into play via the reflectivity of the object (the sum of
Emissivity, Reflectivity and Absorptivity gives 1.00 for any material). The larger the difference between
environmental and object temperature is at given reflectivity (with an opaque for IR material reflectivity equals 1.00
minus emissivity) the bigger errors it produces.
After I put the MLX90621 in the dashboard I start getting errors larger than specified in spite that the module was
working properly before that. Why?
Any object present in the FOV of the module provides IR signal. It is actually possible to introduce error in the
measurements if the module is attached to the dashboard with an opening that enters the FOV. In that case portion
of the dashboard opening will introduce IR signal in conjunction with constraining the effective FOV and thus
compromising specified accuracy. Relevant opening that takes in account the FOV is a must for accurate
measurements. Note that the basic FOV specification takes 50% of IR signal as threshold (in order to define the area,
where the measurements are relevant), while the entire FOV at lower level is capable of introducing lateral IR signal
under many conditions.
When a hot (cold) air stream hits my MLX90621 some error adds to the measured temperature I read. What is it?
IR sensors are inherently sensitive to difference in temperatures between the sensitive element and everything
incident to that element. As a matter of fact, this element is not the sensor package, but the sensor die inside.
Therefore, a thermal gradient over the sensor package will inevitably result in additional IR flux between the sensor
package and the sensor die. This is real optical signal that cannot be segregated from the target IR signal and will add
errors to the measured temperature.
Thermal gradients with impact of that kind are likely to appear during transient conditions. The sensor used is
developed with care about sensitivity to this kind of lateral phenomena, but their nature demands some care when
choosing place to use the MLX90621 in order to make them negligible.
I measure human body temperature and I often get measurements that significantly differ from the +37°C I
expect.
IR measurements are true surface temperature measurements. In many applications this means that the actual
temperature measured by an IR thermometer will be temperature of the clothing and not the skin temperature.
Emissivity (explained first in this section) is another issue with clothes that has to be considered.
There is also the simple chance that the measured temperature is adequate – for example, in a cold winter human
hand can appear at temperatures not too close to the well-known +37°C.
17. References
2
[1] I C-bus specification and user manual Rev. 03 — 19 June 2007
http://www.nxp.com/documents/user_manual/UM10204.pdf
18. Disclaimer
Devices sold by Melexis are covered by the warranty and patent indemnification provisions appearing in its Term of
Sale. Melexis makes no warranty, express, statutory, implied, or by description regarding the information set forth
herein or regarding the freedom of the described devices from patent infringement. Melexis reserves the right to
change specifications and prices at any time and without notice. Therefore, prior to designing this product into a
system, it is necessary to check with Melexis for current information. This product is intended for use in normal
commercial applications. Applications requiring extended temperature range, unusual environmental requirements,
or high reliability applications, such as military, medical life-support or life-sustaining equipment are specifically not
recommended without additional processing by Melexis for each application.
The information furnished by Melexis is believed to be correct and accurate. However, Melexis shall not be liable to
recipient or any third party for any damages, including but not limited to personal injury, property damage, loss of
profits, loss of use, interrupt of business or indirect, special incidental or consequential damages, of any kind, in
connection with or arising out of the furnishing, performance or use of the technical data herein. No obligation or
liability to recipient or any third party shall arise or flow out of Melexis’ rendering of technical or other services.
© 2015 Melexis NV. All rights reserved.