Los procesadores espaciales



Viajar al espacio es todo un desafío, no sólo afecta al cuerpo del astronauta en numerosas formas, sino que, además, todo circuito electrónico la puede pasar realmente muy mal.

Aquí en la Tierra tenemos varios métodos naturales que protegen todo lo que hacemos, desde nuestro campo electromagnético hasta nuestra misma atmósfera, pero más allá de la estratósfera no es nada sencillo.

Todo circuito electrónico puede ser vulnerado por rayos cósmicos, radiación gama, núcleos de átomos a velocidades casi lumínicas, electromagentismo, radiación ionizante, un largo etcétera que requiere que estos circuitos esten preparados para soportar las inclemencias cósmicas.

Entonces ¿Cómo hacen para sobrevivir las sondas espaciales? ¿Acaso usan otros procesadores? Pues sí, aquí un repaso de los procesadores espaciales...



La mayoría de los semiconductores son suceptibles a cualquier interferencia, va en su propia naturaleza, una carga eléctrica externa podría freír cualquier circuito salvo que se lo prepare para esto.

Una de las formas es la de crear un escudo alrededor del chip, otra es hacerlos bien, bien gruesos, y me refiero a literalmente gruesos. En vez de pocos nanómetros entre cada circuito, micrómetros, es decir: procesadores viejos.

Suena ridículo pero así es, cuando más moderno y más miniaturizado más fácil de arruinar cada bit que pase por ellos, no implica que se rompa el procesador pero sí que el resultado de un cálculo no tenga nada que ver con lo que se esperaba. Bueno, sí, también se pueden freír, pero por eso se crean con escudos especiales para tratar de evitar la radiación más potente o parte de su influencia, pero fácilmente pueden cambiar un 0 por un 1 y alterar su funcionamiento.

Por esto muchos satélites y sondas se fabrican con MUCHA redundancia en sus circuitos, mejor triplicar que equivocarse. A tal punto afectan los circuitos que rayos gamma de protones pueden hasta alterar las características semiconductoras de un material. Por su parte las radiaciones ionizantes suelen durar menos tiempo en sus efectos y crear glitches a cada rato, dando valores erróneos.

Entonces los cambios son no sólo físicos, para preservar la lógica interna y el semiconductor, sino lógicos, realizando los cálculos más de una vez, con corrección de error y muchos métodos también utilizados en telecomunicaciones.



Los primeros procesadores para sondas de espacio profundo como las Pioneer 10 y 11 fueron creados ad-hoc para la misión, eran bastante rudimentarios y sus puertas lógicas estaban creadas más artesanalmente, era pesado pero no se veía afectado. Las Viking, por su parte, utilizaron procesadores de General Electric de 18 bits, la memoria era con cableado de plata de 4096 palabras, apenas procesaba unas 25.000 instrucciones por segundo.

Las Voyager, que todavía continúan funcionando (aunque algo golpeadas por los años) usan varios procesadores de este tipo, la más potente es la de control de vuelo con un diseño CMOS, 128 registros y 8096 palabras para la RAM de 16 bits, alcanza las 80.000 operaciones por segundo.

El transbordador espacial tenía varios CPU también, desde un RCA 1801 a un Intel 8086, la computadora APA-101S , más bien, tenía cinco de ellas por redundancia (eso es querer que todo salga bien) llegaban a los 1.2MIPS y su memoria era de Core Rope de la que ya hablé en otro artículo anterior, que es mucho más resistente a la radiación. Cuando se añadieron pantallas digitales a la cabina fueron manejadas por unos clásicos 80386!



La sonda Galileo tenía dos CPUs distintos, seis RCA 1802 para el Command and Data System con 176KB de RAM combinados y ocho Sandia Labs Rad hard 2901 para los Attitude Control Computers. Mucha redundancia también. El CPU 1802 era el mismo que tenía la consola de videojuegos RCA Studio II que competía con la Atari 2600.

El Hubble por su parte originalmente tenía procesadores DF-224 de 8 bits pero en su primer misión de servicio, la de 1993, le agregaron un 386. Luego recibió upgrades y actualmente funciona bajo el legendario 80486. Me causa algo de gracia haber tenido procesadores en mi escritorio que estan ahí arriba en el Hubble y nunca haber logrado nada ni remotamente parecido.



