Use of CCSDS File Delivery Protocol (CFDP) in NASA/GSFC s Flight Software Architecture: core Flight Executive (cfe) and Core Flight System (CFS)



Similar documents
Flight Processor Virtualization

NASA s Software Architecture Review Board s (SARB) Findings from the Review of GSFC s core Flight Executive/Core Flight Software (cfe/cfs)

A Simple Virtual FAT File System for Wear-Leveling Onboard NAND Flash Memory

Development of the Fabry-Perot Spectrometer Application. Kathryn Browne Code 587

File System & Device Drive. Overview of Mass Storage Structure. Moving head Disk Mechanism. HDD Pictures 11/13/2014. CS341: Operating System

REDUCING THE COST OF GROUND SYSTEM DEVELOPMENT AND MISSION OPERATIONS USING AUTOMATED XML TECHNOLOGIES. Jesse Wright Jet Propulsion Laboratory,

NuSTAR Ground Systems and Operations Approach Lessons Learned

Example of Standard API

Operating Systems 4 th Class

Chapter 14 Virtual Machines

PCI Express Overview. And, by the way, they need to do it in less time.

TREK GETTING STARTED GUIDE

Overview of NASA s Laser Communications Relay Demonstration

Special FEATURE. By Heinrich Munz

TechDemoSat-1: A software test bed for CCSDS SM&C

So#ware Defined Radio (SDR) Architecture and Systems Issues

Implementing Network Attached Storage. Ken Fallon Bill Bullers Impactdata

Basic ShadowProtect Troubleshooting

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Establishing an Environment for Continuous Integration and Test of Flight Software

9/26/2011. What is Virtualization? What are the different types of virtualization.

760 Veterans Circle, Warminster, PA Technical Proposal. Submitted by: ACT/Technico 760 Veterans Circle Warminster, PA

Developing LPF s Data Management Unit

Software Defined Radio Architecture for NASA s Space Communications

Operability in the SAVOIR Context

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

TREK GETTING STARTED GUIDE

FlexPlan: An Operational Mission Planning & Scheduling COTS Used Internationally

2.0 Command and Data Handling Subsystem

Chapter 2 System Structures

Best Practices for Deploying, Replicating, and Managing Real-Time and FPGA Applications. ni.com

Embedded System Deployment and Management

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Flight Software for the Entire Operationally Responsive Space Vision

CCNA 2 Chapter 5. Managing Cisco IOS Software

TIMED Mission System Engineering and System Architecture

SDR/STRS Flight Experiment and the Role of SDR-Based Communication and Navigation Systems

evm Virtualization Platform for Windows

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

FILE MANAGEMENT AND FILE TRANSFER CNES VIEWS. Christian POULIQUEN

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

A Transport Protocol for Multimedia Wireless Sensor Networks

Chapter 3 Operating-System Structures

Putting it on the NIC: A Case Study on application offloading to a Network Interface Card (NIC)

Gigabit Ethernet Design

Chapter 5 Cloud Resource Virtualization

Implementing a Digital Video Archive Using XenData Software and a Spectra Logic Archive

UC CubeSat Main MCU Software Requirements Specification

A HIGH PERFORMANCE COMMAND AND DATA HANDLING SYSTEM FOR NASA'S LUNAR RECONNAISSANCE ORBITER

Software System Development for Spacecraft Data Handling & Control Data Handling System Concepts and Structure

Survey of Filesystems for Embedded Linux. Presented by Gene Sally CELF

Chapter 8 Objectives. Chapter 8 Operating Systems and Utility Programs. Operating Systems. Operating Systems. Operating Systems.

Protocols and Architecture. Protocol Architecture.

Project Development Plan

SAN Conceptual and Design Basics

Description of the AAU satellite Project. CubeSat Concept. Financing. Organization

Internal Calibration Software Requirements

JoramMQ, a distributed MQTT broker for the Internet of Things

theguard! ApplicationManager System Windows Data Collector

Nios II Software Developer s Handbook

Transport Layer Protocols

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Symantec Endpoint Protection 11.0 Architecture, Sizing, and Performance Recommendations

Fernando Aguado-Agelet University of Vigo - INTA

A Storage Architecture for High Speed Signal Processing: Embedding RAID 0 on FPGA

Overview of Operating Systems Instructor: Dr. Tongping Liu

TELEMETRY AND COMMAND FRAME ROUTING IN A MULTI-MISSION ENVIRONMENT

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Sockets vs. RDMA Interface over 10-Gigabit Networks: An In-depth Analysis of the Memory Traffic Bottleneck

Virtualization. Dr. Yingwu Zhu

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Architectures for Fleet Management. B. L. Kizzort. Harris Corporation, Melbourne, Florida, USA.

Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure

Development of a Ground System Architecture Test Bed Array

Distribution One Server Requirements

White Paper Abstract Disclaimer

MEASURING WIRELESS NETWORK CONNECTION QUALITY

PERFORMANCE TUNING ORACLE RAC ON LINUX

