O’Reilly has a great interview up with NASA’s Peter Gluck, project software engineer for the Mars Phoenix Lander. I always find the design and implementation of mission-critical systems interesting. In short, they’re running a radiation-hardened system (the RAD 6000 board) with a 33MHz CPU, 128 megabytes of RAM, and a PCI peripheral interface… pretty advanced stuff for space. This usually surprises people when they first hear about these systems, but the circumstances require proven technology that is hardened against the perils of outer space (for example, the Hubble Space Telescope was recently upgraded to an Intel 486 processor… the Space Shuttle still runs on hardened PDP-11s).
The software is written in C and running on the VxWorks real-time OS… Lockheed Martin (who wrote the control systems) switched from ADA to C a few years back. There are plenty more interesting details in the article. Here are a few teasers:
The RAD 6000 has built in error detection and corrections. So the hardware does RAM scrubbing. There is a RAM scrubbing that occurs on a continuous basis. And beyond that, we have internal fault protection that monitors the health and safety of the software. And if a software task, for example, fails to respond to a ping, we have pings in the system, then the fault protection task will declare that a fault has occurred and will safe the spacecraft. And what that means, by “safeing”, we mean that the spacecraft will enter into a power and communications safe mode where it will just sit and wait for the ground to respond. It’ll basically phone home and say, I’ve got a problem; somebody tell me what to do.
So if it were to completely lock-up, the hardware has to be stroked every 64 seconds. There’s a watch-stop timer. And so if that 64 second period expires, then the hardware resets and the software is rebooted, and hopefully that clears whatever error occurred. Now in the event that that doesn’t work, we have a whole second set of avionics onboard. So the hardware will try to boot to the same side, and if the same side doesn’t come up and start stroking the watch-stop timer, then it will swap to the other side and boot the first side.
Interviewer: Am I right in assuming that there’s very little process separation in the older RAD 6000 boards?
Peter: Exactly… We have strict coding guidelines that we use. We don’t allow dynamic memory allocation, for example.
These are true fail-safe systems… not the stuff we mortal engineers play with. Click HERE to read the rest of the interview.
I saw this video about 6 months back and I was really impressed. The most interesting part to me is after the rocket clears the base… very surreal. As a side note, the Discovery channel is beginning a special this Sunday about the US space program called “When We Left The Earth”. I expect this video to be a part of it.
A few facts about this video:
- The stuff falling from the rocket is ice. The Saturn engines burned liquid hydrogen and oxygen, which is VERY cold.
- The engines generate a strong vacuum, which is why the ice and smoke are initially sucked down into the opening in the launch pad base.
- The short section of dark exhaust coming out of the nozzles (right before the exhaust fire gets bright) is due to the cool liquid hydrogen that is used to cool the nozzles.
Slate asked NASA researchers if it is possible to survive in space without a spacesuit. The surprising answer: “Yes, for a very short time.”
The principle functions of a spacesuit are to create a pressurized, oxygenated atmosphere for astronauts, and to protect them from ultraviolet rays and extreme temperatures. Without it, a spacewalker would asphyxiate from the lack of breathable air and suffer from ebullism, in which a reduction in pressure causes the boiling point of bodily fluids to decrease below the body’s normal temperature. Since it takes a bit of time for these things to kill you, it’s possible to make it through a very quick stint in outer space.
At most, an astronaut without a suit would last about 15 seconds before losing conciousness from lack of oxygen.
How would the unprotected human body react to the vacuum of outer space? Would it inflate to bursting? or would it not? or would just the interior gases hyperinflate?…
You do not explode and your blood does not boil because of the containing effect of your skin and circulatory system. You do not instantly freeze because, although the space environment is typically very cold, heat does not transfer away from a body quickly. Loss of consciousness occurs only after the body has depleted the supply of oxygen in the blood. If your skin is exposed to direct sunlight without any protection from its intense ultraviolet radiation, you can get a very bad sunburn.
The full Goddard post has some interesting stories about past testing accidents involving loss of pressure.