Download presentation
Presentation is loading. Please wait.
1
CIRSGSFC 1 COMPOSITE INFRARED SPECTROMETER Marcia SeguraPaul Romani Shane AlbrightVirgil Kunde Ray Ferrer CIRS FLIGHT SOFTWARE
2
CIRSGSFC 2 OVERVIEW Flight software consists of two parts – Command executive (version builds if major, point builds for patches) Instrument operation Signal and data processing Packetization – Command sequence tables (point builds) Two types of tables: functional and look–up table A functional table is a set of instrument commands, Each functional table performs a specific task, e.g. –Perform a calibration –Set instrument observing mode: spectral resolution, pixel selection, data rate, etc. –Diagnostic memory dumps –Etc. Look–up table: table of memory addresses of functional tables
3
CIRSGSFC 3 WHERE WE ARE – 1 Last time we met: – We were flying version 1.2/2.0.1 – Needed to be upgraded before tour Executive: Important features needed for ease of use in tour operations Tables: Loading of “Lego” tables (310!) Version 3.0.0 required changes to project software This in turn required much – Screaming – Yelling – Loss of vacation time Version 3.0.0 officially delivered in October of 2003
4
CIRSGSFC 4 WHERE WE ARE – 2 Version 3.0.0 status – Tested on the spacecraft 15–17 December 2003 – Passed all tests – Has been used during approach science – Will be used in tour until probe release – So far have discovered two “undocumented features” One required an immediate fix (done last week) The other we are waiting to fix with 4.0.0
5
CIRSGSFC 5 WHERE WE ARE GOING – 1 Version 4.0.0 new features of interest to science : – Timed Table Command The command would start a table executing but terminate it after a specified time. – Blink Command Upon receipt of this command CIRS would start the scan mechanism and take alternate interferograms of (FP3EVEN,FP4ODD), (FP3ODD,FP4EVEN) of the desired scan length co–adding or not as requested. – Flush Time Tagged Command Buffer Command A command to flush all commands from one or both of the time tagged buffers. Optional table termination as well (all or part of the table nesting). – Ability to recycle tables Add the ability to save tables currently located in memory to an internal library or to copy data from 1 table number to another. An alternative would be to create a separate internal command used to point table x to the location of table y so that there would be no need to even have the duplicate data in memory.
6
CIRSGSFC 6 WHERE WE ARE GOING – 2 All of these changes will be done to CIRS internal commands Why? Does not require changes to project software or: – Screaming – Yelling – Loss of vacation time
7
CIRSGSFC 7 BACKUP MATERIAL 2.0 CHANGES
8
CIRSGSFC 8 CHANGES TO EXECUTIVE FOR 2.0 – 1 Added nested loop capability to tables – Learned from Jupiter that loops within loops are a very efficient way to construct science sequences – Previous version of flight software did not permit this Focal plane 1 bias adjusted – Offset bias is subtracted from the FP1 signal onboard – Improves effect of onboard data compression algorithm – We are currently patching this every time the flight software is loaded – New software removes need for patch Allow CIRS to be muted and un–muted via BIU – Needed for CIRS to be on and in sleep mode for probe checkouts – Previous version CIRS would not respond after being un–muted
9
CIRSGSFC 9 CHANGES TO EXECUTIVE FOR 2.0 – 2 Added unique flight software version identifier – In response to request from project – Aids CDS in verifying successful upload of flight software to the SSR Increased limit for number of tables – Old limit was 256 (includes look–up table) – Scoping for tour operations indicated needed more tables – New limit is 512 (includes look–up table) Added capability to independently read–out focal planes – CIRS has three focal planes to span the IR: Single detector in the far IR Two 1×10 arrays in the near IR – Previous flight software got data from either all focal planes or none – Not reading out one of the mid IR arrays, when scientifically justified, helps to reduce SSR data overload and DSN downlink bottleneck
10
CIRSGSFC 10 CHANGES TO EXECUTIVE FOR 2.0 – 3 Modified CIRS load command sequence table command – Two goals: Make flight software more resilient to errors in table load process Gain insight into table load process – Flight software now buffers incoming tables and performs the following integrity checks: Table does not fit in allotted space Too many words received More than one table load at a time Table checksum does not match Packet sequence is incorrect – If the table passes these checks it is loaded into CIRS memory – If not, a dummy table is loaded in place of the failed table – When CIRS table load commands are sent as direct packets simple resending of dropped packet will not work
11
CIRSGSFC 11 CHANGES TO EXECUTIVE FOR 2.0 – 4 Modified CIRS load command sequence table (cont.) – Send status bits down in existing spare HK telemetry channels: Table number Calculated checksum Received words. – Flight software buffers table load status/error bits so that they come down one per HK packet in case of multiple errors Increased upper limit of software watchdog timer – The software watchdog timer verifies that the flight software is operating within its boundaries – The new flight software build larger than previous build – Therefore the upper limit of the software watchdog timer was increased
12
CIRSGSFC 12 CHANGES TO EXECUTIVE FOR 2.0 – 5 Increased size of CIRS instrument memory allocated to command sequence tables – Flight software executive controls how much of CIRS instrument memory is allocated to tables – We are currently patching (increasing) this number every time the flight software is loaded – Added this patch to the new build so patches are no longer necessary
13
CIRSGSFC 13 SUMMARY OF CHANGES TO TABLES FOR 2.0 Changes to SCI_SCAN command in new software required changes to all tables that used this command Last major update to tables was for version 1.2.0 Used this to critically review and scrub tables based upon Jupiter experience New flight software loads 51 tables (table numbers 0–50) along with the executive
14
CIRSGSFC 14 BACKUP MATERIAL 3.0 CHANGES
15
CIRSGSFC 15 SUMMARY OF CHANGES TO EXECUTIVE FOR 3.0 Increase number of table numbers to 1024 Increase time delay for relative time tagged commands Changes to table load command – Increase number of hex data words allowed – Identify source of CIRS table load command (from SSR or SASF) – Correct bad table rejection procedure Decrease loop count value Definition/redefinition of some telemetry channels – Added number of pending absolute time tagged commands into housekeeping Allow looping over tables Allow absolute time tagged commands in a trigger sequence list
16
CIRSGSFC 16 CHANGES TO EXECUTIVE FOR 3.0 – 1 Increase number of tables from 0 – 511 to 0 – 1023 Reason for change – It has been determined that on average for tour operations CIRS needs 600 table numbers on board the spacecraft at all times Tables 0 – 100Engineering and calibration tables Tables 101 – 450Set instrument observing mode Tables 451 – endTrigger tables (call tables 101 – 450) – Trigger tables CIRS needs a unique trigger table for each observation there are on the average 150 CIRS observations per tour sequence Must have valid trigger tables for sequence n and n+1 to handle sequence boundary properly Therefore need 300 trigger tables – Therefore need table numbers 0 – 750 (average) – Going to 1024 (next power of 2) allows for margin and deviations from average
17
CIRSGSFC 17 CHANGES TO EXECUTIVE FOR 3.0 – 2 Increase relative time delay from 2 hours 16 minutes 32 seconds to 72 hours 49 minutes 4 seconds Reason for change – CIRS trigger command operations Single trigger from spacecraft sequence sent to CIRS This trigger command populates a relative time tagged command buffer with other trigger commands (can hold 256 pending commands) Relative execution time of the trigger commands in the command buffer comes from the relative time delay within the trigger command Execution of trigger commands synched to the pointing design – With version 2.0.1 cannot command CIRS past 2 hours with a single trigger command – Most observations/requests last longer than 2 hours – Maximum possible time for observation is 48 hours (Require DSN pass to empty SSR) – Therefore new design is robust
18
CIRSGSFC 18 CHANGES TO EXECUTIVE FOR 3.0 – 3 Increase maximum number of hex data words in a table load command from 24 words to 113 words Reason for change – CDS created library region on the SSR for instruments to store IEBs – Memory is segmented into 128 word chunks – CIRS has been allocated 96 128–word segments – Only one load command can be stored per segment – More efficient use of SSR library segment (25% vs. 100%)
19
CIRSGSFC 19 CHANGES TO EXECUTIVE FOR 3.0 – 4 Version 3.0 adds a source parameter field to the table load command where: – Value = GND means table load command is from ground (SASF) – Value = SSR means table load command is from the SSR Reason for change – Two goals: Desire to increase number of hex data words in load command to better use SSR library region Desire to minimize changes to F S/W code that performs error checking of load commands – Goals met by addition of this parameter to the load command
20
CIRSGSFC 20 CHANGES TO EXECUTIVE FOR 3.0 – 5 CIRS performs error checking of table (IEB) load commands – IEB fits within allocated memory – Received words matches expected words – Packet continuity – Etc. If a table (IEB) fails any one of these tests then – Error bits are set in housekeeping – Dummy table loaded in place Version 3.0 corrects two problems in this function in 2.0.1 – No dummy table loaded if START packet missing – If table being loaded was the look–up table, it would be overwritten with a dummy table
21
CIRSGSFC 21 CHANGES TO EXECUTIVE FOR 3.0 – 6 Decrease maximum number of times a table may be “looped over” from 65,635 to 32,767 Reason for change – CIRS F S/W documentation states that one 16–bit word is allocated for loop count – CIRS operations assumed that full word was available or maximum loop count is 65635 – Testing for tour operations showed that if all 16 bits were used F S/W treated loop count as a negative number
22
CIRSGSFC 22 CHANGES TO EXECUTIVE FOR 3.0 – 7 In version 2.0.1 when a table calls a table, commanding terminates in the table that is called In version 3.0 when a table calls a table, commanding returns to the calling table once table called has completed Reason for change – Allows for looping over tables – Useful in constructing CIRS mapping sequences
23
CIRSGSFC 23 CHANGES TO EXECUTIVE FOR 3.0 – 8 Version 2.0.1 only allows for absolute time tagged trigger commands to be placed in the absolute time tagged command buffer via individual commands Version 3.0 allows for absolute time tagged trigger commands to be placed in the absolute time tagged command buffer via trigger sequence lists (table of table calls that places the tables into a command buffer). Reason for change – Allows for a single trigger command to populate the absolute time tagged command buffer – Reduce number of CIRS trigger commands in background sequence
24
CIRSGSFC 24 CHANGES TO EXECUTIVE FOR 3.0 – 9 CIRS has two pending command buffers – Number of relative time tagged pending commands, maximum 256 – Number of absolute time tagged pending commands, maximum 64 – Currently number of all pending time tagged commands is returned in housekeeping word 30 and displayed as one channel – Split word into two channels: Number of relative time tagged pending commands Number of absolute time tagged pending commands – Improved insight into status of CIRS command execution – Improved anomaly diagnosis and response
25
CIRSGSFC 25 SUMMARY OF CHANGES TO TABLES FOR 3.0 Cleaned up version 2.0.1 tables and modified as needed to work with 3.0 Added 310 basic CIRS tour operational tables
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.