打印
[DSP编程]

DSP2812AD采样

[复制链接]
1425|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
wangch_sh| | 2014-7-12 17:06 | 只看该作者
程序呢?

使用特权

评论回复
板凳
zhangmangui| | 2014-7-13 21:38 | 只看该作者
如果采集到的数据通过Graph查看时正弦波    可以简单排除ADC采集没什么问题
这个相位跳跃个人觉得是不是你输入的波形有问题   出现的跳跃呢
Graph中是怎么设置的   

使用特权

评论回复
地板
labixiaojing|  楼主 | 2014-7-14 18:24 | 只看该作者
wangch_sh 发表于 2014-7-12 17:06
程序呢?

void  main(void)
{
    InitSystem();            //初始化DSP内核寄存器
    InitPieCtrl();
    InitDIDO();        //调用PIE控制单元初始化函数
    InitPieVectTable();         //  调用PIE向量表初始化函数
    InitAdc();                   //调用ADC模块的基本初始化函数   
    EALLOW;
    PieVectTable.ADCINT=&adc_isr;    //重新设置PIE向量表中ADc的中断入口向量
    EDIS;
   
    PieCtrlRegs.PIEIER1.bit.INTx6=1;     //使能PIE中断分组1中的ADC中断
    GpioDataRegs.GPASET.bit.GPIOA0=1;
    GpioDataRegs.GPACLEAR.bit.GPIOA0=1;
   
   
    IER=1;          //使能和ADC中断相连的CPU INT1中断
   
    EINT;           //使能全局中断位INTM
    ERTM;           // 使能全局实时调试中断DBGM
   
   
    /* SET ADC*/
    AdcRegs.ADCTRL3.bit.SMODE_SEL=0;
   
    AdcRegs.ADCTRL1.bit.SEQ_CASC=0;//双排序器工作模式
    AdcRegs.ADCTRL1.bit.CONT_RUN=0;//启动-停止模式
    AdcRegs.ADCTRL1.bit.CPS=0;     //FCLK=CLK/1
    AdcRegs.ADCMAXCONV.all=2;
    AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;
    AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x01;
    AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x02;
    AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;       //使能EVA引起的中断
    AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;      
    AdcRegs.ADCTRL3.bit.ADCCLKPS=2;       //ADc模块的核心时钟频率=HSPCLK/4
   
    /* SET EVA*/
    EvaRegs.GPTCONA.bit.TCMPOE=0;     //禁止比较输出
    EvaRegs.GPTCONA.bit.T1PIN=0;
    EvaRegs.GPTCONA.bit.T1TOADC=2;       //设置周期中断标志启动ADC
    EvaRegs.T1CON.bit.FREE=0;    //防真挂起时,定时器1立即停止工作
    EvaRegs.T1CON.bit.SOFT=0;
    EvaRegs.T1CON.bit.TMODE=2;   //连续增计数模式
    EvaRegs.T1CON.bit.TPS=7;     //设置定时器时钟频率为HSPCLK/128
    EvaRegs.T1CON.bit.TENABLE=1;     //允许定时器操作
    EvaRegs.T1CON.bit.TCLKS10=0;     //内部时钟
    EvaRegs.T1CON.bit.TCLD10=0;     //计数器为0时重载
    EvaRegs.T1CON.bit.TECMPR=0;     //禁止比较操作
    EvaRegs.T1PR=2000;//300hz
   
    while(1)
    {                      

        }
}

    void InitSystem(void)
    {
        EALLOW;
        SysCtrlRegs.WDCR=0x00E8;        //禁止看门狗模块
        SysCtrlRegs.PLLCR.bit.DIV=10;    //将CPU的PLL倍频系数设为5
        
        SysCtrlRegs.HISPCP.all=0x1;      //高速时钟的预定标器设置成除以2
        SysCtrlRegs.LOSPCP.all=0x2;      //低速时钟的预定标器设置成除以4
        
        
        //根据需要时能各种外设模块的时钟
        SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;
        SysCtrlRegs.PCLKCR.bit.ADCENCLK=1;
        EDIS;
     }
     
      
  
      
      
     interrupt void adc_isr(void)
     {
   
           EALLOW;
        temp0[x]=AdcRegs.ADCRESULT0>>4;
        temp1[x]=AdcRegs.ADCRESULT1>>4;
        temp2[x]=AdcRegs.ADCRESULT2>>4;  
        x++;
        if(x==512)
          {
              x=0;
          }
        
        
        //重新初始化ADC采样序列
        AdcRegs.ADCTRL2.bit.RST_SEQ1=1;  //复位SEQ1  
        AdcRegs.ADCST.bit.INT_SEQ1_CLR=1; //清除中断位INT SEQ1
        PieCtrlRegs.PIEACK.all=PIEACK_GROUP1; //清除PIE1的中断响应位
        EDIS;
      
     }

使用特权

评论回复
5
labixiaojing|  楼主 | 2014-7-14 18:33 | 只看该作者
zhangmangui 发表于 2014-7-13 21:38
如果采集到的数据通过Graph查看时正弦波    可以简单排除ADC采集没什么问题
这个相位跳跃个人觉得是不是你 ...

用的信号发生器,输入信号应该没问题,而且实验发现输入正弦波频率高于50HZ时采样得到的正弦波是没问题的,频率一低于50HZ就不行了。
C:\Documents and Settings\Administrator\桌面

使用特权

评论回复
6
labixiaojing|  楼主 | 2014-7-14 18:37 | 只看该作者
zhangmangui 发表于 2014-7-13 21:38
如果采集到的数据通过Graph查看时正弦波    可以简单排除ADC采集没什么问题
这个相位跳跃个人觉得是不是你 ...

C:\Documents and Settings\Administrator\桌面\QQ截图20140714152513.png

使用特权

评论回复
7
zhangmangui| | 2014-7-14 22:12 | 只看该作者
labixiaojing 发表于 2014-7-14 18:33
用的信号发生器,输入信号应该没问题,而且实验发现输入正弦波频率高于50HZ时采样得到的正弦波是没问题的 ...

图片应该以附件的形式上传   没看到

使用特权

评论回复
8
zhangmangui| | 2014-7-14 22:12 | 只看该作者
labixiaojing 发表于 2014-7-14 18:37

供参考
EX10_ADC.zip (744.58 KB)


使用特权

评论回复
9
labixiaojing|  楼主 | 2014-7-15 09:13 | 只看该作者
zhangmangui 发表于 2014-7-14 22:12
图片应该以附件的形式上传   没看到


使用特权

评论回复
10
zhangmangui| | 2014-7-15 21:36 | 只看该作者
labixiaojing 发表于 2014-7-15 09:13

看到了   感觉不是ADC配置的问题  

使用特权

评论回复
11
sunpotty| | 2014-10-25 16:00 | 只看该作者
不知道楼主有没有发现原因,我的ADC采样程序也有这样的问题

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