7307|9

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

【求助】我的SD16采集怎么有问题? [复制链接]

ad采集4~20mA电流信号,观察SD16MEM0,不论输入多大,每采集几轮总会出现0x8011左右的数,也就是32768,(其余的值没事儿)。不论我采用什么采集方式都是这样。

而且采集值都偏大很多,而且飘动很厉害。理论值应该是0x1555~0x6AAA(对应4~20mA),而采集值达到了(0x8xxx~0xBxxx)而且飘动严重。怎么回事?



void init(void)
{
TACTL = TASSEL_1+ID_3+TACLR+MC_1;
CCTL0 = CCIE;
CCR0 = CONST_TA;
FLL_CTL0 |= XCAP14PF;
SD16CTL = SD16REFON;
SD16CCTL0 |= SD16SNGL+SD16GRP;
SD16CCTL1 |= SD16SNGL+SD16GRP;
SD16CCTL2 |= SD16SNGL+SD16IE;
}

在Time_A定时中断中开采集
SD16CCTL2 |= SD16SC; // Start conversion
并读取SD16MEMx值并经过滤波;
}

我的时钟Timer_A是32KHz 8分频,ACLK,up-mode

请问高手,这是怎么造成的?我怀疑是我的SD16的初始化有问题,可是问题在哪儿?

最新回复

sigma-delta(阿拉伯字母的读音) sd16 就是16位的sd ADC  详情 回复 发表于 2005-11-30 17:00
 
点赞 关注

回复
举报

79

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
通道好像没有设置阿?
还有,要SD16CONF1 |= 0x40;
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

参考设置!

程序是按旧的user'sguide 设置的,在新的user' guide 中可能有些要调整,


ESPCTL &= ~BIT0;

SD16CTL = 0x800 + SD16SSEL_1 // Clock selection: SMCLK + (Amp: )
| SD16DIV_1 //divide by 4 to give 1MHz clock
| SD16VMIDON //Swtich on external reference for the wheatstone bridge
| SD16REFON // Use internal reference
;

SD16CONF1 |= 0x40; // Delay of ADC clock = 40ns



SD16INCTL0=INCH_0+GAIN_1; //SD16_1 route to I1+/- input, Gain = 1
SD16CCTL0 |= GRP+SNGL+DF; //2's compliment output, single shot
//group conversion mode

SD16INCTL1 = INCH_1+GAIN_1; //SD16_1 route to I2+/- input, Gain = 16
SD16CCTL1 |= GRP+SNGL+DF; //SD16IE+DF;
//2's compliment output, single shot
//group conversion mode


SD16INCTL2=INCH_2+GAIN_1;; //SD16_1 route to V+/- input, Gain = 1
SD16CCTL2|=SNGL+DF; //2's compliment output, single shot
//master of the group conversion
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

4
 
有些注释错了
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

5
 
那时数据格式的问题,
你看看他上面的设置,是unipolar还是Bipolar
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
现在超限的问题已经解决了,是因为内部参考电压的问题。

但采集的漂动太大了!输入电压没问题,输出4位显示的后两位都在跳。

输入电流越大跳得越厉害!看SD16MEM0的采样值,在20mA输入时理论上是60000出头,可是实际得到的值在5XXXX~6XXXX间跳得厉害。不知是什么原因。(这么大的跳动,数字滤波也没用阿)

是不是和采样周期以及time_A周期之类的有关?

我现在ACLK 32K;MCLK:64*ACLK;SD16时钟源是MCLK。Timer_A时钟源ACLK,CCR0=32;在Timer_A中做AD采集。AD采集不用SD16的中断。
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

7
 
?????
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

8
 
一年前的帖子被大家翻出来-_-b

庆祝一下^_^
 
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

9
 
哪位大虾给小菜说两句SD是什么意思?sd16是什么
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
sigma-delta(阿拉伯字母的读音)
sd16 就是16位的sd ADC
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表