mowin 发表于 2015-4-6 14:01:47

【求助】328E内部ADC的使用方法,是不是我哪里没弄对?

从官方买了12元的LGT8F328E套件,很期待新IC的表现,因为2012年试用08A的时候遇到想似的问题,以至于后来不了了之http://www.amobbs.com/thread-5494608-1-1.html
昨天花了一天时间测试,结果比较失望,ADC结果比计算值高出20+LSB,无论怎么改变参考电压,供电电压都有相似的结果。ADC的时钟频率,CPU时钟频率也做了改变来测试,无济于事。
本来想今天问问原厂,可惜他们都很忙,QQ一早上没应答。所以发帖到论坛上,大家帮忙看看,特别是有小板的坛友,如果能跑一下帖中的程序,给点参考数据更好。

测试代码:   IAR编译

小板,PC0作为模拟输入端外接B502多圈电位器调节电压,有104电容对地。


小板供电电压


PC0电压


我的测试结果951-956,理论计算值应该等于 0.75/(3.3/4096) = 930.91

mowin 发表于 2015-4-6 14:09:33

为了对比,我有做以下替换测试:
把核心板换成STM8S903,其他外围条件一致,STM8的10位ADC结果与计算值相差1LSB内。
把核心板换成STM32F103C8,其他外围条件一致,STM32的12位ADC结果与计算值相差3LSB内。手上没有AVR开发板,没办法对比

LGT 发表于 2015-4-6 17:46:04

mowin 发表于 2015-4-6 14:09
为了对比,我有做以下替换测试:
把核心板换成STM8S903,其他外围条件一致,STM8的10位ADC结果与计算值相差 ...

我们的测试误差是3LSB, 也就是基本算做9位的精度, 我明天测试下你的程序, 看看是不是板子上的干扰。

kation122 发表于 2015-4-6 18:35:07

mowin 发表于 2015-4-6 14:09
为了对比,我有做以下替换测试:
把核心板换成STM8S903,其他外围条件一致,STM8的10位ADC结果与计算值相差 ...

终于有同学一起研究 328 了,看了你的桌面图标,软件也是IAR 的呢, IAR FOR STM8   ,IAR FOR AVR ,和我 的一样,只是你的IAR FOR AVR 是6.3 版本
请问这个6.3版 有和谐文件吗。

mowin 发表于 2015-4-6 18:39:12

楼上你看错了,630那个是ewarm。ewavr没在这台电脑,6121版本的

kation122 发表于 2015-4-6 18:47:45

mowin 发表于 2015-4-6 18:39
楼上你看错了,630那个是ewarm。ewavr没在这台电脑,6121版本的

真的是呢,看错了,6121 我也是这个版本,看来你也是IAR 控,以后多跟你请教。{:handshake:}

jianghu-00091 发表于 2015-4-8 15:22:05

本帖最后由 jianghu-00091 于 2015-4-8 15:32 编辑

看你用的参考电压的AVCC,这个在测试的时候要看AVCC有没有扰动了。你可以试试内部Vref。   或者你接个稳定的Avref试试也行。而且看你写的程序,以前没少用winavr啊。   用AVCC作参考也试过了,误差也就是3LSB。

mowin 发表于 2015-4-8 18:04:07

jianghu-00091 发表于 2015-4-8 15:22
看你用的参考电压的AVCC,这个在测试的时候要看AVCC有没有扰动了。你可以试试内部Vref。   或者你接个稳定 ...

用内部的2.56V或者1.25V参考电压也测试过的,结果没有改善。有时间我外接一个TL431 2.5V参考电压试试

laotui 发表于 2015-4-8 21:44:29

今天板子才到试了一下输入直接接地读数在3-23之间跳动

laotui 发表于 2015-4-9 15:40:13

LGT 发表于 2015-4-6 17:46
我们的测试误差是3LSB, 也就是基本算做9位的精度, 我明天测试下你的程序, 看看是不是板子上的干扰。
...

版主测试出结果了吗?我直接接GND读数不为零而且偏差最大达到20多。

LGT 发表于 2015-4-9 19:16:39

laotui 发表于 2015-4-9 15:40
版主测试出结果了吗?我直接接GND读数不为零而且偏差最大达到20多。

ADC测GND是不会有抖动的, 你示波器看看地上有没有纹波, 另外确认下使用哪种参考电压。

laotui 发表于 2015-4-9 19:21:35

LGT 发表于 2015-4-9 19:16
ADC测GND是不会有抖动的, 你示波器看看地上有没有纹波, 另外确认下使用哪种参考电压。 ...

参考电压AVCC,直接短接输入和芯片的地。

laotui 发表于 2015-4-9 19:54:08

LGT 发表于 2015-4-9 19:16
ADC测GND是不会有抖动的, 你示波器看看地上有没有纹波, 另外确认下使用哪种参考电压。 ...

电源电压5V测地输出3左右 电源电压3.3V侧地误差非常大。

mowin 发表于 2015-4-9 21:03:19

laotui 发表于 2015-4-8 21:44
今天板子才到试了一下输入直接接地读数在3-23之间跳动

PC0接地的话读数肯定是0的。你的板子有其他问题。

laotui 发表于 2015-4-9 21:07:47

mowin 发表于 2015-4-9 21:03
PC0接地的话读数肯定是0的。你的板子有其他问题。

可能是没洗板吧,板子上全是助焊剂,明天我洗洗再试试吧。

kejiren123 发表于 2015-4-14 14:30:33

版主测试出结果了吗? 这个片子能不能达到12位有效分辨率?
页: [1]
查看完整版本: 【求助】328E内部ADC的使用方法,是不是我哪里没弄对?