EIR-OPS-021A: GMOD Rapid Experiment Set Up


Objective

To facilitate the Operator in setting up the GMOD experiment quickly including uplinking time actions and streaming science data to the OBC. This procedure assumes GMOD is operating as expected with no unexplained resets or operational faults.


Introduction

This procedure will guide the Operator through an abridged set of steps to set up GMOD to run an experiment, generate data and pass it to the OBC. It also contains optional procedures to enable GRB triggering.


Procedure

This procedure contains a number of sub-procedures. Section A details some pre-pass preparations. Sections B to D provide steps to set up GMOD to run the experiment and stream data to the OBC. Section E is optional and depends on the aim of the experiment being set up.

Note

A communication window is required for sub-procedure B to F.


A. Pre-Pass Preparations

A.1.

  • If this procedure is being followed after a GMOD reset, the operator must note the value of payload.GMOD.LastPageSumAddrRx parameter to determine the memory address of the last summed channel TTE page received by the OBC from GMOD. This value will be used in D. Set Up Streaming Data to the OBC. This value can be taken from the Grafana dashboard. Streaming will begin from the next page (i.e. payload.GMOD.LastPageSumAddrRx +1).

  • If this procedure is being followed after nominal operations without a reset, the value used to start streaming is found in step C12.


A.2.

  • A file of TimeActions must be prepared before the pass for uplinking to GMOD. The file will contain times that GMOD will enter and exit experiment mode. See EIR-OPS-037: Set-Up a TimeAction for further information on the structure of TimeActions.

  • This file will be uplinked in Section E.



B. Power On and Initial Checks

Important

You are about to send the first TC of this procedure - Have you completed the EIR-OPS-003: Start a Communication Pass procedure? A Communication Pass must be started prior to carrying out the operations planned for the pass. Don’t forget to set up the parameters/actions that will be used during the pass in MCS before the pass begins!

B.1.

  • Invoke the action platform.EPS.TurnOnGMOD to turn on GMOD.

TC Details

MCS Operation

Invoke

Action/Param Name

platform.EPS.TurnOnGMOD

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


B.2.

  • Get the parameter payload.GMOD.GMODMode to assess whether GMOD is operating in the expected mode following power on.

  • Ensure Idle Mode/1 is returned.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.GMODMode

Data Expected with TC

No

TM Details

Data Expected from TC

GMODMode ( + ACK )

Data Size

Int4

Data Info

Current operational mode of GMOD

Allowed Value(s)

1 - 5

Expected Value

1

Where…

GMODMode

Mode

1

Idle

2

Experiment

3

CPLD Programme

4

Safe

5

Experiment16



C. Initialise GMOD Generating Data

C.1.

  • Invoke the payload.GMOD.SyncTime action which synchronises GMOD’s coarse time clock with the OBC’s time.

TC Details

MCS Operation

Invoke

Action/Param Name

payload.GMOD.SyncTime

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


C.2.

  • Get the payload.GMOD.SyncTimeStatus parameter which indicates whether syncing of GMOD’s time from the OBC’s time is still in progress (0), a success (1), a failure (2 or 7) or yet to be synced (3).

  • Ensure 1 (i.e. the success value) is returned.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.SyncTimeStatus

Data Expected with TC

No

TM Details

Data Expected from TC

SyncTimeStatus ( + ACK )

Data Size

bit3

Data Info

Status of time synchronisation between GMOD and OBC

Allowed Value(s)

0, 1, 2, 3, 7

Expected Value

1


C.3.

  • Get the payload.GMOD.MSPCoarseTime parameter which returns the MSP’s current coarse time value.

  • Ensure the returned value is large indicating that GMOD’s time is now consistent with the OBC’s.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.MSPCoarseTime

Data Expected with TC

No

TM Details

Data Expected from TC

MSPCoarseTime ( + ACK )

Data Size

4 bytes

Data Info

Coarse time counter from MSP

Allowed Value(s)

00000000 - FFFFFFFF (hex)

Expected Value

Larger than the value returned in Step C.2


C.4.

Note

