Electronics > Projects, Designs, and Technical Stuff

Signal Generator - Senior Project

(1/2) > >>

Hey all! Been floating around this site for a while, and I figured I'd throw up my senior project to the vultures for some review.

I'm in charge of building a pseudo analog front end breakout board (sub 1 MHz). I don't know much about board design, and I'm limited in resources to just a little more than a hobbyist's tool set. My components are already ordered, and I've laid out a few boards... but I'm not happy with the engineering process. I seemed to pick the components fairly arbitrarily, the schematic was designed from the application notes, and I don't know much about analog board design. I have the feeling what I've got will get the job done, but I'd like to know what I could do better.

[background info]
The project is to design and implement a Signal Generator. For example, you feed in an audio waveform (below 20 kHz), and it will output an AM waveform. One button press? FM! Or perhaps, you can send it a series of pulses, and it generates QPSK. In use, the professor wants to use it as a teaching aide to illustrate signals in real time. He'll probably be looking for textbook examples, ie: DSB-AM + a sinusoidal modulating wave. He set the upper limit for the carrier frequencies (in most cases) to about 100 kHz, as he didn't want us to flounder with RF issues. We're going to see what we can accomplish though...

At the heart of the device is an FPGA (Spartan 3E), which does all the signal processing. We're using the starter kit that Xilinx makes. If we have time, we'll try to buy the breakout board from SparkFun and make a nice package -- but we have plenty to keep our hands full at the moment. I'm not fluent in verilog, but of my group I understand the most about analog design (that's not saying much...). I've read a few articles, and it seems that it boils down to decouple your devices and have uninterrupted ground planes beneath your analog signals.

[part selection]
Most of the parts were selected by a group member. He's left now, but I got a little bullied into choosing parts. I'm not entirely sure of his design choices, but I'll work with them unless I can get something better. Initially, we were considering purchasing analog front end ICs, but they seemed to have very dense board footprints, and our professor told us not to do that.

For the DACs, we selected the THS5461A. We picked it because it had a parallel data interface, we could run off of 3 V or 5 V, it could drive a 50 Ohm load out of the box, and one pin would let you choose between straight binary and two's compliment. I remember reading the datasheet pretty throughly, but I seemed to miss that it was intended for generating video signals. Also, 100 MSPS seems too high, when you consider that we'll be running it at about 400 - 500 kHz.

The ADC got rushed. We picked the AD9283, but I worry we'll have some problems with it. For one, it was designed to run at 1 MSPS or greater. Also, the input is limited to 1 V peak to peak. Right now I'm just using a diode clipper to protect it... but I have the feeling I'll need an opamp later down the road. It only runs at 3 V, so it kind of undo's the DAC's ability to run at 5 V. It only works with straight binary too. At this point, two out of the four features are pointless now, which makes me wonder if I should just ditch the components and select something more appropriate.

As for capacitors and passive components, I don't have much to say. I picked some tantalium capacitors off of Mouser to do the heavy work (4.7 uF and 10 uF), and a bunch of 0.1 uF ceramic X7R caps. I'd read a little about self resonant frequencies and effective series resistance, but I still don't exactly know what I was doing with that. I picked parts that Mouser had in high quantity and low price, figuring thats what everyone else was using.

I bought a 4.7 uH inductor to clean the power nicely, but I made a mistake and bought one intended for signals. Whoop. If I can put through another order, I'll buy a different one...

[board design]
The designs didn't seem to have much to them -- just decoupling capacitors, and 50 Ohm terminated differential current lines. Since I didn't have a transformer to do it properly, I just tied a 49.9 Ohm resistor to ground on one input, and put the differential line to ground through a 25 Ohm resistor. I'd read some articles about split analog and digital planes, but another instructor advised against it for the time being. For now I've taken his advice, but if I make another revision I'd consider it.

Unfortunately, the DACs had a very frustrating decoupling design. Two capacitors directly crossed the current output lines! I can't do multi layer boards! Arrg! I've put a via beneath the IC to decouple one pin, but I worry I'm getting too close to the clock line. These will be "fake" vias--I'll probably fill them with a solder bubble, or put a tiny pin through it to complete the circuit.

Initially I had some fat power lines, but I changed my mind after reading SparkFun's design guidelines. They didn't start using fat traces until they were supplying more than 200 mA, and my ICs shouldn't take that much.

The pin headers near the DACs are to select the aforementioned mode. A 10k resistor pulls the pin to VCC, and the jumper pulls it to ground.

I'm going to try and etch this board tomorrow... I'm not quite sure if it'll come through ok. The smallest traces I have are 10-15 mils, and they're starting to get pretty close, especially near the ADC. I'll post the result online for you all to see once it's done!

