zwc135 发表于 2015-8-14 16:10:39

求助 CC2530 ADC测量不准确的原因啊

最近用使用到了CC2530这颗芯片,在运用到ADC的时候觉得完全被这个东西搞蒙了,相信很多人都是知道ADC的原理的,通常就是积分型和比较型,先不管它是什么型,测量准确就行!第一个关卡就是配置的问题,运用官方的库文件开发,大家发现,这个初始化函数HalAdcInit ()什么都给初始化上去了,给初学的人啊,那个头大!研究理解后,删减了一些不用的代码,瞬间简洁了不少,然后是大头戏了,读取值,我尝试用库里的每个一个分辨率来测试过了,感觉所谓 的8位,10位,12位,14位完全不对啊,8位出来的最大数据就是255了,也许你设置分辨率为8位时,输入就是3.3V,可是AD值可不是255,会是16384附近的值,这明显就是14位分辨率,又修改了这部分代码,没关系的!这些都能忍,好了,修改好了之后,给测试电压测试一遍,3.3v得到最大值,0v就得到0,满心欢喜的去检测要检测的电压,其实就是电池分压(我的锂电池是4.1v,2分后输入电压是2.05v),测出来的结果吓死人,不管你的分辨率是多少,如果换算后只取两位有效小数点,都是1.82v左右,以为是自己的检测电路有问题(就是用两个56k的电阻串联后分压),但是用万用表检测,测到的结果就是2.05v,以为是会跳变,然后用示波器来观察,就是一条直线,测量值还是2.05v,我就累了过去了!那差了0.2v怎么搞的啊,如果都是差0.2v,为啥我测3.3v电源又没错呢,还有一点我自认为的啊,其实CC2530这芯片的ADC的分辨率应该就是14位,后边的12位,10位,8位其实都是把ADC值相应的右移而已!我就不知道这个adc怎么那么难搞定,当初用ADC0809+51单片机做电压表,精度也没有这么差啊!!大侠路过,谢谢耐心的看完,请指导工作

zwc135 发表于 2015-8-14 16:20:10

补充说明啊,万用表或者示波器测试,被测电压的信号线都是连接到ADC的输入端的,其实就是检测ADC输入端的电压变化

motodefy 发表于 2015-8-14 17:34:43

ad脚配置下,配置成输入

小李非刀 发表于 2015-8-14 19:13:35

打电话问厂家的技术支持吧

zwc135 发表于 2015-8-17 10:31:29

motodefy 发表于 2015-8-14 17:34
ad脚配置下,配置成输入

这个肯定配置成输入了的,本来是用库代码操作的,原以为是自己对库代码理解不透,然后是直接操作寄存器,也是出现相应的问题

motodefy 发表于 2015-8-17 15:01:18

zwc135 发表于 2015-8-17 10:31
这个肯定配置成输入了的,本来是用库代码操作的,原以为是自己对库代码理解不透,然后是直接操作寄存器, ...

我之前也是碰到这个问题,
然后全部自己配置,
特殊功能,引脚输入
解决,采集很好

chenchaoting 发表于 2017-12-20 15:10:52

本帖最后由 chenchaoting 于 2017-12-20 15:12 编辑

zwc135 发表于 2015-8-17 10:31
这个肯定配置成输入了的,本来是用库代码操作的,原以为是自己对库代码理解不透,然后是直接操作寄存器, ...

楼主解决这个问题了没有,也遇到这个问题了。就是你用万用表测量引脚电压是0.6V,然而AD采集计算的结果只有0.58V。
页: [1]
查看完整版本: 求助 CC2530 ADC测量不准确的原因啊