Design Article

Comment


Max the Magnificent

4/1/2012 12:26 PM EDT

At the end of the very first sentence it says "...to test a Printed Circuit ...

More...



t.alex

4/1/2012 4:42 AM EDT

Is this for board level testing?

More...

How to build a microcontroller-based functional tester

Clive Maxfield

1/17/2012 5:35 PM EST

I just heard from my associate Martin Rowe, Senior Technical Editor at Test and Measurement World, about an article on how to build a microcontroller-based functional tester for less than $500 (plus the cost of any external instruments) to test a Printed Circuit Board (PCB).

Click Here to see the full article.

Actually, this is of particular interest to me, because my second job after I’d received my degree was at a small start-up company called Cirrus Designs based in Manchester, England. I joined Cirrus Designs in the summer of 1981. I was the sixth employee and I arrived the day after the desks and chairs, so the other guys said I was a lucky ******* (person).

Although we each had our own keyboard and monitor, we all shared a single PDP 11/23 computer. The removable hard disk drive associated with this machine was the size of a wedding cake and it was mounted in a cabinet the size of a washing machine. This hard disk, which was shared by all of the employees, had a whopping 1 megabyte capacity. It also supported only a single directory / folder, so everyone’s files were jumbled up together. The file-naming standard was 8.3 (eight characters for the file name and three for the extension), so the first letter of the file name was used to distinguish the owner (‘M’ for yours truly).

The main service provided by Cirrus Designs in the early years (circa 1981 to 1984) was to write functional test programs for circuit boards designed by other companies. These programs were developed using GenRad’s 2225 testers, into which one plugged the board to be tested.

A test program consisted of driving a pattern of logic 0s and logic 1s into the board’s inputs, waiting for their effect to propagate through the board, and checking that the corresponding pattern of logic 0s and logic 1s on the board’s outputs matched an expected response. If the board contained register elements or memory devices, then you would have to clock a series of test patterns into the board’s inputs before results started to appear at the outputs. Each pattern applied to the inputs was called a test vector, and a test program could consist of thousands (or tens of thousands) of such vectors.

Just to add to the fun and frivolity, a company who engaged us to write a test program would send us a Known Good Board (it usually wasn’t) along with a schematic that was guaranteed to be the same revision as the board (once again, it usually wasn’t). As you can imagine, this resulted in much gnashing of teeth and rending of garb…

Once you had created your test program, you executed it while applying a fault to the board (such as shorting a device’s output pin to ground) in order to ensure that the program could detect and resolve the fault, and you repeated this for every possible fault that could occur on the board. Thus, in addition to reverse-engineering someone else’s logic (which is an educational experience in itself), you also discovered portions of the design that were effectively untestable, and you did this to boards designed for myriad applications by different engineers in diverse companies using widely different design styles.

This may sound incredibly boring, but it was actually quite a lot of fun, and I firmly believe that it was the best training in digital logic one could hope to receive.

I tell you, I could waffle on about this stuff for hours (the real trick is to get me to stop :-)


If you found this article to be interest, visit Microcontroller / MCU Designline where – in addition to my blogs on all sorts of "stuff" (also check out my Max's Cool Beans blog) – you will find the latest and greatest design, technology, product, and news articles with regard to all aspects of designing and using microcontrollers.

Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).




t.alex

4/1/2012 4:42 AM EDT

Is this for board level testing?

Sign in to Reply



Max the Magnificent

4/1/2012 12:26 PM EDT

At the end of the very first sentence it says "...to test a Printed Circuit Board (PCB)."

This is what we might call a clue (grin)

Sign in to Reply



Please sign in to post comment

Navigate to related information

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)