AnsweredAssumed Answered

AD5934 cannot send SINE WAVE

Question asked by DIS4 on Sep 27, 2017
Latest reply on Sep 28, 2017 by musach

ad5934AD5934

i2c communication is working ,and I can recieve ACK, but I cannot see a sine wave in VOUT. when I read the register of 0X8F, the value always 0X70.I am confused.

here my code, please help me find faults.

 

 

/* 第一步,将频率扫描参数编程写入相应寄存器*/

I2C_write(0x0D,0x82,0xA3);//起始频率为5KHZ A3D70A
I2C_write(0x0D,0x83,0xD7);
I2C_write(0x0D,0x84,0x0A);
I2C_write(0x0D,0x85,0x00);
I2C_write(0x0D,0x86,0x53);//频率增加10HZ 53E2
I2C_write(0x0D,0x87,0xE2);
I2C_write(0x0D,0x88,0x00);//150个点
I2C_write(0x0D,0x89,0x96);


/* 第二步,复位 */


I2C_write(0x0D,0x80,0xB0);
I2C_write(0x0D,0x81,0x08);//用过外部晶振1M

/* 第三步,向控制寄存器发出以起始频率初始化命令 */
I2C_write(0x0D,0x80,0x10);
// I2C_write(0x0D,0x81,0x08);

/* 第四步,建立足够的时间周期 */
I2C_write(0x0D,0x8A,0x03);//511*2=1022个周期。延迟时间为 511*2*1/激励信号频率(30KHZ)
I2C_write(0x0D,0x8B,0xFF);
/* 第五步,向控制寄存器发出启动频率扫描命令 */
I2C_write(0x0D,0x80,0x20);
// I2C_write(0x0D,0x81,0x08);

Outcomes