Hi,
I am seeing an issue with the MSP430F5528 (rev E) ADC gain value stored in the TLV. The value seems mis-programmed but I cannot find an errata for this particular case.
For instance, ADC29 "Incorrect temperature sensor calibration data" also affects the rev E chips but addresses just the temperature coefficients, whereas the ADC gain calibration value is a different TLV location.
The chip is question has the following TLV data:
hw_rev: TLV @ 01A06h = 0x14 ('E')
sw_rev: TLV @ 01A07h = 0x12
Some chips report correct values but more recently the chips do not. For instance, when the ADC reports a value I believe is correct, the gain value I find is approximately,
TLV @ 01A16h = 0x800A
and for an "incorrectly calibrated" chip (where the ADC voltage reported is much high than that actually presented at the ADC input pin), I find something like,
TLV @ 01A16h = 0xE001
The ADC gain value is close enough that I suspect a few bits were mis-programmed at the factory.
Is this a known issue and is there a work-around?
Thanks,
-Sean
I have seen this same issue with a 5524 rev E part. The adc gain factor in the TLV is incorrect and very high:
TLV @ 01A16h = 0xE000 I'm also looking to see if this is a known issue that has been documented. I'm working around it now by using a gain of 1.0 if the adc gain factor is larger than seems reasonable...
TLV @ 01A16h = 0xE000
I'm also looking to see if this is a known issue that has been documented.
I'm working around it now by using a gain of 1.0 if the adc gain factor is larger than seems reasonable...
Hello, we're experiencing the same problem too: the ADC GAIN calibration values are around 0xE000 instead of 0x8000.
Is it possible that TI hasn't fixed it yet ?
The ADC calibration feature is very important for us...does anyone have some solution for that ? "avoid using calibration data" is not a valid answer ;-)
maurizio BERTEROIs it possible that TI hasn't fixed it yet ?
Chances are that you got a chip from the same buggy batch.
I don't want to accuse someone, but it is an often-observed behavior, that suppliers keep returned parts and sell them to the next one until they find someone who doesn't complain.I know of a case of a cell phonw that was returned as defective by at least two different persons. My wife was workign in the call center at this time and coincidentally got two complaints within a few weeks for the same brand. Out of curiosity she looked up th eold case and discovered that in both cases the cell phone had the same serial number. So obviously the same device was sold at least twice (don't know how many other had the same case on their phone) even though it was reported defective. Nopbody even bothered to test it when it was returned.
So it's very possible that devices from the same old buggy batch are still sold.
Personally, I don't think this issue should be covered in the errata list at all. It is a production error, as a misprogrammed TLV structure has nothing to do with a silicon bug. As less as broken cases or ripped-off pins. Unless, of course, the memory with the TLV structure itself is buggy. But then not only the calibrations values should be broken.Well, documenting it in the errata sheet removes the responsibility for replacement, as it relabels the defective part into a part that works as documented. :)
maurizio BERTEROThe ADC calibration feature is very important for us...does anyone have some solution for that ? "avoid using calibration data" is not a valid answer ;-)
And if you have a backup strategy, you can use it for all devices, not just the broken ones.
A not simple but workign way is to load a calibration firmware onto each device, apply a known and precise voltage and let the firmware calculate your own calibration value. Store it in the info flash and use it instead of the one from the TLV structure. Or (if you have only a low device count) output the result and hardcode it into the firmware for each individual device. It depends on the project.If you have external circuitry, e.g. voltage divider, you can calibrate it in teh same process. What good is it if you know the votage on the analog input pin by 1ppm precision, when you don't know how much the external circuitry distorts the signal on the way from source to the pin? :)
On the 1611, where there is no calibration data available, I used an external shunt regulator as reference. The TS431BCX is a really nice device with 2.495V+-0.5% output. For a few cents. And the maximum current can go up to 100mA, enough to use it as reference for the external circuitry as well.
p.s.: the XMS versions of the MSPs (often provided as preliminary samples) usually don't have any calibration data at all.
_____________________________________Before posting bug reports or ask for help, do at least quick scan over this article. It applies to any kind of problem reporting. On any forum. And/or look here.If you cannot discuss your problem in the public, feel free to start a private conversation: click on my name and then 'start conversation'. But please do so only if you really cannot do it in a public thread, as I usually read all threads. And I prefer to answer where others can profit from it (or contribute to it) too.