Tool/software:
I am doing testing on the frequency response, and things are not looking as flat as they should be according to the datasheet.
My samplerate is 744kHz, and I am using the linear-phase interpolation filters.
According to the datasheet, that would be -0.2dB @ 0.15xFS = 111kHz.
I am measuring around -0.6dB @ 90kHz.
Test methodology: DAC is being fed 16 bit I2S from DSP generating a sine wave.
Just wondering if there is something wrong with my expectations, testing methods, or settings used to initialize the DAC (included below).
// SW reset data = 0x00; i2c_write_reg(kDacBus, kDacAddress, 0x00, &data, 1); data = 0x01; i2c_write_reg(kDacBus, kDacAddress, 0x01, &data, 1); std::this_thread::sleep_for(std::chrono::milliseconds(2)); data = 0x00; i2c_write_reg(kDacBus, kDacAddress, 0x00, &data, 1); // Bring out of sleep mode data = 0x09; i2c_write_reg(kDacBus, kDacAddress, 0x02, &data, 1); std::this_thread::sleep_for(std::chrono::milliseconds(2)); // Disable GPIO1 data = 0; i2c_write_reg(kDacBus, kDacAddress, 0x0a, &data, 1); // Primary ASI: I2S, 16 bit data data = 0x40; i2c_write_reg(kDacBus, kDacAddress, 0x1a, &data, 1); // Primary ASI RX Channel 2: I2S right slot 0 data = 0x30; i2c_write_reg(kDacBus, kDacAddress, 0x29, &data, 1); // DAC demod rate override data = (1 << 4); i2c_write_reg(kDacBus, kDacAddress, 0x4f, &data, 1); // DAC: wide bandwidth data = 0xe1; i2c_write_reg(kDacBus, kDacAddress, 0x65, &data, 1); // Channel 1p i2c_write_reg(kDacBus, kDacAddress, 0x6c, &data, 1); // Channel 2p data = 0xe0; i2c_write_reg(kDacBus, kDacAddress, 0x66, &data, 1); // Channel 1m i2c_write_reg(kDacBus, kDacAddress, 0x6d, &data, 1); // Channel 2m // Disable DAC biquads data = (1 << 4); i2c_write_reg(kDacBus, kDacAddress, 0x73, &data, 1); // Disable inputs, enable outputs data = 0x0c; i2c_write_reg(kDacBus, kDacAddress, 0x76, &data, 1); // Power up DAC data = 0x40; i2c_write_reg(kDacBus, kDacAddress, 0x78, &data, 1);