8. PERFORMING AN A/D CONVERSION

This chapter describes the steps involved in performing an A/D conversion on a selected input channel using direct programming (not with the driver software). This describes the basic operation of a single A/D conversion without interrupts. For a more complete description including interrupts and all register control bits, see chapter 9.

There are five steps involved in performing an A/D conversion:

1.Select the input channel

2.Wait for analog input circuit to settle

3.Trigger an A/D conversion

4.Wait for the conversion to finish

5.Read the data from the board

6.Convert the numerical data to a meaningful value

8.1Select the input channel

To select the input channel to read, write a low-channel/high-channel pair to the channel register at base + 2. (See Chapter 6). The low 4 bits select the low channel, and the high 4 bits select the high channel. When you write any value to this register, the current A/D channel is set to the low channel.

For example:

To set the board to channel 4 only, write 0x44 to Base + 2.

To set the board to read channels 0 through 15, write 0xF0 to Base + 2.

Note: When you perform an A/D conversion, the current channel is automatically incremented to the next channel in the selected range. Therefore, to perform A/D conversions on a group of consecutively-numbered channels, you do not need to write the input channel prior to each conversion. For example, to read from channels 0 - 2, write Hex 20 to base + 2. The first conversion is on channel 0, the second will be on channel 1, and the third will be on channel 2. Then the channel counter wraps around to the beginning again, so the fourth conversion will be on channel 0 again, and so on.

If you are sampling the same channel repeatedly, then you set both high and low to the same value as in the first example above. Then on subsequent conversions you do not need to set the channel again.

8.2 Wait for analog input circuit to settle

After writing to the channel register (Base + 2), you must allow time for the analog input circuit to settle before starting an A/D conversion. The board has a built-in 10s timer to assist with the wait period. Monitor the ADBUSY bit at Base + 9 bit 7. When it is 1 the circuit is actively settling on the input signal, or else the board is currently performing and A/D conversion or scan. When it is 0 the board is ready to perform A/D conversions.

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

Page 28

Page 28
Image 28
Diamond Power Products MM-48-AT user manual Performing AN A/D Conversion, Wait for analog input circuit to settle