ISUAL Instrument Software S. Geller. CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S....

44
ISUAL Instrument Software S. Geller

Transcript of ISUAL Instrument Software S. Geller. CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S....

ISUAL Instrument Software

S. Geller

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

CDR July, 2001NCKU UCB Tohoku ISUAL Instrument Software S. Geller

44

R eq u es t f o rBu f f erF lu s h ?

S en d M BR p ac k et tos p ac ec r af t

W ait f o r r ep ly f ro m s p ac ec r af t

S en d P VC F s

S p ac ec r af tBu f f er f u llo f P VC F s ?

S C T as k

Y

N

N

Y