Software
Control of SPINOR is distributed and modular. Control is from the
Java user interface at the DST. Each SPINOR camera acts like a
'Virtual' camera delivering Stokes parameter images created from many
camera exposures. The Polarimeter Control is network based and
consists of two logical devices, each with its own TCP/IP access, one
for Mechanism Control, and one for Polarimeter Synchronization.
Virtual Cameras
Camera computers are PCs running Linux. Cameras receive settings
via TCP/IP. Data are stored locally to disk, then spooled to the
SAN. High speed instrument set up images are displayed on the
camera computer. Quality assurance images are sent via TCP/IP to
the experiment control computer. The cameras are strobed by a
signal from the Polarimeter control computer. The camera computer
receives parallel data through its parallel printer port containing
modulator position. This is used by the camera computer to
send camera frames to the correct buffer. Typically there will be
'f' frames requested from the camera that are accumulated into 's'
modulation states and demodulated into 'd' Stokes parameters.
Frames are accumulated on the fly into the various states. After
all frames are accumulated, they are demodulated into Stokes
parameters, saved to disk, and converted to quality assurance images
and sent to the experiment control computer.
Polarimeter Control
There are two logical sections to the polarimeter control, mechanism
control, and polarimeter synchronization. Mechanism control is
simply a TCP/IP interface to the DST network that translates network
commands to serial commands for the old ASP Mechanism Control Computer,
Snuffy. Snuffy is an embedded 68000 single board computer using
VRTX as its operating system and controlling the mechanisms in the
Calibration Modulation Unit via parallel I/O boards, and Opto-22
relays. The operating system and control code are in PROM on the
board. There is a spare processor and spare parallel I/O boards
and over the lifetime of the ASP, there were never any failures with
this control system.
Polarimeter synchronization is a generalization of the
synchronization of the rotating retarder and timing of the cameras once
performed by the ASP synchronizer computer, cookie. Again this
function has a TCP/IP network interface for commands and status and
uses this information to load settings into a suite of National
Instruments boards. These intelligent boards operate without
intervention from the computer to assure reliable and predictable
timing.
Since drivers for all the National Instruments boards are only
available for Windows, the Polarimeter Control computer uses Microsoft
Windows XP Pro (at least initially). Since the National
Instrument boards operate autonomously, the computer is needed only to
load settings into the boards. Either National Instruments
LabView or NI-DAQ will be used to load
settings into the interface boards.