|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
a FEATURES Low Cost Replaces Eight Potentiometers Eight Individually Programmable Outputs Three-Wire Serial Input Power Shutdown 25 W Including IDD and IREF Midscale Preset, AD8801 Separate V REFL Range Setting, AD8803 +3 V to +5 V Single Supply Operation APPLICATIONS Automatic Adjustment Trimmer Potentiometer Replacement Video and Audio Equipment Gain and Offset Adjustment Portable and Battery Operated Equipment SDI CLK CS VDD GND Octal 8-Bit TrimDAC with Power Shutdown AD8801/AD8803 FUNCTIONAL BLOCK DIAGRAM (DACs 2-7 Omitted for Clarity) VREFH VREFL AD8801/AD8803 8 8-BIT LATCH CK RS VREFH DAC 1 VOUT VREFL 8 O1 DAC SELECT 1 8 ADDRESS 3 11-BIT SERIAL 8 LATCH D CK RS 8 8-BIT 8 LATCH CK RS . . . . . . VREFH DAC 8 VOUT VREFL 8 O8 GENERAL DESCRIPTION The AD8801/AD8803 provides eight digitally controlled dc voltage outputs. This potentiometer divider TrimDAC(R) allows replacement of the mechanical trimmer function in new designs. The AD8801/AD8803 is ideal for dc voltage adjustment applications. Easily programmed by serial interfaced microcontroller ports, the AD8801 with its midscale preset is ideal for potentiometer replacement where adjustments start at a nominal value. Applications such as gain control of video amplifiers, voltage controlled frequencies and bandwidths in video equipment, geometric correction and automatic adjustment in CRT computer graphic displays are a few of the many applications ideally suited for these parts. The AD8803 provides independent control of both the top and bottom end of the potentiometer divider allowing a separate zero-scale voltage setting determined by the VREFL pin. This is helpful for maximizing the resolution of devices with a limited allowable voltage control range. RS SHDN Internally the AD8801/AD8803 contain eight voltage output digital-to-analog converters, sharing a common reference voltage input. Each DAC has its own DAC register that holds its output state. These DAC registers are updated from an internal serial-to-parallel shift register that is loaded from a standard three-wire serial input digital interface. Eleven data bits make up the data word clocked into the serial input register. This data word is decoded where the first 3 bits determine the address of the DAC register to be loaded with the last 8 bits of data. The AD8801/AD8803 consumes only 5 A from 5 V power supplies. In addition, in shutdown mode reference input current consumption is also reduced to 5 A while saving the DAC latch settings for use after return to normal operation. The AD8801/AD8803 is available in 16-pin plastic DIP and the 1.5 mm height SO-16 surface mount packages. See the AD8802/AD8804 for a twelve channel version of this product. TrimDAC is a registered trademark of Analog Devices, Inc. REV. A Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. (c) Analog Devices, Inc., 1995 One Technology Way, P.O. Box 9106, Norwood. MA 02062-9106, U.S.A. Tel: 617/329-4700 Fax: 617/326-8703 AD8801/AD8803-SPECIFICATIONS T +85 C unless otherwise noted) A (VDD = +3 V 10% or +5 V 10%, VREFH = +VDD, VREFL = 0 V, -40 C Min Typ1 Max Units Parameter STATIC ACCURACY Specifications Apply to All DACs Resolution Integral Nonlinearity Error Differential Nonlinearity Full-Scale Error Zero-Code Error DAC Output Resistance Output Resistance Match REFERENCE INPUT Voltage Range2 Input Resistance Reference Input Capacitance 3 DIGITAL INPUTS Logic High Logic Low Logic High Logic Low Input Current Input Capacitance3 POWER SUPPLIES4 Power Supply Range Supply Current (CMOS) Supply Current (TTL) Shutdown Current Power Dissipation Power Supply Sensitivity Power Supply Sensitivity DYNAMIC PERFORMANCE 3 VOUT Settling Time (Positive or Negative) Crosstalk SWITCHING CHARACTERISTICS 3, 6 Input Clock Pulse Width Data Setup Time Data Hold Time CS Setup Time CS High Pulse Width Reset Pulse Width CLK Rise to CS Rise Hold Time CS Rise to Next Rising Clock Symbol Conditions N INL DNL GFSE VZSE ROUT R/RO VREFH VREFL RREFH CREF0 CREF1 VIH VIL VIH VIL IIL CIL VDD Range IDD IDD IREFH PDISS PSRR PSRR tS CT tCH, tCL tDS tDH tCSS tCSW tRS tCSH tCS1 Guaranteed Monotonic 8 -1.5 -1 -4 -0.5 3 1/2 1/4 -2.8 0.1 5 1 +1.5 +1 +0.5 +0.5 8 Bits LSB LSB LSB LSB k % V V k pF pF V V V V A pF V A mA A W %/% %/% s dB ns ns ns ns ns ns ns Pin Available on AD8803 Only Digital Inputs = 55 H, VREFH = VDD Digital Inputs All Zeros Digital Inputs All Ones VDD = +5 V VDD = +5 V VDD = +3 V VDD = +3 V VIN = 0 V or +5 V 0 0 2 25 25 2.4 VDD VDD 0.8 2.1 0.6 1 5 2.7 5.5 5 4 5 27.5 0.002 VIH = VDD or VIL = 0 V VIH = 2.4 V or VIL = 0.8 V, VDD= +5.5 V SHDN = 0 VIH = VDD or VIL = 0 V, VDD = +5.5 V VDD = 5 V 10%, VREFH = +4.5 V VDD = 3 V 10%, VREFH = +2.7 V 1/2 LSB Error Band See Note 5, f = 100 kHz Clock Level High or Low 15 5 5 10 10 60 15 10 0.01 1 0.01 0.001 0.01 0.6 50 ns NOTES 1 Typical values represent average readings measured at +25 C. 2 VREFH can be any value between GND and V DD, for the AD8803 V REFL can be any value between GND and V DD. 3 Guaranteed by design and not subject to production test. 4 Digital Input voltages V IN = 0 V or VDD for CMOS condition. DAC outputs unloaded. PDISS is calculated from (I DD x VDD). 5 Measured at a V OUT pin where an adjacent V OUT pin is making a full-scale voltage change. 6 See timing diagram for location of measured values. All input control voltages are specified with tR = tF = 2 ns (10% to 90% of V DD) and timed from a voltage level of 1.6 V. Specifications subject to change without notice. -2- REV. A AD8801/AD8803 ABSOLUTE MAXIMUM RATINGS (TA = +25C, unless otherwise noted) ORDERING GUIDE Package Package Description Option PDIP-16 SO-16 PDIP-16 SO-16 N-16 R-16A N-16 R-16A VDD to GND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.3, +8 V VREFX to GND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 V, VDD Outputs (Ox) to GND . . . . . . . . . . . . . . . . . . . . . . . . 0 V, VDD Digital Input Voltage to GND . . . . . . . . . . . . . . . . . . 0 V, VDD Operating Temperature Range . . . . . . . . . . . . . -40C to +85C Maximum Junction Temperature (TJ MAX) . . . . . . . . +150C Storage Temperature . . . . . . . . . . . . . . . . . . . -65C to +150C Lead Temperature (Soldering, 10 sec) . . . . . . . . . . . . . +300C Package Power Dissipation . . . . . . . . . . . . . (TJ MAX - TA)/JA Thermal Resistance JA, SOIC (SO-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60C/W P-DIP (N-16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57C/W AD8801 PIN DESCRIPTIONS Model AD8801AN AD8801AR AD8803AN AD8803AR FTN RS RS REFL REFL Temperature -40C to +85C -40C to +85C -40C to +85C -40C to +85C AD8803 PIN DESCRIPTIONS Pin Name 1 2 3 4 5 6 VREFH O1 O2 O3 O4 SHDN Description Common High-Side DAC Reference Input DAC Output #1, Addr = 0002 DAC Output #2, Addr = 0012 DAC Output #3, Addr = 0102 DAC Output #4, Addr = 0112 Reference inputs open circuit, active low, all DAC outputs open circuit. DAC latch settings maintained. Chip Select Input, active low. When CS returns high, data in the serial input register is decoded based on the address bits and loaded into the target DAC register. Ground Common Low-Side DAC Reference Input Serial Clock Input, Positive Edge Triggered Serial Data Input DAC Output #5, Addr = 1002 DAC Output #6, Addr = 1012 DAC Output #7, Addr = 1102 DAC Output #8, Addr = 1112 Positive power supply, specified for operation at both +3 V and +5 V. PIN CONFIGURATIONS Pin Name Description 1 2 3 4 5 6 VREFH O1 O2 O3 O4 SHDN Common DAC Reference Input DAC Output #1, Addr = 0002 DAC Output #2, Addr = 0012 DAC Output #3, Addr = 0102 DAC Output #4, Addr = 0112 Reference input open circuit, active low, all DAC outputs open circuit. DAC latch settings maintained. Chip Select Input, active low. When CS returns high, data in the serial input register is decoded based on the address bits and loaded into the target DAC register. Ground Serial Clock Input, Positive Edge Triggered Serial Data Input DAC Output #5, Addr = 1002 DAC Output #6, Addr = 1012 DAC Output #7, Addr = 1102 DAC Output #8, Addr = 1112 Asynchronous preset to midscale output setting, active low. Loads all DAC latches with 80H. Positive power supply, specified for operation at both +3 V and +5 V. 7 CS 7 CS 8 9 10 11 12 13 14 15 16 GND CLK SDI O5 O6 O7 O8 RS VDD 8 9 10 11 12 13 14 15 16 GND VREFL CLK SDI O5 O6 O7 O8 VDD VREFH O1 O2 O3 O4 SHDN CS GND 1 2 3 4 5 6 7 8 16 VDD 15 RS 14 O8 VREFH O1 O2 O3 O4 SHDN CS GND 1 2 3 4 5 6 7 8 16 VDD 15 O8 14 O7 AD8801 TOP VIEW (Not to Scale) 13 O7 12 O6 11 O5 10 SDI 9 CLK AD8803 TOP VIEW (Not to Scale) 13 O6 12 O5 11 SDI 10 CLK 9 VREFL CAUTION ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000 V readily accumulate on the human body and test equipment and can discharge without detection. Although these devices feature proprietary ESD protection circuitry, permanent damage may occur on devices subjected to high energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. WARNING! ESD SENSITIVE DEVICE REV. A -3- AD8801/AD8803 OCTAL 8-BIT TRIMDAC, WITH SHUTDOWN 1 SDI 0 1 CLK 0 1 CS 0 +5V VOUT 0V DAC REGISTER LOAD A2 A1 A0 D7 D6 D5 D4 D3 D2 D1 D0 following address assignments for the ADDR decode which determines the location of DAC register receiving the serial register data in bits B7 through B0: DAC # = A2 x 4 + A1 x 2 + A0 + 1 DAC outputs can be changed one at a time in random sequence. The fast serial-data loading of 33 MHz makes it possible to load all eight DACs in as little time as 3 s (12 x 8 x 30 ns). The exact timing requirements are shown in Figure 2. The AD8801 offers a midscale preset activated by the RS pin simplifying initial setting conditions at first power up. The AD8803 has both a VREFH and a VREFL pin to establish independent positive full-scale and zero-scale settings to optimize resolution. Both parts offer a power shutdown SHDN that places the DAC structure in a zero power consumption state resulting in only leakage currents being consumed from the power supply, VREF inputs, and all 8 outputs. In shutdown mode the DACx latch settings are maintained. When returning to operational mode from power shutdown the DAC outputs return to their previous voltage settings. Figure 2a. Timing Diagram DETAIL SERIAL DATA INPUT TIMING (RS = "1") SDI (DATA IN) 1 AX OR DX 0 AX OR DX tDS 1 tCH tDH tCS1 CLK 0 1 CS 0 tCSS tCL tCSH tCSW tS VREFH N CH MSB 2R OX TO OTHER DACS P CH 1 LSB +5V VOUT 0V 1 LSB ERROR BAND R Figure 2b. Detail Timing Diagram RESET TIMING 1 RS 0 DAC REGISTER D7 D6 D0 R 2R tRS tS +5V VOUT 2.5V 1 LSB ERROR BAND 1 LSB .. .. .. LSB 2R . . . Figure 2c. Reset Timing Diagram Table I. Serial-Data Word Format GND VREFL 2R ADDR B10 B9 A2 A1 MSB 210 29 B8 DATA B7 B6 B5 D5 25 B4 D4 24 B3 D3 23 B2 D2 22 B1 D1 21 B0 D0 LSB 20 Figure 3. AD8801/AD8803 Equivalent TrimDAC Circuit PROGRAMMING THE OUTPUT VOLTAGE A0 D7 D6 LSB MSB 28 27 26 OPERATION The AD8801/AD8803 provides eight channels of programmable voltage output adjustment capability. Changing the programmed output voltage of each TrimDAC is accomplished by clocking in an 11-bit serial data word into the SDI (Serial Data Input) pin. The format of this data word is three address bits, MSB first, followed by eight data bits, MSB first. Table I provides the serial register data word format. The AD8801/AD8803 has the The output voltage range is determined by the external reference connected to VREFH and VREFL pins. See Figure 3 for a simplified diagram of the equivalent DAC circuit. In the case of the AD8801, its VREFL is internally connected to GND and therefore cannot be offset. VREFH can be tied to VDD and VREFL can be tied to GND establishing a basic rail-to-rail voltage output programming range. Other output ranges are established by the use of different external voltage references. The general transfer equation that determines the programmed output voltage is: VO (Dx) = (Dx)/256 x (VREFH - VREFL) + VREFL where Dx is the data contained in the 8-bit DACx latch. (1) -4- REV. A AD8801/AD8803 For example, when VREFH = +5 V and VREFL = 0 V the following output voltages will be generated for the following codes: D 255 128 1 0 VOX 4.98 V 2.50 V 0.02 V 0.00 V Output State (VREFH = +5 V, VREFL = 0 V) Full-Scale Half-Scale (Midscale Reset Value) 1 LSB Zero-Scale DIGITAL INTERFACING The AD8801/AD8803 contains a standard three-wire serial input control interface. The three inputs are clock (CLK), CS and serial data input (SDI). The positive-edge sensitive CLK input requires clean transitions to avoid clocking incorrect data into the serial input register. Standard logic families work well. If mechanical switches are used for product evaluation, they should be debounced by a flip-flop or other suitable means. Figure 4 block diagram shows more detail of the internal digital circuitry. When CS is taken active low, the clock can load data into the serial register on each positive clock edge, see Table II. Table II. Input Logic Control Truth Table REFERENCE INPUTS (V REFH, VREFL) The reference input pins set the output voltage range of all eight DACs. In the case of the AD8801 only the VREFH pin is available to establish a user designed full-scale output voltage. The external reference voltage can be any value between 0 and VDD but must not exceed the VDD supply voltage. In the case of the AD8803, which has access to the VREFL which establishes the zero-scale output voltage, any voltage can be applied between 0 V and VDD. VREFL can be smaller or larger in voltage than VREFH since the DAC design uses fully bidirectional switches as shown in Figure 3. The input resistance to the DAC has a code dependent variation that has a nominal worst case measured at 55H, which is approximately 2 k. When VREFH is greater than VREFL, the REFL reference must be able to sink current out of the DAC ladder, while the REFH reference is sourcing current into the DAC ladder. The DAC design minimizes reference glitch current maintaining minimum interference between DAC channels during code changes. DAC OUTPUTS (O1-O8) CS 1 0 P CLK X P X Register Activity No effect. Shifts Serial Register one bit loading the next bit in from the SDI pin. Data is transferred from the serial register to the decoded DAC register. See Figure 5. NOTE: P = positive edge, X = don't care. The data setup and data hold times in the specification table determine the data valid time requirements. The last 11 bits of the data word entered into the serial register are held when CS returns high. At the same time CS goes high it gates the address decoder which enables one of the eight positive edge triggered DAC registers, see Figure 5 detail. DAC 1 DAC 2 ADDR DECODE The eight DAC outputs present a constant output resistance of approximately 5 k independent of code setting. The distribution of ROUT from DAC to DAC typically matches within 1%. However, device to device matching is process lot dependent having a 20% variation. The change in ROUT with temperature has a 500 ppm/C temperature coefficient. During power shutdown all eight outputs are open circuited. CS DAC 8 . . . CLK SDI SERIAL REGISTER Figure 5. Equivalent Control Logic CS AD8801/AD8803 VDD VREFH The target DAC register is loaded with the last eight bits of the serial data word completing one DAC update. Eight separate 11-bit data words must be clocked in to change all eight output settings. All digital inputs are protected with a series input resistor and parallel Zener ESD structure shown in Figure 6. This applies to digital input pins CS, SDI, RS, SHDN, CLK. 100 CLK D7 EN D10 D9 D8 D7 SER REG ADDR DEC DAC REG #1 D0 R DAC DAC 1 O1 O2 O3 O4 LOGIC . . . ... ... ... D7 DAC REG #8 D0 R .. .. .. DAC 8 O5 O6 O7 O8 SDI D Figure 6. Equivalent ESD Protection Circuit D0 8 Digital inputs can be driven by voltages exceeding the AD8801/ AD8803 VDD value. This allows 5 V logic to interface directly to the part when it is operated at 3 V. SHDN VREFL (AD8803 ONLY) GND RS (AD8801 ONLY) Figure 4. Block Diagram REV. A -5- AD8801/AD8803-Typical Performance Characteristics 1 0.75 0.5 0.25 VDD = +5V VREFH = +5V VREFL = 0V TA = +85C TA = +25C TA = -40C 200 VDD = +5V VREFH = +2V VREFL = 0V ALL OTHER DACS SET TO ZERO SCALE TA = +25C 150 IREF CURRENT - A 0 32 64 96 128 160 CODE - Decimal 192 224 256 INL - LSB 0 -0.25 -0.5 -0.75 -1 100 50 0 0 32 64 96 128 160 CODE - Decimal 192 224 256 Figure 7. INL vs. Code Figure 10. Input Reference Current vs. Code 1 0.75 0.5 0.25 0 -0.25 -0.5 -0.75 -1 VDD = +5V VREFH = +5V VREFL = 0V 10k VDD = +5.5V VREF = 0V TA = -40C, +25C, +85C IREF SHUTDOWN CURRENT - nA 1k DNL - LSB 100 VDD = +5.5V VREF = +5.5V 10 0 64 128 CODE - Decimal 192 256 0 -55 -35 -15 5 25 45 65 85 105 125 TEMPERATURE - C Figure 8. Differential Nonlinearity Error vs. Code Figure 11. Shutdown Current vs. Temperature 1200 1080 960 840 FREQUENCY 100k IDD SUPPLY CURRENT - A VDD = +4.5V VREF = +4.5V VREFL = 0V TA = +25C SS = 2446 PCS 10k 1k 100 10 1 0.1 0.01 0.001 -55 VDD = +5.5V LOGIC = +2.4V ALL DIGITAL PINS TIED TOGETHER 720 600 480 260 240 120 0 -3.4 -3.3 -3.2 -3.1 -3.0 -2.9 -2.8 -2.7 -2.6 -2.5 TOTAL UNADJUSTED ERROR - LSB VDD = +5.5V LOGIC = +5.5V ALL DIGITAL PINS TIED TOGETHER -35 -15 5 25 45 65 TEMPERATURE - C 85 105 125 Figure 9. Total Unadjusted Error Histogram Figure 12. Supply Current vs. Temperature -6- REV. A AD8801/AD8803 100 TA = +25C ALL DIGITAL INPUTS TIED TOGETHER IDD SUPPLY CURRENT - mA 10 1.0 VDD = +5V 0.1 OUTPUT2 - 10mV/DIV 100 90 OUTPUT1: OOH FFH VDD = +5V VREF = +2V f = 500kHz 0.01 VDD = +3V 0.001 10 0% TIME - 0.2s/DIV 0.0001 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 LOGIC INPUT VOLTAGE - Volts Figure 13. Supply Current vs. Logic Input Voltage Figure 16. Adjacent Channel Clock Feedthrough 80 60 PSRR - dB VDD = +5V 0.5V P VREFH = +2V CODE = 80H TA = +25C 100 90 OUTPUT1: 7FH 80H VDD = +5V VREF = +2V OUT1 10mV/DIV 40 CS 5V/DIV 10 0% 20 TIME - 0.2s/DIV 0 10 100 1k FREQUENCY - Hz 10k 100k Figure 14. Power Supply Rejection vs. Frequency Figure 17. Midscale Transition 0.01 VDD = +5V VREF = +2V 2V OUT1 0V 100 90 CHANGE IN ZERO-SCALE ERROR - LSB 0.005 VDD = +4.5V VREF = +4.5V SS = 162 PCS VREFL = 0V 0 5V CS 0V 10 0% -0.005 TIME - 1s/DIV -0.01 0 150 300 450 600 HOURS OF OPERATION AT 150C Figure 15. Large-Signal Settling Time Figure 18. Zero-Scale Error Accelerated by Burn-In REV. A -7- AD8801/AD8803 0.04 1.0 VDD = +4.5V VREF = +4.5V SS = 162 PCS CHANGE IN FULL-SCALE ERROR - LSB INPUT RESISTANCE DRIFT - k x + 2 0.02 0.5 x + 2 x 0 x - 2 VDD = +4.5V VREF = +4.5V CODE = 55H SS = 162 PCS x 0 x - 2 -0.02 -0.5 -0.04 -1.0 0 150 300 450 600 HOURS OF OPERATION AT 150C 0 150 300 450 600 HOURS OF OPERATION AT 150C Figure 19. Full-Scale Error Accelerated by Burn-In Figure 20. REF Input Resistance Accelerated by Burn-In APPLICATIONS Supply Bypassing +5V Precision analog products, such as the AD8801/AD8803, require a well filtered power source. Since the AD8801/AD8803 operate from a single +3 V to +5 V supply, it seems convenient to simply tap into the digital logic power supply. Unfortunately, the logic supply is often a switch-mode design, which generates noise in the 20 kHz to 1 MHz range. In addition, fast logic gates can generate glitches hundred of millivolts in amplitude due to wiring resistances and inductances. If possible, the AD8801/AD8803 should be powered directly from the system power supply. This arrangement, shown in Figure 21, will isolate the analog section from the logic switching transients. Even if a separate power supply trace is not available, however, generous supply bypassing will reduce supply-line induced errors. Local supply bypassing consisting of a 10 F tantalum electrolytic in parallel with a 0.1 F ceramic capacitor is recommended (Figure 22). TTL/CMOS LOGIC CIRCUITS + 10F TANT 0.1F AD8801/ AD8803 VDD + 10F 0.1F AD8801/ AD8803 DGND Figure 22. Recommended Supply Bypassing for the AD8801/AD8803 Buffering the AD8801/AD8803 Output In many cases, the nominal 5 k output impedance of the AD8801/AD8803 is sufficient to drive succeeding circuitry. If a lower output impedance is required, an external amplifier can be added. Several examples are shown in Figure 23. One amplifier of an OP291 is used as a simple buffer to reduce the output resistance of DAC A. The OP291 was chosen primarily for its rail-to-rail input and output operation, but it also offers operation to less than 3 V, low offset voltage, and low supply current. The next two DACs, B and C, are configured in a summing arrangement where DAC C provides the coarse output voltage setting and DAC B can be used for fine adjustment. The insertion of R1 in series with DAC B attenuates its contribution to the voltage sum node at the DAC C output. +5V POWER SUPPLY Figure 21. Use Separate Traces to Reduce Power Supply Noise -8- REV. A AD8801/AD8803 +5V Microcomputer Interfaces OP291 SIMPLE BUFFER 0V TO 5V VREFH VDD VH VL VH VL R1 100k VH VL SUMMER CIRCUIT WITH FINE TRIM ADJUSTMENT The AD8801/AD8803 serial data input provides an easy interface to a variety of single-chip microcomputers (Cs). Many Cs have a built-in serial data capability that can be used for communicating with the DAC. In cases where no serial port is provided, or it is being used for some other purpose (such as an RS-232 communications interface), the AD8801/AD8803 can easily be addressed in software. Eleven data bits are required to load a value into the AD8801/ AD8803 (3 bits for the DAC address and 8 bits for the DAC value). If more than 11 bits are transmitted before the Chip Select input goes high, the extra (i.e., the most-significant) bits are ignored. This feature is valuable because most Cs only transmit data in 8-bit increments. Thus, the C will send 16 bits to the DAC instead of 11 bits. The AD8801/AD8803 will only respond to the last 11 bits clocked into the SDI input, however, so the serial data interface is not affected. An 8051 C Interface AD8801/ AD8803 VREFL GND DIGITAL INTERFACING OMITTED FOR CLARITY Figure 23. Buffering the AD8801/AD8803 Output Increasing Output Voltage Swing An external amplifier can also be used to extend the output voltage swing beyond the power supply rails of the AD8801/AD8803. This technique permits an easy digital interface for the DAC, while expanding the output swing to take advantage of higher voltage external power supplies. For example, DAC A of Figure 24 is configured to swing from -5 V to +5 V. The actual output voltage is given by: VOUT R = 1 + F x D x 5 V - 5 V RS 256 A typical interface between the AD8801/AD8803 and an 8051 C is shown in Figure 25. This interface uses the 8051's internal serial port. The serial port is programmed for Mode 0 operation, which functions as a simple 8-bit shift register. The 8051's Port3.0 pin functions as the serial data output, while Port3.1 serves as the serial clock. +5V + 0.1F VDD VREFH RxD TxD P3.0 P3.1 P1.3 P1.2 P1.1 PORT 1 1.3 1.2 1.1 GND 10F ( ) Where D is the DAC input value (i.e., 0 to 255). This circuit can be combined with the "fine/coarse" circuit of Figure 23 if, for example, a very accurate adjustment around 0 V is desired. +5V RS 100k RF 100k +5V VDD VREFH -5V TO +4.98V A OP191 -5V AD8801 SDI SCLK RESET SHDN CS O1 O2 O3 O4 O5 O6 O7 O8 SBUF SERIAL DATA SHIFT REGISTER SHIFT CLOCK 8051 C AD8801/ AD8803 +12V OP193 B 0V TO +10V GND VREFL 100k 100k Figure 25. Interfacing the 8051 C to an AD8801/AD8803, Using the Serial Port When data is written to the Serial Buffer Register (SBUF, at Special Function Register location 99H), the data is automatically converted to serial format and clocked out via Port3.0 and Port3.1. After 8 bits have been transmitted, the Transmit Interrupt flag (SCON.1) is set and the next 8 bits can be transmitted. The AD8801 and AD8803 require the Chip Select to go low at the beginning of the serial data transfer. In addition, the SCLK input must be high when the Chip Select input goes high at the end of the transfer. The 8051's serial clock meets this requirement, since Port3.1 both begins and ends the serial data in the high state. Software for the 8051 Interface Figure 24. Increasing Output Voltage Swing DAC B of Figure 24 is in a noninverting gain of two configuration, which increases the available output swing to +10 V. The feedback resistors can be adjusted to provide any scaling of the output voltage, within the limits of the external op amp power supplies. A software routine for the AD8801/AD8803 to 8051 interface is shown in Listing 1. The routine transfers the 8-bit data stored at data memory location DAC_VALUE to the AD8801/AD8803 DAC addressed by the contents of location DAC_ADDR. REV. A -9- AD8801/AD8803 ; ; This subroutine loads an AD8801/AD8803 DAC from an 8051 microcomputer, ; using the 8051's serial port in MODE 0 (Shift Register Mode). ; The DAC value is stored at location DAC_VAL ; The DAC address is stored at location DAC_ADDR ; ; Variable declarations ; PORT1 DATA 90H DAC_VALUE DATA 40H DAC_ADDR DATA 41H SHIFT1 DATA 042H SHIFT2 DATA 043H SHIFT_COUNT DATA 44H ; ORG 100H DO_8801: CLR SCON.7 CLR SCON.6 CLR SCON.5 CLR SCON.1 ORL PORT1.1,#00001110B CLR PORT1.1 MOV SHIFT1,DAC_ADDR ACALL BYTESWAP MOV SBUF,SHIFT2 ADDR_WAIT: JNB SCON.1,ADDR_WAIT CLR SCON.1 MOV SHIFT1,DAC_VALUE ACALL BYTESWAP MOV SBUF,SHIFT2 VALU_WAIT: JNB SCON.1,VALU_WAIT CLR SCON.1 SETB PORT1.1 RET ; BYTESWAP: MOV SHIFT_COUNT,#8 SWAP_LOOP: MOV A,SHIFT1 RLC A MOV SHIFT1,A MOV A,SHIFT2 RRC A MOV SHIFT2,A DJNZ SHIFT_COUNT,SWAP_LOOP RET END ;SFR register for port 1 ;DAC Value ;DAC Address ;high byte of 16-bit answer ;low byte of answer ; ;arbitrary start ;set serial ; data mode 0 ;clr transmit flag ;/RS, /SHDN, /CS high ;set the /CS low ;put DAC value in shift register ; ;send the address byte ;wait until 8 bits are sent ;clear the serial transmit flag ;send the DAC value ; ; ;wait again ;clear serial flag ;/CS high, latch data ; into AD8801 ;Shift 8 bits ;Get source byte ;Rotate MSB to carry ;Save new source byte ;Get destination byte ;Move carry to MSB ;Save ;Done? Listing 1. Software for the 8051 to AD8801/AD8803 Serial Port Interface -10- REV. A AD8801/AD8803 The subroutine begins by setting appropriate bits in the Serial Control register to configure the serial port for Mode 0 operation. Next the DAC's Chip Select input is set low to enable the AD8801/AD8803. The DAC address is obtained from memory location DAC_ADDR, adjusted to compensate for the 8051's serial data format, and moved to the serial buffer register. At this point, serial data transmission begins automatically. When all 8 bits have been sent, the Transmit Interrupt bit is set, and the subroutine then proceeds to send the DAC value stored at location DAC_VALUE. Finally the Chip Select input is returned high, causing the appropriate AD8801/AD8803 output voltage to change, and the subroutine ends. The 8051 sends data out of its shift register LSB first, while the AD8801/AD8803 require data MSB first. The subroutine therefore includes a BYTESWAP subroutine to reformat the data. This routine transfers the MSB-first byte at location SHIFT1 to an LSB-first byte at location SHIFT2. The routine rotates the MSB of the first byte into the carry with a Rotate Left Carry instruction, then rotates the carry into the MSB of the second byte with a Rotate Right Carry instruction. After 8 loops, SHIFT2 contains the data in the proper format. The BYTESWAP routine in Listing 1 is convenient because the DAC data can be calculated in normal LSB form. For example, producing a ramp voltage on a DAC is simply a matter of repeatedly incrementing the DAC_VALUE location and calling the LD_8801 subroutine. If the C's hardware serial port is being used for other purposes, the AD8801/AD8803 can be loaded by using the parallel port. A typical parallel interface is shown in Figure 26. The serial data is transmitted to the DAC via the 8051's Port1.7 output, while Port1.6 acts as the serial clock. Software for the interface of Figure 26 is contained in Listing 2. The subroutine will send the value stored at location DAC_VALUE to the AD8801/AD8803 DAC addressed by location DAC_ADDR. The program begins by setting the AD8801/AD8803's Serial Clock and Chip Select inputs high, then setting Chip Select low to start the serial interface process. The DAC address is loaded into the accumulator and three Rotate Right shifts are performed. This places the DAC address in the 3 MSBs of the accumulator. The address is then sent to the AD8801/AD8803 via the SEND_SERIAL subroutine. Next, the DAC value is loaded into the accumulator and sent to the AD8801/AD8803. Finally, the Chip Select input is set high to complete the data transfer. ; This 8051 C subroutine loads an AD8801 or AD8803 DAC with an 8-bit value, ; using the 8051's parallel port #1. ; The DAC value is stored at location DAC_VALUE ; The DAC address is stored at location DAC_ADDR ; ; Variable declarations PORT1 DATA 90H DAC_VALUE DATA 40H DAC_ADDR DATA 41H LOOPCOUNT DATA 43H ; ORG 100H LD_8803: ORL PORT1,#11110000B CLR PORT1.5 MOV LOOPCOUNT,#3 MOV A,DAC_ADDR RR A RR A RR A ACALL SEND_SERIAL MOV LOOPCOUNT,#8 MOV A,DAC_VALUE ACALL SEND_SERIAL SETB PORT1.5 RET SEND_SERIAL: RLC MOV CLR SETB DJNZ RET; END A PORT1.7,C PORT1.6 PORT1.6 LOOPCOUNT,SEND_SERIAL ;SFR register for port 1 ;DAC Value ;DAC Address (0 through 7) ;COUNT LOOPS ;arbitrary start ;set CLK, /CS and /SHDN high, ;Set Chip Select low ;Address is 3 bits ; Get DAC address ; Rotate the DAC ;address to the Most ;Significant Bits (MSBs) ;Send the address ;Do 8 bits of data ;Send the data ;Set /CS high ;DONE ;Move next bit to carry ;Move data to SDI ;Pulse the ; CLK input ;Loop if not done Listing 2. Software for the 8051 to AD8801/AD8803 Parallel Port Interface REV. A -11- AD8801/AD8803 +5V MC68HC11* VDD VREFH (PD3) MOSI (PD4) SCK (PD5) SS PC0 PC1 SDI CLK CS AD8801/ AD8803* 8051 C P1.7 AD8803 O1 SDI P1.6 P1.5 P1.4 PORT 1 1.7 1.6 1.5 1.4 CLK CS SHDN O2 O3 O4 O5 O6 O7 O8 GND VREFL SHDN RS (AD8801 ONLY) *ADDITIONAL PINS OMITTED FOR CLARITY Figure 27. An AD8801/AD8803-to-MC68HC11 Interface Figure 26. An AD8801/AD8803-8051 C Interface Using Parallel Port 1 Unlike the serial port interface of Figure 25, the parallel port interface only transmits 11 bits to the AD8801/AD8803. Also, the BYTESWAP subroutine is not required for the parallel interface, because data can be shifted out MSB first. However, the results of the two interface methods are exactly identical. In most cases, the decision on which method to use will be determined by whether or not the serial data port is available for communication with the AD8801/AD8803. An MC68HC11-to-AD8801/AD8803 Interface Like the 8051, the MC68HC11 includes a dedicated serial data port (labeled SPI). The SPI port provides an easy interface to the AD8801/AD8803 (Figure 27). The interface uses three lines of Port D for the serial data, and one or two lines from Port C to control the SHDN and RS (AD8801 only) inputs. A software routine for loading the AD8801/AD8803 from a 68HC11 evaluation board is shown in Listing 3. First, the MC68HC11 is configured for SPI operation. Bits CPHA and CPOL define the SPI mode wherein the serial clock (SCK) is high at the beginning and end of transmission, and data is valid on the rising edge of SCK. This mode matches the requirements of the AD8801/AD8803. After the registers are saved on the stack, the DAC value and address are transferred to RAM and the AD8801/AD8803's CS is driven low. Next, the DAC's address byte is transferred to the SPDR register, which automatically initiates the SPI data transfer. The program tests the SPIF bit and loops until the data transfer is complete. Then the DAC value is sent to the SPI. When transmission of the second byte is complete, CS is driven high to load the new data and address into the AD8801/AD8803. -12- REV. A AD8801/AD8803 * * AD8801/AD8803 to M68HC11 Interface Assembly Program * * M68HC11 Register definitions * PORTC EQU $1003 Port C control register * "0,0,0,0;0,0,RS/, SHDN/" DDRC EQU $1007 Port C data direction PORTD EQU $1008 Port D data register * "0,0,/CS,CLK;SDI,0,0,0" DDRD EQU $1009 Port D data direction SPCR EQU $1028 SPI control register * "SPIE,SPE,DWOM,MSTR;CPOL,CPHA,SPR1,SPR0" SPSR EQU $1029 SPI status register * "SPIF,WCOL,0,MODF;0,0,0,0" SPDR EQU $102A SPI data register; Read-Buffer; Write-Shifter * * SDI RAM variables: SDI1 is encoded from 0 (Hex) to 7 (Hex) * SDI2 is encoded from 00 (Hex) to FF (Hex) * AD8801/3 requires two 8-bit loads; upper 5 bits * of SDI1 are ignored. AD8801/3 address bits in last * three LSBs of SDI1. * SDI1 EQU $00 SDI packed byte 1 "0,0,0,0;0,A2,A1,A0" SDI2 EQU $01 SDI packed byte 2 "DB7,DB6,DB5,DB4;DB3,DB2,DB1,DB0" * * Main Program * ORG $C000 Start of user's RAM in EVB INIT LDS #$CFFF Top of C page RAM * * Initialize Port C Outputs * LDAA #$03 0,0,0,0;0,0,1,1 * /RS-Hi, /SHDN-Hi STAA PORTC Initialize Port C Outputs LDAA #$03 0,0,0,0;0,0,1,1 STAA DDRC /RS and /SHDN are now enabled as outputs * * Initialize Port D Outputs * LDAA #$20 0,0,1,0;0,0,0,0 * /CS-Hi,/CLK-Lo,SDI-Lo STAA PORTD Initialize Port D Outputs LDAA #$38 0,0,1,1;1,0,0,0 STAA DDRD /CS,CLK, and SDI are now enabled as outputs * * Initialize SPI Interface * LDAA #$53 STAA SPCR SPI is Master,CPHA=0,CPOL=0,Clk rate=E/32 * * Call update subroutine * BSR UPDATE Xfer 2 8-bit words to AD8402 JMP $E000 Restart BUFFALO * * Subroutine UPDATE * UPDATE PSHX Save registers X, Y, and A REV. A -13- AD8801/AD8803 PSHY PSHA * * Enter Contents of SDI1 Data Register * LDAA $0000 Hi-byte data loaded from memory STAA SDI1 SDI1 = data in location 0000H * * Enter Contents of SDI2 Data Register * LDAA $0001 Low-byte data loaded from memory STAA SDI2 SDI2 = Data in location 0001H * LDX #SDI1 Stack pointer at 1st byte to send via SDI LDY #$1000 Stack pointer at on-chip registers * * Reset AD8801 to one-half scale (AD8803 does not have a Reset input) * BCLR PORTC,Y $02 Assert /RS BSET PORTC,Y $02 De-assert /RS * * Get AD8801/03 ready for data input * BCLR PORTD,Y $20 Assert /CS * TFRLP LDAA 0,X Get a byte to transfer via SPI STAA SPDR Write SDI data reg to start xfer * WAIT LDAA SPSR Loop to wait for SPIF BPL WAIT SPIF is the MSB of SPSR * (when SPIF is set, SPSR is negated) INX Increment counter to next byte for xfer CPX #SDI2+1 Are we done yet ? BNE TFRLP If not, xfer the second byte * * Update AD8801 output * BSET PORTD,Y $20 Latch register & update AD8801 * PULA When done, restore registers X, Y & A PULY PULX RTS ** Return to Main Program ** Listing 3. AD8801/AD8803 to MC68HC11 Interface Program Source Code -14- REV. A AD8801/AD8803 OUTLINE DIMENSIONS Dimensions shown in inches and (mm). 16-Pin Plastic DIP Package (N-16) 0.840 (21.33) 0.745 (18.93) 16 1 9 8 0.060 (1.52) 0.015 (0.38) 0.325 (8.25) 0.300 (7.62) 0.195 (4.95) 0.115 (2.93) 0.280 (7.11) 0.240 (6.10) PIN 1 0.210 (5.33) MAX 0.160 (4.06) 0.115 (2.93) 0.022 (0.558) 0.014 (0.356) 0.100 (2.54) BSC 0.130 (3.30) MIN 0.070 (1.77) 0.045 (1.15) SEATING PLANE 0.015 (0.381) 0.008 (0.204) 16-Pin Narrow Body SOIC Package (R-16A) 16 9 0.1574 (4.00) 0.1497 (3.80) PIN 1 1 8 0.2440 (6.20) 0.2284 (5.80) 0.3937 (10.00) 0.3859 (9.80) 0.0688 (1.75) 0.0532 (1.35) 0.0098 (0.25) 0.0040 (0.10) 0.0500 (1.27) BSC 0.0192 (0.49) 0.0138 (0.35) 8 0 0.0196 (0.50) x 45 0.0099 (0.25) 0.0099 (0.25) 0.0075 (0.19) 0.0500 (1.27) 0.0160 (0.41) REV. A -15- -16- C2026-18-4/95 PRINTED IN U.S.A. |
Price & Availability of AD8801 |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |