PCB Testing after Design

Hi,

I'm a newbie when it comes to hardware design. I have a little bit of exper ience with PCB design and made a couple of small circuits for learning purp oses. I need to test out this new PCB designed by another person and its ki nd of a complicated board with a ton of components on it. It consists of an ADC and an FPGA and other components that go along with it. It's really si milar to

formatting link
and was based off that design. Th e board was incomplete and I managed to solder what was left to be done wit h a lot of help :P However, I have little to no experience on how to test it out. I don't just want to power it and have it burn out or anything. Are there any guidelines I can use in order to test the board and the componen ts on it ? Do I test the FPGA separately first ? Would it be possible to ju st test the ADC separately ? I know they are lot of questions, but I'd appr eciate any help with it. Thanks!

Reply to
syed.huq.a
Loading thread data ...

erience with PCB design and made a couple of small circuits for learning pu rposes. I need to test out this new PCB designed by another person and its kind of a complicated board with a ton of components on it. It consists of an ADC and an FPGA and other components that go along with it. It's really similar to

formatting link
and was based off that design. The board was incomplete and I managed to solder what was left to be done w ith a lot of help :P However, I have little to no experience on how to tes t it out. I don't just want to power it and have it burn out or anything. A re there any guidelines I can use in order to test the board and the compon ents on it ? Do I test the FPGA separately first ? Would it be possible to just test the ADC separately ? I know they are lot of questions, but I'd ap preciate any help with it. Thanks!

Wow, I looks like you've been thrown into the deep end. Where is the pers on who designed it? Is there anyone where you work who can help? Has the FPGA been programmed? The last thing you want to do is burn up thousand of dollars of electronics.

George H.

Reply to
George Herold

Yep. The person who designed the board left but its my project now and I'm expected to handle it. And no, I don't believe there is anyone else who's e ver worked on such a design or debugged it before.

The board is a little short of being completed, so the FPGA hasn't been pow ered on yet. I think my first task would be to look at the board under a mi croscope to check for shorts and check for impedance levels on the ICs to v erify that there are no shorts. The board does have JTAG so I could use tha t to configure the FPGA and test it out with a simple enough code to light up some LEDs to check that.

The power supply isn't a s> >

xperience with PCB design and made a couple of small circuits for learning purposes. I need to test out this new PCB designed by another person and it s kind of a complicated board with a ton of components on it. It consists o f an ADC and an FPGA and other components that go along with it. It's reall y similar to

formatting link
and was based off that design . The board was incomplete and I managed to solder what was left to be done with a lot of help :P However, I have little to no experience on how to t est it out. I don't just want to power it and have it burn out or anything. Are there any guidelines I can use in order to test the board and the comp onents on it ? Do I test the FPGA separately first ? Would it be possible t o just test the ADC separately ? I know they are lot of questions, but I'd appreciate any help with it. Thanks!

rson who designed it? Is there anyone where you work who can help? Has th e FPGA been programmed? The last thing you want to do is burn up thousand of dollars of electronics.

Reply to
Syed Huq

First, make sure you understand the board design thoroughly.

Second, if you can, test the board in stages: first make sure the power supplies come up within limits (and in the proper sequence, if any of the other chips on the board requires that), then attach one sub-section, then the next, then the next.

For a complex board that's controlled by an FPGA or microprocessor, it's a really good idea to make test code that just tests the hardware. Not only is this good for bringing up the board, but it's handy for servicing and production, too.

The FPGA, by itself, should just work. If you mean the FPGA firmware, then that's going to be hand to test in isolation. Normally that sort of thing also gets brought up in stages: first you test the ADC interface, then the memory interface (if external memory), then you test that the low-level internals work, etc.

It's not a trivial job.

--
Tim Wescott 
Control system and signal processing consulting 
 Click to see the full signature
Reply to
Tim Wescott

The place that made the PC board *probably* did some basic tests to make sure that the finished bare board matched the specification they were given - basically they make sure that traces that should be connected, are, and traces that shouldn't be connected, aren't. You can ask the PC board factory if you're not sure.

This one won't help much now, but: another "bare board" test is to ground all the ground traces, apply the correct voltage (from an external power supply) to all the voltage traces, and see if anything fries.

Another one that won't help much now: in smaller projects, one technique is/was to install everything on the PC board *except* the integrated circuits, and then power on the board. You can then measure the voltage at each future IC location to see if it is in the right range. If all is OK, you power down, install the ICs, sigh deeply, and power up again.

Your idea of powering parts of the board separately *may* work, BUT: some chips that have multiple power supplies don't like it if the power supplies turn on in the wrong order, or if one is missing altogether. "Don't like it" can mean everything from "doesn't work now, but if you get all the supplies correct later, it will work fine" to "burns up".

