工具/软件:Code Composer Studio
您好!
我正在处理内部 ADC。 我将基准电压设置为内部基准电压(3.3V)。
当预期的 ADC 值为482时、ADC 给出的结果为490。
如何获得预期结果?
我使用的是80 MHz 系统时钟。 ADC 时钟也被4分频。
此致
Monish P
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.
工具/软件:Code Composer Studio
您好!
我正在处理内部 ADC。 我将基准电压设置为内部基准电压(3.3V)。
当预期的 ADC 值为482时、ADC 给出的结果为490。
如何获得预期结果?
我使用的是80 MHz 系统时钟。 ADC 时钟也被4分频。
此致
Monish P
您好、Monish、
您使用什么来获取输入电压? 它的精度是多少(或您用于验证输入电压的任何器件的精度)。
您用于驱动 ADC 的源阻抗是多少? 它是否由高带宽运算放大器在电路板上进行本地缓冲? 此通道使用什么 S+H (由 ACQPS 设置控制)?
您可能希望在电压与代码传输函数中的多个点进行采样、以确定误差是由噪声、偏移误差、增益误差还是非线性引起的。 确定误差分量后、您需要将其与器件数据表的 ADC 部分中这些误差源的规格进行比较。 例如、内部基准模式下的最大增益误差为+/- 45 LSB。 当输入电压为482/4095 = FSR 的~12%时、最大增益误差将为0.12*45 = 5 LSB。 偏移误差(在任何输入电压下都是相同的)最大为+/-5 LSB。
您好!
在本例中、当电压增加时、读取 ADC 值误差会增大。 但读取值和预期值之间的误差百分比保持不变。
最初、我将采样窗口值设置为10、增加到100和220。 我得到相同的结果。
因此每个 ADC 引脚具有不同的误差百分比。 但对于特定引脚的所有读取 ADC 值、误差百分比保持恒定。
例如、A0有0.6%的误差、A3有0.5%的误差、A5有5.4%的误差。 我已附上 A5的以下读数。
注意:此引脚测量电流(I)值。 此设计具有分压器、运算放大器、RC 滤波器和 MCU。
| 输入电压 | ADC 读取值 | 预期的 ADC 值 | 误差(%) |
| 0.057 | 74. | 71. | 4.225352 |
| 0.168 | 220 | 209. | 5.263158 |
| 0.28. | 366. | 348 | 5.172414. |
| 0.558. | 731. | 69 | 5.483405 |
| 0.726 | 951. | 901. | 5.54939 |
| 0.839. | 1097 | 1041. | 5.379443 |
| 1.008 | 1318. | 1251. | 5.355715. |
| 1.117 | 1464 | 1386 | 5.627706 |
另一个误差为0.6%和0.5%的引脚 A0和 A3设计了流量分压器、RC 滤波器和 MCU。
为什么我不能获得更接近的价值。
您好、Monish、
在该引脚上、您似乎具有~5%的增益误差(~200 LSB) 、这远远超出了具有 内部 基准 的1%增益误差的最大数据表规格(该误差本身只应在极端温度下发生在外围器件上)。
考虑到与其他通道存在如此大的差异、并且其他通道具有不同的驱动拓扑、我认为您的驱动电路可能是问题所在。 由于您有一个运算放大器+ RC、您能否布置电路? 这里的典型电路是 cs =大约100pF 至300pf、Rs =大约10至100欧姆、运算放大器 BW = 10MHz 至20MHz