The SZA uses a novel, distributed control system to control the various elements
of the observatory. Designed in conjunction with the control system for the
Combined Array for Research in Millimeter-wave Astronomy
(CARMA), the control system is divided up intelligent nodes each with
a specific function. Examples include a node to control the temperature regulation
of the electronics enclosure, a node position the tertiary mirrors of the individual
telescopes, and a node to control and monitor the cryogenic amplifiers in the
radio-frequency receivers. Many nodes were developed jointly for the SZA and CARMA, while
some are unique to each array. The majority of the nodes contain an NXP XAC 16-bit
processor that hosts an embedded operating system to receive commands and send monitoring
data over a control-area-network bus (CANBus).
The implementation of this network is described in Lamb, et al. (2007) and is available
in pdf format here.
In particular, I was responsible for the implementation, debugging, and programming for
three nodes. In partiuclar, I implemented the SZA Calibrator and Tertiary module (CALTERT),
the SZA Receiver Bias module (RXmod), and the Local-oscillator Reference module (LORef).
I also assisted with the implementation of the module responsible for tuning and monitoring
the Bias-Tuned Gunn oscillator (BTGmod). This process involved developing the XAC operating
system using C with a proprietary embedded compiler (TaskingXA) while making sure the
physical layout of the electronic components ensured that the cards perfomed according to spec.
The cards themselves were a mix of analog (for receiver bias lines), digital (state machines and
FPGAs) and radio-frequency (oscillator signals, phase-locked loops, etc.) circuitry, which provided
challenges considering the low noise requirements for the science goals of the observatory.
I have experince designing circuits, from the conception phase to installation, including
drawing schematics, laying footprints, programming, debugging, and integration. I have made
heavy use of the ORCAD PCB Design software, as well
as experience programming embedded processors such as the
phyCORE XAC3
using embedded compilers (e.g. Tasking).