Winbond Electronics, based in HsinChu, Taiwan, is a relatively new supplier to the digital potentiometer market. Their first offering, the WMS720x ICs, are "set and lock" devices targeted at communications, industrial and consumer applications and can be programmed by a microcontroller through the industry-standard Serial Peripheral Interface (SPI). The devices include four non-volatile preset registers, a software-selectable output buffer (with 3 mA drive) and feature extremely low standby current (200nA typical with a 5V supply). Currently, Winbond offers devices with 1, 2 and 4 independent channels per device. The "WinPots" are available in 10K-ohm, 50K-ohm and 100K-ohm resistance values.
The SPI port controls the potentiometer setpoints. Multiple devices can be daisy chained together without taking up additional port pins on the host controller. This makes it possible, for example, to control 16 or more separate WinPot devices (which could be 64 or more digital potentiometers) using just 3 pins from an SPI port (serial data in, SDI; clock, CLK and ChipSelect, cs). Serial data (the potentiometer set points) are clocked in one bit at a time on the positive edge of the clock.
Each channel of a WinPot has an SRAM-based tap-register that controls its resistance setting. Additionally, each channel has 4 non-volatile preset registers, which can be reprogrammed via the SPI port or from the current setting of the tap register with a software command. A software command can also be used to transfer the data in any of the 4 non-volatile registers to the "tap register" at any time. This unburdens the controller from storing register values for multiple application settings of the potentiometer, and provides a mechanism for fast switching between preset values. In addition, on power-up, the value loaded into the default register is automatically loaded, for "instant on" system response.
Figure 1: The WMS720x devices can be programmed by microcontroller through the industry standard Serial Peripheral Interface (SPI). The devices include four nonvolatile preset registers, and a software-selectable output buffer. The pots offer 1, 2 and 4 independent channels per device.
Users need to remember WinPot has 256 taps and therefore requires 8 bits for control. However, the tap register and each of the non-volatile registers actually contain 9 bits due to another feature inside the device-a selectable output buffer. This buffer, when connected to the wiper of the potentiometer through this "9th bit," provides up to 3 milliamps of output drive for a buffered voltage reference.
Typically, all operations of the device require 1 mA or less. Standby current with the output buffer turned off is typically 200nA (1 uA max.) With 256 taps, the devices are suited to many applications in the communications, industrial and consumer market places. Physically large, noisy, and fragile mechanical potentiometers can easily be replaced with these devices. In addition, designers now have the advantage of software set-up instead of manual adjustment. This can often result in a productivity increase through a reduction in set-up costs.
Figure 2: Ordinarily,a potentiometer is modeled as R1 in series with R2. R2 is grounded, and the wiper located at the junction of R1 and R2.
When a potentiometer is used as a volume control, it is modeled as R1 in series with R2 and the bottom of R2 is grounded. The wiper is located at the junction of R1 and R2. The attenuation through the potentiometer, i.e. through R1 to the wiper, is defined by the equation:
Attenuation in dB = 20 Log R2/(R1+R2).
In the case of our 256 step linear digital potentiometer, the possible values of R1 and R2 are a multiple of a constant factor which is equal to (R1+R2)/255. Because of this, we can ignore the exact value of the potentiometer itself and substitute an integer N = 0 to 255 for R1 and use "255" for the value of R1+R2 in the Attenuation equation. The equation then becomes:
Attenuation in dB = 20 Log N/255
Where N = 1 is highest attenuation (other than the output directly grounded which is equivalent to N = 0) and has the lowest attenuation when N = 255 where R1 actually equals zero ohms (and R2 = RTOTAL, i.e. the maximum value of the WinPot).
The goal of this exercise is to find attenuator values that equal integer dB (or even better, _dB) steps. When you work through this equation and substitute N = 0 to 255 you will find 56 steps that will meet this requirement.
When "N" is a high number, near 255, attenuation increments are small and relatively accurate _dB steps may be chosen. N values between 255 through 32 are used in this section. As "N" gets smaller, the possible accuracy declines; approximately 1 dB steps are selected between N = 31 through 6 with lower accuracy. The few remaining steps below this are much larger, 2 or more dB each. Fortunately, this is in the range where the step accuracy is least necessary.
In some applications, the user may chose to just pick values that fall on 1 dB steps. In that case, every other value between 255 and 32 would be selected, with the rest of the chart unchanged. This could be used to create a 37 step 1 dB (approximate) increment volume control.
Figure 3 shows a logarithmic attenuation graph of the selected values showing both the _dB and the 1 dB steps.
Figure 3: A logarithmic attenuation uses 56 1-dB steps for the best accuracy. Control accuracy declines, however, with a smaller number of steps though the attenuation is greater.
Figure 4 shows the accuracy achieved during the _dB step section. The accuracy at each step is within 0.1 dB, though most steps are far better than that! This figure shows the attenuation from 0 to 18 dB.
Figure 4: With the appropriate set points, attention accuracy can be with _dB-as long as the attenuation ranges from 0 to 18 dB.
Figure 5 continues the data presentation adding the 1 dB step section that occurs between 18 and 26 dB. The accuracy is less, but is still no worse than approximately 0.2 dB.
Figure 5: Attenuation step error increases from 18 to 26 dB, although it is still no greater than 0.2 dB
The few steps above 26 dB of attenuation will occur when the audio output level is very low. It is believed that this will result in satisfactory operation for all but the most exacting volume control applications.