AD8803 Analog Devices, AD8803 Datasheet - Page 11

no-image

AD8803

Manufacturer Part Number
AD8803
Description
Octal 8-Bit TrimDAC with Power Shutdown & Mid-Scale Preset
Manufacturer
Analog Devices
Datasheet

Specifications of AD8803

Resolution (bits)
8bit
Dac Update Rate
1.7MSPS
Dac Settling Time
600ns
Max Pos Supply (v)
+5.5V
Single-supply
Yes
Dac Type
Voltage Out
Dac Input Format
Ser,SPI

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AD8803
Manufacturer:
LT
Quantity:
28
Part Number:
AD8803A
Manufacturer:
AD
Quantity:
11
Part Number:
AD8803AR
Manufacturer:
ADI/亚德诺
Quantity:
20 000
Part Number:
AD8803ARZ
Manufacturer:
ADI/亚德诺
Quantity:
20 000
REV. A
The subroutine begins by setting appropriate bits in the Serial
Control register to configure the serial port for Mode 0 opera-
tion. 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 re-
turned 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 there-
fore 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 in-
struction, 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.
; 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
DAC_VALUE
DAC_ADDR
LOOPCOUNT
LD_8803:
SEND_SERIAL:
DATA
DATA
ORL
RLC
DATA
DATA
;
ORG
CLR
MOV
MOV
RR
RR
RR
ACALL
MOV
MOV
ACALL
SETB
RET
MOV
CLR
SETB
DJNZ
RET;
END
Listing 2. Software for the 8051 to AD8801/AD8803 Parallel Port Interface
90H
40H
41H
43H
100H
PORT1,#11110000B
PORT1.5
LOOPCOUNT,#3
A,DAC_ADDR
A
A
A
SEND_SERIAL
LOOPCOUNT,#8
A,DAC_VALUE
SEND_SERIAL
PORT1.5
A
PORT1.7,C
PORT1.6
PORT1.6
LOOPCOUNT,SEND_SERIAL
–11–
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 re-
peatedly 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 per-
formed. This places the DAC address in the 3 MSBs of the ac-
cumulator. 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.
;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
AD8801/AD8803

Related parts for AD8803