Post Go back to editing

ad9959 eval board SPI communication

Category: Hardware
Product Number: AD9959

Hello, I want to communicate between the AD9959 eval board and the MCU. The configurations I made are as follows:

1) master reset
2) PWN DWN set
3) I write the value that activates all channels into the CSR register (240)
4) I select PLL Divider 20 from Func REG1 and set Above 255MHz
5) Since I work with Channel 1 from the CSR address, I activate it again (32)
6) I write my operating frequency to the CFTW0 address.
7) I write the amplitude of my sinus signal to the ACR address.

NOTE: During all writing operations, I set the IO Update pin to high - low positions and approximately 300us remains open.

SPI clock pol: 1 and clock phase: 1, SPI Speed: 500Khz

  • Hi  ,

    Can you try to set the SPI mode to 0? Try setting CPOL = 0, CPHA = 0. 

    All the best,


  • Hello, first of all, thank you for your answer. I set the CPOL and CPHA values ​​to 0 in writing mode, but I still could not see an analog sinusoidal signal output. I remove the W1, W2, W3 and W10 jumpers from the Eval board. I set the W7 jumper to the Manual Control pin. I connect the MCU pins to the U2 side of the eval board and the pins I connect are as follows:
    1) CLK
    2) CSB
    3) IO UPDATE
    4) RESET
    5) PWN DOWN
    6) MOSI
    7) GND
    This is how I establish my connections.

    In software;
    1) Master reset and then IO Update
    2) F0 value to CSR register
    3) PLL divider ratio and VCO gain set to FR1 register
    4) Again, add 0x20 value to CSR register because I am waiting for signal output from ch1.
    5) PLL divider ratio and VCO gain set to FR1 register
    6) Frequency value to CFTW0 register
    7) Amplitude value to ACR register and Enable ASF set(5119)
    8) Pull the IO Update pin high and low (250us remains open)

    When I make my settings this way and send it, I cannot see the sine signal from the ch1 channel.

    My SPI Settings are

    Speed ​​300Khz
    Wdelay 0
    Charlen 8
    CS[0] pin mode GIO

    When sending SPI, I use spiTransmitData from the TI HalCoGen library and first pull the CS pin to low and then send it to high.

  • I tried it now, it worked, when I pulled the PWR DWN pin to low, it worked, thank you.