|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
April 24, 1997 Single chip brings built-in test to analog designsVincent J Spataro, GEC Marconi Hazeltine Corp Traditional built-in test techniques for analog systems require considerable board space and I/O lines. You can now add those techniques with a single IC. The software listings in this article are available on EDN's Web site, www.ednmag.com, in the registered-user section, Listings adc0858.cpp and pport.cpp. As electronic systems be-come increasingly complex, the need to provide fast, accurate, low-cost fault isolation becomes critical. Designers need to include built-in-test (BIT) circuitry to ease the burden on the repair technician and reduce the product's mean time to repair (MTTR). BIT circuitry can isolate circuit faults down to functional groups of parts or sometimes to a single component. In the digital domain, you can, to a large degree, perform BIT in software. For analog designs, unfortunately, the problem of providing BIT is much more complex. Analog BIT traditionally requires substantial circuitry and a large number of I/O lines to obtain useful data. Typically, analog signals monitored for BIT applications lie within narrow windows when the circuit operates normally. Such signals need two comparators, several passive components, and two I/O lines for proper monitoring. This complexity results in high cost and a large allocation of circuit-board area for BIT functions. To reduce circuit complexity and the number of I/O lines necessary, designers often logic-OR BIT information together. A so-called "summary BIT" results, along with the loss of useful information. If a circuit designer put together a list of features for the ideal analog BIT, it might include
These goals are difficult to meet using traditional analog-BIT methods. The complexity that the circuit requires to implement all the desired functions conflicts with the need for low cost and small size. Designers usually have to compromise, including as much functionality as can be supported within the limits of board area and monetary constraints. Chip helps analog BIT Surprisingly, however, one commercially available chip meets all these requirements: the National Semiconductor (Santa Clara, CA) ADC0858. The ADC0858 is a 20-pin, 8-bit analog data-acquisition and -monitoring system. (See box, "The ADC0858: a closer look") Although not specifically designed for BIT, the ADC0858 can be successful in that application. It can monitor eight separate analog inputs and determine whether these inputs are inside or outside user-preprogrammed limits. The ADC0858 requires few external components and only five I/O lines to perform upper and lower limit comparisons on its eight channels. Compare this number with at least 16 I/O lines and a good deal of associated circuitry to implement this function using a traditional comparator approach. The ADC0858 needs a host processor for setup and control, but monitoring takes place independently of the host processor or PC. This "watchdog" mode of operation frees the host processor from the need to continually interrogate BIT. When the ADC0858 detects that a signal is outside its limits, the device flags the host processor. The processor can then interrogate the chip to determine which signals are outside their respective windows. The processor can also read the voltage at any channel. You can use several approaches to configure a system using the ADC0858 to provide BIT. In systems that employ a microcontroller, the controller programs the ADC0858 at start-up and then waits for it to generate an interrupt. BIT is continuous and "online." Systems without a microcontroller can employ one summary BIT to flag a bad circuit card. When the repair technician removes the board for repair, he can use a PC to interrogate the ADC0858 and determine the cause of failure. Even circuit boards that connect to a host microcontroller in the assembled unit can connect to a PC at the repair depot to provide additional testing versatility. To successfully implement analog BIT, it is important to understand the ADC0858's limitations. For example, a principal source of error in the ADC0858 is the 3-µA leakage current of its multiplexer input line. For a 1-kilohms input resistor, this leakage results in a 3-mV voltage drop, which reduces the measured signal voltage. If you use capacitive filtering at the input pins of the A/D converter, you should keep the source impedance below 1 kilohms. Another error results from the A/D converter's sampling function. At the rising and falling oscillator clock edges, spikes of current enter the "+" input line and exit the "" input line. With low input-signal source impedances, these spikes quickly decay and settle out before the A/D conversion begins. For high impedances, however, the transients may not completely settle and may affect the desired signal. You should cautiously undertake monitoring signals with impedances greater than 1 kilohms. Under typical operating conditions, the ADC0858's total unadjusted error is approximately ±0.2 LSB for source impedances less than 2 kilohms. If you can sacrifice accuracy, you may be able to tolerate a higher impedance. If you must accurately monitor a high-impedance point, consider buffering the point with a voltage follower. Applications that monitor low-impedance points are thus less likely to introduce measurement errors in the ADC0858. Some good applications for the chip include monitoring input and output supply voltages; active- or passive-filter, comparator, and operational-amplifier outputs; voltage references; oscillator outputs (with appropriate filtering); and battery voltages. Points such as high-impedance operational-amplifier inputs, RF circuits, inputs to oscillators and VCOs, and noisy low-level signals are poor monitoring candidates. Another concern with using the ADC0858 in BIT is that the input voltages to be monitored may exceed the device's safe input-signal range (VCC to GND). For example, the chip may monitor the output of an operational amplifier that has a voltage swing between the power rails of ±15V. During normal operating conditions, this output may sit between the positive and negative rails and may not pose a problem. However, during start-up or shutdown, the output may swing to either rail, damaging the ADC0858. To prevent such damage, you need to protect the ADC0858's input lines. You would typically use two clamp diodes, one that clamps excessive positive voltages to VCC and another that clamps negative voltage swings to ground. Reference 1 describes a circuit that protects the ADC0858. Consider clock timing Another design aspect that requires care is the ADC0858's digital-signal-timing requirements. Signals such as CS, CLK, and DI are likely to run at high frequency if they originate from a microcontroller. If these signals originate from a PC, they are likely to be quite slow because they are software-controlled. Although the ADC0858 can support slow data, the rising and falling edges must be clean. A Schmitt trigger buffer at these inputs guarantees clean waveform edges. When designing the ADC0858 into a BIT circuit, it is important to separate analog and digital grounds. You also need to decouple VCC to digital ground and VREF to analog ground. A 10-µF solid tantalum capacitor in parallel with a 0.1-µF ceramic capacitor work well at each location. To minimize the interaction of the BIT circuitry with the circuit card under test, choose only low-impedance points to monitor, employ proper grounding and decoupling techniques, keep sensitive circuitry away from the ADC0858's 1-MHz clock, and keep all runs as short as possible to reduce stray signal pickup. Circuit aids software development
In the actual application, fixed resistor dividers replace the development circuit's potentiometers. The only other components that are necessary on the circuit card under test are the data-acquisition chip itself, RC network R3 and C6, and the analog and digital decoupling capacitors. The development circuit is designed to connect to the parallel port of an IBM-compatible PC for setup and control. (See box, "Using the PC parallel port.") IC3 and IC4 are Schmitt trigger inverters that buffer the PC parallel port and also square up the input pulses, which could be relatively slow. The one-shot, IC2, produces a pulse that changes the ADC0858's operating mode. Although the PC could generate this pulse, the pulse has specific timing requirements and would require careful control by the PC. Using a one-shot makes the pulse independent of any PC clock-speed variations. Using a PC eases programming of the ADC0858. You can program in Basic, Pascal, or C. The program adc0858.cpp is written in Borland Turbo C++, V3.0 (Listing 1, pg 138). To remain ANSI C-compatible, the program uses no C++ features. It allows the user to program eight analog channels (CH0 to CH7) with upper and lower BIT-window limits. After entering the watchdog mode, the ADC0858 flags the PC when a signal crosses its limit.
BIT checks power supply
You should choose BIT-monitoring points that partition the circuit into functional groups. The input line and all output voltages are obvious choices. You can use additional test points to isolate the input-filter circuitry. You should also monitor the control circuit to isolate its function from the power section. Circuit reference voltages and feedback points are also good candidates to monitor. All signals should be low-impedance compared with the input impedance of the ADC0858. The signals monitored in this example are
You can use the development circuit to directly monitor each of the eight test points listed by replacing the potentiometers with fixed resistor dividers to scale each signal to an appropriate level. You also need to program the ADC0858's limit windows appropriately. Note that CH5 employs an RC circuit as an integrator. The integrator converts the PWM's rectangular pulse into a filtered dc level that the ADC0858 can monitor. The RC time constant chosen produces a dc level with small ripple at the PWM's operating frequency. The BIT window limits should correspond to the dc levels that represent the minimum and maximum PWM duty cycle expected in normal operation. Choose test points for fault isolation To use this circuit for fault isolation, you need to evaluate the various possible combinations of test-point failures. Consider, for example, a case in which all channels except CH4 register within limits. The error on CH4 would lead you to suspect the linear regulator. If say, CH0, CH1, CH5, and CH6 are all within limits, but CH2, CH3, CH4, and CH7 are out of tolerance, then the switching transistor is suspect. If only CH0 is within tolerance, the input filter is probably the culprit. Thus, if you have carefully chosen the test points, the BIT can quickly point a repair technician to the faulty components. With ICs such as the ADC0858, low-cost but effective analog BIT is possible for many circuit applications. Both connecting to and programming the ADC0858 are relatively simple tasks, using either a microcontroller or a host PC. The keys to successful analog BIT then become proper selection of test points and control of test-point electrical characteristics. Cost and footprint are no longer issues.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| EDN Access | Feedback | Table of Contents | |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 1997 EDN Magazine, EDN Access. EDN is a registered trademark of Reed Properties Inc, used under license. EDN is published by Cahners Publishing Company, a unit of Reed Elsevier Inc. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||