Diamond Power Products MM-48-AT User Manual

Page 35

Advertising
background image

Diamond-MM-48-AT User Manual V1.01

Page 35

11. GENERATING AN ANALOG OUTPUT

This chapter describes the steps involved in generating an analog output (also called
performing a D/A conversion) on a selected output channel using direct programming (not
with the driver software).

There are three steps involved in performing a D/A conversion:

1. Compute the D/A code for the desired output voltage
2. Write the value to the selected output channel
3. Update the D/A

11.1 Compute the D/A code for the desired output voltage

D/A code = desired output voltage in mV

Note: The DAC cannot generate the actual full-scale reference voltage; to do so would
require an output code of 4096, which is not possible with a 12-bit number. The maximum
output value is 4095. Therefore the maximum possible output voltage is 4.095V, 1mV less
than the full-scale voltage of 4.096V.

11.2 Write the value to the selected output channel

First use the following formulas to compute the LSB and MSB values:

LSB = D/A Code AND 255 ;keep only the low 8 bits

MSB = int(D/A code / 256) ;strip off low 8 bits, keep 4 high bits

Example: Output code = 1776

LSB = 1776 AND 255 = 240 (F0 Hex); MSB = int(1776 / 256) = int(6.9375) = 6

(In other words, 1776 = 6 * 256 + 240)

Then write these values and the D/A channel no. to the board:

Write LSB to Base + 0

Write MSB to Base + 1

Write the channel no. to Base + 7

11.3 Update the D/A

Write a 1 to the DAUPD bit in Base + 7 to update the D/A.

To update several channels simultaneously, follow steps 1 and 2 for each channel. After all
channel data has been written, write a 1 to the DAUPD bit, and all channels with new data
will be updated simultaneously.

Advertising