AD5424和AD8664的使用问题

我在使用AD5424做幅值转换电路的时候,VREF端接入的是一个1KHz的正弦信号,可是无论怎么改变DB0-DB7,在AD8664的输出端总是+5V?电路图如下:

  • 您好,您的问题已经提交给ADI相关专家,将邀请专家尽快回答您的问题。谢谢!

  • 您好,我的AD8664应该是没问题的,因为一片AD8664的其他三个运放用来做别的,没有问题。时序图我没法测量,现在把我的程序放在下面,希望您们可以帮我看一下:

    /****************AD5424幅值调整******************/

        DDRC |= _BV(CS) | BV(RW);            //CS,RW定义成输出

        //Con_Sig_dir = 0xFF;

        DDRD = 0xFF;

        PORTC |= _BV(CS) | BV(RW);

        PORTC &= ~(_BV(RW_));                     //CS,RW_下降沿

        PORTC &= ~(_BV(CS)) ;

        //Con_Sig = attenuation;

        PORTD = attenuation;

        delayus(1);

        PORTC |= _BV(CS);

        PORTC |= BV(RW);                        //CS,RW_上升沿

         

        //Con_Sig_dir = 0x00;

        DDRD = 0x00;

        delayus(1);

        PORTC |= BV(RW);                        //读操作

        PORTC &= ~(_BV(CS)) ;                     //CS下降沿

        delayus(1);

        asm("nop");

        atten = PIND;

        PORTC |= _BV(CS);                      //CS上升沿

     

    盛振红

  • 0
    •  Analog Employees 
    on Apr 15, 2014 9:46 AM over 6 years ago

    从您的原理图连接上没有看出什么问题。您可以先尝试单独测量一下AD8664的功能是否正确?其次,您是否检查过写数据的时序是否正确?如果可以的话,请将写数据的时序上传一下(R/W、CS和DATA的波形,用示波器采集下来),我们帮您检查一下。

  • 我不知道怎么用示波器测试CS,RW和DATA的波形,也没有查到方法,您能给点建议吗?或者能给个参考代码吗?谢谢您啦!

     

    盛振红

  • 0
    •  Analog Employees 
    on Apr 16, 2014 9:17 AM over 6 years ago

    很难帮您验证代码。通常最直观的的调试方法就是需要用示波器将CS,R/W和DATA的波形采集下来,然后和数据手册的时序对照。如果这些信号的时序不正确的话,芯片是不会被正确的写入的数值的。