微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 关于CC2541的ADC取样问题

关于CC2541的ADC取样问题

时间:10-02 整理:3721RD 点击:

Dear TI:

        你们好。现在我们在采用CC2541的ADC取样时,遇到如下问题,每次取样时,ADC端口的电压就会有一个小的跳动,我们是取样16次,然后计算平均值,然后就有16此跳动,具体波形请参看附件。我们的参考电源用的是外部稳压源(REF3320-2.048V),采样用的是ADC2。

        附件图片中,4为ADC2端口电压值,3为参考电压2.048V,2为参考电压的输入电压3V, 1为电压控制脚。

        

可能的原因:1.RC滤波电路的影响,出现的震荡

                        2.程序中对引脚的配置,模拟输入方式和GPIO方式来回切换,可能在程序中每次都对对APCFG寄存器的操作

Hi:

       你好。关于您说的两点,我们这边之前都已经确认过了,第一点是不存在的,第二点软件已经做了如下设置:

 在uint16 HalAdcRead (uint8 channel, uint8 resolution)函数中屏蔽了下面两句,多次重复读取之后,依然会有这种情况


 /* Disable channel after done conversion */
    /*转换后取消采样通道的模拟输入设置*/
	//if (channel <= HAL_ADC_CHANNEL_7)
	//    ADCCFG &= (adcChannel ^ 0xFF);

 通过屏蔽下面两句,将IO口固定到模拟输入状态,防止来回切换。

        如此设置的,但是依然会跳动,请问是否存在其他问题,谢谢了。

请参考:

unsigned int   adc_result;

APCFG=0x84;///adc=p0.2

 ADCCON1=0x33;

ADCCON3=0x72;///外部参考电压 External reference on AIN7 pin 单通道 12位 实际效果为11位!

 ADCCON1 |= 0x40;///start adc
    while( !(ADCCON1 & ADCCON1_EOC));///等待转换完成

adc_result = (ADCL >> 4);
    adc_result |= (ADCH << 4);

测量的电压如果大于电源电压和参考电压,需要外部电阻分压!

参考这个帖子:

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/70484/1693

17.aspx#169317

我也碰到类似问题,纠结了很久,其实这个就是输入阻抗不匹配的问题,直接在ad口那里加个大电容就解决了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top