HI
I have encountered some problems with the ADC, the input sine wave, the acquired digital signal is divided into two parts, and the noise is obviously, what is the problem, can you provide an example code?THX SO MUCH!
#include "ad9629.h" #include "assert_profile.h" #include <stddef.h> uint8_t read_data = 0; void ad9629_adapter_init(AD9629_ADAPTER_STR * p_adapter) { ASSERT_ERROR(p_adapter != NULL); ASSERT_ERROR(p_adapter->p_read_reg != NULL); ASSERT_ERROR(p_adapter->p_write_reg != NULL); ASSERT_ERROR(p_adapter->p_start_sample != NULL); ASSERT_ERROR(p_adapter->p_stop_sample != NULL); p_adapter->p_write_reg(0x00, 0x3C);//soft reset read_data = p_adapter->p_read_reg(0x01);//read id // ASSERT_ERROR(read_data == 0x70); read_data = p_adapter->p_read_reg(0x02);//read unique speed p_adapter->p_write_reg(0x0B, 0x01);//divide by 2 // p_adapter->p_write_reg(0x0D, 0x48);//test mode // p_adapter->p_write_reg(0x19, 0xAA); // p_adapter->p_write_reg(0x1A, 0x0A); // p_adapter->p_write_reg(0x1B, 0x55); // p_adapter->p_write_reg(0x1C, 0x05); p_adapter->p_write_reg(0x14, 0x01);//output format: twos complement // p_adapter->p_write_reg(0x08, 0x60);//normal mode:output enable p_adapter->p_write_reg(0xFF, 0x01); // read_data = p_adapter->p_read_reg(0x0B); // read_data = p_adapter->p_read_reg(0x08); // read_data = p_adapter->p_read_reg(0x19); // read_data = p_adapter->p_read_reg(0x1A); // read_data = p_adapter->p_read_reg(0x1B); // read_data = p_adapter->p_read_reg(0x1C); // p_adapter->p_write_reg(0x08, 0x60); //enable pin23 output mode } void ad9629_start_sample(AD9629_ADAPTER_STR * p_adapter) { ASSERT_ERROR(p_adapter->p_start_sample != NULL); p_adapter->p_start_sample(); } void ad9629_stop_sample(AD9629_ADAPTER_STR * p_adapter) { ASSERT_ERROR(p_adapter->p_stop_sample != NULL); p_adapter->p_stop_sample(); }