1
Photon transfer performance, to show that the DCDS processor was well behaved. PicoBlaze Soft- Processor 100MHz ADS807 50MHz 12 bit ADC Opal Kelly FrontPanel Interface USB2 to Host (>12Mpix/s) ADC Clock (6.25,12.5 or 25MHz) 25MByte/s data pipe VHDL 12 bit Parallel Data Analogue In+ Analogue In - CCD clock drivers (9 lines) Up/down control 20-bit up/down Accumulator Pulse-burst Generator Reset Trigger Clock-in data Xmit a pixel 4kPix FIFO LED Burst length register Scaling register X X LED on-time register Clock-scale register ADC clock Clock Divider/ Synchroniser 100MHz Active 16-bit Pixel Synch Burst out Implementation of an FPGA-based DCDS video processor for CCD imaging Simon Tulloch European Southern Observatory Hardware Introduction Results [email protected] A small CCD controller with a DCDS processor was built, first to measure the noise spectrum of the E2V CCD231 and then to check the predictions of the modeling. The CCD was mounted directly onto the controller PCB to minimise extraneous noise sources. Edinburgh, June 2016 Modeling technique A A: Spartan 3E-1200 FPGA B: 12-bit 53MHz ADC C: High-gain video amplifier D: Video front end with switchable load E: Clock driver ICs F: Bias generation and trimming G: Switch mode power supply ICs B C D E E F G G G CCD on lower face Opal Kelly XEM3005 FPGA module USB-2 Conclusions 1. Manufacturers quoted spectrum 2. Measured spectrum A small CCD controller implemented in VHDL. The CCD readout sequencing is done with a PicoBlaze soft processor running at 100MHz. Digital Correlated Double Sampling is done with an up/down accumulator from the Xilinx IP generator library. Processed pixels are transmitted to the host PC via the USB interface. Raw ADC values can also be transmitted to allow the noise spectrum of the CCD to be measured. Test image 2304 x 128 pixels. Needed to establish system gain. The noise spectrum of the CCD231 was higher than that quoted by E2V. The best fit to the spectrum was given by: CCD231 should be capable of lower noise than its data sheet suggests. The differential averager CDS scheme is the best all-round performer. Weighted sample schemes offer a small 5-10% advantage but only at very low pixel rates. At a systems level this is a negligible improvement. Analogue bandwidth shoud be >6 x f pix . Between 4 and 10 ADC samples are required per pedestal to maximise performance. So, f ADC should be between 12 and 30 x f pix . Clamp and Sample Differential Averager “Mirrored Exponential” (extra emphasis close to charge-dump event) “Flicker suppression” (reduced gain at low frequencies) A Fourier technique was used to generate synthetic noise waveforms based on the noise spectrum of the CCD provided by the manufacturer. The figure below shows an approximately 1-pixel wide section of a CCD video waveform. The pixel value is the difference between the reference and signal pedestal sections and is measured using a Correlated Double Sampler (CDS) processor. This can be implemented using analogue circuitry or it can be done in the digital domain through the use of a high- speed ADC and an FPGA. In the latter case the processor is known as a Digital CDS. Use of weighted-multiple samples offers the promise of reduced read noise. Modeling was done of the likely performance of various weighted sample schemes and these were then compared with the more traditional “Clamp and Sample” and “Differential Averager” schemes commonly used in analogue processors. FPGA Floorplan 25% Resource usage These synthetic waveforms were then repeatedy multiplied by various CDS transfer functions to find the resultant read noise in units of electrons RMS. Four functions or “schemes” were tested. These are shown below. The analysis was repeated over a wide range of pixel rates and compared with the CCD231 data sheet values. The result is shown below. The same color coding is used as in the above graphics. All plots are better than the data sheet values. The differential averager is the best all-round performer. Synthetic CCD video waveform Weighted waveform. This then needs to be integrated over the pixel period to give the pixel value. CCD video waveform. The task of the CDS is to measure the depth of the –ve going step Only the differential averager was implemented in VHDL. Three different ADC frequencies were investigated. The CCD read noise was measured across a wide range of pedestal widths (pixel time ≈ 3 x pedestal time). The results are shown below together with the theoretical noise one could expect assuming the measured noise spectrum shown above. The DCDS performance came within 0.8 electrons of theory. Problems with the ADC pipeline were suspected. Switch-mode noise Real-world performance of the DCDS processor.

processor for CCD imaging European Southern Observatory ... · Photon transfer performance, to show that the DCDS processor was well behaved. PicoBlaze Soft-Processor 100MHz ADS807

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: processor for CCD imaging European Southern Observatory ... · Photon transfer performance, to show that the DCDS processor was well behaved. PicoBlaze Soft-Processor 100MHz ADS807

