The July issue of Scientific American magazine has a terrific review of the Voyager space mission that details the trips Voyagers 1 and 2 have made through the Solar System. The article is titled “Record-Breaking Voyager Spacecraft Begin to Power Down.” Both spacecraft have now entered interstellar space and are the first human artifacts to do so. Tim Folger wrote the article for Scientific American. Towards the end of the article, Folger points out that Voyagers 1 and 2 were designed before the advent of the microprocessor and that the mission has lasted 44 years, so far, which is about 40 years longer than the planned design life for the spacecraft.
The article then quotes Stamatios Krimigis, a PhD physicist and space scientist who’s spent more than half a century at the Johns Hopkins Applied Physics Laboratory. Krimigis says, “The amount of software on these instruments is slim to none. On the whole, I think the mission lasted so long because almost everything was hardwired. Today’s engineers don’t know how to do this. I don’t know if it’s even possible to build such a simple spacecraft [now]. Voyager is the last of its kind.”
Now hold on there.
I mean no disrespect to Dr. Krimigis, but he’s somewhat myopic about hardwired circuits. Many of today’s engineers know how to design hardwired logic circuits; we just don’t use TTL or CMOS chips any longer, because that’s an inefficient and outmoded way to design circuits at the board level. Instead, hardware engineers design systems based on FPGAs. We no longer rely solely on schematics for our hardware designs; VHDL and Verilog allow us to develop far more complex logic circuits.
Hardware design for space applications is alive and well and closely tracks the rest of hardware design, and it has migrated to FPGAs. Engineers designing for high-radiation environments in space have developed several radiation-tolerant design techniques for FPGAs including safe FSMs (finite state machines), Hamming-coded FSMs, and Triple Module Redundancy (TMR). Major FPGA vendors including AMD/Xilinx, Lattice, and Microchip (formerly Microsemi and Actel) either have sent devices into space as essential components on various missions or they offer radiation-tolerant FPGAs for space applications, or both.
For example, various Microchip and AMD/Xilinx FPGAs were aboard the twin Spirit and Opportunity Mars rovers and are on the plutonium-powered Perseverance rover currently trundling around on Mars. Also, a Microchip ProASIC3 FPGA buzzed around the thin Martian atmosphere aboard the enormously successful Ingenuity helicopter, serving as an interface to the helicopter’s sensors and servo actuators. (See “An FPGA Flies on Mars.”) Another Microchip FPGA took the express bus to Pluto aboard NASA’s New Horizon’s mission as part of an instrument package designed to measure Pluto’s atmospheric temperature and pressure profiles. These are just a few examples. There are many.
In addition to FPGAs that have flown in space, there are FPGAs that aspire to fly in space. CAES (Cobham Advanced Electronic Solutions) signed an agreement early this year with Lattice Semiconductor and now offers versions of the Certus-Pro NX FPGAs, which are manufactured with a 28nm FDSOI process that’s inherently radiation-tolerant.
Voyager 1 and 2 launched in 1977. That was several years before FPGA’s were invented, so there are no FPGAs on these spacecraft. In addition, the circuit design of the Voyager spacecraft did not rely exclusively on hardwired electronics as you might infer from the Scientific American article. There’s a lot of software onboard these space vehicles. In fact, Voyager 1 and 2 each carry six onboard computers, originally organized as a distributed system consisting of three dual-redundant computers: the Computer Command System (CCS), the Attitude Articulation Control System (AACS), and the Flight Data System (FDS). Without these six embedded computers, which have operated continuously for nearly half a century, the two spacecraft would never have reached the Solar System’s outer planets, and all the scientific data collected by the instruments on board the spacecraft would never have made it back to Earth.
The CCS – designed by the Jet Propulsion Laboratory (JPL) in Pasadena, California – controls all major spacecraft systems, monitors the spacecraft’s health, maintains temperatures inside of the spacecraft, manages the AACS and FDS computers, and controls the eleven onboard scientific instruments by sending them commands. The CCS employs an 18-bit instruction word with a 6-bit opcode and a 12-bit address, and it has an 18-bit data word.
To control development costs, the CCS is nearly identical to the embedded computer developed for the Viking spacecraft that went to Mars, with the addition of interface ports for the FDS and AACS. The CCS is constructed entirely of TTL logic chips, because that’s how things were done in the early 1970s; It was the heyday of the 7400 series TTL family, which was dominated by Texas Instruments. The paired CCS computers use dual-redundant plated-wire read/write memory, which works like magnetic-core memory but uses wire plated with a magnetic coating instead of ferrite beads. The CCS is an interrupt-driven computer and runs bare-metal code. There is no operating system.
The AACS has a very similar architecture to the CCS and therefore also traces its lineage to the earlier Viking spacecraft computer. This computer handles attitude control for the spacecraft and controls articulation of the scan platform, which was mounted on a boom to give the spacecraft’s imaging instruments a moving platform for a better field of view. The AACS controls the spacecraft’s boom servomotors and hydrazine thrusters and is responsible for keeping Voyager’s large dish antenna pointed at the Earth so that contact isn’t lost. Superficially, at least, the architecture of the CCS and AACS seem to have more in common with the Digital Equipment Corporation PDP-9 minicomputer that I learned to program in 1971 than it has with the early 4- and 8-bit microprocessors of the day.
The FDS was custom designed for the Voyager spacecraft because JPL needed a faster computer to format, store, and transmit images (the data that we most identify with the Voyager missions) and to send the spacecraft’s science and engineering telemetry data back to Earth. Unlike the other two computer systems used on Voyager, the FDS is not built with TTL chips. It’s the first computer based on CMOS chips to be flown in space.
Instead of plated-wire memory, the FDS employs volatile CMOS RAM for read/write memory. This choice was heretical in JPL spacecraft design back in the day. JPL preferred nonvolatile memory so that the spacecraft computer could survive a temporary power loss. However, the Voyager spacecraft are powered by plutonium-fueled, nuclear-thermoelectric generators, and the FDS had a direct connection to the generator’s output, so a power loss indicates much bigger problems on the spacecraft than a mere computer glitch.
Part of the data formatting performed by the FDS includes forward error correction (FEC) using Golay coding. As the two Voyager spacecraft get more and more distant, their signals become weaker, the radio channel becomes noisier, and so the signal-to-noise ratio falls. Golay coding allows data sent to Earth to survive three bits of reception error per data word. However, Golay coding also doubles the number of bits sent, thus cutting effective channel bandwidth in half.
JPL enhanced the FDS capabilities on Voyager 2 when the original Jupiter/Saturn mission was extended to the outer planets. The enhancements included image compression and a switch to Reed-Solomon FEC for image processing. Reed-Solomon codes incur significantly less overhead than the original Golay FEC code and are now widely used for data storage and communications applications. The Voyager FDS software was a pioneer in its use of this coding algorithm.
Both FDS enhancements allow Voyager 2 to push more data through the increasingly diminished radio bandwidth as the spacecraft travels farther and farther away from Earth, but at a cost. The enhancements require full-time use of the second, redundant FDS computer for the new image-processing algorithms because one FDS computer is no longer sufficient to run all the FDS software. So, the price for the enhancements was a loss of FDS redundancy. It’s important to note that the enhancements were possible only because they could be uploaded to Voyager’s computers as software upgrades.
The CCS, AACS, and FDS constitute a sophisticated, distributed, dual-redundant, embedded computer system that JPL designed and built into the Voyager spacecraft. It was the instruments on the spacecraft that lacked computers and software. This is one of the odd ways that the US builds uncrewed spacecraft for scientific missions. The main mission owner is JPL, which designs and assembles the spacecraft from components made by contractors. JPL is the system integrator. But the JPL spacecraft are trucks or buses that carry instruments to a destination, and those instruments are usually designed and built by a variety of academic consortia and research labs, including the Johns Hopkins Applied Physics Laboratory.
Voyager’s instruments did not have the power budgets or the available time for custom computer development, and microprocessors were far too new at the time, so the electrical engineers working on these projects created simpler systems using hardwired logic.
The eleven instruments on the two identical Voyager spacecraft are:
- Imaging Science Subsystem: a two-camera video system, with one narrow-angle camera and one wide-angle camera. The system used monochrome, slow-scan vidicon tubes and as many as eight filters per camera in a filter wheel to generate monochrome, color, and UV images.
- Radio Science Subsystem: used the spacecraft’s radio systems to determine the physical properties of planetary and satellite ionospheres and atmospheres and determine their masses, gravity fields, and densities during encounters with these bodies.
- Infrared Interferometer Spectrometer: a Michelson interferometer and a single-channel radiometer that measured the composition of planets’ and satellites’ atmospheres.
- Ultraviolet Spectrometer: measured atmospheric properties and atmospheric radiation in the UV band (400 to 1600 A).
- Triaxial Fluxgate Magnetometer: designed to investigate the magnetic fields of Jupiter and Saturn, the solar-wind interaction with the magnetospheres of these planets, and the interplanetary magnetic field out to the solar wind boundary and beyond.
- Plasma Spectrometer: investigated the macroscopic properties of plasma ions and measured electrons in the energy range from 5 eV to 1 keV.
- Low Energy Charged Particle Instrument: designed to study energetic particles including electrons, protons, alpha particles, and heavier nuclei in both planetary and interplanetary environments.
- Cosmic Ray Subsystem: a High-Energy Telescope System (HETS) and a Low-Energy Telescope System (LETS) that studied the origin, life history, and dynamic contribution of interstellar cosmic rays, element nucleosynthesis in cosmic-ray sources, the behavior of cosmic rays in the interplanetary medium, and trapped energetic particles in the planetary environment.
- Planetary Radio Astronomy Investigation: studied the physics of magnetospheric plasma resonances and nonthermal radio emissions using a swept-frequency radio receiver operating in two polarization states at frequencies ranging from 20kHz to 40.5MHz.
- Photopolarimeter Subsystem: an 8-inch Cassegrain telescope with a polarizer and filters for eight bands in the 2200A to 7300A spectral region that feeds a photomultiplier tube, used to study surface texture and composition of planets, to capture information about the size distribution and composition of the bodies in planetary rings, and to obtain information on atmospheric scattering properties and density for the atmospheres of the planets.
- Plasma Wave Subsystem: a 16-channel, step-frequency receiver and a low-frequency waveform receiver used to provide continuous, sheath-independent measurements of the electron-density profiles at Jupiter, Saturn, and the other visited planets.
These instruments helped to alter our understanding of the Solar System. We also know from these instruments, at least the ones still powered up and working, that the two Voyager spacecraft have now traveled beyond the Solar System’s boundary and into interstellar space.
In addition to these eleven scientific instruments, the Voyager spacecraft carry a gold-plated LP record that encodes sounds and images, just in case one or both spacecraft are discovered by other civilizations eons from now. One of the sounds on the record is a message from Jimmy Carter, who was president when the Voyagers launched. Carter said, “We cast this message into the cosmos.”
Along with these recordings, we sent these other civilizations early examples of our embedded computer technology, circa the middle 1970s. With their snail-like clock rates and tiny memories, these computers may seem very primitive by today’s standards. But so far, they have shepherded the Voyagers for nearly 50 years, over billions of miles and through intense radiation belts, while continuing to send priceless scientific data back to Earth.
For more information about the Voyager spacecraft and its embedded computer systems, I recommend a wonderful 2019 presentation made by Aaron Cummings, titled “Uptime 15,364 days – The Computers of Voyager.” You’ll find it on YouTube, here.