打印
[其它应用]

SH79F6488的ADC测量值与理论计算值不一致

[复制链接]
388|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
songqian17|  楼主 | 2020-12-15 23:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADC, dc, AD
SH79F6488的ADC测量值与理论计算值不一致

使用特权

评论回复
沙发
chenho| | 2020-12-15 23:42 | 只看该作者
详细说说

使用特权

评论回复
板凳
songqian17|  楼主 | 2020-12-15 23:46 | 只看该作者

AD初始化程序如下(采用轮询的方式获得ADC值):
void ini_adc()
{
         /*------ADDR----*/
         REGCON = 0X01;        //TURN ON ADDR  Vaddr=2.7V
         /*------ADC-----*/
     ADCON = 0X01;        //单端输入AN0,参考电压选择:ADDR分压
         ADT = 0XFB;     //ADC CLOCK =100K  ADC转换频率:25Hz
         ADCH = 0Xe6;        //ADCVERF=0.4*VDDR P1^3 ADC INPUT
         ADCDS = 0X01;        //ADC单极性输出         
     /*......OP ......*/
         OPCON = 0X00;     // OP DISABLE / P2.1~P2.3 USE I/O PORT
         /*------PGA------*/  
         PGAM = 0X04;        //PGA=4 开启削波控制器
         ADCON |= 1<<7;  //ENABLE ADC
}
当差分输入电压为:0.22V时,通过ADC=524288*(V+-V-)/Vref,计算得到ADC=0x1A9DC,但实际测量为:0xEEC0.

使用特权

评论回复
地板
gongche| | 2020-12-15 23:50 | 只看该作者

实际测量值和理论值本身就有点误差。。。

LZ的误差太大,误计是干扰,PCB板布线不佳等因素产生的。

使用特权

评论回复
5
huwr| | 2020-12-15 23:53 | 只看该作者
差了1倍,应该软件有问题,硬件不会这么差

使用特权

评论回复
6
songqian17|  楼主 | 2020-12-15 23:57 | 只看该作者
电路有问题。差分输入V-的电压要0.6V,我之前是接地,所以误差比较大。

使用特权

评论回复
7
自己的灌饼| | 2020-12-16 16:41 | 只看该作者
软件的问题,不是硬件的问题,你好好看看代码吧

使用特权

评论回复
8
lium| | 2020-12-16 19:00 | 只看该作者
看ADC部分的数据手册,差分输入有电压要求的。

使用特权

评论回复
9
happy_10| | 2020-12-16 19:04 | 只看该作者
就好比差分放大器,有差模和共模输入范围限制的。

使用特权

评论回复
10
wenfen| | 2020-12-16 19:06 | 只看该作者
之前调试过,相差30mV左右吧。估计是输入电压的范围有误,后来没用了

使用特权

评论回复
11
songqian17|  楼主 | 2020-12-16 19:10 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

463

主题

5749

帖子

1

粉丝