Hacker News new | ask | show | jobs
by duckson 4240 days ago
I don't know about Philae/Rosetta's hardware in particular, but there are very specific requirements to hardware that's sent into space.

I'm using the Mars Science Laboratory as an example here:

The MSL uses twin PowerPC RAD750 boards. If one of them fails, the rover could use the other as a backup. After all, you can't go out to Mars to fix a firmware update gone wrong. :) The RAD750's are hardened against radiation in space, and can withstand extreme temperatures. They run at about 200Mhz, and cost around $200.000 a piece. [1] [2]

It runs the realtime operating system VxWorks, which also happens to be what Apple uses for their Airport routers. :) [3]

NASA uses C as their main language, with specific coding standards. [4]

[1] http://en.wikipedia.org/wiki/Mars_Science_Laboratory#Rover [2] http://en.wikipedia.org/wiki/RAD750 [3] http://www.extremetech.com/extreme/134041-inside-nasas-curio... [4] http://lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf

2 comments

If one of them fails, the rover could use the other as a backup

Any idea how that works practically? I mean, there are two boards and one set of peripherals. Is there like an external controller which constantly checks if board A is doing fine, and if not, somehow reroutes all peripheral communication to board B?

The NASA website seems to imply that it's done manually: http://mars.jpl.nasa.gov/msl/mission/rover/brains/

Presumably there's some basic functions in the radio stack they use where they can trigger operations like shutdown, startup, reboot, switch boards etc.

NASA normally has pretty low-level stuff. To the point of being able to do full firmware updates — though obviously that's something they don't want to risk ordinarily.
Philae runs on an RTX2010 microprocessor: http://en.wikipedia.org/wiki/RTX2010