已回答假定已回答

AD9106的3、4通道可以输出正弦波但是1、2通道没有信号

lunianhang 在 2015-11-2 詢問的問題
最後回覆由hpkamen於2015-11-26提供

你好,我们在做一个三相电源,需要用AD9106产生3路500HZ的正弦波。硬件上使用的通道是1、2和3,我们按照官方的测试报告和datasheet写的程序,第3通道输出的频率,幅值都正常,但是第1通道和第2通道没有波形输出。官方测试报告使用的是第3和第4通道,我们仿照测试报告给的例程配置的1、2通道,请您帮忙看一下是否配置正确。(这个问题论坛上有其他人也遇到过,https://ezchina.analog.com/message/20963#20963,是同样的问题)我们现在手里有官方的测试报告,怀疑通道1、2的使能没有打开。请您尽快帮忙解答!(我们需要实际的解决方法)

 

uint32 InstruAndData_PatternType = 0x001F0000;      //Register 0x1F,  Data=0x0000(Continuous)
    uint32 InstruAndData_Wave4_3 = 0x00263131;            //Register 0x26,  Data=0x3131(wavefrom typ)  DAC4 and DAC3 select the DDS prestore wave form.

    uint32 InstruAndData_Wave2_1 = 0x00273131;

    uint32 InstruAndData_DGAIN4 = 0x00321000;          //DAC4_DGAIN 0x32, Data=0x4000  Very important,the maximum value is 0x4000
    uint32 InstruAndData_DGAIN3 = 0x00331000;        //DAC3_DGAIN 0x33,

    uint32 InstruAndData_DGAIN2 = 0x00341000;

    uint32 InstruAndData_DGAIN1 = 0x00351000;

    uint32 InstruAndData_DDSMSB = 0x003E0000;          //Register 0x3E, Data=0x0E00
    uint32 InstruAndData_DDSLSB = 0x003FA700;          //Register 0x3F, Data=0xa700   50Hz output,50MHz fsys
    uint32 InstruAndData_DDS4_PW = 0x00400000;        //Register 0x40, DDS4  degree  adjust the DDS4 and DDS3 to have the same phase

    uint32 InstruAndData_DDS3_PW = 0x00410000;

    uint32 InstruAndData_DDS2_PW = 0x00420000;

    uint32 InstruAndData_Run = 0x001E0001;                //PAT_STATUS 0x1E, run bit=1   Very important
    uint32 InstruAndData_update = 0x001D0001;          //Register 0x1D, Data=0xE600                              //ADuC7026 Initialization

    DDS_TRIGGER = 1 ;

    delay(14);

 

 

    writeToAD9106(InstruAndData_PatternType);

    writeToAD9106(InstruAndData_Wave4_3);

    writeToAD9106(InstruAndData_Wave2_1);

    writeToAD9106(InstruAndData_DGAIN4);

    writeToAD9106(InstruAndData_DGAIN3);

    writeToAD9106(InstruAndData_DGAIN2);

    writeToAD9106(InstruAndData_DGAIN1);

    writeToAD9106(InstruAndData_DDSMSB);

    writeToAD9106(InstruAndData_DDSLSB);

    writeToAD9106(InstruAndData_DDS4_PW);

    writeToAD9106(InstruAndData_DDS3_PW);

    writeToAD9106(InstruAndData_DDS2_PW);

 

 

    writeToAD9106(InstruAndData_update);

    writeToAD9106(InstruAndData_Run);

    writeToAD9106(InstruAndData_update);

    delay(10);

    DDS_TRIGGER=0;

    writeToAD9106(InstruAndData_update);  

 

注:附件为我们的电路原理图

結果