#9011 GeoMedia WebMap Performance Analysis and Tuning (a quick guide to improving system performance)

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

CGL Architecture Specification

Introduction to the NI Real-Time Hypervisor

Optimizing LTO Backup Performance

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

A class-structured software development platform for on-board computers of small satellites

Violin: A Framework for Extensible Block-level Storage

7a. System-on-chip design and prototyping platforms

Embedded Linux development training 4 days session

Chapter 12: Mass-Storage Systems

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Standardized software components will help in mastering the. software should be developed for FlexRay were presented at

Computer Organization & Architecture Lecture #19

Transcription:

Use of CCSDS File Delivery Protocol (CFDP) in NASA/GSFC s Flight Software Architecture: core Flight Executive (cfe) and Core Flight System () Jonathan Wilmot Software Engineering Division NASA/Goddard Space Flight Center Jonathan.J.Wilmot@nasa.gov 301-286-2658 Files- Page 1

Mission Background cfe/ is used on many missions across NASA, Goddard Space Flight Center (GSFC), Johnson Space Center (JSC), Ames Research Center (ARC), Johns Hopkins Applied Physics Laboratory (APL), Glenn Research Center (GRC), and now recently Kennedy Space Center (KSC) cfe/ is baseline for GSFC in-house missions cfe is baseline for APL missions (Radiation Belt Storm Probes launched 8/2012) Launched in June 2009, Lunar Reconnaissance Orbiter (LRO) uses cfe/ and CFDP Upcoming GSFC missions, Global Precipitation Measurement (GPM) and Magnetospheric Multiscale (MMS) use cfe/ and CFDP Currently in environmental testing File systems are required on missions using cfe All cfe missions have selected the option of also storing science data in a file system CFDP was selected as the standard on-orbit spacecraft file transfer mechanism James Webb Space Telescope (JWST) uses files and CFDP Architecture predates cfe/ Files- Page 2

cfe/ Introduction Core Flight System () A Flight Software Architecture consisting of the cfe Core, Libraries, and Applications core Flight Executive (cfe) A framework of mission independent, re-usable, core flight software services and operating environment For cfe/, each element is a separate loadable file App App Core Flight System () Library App core Flight Executive (cfe) Library App App App Files- Page 3

Flight Software Layers App 1 App 2 App N Mission App 1 Mission App 2 Mission App N Mission and Application Layer Library Mission Library Mission and Library Layer cfe Core http://sourceforge.net/projects/coreflightexec CFE Core Layer OS Abstraction Layer cfe Platform Support Package http://sourceforge.net/projects/osal Abstraction Library Layer Real Time OS Board Support Package RTEMS, VxWorks, Linux RTOS / BOOT Layer Mission Developed PROM Boot FSW GSFC Developed 3 rd Party Files- Page 4

Exemplar GSFC Flight Software Architecture Instruments Mass Storage File System Checksum Limit Checker Memory Manager Memory Dwell Space Wire Instrument Manager CFDP File Transfer Software Scheduler Data Storage Stored Commanding Attitude Determination & Control Sensor/actuator I/O handler Orbit Models Solar Array High-Gain Antenna File Manager Local Storage Housekeeping Manager Inter-task Message Router (SW Bus) EDAC Memory Scrubber File Components 1553 Bus Support Telemetry Output Command Ingest Software Bus Time Services Executive Services Event Services Table Services C&DH Components GN&C Components cfe Components 1553 Hardware Commands Real-time Telemetry File downlink (CFDP) via SpaceWire Note - Some connection omitted for simplicity Communication Interfaces Files- Page 5

On-Board File Use Cases System Boot Selects boot image files from a very simple file system Reloadable configuration data ( cfe Tables) Multiple files can be mapped to each table for use during mission modes Engineering data storage Telemetry, diagnostic data, configuration data, logs Software development and on orbit maintenance Software component loads Science data storage High speed bulk data recorders File transfer mechanisms Trivial File transfer Protocol (TFTP) System booting in labs File Transfer Protocol (FTP) Component loading and development in labs, both uplink and downlink CCSDS File Delivery Protocol (CFDP) Flight system data transfers, both uplink and downlink Files- Page 6

Onboard File System Types and Media cfe ROM/EEPROM Simple, few hundred lines of code: All cfe file APIs No block device layer All files are contiguous in memory Flat, no sub directories Variable size files only to a maximum predefined size Simple block device layer and RAM driver expected in next version RAM RTEMS File System (RFS) Layered on cfe Block Device driver VxWorks DOS (with modifications for Mars Exploration Rover type issues) VxWorks Block Device Driver JPL uses internally developed POSIX RAMFS Solid State Recorders (SSR) (both RAM and EEPROM) Requires device specific SSR Block Device driver Hardware typically does not allow direct address mapping RTEMS File System (RFS) VxWorks DOS (with modifications for Mars Exploration Rover type issues) Files- Page 7

Lunar Reconnaissance Orbiter (LRO) C&DH Architecture Public source http://klabs.org/dei/processor/powerpc/rad750/papers/lrocdhaiaa092008.pdf Files- Page 8

