3858|10

43

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

MCU是430F5438,ADC12开的是A0/A7,ADCMEMER0取的是A0的值,ADCMEMER1取的是A7的值;

然后问题主要是这两个通道居然会相互干扰;

现象:A0先固定电平,A7悬空,这时改变A0,结果A7出来的数据居然明显的被干扰到了,而且变化范围比A0的变化还大;

A0/A7在PCB上我隔得挺远的,而且中间有地线隔开;

现求解释,谢谢

 

最新回复

  悬空肯定易受外部干扰了,但这个干扰不能归罪到芯片AD上,这样的测试不说明任何问题,也毫无意义  详情 回复 发表于 2012-1-6 11:57
 
点赞 关注

回复
举报

2002

帖子

24

TA的资源

五彩晶圆(高级)

沙发
 

原帖由 shushu 于 2012-1-5 09:46 发表 MCU是430F5438,ADC12开的是A0/A7,ADCMEMER0取的是A0的值,ADCMEMER1取的是A7的值;然后问题主要是这两个通道居然会相互干扰;现象:A0先固定电平,A7悬空,这时改变A0,结果A7出来的数据居然明显的被干扰到了, ...

 

A7悬空你想读出什么固定值出来?

 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

板凳
 

原帖由 shower.xu 于 2012-1-5 13:49 发表   A7悬空你想读出什么固定值出来?

 

任何值应该都是正常的。问题它悬空的时候的值,一般也是变化很小的,可是出现的现象就是如果我A0从1.0V变化到1.1V,结果A7也跟着变高,而且很多时候变得比0.1V大。

 
 
 

回复

424

帖子

0

TA的资源

纯净的硅(高级)

4
 
把A7给个固定电平,然后再测测试试吧!
 
 
 

回复

188

帖子

0

TA的资源

纯净的硅(中级)

5
 

回复 楼主 shushu 的帖子

先把你的代码贴出来分析一样,是不是ADC配置的时候有问题
 
 
 

回复

26

帖子

0

TA的资源

一粒金砂(高级)

6
 
shushu
可否把430的datasheet,你的PCB schematic发过来?我们之前的测试中也发现过“貌似”串扰的问题,但实际上可能是其他的电路模块除了问题,也就是说,问题可能不在ADC本身。
 
 
 

回复

2002

帖子

24

TA的资源

五彩晶圆(高级)

7
 

原帖由 shushu 于 2012-1-5 15:06 发表   任何值应该都是正常的。问题它悬空的时候的值,一般也是变化很小的,可是出现的现象就是如果我A0从1.0V变化到1.1V,结果A7也跟着变高,而且很多时候变得比0.1V大。

 

悬空肯定易受外部干扰了,但这个干扰不能归罪到芯片AD上,这样的测试不说明任何问题,也毫无意义

 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

8
 

原帖由 shower.xu 于 2012-1-6 11:57 发表   悬空肯定易受外部干扰了,但这个干扰不能归罪到芯片AD上,这样的测试不说明任何问题,也毫无意义

 

不会毫无意义,因为我要测的数据A0变化很小,而A7变化比A0大,我要的只是观察到明显变化,所以如果这种现象是稳定可重复出现的话,那我可以用A7的变化反过来验证A0的变化?

 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

9
 

回复 4楼 鸵鸟蝈蝈 的帖子

之前就将A7固定到V33或者GND,没出现这种情况。
 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

10
 

回复 6楼 DecaptonWang 的帖子

datasheet的话,官网上有,电路图则因为公司规定,是不能外发的……
 
 
 

回复

43

帖子

0

TA的资源

一粒金砂(中级)

11
 

回复 5楼 peter_zheng 的帖子

//***************************************************************************//
//                                                                           //
//  Init_ADC_seq(void): 初始化ADC端口,选用A0、A7口序列通道单次扫描           //
//                                                                           //
//***************************************************************************//
void Init_ADC_seq(void)
{
  P6SEL = 0x81;                                   // Enable A/D channel A0/A7
  ADC12CTL0 = ADC12ON+ADC12MSC+ADC12SHT0_8;       // Turn on ADC12, set sampling time
                                                                                                                                                                   ADC12CTL1 = ADC12SHP+ADC12CONSEQ_1+ADC12SSEL1 ; // Use sampling timer, single sequence
                                                  // ADCCLK=MCLK,NO DIV
  ADC12MCTL0 = ADC12INCH_0;                       // ref+=AVcc, channel = A0
  ADC12MCTL1 = ADC12INCH_7+ADC12EOS;              // ref+=AVcc, channel = A1
= A3, end seq.
  ADC12IE = 0x02;                                 // Enable ADC12IFG.1
  ADC12CTL0 |= ADC12ENC;                          // Enable conversions

}


代码在我把A0/A7都接上固定电平的时候,一直正常(T>=720h);
只是后来单把A7拉出来悬空,看测试数据时才发现这现象
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表