The AAO's new AAO2 detector controllers can handle both infra-red detectors and optical CCDs. IR detectors in particular place considerable demands on a data handling system, which has to get the data from the controllers into the data processing chain as efficiently as possible, usually with significant constraints imposed by the need to read out the detector in as smooth a manner as possible. The AAO2 controller makes use of a VME chassis that contains both a real-time VxWorks system and a UNIX system. These share access to common VME memory, the VxWorks system reading from the controller into the shared memory and the UNIX system reading it from the shared memory and processing it. Modifications to the DRAMA data acquisition environment's bulk-data sub-system hide this use of VME shared memory in the normal DRAMA bulk-data API. This means that the code involved can be tested under UNIX, using standard UNIX shared memory mechanisms, and then deployed on the VxWorks/UNIX VME system without any code changes being needed. When deployed, the data transfer from the controller via VxWorks into the UNIX-based data processing chain is handled by consecutive DMA transfers into and out of VME memory, easily achieving the required throughput. We discuss aspects of this system, including a number of the less obvious problems that were encountered.
[1]
Don Mayfield,et al.
AAO2: a general purpose CCD controller for the AAT
,
2004,
SPIE Astronomical Telescopes + Instrumentation.
[2]
Keith Shortridge,et al.
DRAMA: an environment for distributed instrumentation software
,
1995,
Defense, Security, and Sensing.
[3]
G. A. Croes,et al.
FITS++: An Object-Oriented Set of C++ Classes to Support FITS
,
1997
.
[4]
Tony Farrell,et al.
IRIS2: a working infrared multi-object spectrograph and camera
,
2004,
SPIE Astronomical Telescopes + Instrumentation.
[5]
J. Bailey.
A Self-Defining Hierarchical Data System
,
1992
.
[6]
Peter Biereichel,et al.
The VLT Real Time Display
,
1996
.