An analog to digital converter AD7823 by ANALOG
DEVICES will be discussed in this document.
Reasons why this particular chip is being chosen are as following:
1. build in
track and hold function
2. Input Supply
Voltage (VDD) Range: 2.7V to 5.5V
Reference input range: 0V to VDD
Analog input range depends on VREF which gives more flexibility.
3. 8 pins
package which is easy to get connected to the FPGA.
4. Low power
consumption
Brief description of how the AD7823 works
The serial
interface of the AD7823 consists of 3 wires, a serial clock input SCLK,
serial port enable CONVSTand a serial data output DOUT. The
converting cycle will start when the CONVST input signal goes to high.
The CONVST signal will be set back to low in order for it to have a rising
edge for next cycle. Data is clocked out from the DOUT line
on the first rising SCLK edge after the rising edge of the CONVST signal
and on subsequent SCLK rising edges. A 1us(max) power-up time and 4.5us(max)
conversion time will be needed before the first rising edge of the SCLK
signal. There is also a 10ns(max) of the SCLK rising edge to DOUT
Data Valid Delay. The first bit data out is the least significant bit (LSB)
of the 8 bit output signal.
In order to get the ADC works, the following codes must
be saved and compiled in your own directory.
The codes must be compiled in the the following orders:
1. ADC_pkg.vhd
- ADC_pkg includes all the components
need for the ADC interfacing
2. DFlip.vhd
- DFlipFlop is a 1 bit register which
is needed for the shift register.
- for there is max 10 ns of the SCLK
rising edge to DOUT Data Valid Delay, process is being taken
with the falling edge of the clk
3. shReg.vhd
- with ADC7823, a 8 bit shift register
is needed
- If you needed a different number
of bit of a shift register, this shift register can be reused by changing
the generic.
4. clk_divider.vhd
- this specific clock divider is only
for doubling up the clock period of the input clock.
- if you need a clock divider with
a different output clock period, clk_divider1.vhd
will be useful.
5. ADC.vhd
- ADC.vhd will be controlled by the
main program, which will send the input signal ack to the ADC.vhd.
- ADC.vhd program will then send the
appropriate signal at the appropriate time to the ADC chip, in order for
it to get the correct output.
6. ADCcontroller.vhd
- this program will control the number
of samples in a sec.
reference