This step may soon be removed however, until it is confirmed that this value is retained in OBC memory, complete this step.

  • Invoke the payload.GMOD.MSPBaudRate action with action argument = 01F400 (hex), which corresponds to a baud rate of 128000 (dec), to set the serial baud rate at which GMOD transfers data over to the OBC.

TC Details

MCS Operation

Invoke

Action/Param Name

payload.GMOD.MSPBaudRate

Data Expected with TC

Baud

Data Size

3 bytes

Data Info

Baud rate for serial communication

Allowed Value(s)

000000 - FFFFFF (hex)

Expected Value(s)

01F400 (hex)

TM Details

Data Expected from TC

No ( + ACK )


C.5.

  • Invoke the action payload.GMOD.InitialiseGMOD.

TC Details

MCS Operation

Invoke

Action/Param Name

payload.GMOD.InitialiseGMOD

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )

Note

Currently this function: 1) Sets the ConstantCurrValue parameter (to the InitGMODConstantCurrValue parameter), 2) Sets the ConstantCurrEnable parameter to TRUE, 3) Toggles the ASICResetPin OFF and then ON, and 4) Writes the InitASICRegBuffer data to the ASIC reg table on the GMOD MSP. Each of these steps will only proceed if the previous step succeeded.


C.6.

  • Invoke the action payload.GMOD.writeRegToSIPHRA to write the contents of the ASIC register table on the MSP to the SIPHRA registers.

TC Details

MCS Operation

Invoke

Action/Param Name

payload.GMOD.writeRegToSIPHRA

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


C.7.

  • Get the parameter payload.GMOD.WriteRegStatus to confirm that the writes to SIPHRA were successful.

  • Ensure 1 (i.e. success) is returned.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.WriteRegStatus

Data Expected with TC

No

TM Details

Data Expected from TC

WriteRegStatus ( + ACK )

Data Size

bit3

Data Info

Successful = 1, In Progress = 0, Failed = 2

Allowed Value(s)

0, 1, 2

Expected Value

1


C.8.

  • Get the parameter payload.GMOD.RegErrStatus to read the value of the ERR_O pin on the ASIC, which indicates if there are parity errors in registers.

  • Ensure 0 is returned.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.RegErrStatus

Data Expected with TC

No

TM Details

Data Expected from TC

RegErrStatus ( + ACK )

Data Size

bit2

Data Info

Value of the ERR_O pin on the ASIC

Allowed Value(s)

0, 1

Expected Value

0


C.9.

Note

This step may soon be removed however, until it is confirmed that this value is retained in OBC memory, complete this step.

  • Set the parameter payload.GMOD.BiasOffsetValue to 08CC (hex).

TC Details

MCS Operation

Set

Action/Param Name

payload.GMOD.BiasOffsetValue

Data Expected with TC

BiasOffsetValue

Data Size

2 bytes

Data Info

Bias Offset Value

Allowed Value(s)

0000 - 0FFF (hex)

Expected Value(s)

08CC (hex)

TM Details

Data Expected from TC

No ( + ACK )


C.10.

  • Set the parameter payload.GMOD.biasOffsetEnable to 1 (i.e. enabled).

TC Details

MCS Operation

Set

Action/Param Name

payload.GMOD.biasOffsetEnable

Data Expected with TC

biasOffsetEnable

Data Size

Boolean

Data Info

Bias Offset is Disabled (0) or Enabled (1)

Allowed Value(s)

0, 1

Expected Value(s)

1

TM Details

Data Expected from TC

No ( + ACK )


C.11.

  • Set the parameter payload.GMOD.boostConverterEnable to 1 (i.e. enabled).

TC Details

MCS Operation

Set

Action/Param Name

payload.GMOD.boostConverterEnable

Data Expected with TC

boostConverterEnable

Data Size

Boolean

Data Info

Boost Converter is Disabled (0) or Enabled (1)

Allowed Value(s)

0, 1

Expected Value(s)

1

TM Details

Data Expected from TC

No ( + ACK )


C.12.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.LastPageSumAddr

Data Expected with TC

No

TM Details

Data Expected from TC

LastPageSumAddr ( + ACK )

Data Size

3 bytes