Para la misión Pathfinder de 1996 ya empezamos a ver procesadores más conocidos como el RAD6000 que está basado en el IBM PowerPC y fue creado por British Aerospace Electronics. La Pathfinder tenía además 64MB de estado sólido y se comunicaba con el Sojourner (el pequeño rover) que por su parte llevaba un Intel 80C85 pero quien hacía el trabajo real era el lander, la Pathfinder.

Durante una década la Mars Global Surveyor estuvo explorando Marte con su poderoso 8086 y guiándose con varios 1750A , su memoria ascendía a astronómicos 0.75GB de estado sólido :D

Lo más interesante es que tal vez pocos de ustedes sepa que la Estación Espacial Internacional es controlada por viejos pero efectivos Intel 80386SX-20 con coprocesadores Intel 80387. Estamos hablando de la estación espacial más importante que construyó la humanidad y que todavía flota por sobre nuestras cabezas, todo el control de posición y sistemas está manejado por una serie de procesadores que tiene más de 30 años pero que son la base de todo lo que usamos hoy en día.



La Spirit y la Opportunity utilizan también el venerable BAE RAD6000 luego de su éxito con la Pathfinder, el diseño basado en PowerPC empezó a ser utilizado más seguido para muchas misiones de este tipo, es confiable y resiste muy bien la radiación. Hay unos 200 de estos procesadores en distintas sondas y misiones.

La Opportunity estaba planeada para durar 90 soles (92.5 días) y ya lleva 4818 soles (4950 días), bastante por encima de su diseño original y sin tantas fallas como podría uno esperar en el ambiente en que se encuentra. Es más, superó los 42 kilómetros transitados en Marte, un record total.

Otra misión con el RAD6000 fue la Dawn al asteroide Vesta y al planeta enano Ceres, 8GB de almacenamiento en este caso, una misión genial de la que hablé bastante por aquí.

La NASA utilizó mucho el 1750A que es un procesador de 16 bits que podemos encontrar en la misión Cassini, en la Mars Global Surveyor, Landsat 7, pero también lo usaron desde la ESA en las Rosetta o la agencia espacial india, ISRO, en la Mars Orbiter Mission. También se encuentra en los aviones F-16 y F-18 además del helicóptero AH-64D Apache.



Para la misión del rover Curiosity hicieron un upgrade y pasaron al RAD750, que ofrece unos 400 MIPS con un clock a 200MHz, el CPU se basa en el PowerPC 750 con un procesador de backup por si el primero falla. Cuenta con 256KB de EEPROM, para booteo y configuración, 256MB de DRAM y 2GB de almacenamiento flash. Las cámaras tienen su propia memoria, 8GB cada una.

El RAD750 está diseñado para tener, como mucho, un sólo evento de fallos cada 15 años, dicho evento sólo dispara el procesador de Backup y le da el control a Tierra para que revise el problema. El costo de uno de estos ronda los USD 200.000 Y no me olvido, hubo un evento así en la Curiosity en 2013, cosas que pasan.

La New Horizons en cambio hace uso de otro gran procesador espacial, el Mongoose-V, de 32 bits con un clock fijo a 12MHz y basado en el MIPS R3000. Si no lo conocen tal vez les suene la Playstation 1 como referencia. Este también tuvo un "evento" antes de llegar a Plutón.



Claro, son algo distintos y tienen muchos cambios para volverlos resistentes a la radiación, los fabrica Synova a unos USD 40.000, además New Horizons tiene bancos redundantes de 8GB de memorias flash.

Y así como se ha ido avanzando hacia los 32 bits la NASA sigue utilizando varios procesadores menores para otras funciones por la sencilla razón de que funcionan. Para tareas más fuertes en procesamiento el RAD750 y el Mongoose-V hacen su labor, la ESA está utilizando el LEON, pero BAE tiene el RAD 5500 en marcha con soporte para memorias DDR3, mucha mayor velocidad y procesamiento llegando a los 5.6 giga operaciones por segundo. Un camino realmente largo desde aquellos 80.000 de las Voyager que al día de hoy estan en la frontera del sistema solar.

