390 likes | 523 Views
How the Rest of Hubble works (some of it, anyway). Computers and Communications. Summary of on-board computers. DF-224/Coprocessor Executes spacecraft command timeline. Provides pointing control, power system control, gathers telemetry, provides routine safemode protection, and much more
E N D
How the Rest of Hubble works(some of it, anyway) Computers and Communications
Summary of on-board computers • DF-224/Coprocessor • Executes spacecraft command timeline. Provides pointing control, power system control, gathers telemetry, provides routine safemode protection, and much more • NSSC-I • Executes SI command timeline. Provides safety monitoring, special purpose computing, and data interface for SIs. • SI computers • SI specific operations, science data formatting and processing, local health and safety monitoring. • PSEA • Provides safemode control for HST when DF-224 is down
DF-224/Coprocessor • DF-224 • 3 redundant CPUs, only one used at a time • Fixed point arithmetic • Two’s complement representation of negative numbers • 6 Memory Units • Each physical memory unit has 8K 24 bit words of plated wire memory • Only 4 units may be powered at once (32K words of available memory) • Only 2 units are used for code (16K words) • 3 redundant internal data busses, 2 redundant external data busses • Programmed in DF assembly language • Coprocessor • Provides 8 memory modules (8K 24 bit words) addressable by both the DF and the coprocessor • 2 redundant processors, each with a 386 and 1MB RAM (not visible to DF) • Programmed in C
DF-224 & COPROCESSOR BLOCK DIAGRAM Co- Processor IDB-A 1 MB RAM Shared Memory 64K Words 64 KB EEPROM 1 386 386 256 KB EEPROM 2 Power Supply 64 KB PROM DF-224 1 MB RAM IDB-B Shared Memory 64K Words 64 KB EEPROM 1 386 256 KB EEPROM 2 Power Supply 64 KB PROM
DF-224 Flight Software • Only two executable images are on-board • Safemode Utility(SMU) is essentially a boot mode • memory dump, diagnostics, limited telemetry, software block load, etc. • provides no control of HST (only used while PSEA is in control) • Vehicle Support Software (VSS) provides all other functionality • Telemetry processing • Command timeline execution • Pointing control, including various safemodes • Other support functions
DF-224 Flight Software Structure • Vehicle Support Software (VSS) is based on the use of 6 processing loops, executing at 6 different rates: 1kHz, 40 Hz, 10 Hz, 1 Hz, 0.1 Hz and 1/300 Hz. • Functionality is assigned to a process based on the rate at which the task must be accomplished • Each process has an allocated amount of time it can use • Interrupt scheme gives high rate processes priority over lower rate processes, but design is such that no process should ever exceed its time allocation • Executive checks on the use of time by each process, exceeding allocations will lead to a PSEA safemode entry
Telemetry processing • Flight software collects data for the engineering telemetry stream • 3 Rates are available • 500 bps: safing only • 4000 bps: original standard • 32000 bps: current standard • 1 kHz and 40 Hz processes control the collection and output of the data • Operates on one byte quantities • Handles both hardware and software data • Table driven definition of telemetry format allows for changes with time • 32000 bps format timing • Cycles through 200 1-byte parameters in 50 msec. (one minor frame) • Processes 4 1-byte parameters each cycle of the 1kHz process • 1200 minor frames in a major frame (60 seconds)
TDM telemetry format TrivialExample More Complicated Example Measures 1200 temperatures each minute Reports 4 24-bit variables every 200 msec. Reports FGS1 status every 25 msec. Measures 6 voltages every 300 msec.
Command Types • Hardware commands • Header + data word(s) • Destination of command is encoded in header • Header identifies type of hardware command • Low level discrete (on/off) • High level discrete (on/off) • Serial data • Serial data commands include one or more data words (16 bits/word) which go to the designated hardware element • Software commands • Header indicates which software function the command will go to • 64 software commands are available • Example: #51 command executes a small angle maneuver • Variable number of data words are included, depending on the function of the command
Executing Commands • Real time commands are sent from the ground for immediate execution • Flight software uses checksum to validate the uplinked data • Executive (40 Hz process) sends command to proper destination, either hardware or software • Block loads are sent from the ground to load command data into stored command processors • Each block load contains the address in memory to place the data • Each block load can have up to 63 data words • Checksum on block load is verified before block is stored in memory • Block loads can be designated for any one of three stored command processors • Each stored command has some timing information included with it • Stored commands are executed by the stored command processors • Most stored commands are uplinked from the ground and executed once • Some stored commands are procedures (e.g. guide star acquisitions) which are left on-board and reused many times • Some stored commands are permanently resident and used to respond to safemode situations
General attributes of command processors • Each command packet has a time tag associated with it • Absolute execution time (in units of spacecraft clock ticks to one second accuracy) • Delta time after previous command (in units of 1 second) • A few commands implicitly have delta time tags of 0 seconds (immediate execution) • Each command processor maintains a pointer to the next command to be executed • Execution time is computed based on type of time tag • Execution time is in units of one second • Processor can be idled by setting address pointer to 0 • Executive cycles through each of the processors each 40 Hz. cycle and checks if the current time matches the execution time • If so, executes command by sending to appropriate hardware or software destination • Moves pointer down to the next command and computes its execution time • Command pointer for each processor can be moved by command in another processor or by the flight software itself
DF-224 command processors • Timed processor • Contains primary spacecraft timeline (slews, etc.) • Does not support logical constructs, executes sequentially • Pointer can be moved by software and other processes (used for safemode situations) • Conditional processor • Supports logical constructs • Test for success, wait for completion, time outs, limited do-loop support, etc. • Used for guide star acquisitions • Pointer can be moved by software and other processes • Used for loss of lock recovery • Used for some safemode situations • Special processor • Works just like the Timed Processor, used only occasionally for special tests
Stored Command Memory management Physicalmemory Logical memory “Operational” SPC memory 0000 PMU-1 LMU-1 Next load PMU-3 LMU-2 “temporal discontinuity” Cop-1 LMU-3 Past Future Cop-2 LMU-4 Executing here 32 K
Additional DF-224 Processing • SIC&DH Interface • Communications between DF-224 and NSSC-I is via PITs (Processor Interface Tables) • One table goes each way each half second • SSM PIT tells NSSC-I about DF-224 and spacecraft • Safing directions • Spacecraft time • Take data flag • Maneuver request accepted • Maneuver information • Guide star information • SIC&DH PIT tells DF-224 about SIs • Requests V2-V3 offsets • Requests STR/SSR start/stop • Indicates that a payload safing has been initiated • Protocol indicates to each computer that the other is alive • DF-224 safes SIC&DH and SIs if it does not receive PIT • NSSC-I safes SIs if it does not receive PIT
Additional DF-224 Processing • Pointing Control • Sensor data processing • Control laws • Outputs torque commands • Solar Array rotations • High Gain Antenna pointing • Spline commands to reposition HGAs • Tracking uses HST and TDRSS ephemeris and pointing direction of vehicle to automatically track TDRSS • Electrical Power System • Battery state of charge and trickle charge calculations (health and safety checks) • FGS memory refresh • Fixes SAA induced errors in FGS memory • Safemode checks
NSSC-I Hardware • NSSC-I is the computer that is a major element of the SIC&DH (Science Instrument Command and Data Handling System) • SIC&DH has two redundant NSSC-Is, only one can be on at a time • SIC&DH has two redundant STINTs (interface units), paired with the NSSC-Is • Redundant unit has been off since launch • SIC&DH has 8 memory units, each with 8k 18 bit words • Either NSSC-I can access full complement of memory • SIC&DH hardware provides other standard services for SIs, under control of NSSC-I • Gathers science data from SIs and forwards on to spacecraft for recording or downlink • Gathers and formats engineering data from SIs and forwards on to NSSC-I and spacecraft • Provides command paths to SIs
NSSC-I Flight Software • Executive functions • Scheduling of activities • 40 Hz basic interrupt cycle • Table indicates functions to be executed in each 25 msec window, to spread CPU load • Engineering data collection and limit checks • Science data collection/output • Processes SI related stored commands • Miscellaneous special tasks • Safing initiation • PIT requests • Re-use target offsets • etc. • Applications Processors • General facilities tuned to an SI • SI specific software
Engineering data collection • NSSC-I acts as single point contact for DF-224/SSM, collecting and forwarding engineering data for all SIs. • Small quantity of engineering data (RIU direct) bypasses NSSC-I • NSSC-I can provide an additional level of subcommutation to the data • Software variables can be collected as telemetry • NSSC-I maintains a current value table in memory of all the SI engineering data. • This table is accessible to the SI specific application processors • NSSC-I can maintain a table of up to 35 more parameters for each SI, which do not appear in the engineering telemetry • This table is also accessible to the SI specific applications processors • Used like the PITs, provides communication between SI computers and NSSC-I • NSSC-I can maintain a table of up to 32 parameters per SI which are checked against allowable limits • This table is accessible to the SI specific applications processors • This table is typically used to provide SI health and safety checks, NSSC-I can respond to an out of limits by safing and/or error message
Science Data Processing • NSSC-I maintains the Standard Header Packet, and dumps it into the science stream on request • Uplinked programmatic information for data identification • Portions of each SIs Current Value Table • Copies of the most recent PIT tables • Unique data for each SI, provided by that SIs application processor • NSSC-I can maintain the SI Unique Data Logs, and dumps them into the science stream on request • 965 word log of data provided by an SI application processor • Now used only by FOC • Will not be used with future SIs (NICMOS UDL will be used for ASCS/NCS) • NSSC-I can output science data processed by the NSSC-I • Used for GHRS target acquisitions • Not used for any current (or future) SIs
NSSC-I stored command processing • Absolute time processor • Command execution times have one second resolution • Implements basic SI timeline • By convention, does not execute any commands which reconfigure SI hardware • Can shut off entire processor, cannot shut off by SI • Currently mostly populated by data which gets forwarded to SI computers • Relative time processor • Commands have delta time specifications, no absolute specifications • 6 different processors can run at once, one for each SI and one for SIC&DH itself • Processors can be shut off individually (allows continuation of timeline with other SIs) • Common Pool Command sequences (RTCSs) are routinely loaded from the ground • Some Common pool sequences are used for one-time execution (e.g. for a single exposure) • Some Common pool sequences are permanently on-board • SI unique sequences are part of the code and not routinely changed • Flight software can write SI-unique RTCSs which are then executed
SI Application Processors • FOC • Telemetry gathering • Health and Safety monitoring • Thermal control • Macro commands • NICMOS • Communications with NICMOS CS (Control Section) via flags, etc. • Builds MACRO commands for CS • Assembles and transmits data packet • Sends activate command to CS • Health and Safety monitoring • STIS (same as NICMOS) • COSTAR • Health and Safety monitoring • WFPC-II • Shutter control during long exposures • Health and Safety monitoring
Safemode Protection Chain • Computers pass “keep-alive” signals to one another • Roughly at once/second or faster rates • Value or flag which is different, at least on alternate cycles • Positive indication that the machine is still running • Machine higher up the chain will force a safing of machine lower on the chain if keep-alives stop PSEA DF-224 NSSC-I WFPC-II NICMOS STIS FOC
Communications • System elements • TDRSS • High Gain Antennae • Low Gain Antennae • MA transponders • SSA transmitters • Block diagram • Options • Redundancy