HarveyFIELDS iCDR – Flight Software Solar Probe Plus FIELDS DCB Flight Software Design Peter Harvey University of California 1
HarveyFIELDS iCDR – Flight Software Agenda 3.Software Design Flight Software Overview Hardware Context Detailed Design Functional description Structural decomposition Interface Design, Timing Commands and Telemetry Resource Margins Data Structures, Timing, Logic 2
HarveyFIELDS iCDR – Flight Software Overview Development Plan : SPF_SYS_008A Processor : 19 MHz Coldfire IP with 4 MB SRAM, 32 GB Flash Language: C & Assembly (Converted from RBSP, MAVEN) Deliveries: Boot (32K PROM), Operational (512K EEPROM) Requirements: 43 (Boot), 95 (Operational) Effort : ~8K-10K SLOC in 17 modules Major Functional Requirements: – Command Reception & Distribution – Engineering Housekeeping Telemetry – On-Board Limit Monitoring – Absolute & Relative Time Command Sequences – Real-Time Data Collection and Playback – Archive Data Collection and Playback – Data Compression – Controllers Electronics Circuits [LNPS1,AEB1,MAG1,RFS,DFB,TDS] 3
HarveyFIELDS iCDR – Flight Software Hardware Context FIELDS System Block Diagram Two Sides Each has Spacecraft I/F Each has Magnetometer Each has Antenna Elect. Each has Power Supply FIELDS1 also has Radio Freq Spect. Digital Fields Board SCM Calib Control Absolute Time Sequencer TDS I/F FIELDS2 also has Time Domain Sampler DCB I/F SWEAP I/F 4
HarveyFIELDS iCDR – Flight Software Hardware Context DCB Block Diagram 5
HarveyFIELDS iCDR – Flight Software Design 6 FSW Major Modules
HarveyFIELDS iCDR – Flight Software Design FSW Major Modules 7
HarveyFIELDS iCDR – Flight Software Boot/Initialization Hardware Reset –Power-On –WDRST -- Watchdog Reset (7-seconds) –DCB Command Can Trigger WDRST Reset Sequence –FPGA Copies PROM into RAM –FSW Initializes All Variables and Begins at main() (EXEC module) –Issues Initialization Calls to Each Module –Starts in Safe Mode –Begins Engineering Telemetry (1-sec) –Checksums EEPROM programs –Selects first-program with Good Checksum –Waits Until 10 seconds elapsed time –If S/C SUP==1, Runs Selected Program –If S/C SUP==0, Stays in Boot to Load Program 8
HarveyFIELDS iCDR – Flight Software Modes & Enables FSW Modes Safe – Minimal Activities Allowed Normal - FLASH Memory Allowed Engineering – EEPROM Loading Allowed 9
HarveyFIELDS iCDR – Flight Software Timing Interrupts –256 Interrupts/ DCB Cycle (293 Hz) –Distributes CPU Time per Table –Basic ¼ second table repeats 4 times/DCB cycle CMD gets 32 Hz* DFB gets 4 Hz*, etc. 10
HarveyFIELDS iCDR – Flight Software Data Collection –DMA Channels are Assigned to Each Data Source –Based upon options, FSW determines data rate and length –FSW Writes Destination Addresses into Each DMA Controller –DMA Registers are Double-Buffered to Eliminate Gaps –DMA Buffers Automatically Swap in Sync with DCB cycle TDS & DFB Buffers Swap at ¼ DCB Cycle MAG Swaps at 1 DCB Cycle 11
HarveyFIELDS iCDR – Flight Software Data Flow 12
HarveyFIELDS iCDR – Flight Software Data Flow Expected Real- Time and Archive Archive Data: SSR Cap: 275 Gb Est Usage: 27% Write Period Min: 2.74 sec Typ: 29.1 sec 13
HarveyFIELDS iCDR – Flight Software EEPROM 14
HarveyFIELDS iCDR – Flight Software SRAM (CPU) 15
HarveyFIELDS iCDR – Flight Software SRAM (RFS) 16
HarveyFIELDS iCDR – Flight Software MEMORY RESOURCES 17
HarveyFIELDS iCDR – Flight Software S/C Interface Command/Timing Information Commands Use Kbaud Async messaging DMA channel input to 2 x 2048 byte buffers S/C Inter-command gap of 100 msec DMA Automatically switches buffers at 100 ms gap FSW verifies FPGA transfer status (framing, parity, buffer overflow) FSW verifies ITF format prior to decoding/using commands FSW must initiate Safe Mode if S/C Requests it FSW must tolerate gaps in Time Updates 18
HarveyFIELDS iCDR – Flight Software S/C Interface Telemetry Information Telemetry Uses Kbaud Async messaging CCSDS packets (1 or more) packed into Instrument Transfer Frames (ITF) Critical Housekeeping Messages at 1Hz in the first ITF of the second Telemetry Must Complete with 10ms margin to next S/C 1PPS Telemetry will be multiplexed into 2x8192 byte DMA buffers Telemetry Wrappers applied In Situ Data Compression of Selected APID’s in Survey and Archive buffers Telemetry Rate control to approximately 240 kbps 19
HarveyFIELDS iCDR – Flight Software Telemetry Timing 20 Playback Mode Enabled
HarveyFIELDS iCDR – Flight Software Survey (Real-Time) Data 21 RT Data Management
HarveyFIELDS iCDR – Flight Software Archive Data Archive Data Recording FLASH Hardware 32 GB Capacity EDAC Enabled Write/Read DMA-Channel to/from SRAM Block Addressable 2^17 256KB Blocks Each Block has 8K extra bytes –Bad-Block-Indicator (8-bits) –Erase Count (24-bits) –MET Time (32-bits) –EDAC Each 8 GB module Powered Separately FSW Functions Stores/Retrieves Archive Science Blocks (32 4K packets) Circular Memory with Separate Read & Write Pointers Memory mapping at the Chip Level (256 elements = 256 chips) Playback Commanded by Block# and Length Both Read/Write Block pointers Telemetered Ground S/W keeps MET-to-Block# relationship 22
HarveyFIELDS iCDR – Flight Software Archive Data Archive Write/Read Buffer Management 23
HarveyFIELDS iCDR – Flight Software Archive Data Archive Playback Selection 24
HarveyFIELDS iCDR – Flight Software Archive Data 25 Archive Virtual-to-Physical Mapping
HarveyFIELDS iCDR – Flight Software Archive Mgt 26 Archive Marking with Time, Write Count, Bad Block Status
HarveyFIELDS iCDR – Flight Software FLASH Timing 27
HarveyFIELDS iCDR – Flight Software FLASH Logic Read/Write/Diag Decision State D0 28
HarveyFIELDS iCDR – Flight Software FLASH Logic Read Logic States with Error Handling 29
HarveyFIELDS iCDR – Flight Software FLASH Logic Write Logic State W1 with Error Handling 30
HarveyFIELDS iCDR – Flight Software FLASH Logic Write Logic State W2 with Error Handling 31
HarveyFIELDS iCDR – Flight Software Compression Selected packet is compressed using 16-bit Delta-Modulator v2 Each waveform cut into 32-sample blocks Result is 1 raw 16-bit sample, 31 deltas The Width of the deltas is determined and the deltas are packed up Packet compression time shown below for varying widths Used for MAG & TDS data Measured on RBSP (Z80): –[w=15]: 620 kbps –[w= 1] : 97 kbps 32
HarveyFIELDS iCDR – Flight Software Compression In Situ Packet Compression (Survey and Archive) 33
HarveyFIELDS iCDR – Flight Software Processor Utilization Utilization Measurements from DCB ETU#2 Scaled to FIELDS rates and adjusted for CPU Frequency FIELDS DCB runs at 19.2 MHz instead of 16 MHz TDS & RFS processing only estimated. 34
HarveyFIELDS iCDR – Flight Software Issues Issues ? We have no stinkin’ issues! 35