Data Info

Memory address for the last stored sum channel TTE page

Allowed Value

000000 - 007FFF (hex)

Expected Value(s)

N/A



D. Set Up Streaming Data to the OBC

D.1.

  • Invoke the action payload.GMOD.StreamSumEnable with the action argument set as the desired value.

    • If you wish to stream and recover all pages of TTEs (i.e. those previously generated by GMOD but not yet sent to the OBC) this value corresponds to payload.GMOD.LastPageSummAddrRx +1.

    • Otherwise, the action argument corresponds to the value of payload.GMOD.LastPageSumAddr. Note that this will enable streaming from the last page generated by GMOD and will not include any previous unstreamed pages.

TC Details

MCS Operation

Invoke

Action/Param Name

payload.GMOD.StreamSumEnable

Data Expected with TC

MemAddr

Data Size

2 bytes

Data Info

GMOD flash memory address to stream data from

Allowed Value(s)

000000 - 007FFF (hex)

Expected Value(s)

LastPageSumAddr or LastPageSumAddrRx +1

TM Details

Data Expected from TC

No ( + ACK )


D.2.

  • Get the parameter payload.GMOD.LastPageSumAddrRx several times, with ~3 seconds between each TC, to read the memory address of the last summed channel TTE page received by the OBC from GMOD.

  • Ensure the parameter value is changing, which confirms that the OBC is now receiving this data type from GMOD.

TC Details

MCS Operation

Get

Action/Param Name

payload.GMOD.LastPageSumAddrRx

Data Expected with TC

No

TM Details

Data Expected from TC

LastPageSumAddrRx ( + ACK )

Data Size

uint16

Data Info

Updates with the memory address of the last summed channel TTE page received by the OBC from the MSP

Allowed Value

000000 - 007FFF (hex)

Expected Value(s)

Changing between TCs


D.3.

  • Get the parameter cdh.logging.GMODTTELogger.channelID to determine the current channel ID to which GMOD with log summed channel TTEs.

TC Details

MCS Operation

Get

Action/Param Name

cdh.logging.GMODTTELogger.channelID

Data Expected with TC

No

TM Details

Data Expected from TC

channelID ( + ACK )

Data Size

4 bytes

Data Info

Channel ID = Ch ID for GMOD Summed TTE Channel

Allowed Value

25 - 29

Expected Value(s)

25 - 29



E. Uplinking TimeActions

Important

This section should only be followed if the GMOD Team have confirmed that GMOD should be put into Experiment Mode.

F.1.

  • Uplink the TimeActions file prepared in A. Pre-Pass Preparations to cdh.scheduling.TimeAction.entryListPacked, with First Row = 6 and Last Row = 31.

TC Details

MCS Operation

Uplink

Action/Param Name

cdh.scheduling.TimeAction.entryListPacked

Data Expected with TC

Yes

Data Size

494 bytes

Data Info

First row = 6, Last Row = 31

TM Details

Data Expected from TC

No ( + ACK )




F. Enable OBC Triggering

Important

This section should only be followed if the GMOD Team have confirmed that OBC Triggering can be enabled.

F.1.

  • Prior to enabling triggering in the next steps, the Operator should now review Section H of the EIR-OPS-020: GMOD Configuration procedure to ensure the desired e.g. trigger significance threshold, etc. are set-up.


F.2.

  • Set the payload.GMOD.GRBTriggeringEnabled parameter to 1 (i.e. enabled) to enable GRB triggering.

TC Details

MCS Operation

Set

Action/Param Name

payload.GMOD.GRBTriggeringEnabled

Data Expected with TC

GRBTriggeringEnabled

Data Size

bit1

Data Info

Indicates whether triggering on incoming summed channel TTE data is enabled (1) or disabled (0)

Allowed Value(s)

0 - 1

Expected Value(s)

1

TM Details

Data Expected from TC

No ( + ACK )


Important

Early in the mission, and possibly throughout the mission, the GRB trigger threshold will need to be modified (increased/decreased) based on the GMOD data downlinked. The GMOD team should be consulted before changing the trigger threshold.


END OF PROCEDURE