LRO CFDP Implementation All nominal file transfers use CFDP Class 2: reliable Science file transfers at 100Mbps handled by DMA engine from the Solid State Recorder memory to SpaceWire memory Software manages a Protocol Data Unit (PDU) send queue for DMA engine Science file PDU retries handled in software Other data files can be interleaved Software on main processor implements CFDP protocol state machines and sends meta data, FIN, EOF, NAC, and ACK PDUs Slower engineering data file transfers done entirely in software File manager application determines file transfer priority This approach has been used for the Global Precipitation Measurement and Magnetospheric Multiscale missions Files- Page 9

LRO Implementation: CFDP File Downlink (1) CFDP application code begins file transfer Opens next file from downlink queue Creates and sends CFDP meta-data PDU Call disk driver read() for first 1MB of file data (2) Disk device driver copies data to SpaceWire RAM Uses PCI DMA for the transfer Returns control to CFDP app. after transfer is complete (3) CFDP app signals µc with header info and data address µc formats and sends CFDP data PDUs Uses SpaceWire flow control to keep downlink card full Signals CFDP application when the full 1MB has been sent In parallel, CFDP app has already read the next 1MB from the file (4) CFDP app completes file transfer Creates and sends CFDP EOF PDU and any NAK responses Files- Page 10

LRO Implementation: CFDP File Downlink Files- Page 11

Ground System Perspectives (1) CFDP can be terminated at the ground station, MOC, or both LRO ground station passes PDU ack/naks back to the MOC for uplink and bandwidth management CFDP use on GPM is more complex due to periods of no-contact, bidirectional contact, and uni-directional contact Unlike LRO, GPM has had to automate the dynamic management of CFDP timers to accommodate the asymmetry and variable data rates File based checksum provides an end to end data check that was not available in the previous data systems LRO currently discards incomplete files in the MOC that are still missing PDUs after timers have expired. This is a policy based on the mission science return requirements. Having a dynamic file system on GPM instead of a Tropical Rainfall Measuring Mission (TRMM) type partitioned recorder, has allowed for more granular quality of service recorder management A single file can be kept instead of retaining a whole partition Files- Page 12

Ground System Perspectives (2) Previous systems would dump the data recorder partitions twice, or more, to improve the odds of getting complete data sets Impacts bandwidth costs Increases contact times Increases operations costs Science data files and CFDP transfers reduced the complexity of the GPM Mission Operations Center (MOC). It removed 2 historical MOC subsystems in older missions: 1. Packet processing (PACOR) subsystem analogue like in TRMM performing Level 0 packet processing, sorting, ordering, etc 2. Mission specific automation components to track missing packets and potentially send retransmits Mission specific analysis must be done to balance file size, bit error rate, number of open files, link asymmetry CFDP and the onboard file manager support the variability Files- Page 13

Observations/Conclusions (1) File systems are used extensively in modern flight data systems and provide familiar developer and operational views There are benefits still to be realized with onboard file system implementations Bad block re-mapping, device wear leveling File based data recorders offer significant flexibility for operations and science data centers Current OS file system implementations contain significant overhead and layers for buffering, virtual memory management, and rotational media GSFC, JPL, and others now have simpler and more robust implementations to target RAM and EEPROM/Flash There are still questions to answer with file system use on partitioned and/or distributed systems as well as NASA Class A safety critical systems Study projects are underway at GSFC, JSC, and APL To meet high data rate requirements CFDP must be tightly coupled to the onboard file system implementation High data rates need FPGA and/or micro controller support This is not just CFDP but any high speed data transfer protocol Files- Page 14

Observations/Conclusions (2) CFDP provides a standard protocol to reliably transfer files over higher bit-error links Ground systems have one implementation that is reused mission to mission CFDP works well over highly asymmetric links CFDP is only the file transfer part of file system operations and management Other tools are used to manage recorder allocations, data priorities, and interleaving GSFC has standardized these tools for multi-mission use File based data recorders offer significant flexibility for operations and science data centers CFDP has been shown to deliver more complete science data over a shorter contact time This is mission dependant based on the mission requirement for science data return (90% to 99%) File systems and CFDP have reduced operations cost: On-board level 0 processing (packet processing, sorting, ordering, etc) lower operations complexity Increase automation (Eliminated an 8 hour 7day a week shift, TRMM - GPM) Files- Page 15

Backup Files- Page 16

cfe Core - Overview A set of mission independent, re-usable, core flight software services and operating environment Provides standardized Application Programmer Interfaces (API) Supports and hosts flight software applications Applications can be added and removed at run-time (eases system integration and FSW maintenance) Supports software development for on-board FSW, desktop FSW development and simulators Supports a variety of hardware platforms Contains platform and mission configuration parameters that are used to tailor the cfe for a specific platform and mission. Executive Services (ES) Event Services (EVS) Software Bus (SB) Table Services (TBL) Time Services (TIME) Files- Page 17