This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: TMS320F28333
I'm using the TMS32028335 and considering software checks relating to the on-board ADC calibration.
After having read the datasheet and associated notes, such as SPRAAD8A and SPRAAS1D, I now understand the basic principles behind calibration and gain/offset correction methods, together with the expected performance of a properly configured and calibrated ADC.
However, we have a residual question, relating the range of expected values for the ADCOFFTRIM register - Is it possible to bound the range of values reasonable for a properly functional and configured device? We are considering this as part of a self-check routine, i.e. values outside the expected range being indicative of some fault, either internal to the device or the external components affecting ADC operation, but it is proving challenging to locate such information in the device literature
TI makes no warranties and assumes no liability for applications assistance or customer product design. You are fully responsible for all design decisions and engineering with regard to your products, including decisions relating to application of TI products. By providing technical information, TI does not intend to offer or provide engineering services or advice concerning your designs.
Concerned experts have been notified of this query.
Note that it is Thanksgiving week in US and most of the TI engineers are away.
Please expect a delayed response, surely by early next week.
If a post answers your question, please mark it with the "verify answer" button.
Other useful links:
C2000 Getting Started C2000 Flash Common Issues/FAQs Emulation FAQ
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
There is no official guideline for the typical range of ADCOFFTRIM values. However, you can infer a sanity check range by reading the ADCOFFTRIM value populated by ADC_cal() and expecting the user trim to be within +/- 15 LSBs based on the datasheet spec:
In reply to tlee:
By User Trim, you mean the Initial Value in the ADCOFFTRIM Register Right?
And then for the final Value written to ADCOFFTRIM Register would be with +-15lsb's
Refering to Process defined here
In reply to Calex36:
Ok so runtime custom value would be after, initial is called from ADC_cal() on boot.
And then would only need to point to ADC_cal() or Call it in runtime. With custom user trim value.
So is the +-15LSB’s not just for when booted from ROM see note 3 after offset error table in datasheet? Would it still be applicable if bypassed and just called in runtime?
Calum, I'm not following your question. Let me take a step back to clarify. The essence of offset calibration is measuring ADCLO with the ADC and calculating a corrective digital value that results in 0 when added to the ADCLO conversion result. The corrective value is effective when it is written into the ADCOFFTRIM register. The offset calibration sequence is performed in the manufacturing environment and stored to OTP, where it can be accessed and written into ADCOFFTRIM by executing ADC_cal(). I assume that we are referring to this as the "initial" trim. However, offset calibration is most accurate when performed using the same hardware and software conditions under which the ADC will be used in the end system. This is why the datasheet has +/-15 LSB Offset error (rather than 0 LSB) when using the ADCOFFTRIM value from ADC_cal(). The offset calibration procedure is documented so that users can perform the sequence on their own system to achieve better than +/-15 LSB accuracy. I assume that we are referring to this as "user" trim. There is only one ADCOFFTRIM register so the user trim will overwrite the initial trim when implemented. I understood the original post to say that a user trim will be calculated in system and there was a question as to whether they could sanity-check the user trim value. My suggestion was that the ADC_cal() initial trim should result in +/-15 LSB (or less) of offset error in the user system. Therefore, the more accurate user trim (which would result in close to zero offset error) should also be within +/-15 LSB of the initial trim. -Tommy
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.