MLX90308CCC 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 Information art No. Temperature Suffix MLX90308CCC L MLX90308CCC L Package LW UD* Option Temperature Range -40C to 140C -40C to 140C *UD denotes unpackaged die Description The MLX90308CCC 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 MLX90308CCC 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. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 1 Page 22/Aug/98 Rev 2.2 Page 1 23/Oct/01 MLX90308CCC Programmable Sensor Interface Page 2 GND TMP VBN VBP VDD VDD1 INV OFC x2 Rev 2.2 Internal Temp Sensor FLT 1.24kOhm 23/Oct/01 0.48V/V 0.97V/V DAC Microprocessor ADC Digital Analog TSTB Temperature signal. Used by microproscessor to perform 0V temperature linearity corrections. ADC 3.5V Fine Gain DAC GAIN 2-bit CSGN Figure 1. Functional Block Diagram Temp Amp Gain GNTP [1:0] Coarse Offset Hardware Gain = 20 x 10 OPA DAC_Offset External Temp Sensor 0V 3.5V Supply Regulator FET Voltage Mode GAIN 1-bit CSGN GAIN Current Mode COMS IO1 IO2 VMO CMN CMO MLX90308CCC Programmable Sensor Interface MLX90308CCC Programmable Sensor Interface Table 1. MLX90308 Electrical Specifications DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified). Parameter 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 Min Typ Max Units Regulator & Consumption Regulated voltage temperature coefficient Supply rejection ratio 6 35 2.1 4.5 4.75 mA 5.0 mA 5.2 V -600 PSRR VDD1 > 6V 90 V uV / ºC dB Instrumentation Amplifier Differential input range VBP-VBN IINV = 0 -11.0 32.0 mV/V(Vdd) Differential input range VBP-VBN IINV = 1 -32.0 11.0 mV/V(Vdd) Common mode input range 1/2(VBP+VBN) 38.0 65.0 %VDD Pin leakage current Pins VBP & VBN to GND, VDD = 8.0 nA Common mode rejection CMRR 60 Hardware gain Coarse offset control Range Fixed offset control range dB 18 22 CSOF[1:0] = 00 -15.3 -13.9 mV/V CSOF[1:0] = 01 -5.1 -3.8 mV/V CSOF[1:0] = 10 3.8 5.1 mV/V CSOF[1:0] = 11 13.9 15.3 mV/V High 6.0 8.0 mV/V Low -7.0 -5.0 mV/V IA chopper frequency 300 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 MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 3 Page 22/Aug/98 Rev 2.2 Page 3 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 1. MLX90308 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 33.1 36.6 V/V Fixed gain control range 0.480 0.970 V/V Digital Mode & Current Mode Coarse Gain Stage Course Gain CSGN = 00 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 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 mA/V 27 mA 24 Ohms Digital mode current output span VDD = 5V 23 Digital mode current step Size VDD = 5V,RSENSE=24Ù Signal Path ( General) Overall gain Voltage mode 28 600 V/V Current mode = 24Ù 81 750 mA/V -0.25 0.25 % Overall Gain < 250V/V -0.5 0.5 % Overall Gain > 250V/V -1.3 +1.3 % Overall non-linearity Ratiometry Error (4.75V – 5.25V) MLX90308CCC Programmable Sensor Interface Page 4 mA 30 Rev 2.2 uA 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 1. MLX90308 Electrical Specifications (continued) DC operating parameters: TA = -40 to 140oC, VDD1 = 6 to 35VDC (unless otherwise specified). Parameter Bandwidth (-3dB) Test Conditions 39 nF connected from FLT to GND Min 2.8 Noise, VDD = 5V, CFLT=39nF, CL=10nF, RL =5KÙ, Analog Mode Typ 3.5 Max 4.2 Units KHz 5.0 mVRMS 390 uV/ºC Temperature Sensor & - Amplifier Temperature sensor sensitivity Temperature sensor output voltage 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 Resolution 10 Monotonicity Bit Guaranteed By Design Ratiometric output range (DAC output) 1 75 Offset Error 10 % VDD LSB Differential non-linearly 1 LSB Integral non-linearity 2 LSB ADC Resolution 10 Monotonicity Bit Guaranteed by design Ratiometric input range 1 75 Offset error 10 % 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) 40 86.9 87.8 26 -3 +3 TURBO = 0 7 TURBO = 1 28 MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 5 Page Hz/ºC 22/Aug/98 Rev 2.2 % Page 5 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 1. MLX90308 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 VDD-0.4 @ Output current = 5mA high 0.4 V VDD TSTB Pin Input levels Low 0.5 V High VDD-0.5 Pull-up Resistor 66 kOhms FLT Pin Output resistance Output voltage range 1.24 kOhms 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 0.3*VDD V High COMS Pin Output Resistance 0.7*VDD V Low 100 Ohms High 100 kOhms MLX90308CCC Programmable Sensor Interface Page 6 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Unique Features Customization Table 2. Absolute Maximum Ratings Melexis can customize the MLX90308 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 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 (short to VDD), ISCVMO 100mA Output current (short to VSS), ISCVMO 8mA Output voltage, VVMO +11V Power dissipation, PD 71mW Special Information Output current, IVMO 8mA -40 to +140° Operating temperature range, TA -55 to +150°C Storage temperature range, TS Maximum junction temperature, TJ 150°C Programming and Setup The MLX90308 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 development board. This circuitry communicates with the PC via a standard RS232 serial communications port. Cross Reference There are no known devices which the MLX 90308CCC can replace. ESD Precautions Observe standard ESD control procedures for CMOS semiconductors. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 7 Page 22/Aug/98 Rev 2.2 Page 7 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 3. Pin Description Pin 1,2 Signal Name I/O1, 2 Description 3 TSTB 4 FLT 5 OFC 6,7 VBN,VBP 8 TMP 9 VDD 10 FET 11 VDD1 12 VMO 13 CMO 14 CMN Current mode output. Compensated sensor output for current mode operation. 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. 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. 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. 1 IO1 COMS 16 2 IO2 GND 15 3 TSTB CMN 14 4 FLT CMO 13 5 OFC VMO 12 6 VBN VDD1 11 7 VBP FET 10 8 TMP VDD 9 Figure 2. Pinout (SO16W (LW) Package) MLX90308CCC Programmable Sensor Interface Page 8 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Analog Features Power-On Reset Supply Regulator A bandgap-stabilized supply-regulator is on-chip while the pass-transistor is external. The bridge-type sensor is typically powered by the regulated supply (typically 4.75V). For ratiometric operation, the supply-regulator can be disabled by connecting together the unregulated and regulated supply pins. Oscillator The MLX90308 contains a programmable on-chip RC oscillator. No external components are needed to set the frequency (87.8 kHz +/-1%). The MCUclock is generated by a PLL (phase locked loop tuned for 614 kHz or 2.46 Mhz) which locks on the basic oscillator. The frequency of the internal clock is stabilized over the full temperature range, which is divided into three regions, each region having a separate digital clock setting. All of the clock frequency programming is done by Melexis during final test of the component. The device uses the internal temperature sensor to determine which temperature range setting to use. The Power-On Reset (POR) initializes the state of the digital part after power up. The reset circuitry is completely internal. The chip is completely reset and fully operational 3.5 ms from the time the supply crosses 3.5 volts. The POR circuitry will issue another POR if the supply voltage goes below this threshold for 1.0 us. Test Mode For 100% testability, a "TEST" pin is provided. If the pin is pulled low, then the monitor program is entered and the chip changes its functionality. In all other applications, this pin should be pulled high or left floating (internal pull-up). Temperature Sense The temperature measurement, TPO, is generated from the external or internal temperature sensor. This is converted to a 10-bit number for use in calculating the signal compensation factors. A 2-bit coarse adjustment GNTP[1:0] is used for the temperature signal gain & offset adjustment. 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 so-called "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. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 9 Page 22/Aug/98 Rev 2.2 Page 9 23/Oct/01 MLX90308CCC Programmable Sensor Interface Digital Features Microprocessor, LX11 Core, Interrupt Controller, Memories The LX11 microcontroller core is described in its own datasheet. As an overview, this implementation of the LX11 RISC core has following resources: Two accumulators, one index and two interrupt accumulators. 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. UART The serial link is a potentially full-duplex UART. It is receive-buffered, in that it can receive a second byte 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 completed, the first byte will be lost. The UART's baud rate depends on the RC-oscillator's frequency and the "TURBO"-bit (see output port). Transmitted and received data has the following structure: start bit = 0, 8 bits of data, stop bit = 1. Sending Data Writing a byte to port 1 automatically starts a transmission sequence. The TX Interrupt is set when the STOP-bit of the byte is latched on the serial line. Receiving Data Timer 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. Watch Dog An internal watch dog will reset the whole circuit in case of a software crash. If the watch dog counter is not reset at least once every 26 milliseconds (@ 2.46 MHz main clock), the microcontroller and all the peripherals will be reset. Firmware The MLX90308 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 modes is the capability of range limiting and level steering. Temperature Processing In both analog and digital modes, the temperature reading controls the temperature compensation. This temperature reading is filtered as designated by the user. The filter adjusts the temperature reading by 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: If measured_temp > Temp_f(n) then Temp_f(n+1) = Temp_f(n) + [measured_temp Temp_f(n)] / [2 n_factor]. 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]. Spike synchronization is avoided by de-bouncing on the incoming data and a verification of the STARTbit value. The RX Interrupt is set when the stop bit is latched in the UART. Measured_temp = Value from temperature A to D. Temp_f(n+1) = new filtered temperature value. Temp_f(n) = previous filtered temperature value. N_factor = Filter value set by the user (four LSB’s of byte 25 of EEPROM), range 0-6. The filtered temperature value, Temp_f, is stored in RAM bytes 58 and 59. The data is a 10 bit value, left justified in a 16 bit field. MLX90308CCC Programmable Sensor Interface Page 10 Rev 2.2 23/Oct/01 MLX90308CCC 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 function is described below. Calculation of the offset for a given temperature segment is performed the same way as for the gain. (7 − −6) * OF [9 : 0] − 6 = DAC _ OFFSET 1023 [mV/V] Digital Mode Vout = FG * DAC_GAIN * CSGN[2:0] * {Vin+DAC_OFFSET+CSOF} Iout = 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. The MLX90308 firmware provides the capability of digitally processing the sensor signal in addition to the analog processing. This capability allows for signal correction. FG * DAC_GAIN * CSGN[1:0] * {Vin+DAC_OFFSET+CSOF} * 8.85mA/V FG = Hardware Gain (~20V/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 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: DAC_GAIN (new value) ~ GN[9:0] + [GNTCi * dT] 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. 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. 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. How to calculate gain in the first temp. gap?: DAC_GAIN = GN[9:0] - GNTC1 * (T1 – Temp_f1) 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. 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 If GNTC2,3,4 > 2047 (0.97 − 0.48) * Compensation Trade-Offs => DAC_GAIN ↑ => DAC_GAIN ↓ GN[9 : 0] [V/V] + 0.48 = DAC _ GAIN 1023 MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface 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. Rev Y.X 11 Page 22/Aug/98 Rev 2.2 Page 11 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 4. PNB_TNB Bit Definition; Table 6. Temperature Maximum number of temperature gaps Fixed Gain and fixed Offset Maximum number of signal gaps 10 (A hex) 2 Gaps 3 Gaps 4 8 3 Gaps 2 Gaps 5 6 4 Gaps Fixed signal # of Pressure Gaps Fixed 4MSB of PNB_TNB Value 15 (F hex) 1 14 (E hex) 2 12 (C hex) 3 5 Gaps Table 5. PNB_TNB Bit Definition; Temperature Gaps # of Temperature Gaps 4 LSB of PNB_TNB Fixed (1) 0 2 Gaps 5 3 Gaps 8 4 Gaps 11 (B hex) Figure 3. Temperature Linearity Correction OF & GN Figure 4. Signal Linearity Correction Output MLX90308 MLX90308 OFTC4 PC5 OFTC3 PC4 OFTC2 GNTC4 PC3 GNTC3 OF0 Output (units) Parameter OFTC1 GNTC2 GN0 PC2 PC1 i4 GNTC1 i3 i2 i1 1 Gap 0 T1 T2 T3 3FFh 0 P2 P3 P4 P5 Baseline Calibration MLX90308CCC Programmable Sensor Interface Page 12 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Alarm Option IO1 & IO2 This option allows controlling the low and high limits of the output (See Figure 5.). The output level is set when the output tries to exceed the programmed limits. Five bytes are reserved for this option. The first byte is the low trigger limit and the second the low output. The third and fourth bytes are used for the high limit and the output. The fifth byte is the alarm control, used to select the alarm input. The different levels are programmed as eight bit numbers. These correspond to the 8 upper bits of the 10 bit signal measurement. When the alarm mode is not used, all of the data is 0. The control code is coded as shown in Table 7. The six possible signals are listed below and are encoded on the 4 MSB’s of byte 31 of the EEPROM. IO1 and IO2 are used in the alarm and level steering modes. For custom firmware, they can be used for a digital input, an analog input, or a digital Figure 6. Alarm & Steering Source Points OFC FLT Power Supply Regulation IAO VBP Table 7. Alarm Source Bit Definition Selected input MUX Value TPO IAO GNO VMO IO1 IO2 0010 0110 0000 0011 0100 0101 GNO Offset Gain VMO VM VBN TPO CMO CM CMN TMP Temp Sense & Amp ADC & DAC IO1 IO2 Bidirectional I/O Microcontroller Core, Memory, EEPROM Reset,Test,& Oscillator TSTB UART COMS Figure 5. Alarm Function OUTPUT VDD1 FET VDD GND MLX90308 Figure 7. Level Steering Function High Output IO1, IO2 MLX90308 Parameter Output 1 -1 1-0 Low Output 0-1 Low Trigger 0-0 (I02,I01) High Trigger Input Signal MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Level 1 Rev Y.X 13 Page Level 2 22/Aug/98 Rev 2.2 Level 3 Page 13 23/Oct/01 MLX90308CCC 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 MLX90308 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 MLX90308. Table 8. Level Steering Bit Definitions Selected input TPO IAO GNO VMO Table 9. Mode Byte Bit Definition Bit Function 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 MLX90308CCC Programmable Sensor Interface 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 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface separate byte and shared with the four MSB’s of another 12-bit variable. 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. Clock Temperature Stabilization 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. 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 MLX90308CCC. The EEPROM is always re-programmable. 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 MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface 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. Rev Y.X 15 Page 22/Aug/98 Rev 2.2 Page 15 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 10. Examples of Fixed Point Signed Numbers Data Range Various data are arranged as follows: Decimal Hexadecimal Equivalent Fixed Point Signed Number Equivalent Temperature points: 10 bits, 0-03FF in highlow order. 0 0000h +0.00 1023 3FFh +0.9990234 Pressure points: 10 bits, 0-03FF in high-low order. 1024 400h +1.000 2047 7FFh +1.9990234 OF1: 10 bits, 0-03FF in high-low order. 2048 800h -0.000 GNTCi: signed 12 bits (with MSB for the sign), [-1.9990234, +1.9990234]. 3071 0BFFh -0.9990234 3072 0C00h -1.000 4095 0FFFh -1.9990234 GN1: 10 bits, 0-03FF in high-low order. 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 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]. MLX90308CCC Programmable Sensor Interface Page 16 Rev 2.2 23/Oct/01 MLX90308CCC 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] Two MSB's third temperature point t3[9:8] or Four MSB's Pressure P2[9:8] Coefficient 2 PC2[11:8]. Four MSB's fourth gain TC GNTC4[11:8] or Two MSB's Pressure Point 2 P2[9:8]. Poff[9:8] Two MSB's Pressure 20 21 22 PC2[9:8] 23 OFTC4[11:8] PC1[11:8] Four MSB's fourth offset TC ordinate OFTC4[11:8] or Four MSB's Pressure Coefficient 1 PC1[11:8]. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 17 Page Poff[9:8]. 22/Aug/98 Rev 2.2 Page 17 23/Oct/01 MLX90308CCC 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. MLX90308CCC Programmable Sensor Interface Page 18 Rev 2.2 23/Oct/01 MLX90308CCC 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. Bit Symbol Function 7 2. The level steering and the alarm mode cannot be active simultaneously because the levels bytes are shared with the two modes. 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 CSGN2 Coarse gain of signal amplifier. CSGN = 0 to 7. If CSGN > 3, CSGN1 output range = 0 to 10V. If CSGN0 CSGN <= 3, output range = 0 to 5V. 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. 1 0 6. In the alarm_control variable, the selected input is stored on the three MSB’s. 7. Pi and OFi are 10 bit values, right justified in 12 bits fields. Table 13. RAM Byte Definitions Byte Functions Remarks 0 MODE byte See Table 9. 1 GN1L Fixed gain number (8LSB). 2 OF1L Fixed offset number (8LSB). 3 GNTC1L First gain TC (8LSB). 4 OFTC1L First offset TC (8LSB). 5 TR1L PC5L First temperature point. Pressure Coefficient 5 (8LSB). 6 GNTC2L P5L Second gain TC. Pressure point 5 (8LSB). 7 OFTC2L PC4L Second offset TC. Pressure coefficient 4 (8LSB). 8 TR2L P4L Second temperature point. Pressure Point 4 (or Signature) (8LSB). 9 GNTC3L PC3L Third gain TC. Pressure Coefficient 3 (or Signature) (8LSB). 10 OFTC3L P3L Third offset TC. Pressure Point 2 (or Signature) (8LSB). MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 19 Page 22/Aug/98 Rev 2.2 Page 19 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 13. RAM Byte Definitions (continued) Byte Functions Remarks 11 TR3L Third temperature point. 12 PC2L GNTC4L Pressure Coefficient 2 (8LSB). Fourth gain TC. P2L Pressure Point 1 (8LSB). 13 OFTC4L Fourth offset TC. 14 PC1L DIGMOP1L Pressure Coefficient 1 (8LSB). Fixed pressure (8LSB). 15 GN1[9:8] OF1[9:8] Two MSB's of fixed gain GN[9:8]. Two MSB's of fixed offset OF[9:8]. 16 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] 17 TR1[9:8] GNTC2 [11:8] Two MSB's, first temperature point T1[9:8] or Four MSB's, second gain TC GNTC2[11:8] or PC5[11:8] P5[9:8] OFTC2[11:8] [9:8] TR2 Four MSB's Pressure Coefficient 5 PC5[11:8]. Four MSB's, second offset TC OFTC2[11:8] or Two MSB's, Pressure Point 5 P5[9:8] Two MSB's, second temp. point T2[9:8] or PC4[11:8] P4[9:8] Four MSB's, Pressure Coefficient 4 PC4[11:8]. Four MSB's, Third Gain TC GNTC3[11:8] or Two MSB's, Pressure Point 4 P4[9:8]. Four MSB's Third Offset TC OFTC3[11:8] or 18 19 20 21 GNTC3[11:8] [11:8] OFTC3 PC3[11:8] TR3[9:8] [11:8] P3[9:8] GNTC4 Four MSB's, Pressure Coefficient 3 PC3[11:8]). Two MSB's, third temperature point t3[9:8] or Two MSB's Pressure Point 3 P3[9:8] Four MSB's, Fourth Gain TC GNTC4[11:8] or PC2[9:8] OFTC4[11:8] P2[9:8] P1[9:8] Four MSB's, Pressure Coefficient 2 PC2[11:8]. Four MSB's Fourth Offset TC OFTC4[11:8] or Two MSB's, Pressure Point 2 P2[9:8]. Two MSB's Pressure Point 1 P1[9:8]. 22 PNB_TNB Four MSB's Pressure Coefficient 1 PC1[11:8]. Same as EEPROM. 23 N_Factor Temperature filter coefficient — 4 LSB’s, 4 MSB = 0 24 Not Used PC1[11:8] 25-26 GN Offset Ordinate of the current gap. 27-28 OF Gain Ordinate of the current gap. Taddress 4 bits for the max. temperature address of the current gap; 4 bits for the min. temperature address of the current gap. 29 MLX90308CCC Programmable Sensor Interface Page 20 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Table 13. RAM Byte Definitions (continued) Byte Functions Remarks 30 ALARM control byte IO1/IO2 control byte 31 ALARM low trigger level Three bits needed for choice of input for ALARM detection (TPO, IAO, GNO, VMO, IO1 or IO2). Two bits needed for choice of input for LEVEL-steering (TPO, IAO, GNO or VMO). These bits are multiplexed according the mode. Note: if both CMO and VMO are active, then alarm is not active. Value below which ALARM will go on. 32 IO1/IO2 level 1 ALARM low output level Value of first level ([IO2,IO1]=00-01). Value of DIGMO during “ALARM low” condition. IO1/IO2 level 2 Value of second level ([IO2,IO1]=01-10). ALARM high trigger level Value above which ALARM will go on. 33 Value of third level ([IO2,IO1] = 10-11). 35-36 IO1/IO2 level 3 ALARM high output level A_16 37-38 B_16 16 bits B Register. 39-42 RESULT_32 32 bits result (for 16 bit multiplication). 43-44 Tempo1 Measured temperature, internal or external, and temporary variable 1. 45 Tempo2 Temporary variable 2. 46-47 Signal_In Digitized signal value, analog and digital mode 48 Coms_backup Address saved when command is send. 49 P3_copy Port 3 setting copy. 50 Adsav1 Address saved at interrupt. 51-52 Aaccsav A-Accumulators saved at interrupt. 53 Baccsav B-Accumulators saved at interrupt. 54-55 DAC_gain DAC gain (GN). 56-57 DAC_offset DAC offset (OF). 58-59 Temp_f 60-61 Signal_Out Filtered temperature. This is a 10 bit number that is left justified in a 16 bit field. Digitized linearity corrected signal value. Digital mode only. 62-63 Adsav2 Address saved when call. 34 Value of DIGMO during “ALARM high” condition. 16 bits A Register. Note: Because of space considerations, the measured temperature can’t be kept in the RAM at all times. If the measured temperature is to be available, the temperature filter variable, N_Factor, must be set to 6. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 21 Page 22/Aug/98 Rev 2.2 Page 21 23/Oct/01 MLX90308CCC Programmable Sensor Interface Prototyping Melexis offers an MLX90308 evaluation kit which contains an evaluation circuit board, serial interface cable, and software diskette. The circuit board provides the necessary circuitry for all three applications circuits shown on the next page. Also included in the circuit board is level shifting and glue logic necessary for RS-232 communications. The board has a socket with a single MLX90308 installed, and direct access to the pins of the IC. The user can easily attach bridge sensor to the board for in-system evaluation. The serial interface cable connects the evaluation board directly to a PC’s serial port for in-system calibration. The software runs in the familiar Windows platform and allows for programming and evaluation of all compensation parameters within the EEPROM. Figure 8. MLX90308 Evaluation Kit with MLX Software MLX90308CCC Programmable Sensor Interface Page 22 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Typical 90308 Applications Figure 9a. Absolute Voltage Mode Supply 5K VDD 100 nF Automotive apps FET VDD1 COMS 100 nF VBP Output VMO VBN FLT 39 nF 100 nF 10 nF 10K GND Ground Figure 9b. Ratiometric Voltage Mode Supply 5K VDD VDD1 COMS 100 nF VBP Output VMO VBN FLT 39 nF 10 nF 10K TMP GND Ground Figure 9c. Current Mode Supply 5K VDD FET VDD1 100 nF COMS 100 nF CMO 100 nF VBP 75 Ohms VBN FLT TMP GND CMN Depends on stability of the current loop 39 nF 24 Ohms Ground MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface Rev Y.X 23 Page 22/Aug/98 Rev 2.2 Page 23 23/Oct/01 MLX90308CCC Programmable Sensor Interface Figure 10. Application Example Figure 10a. Programmable Oil Pressure Gauge Communications Signal Out GND V+ Programmable Oil Pressure Gauge This application example illustrates a fundamental application of the MLX90308 and a bridge type pressure sensor element. In this application, the MLX90308 uses an external FET as a pass transistor to regulate the voltage to the sensor and the analog portion of the IC. This is known as Absolute Voltage Mode, where voltage to the sensor and analog circuit is regulated independent of the supply voltage. The MLX90308 can be operated in Ratiometric Voltage Mode, in which the output (VMO) is tied to an A/D converter sharing the same supply and ground reference. A third wiring option is Current Mode, which allows the user a 4 to 20 milliampere current range to use as a 2-wire analog sensor. Figure 10b. Programmable Oil Pressure Gauge Electrical Connections IO1 COMS 16 2 IO2 GND 15 3 TSTB CMN 14 4 FLT CMO 13 5 OFC VMO 12 6 VBN VDD1 11 7 VBP FET 10 8 TMP MLX90308CCC Programmable Sensor Interface MLX90308CCC Pressure Sensor 1 Communication s GND Oil Pressure (psi) Signal Out V + D VDD Page 24 G External FET for Regulation S 9 Rev 2.2 23/Oct/01 MLX90308CCC Programmable Sensor Interface Figure 11. Error Compensation Table 14. Glossary of Terms A/D ADC ASCII Figure 11a. Raw Sensor Output (measured between VPB and VBN) Voltage (in mV) 170 140 oC 25 oC -40 oC 0 0% 100% Pressure Figure 11b. Conditioned Sensor Output Voltage (VDC) 4 140 oC 25oC -40oC 1 0% Pressure 100% Figures 11a and 11b above illustrate the performance of an unconditioned sensor output and a conditioned sensor output versus stimulus (pressure) and temperature. It can be seen that Figure 11a has a range of only 170 mV (maximum range with a 5V supply) and has a non-linear response over a 0-100 psi range. The sensitivity of the unconditioned output will also drift over temperature, as illustrated by the three slopes. The MLX90308 corrects these errors and amplifies the output to a more usable voltage range as shown in Figure 11b. MLX902xx Name ofProgrammable Sensor MLX90308CCC Sensor Interface ASIC CM CMN CMO COMS CR CSGN CSOF CV DAC DACFnew DACFold DARDIS dB DOGMO EEPROM EOC ESD ETMI ETPI FET FG FLT GNO GNOF GNTP HS I/O IFIX IINV ILIM kHz LSB mA MODSEL ms MSB MUX mV nF OFC PC pF PLL POR RAM RISC ROM RS-232 RX SAR STC Tdiff Text TMI TMP TPI Tref TSTB TX UART VBN VBP VDD VM VMGN VMO WCB Rev Y.X 25 Page analog to digital conversion analog to digital converter American Standard Code for Information Interchange application specific integrated circuit current mode current mode negative (supply connection) current mode output communication, serial carriage return coarse gain coarse offset current / voltage mode select bit digital to analog converter filtered DAC value, new filtered DAC value, old DAC resistor disable decibel digital mode electrically erasable programmable read only memory end of conversion flag bit electrostatic discharge timer interrupt enable enable temperature interrupt field effect transistor fixed gain filter pin gain and offset adjusted digitized signal gain, offset temperature gain / offset coarse adjustment hardware / software limit input / output fixed current output value input signal invert command bit current limit kilohertz, 1000 Hz least significant bit milliamperes, 0.001 amps mode select millisecond, 0.001 second most significant bit multiplexer millivolts, 0.001 Volts nanofarads, 1 X 10-9 farads offset control personal computer, IBM clone picofarad, 1 X 10-12 farads phase locked loop power on reset random access memory reduced instruction set computer read only memory industry std. serial communications protocol receive successive approximation register start A/D conversion temperature difference temperature, external timer Interrupt temperature signal temperature interrupt temperature reference test mode pin transmit universal asynchronous receiver / transmitter bridge, positive, input bridge, negative, input supply voltage voltage mode voltage mode gain voltage mode output warn / cold boot 22/Aug/98 Rev 2.2 Page 25 23/Oct/01 MLX90308CCC Programmable Sensor Interface Figure 12. MLX90308CCC Physical Characteristics, LW Package 10.65 10.00 7.60 7.40 0.32 0.23 1.27 0.40 0.51 0.33 1.27 0o to 8o Notes: 1. All dimensions in millimeters. 2. Body dimensions do not include mold flash or protrusion, which are not to exceed 0.15mm. 10.50 10.10 2.65 2.35 0.010 min. For the latest version of this document, go to our website at: www.melexis.com Or for additional information contact Melexis Direct: Europe and Japan: All other locations: Phone: +32 13 61 16 31 E-mail: [email protected] Phone: +1 603 223 2362 E-mail: [email protected] QS9000, VDA6.1 and ISO14001 Certified MLX90308CCC Programmable Sensor Interface Page 26 Rev 2.2 23/Oct/01