Haimeng

SPI communication issue between AD9106 EBZ and TI ezdsp f28335

Discussion created by Haimeng on May 21, 2014
Latest reply on May 22, 2014 by Haimeng

Hi all,

 

I'm working on the spi communication between AD9106 Evaluation board and TI ezdsp f28335. The AD9106 Evaluation board was tested by using the Labview and demo examples and it also produced the expected waveforms which were the same as the figures shown in the user guide. Then I want to use my own dsp controller f28335 to replace the on-board controller. After checking the schematic of  AD9106 EBZ, there have some places need to be modified in hardware:

 

1. Disconnect the SPI connection between AD9106 and on-board chip PIC18F4550 by removing xjp5,xjp1,xjp3,xjp4 and then get connection from f28335.

2. Disconnect pin2 and pin3 of jp1, then to get a control signal from f28335 for TRIGGERB.

3. Since the voltage level of AVDD, CVDD and DVDD are controlled by three pins of PIC18F4550, and the default voltage of AVDD is 1.8V. By swapping R37 and R38, it makes the initial value of AVDD equals to 3.3V.

 

That's all the modification I made. Then I followed the recommended sequence of command, writing the codes attached at the end which are exactly the same as example 4 from evaluation board suite.

 

I'm aware of the importance of two registers PAT_STATUS and RAMUPDATE. The former one is used to set the RUN bit for pattern generation, the latter one is to update all the registers. After sending the all of commands, a falling edge of the trigger terminal is required to generate the waveform.

 

Please find the waveform of SPI I got:

https://www.dropbox.com/s/bxsfqne96a0ng1a/SPI.JPG

https://www.dropbox.com/s/rcj0zb14u39y5tg/SPI2.JPG

They are waveform of command data, clock signal and cs signal separately from up to down .

Actually, I tested the SPI communication with DAC tlv5604, it works well. However, I still can't get the expected waveform from AD9106. Please help me to check it, I'm stuck in it now. Many thanks

 

Haimeng

 


            signal_gen_control (SPICONFIG,0x0000);


    signal_gen_control (POWERCONFIG,0x0E00);


    signal_gen_control (CLOCKCONFIG,0x0000);


    signal_gen_control (REFADJ,0x0000);


    signal_gen_control (DAC4AGAIN,0x4000);


    signal_gen_control (DAC3AGAIN,0x4000);


    signal_gen_control (DAC2AGAIN,0x4000);


    signal_gen_control (DAC1AGAIN,0x4000);


    signal_gen_control (DACxRANGE,0x0000);


    signal_gen_control (FSADJ4,0x1F00);


    signal_gen_control (FSADJ3,0x1F00);


    signal_gen_control (FSADJ2,0x1F00);


    signal_gen_control (FSADJ1,0x1F00);


    signal_gen_control (CALCONFIG,0x0000);


    signal_gen_control (COMPOFFSET,0x0000);

 

 



    signal_gen_control (0x0F,0x0000);


    signal_gen_control (0x10,0x0000);


    signal_gen_control (0x11,0x0000);


    signal_gen_control (0x12,0x0000);


    signal_gen_control (0x13,0x0000);


    signal_gen_control (0x14,0x0000);


    signal_gen_control (0x15,0x0000);


    signal_gen_control (0x16,0x0000);


    signal_gen_control (0x17,0x0000);


    signal_gen_control (0x18,0x0000);


    signal_gen_control (0x19,0x0000);


    signal_gen_control (0x1A,0x0000);


    signal_gen_control (0x1B,0x0000);


    signal_gen_control (0x1C,0x0000);

 

 



    signal_gen_control (RAMUPDATE,0x0000);


    signal_gen_control (PAT_TYPE,0x0000);

//    signal_gen_control (PAT_STATUS,0x0000);

 

 



    signal_gen_control (PATTERN_DLY,0x000E);


    signal_gen_control (0x21,0x0000);


    signal_gen_control (0x22,0x0000);


    signal_gen_control (0x23,0x0000);

 

 



    signal_gen_control (DAC2DOF,0x0000);


    signal_gen_control (DAC1DOF,0x0000);


    signal_gen_control (WAV4_3CONFIG,0x1212);


    signal_gen_control (WAV2_1CONFIG,0x1232);


    signal_gen_control (PAT_TIMEBASE,0x0111);


    signal_gen_control (PAT_PERIOD,0xFFFF);


    signal_gen_control (DAC4_3PATx,0x0101);


    signal_gen_control (DAC2_1PATx,0x0101);


    signal_gen_control (DOUT_START_DLY,0x0003);


    signal_gen_control (0x2D,0x0000);

 

 



    signal_gen_control (DAC4_CST,0x0000);


    signal_gen_control (DAC3_CST,0x0000);


    signal_gen_control (DAC2_CST,0x0000);


    signal_gen_control (DAC1_CST,0x0000);


    signal_gen_control (DAC4_DGAIN,0x4000);


    signal_gen_control (DAC3_DGAIN,0x4000);


    signal_gen_control (DAC2_DGAIN,0x4000);


    signal_gen_control (DAC1_DGAIN,0x4000);

 

 



    signal_gen_control (SAW4_3CONFIG,0x1011);


    signal_gen_control (SAW2_1CONFIG,0x0600);

 

 



    signal_gen_control (0x38,0x0000);


    signal_gen_control (0x39,0x0000);


    signal_gen_control (0x3A,0x0000);


    signal_gen_control (0x3B,0x0000);


    signal_gen_control (0x3C,0x0000);


    signal_gen_control (0x3D,0x0000);

 

 



    signal_gen_control (DDS_TW32,0x1999);


    signal_gen_control (DDS_TW1,0x9A00);


    signal_gen_control (DDS4_PW,0x0000);


    signal_gen_control (DDS3_PW,0x0000);


    signal_gen_control (DDS2_PW,0x0000);


    signal_gen_control (DDS1_PW,0x0000);


    signal_gen_control (TRIG_TW_SEL,0x0000);

 

 



    signal_gen_control (0x45,0x0000);


    signal_gen_control (0x46,0x0000);


    signal_gen_control (0x47,0x0000);


    signal_gen_control (0x48,0x0000);


    signal_gen_control (0x49,0x0000);


    signal_gen_control (0x4A,0x0000);


    signal_gen_control (0x4B,0x0000);


    signal_gen_control (0x4C,0x0000);


    signal_gen_control (0x4D,0x0000);

            signal_gen_control (0x4E,0x0000);


    signal_gen_control (0x4F,0x0000);

 

 



    signal_gen_control (START_DLY4,0x07D0);


    signal_gen_control (START_ADDR4,0x0000);


    signal_gen_control (STOP_ADDR4,0x0000);


    signal_gen_control (DDS_CYC4 ,0x0001);


    signal_gen_control (START_DLY3,0x03E8);

           signal_gen_control (START_ADDR3,0x0000);


    signal_gen_control (STOP_ADDR3,0x0000);


    signal_gen_control (DDS_CYC3 ,0x0001);


    signal_gen_control (START_DLY2,0x03E8);


    signal_gen_control (START_ADDR2,0x0000);


    signal_gen_control (STOP_ADDR2,0x0000);


    signal_gen_control (DDS_CYC2 ,0x0001);


    signal_gen_control (START_DLY1,0x0FA0);


    signal_gen_control (START_ADDR1,0x0000);


    signal_gen_control (STOP_ADDR1,0x0000);


    signal_gen_control (DDS_CYC1 ,0x16FF);

 

 



    signal_gen_control (PAT_STATUS,0x0001);


    signal_gen_control (RAMUPDATE,0x0001);

Outcomes