TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540的ADC不线性

我的逻辑问题

Albin Zhang:

请详细描述你说的“情况”,谢谢。

BR. Albin

CC2540蓝牙4.0BLE开发:

回复 Albin Zhang:

你好

谢谢你的回复

已经贴出来原理图,代码,测试得到的数据,我不清楚还欠缺什么信息?

请明确说一下欠缺什么信息?谢谢

Albin Zhang:

回复 CC2540蓝牙4.0BLE开发:

就是详细描述一下你的问题。

BR. Albin

CC2540蓝牙4.0BLE开发:

回复 Albin Zhang:

如题 ADC采集电阻上面的电压不是线性的,

原理图,代码如上,ADC口接入P06

ADC的数据是稳定的,当可变电阻阻值从100K、150K、200K、300K、400K、500K、600K、700K、800K、1000K、变化

ADC值分别是                                                   665、830、   950、  1100、1190、1250、1300、1333、1360、 1402

这些值很明显不线性

这就是问题所在,

Albin Zhang:

回复 CC2540蓝牙4.0BLE开发:

实测电压(万用表) vs. ADC的曲线?

我理解你是少考虑了ADC接口的等效对地阻抗。

BR. Albin

CC2540蓝牙4.0BLE开发:

回复 Triton Zhang:

谢谢AZ和Triton Zhang、

AZ:

万用表测得结果是对的,跟电阻比值完全一致

ADC的输入阻抗计算成对地电阻,这个算法是什么样?

Triton Zhang:

我也不相信是TI的芯片设计问题,

你的考虑是正确的,但是我已经这样做了,我的代码是连续采集64次 进行滤波,我的adc具体结果是滤波后的。我的参考电压就是VDD3.3V的参考电压,然后现在的板子内容很简单,VDD很稳定。

CC2540蓝牙4.0BLE开发:

回复 CC2540蓝牙4.0BLE开发:

连续采集64次的ADC,得到ADC的值非常稳定,最大的值比最小的值最多大2.

CC2540蓝牙4.0BLE开发:

回复 CC2540蓝牙4.0BLE开发:

假设待测电阻的电压为Vadc即ADC测得的电压值,参考电阻为R1,待测电阻为R2,根据电阻分压公式可知:Vadc=3.3*R2/(R1+R2)
        我把R1接1M的电阻,R2电阻阻值从100K、150K、200K、300K、400K、500K、600K、700K、800K、1000K,
        用万用表测R2身上的电压Vadc,是符合Vadc=3.3*R2/(R1+R2)的
        但是我们实际测得的ADC值分别是 665、830、   950、  1100、1190、1250、1300、1333、1360、 1402
        ADC的应该符合ADC/4096 = R2 /(R1+R2)
`       我们把100K的ADC值665带去上式中,665/4096 = 100/(1000+100),很显然这个等式不成立
        再把500K的ADC值1250,带入上式中,1250/4096 = 500/(1000+500),很显然这个等式也不成立
        所以我无法通过ADC采集去正确计算R2的值。

CC2540蓝牙4.0BLE开发:

回复 CC2540蓝牙4.0BLE开发:

找到问题了

赞(0)
未经允许不得转载:TI中文支持网 » CC2540的ADC不线性
分享到: 更多 (0)