I attempted to use the TAC5112 to output a sine wave but found that the actual tested waveform was not perfect. Upon reviewing the chip datasheet, I noticed that the device itself supports a signal generation function. Therefore, I tried using this feature to make the OUT1P pin output a sine wave. After referring to the application manual(Tone Generation and Application Modes of TAx5x1x Devices ), I performed the following I2C configuration without making any other additional settings or operations, but no output was observed.
tac_cfg_reg_t tac_registers[] = {
// #define CHECKSUM (0)
{0x00,0x00},// locate page x00
{0x01,0x01},// device reset
{0x00,0x00},// locate page x00
{0x02,0x09},// vref and dreg enable
{0x00,0x01},// locate page x01
{0x2d,0x08},// enable SG1
// Channel selection and amplitude configuration
{0x00,0x11}, // locate page 0x11
{0x68,0x40},
{0x69,0x00},
{0x6a,0x40},
{0x6b,0x00}, // mix SG1 to DAC1 L & R Channels and
// set the amplitude to full-scale, 0dB.
// Frequency configuration
{0x00,0x00}, // locate page 0x00
{0x7f,0x00}, // locate book 0x00
{0x00,0x12}, // locate page 0x12
// 600Hz
{0x20,0x99},
{0x21,0x7f},
{0x22,0xec},
{0x23,0x00},
{0x24,0x7f},
{0x25,0x9a},
{0x26,0xfc},
{0x27,0xb8}, // sinx and cosx upper bits
{0x28,0x1c},
{0x29,0xea},
{0x2a,0xf1},
{0x2b,0x80},
{0x2c,0x0a},
{0x2d,0x0a},
{0x2e,0xf2},
{0x2f,0x99}, // sinx and cosx lower bits
// Output configuration
{0x00,0x00}, // locate page 0x00
// differential mode is the default output mode
{0x64,0x24},// option to set to single-ended mode
// {0x64,0x28},//关闭ADC HPF滤波器
// {0x6b,0x00},//关闭ADC HPF滤波器
// {0x72,0x00},//关闭ADC HPF滤波器
{0x76,0x0c}, // enable DAC1, CH 1 & 2 180deg out of phase diff. mode
{0x78,0x40}, // enable DAC
};