We describe the design and implementation of a controller-area-network bus (CANbus) monitor and control system for a millimeter wave interferometer. The Combined Array for Research in Millimeter-wave Astronomy (CARMA) is a 15-antenna connected-element interferometer for astronomical imaging, created by the merger of two university observatories. Its new control system relies on a central computer supervising a variety of subsystem computers, many of which control distributed intelligent nodes over CANbus. Subsystems are located in the control building and in individual antennas and communicate with the central computer via Ethernet. Each of the CAN modules has a very specific function, such as reading an antenna encoder or tuning an oscillator. Hardware for the modules was based on a core design including a commercial CANbus-enabled single-board computer and some standard circuitry for interfacing to peripherals. Hardware elements were added or changed as necessary for the specific module types. Similarly, a base set of embedded code was implemented for essential common functions such as CAN message handling and time keeping and extended to implement the required functionality for the different hardware. Using a standard CAN messaging protocol designed to fit the requirements of CARMA and a well-defined interface to the high-level software allowed separate development of high-level code and embedded code with minimal integration problems. Over 30 module types have been implemented and successfully deployed in CARMA, which is now delivering excellent new science data.
Bibliographical noteFunding Information:
Many people have contributed to the embedded code, the hardware design and development, and the fabrication and testing of the many CAN modules. In particular, we would like to thank Mark Hodges for design and construction of much of the hardware, David Hawkins for advice on FPGA implementation and code, Frank Di Donna for circuit layout, and Derrick Key, Freeman Spratt, and Ellen LaRue for construction. We gratefully acknowledge the financial support of the Gordon and Betty Moore Foundation, the Kenneth and Eileen Norris Foundation, the Associates of the California Institute of Technology, and NSF through Grant Nos. AST-9977420 and AST-0116558.