OH. The large 2x40 and 16 pin headers are what I'm plugging into. Agilent makes a daughter board for the Spartan 3E, and I'm plugging into that. http://www.digilentinc.com/Products/Detail.cfm?Prod=FX2BB. I nabbed a caliper and measured the offsets to make sure I have the placement right. A quick print off confirmed I've got placement right!

I'd love to hear from you folk, what you think of the design. The way class is moving right now, I don't know if I'll have time to make too many changes... but analog design seems to be a bit of a mystery to me. If you have any questions, I can talk more--though I feel I've already talked your ear off. Any comments would be welcomed!

Top Schematic:
--- End quote ---

Bottom Schematic:
--- End quote ---

Illustrated Overview:
--- End quote ---

Illustrated Closeup:
--- End quote ---

Kinda long...

I think everything looks fine. You could position the bottom-side decoupling cap vertical if you're worried about it being close to the clock on the other layer but it shouldn't really matter for that little bit. Also I'd advise filling the top layer with VCC so that you have low impedance power traces everywhere. C13 doesn't have a thick trace like C16 does for example. But it probably won't make much of a difference since it's not that high speed.

You can position the ground vias much closer to the capacitor pads. Ideally you'd have it touching the pad. This minimizes inductance which is your enemy at high frequencies. But again, it probably won't matter that much for this. C6 for example.

Make sure each decoupling cap has its own ground via very close. C9 shares with C23/C22 very far away, which is definitely bad especially since it's for the ADC. C8 and C7 are also sharing a via. Inductance is proportional to the length of the trace and only proportional to 1/sqrt(width) so having a long connection, even if wide, to ground basically nullifies the decoupling effect at high frequency.

So, if you're getting vias for free you might as well just sprinkle them throughout your board.

Also if you don't know what you're doing, the series inductor can seriously screw with the power rails to everything so only use it if you actually see a problem. It forms an RLC circuit which can resonate badly if you're unlucky. If you simulate your power distribution network (C+L+current source step) in SPICE, you'll see what I mean.

As mentioned above, get used to putting lots of vias in, especially in systems that work at RF frequencies. A few other general comments;

I don't like components placed at 45 degrees, they always look like a bit of an afterthought. The exception is if it is the big main CPU and it creates easier access to all the pins.

Try not to run analogue output lines close to any others if you can avoid it. There is a possibility you will induce an RF signal in the data/control wires, causing a variety of problems.

The components above the DACs look really squashed in. Move the connector and ICs down slightly. The LED drive lines will easily squash up a bit. That should leave you with a bit more breathing space for the passives.

Don't worry about the inductor. Use a cheap ferrite bead as a choke in that location, or just use a 0R resistor to jump it out.


Hey guys, thanks for the great comments. I fabbed the board last Friday and started to lay down the components. The boards came out well--but not perfect. I'll be making more. Here's a link to some pictures! The 14 mil traces came out great, but I ate away too much of my ground plane. D'oh!


A few thing's I've learned:

 - My pads are too small for "homebrew" drilling. I've increased the padsize so I don't tear them off.
 - Carbide PCB drill bits are essential. Long headers? A mill is also essential. (Thank you engineering buddy!)
 - Vias suck if you can't plate them! Right now I'm sticking a wire through, soldering, and praying for the best. Doesn't work too well for the ones under the board!
 - Place the ICs LAAAST. Do everything else first. Otherwise you end up with that embarassing missing IC with ripped up pads.

I've taken allanw's and Zad's advice for the next revision. All my capacitors have been pushed in closer, I've given each their own via to ground (with one or two exceptions). I'm making the next revision this Friday, and I'll throw up a few pictures when it comes out. Until then, more questions!

1. Should I put a ground plane on top, or a power plane? I've heard a power plane forms a capacitor with the ground plane, and helps smooth power... but a ground plane will eat stray RF?

2. The DAC and ADC are differential outputs. I've understood that differential outputs are meant to run together to help reject RF. Though I'm only using single ended output, I can run the minus trace out along the plus trace. Should I do that, or just terminate it to ground fast?


--- Quote from: ruku on March 01, 2011, 06:27:38 pm ---2. The DAC and ADC are differential outputs. I've understood that differential outputs are meant to run together to help reject RF. Though I'm only using single ended output, I can run the minus trace out along the plus trace. Should I do that, or just terminate it to ground fast?

--- End quote ---

The only purpose of running differential traces next to each other is try to couple any noise equally on both lines. At the receiver this common-mode noise gets canceled out. I believe on PCB's the amount of coupling you can get is only 60% or something, unlike real twisted pair.

If you don't have a differential receiver there's no purpose in doing this so you might as well just ground the one output pin early.


[0] Message Index

[#] Next page

There was an error while thanking
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod