Computers in Space Examined
Wil Harris writes "There's an article about the computers used in space missions over at bit-tech this morning. It covers the processor types and speeds, why space stations are less powerful than the laptops that astronauts take up with them and why tape storage is still de rigeur. An interesting and concise couple o' pages."
Dave Mills (inventor of NTP) told me that on the last Columbia shuttle mission, they were running some experiments with NTP in space. And, thankfully, they transmitted all their data before landing. But apparently, they were so overworked, they didn't have time to calibrate the machine properly, so sadly, the data is useless.
To make laws that man cannot, and will not obey, serves to bring all law into contempt.
--E.C. Stanton
Just like Cassini, the Hubble also has on-board solid state recorder (installed during one of the servicing missions), which replaced an old tape recorder. This has been really a nice addition as we can store more data into the solid state device while collecting data bits and dump them when the downlink becomes available. It really helps increase the efficiency of the satellite (and that's a big thing for science mission).
[Note that I've simplified the scheme alot here.]
Though several sections of the device have been damaged by radiation, or something, I hear. So even these things aren't too resilent to the harsh space environment, yet. Something you future engineers should think about as a project.
see http://spaceflight.nasa.gov/gallery/images/station /crew-1/hires/iss01e5127.jpg
An embedded machine, OTOH, is designed to do one, or a very small range of things, very well, very reliably, and very efficiently. I have had the fortune of working on two space based projects. In the first we used a single board Z80 based space hardened 'computer' to control a simple set of devices. It stored the ASM code in an EEPROM. It was more complex than we needed, as it was a standard issue unit, but much simpler than the Apple ][ we used as the GPC.
On the second project, 10 years later, we were not using incredible different machines on the satellite, though the GPC was now a Wintel machines with 100X the memory and speed. But when your main concern is that things just have to work, processor speed and OS wars have little meaning.
So these stories about how underpowered and behind the times embedded systems are just annoys me. It is just like continuous burns on SciFi shows(kudos to Babylon 5). Perhaps meaningless power is important to the ignorant masses, but we on /. are supposed to know better. I was using a tape drive until at least '87, just because It Worked.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
They are not useing the junk tape drives that you were using, but quality stuff. Mainframes have always put most of their data on tapes drives, and they rarely have problems.
Course a mainframe tape drive can cost $30,000 each, (not counting the robots that load them) so you can see why home users don't get that quality.
The controller for the SSME (Space Shuttle Main Engine) uses a pair of 68000 processors. It is a very critical system. If something starts to go wrong with the engine, it has to detect the problem and shut the engine down before it progresses to a catastrophic failure. It uses two redundant processors for reliability. Each engine has its own controller.
Old microprocessors like the 80386 and the 68000 were the last commercial processors before cache, pipelines and other trickery made timing analysis difficult or impossible. Some people have used DSPs for controllers because they still offer predictable timing.
Mea navis aericumbens anguillis abundat
There was a slashdot article on this a long, long ago...this might be it (not original, however):
They Write The Right Stuff
It's a must read for programmers at mission critical stuff.