COMMAND AND DATA HANDLING
Instructor: Roy C. HsuComputer Science and Information
Engineering DepartmentNational Chia-Yi University
11/24/2005
3
INTRODUCTION
Command and Telemetryproviding information to and from the spacecraft, respectivelycomputer-based components in the spacecraft (S/C) and at terrestrial sitescommands are used to provide the info to change the state of the S/C subsystems and to set to S/C clocktelemetry subsystem collects and processes a variety of data to be transmitted from the S/C
4
INTRODUCTION (Cont.)
Data Processing and Handling3 major tasks on board
to help control and configure the S/Cto optimize the overall system performanceto process data for transmission
a major onboard processor and possibly multiple dedicated processors for various subsystems are used to enhance S/C performance and reliability.ROM and RAM are used with RAM changeable through the command systemS/C data storage media: flash memory, SSR, etc software written in machine, assembly, or high level language I/O and other peripherals
5
COMMAND SYSTEMS
Purposeto permit the spacecraft or its subsystem to be reconfigured in response to radio signals send up to the S/C from ground
Operationreceive the signals, decide what they mean, and then respond accordingly so that the desired reconfiguration takes place
The command system has a vital role in the overall operation of the S/C
6
GENERALIZED SPACECRAFT COMMAND SYSTEM
Receiver/Demodulator
Command Decoder
CommandLogic
Interface Circuitry
Block Diagram of a generalized command system
Receiver/Demodulator: amplify the signal captured, demodulate the command (cmd) message, deliver the encoded subcarrier signalmessage to the cmd decoderCommand Decoder: decode the message to reproduce the original cmd message, which consists of a serial digital binary of 1s’ & 0s’
Command Logic: validate the cmd message, drive the I/F circuitryby executing the cmd
Interface Circuitry: might be simple or complex functions
7
COMPLETE COMMAND SYSTEM
Ground Support
Equipment
Radio Frequency
Link
SpacecraftCommand
SystemModulation
Block Diagram of a complete command system
8
SYSTEM REQUIREMENTS
S/C MISSION
S/C ORBIT/TRAJECTORY
GROUND STATION
LINK ANALYSIS/COVERAGE
COMMAND LOGIC
9
TELEMETRY SYSTEMS
Telemeter: to measure from a distanceFunctions: to provide remote indication of what the desired measurements areTelemetry data:
Status data - S/C resources, health, attitude, operation modeScientific data gathered by onboard sensor-magnetometers, thermometers, etc…Specific S/C orbit and timing data – used for guidance and navigation by ground, sea or air vehiclesImage data - captured by onboard cameraOther data - locations of other objects, relayed telemetry data from other satellites
10
SPACECRAFT TELEMETRY SYSTEM
ACQUISITION
SensorsConditioners
SelectorsConverters
PROCESSING
CompressorsFormatters
Storage
TRANSMISSION
EncoderModulator
TransmitterAntenna
Block Diagram of a spacecraft telemetry system
Acquisition: The acquisition of data is accomplished using sensors, signal conditioners, data selectors and A/D converters.
Processing: The data are processed in the telemetry system processor or in the smart sensor instrument’s resident processor.Transmission: as discussed in TT&C
11
TELEMETRY SYSTEM OF GROUND SEGMENT
RECEIPT
AntennaReceiver
DemodulatorDecoder
PROCESSING
De-compressorTranslatorStorage
DELIVERY
DisplayPrinterPlotter
Block Diagram of a ground segment telemetry system
12
SPACECRAFT DATA HANDLING
Spacecraft data processing and storage require the use of space-qualified microcomputers, memories, and interface devices. Unlike the devices that are used in desk-top PC, S/C applications impose design constrains that are much more severe.Low power dissipation, volume, and mass must be achieved without sacrificing overall performance. S/C systems must exhibit excellent reliability and should be able to tolerate many kind of faults.
13
SPACECRAFT DATA HANDLING SYSTEM
CENTRAL PROCESSING
UNIT
PROCESSOR DATA BUS
INPUT/OUTPUTPORTS
BUSINTERFACE
MEMORY:ROM, RAM,
Special-purpose
MASS STORAGE
SPACECRAFT DATA BUS
14
CENTRAL PROCESSING UNIT
One or more processing units have access to various kinds of memory, mass storage, and input/output devicesJob of the processing unit
execute the program that is stored in memory, interpret and execute commands received from the S/C command system.maintain system status and health data (housekeeping data) and format the data for transmission to the S/C telemetry system.
15
CENTRAL PROCESSING UNIT (cont.)
The processing unit receives its instructions from a program stored in memory and communicates with its data sensors and other processors in the S/C through various kinds of I/O channels or over the S/C data bus.The processing unit may elect to delegate some of its tasks to special purpose peripheral processors that then execute the delegated subtasks in parallel with the execution of its own tasks.
16
FLIGHT SOFTWARE DEVELOPMENT
Code development for embedded real-time processor using assembly and high-level language.The program must be error-free for the S/C data handling system.Employing computer science to design and implement the algorithms and data structure.Applying software engineering approach to the design and maintenance of the software product.
17
FLIGHT SOFTWARE DEVELOPMENT (cont.)
The quality of the up-front conceptual design of the flight software will determine the success of software engineering.The problem introduced early in the design phase will be the most expensive problem.The costly problem is caused by correct implementation of a poor conceptual design, not by an incorrectly implementation of a good conceptual design.
18
OTHER DATA HANDLING COMPONENTS
Memory: Read-Only-Memory (ROM), Random-Access Memory (RAM), Flash Memory.Mass Storage: disk, digital tape, solid state memory, magneto-optical disks, memory IC.Input/Output: I/O Ports, direct memory access (DMA), multi-port memory, interrupts, timers, bus interface.Fault Tolerance: radiation harness, single event upsets, CMOS latch-up, parity, error detection/correction, watchdog timer, etc…Custom, Special-Purpose Peripherals: data acquisition, data compression, image processing.Spacecraft Autonomy: the ability to monitor S/C internal functions and take appropriate actions without direct intervention from the ground.
19
ROCSAT-1 CASE STUDY
A low-earth orbiting (LEO) satellite jointly developed by TRW of U.S. with a resident team of NSPO engineers. Launched on January 27, 1999 into an orbit of 600 kilometers altitude and 35 degrees inclination. Three scientific research missions/Payloads:
ocean color imaging/OCI,experiments on ionospheric plasma and electrodynamics /IPEI, experiments using Ka-band (20-30 GHz) communication payloads/ECP.
20
ROCSAT-1 COMMAND AND TELEMETRY SYSTEM
S-band Consultative Committee for Space Data Systems (CCSDS) Packet Telcommand and Telemetry Uplink data rate: 2 kbps Downlink data rate: 1.4 mbps Data storage: 2 gb
21
ROCSAT-1 COMMAND SYSTEM
2039 MHZ 2Kbps NRZ-L
SPECIAL COMMANDS BILEVELPCU
RCVR
RCVR
SOFTWARE
OUTPUTCIRCUIT
OBC
ADE,GPS,PCUDDC,SAR,DIE DSE
MDE,OBC,PCU TDE,DDC
MDE
TIE,RIU OCI,IPEI
SERIAL
TIE BILEVEL
ANA
1553
22
ROCSAT-1 Telemetry Processing OverviewSpacecraft
SubsystemsGPSE
Spacecraft
RIU
Science Data RS 422 OCI
IPEI
1553 BUS
RFAssembly Transponder TIE OBC
Science Data RS 422Recorded / Playback Data
SerialSSR ECP
Downlink
FDF SDDCsTT&CStation
MOC SSCGround
23
ROCSAT-1 DATA HANDLING SYSTEM
On Board Computer(OBC): 80C186 CPUReal-time operation system: Versatile Real-Time eXecutive (VRTX32/86), a real-time multi-tasking OSEmploying software engineering approach for the development of the flight software.A real-time embedded system
24
ROCSAT-1 FLIGHT SOFTWARE
Software executes on an 80C186 OBCNo floating point co-processorWritten in C, some assembly requiredMulti-tasking implementationSoftware is organized into 8 CSCs
25
ROCSAT-1 FLIGHT SOFTWARE (cont.)
ACS = Attitude Deter. & Control Subsystem EPD = Electrical & Power DistributionCCI = Command and Communication Interface SCP = Stored Command ProcessorCDS = Command Dispatcher Subsystem UTL = UtilitiesDAQ = Data Acquisition EXE = Executive
26
ROCSAT-1 FLIGHT SOFTWARE FUNCTIONS
EPD CSC- Controls battery charging and maintain battery state of charge data.- Detects anomalous power subsystem behavior- Collects sensor data for solar array on ground command- Uses ground station control for long term operation
>> Battery trending and trickle charge timing monitoring
EXE CSC- Creates tasks and determines initial spacecraft operational mode- Provides multitasking and floating point software routines- Memory scrubs and memory uploads as background processing
27
ROCSAT-1 FLIGHT SOFTWARE FUNCTIONS (cont.)
SCP CSC- Inserts validated RTCS uploads and ATC uploads into memory- Manages the RTCS and ATC areas:
>> Cancel ATC, Execute, RTCS, Inhibit RTCS, Enable RTCS, Delete RTCS, Cancel RTCS- Schedules the execution of each command in a RTCS by assignment of an absolute execution time
UTL CSC- Common routines; delay, crc, error handling, etc.- Hardware interface routines; serial, analog, GPS, GSE, 1553B- Interrupt Service Routines (ISR)
28
ROCSAT-1 FLIGHT SOFTWARE FUNCTIONS (cont.)
CDS CSC- Execute each command in the Command Allocation Document
DAQ CSC- Reads sensor data from the hardware- Formats state of health data into 1 of 3 Telemetry formats
>> Normal>> Programmable>> Dump
- 32 minor frames (0-31) per major frame, 212 bytes per minor frame- 1, 2, and 4 byte quantities supported
29
ROCSAT-1 FLIGHT SOFTWARE FUNCTIONS (cont.)
ADCS CSC- Processes data from the gyros, earth sensor assemblies, fine sun sensors, coarse sun sensor assemblies, and three axis magnetometer- Generates commands for the scan wheels, reaction wheels, thrusters, and torque rods.- Controls the orientation of the spacecraft in all of its operational modes.- Performs ephemeris determination based on the onboard clock and periodic uploads of orbital elements from the ground
CCI CSC- Validates and processes command frames from the CUB- Validates command type field, ATCs, and RTCSscommand frames before placing them into the CIB- Validates real-time command frames- Manages the CIB with special parameter commands “Clear CIB”, “Transfer CIB”, and “Restart CIB Load”.
30
FLIGHT SOFTWAREINITIALIZATION
Initialization-Disable interrupts-RAM initialization-Copy Flight Software from EEPROM to RAM-Resets the watchdog timer-Initializes hardware-Initializes Interrupt Vector Table (IVT)-Initializes VRTX-Creates the EXE task-Passes control to VRTX
31
INITIALIZATIONTOP LEVEL STRUCTURE
Power_up/Hardware Reset
exe_bootupSoftware “Reset”
exe_restart
exe_main
exe _vrtx_initutl_isr_load
Software Restart
VRTX
33
TASK CONTROL DIAGRAM
EXE
QTR
SCP
ONE
SXT
SP_ONE_IEF
SP_SCHEDULE_EF
SP_SCHEDULE_EF
SP_SCHEDULE_EF
SP_QTR_IEF
SP_ATC_EFSP_RTCS_EFSP_ALARM_EF
SP_TASK_INIT_EF*
SP_SCHEDULE_EF
QTR ISR
CUBUplink
ISR
ONE ISRCUB-Command Uplink Buffer*-set by QTR,ONE,SXT,SCP
34
COMMAND INPUT DATA FLOW
OUBCIRCULAR
BUFFER
CodeblockStatustable
CCI_COMMAND_PROCESSING
CDSLibrary
CCILibrary
Real-timecommand
ATCRTCSKPD,code and data upload
CCSDSTransferFrameprocessing
CCI_MAIN
UplinkISR Command
frames
Uplinkinterrupt
CCSDScodeblock
QTRtask
35
COMMAND EXECUTION DATA FLOW
real_timeCMDCUB
cci_command_processing
CCI_Comand_
Jump_table
cci_kpd_loadcci_memory
SP_schedule_atc_queue
cci_atc_command_types
cci_rtcs_load
cci_code_and_data_upload
ATC CMD
RTCSCMD
Code&dataupload
ManageCIB
Real_timeCMD
SP_update_Rtcs_queue
SP_UPDATE_RTCS_EF
SP_SCHEDULE_ATC_EF
RTCSACT
SP_rt_Command_Jump_table
ccl_real_time_command
CDSLibrary
cci_command_uploads
CLBKPDupload
SCPTask
cci_manage_cibEXETask