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.1Compute 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.2Write 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.

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

Page 35

Page 35
Image 35
Diamond Power Products MM-48-AT user manual Generating AN Analog Output, Write the value to the selected output channel