Electronics > Projects, Designs, and Technical Stuff

Circuit review: Fast DAC driver / pulse generator for 50 ohm loads

<< < (3/4) > >>

Terry Bites:
I'd update this https://www.vk5tm.com/homebrew/dds/dds.php

Hi again everyone!

I have now laid out the PCB to the best of my ability. I am bit blind here, so I surely must have fallen into plenty of traps. I have tried to keep components close, and traces short. Since I will be hand soldering this, I have also given myself some clearance for the soldering iron. I poured the bottom layer solid and connected to ground, and after routing the top layer I poured a polygon connected to ground. My idea was to use vias whenever I needed to ground anything, and my thinking here was to have a solid connection to ground.

For power traces, I have used 0.5mm, and for signal traces 0.3mm.

Attached are screencaps from the EDA, showing the top layer, bottom layer and 3D views of the board.

What I am unsure about is:

* Are the capacitors appropriately placed? I was trying to keep them close to the IC pins.
* Is the board adequately grounded?
* I have a hunch that the feedback net is a bit long here. Would you consider it to be the case?

* Altium is complaining about silk screen clearance in the DRC, but I cannot find any design rule on the board house's website (Aisler). What would be a typical value here?
I'm very excited to send this for manufacturing, but I realize that with today's IC shortage I need to source the parts first to be certain that I can actually assemble it.

Edit: Attached revised schematic
Edit 2: I realize I forgot mounting holes. My plan is to use M3 spacers as standoffs to offload the PCB header.

Finally the components and the PCB has arrived and I have started assembling them. Of course, Murphy's law applied here too, and I had forgotten a via that i moved last-minute to make space for test pads. Ah well, yet another thing to fix in rev 2 of the board.

I messed up ~CS too as I forgot it was SPI, but cutting the trace and soldering bodge wires both for the aforementioned GND-via for the digital switch, and for ~CS and ~LOAD of the DAC makes the DAC+switch work in isolation.

First, I am driving the board with an Arduino to test it, and it is powered from the 5V rail (the end use case is for 3V3-boards, but since all components support VCC of 5V, this was the simplest way to test it). The first attached scope capture shows a ramp from the DAC in coarse steps, demonstrating that it indeed works.

Now I have run in to an issue with the op-amp oscillating (I believe this is the case). For low (s.t. the output is not saturated) input voltages, the amplifier is extremely noisy and oscillates at around 70 MHz (see FFT). This happens regardless of whether I toggle the switch or not, and if the switch is grounded so that the input to the op amp is grounded, I still have noise. I have attached a capture where I alternate between toggling the output and zeroing it.

The solder blobs below C4 and between U2 and U3 are test pads which where I have soldered enamel wire to be able to probe the output of the DAC and the switch, respectively.


* I really don't have a clue what could be the issue here. I have tried to populate/unpopulate both C4 and C8, without any luck.
* Do you believe it is as simple as poor board design? I suspect that might be part of the issue.
In all oscilloscope captures, CH1 is the output of the digital switch, and CH2 is the output of the amplifier, currently unterminated (i.e. no 50 ohm in parallel).

Don't despair too much, hardware bringup is a crucial part of the design process!

Beyond checking if all your footprints are correct I suspect your issue is related to the amplifier. Can you first disconnect the DAC and feed a fixed signal into the amplifier with a bypassed resistive divider off the supply rails or something?

First to check would be if your supply rails are clean and if the amplifier is somehow amplifying noise from the supply rails. Scope out VDD to GND and VSS to ground and see if there is any noise. It might help if you can saturate the amplifier so its output is not oscillating, as if it is oscillating independent from the supply rails it could couple noise into them.

More likely an issue is your feedback network. It's a control theory problem, the loop gain is determined by the gain/phase of the amplifier and the feedback network. If the phase shift of the two is 180 degrees or greater when the gain is 1 the system will oscillate. At the unity gain the phase shift of the amplifier itself is typically a bit more than 90 degrees so added external phase shift can bring it close to oscillation.

Two things can cause issues with this that you can check:

A capacitive load on the output can add a phase shift to the amplifier and make it unstable. Are you testing with a coax cable connected but no load? A short coax cable at these frequencies is going to be a capacitor and might make the amplifier oscillate.

The second issue could be with your feedback network. If you have excessive stray capacitance between the feedback node and ground that is going to add phase shift and could make the amplifier oscillate. This could be cause by poor layout on the feedback node causing excessive capacitance. Also, make sure not to connect any scope probes to the feedback pin.

Your opamp is a current feedback amplifier, which is a bit different than a normal voltage feedback opamp, but if you increase the value of the feedback resistors while keeping the ratio the same the phase margin should increase and the amplifier may stop oscillating if this is the issue. Take a look at this app note: https://www.analog.com/en/design-notes/current-feedback-amplifier.html

Thank you very much Weston! You have given me a lot more ideas on what to try once I’m back in the lab tomorrow.

I noticed some changes in the output signal of the amplifier’s output when I probed the output of the switch, which must have been caused by the probe’s capacitance.

Another thing I saw was that the oscillations were present at the op amps input, which seemed odd, since they should be on the negative input, not the positive, but I will read through the app note thoroughly. After skimming through it, I’m starting to realize why the values of the feedback resistor divider are relatively low, like an order of magnitude lower than I’ve used for regular amps, and why I previously just couldn’t use the AD8009 as a drop-in replacement.

Yeah the output was measured using regular coax, actually both with and without a 50-ohm termination on a T connector at the DUT end of the signal path. I was afraid drawing that much current when oscillating  close to the upper rail could have killed the op-amp, so I made a judgement call here to proceed without a load while risking reflections. 

Definitely the next step is to try to isolate the amplifier and to get it working properly. Actually I soldered the DAC first and tested that plus the switch in isolation, and only after that worked I proceeded with the amplifier, which I thought would be the easiest part, hah. A Bode plot for that subcircuit would be the next thing to measure.

The feedback net is what I was the most unsure about. For bread-/perfboard stuff it has kinda always worked for me by just winging it, in particular for slower stuff like buffering DACs using whatever “slow” voltage feedback amp I had in my drawer. Although I’m starting to realize it’s time to bring out my BP Lathi book here and do it properly.


[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Go to full version