关于选AD的简单问题,求助

2020-01-25 15:39发布

我想用AD采样人的声音信号,选的AD转换时间是32us,但是用的是51,语句执行能力有限造成了采样函数执行一次就需要130us左右,在不换MCU的情况下,要怎样提高AD的采样率,越快越好。P.S 其实不大懂datasheet里面的采样频率和实际采样频率的关系(比如20kHZ采样率的AD用51怎么能达到20kHZ)新手,求帮助。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
忘记姓名的路人
2020-01-26 08:15
siyeb 发表于 2013-11-13 17:11
1.串行AD本身采样频率就不会太高,且如果MCU更慢的话,可采用并行AD。

2.AD0832每次采样需要至少19个时 ...

          AD0832_CLK = 0 ;        
          AD0832_DI  = 1 ;        
          AD0832_CS  = 0 ;         

        _nop_();
         AD0832_CLK = 1 ;      
            _nop_();
         AD0832_CLK = 0 ;         

      AD0832_DI  = 1 ;
             _nop_();
          AD0832_CLK = 1 ;         
            _nop_();
          AD0832_CLK = 0 ;        

      AD0832_DI  = 0 ;         
             _nop_();
          AD0832_CLK = 1 ;        
            _nop_();
          AD0832_CLK = 0 ;      

       AD0832_DI  = 1 ;   
    for(i = 0 ; i<8 ; i++)       
         {
            AD0832_CLK = 1 ;      
               _nop_();
            AD0832_CLK = 0 ;            
               x = x<<1;                               
          if(AD0832_DI ==1)
             x = x | 0x01;                  
     }                                               

    for(i = 0 ; i<8 ; i++)             
        {  
               y = y>>1;                       
           if(AD0832_DI ==1)
               y = y | 0x80;         

           AD0832_CLK = 1 ;      
            _nop_();
           AD0832_CLK = 0 ;        
         }
       
          AD0832_CLK = 1 ;        
          AD0832_DI  = 1 ;         
          AD0832_CS  = 1 ;      


我用调试测这一段时间128us。     我做语音数据存储,采样间隔125us(8KHZ),然后写入SD卡,但是波形还原很不好,根本没办法采样1k以上的波形

一周热门 更多>