Block: ADC (
Block Author: Pierre Yves Droz
Document Author: Ben Blackman
The ADC block converts analog inputs to digital outputs. Every clock cycle, the inputs are sampled and digitized to 8 bit binary point numbers in the range of [-1, 1) and are then output by the adc.
|ADC board||adc_brd||Select which ADC port to use on the IBOB.|
|ADC clock rate (MHz)||adc_clk_rate||Sets the clock rate of the ADC, must be at least 4x the IBOB clock rate.|
|ADC interleave mode||adc_interleave||Check for 1 input, uncheck for 2 inputs.|
|Sample period||sample_period||Sets the period at which the adc outputs samples (ie 2 means every other cycle).|
|sim_in||IN||double||The analog signal to be digitized if interleave mode is selected. Note: For simulation only.|
|sim_i||IN||double||The first analog signal to be digitized if interleave mode is unselected. Note: For simulation only.|
|sim_q||IN||double||The second analog signal to be digitized if interleave mode is unselected. Note: For simulation only.|
|sim_sync||IN||double||Takes a pulse to be observed at the output to measure the delay through the block. Note: For simulation only.|
|sim_data_valid||IN||double||A signal that is high when inputs are valid. Note: For simulation only.|
|oX||OUT||Fix_8_7||A signal that represents sample X+1 (Ex. o0 is the 1st sample, o7 is the 8th sample). Used if interleave mode is on.|
|iX||OUT||Fix_8_7||A signal that represents sample X+1 (Ex. i0 is the 1st sample, o3 is the 4th sample). Used if interleave mode is off.|
|qX||OUT||Fix_8_7||A signal that represents sample X+1 (Ex. q0 is the 1st sample, q3 is the 4th sample). Used if interleave mode is off.|
|outofrangeX||OUT||boolean||A signal that represents when samples are outside the valid range.|
|syncX||OUT||boolean||A signal that is high when the sync pulse offset by X if interleave mode is unselected, or 2X if interleave mode is selected is high (Ex. sync2 is the pulse offset by 2 if interleave is off or offset by 4 if interlave is on).|
|data_valid||OUT||boolean||A signal that is high when the outputs are valid.|
The ADC block can take 1 or 2 analog input streams. The first input should be connected to input i and the second to input q if it is being used. The inputs will then be digitized to
Fix_8_7 numbers between [-1, 1). For a single input, the
adc samples its input 8 times per IBOB clock cycle and outputs the 8 samples in parallel with o0 being the first sample and o7 the last sample. For 2 inputs, the
adc samples both inputs 4 times per IBOB clock cycle and then outputs them in parallel with i0-i3 corresponding to input i and q0-q3 corresponding to input q. In addition to having 2 possible inputs, each IBOB can interface with 2
adcs for a total of 4 inputs or 2 8-sample inputs per IBOB.
Connecting the Hardware
To hook up the ADC board, attach the clock SMA cable to the clk_i port, the first input to the I+ port, and the second input to the Q+ port. Check the hardware on the ADC board near the input pins. There should be for 4 square chips in a straight line. If there are only 3, the second input, Q+, may not work. Note that if you chose
adc0_clk, make sure to plug the ADC board in to the adc0 port. The same applies if you chose
adc1_clk to plug the board into adc1 port. If you are using both ADCs, then you need to plug a clock into both clk_i inputs and you should probably run them off of the same signal generator.
ADC Background Information
The ADC board was designed to mate directly to an IBOB board through ZDOK connectors for high-speed serial data I/O. Analog data is digitized using an Atmel AT84AD001B dual 8-bit ADC chip which can digitize two streams at 1 Gsample/sec or a single stream at 2 Gsample/sec. This board may be driven with either single-ended or differential inputs.