DAC: maximum output voltage = 1 / 2 VDDA
Hi,
I'm using a STM32F072's DAC to output a SIN and a COS wave. The problem is I can only output values up to approx. VDDA / 2. The DAC drives unity gain amplifiers to drive a 50 Ohm load. The DAC is connected directly to the amps, using the buffer does not help. VDDA = 3.3 V.

Here, CH4 is connected directly to the DAC output via a 10:1 probe. The black things on the scope inputs are 50 Ohm termination, so the CH2 and CH3 signals having only half the amplitude of CH4 is expected. All channels are DC coupled.
I'm writing to the DAC using the DHR12L1/2 registers (using the STM32Cube HAL):
uint16_t value = (uint16_t) (ltbDacSinLut(ltb_dac_ch1_counter_) ^ 0x8000) & 0xFFF0;
HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_L, (uint32_t)value);where ltbDacSinLut returns values in the range of [-32768, 32767].

Dividing the value by 2 before writing to the DAC results in undistorted SIN / COS output, but of course the output swing is then limited to ~1.6 V.
