cancel
Showing results for 
Search instead for 
Did you mean: 

I cannot get Chinese AD9954 DDS Signal Generator module working with STM32F1xx. Can anyone help?

ZZZ.1
Associate

Some details:

I connected the AD9954 to STM32f1xx the following way:

/*

**       AD9954_CS----------PA4  OUT 14

**       AD9954_SCLK--------PA5  OUT 15

**       AD9954_SDIO--------PA7  OUT MOSI 17

**       AD9954_OSK---------PA6  OUT 16 

**       PS0----------------PA3  OUT 13

**       PS1----------------PA2  OUT 12

**       IOUPDATE-----------PA1   OUT 11

**       AD9954_SDO----------    IN

**       AD9954_IOSY--------PA0   OUT 10 //?

**       AD9954_RES---------PB1   OUT 19 

**       AD9954_PWR---------PB0   OUT 18 //?

*/

 #define ssPin 14

#define resetPin 19

#define updatePin 11

#define ps0 13

#define ps1 12

#define osk 16

#define spi_clk 15

Any tips what can be wrong? Do I have a broken DDS module?

I was able to check that AD9954_SCLK appears from STM32 with a scope. Unfortunately my scope setup is not good enough to check all signal timings on SPI properly.

The code I use only sends stuff to AD9954 over SPI... Is there a way to verify if the chip is alive? (i.e receive something from AD9954)

1 REPLY 1

>>Is there a way to verify if the chip is alive? (i.e receive something from AD9954)

The data sheet indicates read methods via the SDIO pin, perhaps review/code something that implements that?

https://www.analog.com/media/en/technical-documentation/data-sheets/AD9954.pdf

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..