Como indicamos en el anterior post, el satélite dispone de un ordenador que gestiona todas las actividades que se llevan a cabo en órbita. Dicho módulo-ordenador se conoce por la siglas en inglés IHU (Internal Housekeeping Unit) u OBC (On-Board Computer), que traducidas vienen a significar ‘Unidad de gestión interna’ y ordenador de a bordo respectivamente. En las misiones anteriores GENESIS, EASAT-2 y HADES se utilizaron ordenadores de 8 bits de la empresa Microchip, concretamente los 18F45K22 y 18F46K22. Aunque de 8 bits, son chips bastante avanzados que incorporan muchas funcionalidades. El primer modelo (el 45) se utilizó en los primeros GENESIS y corría a tan solo 4 MHz, velocidad suficiente para actuar como repetidor ASK, que era su función fundamental. Esta velocidad relativamente baja permitió también que el consumo del módulo ordenador fuera muy bajo, apenas algunos miliamperios. Para HADES, EASAT-2 y los nuevos GENESIS G y J se utilizó el modelo 46, que dispone de más recursos internos de memoria, necesaria por ejemplo para guardar en memoria Flash voz digitalizada. Se tuvo que elevar la velocidad a 64 Mhz para poder repetir voz y datos digitales FSK a mayor velocidad. Para el URESAT-1 se podría haber seguido utilizando el PIC18F46K22 pero es un chip que para nosotros ya no da más de si… Se ha exprimido todo lo posible. Si se quieren hacer cosas más complicadas, como probar nuevas modulaciones o incrementar la velocidad binaria de las transmisiones, se necesita más potencia. Por ello en el URESAT-1 se ha decidido utilizar la arquitectura ARM y dentro de ella microcontrolador de 32 bits de STM.
Una cosa que quisimos hacer en las anteriores misiones era sintetizar fonía a bordo de tal forma que por ejemplo ciertos datos de telemetría pudieran ser recibidos como voz en lugar de datos. Lamentablemente el tener que trabajar a 8 bits no posibilitó que funcionara el algoritmo, incluso con el chip a su máxima velocidad de 64 MHz. Tuvimos que digitalizar voz y grabarla codificada en la memoria Flash. Por eso en los documentos de telemetría esta transmisión aparece como ‘VOCODER’. Con el nuevo ordenador de 32 bits funciones como ésta para generar voz internamente, si serán posibles.
Las tareas que lleva a cabo el OBC son:
- Monitorizar tensiones y corrientes en distintos puntos (paneles solares, bus de energía…)
- Monitorizar temperaturas en distintos puntos (paneles, transmisor, receptor, la propia CPU…)
- Comprobar el estado de la batería
- Generar paquetes de telemetría con todos los datos recopilados
- Activar la cámara de fotos SSTV
- Transmitir imágenes pregrabadas en la memoria Flash del módulo de SSTV
- Activar el transpondedor de FM / FSK cuando se le pide servicio
- Procesar telecomandos enviados desde Tierra
- Y por supuesto, ejecutar el programa de ajedrez
En el momento de escribir estas líneas el programa de ajedrez ya se encuentra finalizado, aunque vamos a intentar que juegue mejor. Ahora mismo está corriendo bajo Linux y tenemos que portarlo al software del satélite. Escribiremos un post explicando cómo funciona.
Los recursos internos que utiliza la CPU para obtener información de los subsistemas del satélite son sus puertos ADC (conversores analógico-digitales), buses I2C y SPI, que permiten comunicarse en serie con otros circuitos integrados y por supuesto líneas de entrada/salida digitales que permiten activar y desactivar cosas.
En la imagen podéis ver el modelo de ingeniería del ordenador de abordo. No se aprecia muy bien, pero cabe en una mano.