打印

51 AD 采样慢?

[复制链接]
2273|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
c51F350 部分程序:

#define SYSCLK       49000000             // SYSCLK frequency (Hz)
#define BAUDRATE     57600                 // UART0 Baudrate (bps)
#define MDCLK        2457600              // Modulator Clock (Hz)


void ADC_Buffered(void)
{     
   
    unsigned int i;
  float average;        
         for (i = 0; i < Sampling_times; i++)
          {
          while(!AD0INT);                     
         AD0INT = 0;                          
         ADC_OutputVal = ADC0H;
          ADC_OutputVal =ADC_OutputVal<< 16;
          ADC_OutputVal += (long)ADC0L + ((long)ADC0M << 8);
          sample_array = ADC_OutputVal;
   
        }

        for(i=0;i<Sampling_times;i++)
       {
          average=average+(float)sample_array;
        }

       average=average/(Sampling_times);
    average=average/256/256/256;
    average=average*VREF;
    average=average*2;
     average=average;
    ADC_VIN= (int)average;  
}

void ADC0_Init (void)
{
     unsigned ADC0_decimation;
      REF0CN &= ~0x01;                       // disable internal vref
       // REF0CN |= 0x01;                        // (enable if using internal vref)

      // ADC0CN = 0x00;                         // unipolar output codes, GAIN=1
   ADC0CN = 0x10;                         // Bipolar output codes, GAIN=1
       //ADC0CF = 0x00;                         // interrupts upon SINC3 filter output
                                          // and uses internal VREF
       ADC0CF = 0x04;                         // interrupts upon SINC3 filter output
                                          // and ʹÓÃÍⲿVREF
   
      ADC0CLK = (SYSCLK/MDCLK)-1;  // Ideally, MDCLK =2.457MHz                                   
                                          // Generate MDCLK for modulator.                       

   // program decimation rate for desired OWR
     ADC0_decimation = (unsigned long) SYSCLK/ (unsigned long) OWR /
                     (unsigned long) (ADC0CLK+1)/(unsigned long)128;
     ADC0_decimation--;

       ADC0DEC = ADC0_decimation;

       ADC0BUF = 0x00;                        // ¹Ø±ÕÊäÈ뻺³å

     ADC0MUX = 0x0b;                       // ²î·ÖÊäÈë
                                          // AIN+ => AIN0.0
         ADC0DAC = 0x00;
      
         ADC0STA = 0x00;                                 // AIN- => AIN0.1
                                          

//   ADC0MUX = 0x08;      
          ADC0MD |= 0x80;                      // ʹÄÜ(IDLE Mode)
}

输入信号进行采样调制器在频率的MDCLK / 128.
为获得最佳性能,应选择分,使得时钟调制器
等于2.4576 MHz(调制器采样速率= 19.2千赫).
系统时钟分按照公式:
MDCLK=系统时钟/ (ADC0CLK + 1)


这样的话 速度应该很快啊 ~  怎么 程序打出来的ADC_VIN 很慢???

知道大神解释下  为什么呢???

相关帖子

沙发
qqfishboy|  楼主 | 2012-3-8 20:43 | 只看该作者
输入信号进行采样调制器在频率的MDCLK / 128.

ADC0CLK 是调制器时钟分频系数
为获得最佳性能,应选择使调制器时钟等于2.4576 MHz(调制器采样速率= 19.2千赫)的分频系数
系统时钟分按照公式:
MDCLK=系统时钟/ (ADC0CLK + 1)


这样的话 速度应该很快啊 ~  怎么 程序打出来的ADC_VIN 很慢???

知道大神解释下  为什么呢???

使用特权

评论回复
板凳
qqfishboy|  楼主 | 2012-3-8 20:47 | 只看该作者
这样的话  假如 Sampling_times=128的话 采样速率应该是  19200 Hz啊  实验结果目测还不到1Hz~  啊啊啊 啊啊啊 ~~~~~

使用特权

评论回复
地板
ayb_ice| | 2012-3-9 08:37 | 只看该作者
350是西格玛-德尔塔型,这种本来就慢,我记得最终的转换速度最快大约10次每秒,这还是连续转换的速度,如果切换了通道,第一次需要大约200MS
其它公司的也差不多,这是AD类型决定的
C8051F的AD做的还是没有话说的

使用特权

评论回复
5
qqfishboy|  楼主 | 2012-3-9 09:47 | 只看该作者
350是西格玛-德尔塔型,这种本来就慢,我记得最终的转换速度最快大约10次每秒,这还是连续转换的速度,如果切换了通道,第一次需要大约200MS
其它公司的也差不多,这是AD类型决定的
C8051F的AD做的还是没有话说的 ...
ayb_ice 发表于 2012-3-9 08:37
1秒10次也可以啊~@~  怎么设置呢?关键现在才1秒1次~

使用特权

评论回复
6
qqfishboy|  楼主 | 2012-3-9 09:47 | 只看该作者
慢的吐血啊~

使用特权

评论回复
7
ayb_ice| | 2012-3-9 10:30 | 只看该作者
你说的那个不是最终输出速度

使用特权

评论回复
8
ayb_ice| | 2012-3-9 10:33 | 只看该作者
RT:

未命名.JPG (114.87 KB )

未命名.JPG

使用特权

评论回复
9
yewuyi| | 2012-3-9 11:34 | 只看该作者
4# ayb_ice


PIC的10位ADC,俺一般都至少跑500次/秒转换,通道切换一般给2MS,呵呵,没见过什么问题。

使用特权

评论回复
10
ayb_ice| | 2012-3-9 11:45 | 只看该作者
4# ayb_ice  


PIC的10位ADC,俺一般都至少跑500次/秒转换,通道切换一般给2MS,呵呵,没见过什么问题。
yewuyi 发表于 2012-3-9 11:34
类型不一样嘛
你说的那种C8051F一般最少100Kr速度,400K很常见。。。

使用特权

评论回复
11
dong_abc| | 2012-3-9 14:56 | 只看该作者
一秒一次,尽然有这样的蜗牛单片机,见识了!

使用特权

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

本版积分规则

28

主题

193

帖子

1

粉丝