工具/软件:
我正在对频率响应进行测试、结果并不像数据表中规定的那样平坦。
我的采样速率为 744kHz、我使用线性相位内插滤波器。
根据数据表、即–0.2dB @ 0.15xFS = 111kHz。
我的测量值约为–0.6dB @ 90kHz。
测试方法:从 DSP 向 DAC 馈送 16 位 I2S、从而生成正弦波。
想知道我的预期、测试方法或用于初始化 DAC 的设置(包括在下面)是否有问题。
// 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);

