SSHUTTLE.ART  ·  ART  ·  10.8 KB  ·  1980-01-01  ·  from CompuLink-User-Group_Magazette_Vol-2-Issue-1_1986
       This extract was issued by NASA as a public  relations  exercise  to
    gauge  the computing comminitys reaction to the use of computers in the
    space shuttle program.  If after reading this you have any  comment  to
    make  please  leave  a message in area 17 to me (sysop) and I will pass
    your comments through Fidonet to NASA.

       OVERVIEW OF THE SPACE SHUTTLE'S COMPUTER/DATA PROCESSING SYSTEM

       Computer/Data Processing

       The Orbiter data processing subsystem handles  data  processing,data
    transfer,data entry,and data display in conjunction with the operations
    of the Orbiter avionics systems.The data processing system consists  of
    the following.

       1.  Five general purpose computers for computation and control

       2.  Two magnetic-tape mass memories for large- volume bulk storage

       3.    Time-shared   serial-digital  data  buses  (essentially  party
    lines)to accomodate the data traffic between the  computers  and  other
    Orbiter subsystems

       4.   Nineteen  multiplexer-demultiplexer units to convert and format
    data at various subsystems

       5.  Three remote engine interface units to command the Orbiter  main
    rocket engines

       6.   Four  multifunction  television display systems for the crew to
    monitor and control the Orbiter and payload systems

       General-purpose  computer.-Each  general-  purpose  computer  is   a
    modified IBM AP-101 microprogram-controlled computer.The computer has a
    106,496-word(36 bits  to  the  word)memory.The  Apollo  command  module
    computer had a central memory of 38,912 words (16 bits to the word).

       As  part  of the fail-safe design of the avionics system,four of the
    five computers are arranged as a redundant group during critical flight
    operations such as launch/ascent or entry/landing.In this mode,the four
    computers are linked as a voting set,with each  one  capable  of  being
    used  as  the  flight  control  computer and with each one checking the
    other three.The crew can select which  of  the  four  computers  is  in
    control.The  fifth  computer  is  used  for  the  backup flight control
    system,which would control the Shuttle should all four voting computers
    fail.

       Each  of the four computers in the redundant set synchronizes itself
    to the other three computers 440  times  each  second.In  this  way,the
    computer  set  is able to achieve a high degree of reliability.  During
    noncritical    flight    periods,one    computer    is     used     for
    guidance,navigation,and   control   tasks   and   another  for  systems
    management.The remaining three can be used for  payload  management  or
    can be deactivated.

       During  critical phases of the mission,each of the five computers in
    the system performs approximately 325,000 operations each second  using
    floating-point  arithmetic.   The crew can ask more than 1000 questions
    of the system  and  have  the  information  displayed  as  alphanumeric
    symbols, as graphs,or as a combination of the two (including moving and
    flashing characters or symbols)on any of the four CRTs.

       Main memory.-In  addition  to  the  central  memory  stored  in  the
    computers themselves, 34,000,000 bits of information are also stored in
    two magnetic-tape devices.Critical programs and data are loaded in both
    tape  machines  and are protected from erasure.Normally,one mass memory
    unit is activated for  use  and  the  other  is  held  in  reserve  for
    operation  if the primary unit fails.However,it is possible to use both
    units simultaneously on separate data buses or to have both communicate
    with separate computers.

       Data bus.-The data bus network consists of digital data signal paths
    between  the  computers  and  the  avionics  subsystems  and  secondary
    channels  between  the  telemetry  system  and  the  units that collect
    instrumentation data.This system is also fail-safe.

       The data transfer technique  uses  time-division  multiplexing  with
    pulse-code  modulation.In  this  system,data  channels  are multiplexed
    together, one after the other,and information is  coded  on  any  given
    channel  by  a  series  of  binary  pulses  corresponding  to  discrete
    information.Twenty-  four  data  buses  are  on  the  Orbiter  and   an
    additional  28 buses connect the Orbiter avionics with the Solid Rocket
    Boosters and the External Tank.

       Multiplexer-demultiplexer.-The multiplexer- demultiplexer units  are
    used  in  numerous  remote  locations  of  the  Orbiter  to  handle the
    functions of serial data  time  multiplexing-demultiplexing  associated
    with  the  digital  data  buses and for signal conditioning.They act as
    translators, putting information on or taking it off the data buses.

       Master timing unit.-All Orbiter and  payload  data  are  time-tagged
    with  coordinated  universal time and mission-elapsed time generated by
    the master timing unit.This device also supplies  syncronizing  signals
    to other electronic circuts as required and to the computers.

       Data Processing Software

       The  software  stored in and executed by the Orbiter general-purpose
    computers is the most sophisticated and complex set  of  programs  ever
    developed  for  aerospace  use.The  programs are written to accommodate
    almost every aspect of Shuttle operations including vehicle checkout at
    the  manufacturer's  plant;flight  turnaround  activity  at the Kennedy
    Space Center;prelaunch and final countdown;and  navigation,guidance,and
    control  during  the ascent,orbital,entry,and landing phases and during
    abort or other contingency mission  phases.In-flight  programs  monitor
    the     status     of     vehicle     subsystems;provide    consumables
    computations;control  the  opening   and   closing   of   payload   bay
    doors;operate the remote manipulator system;perform fault detection and
    annunciation;provide  for  payload  monitoring,  commanding,control,and
    data   acquisition;    provide   antenna   pointing   for  the  various
    communications  systems;and  provide   backup   guidance,navigation,and
    control  for  the  ascent,  orbital,entry,and  landing  phases  and for
    aborts.

       These primary computer programs are written  so  that  they  can  be
    executed  by  a  single  computer  or  by  all  computers  executing an
    identical program in the same time  frame.This  multicomputer  mode  is
    used  for  critical  flight  phases  such  as  launch, ascent,entry,and
    aborts.

       The Orbiter software for a major mission phase  must  fit  into  the
    106,496-word  central  memory  of  each  computer.To accomplish all the
    computing  functions   referred   to(for   all   phases)would   require
    approximately  400,000  words  of  computer  memory.To fit the software
    needed into the computer memory space available,computer programs  have
    been  subdivided into nine memory groups corresponding to the functions
    executed during specific flight  and  checkout  phases.For  example,one
    memory      group      accommodates      final     countdown,ascent,and
    aborts;another,orbital operations;and yet another,the entry and landing
    computations.Different  memory  groups  support checkout and turnaround
    operations  and  systems  management  functions.Orbiter  computers  are
    loaded  with different memory groups from magnetic tapes containing the
    desired programs.

       In  this  way,all  the  software needed can be stored in mass memory
    units(tape machines)and loaded into the computers  only  when  actually
    needed.

       Software architecture.-The Orbiter computer programs are written  in
    a hierarchy that contains two levels.

       The  first  level  is  the  system software group, which consists of
    three sets of programs:(1)the  flight  computer  operating  program(the
    executive),which   controls   the   processors,   monitors  key  system
    parameters,allocates computer resources,provides  for  orderly  program
    interrupts   for  higher  priority  activities,  and  updates  computer
    memory;(2)the user interface program,which  provides  instructions  for
    processing  crew commands or requests;and (3)the system control program
    which  initializes  each  computer  and  arranges   for   multicomputer
    operation  during  critical  flight  periods.The  system software group
    programs also tell the computers how to perform and how to  communicate
    with the other equipment.

       The  second  level  of  memory groups is the applications processing
    software.This   group   contains   specific   software   programs   for
    guidance,navigation,and        control;systems       management;payload
    operations;and vehicle checkout.The two program groups are combined  to
    form   a   memory   configuration  for  a  specific  mission  phase.The
    guidance,navigation,and control programs contain functions required for
    launching,flying  into  orbit,maneuvering on orbit, and returning to an
    Earth landing.The systems management programs handle  data  management,
    performance  monitoring,and  special and display control processing.The
    payload  processing  programs  contain  instructions  for  control  and
    monitoring  of  Orbiter payload systems.This set of instructions can be
    revised depending on the nature of  the  payload.The  vehicle  checkout
    program  contains  instructions  for  loading  the memories in the main
    engine computers  and  for  checking  the  instrumentation  system.This
    program  also  aids  in  vehicle subsystem checkout and in ascertaining
    that the crew displays and controls perform properly.It is also used to
    update inertial measurement unit state vectors.

       Programing.-Coding  of the Orbiter software programs is accomplished
    in the same manner as for the general-purpose ground-based computers.In
    general,the  operating  system  programs  are  coded  in basic assembly
    language.   Applications  programs(e.g.,the  guidance,   navigation,and
    control software)are written using high-order languages(such as the IBM
    FORTRAN series).In Orbiter computers,the operating system executive  is
    coded  in assembly language.The remaining two operating system programs
    and all four applications programs are written  in  HAL/S,a  high-order
    language  especially  developed  for NASA to be used in real-time space
    applications.It uses a base that is  oriented  toward  the  mathematics
    employed  in  guidance  and  navigation  algorithms  (detailed  logical
    procedures for solving problems).