: A new detectorat
High Time Resolution Optical Astrophysics, Royal Astronomical Society, London
April 12, 2013
We are developing a new CCD controller intended for high time-resolution observations using both
conventional and electron-multiplying CCDs. We have tried to incorporate as many features as possible
into our design, such as an integrated data-acquisition PC, a 1GB image store, a microcontroller-based
temperature servo able to directly power Peltier coolers, a shutter controller, a high-voltage clock
generator for EMCCDs and an integrated power supply.
Read-out sequencing and ADC control is
performed using a Xilinx Spartan-3 FPGA. This allows high-speed data acquisition and buffering across
several parallel channels.
The FPGA communicates with the DAS PC over a USB link, the PC then links to the outside world via
gigabit-Ethernet. Our prototype contains just two data acquisition channels that can run at up to
3Mpix/s but we intend to expand this to eight 10Mpix/s channels for our final design. We also intend
to integrate the functions of the DAS PC and FPGA sequencer into a single device such as the Xilinx
Zynq processor. This will also implement a server allowing users to operate the controller via a series of
web pages. We have recently completed the prototype hardware for this controller and are now
looking for partners to allow us to continue the development.
The prototype controller has been built to evaluate our concept of an integrated controller/DAS PC combiation. It will
allow us to investigate potential noise issues, gain experience with FPGA programming and serve as a test bed for highlevel sofware. We also hope to use the controller for GRB observations at the Črni Vrh observatory.
Our next controller will have up to 8 video processor channels and a target pixel rate of 10MHz/Channel. The data
acquisition PC will be incorporated into a “system-on-a-chip” (SOC ) device such as the Xilinx Zync. Both EMCCD and
conventional CCDs will be supported. The same two-level board geometry will probably be used, with a single large
analogue board implementing clock and bias generation with a smaller mezzanine-mounted digital board containing
the SOC and data converters.
Digital interface board
Clamp and sample
The controller will provide a high-level communication interface with the observing system. Because
of the fully capable Linux computer serving as a front end to the clocking circuit, the user programs do
not need to worry about any hardware-specific details of the electronics. The default communication
interface will be provided provided by CORBA in addition to the HTTP interface. The front-end
computer contains a web server which serves the pages for camera-status monitoring and the setting
of the working parameters through a customised GUI.
Top view of future controller
Data is acquired and buffered from the ADCs by the
FPGA module. This is then transmitted to the
backplane-mounted PC via a USB2 interface.
An FPGA is a programable logic device whose
hardware can be configured to implement
any digital function, from a simple ADC
interface to a complete CPU. The FPGA logic
is described using ether the VHDL or Verilog
Peltier access hole
Differential analogue inputs
16 bit ADCs > 20MHz
The test camera is cooled by an 8W 2stage Peltier cooler. A specially
machined detector PCB is used to
allow cooling to 50oC below ambient.
The camera is hermetically sealed but
operated at ambient pressure. It
contains an E2V CCD97 which allows
us to evaluate controller performance
with both its conventional low noise
output and also its high-speed
soldered directly onto
back of the internal PCB.
Pixel rate /channel
Maximum clock rate
EMCCD compatible ?
Integrated DAS ?
file into controller
EMCCDs are able to give very high
pixel rates with very low noise.
They are easily capable of
detecting single photons at multiMHz pixel rates.
Dr. Simon Tulloch
Dr. Jure Skvarč
the analogue board
The backplane not only mounts the DAS
PC and the power-supply but also
contains a shutter driver, powerconditioning circuitry, a high-voltage
generator, a programmable temperature
controller and a Peltier driver.
EMCCD-based test camera attached to controller
The head-board video preamplifiers
produce a differential output i.e.
consisting of two versions of the video
signal of opposing phase. When received
in the controller, these signals are then
recombined in a way that removes any
common-mode noise. This suppresses
pattern-noise in the images.
Controller performance parameters
40W Power supply
Underside of detector head-board PCB
slots bridged by
Side view of future controller
1.6GHz Intel Atom based Linux PC
2GB RAM, 8GB Flash disc.
Spartan-3E FPGA module implementing
clock sequencer and ADC/DAC interface
Waveform viewer tool
to CCD head
2GB RAM module socketed on under-side
Sequencer outputs Low-speed
(CCD clock outputs) DAC interface
The CCD engine could find many additional
applications in the field of high-speed data acquisition.
It could be piggyback mounted onto other analogue
boards, for example one optimised for the control of
CMOS image sensors. Development of this engine will
comprise the major part of our proposed future
Differential analogue inputs
The readout waveforms and other FPGA parameters
are loaded into the FPGA through the USB port. The
waveforms consist of clocking units which are
combined and iterated through a sequencer. Each
clocking unit defines a meaningful action of the
waveform generator, such as parallel image shift,
serial shift, etc. The clocking unit can define
up to 64 digital signals within the FPGA, half of
which are available to the CCD clocks and the rest
are used for internal FPGA controls, such as
triggering the ADC conversion.
The new controller therefore provides a level of abstraction which shields the CCD engineer from
learning FPGA programming yet provides full control over the clocking sequences and the sensor
configuration. Another abstraction exists at the application level where standard communication
protocols are used to command the controller and retrieve images. It is hoped that this approach will
simplify usage of the CCD yet preserve full flexibility for the interfacing and tuning of different
Waveform definition file
FPGA board to PC
Data can be stored locally within the controller, in
Flash or SSD memory, or sent over a Gigabit
Digital interface mounted on base
of the analogue board
reserve for orderly
shutdown in event
of power failure.
on lower side
The user does not need to know any implementation details of the FPGA design. Instead the clocking
units are defined using a custom controller definition language which allows setting of the clocking
levels and other analog outputs, definition of clocking units and definition of the readout sequences
which define the readout waveform and data readout. The definition language is very minimalistic so
it is easy learn and understand. Before uploading the clocking units to the controller they can be
simulated and verified by a waveform viewer.
SOC or “system on a chip”
devices are a logical choice
for a high speed CCD
controller.They conisist of
one or more CPUs surrounded
by a matrix of programmable
logic. This logic can be
sequencer and ADC/DAC
interfaces whilst leaving the
CPU to implement the highlevel software and controlGUI web servers.
The Xilinx Zynq is a powerful example of an SOC device. It
contains built-in memory controllers , ethernet and USB
interfaces and a huge number of user I/O pins that can be
dedicated to CCD clocks and the control of video