Photon transfer performance, to show that the DCDS processor was well behaved.

PicoBlazeSoft-Processor100MHz

ADS80750MHz12 bit ADC

Opal Kelly FrontPanel Interface

USB2 to Host (>12Mpix/s)

ADC Clock (6.25,12.5 or 25MHz)

25MByte/s data pipe

VHDL

12

bit

Pa

ralle

lDat

a

Analogue In+Analogue In -

CCD clock drivers(9 lines)

Up/down control

20-bitup/down

Accumulator

Pulse-burstGenerator

Reset

Trigger

Clock-in data

Xmit apixel

4kPix FIFO

LED

Burst lengthregister

Scalingregister

XX

LED on-timeregister

Clock-scaleregister

ADC clock

ClockDivider/

Synchroniser

100MHz

Active

16-bit

PixelSynch

Burst out

Implementation of an FPGA-based DCDS video

processor for CCD imaging Simon Tulloch

European Southern Observatory

HardwareIntroduction Results

[email protected]

A small CCD controller with a DCDS processor was built, first to measure the

noise spectrum of the E2V CCD231 and then to check the predictions of the

modeling. The CCD was mounted directly onto the controller PCB to minimise

extraneous noise sources.

Edinburgh, June 2016

Modeling technique

A

A: Spartan 3E-1200 FPGA

B: 12-bit 53MHz ADC

C: High-gain video amplifier

D: Video front end with

switchable load

E: Clock driver ICs

F: Bias generation and

trimming

G: Switch mode power

supply ICs

B

C

DEE

F

G G G

CCD on lower faceOpal Kelly XEM3005

FPGA module

USB-2

Conclusions

1. Manufacturers quoted spectrum

2. Measured spectrum

A small CCD controller implemented in

VHDL. The CCD readout sequencing is

done with a PicoBlaze soft processor

running at 100MHz. Digital Correlated

Double Sampling is done with an

up/down accumulator from the Xilinx IP

generator library. Processed pixels are

transmitted to the host PC via the USB

interface. Raw ADC values can also be

transmitted to allow the noise spectrum

of the CCD to be measured.

Test image 2304 x 128 pixels. Needed to establish system gain.

The noise spectrum of the CCD231 was higher than that quoted by E2V. The best fit

to the spectrum was given by:

CCD231 should be capable of lower noise than its data sheet suggests.

The differential averager CDS scheme is the best all-round performer.

Weighted sample schemes offer a small 5-10% advantage but only at

very low pixel rates. At a systems level this is a negligible improvement.

Analogue bandwidth shoud be >6 x fpix.

Between 4 and 10 ADC samples are required per pedestal to maximise

performance. So, fADC should be between 12 and 30 x fpix.

Clamp and Sample Differential Averager

“Mirrored Exponential” (extra

emphasis close to charge-dump

event)

“Flicker suppression” (reduced gain at

low frequencies)

A Fourier technique was used to generate synthetic noise waveforms based on the noise

spectrum of the CCD provided by the manufacturer.

The figure below shows an approximately 1-pixel wide section of a CCD video waveform.

The pixel value is the difference between the reference and signal pedestal sections and is

measured using a Correlated Double Sampler (CDS) processor. This can be implemented

using analogue circuitry or it can be done in the digital domain through the use of a high-

speed ADC and an FPGA. In the latter case the processor is known as a Digital CDS. Use

of weighted-multiple samples offers the promise of reduced read noise. Modeling was done

of the likely performance of various weighted sample schemes and these were then

compared with the more traditional “Clamp and Sample” and “Differential Averager”

schemes commonly used in analogue processors.

FPGA Floorplan

25% Resource usage

These synthetic waveforms were then repeatedy multiplied by various CDS transfer

functions to find the resultant read noise in units of electrons RMS. Four functions or

“schemes” were tested. These are shown below.

The analysis was repeated over a wide range of pixel rates and compared with the CCD231

data sheet values. The result is shown below. The same color coding is used as in the

above graphics. All plots are better than the data sheet values. The differential averager is

the best all-round performer.

Synthetic CCD

video waveform

Weighted waveform. This then needs

to be integrated over the pixel period

to give the pixel value.

CCD video waveform. The task of the CDS is to measure the depth of the –ve going step

Only the differential averager was implemented in VHDL. Three different ADC

frequencies were investigated. The CCD read noise was measured across a wide

range of pedestal widths (pixel time ≈ 3 x pedestal time). The results are shown below

together with the theoretical noise one could expect assuming the measured noise

spectrum shown above. The DCDS performance came within 0.8 electrons of theory.

Problems with the ADC pipeline were suspected.

Switch-mode

noise

Real-world performance of the DCDS processor.