I have two sources to generate a ramp signal to drive a voltage controlled oscillator.

Source one is DAC of the STM32H743 and the second one is RF Synthesizer ADF4158's charge pump output.

RF Synthesizer is better solution for ramp generation. Because of that i simply added 0 ohm resistors to select the desired source physically. However now I want to add more software selectable solution for using DAC as well without soldering components.

VCO's range is 0 to 10V. ADF4158 generates 0 to 5V ramp so op-amp gain is set to 2. However STM32H743 DAC is 0 to 3.3V and the gain also must be set to 3 when DAC is selected.

  1. I need to change the gain of op-amp. (I will use a digital pot for gain selection if no other way is suggested here.)

  2. I want to be able to change ramp source between RF Synthesizer and DAC by using MCU software.

What is the correct and simple way of doing this without affecting the circuit behaviour?



1 Answer 1


There's no one correct way, the best way may depend on other unstated things, but here are a couple methods:

  1. Add another op-amp and add an analog multiplexer between the two op-amp outputs and the resistor to the VCO.

  2. Set the op-amp gain to 3 and divide down the 0-5V output of the AF4158 to 0~3.3V. Put an analog multiplexer between the two 0~3.3V sources.

  3. Change the gain of the op-amp by switching the feedback resistors, and don't divide the AF4158 output, but retain the analog multiplexer.

For 2. and 3. you could use a 74HC4052 for the multiplexer(s), which is inexpensive and will operate well from a 5V supply. It's a dual so you would need only one component to both change the gain and change the source for the op-amp. For 1. you would need a different kind of multiplexer because of the 10V requirement. Note that the control voltage would be 0/5V not 0/3.3V with this part.

I think I would pick 2. or 3.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.