Part Number: LMP90100
I have read “LMP90100 and LMP9009x Sensor AFE System: Multichannel, Low-Power, 24-Bit Sensor AFE With True Continuous Background Calibration – Datasheet” (SNAS510S – JANUARY 2011 – REVISED JANUARY 2016). It’s a very interesting and useful datasheet for me. I have to design a sensor for weight scale application. In this sensor, the load cell resistive elements are connected in a Wheatstone bridge that has 4 resistors. The value of each resistor is 350 Ohm.
When I was reading this Datasheet, I found in the text a few errors and typos, the list of which I cite below. I kindly ask you to inform me if I am wrong, and to correct the text if I am right. It is very important for me to understand the text correctly, because this is my first work in this field.
In addition, I have questions regarding the description of the chip LMP90xxx, its programming, its configuration and its operation. I will be very grateful if you could provide a feedback. Thank you very much.
The questions.
- 1. 8.5 Electrical Characteristics. Page 7. VA (Analog Supply Voltage) and VIO (Digital Supply Voltage). It would be better if they are isolated from each other by power supplies (with common ground.) Although it is possible to use the same power source for VA and VIO. Do I understand correctly?
- 2. 8.5 Electrical Characteristics. Page 7. VREFN (Negative Reference). Can VREFN be less than 0, i.e. negative, for example, -3 V, or its minimum value can be only 0 (GND)? And if VREFNmin=0 (GND), is it possible to use the same power source for VREFP and for VA? Or would it be better if they are isolated from each other by power supplies (with common ground)?
- 3. 8.5 Electrical Characteristics. Page 8. ANALOG INPUT. VINP Positive Input. VINN Negative Input.
|
PARAMETER |
TEST CONDITIONS |
MIN |
TYP |
MAX |
UNIT |
|
VINP Positive Input |
Gain = 16 - 128, buffer ON |
GND +0.4 |
|
VA - 1.5 |
V |
|
VINN Negative Input |
Gain = 16 - 128, buffer ON |
GND +0.4 |
|
VA - 1.5 |
V |
|
VIN Differential Input |
VIN = VINP - VINN |
±VREF / PGA |
|
||
I use a strain gage with strain gauges connected to the Wheatstone bridge. The output signal from the bridge (VIN - input signal for LMP90XXX) is about 10 mV, ie VINP = 20 mV, and VIN = 10 mV. This is significantly lower than the minimum value specified in the table (GND +0.4). Does it mean that LMP90XXX cannot be used to amplify and convert such input analog voltages? Does it also mean that it is not possible to use internal sources of current IB1 and IB2 for powering the bridge?
4. 8.5 Electrical Characteristics. Page 9. What are the relationships between CLKIN - Internal Clock Frequency (893 kHz) and CLKEXT - External Clock Frequency (3.5717 MHz) with SCLK - Serial Clock (10 MHz)? If, for example, CLKEXT = 2 MHz, SCLK =?
5. 9.3.7.1.1 Types of Background Calibration. 9.3.7.1.2 Using Background Calibration. And 9.3.7.2 System Calibration. Type 1 is used during the operation of the sensor. Type 2 is normally used before starting to set the sensor, in order to set the zero-scale condition. This condition implies that for this specific sensor loading, the zero output code (0x00_0000) shall be set. To set the system reference-scale condition (usually it’s the system full-scale condition in which the sensor loading is 100%, the desired system-calibrated output code shall be 0x80_0000. That is, before starting the operation, it is better to select the Bgalmode mode3, and during the operation of the sensor, it is best to switch to the Bgalmode2 mode. Did I interpret this information correctly?
6. 9.3.7.2.1 System Calibration Offset Coefficient Determination Mode. I can not understand in which case it is necessary to apply the background calibration, and in which case it is necessary to apply the system calibration. There are no recommendations in the datasheet. Or maybe the system calibration is used before the sensor starts operating, and the background calibration during the operation? But then when determining the coefficient of system calibration of the offset, which load should be applied to the sensor?
7. 9.3.7.2.2 System Calibration Gain Coefficient Determination Mode. Step 4 indicates: “Enter the System Calibration Gain Coefficient Determination mode by programming 0x3 in the SCALCN register”. But it doesn’t seem to be correct. In the description of the SCALCN register (Table 22), it is indicated that it is necessary to program into the SCALCN register 0x2, while 0x3 is the reserve. In addition, it is not specified which load should be applied to the sensor when determining the system calibration gain.
8. 9.3.7.2.3. Post-Calibration Scaling. Why is this operation introduced to LMP90XXX? Why do I need to scale after calibration? How does it work? It’s not really clear for me.
9. 9.4.2.1 ScanMode0: Single-Channel Continuous Conversion. Why it is not possible to scan in this mode if the gain is ≥16 and LMP90XXX operates in the background calibration modes BgcalMode1 or BgcalMode2?
10. 9.5.9 DRDYB Case1: Combining SDO/DRDYB with SDO_DRDYB_DRIVER = 0x00. 9.5.10 DRDYB Case2: Combining SDO/DRDYB with SDO_DRDYB_DRIVER = 0x03. And 9.5.11 DRDYB Case3: Routing DRDYB to D6. The Datasheet LMP90XXX does not contain recommendations on the choice of options (Case1, Case2 or Case3) in the development of practical applications. How do these options differ from each other in terms of accuracy, simplicity of hardware and software implementation? What is the main reason why the three options are mentioned (Case1, Case2 or Case3)? Do any of them have specific advantages?
11. 9.5.12 Data Only Read Transaction. It is indicated that «In order to use the data only transaction, the device must be placed in the data first mode. The following table lists transaction formats for placing the device in and out of the data first mode and reading the mode status». What is the data first mode? Which registers’ settings this mode corresponds to? Until now, in the Datasheet LMP90XXX, nothing has been said about this mode. What does the table below mean? Which register? Which bits? The entire section 9.5.12 is not fully clear. There is no description of the operations and transactions that allow this mode to be executed, and there is no description of the mode itself.
12. 9.5.13 Cyclic Redundancy Check (CRC). Why is this operation necessary? What the polynomial CRC value shall be compared to?
13. 9.5.14.2 Reading From Register Example. In the transaction 1, in the upper case, why the write operation is written (0x10), rather than reading (0x90), although reading from the register is done? Is it a mistake?
14. 9.5.15.2 Controlled Streaming Example. A read operation is also performed here, however, both the first and second transactions specify the write operations. Why? Is it a mistake?
15. 9.5.15.2 Reading From Register Example. In the transaction 1 (fig.76), in the upper case, why the write operation is written (0x10), rather than reading (0x90), although reading from the register is done? Is it a mistake?
That’s it for the moment. Perhaps the answers to some of them will help me understand better the features of this LMP90XXX chip, its structure and operation. I apologize for my English. Many thanks in advance for your feedback. Best Regards. Semyon Negovelov. Moscow. 04.15.2018.
The errors and typos.
- 9.3.7.2.2 System Calibration Gain Coefficient Determination Mode. Step 4 indicates: “Enter the System Calibration Gain Coefficient Determination mode by programming 0x3 in the SCALCN register”. But it's not correct. In the description of the SCALCN register (Table 22), it is indicated that for this purpose it is necessary to program 0x2 into the SCALCN register, while 0x3 is the reserve.
- 9.5.14.2 Reading From Register Example. In the transaction 1, in the upper case, why the write operation is written (0x10), rather than reading (0x90), although reading from the register is done? Is it a mistake?
- 9.5.15.2 Controlled Streaming Example. Also in this case, the read operation is performed, however, both the first and second transactions specify the write operations. Why? Is it a mistake?