In systems like yours, it is sort of common to include a "power supervisor" chip, which looks at all the power supplies - either external or generated on the board - and gives a single "power OK" output when all the voltages are present and in the right range. The "power OK" output from the power supervisor chip is wired to a dedicated "is power OK?" pin on the expensive chips, or maybe to a generic "enable" or "chip select" pin on the expensive chips. This means that you are less likely to mess something up if you only provide one power supply voltage at a time, or are trying to power only part of the circuit. It's not a 100% guarantee, though.

Probably the entire board needs one or two DC voltages from an external power supply, like 5 V and 3.3 V, or 3.3 V and 1.8 V, or something like that. You should use a power supply that has adjustable current limiting for this. Set the current limit to what you think the board will need before powering on the first time. If the board comes up and runs, great! If the power supply goes into current limiting, you might switch it off, increase the current limit 5 or 10%, and try again. Don't increase the current limit *too* much over what you thought the board would take, though.

Once the board is powered up, a real simple test is to put your fingertip on each IC. If there are a couple of big switching transistors in the power supply, put your finger on those, too. No, I'm not kidding. Wear a wrist strap and avoid touching the pins of the ICs - just touch the plastic package. Some of them will normally run warmer than others, but if you can't stand to hold your finger on a chip a few seconds after it's powered up, then something is probably wrong - turn off the power and investigate.

It kind of depends on the exact design, but a lot of modern ADCs don't just come up and run when you apply power - they expect to have some configuration loaded into themselves from somewhere. (Or, they will come up and run, but in some default mode that won't work with the way the rest of your circuit works.) On your board, "somewhere" might be the FPGA, or it might be a small supervisory CPU that sets everything up. You would need to at least program the FPGA/CPU to do a basic setup of the ADCs before you could test them.

When I was writing software for a board that had a fairly complex CPU/ ADC/FPGA setup, the board design people had special firmware that they loaded on the CPU right after they had soldered the board together. This firmware initialized all the chips and loaded a special "test only" setup into the FPGA. The board wouldn't do its intended job in this condition; all it was good for was testing. They could apply different inputs to the board and (for example) look at the ADC values - either on a serial console or via JTAG, I think. They could command the FPGA or CPU to set the board outputs in a certain way, and then measure the outputs to make sure they were doing the right thing. Once I got the board, I loaded the "normal" firmware on it, and then it would do its intended job.

Matt Roberds

Reply to
mroberds

I've taken off my fingerprints with that test.

First tap. Then tap slowly. Then actually touch. If something is really, really wrong, having a blister on your fingertip will only compound your sorrow.

--
Tim Wescott 
Wescott Design Services 
 Click to see the full signature
Reply to
Tim Wescott

Why such destructive testing?

Turn down the PSU current limit to very low and check the voltages at key points while winding up the current slowly. Keep a constant check on component temperatures and stop when any get too warm and investigate why.

Apply specified voltage at limited current first. Allow current limit increase slowly and ensure it remains within spec. [%X]

--
******************************************************************** 
Paul E. Bennett IEng MIET..... 
 Click to see the full signature
Reply to
Paul E Bennett

That works unless there are sequencing requirements - common for FPGA sorts of parts. I do try to have the power supplies sequence properly and in a controlled way, whether it be done in hardware or under micro control. I can then hold off different sections until I'm sure the rest checks out OK.

The current limiting trick works well for very simple power systems but if there are strict sequencing requirements you could blow an expensive FPGA. Many switching regulators don't like this, either.

Reply to
krw

Makes a future life of crime easier, though...

Good point.

Matt Roberds

Reply to
mroberds

Yes, FPGAs should "just work", but getting them configured is not always falling off a log, especially if an MCU is in the loop and needs code. There are many ways to skin that cat so hopefully there are design notes on how the FPGA was intended to work.

Not if it isn't your board. In essence this board needs either a fully functional operating download or it needs some test code for the FPGA and any other programmable components.

--

Rick
Reply to
rickman

It might seem a bit weird but I find using my nose & sniffing over a board is a good way to find overly warm components, followed by fingers.

Reply to
DTJ

The human upper lip has infrared receptors, like a rattlesnake's but not as sensitive. You can easily detect a hand being waved in front of your mouth with your eyes closed. The back of the hand is pretty good too.

Cheers

Phil Hobbs

--
Dr Philip C D Hobbs 
Principal Consultant 
 Click to see the full signature
Reply to
Phil Hobbs

Reply to
Syed Huq

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.