已回答假定已回答

AD5934按照手册设置完所有寄存器后,Vout引脚不能正确输出30kHz的正弦波

时光飞逝 在 2017-12-13 詢問的問題
最後回覆由shibinjie於2017-12-22提供

使用的是EVAL-CN0349-PMDZ进行设置

 

/* 配置启始频率寄存器为30kHz  计算公式为:(你需要的频率(30kHz)/(16.776MHz/16))*(2^27) == 0x3A9916*/

    AD5934_Write_RegData(Start_Frequency_High,0x3A);

    delay_ms(1);

    AD5934_Write_RegData(Start_Frequency_Mid,0x99);

    delay_ms(1);

    AD5934_Write_RegData(Start_Frequency_Low,0x16);

    delay_ms(1);

  

    /* 频率增量寄存器配置  计算公式为:(你需要的频率增量(10Hz)/(16.776MHz/16))*(2^27) == 0x000500*/

    AD5934_Write_RegData(Frequency_Increment_High,0x00);

    delay_ms(1);

    AD5934_Write_RegData(Frequency_Increment_Mid,0x05);

    delay_ms(1);

    AD5934_Write_RegData(Frequency_Increment_Low,0x00);

    delay_ms(1);

  

  

    /* 增量数寄存器配置 最大为511 十六进制表示为0x01FF  */

    AD5934_Write_RegData(Num_Increments_High,0x00);

    delay_ms(1);

    AD5934_Write_RegData(Num_Increments_Low,0x0A);//设置为10次

    delay_ms(1);

  

  

    /* 配置建立时间周期数寄存器  决定频率扫描/递增频率/重复频率命令与ADC转换开始之间的延迟时间 */

    /*

  

        bit10与 bit9 配置周期数的倍数 默认00

                                         01 周期数乘以2

                                         10 保留

                                         11 周期数乘以4

        bit0~bit8   为周期数 最大511 

        其余位无效

  

    */

    AD5934_Write_RegData(Num_TimeCyles_High,0x00);

    delay_ms(1);  

    AD5934_Write_RegData(Num_TimeCyles_Low,0x0A);

    delay_ms(1);

  

  

    /* 配置控制寄存器,使AD5934进入待机模式 */

    AD5934_Write_RegData(Control_High,0xB0);

    delay_ms(1);

    AD5934_Write_RegData(Control_Low,0x00);

    delay_ms(500);

  

  

  

    /* 配置控制寄存器,使AD5934以设定值进入初始化模式 */

    AD5934_Write_RegData(Control_High,0x11);

    delay_ms(1);

    AD5934_Write_RegData(Control_Low,0x00);

    delay_ms(500);

  

    /* 配置控制寄存器,使AD5934进入扫描模式 */

    AD5934_Write_RegData(Control_High,0x21);

    delay_ms(1);

    AD5934_Write_RegData(Control_Low,0x00);

    delay_ms(500);

 

波形如下:

     请问是怎么回事呢

 

 

結果