Here is a simple alternative to a nonvolatile gating function you typically implement using programmable-array logic, gate-array logic, or a complex-programmable-logic device.
This design idea presents a simple alternative to a nonvolatile gating function you typically implement using PAL (programmable-array logic), GAL (gate-array logic), or a CPLD (complex-programmable-logic device). To gate a logic signal to block or transmit it, you usually employ a logic gate, such as an AND gate, and use the gate's second input to define whether the gate blocks or transmits the applied signal. Because logic gates perform immediate Boolean operations, their operations are combinational and without memory.
However, if you must program a gate that should always either block or transmit the signal after system start-up, you must store the "transmit/block" logic state in some form of nonvolatile memory. Two basic methods are available for storing such logic states. The first involves using a microcontroller in combination with nonvolatile memory, such as EEPROM. This method is suitable if the system can wait until the microcontroller reads the logic state from memory and applies it to a hardware pin– typically, through a general-purpose I/O pin. Some systems, however, require that the transmit/block signal be present at start-up. For those systems, the read delay from memory is unacceptable.
__Figure 1: __ A programmable, nonvolatile digital potentiometer functions as a simple AND gate. Setting the wiper to the device's highest value allows the input signal to propagate to the output; setting the wiper to the lowest value blocks the input signal.
A second method, which is useful for systems without a microcontroller or that cannot wait for the microcontroller to read from memory at boot time, stores the logic state in a device that makes it immediately available at power-up. For this purpose, PAL devices, GAL devices, and CPLDs implement the gating function in combination with programmable nonvolatile memory. These devices offer more than gating with memory, however, and may be overspecified for systems that need only a few such gates. Also, their packages are relatively large to accommodate the many logic-I/O pins they offer.
If you need only a few nonvolatile gates, consider using a component common in analogue- and mixed-signal systems: the digital potentiometer (figure 1). Ground the L end of the resistor string and route the signal into the H end of the string. Then, the wiper output either shorts to ground for blocking or connects to the input signal for transmission.
Figure 2: If the bandwidth of the digital potentiometer is too low, you can use the device to drive an AND gate.
You can program the digital potentiometer through its serial interface during board or system test. The up/down interface on some digital potentiometers is suitable for that purpose. When selecting a nonvolatile digital potentiometer, you should consider the following criteria:
• Digital potentiometers typically have 32 or more taps; you need at least two. A digital-potentiometer wiper has a resistance associated with the internal switches and should be as small as possible to avoid distorting the switching signal. A typical wiper resistance is 100Ω to 1 kΩ. For the MAX5527 from Maxim, wiper resistance measures 90Ω.
• Because the resistance of a digital-potentiometer wiper decreases with increasing supply voltage, you should select a high supply voltage.
• To minimise loading on the signal source and not limit the potentiometer's signal bandwidth, you should select a device with a high end-to-end resistance; 100 kΩ is acceptable for many applications.
• Select a nonvolatile digital potentiometer if you must program the gate's state in nonvolatile memory. Some digital potentiometers are OTP (one-time-programmable); this feature allows you to save the wiper's setting. Using the OTP feature is suitable when you don't expect to make changes in the gating function. The number of gates for which the state must be stored determines the number of potentiometers you need. They are available in arrays of one to six or more per package.
The digital potentiometer's bandwidth determines the maximum data rate for signals transmitted through the potentiometer. If the switching rate of these applied logic signals is too high for the available potentiometers, you can use a conventional, high-speed logic gate with a digital potentiometer controlling the transmit/block input (figure 2).
About the author
Reinhardt Wagner contributed this article.
This article is a Design Idea selected for re-publication by the editors. It was first published on April 7, 2008 in EDN.com.