MLX90314
Programmable Sensor Interface
Features and Benefits
■
■
■
■
■
■
Microprocessor-controlled signal conditioning for bridge-type sensors
Suited for low-cost sensors: reduction of non-linearity by programmable coefficients
External or internal temperature sensor for compensating temperature errors
Versatile output signal ranges: 4, 5, 10, or 11VDC; 4 to 20 mA loop
Mass calibration easy with 2400 or 9600 baud UART
Power supply from 6 to 35VDC
Applications
■
■
■
■
Pressure transducers
Accelerometers
Temperature sensor assemblies
Linear position sensors
Ordering Code
Product Code
Temperature Code
MLX90314
MLX90314
L
L
Package Code
Option Code
DF
DF
BAA-000
BAA-000
Packing Form Code
TU
RE
Legend:
Temperature Code:
Package Code:
Packing Form:
L for Temperature Range -40°C to 150°C
DF for SOIC300Mil
RE for Reel, TU for Tube
Ordering example:
MLX90314LDF-BAA-000-TU
Description
The MLX90314 is a dedicated microcontroller which performs signal conditioning for sensors wired in bridge or
differential configurations. Sensors that can be used include thermistors, strain gauges, load cells, pressure
sensors, accelerometers, etc. The signal conditioning includes gain adjustment, offset control, high order
temperature and linearity compensation. Compensation values are stored in EEPROM and are reprogrammable. Programming is accomplished by using a PC, with an interface circuit (level shifting and glue
logic), and provided software.
The application circuits can provide an output of an absolute voltage, relative voltage, or current. The output can
be range limited with defined outputs when the
signal is beyond the programmed limits. Other
features include alarm outputs and level
steering. The robust electrical design allows
the MLX90314 to be used where most signal
conditioning and sensor interface circuits
cannot be used. Voltage regulation control is
provided for absolute voltage and current
modes (external FET required).
The standard package is a plastic SO16W. The
device is static-sensitive and requires ESD
precautions.
3901090314
Rev 008
Page 1
Apr/12
MLX90314
Programmable Sensor Interface
3901090314
Rev 008
Page 2
Apr/12
MLX90314
Programmable Sensor Interface
Table 1. MLX90314 Electrical Specifications
DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified).
Symbol
Test Conditions
Input voltage range
VIN
VDD1 (Regulator connected)
Supply current
IDD
@ TA = 100ºC Current Mode
Supply current
IDD
@ TA = 100ºC Voltage Mode
Regulated supply voltage
VREG
Parameter
Min
Typ
Max
Units
Regulator & Consumption
Regulated voltage
temperature coefficient
Supply rejection ratio
35
6
mA
2.1
4.5
4.75
5.0
mA
5.2
V
uV / ºC
-600
PSRR
dB
90
VDD1 > 6V
V
Instrumentation Amplifier
Differential input range
VBP-VBN IINV = 0
-2.88
8.38
mV/V(Vdd)
Differential input range
VBP-VBN IINV = 1
-8.38
2.88
mV/V(Vdd)
38.0
65.0
%VDD
8.0
nA
Common mode input range
1/2(VBP+VBN)
Pin leakage current
Pins VBP & VBN to GND, VDD =
Common mode rejection Ratio CMRR
60
Hardware gain
69
84
CSOF[1:0] = 00
-4.37
-3.97
mV/V
CSOF[1:0] = 01
-1.46
-1.09
mV/V
CSOF[1:0] = 10
1.09
1.46
mV/V
CSOF[1:0] = 11
3.97
4.37
mV/V
High
1.71
2.29
mV/V
Low
-2.00
-1.43
mV/V
Coarse offset control Range
Fixed offset control range
dB
300
IA chopper frequency
V/V
kHz
Gain Stage
Course gain
CSGN = 000
3.0
3.3
V/V
(Fixed Gain = 1023)
CSGN = 001
4.9
5.4
V/V
CSGN = 010
8.0
8.8
V/V
CSGN = 011
12.8
14.1
V/V
CSGN = 100*
7.9
8.7
V/V
CSGN = 101*
12.7
14.0
V/V
* CSGN = 100 to 111: voltage mode
only, not applicable to current mode.
Output > 6.5V; MSB = 1
Output < 6.5V; MSB = 0
3901090314
Rev 008
Page 3
Apr/12
MLX90314
Programmable Sensor Interface
Table 1. MLX90314 Electrical Specifications (continued)
DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified).
Parameter
Coarse gain
Test Conditions
CSGN = 110*
Min
20.4
CSGN = 111*
Typ
Max
23.0
Units
V/V
36.6
0.970
V/V
Fixed gain control range
33.1
0.480
Digital Mode & Current Mode Coarse Gain Stage
CSGN = 00
Course Gain
1.05
1.17
V/V
CSGN = 01
1.71
1.89
V/V
CSGN = 10
2.77
3.06
V/V
CSGN = 11
4.48
4.95
V/V
CSGN[2:2] = 0
4.5
6.5
V
Gain
2.74
3.04
V/V
CSGN[2:2] = 1
6.5
11
V
Gain
7.24
7.86
V/V
-0.2
V
V/V
Voltage Mode Output Stage ( See Voltage Mode)
Output voltage span
Minimum output voltage
Output source current
2.0
mA
20
uA
Output sink current
@ 0V output voltage
Output resistance
Over complete output range
Digital mode output span
CSGN[2:2] = 0
6.5
V
CSGN[2:2] = 1
11.0
V
Digital mode step size
25
Ohms
VDD = 5V, CSGN[2:2]=0
6.5
mV
VDD = 5V, CSGN[2:2]=1
11.0
mV
10
nF
Capacitive load VMO pin
Current Mode Output Stage
Fixed gain
RSENSE = 24 ohm
Output current CMO pin
Current mode
8.4
Current sense resistor
9.3
27
mA
24
Ohms
23
Digital mode current output span
VDD = 5V
Digital mode current step Size
VDD = 5V,RSENSE=24Ω
mA/V
mA
30
uA
Signal Path ( General)
Overall gain
Voltage mode
98
2100
V/V
Current mode = 24Ω
284
2625
mA/V
-0.25
0.25
%
Overall Gain < 250V/V
-1.75
1.75
%
Overall Gain > 250V/V
-4.6
+4.6
%
Overall non-linearity
Ratiometry Error (4.75V – 5.25V)
3901090314
Rev 008
Page 4
Apr/12
MLX90314
Programmable Sensor Interface
Table 1. MLX90314 Electrical Specifications (continued)
DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified).
Parameter
Test Conditions
Bandwidth (-3dB)
39 nF connected from FLT to GND
Noise, VDD = 5V, CFLT=39nF, CL=10nF, RL =5KΩ, Analog Mode (Max. gain)
Min
2.8
Typ
3.5
Max
4.2
Units
KHz
17
mVRMS
Temperature Sensor & - Amplifier
Temperature sensor sensitivity
390
Temperature sensor output voltage
uV/ºC
70
380
mV
Temperature Sensor & Amplifier (continued).
Input voltage range TMP pin
GNTP[1,0] = 00
207
517
mV
@ VDD = 5.0V
GNTP[1,0] = 01
145
367
mV
GNTP[1,0] = 10
101
263
mV
GNTP[1,0] = 11
71
186
mV
DAC
10
Resolution
Bit
Guaranteed By Design
Monotonicity
Ratiometric output range (DAC output)
1
Offset Error
75
10
% VDD
LSB
Differential non-linearly
1
LSB
Integral non-linearity
2
LSB
ADC
Resolution
10
Monotonicity
Bit
Guaranteed by design
1
Ratiometric input range
75
10
Offset error
% VDD
LSB
Differential non-linearly
1
LSB
Integral non-linearity
2
LSB
250
kHz
88.7
kHz
On-Chip RC Oscillator and Clock
Untrimmed RC oscillator
frequency
Trimmed RC oscillator frequency
(Measured at TMP pin with TSTB pin pulled low after power up)
Frequency temperature coefficiency
Clock Stability with temperature compensation over full temperature range
Ratio of f (microcontroller main clock
and (RC oscillator)
3901090314
Rev 008
40
86.9
87.8
-3
+3
TURBO = 0
7
TURBO = 1
28
Page 5
Hz/ºC
26
%
Apr/12
MLX90314
Programmable Sensor Interface
Table 1. MLX90314 Electrical Specifications (continued)
DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified).
Parameter
Input & Output Pins (I01 & I02)
Test Conditions
Digital input levels
Low
High
Output Levels
Min
Typ
Max
0.5
Units
V
VDD-0.5
@ output current = 5mA low
0.4
VDD-0.4
@ Output current = 5mA high
V
VDD
TSTB Pin
Input levels
Low
0.5
V
High
VDD-0.5
Pull-up Resistor
66
kOhms
1.24
kOhms
FLT Pin
Output resistance
Output voltage range
VDD = 5V
0.05
3.6
V
VDD = 5V
0.05
3.75
V
20
pf
OFC Pin
Output voltage range
Load capacitor
UART & COMS Pin
UART baud rate
COMS pin input levels
TURBO = 0
2400
baud
TURBO = 1
9600
baud
Low
V
0.3*VDD
High
COMS Pin Output Resistance
3901090314
Rev 008
0.7*VDD V
Low
100
Ohms
High
100
kOhms
Page 6
Apr/12
MLX90314
Programmable Sensor Interface
Unique Features
Customization
Table 2. Absolute Maximum Ratings
Melexis can customize the MLX90314 in both
hardware and firmware for unique requirements. The
hardware design provides 64 bytes of RAM, 3 kbytes
of ROM, and 48 bytes of EEPROM for use by the
firmware.
Supply voltage (ratiometric) VDD Max
6V
Supply voltage (ratiometric) VDD Min
4.5V
Supply voltage (operating), VDD1 Max
35V
Special Information
Reverse voltage protection
-0.7V
The output of the sensor bridge is amplified via offset
and gain amplifiers and then converted to the correct
output signal form in one of the output stages.
Supply current, Current Mode, IDD
3.5mA
Supply current, Voltage Mode, IDD
4.5mA
The sensitivity and offset of the analog signal chain
are defined by numbers passed to the DAC interfaces
from the microcontroller core (GN[9:0] and OF[9:0]).
The wide range of bridge offset and gain is
accommodated by means of a 2-bit coarse adjustment
DAC in the offset adjustment (CSOF[1:0]), and a
similar one in the gain adjustment (CSGN[2:0]). The
signal path can be directed through the processor for
digital processing. Two I/O pins are available for
analog inputs or digital outputs. These pins can be
used for alarms on various points on the analog signal
path and built-in or external temperature values.
Output current, IVMO
8mA
Output current (short to VDD), ISCVMO
100mA
Output current (short to VSS), ISCVMO
8mA
Output voltage, VVMO
+11V
Power dissipation, PD
71mW
Operating temperature range, T A
-40 to +140°
Storage temperature range, T S
-55 to +150°
Maximum junction temperature, T J
150°C
Programming and Setup
The MLX90314 needs to have the compensation
coefficients programmed for a particular bridge
sensor to create the sensor system.
Programming the EEPROM involves some
minimal communications interface circuitry,
Melexis’ setup software, and a PC. The
communications interface circuitry is available in
a de ve lopm ent b oar d. T his circuitr y
communicates with the PC via a standard RS232 serial communications port.
Cross Reference
There are no known devices which the MLX 90314
can replace.
ESD Precautions
Observe standard ESD control procedures for CMOS
semiconductors.
3901090314
Rev 008
Page 7
Apr/12
MLX90314
Programmable Sensor Interface
Table 3. Pin Description
1,2
Signal
Name
I/O1, 2
3
TSTB
4
FLT
5
OFC
6,7
VBN,VBP
8
TMP
9
VDD
10
FET
11
VDD1
12
VMO
Temperature sensor input. An external temperature sensor can be used in
conjunction with the internal one. The external sensor can provide a
temperature reading at the location of the bridge sensor.
Regulated supply voltage. Used for internal analog circuitry to ensure accurate
and stable signal manipulation.
Regulator FET gate control. For generating a stable supply for the bridge
sensor and internal analog circuitry (generates regulated voltage for VDD).
Unregulated supply voltage. Used for digital circuitry and to generate FET
output.
Voltage mode output. Compensated sensor output voltage.
13
CMO
Current mode output. Compensated sensor output for current mode operation.
14
CMN
Current mode negative rail. Current mode return path.
15
GND
Power supply return.
16
COMS
Serial communications pin. Bi-directional serial communication signal for
reading and writing to the EEPROM.
Pin
Description
Bi-directional I/O. Can also be used as input to A/D converter. I/O can be
controlled by serial communications or by firmware as alarm inputs or level
out. (unconnected when not used)
Test pin for Melexis production testing. (in normal application connected to
VDD)
Filter pin; allows for connection of a capacitor to the internal analog path.
Offset control output. Provides access to the internal programmed offset
control voltage for use with external circuitry. (unconnected when not used)
Bridge inputs, negative and positive.
Figure 2. Pinout (SO16W (LW) Package)
3901090314
Rev 008
Page 8
Apr/12
MLX90314
Programmable Sensor Interface
Analog Features
Power-On Reset
The Power-On Reset (POR) initializes the state of the
digital part after power up. The reset circuitry is
Supply Regulator
completely internal. The chip is completely reset and
A bandgap-stabilized supply-regulator is on-chip while fully operational 3.5 ms from the time the supply crosses
the pass-transistor is external. The bridge-type sensor 3.5 volts. The POR circuitry will issue another POR if
is typically powered by the regulated supply (typically the supply voltage goes below this threshold for 1.0 us.
4.75V). For ratiometric operation, the supply-regulator
can be disabled by connecting together the
Test Mode
unregulated and regulated supply pins.
For 100% testability, a "TEST" pin is provided. If the pin
is pulled low, then the monitor program is entered and
Oscillator
the chip changes its functionality. In all other
The MLX90314 contains a programmable on-chip RC applications, this pin should be pulled high or left
oscillator. No external components are needed to set floating (internal pull-up).
the frequency (87.8 kHz +/-1%). The MCU-clock is
generated by a PLL (phase locked loop tuned for 614
Temperature Sense
kHz or 2.46 Mhz) which locks on the basic oscillator.
The temperature measurement, TPO, is generated from
The frequency of the internal clock is stabilized over the external or internal temperature sensor. This is
the full temperature range, which is divided into three converted to a 10-bit number for use in calculating the
regions, each region having a separate digital clock signal compensation factors. A 2-bit coarse adjustment
setting. All of the clock frequency programming is GNTP[1:0] is used for the temperature signal gain &
done by Melexis during final test of the component. offset adjustment.
The device uses the internal temperature sensor to
determine which temperature range setting to use.
A/D and D/A
Conversions using only one DAC
For saving chip area, the "Offset DAC" is multiplexed
in various ways. Both "fine offset" and "digital mode"
signals are stored on a capacitor. An ADC-loop is
available by using a comparator and SAR.
D/A
Before changing to another capacitor, the DAC output
should be settled to the new value. For example,
MODSEL moves the analog multiplexer to the socalled "open state 0." At the same time, the 10 bit mux
selects OF[9:0] for the offset-DAC. After the DAC
settling time, the analog multiplexer is moved to its
final state and the DAC-output is stored on a
capacitor.
A/D
The S/W-Signal MODSEL connects the SAR-output to
the DAC and the DAC-output to the comparator. The
SARegister is initialized by a rising edge of STC (S/W
signal). At the end of the A/D conversion, the
EOC flag is set to 1 and the controller can read the
ADC values.
3901090314
Rev 008
Page 9
Apr/12
MLX90314
Programmable Sensor Interface
Timer
Digital Features
The clock of the timers TMI and TPI is taken directly
from the main oscillator. The timers are never
reloaded, so the next interrupt will take place 2x
oscillator pulses after the first interrupt.
Microprocessor, LX11 Core, Interrupt
Controller, Memories
The LX11 microcontroller core is described in its own Watch Dog
datasheet. As an overview, this implementation of the
An internal watch dog will reset the whole circuit in
LX11 RISC core has following resources:
case of a software crash. If the watch dog counter is
not reset at least once every 26 milliseconds (@ 2.46
Two accumulators, one index and two interrupt
MHz main clock), the microcontroller and all the
accumulators.
peripherals will be reset.
15 - 8 bit I/O ports to internal resources.
64 byte RAM.
4 kbytes ROM : 3 kbytes is available for the
customer's application firmware. 1k is
reserved for test.
48 x 8 bit EEPROM.
Four interrupt sources, two UART interrupts
and two timers.
Firmware
The MLX90314 firmware performs the signal
conditioning by either of two means: analog or digital.
The analog signal conditioning allows separate offset
and gain temperature coefficients for up to four
temperature ranges. Digital mode allows for all of the
analog capabilities plus up to five different gain values
based on the input signal level. Also available in both
UART
The serial link is a potentially full-duplex UART. It is modes is the capability of range limiting and level
receive-buffered, in that it can receive a second byte steering.
before a previously received byte has been read from
the receiving register. However, if the first byte is not
read by the time the reception of the second byte is Temperature Processing
completed, the first byte will be lost. The UART's baud In both analog and digital modes, the temperature
rate depends on the RC-oscillator's frequency and the reading controls the temperature compensation. This
"TURBO"-bit (see output port). Transmitted and temperature reading is filtered as designated by the
received data has the following structure: start bit = 0, user. The filter adjusts the temperature reading by
8 bits of data, stop bit = 1.
factoring in a portion of the previous value. This helps
to minimize the effect of noise when using an external
temperature sensor. The filter equation is:
Sending Data
Writing a byte to port 1 automatically starts a
transmission sequence. The TX Interrupt is set when If measured_temp > Temp_f(n) then
Temp_f(n+1) = Temp_f(n) + [measured_temp the STOP-bit of the byte is latched on the serial line.
Temp_f(n)] / [2 n_factor].
Receiving Data
Reception is initialized by a 1 to 0 transition on the
serial line (i.e., a START-bit). The baud rate period
(i.e., the duration of one bit) is divided into 16 phases.
The first six and last seven phases of a bit are not
used. The decision on the bit-value is then the result of
a majority vote of phase 7, 8 and 9 (i.e., the center of
the bit).
If measured_temp < Temp_f(n), then
Temp_f(n+1) = Temp_f(n) - [measured_temp Temp_f(n)] [2 n_factor].
Temp_f(n+1) = new filtered temperature value.
Temp_f(n) = previous filtered temperature value.
Measured_temp = Value from temperature A to D.
N_factor = Filter value set by the user (four
LSB’s of byte 25 of EEPROM), range 0-6.
Spike synchronization is avoided by de-bouncing on The filtered temperature value, Temp_f, is stored in
the incoming data and a verification of the START-bit RAM bytes 58 and 59. The data is a 10 bit value, left
value. The RX Interrupt is set when the stop bit is justified in a 16 bit field.
latched in the UART.
3901090314
Rev 008
Page 10
Apr/12
MLX90314
Programmable Sensor Interface
OFFSET
Different Modes
DAC_OFFSET (new value) ~ OF[9:0]+[OFTCi* dT]
Analog Mode
The parameters OF and GN represent, respectively,
offset correction and span control, while OFTCi and
GNTCi represent their temperature coefficients
(thermal zero shift and thermal span shift). After reset,
the firmware continuously calculates the offset and
gain DAC settings as follows: The EEPROM holds
parameters GN, OF, OFTCi and GNTCi, where “i” is
the gap number and can be 1 < i < 4. The transfer
OF[9:0] = Fixed Gain, bytes 4 and 17 in EEPROM.
OFTCi = Offset for a given temperature
segment I. OFTCiL and OFTCiH in
EEPROM table.
dT = Temp. change within the appropriate gap.
Calculation of the offset for a given temperature segment is performed the same way as for the gain.
[mV/V]
function is described below.
Vout = FG * DAC_GAIN
{Vin+DAC_OFFSET+CSOF}
*
CSGN[2:0]
Iout = FG * DAC_GAIN * CSGN[1:0] *
{Vin+DAC_OFFSET+CSOF} * 8.85mA/V
FG = Hardware Gain (~72V/V). Part of the hardware
design, and not changeable.
CSGN = Course Gain, part of byte 2 in EEPROM.
CSOF = Coarse Offset, part of byte 2 in EEPROM.
GAIN
DAC_GAIN (new value) ~ GN[9:0] + [GNTCi * dT]
GN[9:0] = Fixed Gain, bytes 3 and 17 in EEPROM.
GNTCi = Gain TC for a given temperature
segment I. GNTCiL and GNTCiH in
EEPROM table.
dT = Temp. change within the appropriate gap.
How to calculate gain in the first temp. gap?:
DAC_GAIN = GN[9:0] - GNTC1 * (T1 – Temp_f1)
How to calculate gain in the other temp. gaps?:
2nd gap: DAC_GAIN = GN[9:0] + GNTC2 *
(Temp_f2 – T1)
3th gap: DAC_GAIN = DAC_GAIN2 + GNTC3 *
(Temp_f3 – T2)
4th gap: DAC_GAIN = DAC_GAIN3 + GNTC4 *
(Temp_f4 – T3)
Where:
Temp_f = Filtered temp. (previously described).
If GNTC1 > 2047 => DAC_GAIN
If GNTC2,3,4 > 2047 => DAC_GAIN
3901090314
Rev 008
*
Digital Mode
The MLX90314 firmware provides the capability of
digitally processing the sensor signal in addition to the
analog processing. This capability allows for signal
correction.
Signal Correction
While in digital mode the firmware can perform signal
correction. This is an adjustment to the output level
based on the input signal level. Adjustment
coefficients can be set for five different signal ranges.
The output is obtained by the following formula:
Output = (Signal – Pi) * Pci + Poff where
Signal = input signal measurement;
Poff = Pressure ordinate
Pi = Pressure signal point (I = 2,3,4,5)
Pci = programmed coefficient.
The PCi coefficients are coded on 12 bits: one bit for
the sign, one for the unity, and the rest for the
decimals. The Pi are coded on 10 bits (0-3FFh) in
high-low order.
PNB_TNB: contains the number of signal points,
coded on the four MSB’s. The four LSB’s are reserved
for the number of temperature points. See Table 4 and
Table 5.
Compensation Trade-Offs
A compromise must be made between temperature
compensation and pressure correction. The EEPROM
space where the signal coefficients are stored is
shared with the temperature coefficients, with the
result that an EEPROM byte can be used either for a
temperature coefficient or for a signal coefficient, but
not both. Table 6 presents the possibilities among the
maximum number of temperature gaps and the
maximum number of signal gaps
Page 11
Apr/12
MLX90314
MLX
Programmable Sensorr Interface
Table 6. Tempera
ature
& Signal Limitatio
ons
Table 4. PNB_TNB Bit D
Definition;
Pressure Gaps
s
# of Pressure Gaps
Fixed
4MSB of PNB
PNB_TNB Value
15
5 (F hex)
Maximum number of
temperature gaps
Maximu
mum number of
signal
s
gaps
1
14
4 (E hex)
5 Gaps
2
12
2 (C hex)
Fixed Gain and
fixed Offset
3
10
0 (A hex)
2 Gaps
3 Gaps
4
8
3 Gaps
2 Gaps
5
6
4 Gaps
Fixed
F
signal
Table 5. PNB_TNB Bit D
Definition;
Temperature Gap
ps
# of Temperature Gaps
4 LSB of PNB_TNB
Fixed (1)
0
2 Gaps
5
3 Gaps
8
4 Gaps
11
1 (B hex)
Figure 4. Signa
gnal
Linearity Correc
ction
Output
ML
LX90314
PC5
C5
PC4
Output (units)
PC3
PC2
PC1
0
3901090314
Rev 008
Page 12
P2
P3
P4
P5
Apr/12
MLX90314
Programmable Sensor Interface
3901090314
Rev 008
Page 13
Apr/12
MLX90314
Programmable Sensor Interface
Communications
Level Steering
The level steering option allows configuration of the IO
pins as outputs to indicate the relative level of a
selected signal. See Figure 7. The levels at which the
two outputs change state are programmed by the
user. The programmed levels are set as eight bit
numbers and compared to the upper eight bits of the
digitized signal. This function utilizes the same
resources as the alarm function. The two functions
(level steering and alarm) can not be used
simultaneously. Four bytes in the EEPROM command
this option. The first byte is used to select the input,
while the last three comprise the transition levels. The
control byte for the level steering is the same as for
the alarm. The four MSB’s hold the code for the
selected input. The control byte has several
possibilities as designated by the MUX settings (See
Table 8)
The MLX90314 firmware transfers a complete byte of
data into and from the memory based on a simple
command structure. The commands allow data to be
read and written to and from the EEPROM and read
from the RAM. RAM data that can be read includes
the current digitized temperature and digitized GNO.
The commands are described below. Melexis provides
setup software for programming the MLX90314.
Table 8. Level Steering Bit Definitions
Table 9. Mode Byte Bit Definition
Bit
Function
Selected input
TPO
IAO
GNO
VMO
MUX Value
0010
0110
0000
0011
Remarks
7
1= EEPROM Checksum test active
0= EEPROM Checksum test inactive
EEPROM Checksum test. Checksum test failure will
force the output to the value programmed in bytes 40
and 41 of the EEPROM (See Table 10).
6
0 = Analog Mode
1 = Digital Mode
Digital mode must be activated when VMO and CMO
both active.
5
0 = Alarm function inactive
1 = Alarm function active
Alarm functions are like “limiting functions”:
If defined ADC INPUT is below low alarm trigger,
then DIGMOD becomes active with alarm low
output).
If defined ADC INPUT is above high alarm trigger,
then DIGMOD becomes active with alarm high
output.
Note: Deactivated if the level steering mode is active
4
0 = IO1/IO2 are not active outputs
1 = level steering: IO1/IO2 are active
outputs
Depending on the sampled input, IO1/IO2 will be a
two bit digital output. If IO1/IO2 are not active outputs,
then they will be analog inputs.
3
0 = Turbo inactive
1 = Turbo active
2
0 = VMO inactive
1 = VMO active
1
0 = Internal temperature sensor active
1 = External temperature sensor
active
0
0 = CMO inactive
1 = CMO active
3901090314
Rev 008
CMO has fixed digital value (EEPROM byte - see
below) if both VMO and CMO are active. To activate
this value, the digital mode must be activated.
Page 14
Apr/12
MLX90314
Programmable Sensor Interface
Clock Temperature Stabilization
UART Commands
The commands can be divided into three parts: (1)
downloading of data from the ASIC, (2) uploading of
data to the ASIC and (3) the reset command.
All the commands have the same identification bits.
The two MSB’s of the sent byte indicate the command
while the last six MSB’s designate the desired
address. The commands are coded as followed:
11 to read a RAM byte.
10 to read an EEPROM byte.
01 to write in the EEPROM.
00 to write in the RAM.
The addresses can include 0-63 for the RAM, 0-47 for
the EEPROM, and 63 for the EEPROM, RESET
Command (read).
Downloading Command
With one byte, data can be downloaded from the
ASIC. The ASIC will automatically send the value of
the desired byte.
Uploading Command
Writing to the RAM or EEPROM involves a simple
handshaking protocol in which each byte transmitted
is acknowledged by the firmware. The first byte
transmitted to the firmware includes both command
and address. The firmware acknowledges receipt of
the command and address byte by echoing the same
information back to the transmitter. This “echo” also
indicates that the firmware is ready to receive the byte
of data to be stored in RAM or EEPROM. Next, the
byte of value to be stored is transmitted and, if
successfully received and stored by the firmware, is
acknowledged by a “data received signal,” which is
two bytes of value BCh. If the “data received signal” is
not observed, it may be assumed that no value has
been stored in RAM or EEPROM.
Reset Command
Reading the address 63 of the EEPROM resets the
ASIC and generates a received receipt indication.
Immediately before reset, the ASIC sends a value of
BCh to the UART, indicating that the reset has been
received.
EEPROM Data
All user-settable variables are stored in the EEPROM
within the MLX90314. The EEPROM is always reprogrammable. Changes to data in the EEPROM do
not take effect until the device is reset via a soft reset
or power cycle. 12 bit variables are stored on 1.5
bytes. The 4 MSB’s are stored in a separate byte and
shared with the four MSB’s of another 12-bit variable.
3901090314
Rev 008
To provide a stable clock frequency from the internal
clock over the entire operating temperature range,
three separate clock adjust values are used. Shifts in
operating frequency over temperature do not effect the
performance but do, however, cause the
communications baud rate to change.
The firmware monitors the internal temperature sensor
to determine which of three temperature ranges the
device currently is in. Each temperature range has a
factory set clock adjust value, ClkTC1, ClkTC2, and
ClkTC3. The temperature ranges are also factory set.
The Ctemp1 and Ctemp2 values differentiate the three
ranges. In order for the temperature A to D value to be
scaled consistently with what was used during factory
programming, the CLKgntp (temperature amplifier
gain) valued is stored. The Cadj value stored in byte 1
of the EEPROM is used to control the internal clock
frequency while the chip boots.
Unused Bytes
There are eight unused bytes in the EEPROM address
map. These bytes can be used by the user to store
information such as a serial number, assembly date
code, production line, etc. Melexis doesn’t guarantee
that these bytes will be available to the user in future
revisions of the firmware.
EEPROM Checksum
A checksum test is used to ensure the contents of the
EEPROM. The eight bit sum of all of the EEPROM
addresses should have a remainder of 0FFh when the
checksum test is enabled (mode byte). Byte 47 is
used to make the sum remainder totals 0FFh. If the
checksum test fails, the output will be driven to a user
defined value, Faultval. When the checksum test is
enabled, the checksum is verified at initialization of
RAM after a reset.
RAM Data
All the coefficients (pressure, temperature) are
compacted in a manner similar to that used for the
EEPROM. They are stored on 12 bits (instead of
keeping 16 bits for each coefficient). All the
measurements are stored on 16 bits. The user must
have access to the RAM and the EEPROM, while
interrupt reading of the serial port. Therefore, bytes
must be kept available for the return address, the Aaccu and the B-accu, when an interrupt occurs. The
RAM keeps the same structure in the both modes.
Page 15
Apr/12
MLX90314
Programmable Sensor Interface
Table 10. Examples of Fixed Point
Signed Numbers
Data Range
Decimal
Various data are arranged as follows:
Value
Hexadecimal
Equivalent
Fixed Point Signed
Number Equivalent
Temperature points: 10 bits, 0-03FF in highlow order.
0
0000h
+0.00
Pressure points: 10 bits, 0-03FF in high-low
order.
1023
3FFh
+0.9990234
1024
400h
+1.000
2047
7FFh
+1.9990234
2048
800h
-0.000
3071
0BFFh
-0.9990234
3072
0C00h
-1.000
4095
0FFFh
-1.9990234
GN1: 10 bits, 0-03FF in high-low order.
OF1: 10 bits, 0-03FF in high-low order.
GNTCi: signed 12 bits (with MSB for the sign),
[-1.9990234, +1.9990234].
OFTCi: signed 12 bits (with MSB for the sign),
[-1.9990234, +1.9990234].
Pci: signed 12 bits (with MSB for the sign),
[-1.9990234, +1.9990234]
DIGMO: 10 bits, 0-03FF in high-low order
(See Table 13 for examples of fixed point
signed numbers.)
Table 11. EEPROM Byte Definitions
Byte
Designation
Note
0
MODE byte
Contents described in Table 9.
1
Cadj
Controls system clock during boot.
2
Coarse Control
Contents described in Table 12.
3
GN1L
The eight LSB's of the Fixed Gain, GN[7:0].
4
OF1L
The eight LSB's of Fixed Offset OF[7:0].
5
GNTC1L
The eight LSB's of the first gain TC GNTC1[7:0].
6
OFTC1L
The eight LSB's of the first offset TC OFTC1[7:0].
7
TR1L
PC5L
The eight LSB's of the first temperature point, T1[7:0].
The eight LSB's of Pressure Coefficient 5 PC5[7:0].
8
GNTC2L
P5L
The eight LSB's of the second gain TC GNTC2[7:0].
The eight LSB's of Pressure Point 5 P5[7:0].
9
OFTC2L
PC4L
The eight LSB's of the second offset TC OFTC2[7:0].
The eight LSB's of Pressure Coefficient 4 PC4[7:0].
10
TR2L
P4L
The eight LSB's of the second temperature point T2[7:0].
The eight LSB's of Pressure Point 4 (or Signature) P4[7:0].
11
GNTC3L
PC3L
The eight LSB's of the third gain TC GNTC3[7:0].
The eight LSB's of Pressure Coefficient 3 (or Signature) PC3
[8:0].
3901090314
Rev 008
Page 16
Apr/12
MLX90314
Programmable Sensor Interface
Table 11. EEPROM Byte Definitions (continued)
Byte
Designation
Note
12
OFTC3L or
The eight LSB's of the third offset TC OFTC3[7:0].
P3L
The eight LSB's of Pressure Point 2 (or Signature) P2[7:0].
13
TR3L or
PC2L
The eight LSB's of the third temperature point T3[7:0].
The eight LSB's of Pressure Coefficient 2 PC2[7:0].
14
GNTC4L or
P2L
The eight LSB's of the fourth gain TC GNTC4[7:0].
The eight LSB's of Pressure Point 2 P2[7:0].
15
OFTC4L or
PC1L
The eight LSB's of the fourth offset TC OFTC4.
The eight LSB's of Pressure Coefficient 1 PC1
16
PoffL
The eight LSB's of Pressure (output signal) Ordinate Poff[7:0].
Upper
Four
Bits
Lower
Four
Bits
Upper four bits.
Lower four bits
17
GN1[9:8]
OF1[9:8]
Two MSB's of fixed gain
GN[9:8].
Two MSB's of fixed offset
OF[9:8]
18
GNTC1[11:8]
OFTC1[11:8]
Four MSB's of first gain TC
GNTC1[11:8].
Four MSB's of the first offset
TC OFTC1[11:8].
19
TR1[9:8]
GNTC2[11:8]
PC5[11:8]
P5[9:8]
Two MSB's, first temperature
point T1[9:8] or
Four MSB's, Pressure
Coefficient 5 PC5[11:8].
Four MSB's, second gain
TC GNTC2[11:8] or
TC GNTC2[11:8] or
Two MSB's Pressure Point 5
P5[9:8].
OFTC2[11:8]
TR2[9:8]
PC4[11:8]
P4[9:8]
Four MSB's second offset
TC OFTC2[11:8] or
Four MSB's Pressure
Coefficient 4 PC4[11:8].
Two MSB's second
temperature point T2[9:8] or
Two MSB's Pressure Point 4
P4[9:8].
GNTC3[11:8]
OFTC3[11:8]
PC3[11:8]
P3[9:8]
Four MSB's third gain TC
GNTC3[11:8] or
Four MSB's Pressure
Coefficient 3 PC3[11:8]).
Four MSB's third offset
TC OFTC3[11:8] or
Two MSB's Pressure Point 3
P3[9:8].
TR3[9:8]
GNTC4[11:8]
PC2[9:8]
P2[9:8]
Two MSB's third
temperature point t3[9:8] or
Four MSB's Pressure
Coefficient 2 PC2[11:8].
Four MSB's fourth gain TC
GNTC4[11:8] or
Two MSB's Pressure
Point 2 P2[9:8].
OFTC4[11:8]
Poff[9:8]
Four MSB's fourth offset TC
ordinate
OFTC4[11:8] or
Four MSB's Pressure
Coefficient 1 PC1[11:8].
Two MSB's Pressure
20
21
22
23
PC1[11:8]
3901090314
Rev 008
Page 17
Poff[9:8].
Apr/12
MLX90314
Programmable Sensor Interface
Table 11. EEPROM Byte Definitions (continued)
Byte
Designation
Note
24
PNB_TNB
Number of temperature and pressure gaps. See Tables 4, 5,
and 6, and Figures 3 and 4.
25
n_factor
Temperature filter coefficient, four LSB's. Four MSB's must
all be zero.
26
Not used
This byte is not used.
27
ALARM low trigger
Level1 IO2/IO1
Value below which ALARM will go on.
Value of first level ([IO2, IO1]= 00-01). See Figures 5 & 7.
28
ALARM low output
Level2 IO2/IO1
Value of DIGMO during “ALARM low” condition.
Value of second level ([IO2,IO1] = 01-10). See Figures 5 and
7
29
ALARM high trigger
Level3 IO2/IO1
Value above which ALARM will go on.
Value of third level ([IO2,IO1]=10-11). See Figures 5 and 7.
30
ALARM high out level
Value of DIGMO during “ALARM high” condition. See
Figures 5 and 7.
31
ALARM control byte
Three bits needed for choice of input for ALARM detection
(TPO, IAO, GNO, VMO, IO1 or IO2).
IO1/IO2 control byte
Two bits needed for choice of input for LEVEL-steering
(TPO, IAO, GNO or VMO).
Four LSB's are unused
The above bits are multiplexed according to the mode. If both
CMO and VMO are active, then alarm is not active.
32
ClkTC1
Value of Cadj at low temperature (Don’t change; factory set).
33
ClkTC2
Value of Cadj at mid temperature (Don’t change; factory set).
34
ClkTC3
Value of Cadj at high temperature Don’t change; factory set).
35
Ctemp1
First Cadj temperature point, eight MSB’s of the 10 bit
internal temperature value (set at factory; do not change).
36
Ctemp2
Second Cadj temperature point, eight MSB’s of the 10 bit
internal temperature value (set at factory; do not change).
37-38
Not used
These bytes are not used by the firmware and are available
to the user.
39
CLKgntp
Setting for temperature amplifier for clock temperature
adjustment temperature reading (set at factory; do not
change).
40-41
Faultval
Value sent to output if checksum test fails is a 10 bit value.
42-46
Not Used
These bytes are not used by the firmware and are available
to the user.
47
Checksum
EEPROM checksum; value needed to make all bytes add to
0FFh. Must be set by user if checksum test is active.
3901090314
Rev 008
Page 18
Apr/12
MLX90314
Programmable Sensor Interface
Table 12. Bit Definitions;
Coarse Control , Byte 2
Notes For Table 11
1. Not all the temperature and pressure coefficients
must be used. When a coefficient is unused, the eight
LSB’s and the four MSB’s are replaced by 0.
2. The level steering and the alarm mode cannot be
active simultaneously because the levels bytes are
shared with the two modes.
Bit Symbol Function
7
IINV
Invert signal sign.
6
GNTP1 Gain & offset of temperature
amplifier.
3. If the alarm mode and the level steering are both
active, the level steering mode is dominant. The
firmware will run with the level steering mode, by
default.
5
GNTP0 GNTP = 0 to 3.
4
CSOF 1 Coarse offset of signal amplifier.
3
CSOF 0 CSOF = 0 to 3.
4. If the DIGMO mode (VMO and CMO both active) is
active, the alarm will be automatically disabled by the
firmware.
2
5. At PNB_TNB address, the four MSB's correspond
to the address of the last pressure point and the four
LSB’s to the address of the last temperature point.
0
CSGN2 Coarse gain of signal amplifier.
CSGN = 0 to 7. If CSGN > 3,
CSGN1 output range = 0 to 10V. If
CSGN0 CSGN