isual instrument software s. geller. cdr july, 2001ncku ucb tohoku isual instrument software s....
TRANSCRIPT
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
2
Topics Presented
• Software Functions• SOH Telemetry• Command Processing• Science Telemetry• Operational Modes• Software Tasks
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
3
Terminology
• AEP - Associated Electronics Package• DCM - Data Compression Module• PVCF - Pseudo Virtual Channel Frame
– transmission unit for sending science packets to the ground
• SOH - Status of Health– Housekeeping data
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
4
Instrument Software Functions
• Receive and execute Commands• Generate Status telemetry (SOH)• Instrument Control and Readout• Management of Readout Data
– Pass data to DCM for compression
– Generate science telemetry packets
– Make packets into PVCFs; store in spacecraft buffer.
– Transfer PVCF data to Satellite
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
5
DPU processor
• 8085 processor• Programmed in assembly Language• Some code is heritage from IMAGE/FUV• Instrument control software developed by UCB
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
6
SOH Telemetry
• Command Echoes and other real-time status is sent out the Command Status channel
• Some of the short status packets may be directed to:– SOH channel
– Science telemetry channel
– Both
– Neither
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
7
ApID=71C Analog Monitors Packetbyte-offset element size no. elements
-6 1 1 100 0 1 111-5 1 1 Ap ID LSB's = 00000110-4 1 1 11xxxxxx = source seq cnt MSB's-3 1 1 Source Sequence Count LSB's-2 1 1 Packet Length MSB-1 1 1 Packet Length LSB0 10 1 Secondary Header (Time when Housekeeping was sampled)
10 1 1 Mass Mem +5 Current11 1 1 Mass Mem +5 Voltage12 1 1 DSP +5 Current13 1 1 DSP +5 Voltage14 1 1 Array Photometer +5 Current15 1 1 Array Photometer +5 Voltage 16 1 1 Imager TEC +5 Current17 1 1 Imager TEC +5 Voltage18 1 1 Camera Interface +5 Current
Analog Monitors Packet
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
8
ApID=0x71D Digital Housekeeping Packet
byte-offset element size no. elements
-6 1 1 100 0 1 111-5 1 1 Ap ID LSB's = 00000110-4 1 1 11xxxxxx = source seq cnt MSB's-3 1 1 Source Sequence Count LSB's-2 1 1 Packet Length MSB-1 1 1 Packet Length LSB0 10 1 Secondary Header (Time when packed was generated)
10 1 1 Mode: 0=Standby, 1=Aurora, 2=Continuous,3=Burst, 4=Dayside11 1 1 1= Camera Active12 1 1 1= Spectrophotometer active13 1 1 1= Array Photometer active14 1 1 which photometer was selected for trigger15 2 1 trigger level17 1 1 which sun-sensors were selected18 1 1 day(1)/night(0) sensed19 4 1 N PVCFs sent 23 4 1 N Sprites/Lightning Events27 2 1 N MMCBs needing compression
Digital Housekeeping Packet
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
9
Command Processing
• Commands are received from the satellite as CCSDS command packets.
• Commands may be received at any time.• Some commands are executed immediately• Most commands have a Time Tag for later execution
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
10
Command Packet Definition
• Document 8564-X7 defines command packets
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
11
Example of Command Definition
I_RUN Load and Run DPU Program from EEPROMbyte-offset element size no. elements
-6 1 1 000 1 1 111 Primary Header: Version, Type, SecHdFlag, hi 3 bits of ApID-5 1 1 Ap ID LSB's 0x02=Immediate, 0x03=Time-Tagged-4 1 1 11xxxxxx = source seq cnt MSB's-3 1 1 Source Sequence Count LSB's-2 1 1 Packet Length MSB-1 1 1 Packet Length LSB0 10 1 Secondary Header -- time when (time-tagged) command is to be executed
10 1 1 OpCode=0x0111 1 1 sequence number12 1 1 program code (1..7)13 1 1 filler14 1 1 checksum (covering offsset15 1 1 TLR Trailer - 0xAA
Total length of Packet Data Field in bytes Overall length of packet (including primary header)
I_PWR_ON Turn a Power Service Onbyte-offset element size no. elements
-6 1 1 000 1 1 111 Primary Header: Version, Type, SecHdFlag, hi 3 bits of ApID-5 1 1 Ap ID LSB's 0x02=Immediate, 0x03=Time-Tagged-4 1 1 11xxxxxx = source seq cnt MSB's-3 1 1 Source Sequence Count LSB's-2 1 1 Packet Length MSB-1 1 1 Packet Length LSB0 10 1 Secondary Header -- time when (time-tagged) command is to be executed
10 1 1 OpCode=0x0211 1 1 sequence number12 1 1 Power Service13 1 1 filler14 1 1 checksum15 1 1 Trailer - 0xAA
Total length of Packet Data Field in bytes: 16 Overall length of packet (including primary header): 22
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
12
Time-Tagged Commands
• Stored in Time-Tagged List in DPU memory• Instrument software “background loop” continuously
checks command times against current UT• After execution, time-tagged are erased from
memory.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
13
Command Groups
• Commands may be assigned a group number, and stored in the Time-Tagged List
• A single command will cause all commands in a group to be executed
• Group commands use the time-tag for order.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
14
Group Command Procedures
• Group commands are not erased after execution; the group may be used again and again to execute common procedures.
• Groups may be erased or replaced by specific commands.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
15
Example Command Procedure
• ; Clear Statistics and Faults
• /I_CLEAR_STATS
• /I_CLEAR_FAULTS
• ; Patch in readout buffer sizes
• /I_PATCH4 BANK=0 ADDR=CAM_RO_NBYTES DATA=X'00705566'
• /I_PATCH4 BANK=0 ADDR=SPH_RO_NBYTES DATA=X'00705566'
• /I_PATCH4 BANK=0 ADDR=APH_RO_NBYTES DATA=X'00705566'
• ; Patch in relative number of MMCBs per event
• /I_PATCH2 BANK=0 ADDR=N_CAM_MMCBS DATA=X'0070'
• /I_PATCH2 BANK=0 ADDR=N_SPH_MMCBS DATA=X'0070'
• /I_PATCH2 BANK=0 ADDR=N_APH_MMCBS DATA=X'0070'
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
16
Example Command Procedure
• ;Set Filter
• /I_FILTER_SET ID=1
• ;Setup Camera
• /I_SPRITE_SETUP ID=NFRAMES VAL=123
• /I_SPRITE_SETUP ID=EXPOSURE VAL=123
• /I_SPRITE_SETUP ID=INTERVAL VAL=123
• /I_SPRITE_SETUP ID=NPOST VAL=123
• ;Setup SPH and APH too ...
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
17
Example Command Procedure
• ;Turn on Mass Memory power
• /I_MM_ON ; Turn on Mass Memory
• /I_DELAY SECONDS=1 ; wait an extra second
• ;Allocate Mass Memory Control Blocks
• /I_MMCB_FORMAT ; format the MMCBs and readouts
• /I_DELAY SECONDS=1
• ;Allocate TM area
• ;for building packets, PVCFs and 64 Megabit "files".
• /I_TM_FORMAT ; format the PCVF buffers; start TM
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
18
Example Command Procedure
• ;Turn on DCM
• /I_DCM_ON
• ;DCM shows "busy" until it completes its internal checks
• /I_DELAY SECONDS=5
•
• ; It's not convenient to check ground telemetry
• ; when running a time-tagged procedure,
• ; so we test the telemetry within the DPU's SOH array
• /I_VERIFY_SOH_BYTE OFFSET=DCM_Status MIN=2 MAX=2
• ; This "SCIENCE" Proc is executed as part of a command group.
• ; If test fails, remainder of command group is ignored
• ; and a Spacecraft Alert packet is generated.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
19
Example Command Procedure
• ;Copy DSP program from EEPROM to MM
• /I_DCM_PLB PLB=1 ; Copy PLB from EEPROM to MM
• ;Issue CDI commands
• /I_DCM_XMT OP= DATA=
• ;tell DCM where in MM it can get its initial MMCB and DSP program
• /I_DCM_START
• /I_DELAY SECONDS=2
• /I_VERIFY_SOH_BYTE OFFSET=DCM_Status MIN=1 MAX=1
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
20
Example Command Procedure
• ;Turn on HV and other Science Power services
• /I_PWR_ON SERVICE=1
• /I_PWR_ON SERVICE=2
• /I_PWR_ON SERVICE=3
• /I_PWR_ON SERVICE=4
• ;Set mode; Start science data taking
• /I_SPRITE_CONT ; continuous mode
• ; Verify that Continuous Mode got started
• /I_DELAY=5
• /I_VERIFY_SOH_BYTE OFFSET=10 MIN=2 MAX=2
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
21
Data Compression
• All compression is done by the DCM• DPU allocates Mass Memory and supplies work for
the DCM
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
22
Telemetry Generation
• Telemetry products are generated as CCSDS source packets
• Packets are broken up into PVCFs and accumulated in memory until a 64 megabit Block is filled
• Block is transferred to spacecraft as a series of PVCF transmissions
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
23
Sprite Event Raw
readout Compressed Data
Science Products
---Instruments--- --Mass memory--------------- --Telemetry--
Science Data Flow
Camera frames
Spectrometer sample arrays
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
24
Operational Modes
• Standby• Data-Taking
– Sprite Continuous/Burst
– Aurora
• Dayside Data Processing
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
25
Standby Mode
• No Science Data taken• All science power services off• Command processing active• Status (SOH) telemetry generated• Mass Memory and DCM may or may not be turned
on.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
26
Power-On Status
• At ISUAL Power-on,status is Standby Mode, plus...
• Mass Memory is off, DCM is off• Time-tagged command list is empty• PVCF storage is empty
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
27
Data-Taking Mode : Aurora
• Camera takes fixed-exposure at regular intervals; various filters set
• Photometer Data sampled at regular intervals and averaged
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
28
Data-Taking Mode : Sprite
• Data taking synchronized with a Sprite Event. DPU gets an interrupt and notes the time.
• When a camera readout is complete, DPU stamps the time and passes the data on for compression and science telemetry.
• Same for Photometers.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
29
Dayside Data Processing
• No Data Taking• Data Compression from accumulated nightside raw
data• Telemetry Generation.• Command Processing
Note: at any time, a SAFE command will shut off all HV and switch to Standby Mode.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
30
Software TasksSoftware Tasks
• A task is an independent code thread with its own stack.
• A task which is waiting for something will execute ‘call task'; this transfers control to the next task in a list of tasks.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
31
Non-Preemptive multi-tasking
• ISUAL Flight Software uses a non-preemptive multi-tasking system. A task switch happens only when a task executes a 'call task'.
• Interrupt service routines do not change the current task, but an interrupt service routine may change the state of something which will cause the current task to do a 'call task'.
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
32
Tasks in ISUAL
• Background loop• SOH task - Generates housekeeping• Supply task - recycles readout memory• DCM task - manages compression• TM task - telemetry Packet Generator• SC task - send PVCFs to Spacecraft
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
33
Background Loop Task
• Command Processing– Receive Commands
– Execute commands from time-tagged list
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
34
O p er a te C M D _ I NS ta te M ac h in e
C o m m an dP ac k et
As s em b led ?
T P AP ac k et?
M B R R ep lyp ack et ?
Im m ed iateE x ecu te
C o m m an d ?
T im e-T aggedC o m m an d ?E c h o as
I n v a lid
E c h o as Q u eu ed .S to r e in
T im e- T ag g ed L is t
E x ec u te .E c h o as ex ec u ted .
S e t f lag :"M BR R ep ly
r ec e iv ed ".
C o p y toBr ac k ett in g
T P A p air
T r y to ex ec u te c o m m an d sf r o m th e T im e- T ag g ed lis t
N
Y
Y
N
Y
N
Y
N
YN
B a c k g ro u n d L o o p T a s k
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
35
SOH Task
• Generate Event Log packets• Generate Echo packets• Read Analog Monitors• Generate Analog Monitor and Digital Housekeeping
packets
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
36
E c h o esS to r ed ?
S en d E c h o P ac k et
R ead M o n ito r sS en d M o n ito r P ac k et
S en d S O H P ac k et
W ait T im eI n ter v a l
An y th in g inE v en t
Q u eu e?
S en d E v en t P ac k et
S O H T as k
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
37
Supply Task
• If an instrument readout is complete:– Mark the MMCB “ready for compression”
– Put MMCB on DCM queue
– Get another MMCB for that instrument
– Command a new readout address
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
38
M a rk M M C BR e a dy for C om pre s s ion
P ut M M C B onD C M que ue
S upply T a s k W a it fo r I n s tru m e n tR e a do u t C o m ple te
G e t a nothe r M M C BS e t ne w R /O a ddrs
Supply Task
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
39
DCM Task
• Get up to 16 MMCBs from DCM queue• Store in Mass Memory• Signal DCM to do compression• After compression, move MMCBs to TLM queue
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
40
Bu s y ?
N
YT im eo u t?
Y
N
D C MF au lt
M M C B L is tw as L o ad ed ?
Un lo ad C o m p r es s edD ata ; g en er a te T M
D C M Q ue ueh a s da t a ?
W r ite u p to 1 6 M M C Bsto M as s M em o r y
Y
N
S en d 2 C D I s tos e t ad d r es s o f
M M C B lis t
Ac tiv a te AT N
Bu s y ? T im e o ut ? D C M F a ultD eac tiv a te
AT NY
NY
D C M T a s k
N
N
Y
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
41
TM Task
• Wait for MMCB on TM queue• Generate Header Packet• Generate multiple data packets• Release MMCB to supply queue appropriate to
instrument
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
42
TM Task
G en er a teS c ien c e Head er p ac k e t
G en er a te m u ltip led a ta p ac k e ts
R eleas eM M C B
to S u p p lyQ u eu e
T M T a s k W a it fo r M M C B fro mTM qu e u e
CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller
43
SC Task
• Wait for SC buffer to fill• Send MBR message to spacecraft• Wait for reply command• Send PVCFs