Si te gustó esta nota podés...
Invitame un café en cafecito.app


Otros posts que podrían llegar a gustarte...

Comentarios

  • tucho235     14/08/2017 - 11:00:52

    nardopost para arrancar la semana, bien! :D

  • SergioDV     14/08/2017 - 11:00:54

    Y si todo sale bien hoy tendremos el primer lanzamiento de la primera supercomputadora a la ISS:
    http://www.muylinux.com/2017/08/14/hp-spacex-estacion-espacial-internacional-supercomputadora-linux/

  • Danbat     14/08/2017 - 14:06:08

    Lo que hace la diferencia es el software específico. Sí, el Hubble logra imágenes impresionantes con un 486, pero solo sabe generar imágenes. Tu 486 podía procesar texto, editar fotos y jugar largas sesiones de Civilization, X-Wing y Doom 2. Yo no entendía cómo era que los satélites usaban procesadores de XT y 286 hasta que entendí esto y lo terminé de comprender con los Arduino, donde estás mucho más cerca del procesador y podés hacer todo con pocas instrucciones y, por lo tanto, usando poca memoria.

    Me gustaría entender el código fuente de los satélites, pero es una programación tan eficiente como espartana y me supera ampliamente. Nunca seré un programador de satélites.

    Cinco procesadores en redundancia es porque alguna vez te fallaron tres.

  • Cattel     14/08/2017 - 15:59:06

    Danbat dijo:

    Lo que hace la diferencia es el software específico. Sí, el Hubble logra imágenes impresionantes con un 486, pero solo sabe generar imágenes. Tu 486 podía procesar texto, editar fotos y jugar largas sesiones de Civilization, X-Wing y Doom 2. Yo no entendía cómo era que los satélites usaban procesadores de XT y 286 hasta que entendí esto y lo terminé de comprender con los Arduino, donde estás mucho más cerca del procesador y podés hacer todo con pocas instrucciones y, por lo tanto, usando poca memoria.

    Me gustaría entender el código fuente de los satélites, pero es una programación tan eficiente como espartana y me supera ampliamente. Nunca seré un programador de satélites.

    Cinco procesadores en redundancia es porque alguna vez te fallaron tres.


    Lo que debe ser ese código sin una línea de más, salvo algún chiste interno de los desarrolladores, je.

    Me colgué con los 42 km record de la Opportunity y su paralelo con la maratón, griegos en pelotas y un rover en Marte en la misma oración, hemos recorrido un largo camino, muchacho.

  • Fabio Baccaglioni     14/08/2017 - 18:28:30

    Cattel dijo:

    Danbat dijo:
    Lo que hace la diferencia es el software específico. Sí, el Hubble logra imágenes impresionantes con un 486, pero solo sabe generar imágenes. Tu 486 podía procesar texto, editar fotos y jugar largas sesiones de Civilization, X-Wing y Doom 2. Yo no entendía cómo era que los satélites usaban procesadores de XT y 286 hasta que entendí esto y lo terminé de comprender con los Arduino, donde estás mucho más cerca del procesador y podés hacer todo con pocas instrucciones y, por lo tanto, usando poca memoria.

    Me gustaría entender el código fuente de los satélites, pero es una programación tan eficiente como espartana y me supera ampliamente. Nunca seré un programador de satélites.

    Cinco procesadores en redundancia es porque alguna vez te fallaron tres.


    Lo que debe ser ese código sin una línea de más, salvo algún chiste interno de los desarrolladores, je.

    Me colgué con los 42 km record de la Opportunity y su paralelo con la maratón, griegos en pelotas y un rover en Marte en la misma oración, hemos recorrido un largo camino, muchacho.


    bueno, hay algunos easter egg como la Curiosity que se canta feliz cumpleaños cada año porque no tiene ni quien le escriba :D

  • Ariel     14/08/2017 - 19:51:18

    Algo similar sucede en electromedicina, por ejemplo los autoanalizadores de bioquimica estan hechos con placas disenadas en los años 80, y no es porque no haya nuevas, simplemente es porque es confiable y probado, en aparatos sensibles de medicion, por ejemplo electrocardiografos, en las buenas marcas la placa de adquisicion de datos esta "forrada" con una lamina de chapa de aluminio puesta a tierra (jaula de faraday que le dicen), todo para que las ondas que andan por ahi no afecten las mediciones, que a veces se miden en µV._

  • Marcelo     15/08/2017 - 02:22:07

    Tan refinado, preciso y confiable hardware y despues tenes desarrollos de firmware como el del Ariane 5 Flight 501l, que basicamente no hicieron calculos correctos en precision flotante ni un manejo de errores correcto y se llevo al tacho el cohete....

    Otro dia podrias contar sobre los peores errores del firmware...

    Del harware recuerdo que los x8086 estan homologados en los cohetes secundarios de los shuttles de NASA, si no recuerdo mal

  • timos     15/08/2017 - 10:43:22

    Mi primer pc fue un IBM PS/1 con un micro 386 sx, la misma que la estación espacial.

  • Carlos Maidana     15/08/2017 - 12:04:44

    Y el z80!? donde estan los z80?

  • Fabio Baccaglioni     15/08/2017 - 12:38:26

    Carlos Maidana dijo:

    Y el z80!? donde estan los z80?


    no en estas sondas espaciales, pero seguro que en más de un satélite :P


    Marcelo dijo:
    Tan refinado, preciso y confiable hardware y despues tenes desarrollos de firmware como el del Ariane 5 Flight 501l, que basicamente no hicieron calculos correctos en precision flotante ni un manejo de errores correcto y se llevo al tacho el cohete....

    Otro dia podrias contar sobre los peores errores del firmware...

    Del harware recuerdo que los x8086 estan homologados en los cohetes secundarios de los shuttles de NASA, si no recuerdo mal


    el peor , a mi entender, es el de la sonda Mars Climate Orbiter que el empuje lo tiró en libras por segundo en vez de newtons por segundo y la hizo pasar tan cerca de marte que se desintegró contra la atmósfera superior :D maldita conversión de unidades, jejeje, eso les pasa por usar el sistema imperial!

  • Marcelo     15/08/2017 - 15:33:00

    Fabio Baccaglioni dijo:
    Marcelo dijo:

    Tan refinado, preciso y confiable hardware y despues tenes desarrollos de firmware como el del Ariane 5 Flight 501l, que basicamente no hicieron calculos correctos en precision flotante ni un manejo de errores correcto y se llevo al tacho el cohete....

    Otro dia podrias contar sobre los peores errores del firmware...

    Del harware recuerdo que los x8086 estan homologados en los cohetes secundarios de los shuttles de NASA, si no recuerdo mal


    el peor , a mi entender, es el de la sonda Mars Climate Orbiter que el empuje lo tiró en libras por segundo en vez de newtons por segundo y la hizo pasar tan cerca de marte que se desintegró contra la atmósfera superior :D maldita conversión de unidades, jejeje, eso les pasa por usar el sistema imperial!
    Eso les pasa por usar retards units ...

    Wild Thing by Josh Bazell
    “In metric, one milliliter of water occupies one cubic centimeter, weighs one gram, and requires one calorie1 of energy to heat up by one degree centigrade—which is 1 percent of the difference between its freezing point and its boiling point. An amount of hydrogen weighing the same amount has exactly one mole of atoms in it. Whereas in the American system, the answer to ‘How much energy does it take to boil a room-temperature gallon of water?’ is ‘Go fuck yourself,’ because you can’t directly relate any of those quantities.”

  • Facundo     15/08/2017 - 18:36:30

    Excelente y muy interesante, ¿alguien sabe si estos procesadores los usan todos los países en general o existen clones por ejemplo rusos o chinos?

  • Marcos     15/08/2017 - 19:15:11

    ¿Qué especificaciones técnicas tienen esas maravilla llamadas Falcon 9?

Deje su comentario:

Tranquilo, su email nunca será revelado.
La gente de bien tiene URL, no se olvide del http/https

Negrita Cursiva Imagen Enlace


Comentarios ofensivos o que no hagan al enriquecimiento del post serán borrados/editados por el administrador. Los comentarios son filtrados por ReCaptcha V3.