[PREVIOUS] [NEXT] [CONTENTS] ACIS Users Guide, Rev. A [AXAF]

3.4 Monitoring the Instrument

This section describes the facilities provided by ACIS for monitoring the health and safety of the instrument, and to verify the receipt and execution of its software commands.

3.4.1 Engineering Housekeeping

Engineering housekeeping information is polled by the spacecraft and inserted in the engineering portion of the telemetry stream, in fixed locations specified by the telemetry format descriptions provided by TRW. Refer to TBD for a description of these items.

3.4.1 1 DPA Voltages, Currents and Temperatures

TBD

3.4.1.2

TBD

3.4.2 System Startup Message

Description

Whenever the instrument software re-boots, either due to a power-on reset, cold reset, warm reset or watchdog reset, the software issues a "Startup Message" telemetry packet. (bepStartupMessage). The ground can determine the type of reset using the following:

Table 11. Startup Message Flags to Reset Type
watchdogFlag warmBootFlag Reset Type Reference
0 0 Cold Boot or Power On Boot Section 3.1.3.1 and Section 3.1.3.2
0 1 Warm Boot Section 3.1.3.3
1 0 Cold Watchdog Boot Section 3.1.3.4
1 1 Warm Watchdog Boot Section 3.1.3.4

The message also indicates the results of the parameter block and table integrity checks. If any of the following message fields are `1', then the associated table has been corrupted. Since these tables reside in SEU-immune RAM, the corruption is probably due to either a software problem, a misdirected write-memory command, or due to a ROM or RAM failure:

patchValidFlag   - Patch List has been corrupted.
configFlag       - System Configuration Table has been corrupted,
                   and is now re-loaded from ROM.
parametersFlag   - One or more parameter blocks have been corrupted.

3.4.3 Software Housekeeping

Approximately once every 64 seconds, the Software Housekeeping task issues a "Software Housekeeping" telemetry packet and updates the engineering LED bi-level values.

3.4.3.1 Bi-Level Telemetry (LEDs)

Description

The engineering bi-level LED values indicate the state of the instrument during boot (see Section 3.1.3 and Section 3.1.4) and, once running under flight software control, indicate the overall state of the instrument. To indicate that the instrument is alive, the Software Housekeeping task toggles the level values. The following lists the bi-level mnemonics associated with each bit of the bi-level code:

LED Bi-level Telemetry Mnemonics

Table 12. LED Bi-level Telemetry Mnemonic
Mnemonic LED Bit Position (lsb first)
1STAT0ST 0
1STAT1ST 1
1STAT2ST 2
1STAT3ST 3

The following lists the LED codes used by the Software Housekeeping task (to review those used by the boot process, refer to Section 3.1).

Table 13. Software Housekeeping LED States
Symbol Bit-Pattern

(3 2 1 0)

Instrument State
LED_RUN_IDLE_A 0 1 1 0 Most recent boot was commanded. Not performing science run.
LED_RUN_IDLE_B 0 1 1 1
LED_RUN_SCIENCE_A 0 1 0 0 Most recent boot was commanded. Performing Science Run.
LED_RUN_SCIENCE_B 0 1 0 1
LED_WD_IDLE_A 0 0 1 0 Most recent boot was from watchdog timer (patches not installed). Not performing science run.
LED_WD_IDLE_B 0 0 1 1
LED_WD_SCIENCE_A 0 0 0 0 Most recent boot was from watchdog timer (patches not installed). Performing Science Run.
LED_WD_SCIENCE_B 0 0 0 1

Warnings

  1. TBD Double samples

3.4.3.2 Software Housekeeping Statistics

Description

Once every approximately 64 seconds, the Software Housekeeping task produces a "Software Housekeeping" telemetry packet. This packet consists of a list of entries, which were reported during since the previous housekeeping packet was sent. Each entry consists of an identifier (swStatisticId), a report counter (count), and an entry-specific value field (value). The identifier indicates what was reported, the count indicates how many times it was reported since the previous housekeeping packet (or since the instrument booted), and the associated value supplied with the most recent report. When the housekeeping task is started, and after it issues each telemetry packet, it reports SWSTAT_VERSION, using the "value" field to supply the software version number (this may be overwritten by software maintenance to indicate the current patch version).

If, due to telemetry saturation, a software housekeeping packet is held for additional 64 second periods, the occurrence will be indicated in the SWSTAT_SWHOUSE_SKIPPED, where the "count" indicates the number of 64 second periods skipped, and the "value" field is unused.

If a report is issued and the housekeeping identifier is out-of-range (most likely due to an improperly conceived patch or software error), the SWSTAT_SWHOUSE_RANGE item will be reported instead, where the "value" field is the most recent offending identifier.

3.4.4 Command Echoes

Description

The ACIS software attempts to write "Command Echo" telemetry packets to describe each software command packet it receives. The echo contains a copy of the received command packet, plus an error code, indicating the disposition of the command. If, due to telemetry saturation, a command echo is dropped, a SWSTAT_CMDECHO_DROPPED report will be issued to software housekeeping, where the "value" field contains a copy of the "commandId" of the most recent command whose echo was not telemetered. Although the echo isn't sent, the command is executed.

TBD - fill-in more detail

3.4.5 Fatal Error Messages

Description

If and when the instrument detects an error from which it cannot recover, or which indicates a serious problem with the integrity of the instrument software, the Flight Software issues a "Fatal Error" telemetry message packet, and resets the BEP, using the watchdog timer.

TBD - Fatal Error Detail

3.4.6 DEA Housekeeping Runs

The ACIS software supports acquisition and telemetry of hardware housekeeping information from the Detector Electronics Assembly. The system sends this information under two scenarios. In the first scenario, the ground loads a housekeeping parameter block and then starts a "DEA Housekeeping" run. In the second, the instrument acquires and telemeters DEA video board housekeeping information as part of the setup for a science run.

3.4.6.1 Loading DEA Housekeeping Parameter Block

Description

The DEA Housekeeping Parameter Block contains an ordered list of DEA Housekeeping items to query, and a rate at which to query the entire list (i.e. how often to produce 1 DEA Housekeeping telemetry packet containing the results of each query). A given item may appear more than once in the parameter block, although this is of marginal use. During the acquisition, there is a built-in 0.2 second delay between each item query (NOTE: Video Board ADC Read-Out delays are much longer. See Section 3.4.6.5).

The instrument has five slots in which it stores DEA Housekeeping Parameter blocks. The parameter blocks are loaded into a particular slot using a "Load DEA Housekeeping Parameter Block" command packet. When a slot is loaded, its prior contents are overwritten by the new block contained in the command. If the instrument is power-cycled or cold-booted (see Section 3.1.3.1, Section 3.1.3.2), the contents of the slots will be restored to their "as-launched" values. A warm- boot (see Section 3.1.3.3), however, retains the contents of the most recently loaded blocks.

Each parameter block contains a checksum field. The checksum is the bitwise XOR of each 16-bit word in the command packet following the checksum field (i.e. starting with the least-significant 16-bit word of the deaBlockId field).

Commands

Load DEA Housekeeping Parameter Block

loadDeaBlock: CMDOP_LOAD_DEA
{
  deaBlockSlotIndex = 0..5      - Specify which slot to load
  checksum          = checksum  - 16-bit wide XOR of remainder of
                                    packet (illustrated in bold-type)
  deaBlockId        = id        - Ground selected Parameter Block Id
  sampleRate        = seconds   - Frequency of housekeeping packet
  queries[]         =           - Array of items to query
  {
    ccdId           = I0..S5 or CCD_DESELECT
                                - Select which Video board to query,
                                  or CCD_DESELECT to choose a DEA 
                                  interface board item.
    queryId         = item      - Select item on the chose board to read
  }
}

For example, the following shows a command which loads a parameter block into slot 3, which when used as part of a DEA Housekeeping run, will read both focal plane temperatures and the board temperature from CCD I3 (see Section 3.3.3 for a description of the relationship between a video board and its associated CCD) once every 10 seconds:

loadDeaBlock: CMDOP_LOAD_DEA
{
  deaBlockSlotIndex = 3 - Load block into slot 3
  checksum    = 0x823d  - 16-bit wide XOR of remainder of pkt
  deaBlockId  = 0x1234  - Ground selected Parameter Block Id
  sampleRate  = 10      - Query the set once every 10 seconds
  queries[]   =         - Array of items to query
  {
    ccdId     = CCD_DESELECT                - Select interface board
    queryId   = DEAHOUSE_CNTL_ADC_FPTEMP_12 - Query FP temperature
  }
  {
    ccdId     = CCD_DESELECT                - Select interface board
    queryId   = DEAHOUSE_CNTL_ADC_FPTEMP_11 - Query FP temperature
  }
  {
    ccdId     = CCD_I3                      - Select I3
    queryId   = DDEAHOUSE_CCD_TEMP_BOARD    - Query board temperature
  }
}

Science Telemetry

Command Echo on a successful load:

commandEcho: TTAG_CMD_ECHO
{
  arrival      = time command arrived (BEP 10Hz Ticks)
  result       = CMDRESULT_OK (other values indicate an error)

  loadDeaBlock: CMDOP_LOAD_DEA
  {
    deaBlockSlotIndex = 0..5  
    checksum   = checksum
    deaBlockId = id
    sampleRate = seconds
    queries[]  =
    {
      ccdId    = I0..S5 or CCD_DESELECT
    }
  }
}

If the checksum of the packet doesn't match its contents, the block will not be loaded into the slot, and the Command echo will report the error by setting the result field to CMDRESULT_STORE_ERROR.

Warnings

  1. Actual sample rate is longer by "0.2* # of queries" seconds (none for video ADC)

    The instrument software does not correct the requested sample rate by the inter-sample delay time, nor for jitter due to instrument processor loading and DEA command time- delays. Not counting processor loading and command delays, the actual sample rate is approximately:

    actual rate := sampleRate + (0.2 seconds * number of queries)
  2. Sample Rate with Video Board ADCs is even longer

    In order to handle the rise-times of the Video Board ADC signal path, the read-time of a video board ADC channel is longer than normal. See Section 3.4.6.5 for a more detailed description.

  3. Video Board ADC read-outs require all installed video boards to have power

    See Section 3.4.6.5

  4. Power-cycle/Cold Boot resets slots

    A power-cycle or cold reboot of the instrument will reload the contents of the DEA Housekeeping parameter block slots with those provided in ROM.

3.4.6.2 Starting DEA Housekeeping

Description

A DEA Housekeeping Run is initiated using a "Start DEA Housekeeping" command. The slot field in the command specifies which slot contains the DEA Housekeeping parameter block to use for the run.

Once started, the DEA Housekeeping task will accumulate all of the entries specified in the parameter block, with at least 0.2 second delay between each query, into a DEA Housekeeping telemetry buffer and then send the buffer (NOTE: Video Board ADC Read-Out delays are much longer. See Section 3.4.6.5). The task will then sleep for the time requested in the "sampleRate" field of the parameter block, and then repeat the process. The task will continue in this fashion until a "Stop DEA Housekeeping" command is received.

Commands

Start DEA Housekeeping Run:

startDea: CMDOP_START_DEA
{
  deaBlockSlotIndex  = 0..4  - Select parameter block slot
}

For example, the following would start a DEA Housekeeping run using parameters previously loaded into slot 3 (see example in Section 3.4.6.1 Commands):

startDea: CMDOP_START_DEA
{
  deaBlockSlotIndex = 3  - Select parameters loaded into Slot 3
}

Science Telemetry

Command Echo on a successful start:

commandEcho: TTAG_CMD_ECHO
{
  arrival              = time command arrived (BEP 10Hz Ticks)
  result               = CMDRESULT_OK (other values indicate an error)

  startDea: CMDOP_START_DEA
  {
    deaBlockSlotIndex  = 0..5  
  }
}

If the contents of the chosen parameter block slot have been corrupted, but the parameters in slot 0 are intact, the parameters in slot 0 will be used instead of the selected slot. In this case, the run will commence, and the result field of the command echo will be CMDRESULT_CORRUPT_DEFAULT.

If, however, both the contents of the selected slot, and the contents of slot 0 are corrupt, the system will not attempt to start the DEA Housekeeping run. The command echo result field will be CMDRESULT_CORRUPT_IDLE.

Once running, the DEA Housekeeping task will produce 1 DEA Housekeeping telemetry packet each sample period (extended as needed for any read-out delays, or telemetry saturation).

deaHousekeepingData: TTAG_DEA_HOUSE
{
  deaBlockId     = Id of DEA Housekeeping parameter block used for the DEA
                   Run (or, if part of a science setup, the Id of the 
                   science parameter block. See Section 3.4.6.6)
  commandId      = Id of the command which started the DEA Run (or, if part
                   of a science setup, the Id of the command which 
                   started the Science Run. See Section 3.4.6.6).
  bepTickCounter = BEP 10Hz Tick at start of DEA housekeeping acquisition
  entries[]      = Array of queried housekeeping items
  {
    query =
    {
      ccdId      = Queried CCD or CCD_DESELECT for interface board
      queryId    = Requested item
    }
    value        = Value of the requested item, or 0xffff if there was an
                   error when the item was queried (NOTE: Housekeeping 
                   time-outs may occur during science setup. This is 
                   expected.).
  },
  ...
}

Warnings

  1. Possible Noise

    In order to reduce noise and improve science data quality, science runs typically disable the video board command clock and command data lines while taking data. In order to acquire housekeeping data from the video boards, the instrument software will temporarily re-enable the command clock and command data lines to the video boards during those queries. This may (this hasn't been quantified) introduce additional noise to the science data while DEA housekeeping is performed on the video boards. To avoid this, don't configure video board queries for housekeeping runs which are run concurrently with science runs.

  2. Corrupted Slots

    If the selected slot is corrupt, is not slot 0, and slot 0 is also not corrupt, then slot 0 will be selected for the run. If both slots are corrupt, then the run will not be started.

  3. Contention for DEA Interface

    When a DEA Housekeeping run is active, and a science run is in the process of setting up, the DEA Housekeeping task and the Science task arbitrate for access to the DEA command and status channels. Some actions of the Science task can cause the DEA Housekeeping task to time-out (but not vice-versa) waiting for the channel. This is reported as an 0xffff value for the affected query or queries.

3.4.6.3 Stopping DEA Housekeeping

Description

An active DEA Housekeeping run is stopped using a "Stop DEA Housekeeping" command packet. Once the instrument receives this command, it stops its periodic acquisition and telemetry of DEA Housekeeping information. Issuing this command packet when no DEA Housekeeping run is active has no ill effects.

Commands

Stop DEA Housekeeping Run:

stopDea: CMDOP_STOP_DEA
{
  No additional command-specific parameters
}

Science Telemetry

Command Echo as a result of the stop:

commandEcho: TTAG_CMD_ECHO
{
  arrival  = time command arrived (BEP 10Hz Ticks)
  result   = CMDRESULT_OK (other values indicate an error)

  stopDea: CMDOP_STOP_DEA
  {
  }
}

Warnings

None

3.4.6.4 DEA Interface Board Housekeeping

Description

The DEA Interface Board Housekeeping query items cover various thermistor, voltage and discrete items. Except for the relay position item and the focal plane temperature items, the values of interface board housekeeping items are loosely coupled to the software configuration and state of the instrument. The conversions for the voltage and thermistor readings are provided in TBD.

Video Board Relay State

DEAHOUSE_CNTL_RELAY  - Reports Video Board Power Relays
                      (see Section 3.3.3)

Board Thermistors

DEAHOUSE_CNTL_ADC_TMP_BEP_PCB     - DPA Thermistor 1 - BEP PC Board
DEAHOUSE_CNTL_ADC_TMP_BEP_OSC     - DPA Thermistor 2 - BEP Oscillator
DEAHOUSE_CNTL_ADC_TMP_FEP0_MONG   - DPA Thermistor 3 - FEP 0 Mongoose
DEAHOUSE_CNTL_ADC_TMP_FEP0_PCB    - DPA Thermistor 4 - FEP 0 PC Board
DEAHOUSE_CNTL_ADC_TMP_FEP0_ACTEL  - DPA Thermistor 5 - FEP 0 ACTEL
DEAHOUSE_CNTL_ADC_TMP_FEP0_RAM    - DPA Thermistor 6 - FEP 0 RAM
DEAHOUSE_CNTL_ADC_TMP_FEP0_FB     - DPA Thermistor 7 - FEP 0 Frame Buf.
DEAHOUSE_CNTL_ADC_TMP_FEP1_MONG   - DPA Thermistor 8 - FEP 1 Mongoose
DEAHOUSE_CNTL_ADC_TMP_FEP1_PCB    - DPA Thermistor 9 - FEP 1 PC Board
DEAHOUSE_CNTL_ADC_TMP_FEP1_ACTEL  - DPA Thermistor 10- FEP 1 ACTEL
DEAHOUSE_CNTL_ADC_TMP_FEP1_RAM    - DPA Thermistor 11- FEP 1 RAM
DEAHOUSE_CNTL_ADC_TMP_FEP1_FB     - DPA Thermistor 12- FEP 1 Frame Buf.

Video Board Sub-Housekeeping (TBD - Better description)

DEAHOUSE_CNTL_ADC_SUBAHK          - DEA Video Board ADC

Focal Plane Temperature

DEAHOUSE_CNTL_ADC_FPTEMP_12       - Focal Plane Temp. Board 12
DEAHOUSE_CNTL_ADC_FPTEMP_11       - Focal Plane Temp. Board 11

Ground References

DEAHOUSE_CNTL_ADC_DPAGNDREF1      - DPA Ground Reference 1
DEAHOUSE_CNTL_ADC_DPAGNDREF2      - DPA Ground Reference 2
DEAHOUSE_CNTL_ADC_GND_1           - Interface Ground Reference
DEAHOUSE_CNTL_ADC_GND_2           - Ground

Voltages

DEAHOUSE_CNTL_ADC_DPA5VHKA        - DPA 5V Housekeeping A
DEAHOUSE_CNTL_ADC_DPA5VHKB        - DPA 5V Housekeeping B
DEAHOUSE_CNTL_ADC_DEA28VDCA       - PSMC A DEA 28V DC
DEAHOUSE_CNTL_ADC_DEA24VDCA       - PSMC A DEA 24V DC
DEAHOUSE_CNTL_ADC_DEAM15VDCA      - PSMC A DEA -15.5V
DEAHOUSE_CNTL_ADC_DEAP15VDCA      - PSMC A DEA +15.5V
DEAHOUSE_CNTL_ADC_DEAM6VDCA       - PSMC A DEA -6V DC
DEAHOUSE_CNTL_ADC_DEAP6VDCA       - PSMC PSMC A +6V DC
DEAHOUSE_CNTL_ADC_DEA28VDCB       - PSMC B DEA 28V DC
DEAHOUSE_CNTL_ADC_DEA24VDCB       - PSMC B DEA 24V DC
DEAHOUSE_CNTL_ADC_DEAM15VDCB      - PSMC B DEA -15.5V DC
DEAHOUSE_CNTL_ADC_DEAP15VDCB      - PSMC B DEA +15.5V DC
DEAHOUSE_CNTL_ADC_DEAM6VDCB       - PSMC B DEA -6V DC
DEAHOUSE_CNTL_ADC_DEAP6VDCB       - PSMC B DEA +6V DC

Current Measurements (radiation damage monitoring TBD - Better description)

DEAHOUSE_CNTL_ADC_RAD_PCB_A       - Relative Dose Rad. Monitor Side A
DEAHOUSE_CNTL_ADC_RAD_PCB_B       - Relative Dose Rad. Monitor Side B
3.4.6.5 Video Board Housekeeping (all boards must be powered)

Description

The DEA Housekeeping items for the Video boards include the current values in the video board control registers, and some analog housekeeping, which include measurements of the CCD clocking voltage rails and some video board temperatures (NOTE: To obtain sensible values for the analog housekeeping items, all 10 video boards must be powered on. This is due to the analog multiplexer built into the video boards).

Due to the behavior of the Video Board ADC signal path, the read-out procedure of a video board ADC channel takes longer than all other read-outs. In order to "pre-charge" the capacitance of the signal path, the instrument software reads a queried video board ADC housekeeping value 5 times, with a 0.1 second delay between each read. This adds 1/2 second to the actual sample time for each video board ADC channel being read during a DEA Housekeeping run. The adjusted formula for the actual sample rate is:

actual rate := sampleRate + (0.2 seconds * number of queries)
               + (0.5 seconds * number of video board queries)

The register state values are directly coupled to the current state of the video boards, and the clocking voltage rails are directly coupled to the state of the DAC settings used to configure the boards. The board temperatures, however, are only loosely coupled to the configured state of the boards. The conversions for the voltage and thermistor readings are provided in TBD.

Video Board Registers

DEAHOUSE_CCD_REG_0 - Sequencer Control Register
{
  bit 0            - Sequencer Start (1 - Sequencer Started, 0 - N/A)
  bit 1            - Sequencer Stop (1 - Sequencer Stopped, 0 - N/A)
  bits 2..7        - Sequencer Offset
                     (see Section 3.3.4 SYSSET_CCD_SEQ_OFFSET)
}
DEAHOUSE_CCD_REG_1 - Video A/D Converter Register
{
  bit 0            - A/D-Cycle Start (1 - ADC Started, 0 - N/A)
  bit 1            - A/D-Cycle Stop (1 - ADC Stopped, 0 - N/A)
  bits 2..7        - A/D-Cycle Offset Delay Count
                    (see Section 3.3.4 SYSSET_CCD_ADC_OFFSET)
}
DEAHOSUE_CCD_REG_2 - Test Aid Register
{
  bit 0            - Video Output A (0 - disabled, 1 - enabled,
                     see Section 3.3.4 SYSSET_CCD_VIDEO_ENABLE)
  bit 1            - Video Output B (0 - disabled, 1 - enabled,
                     see Section 3.3.4 SYSSET_CCD_VIDEO_ENABLE)
  bit 2            - Video Output C (0 - disabled, 1 - enabled,
                     see Section 3.3.4 SYSSET_CCD_VIDEO_ENABLE)
  bit 3            - Video Output D (0 - disabled, 1 - enabled,
                     see Section 3.3.4 SYSSET_CCD_VIDEO_ENABLE)
  bit 4..5         - Unused
  bit 6            - Hold Video Housekeeping Address (0 - un-held, 1 - held)
                     The instrument software holds this bit only when reading 
                     ADC values. Since the DEAHOUSE_CCD_REG_2 is NOT an ADC 
                     item, the read value of this bit should always be 0. 
                     Also, see Section 3.3.7 SYSSET_CCD_HOLD_HOUSE.
                     bit 7      - Unused
}
DEAHOUSE_CCD_REG_3 - Miscellaneous Register
{
  bit 0            - Unused
  bit 1            - Back-Junction Diode (0 - off, 1 - on,
                     see Section 3.3.4 SYSSET_CCD_BJD)
  bit 2            - Clock-swap (0 - 4 node clocking, 1 - 2 node clocking,
                     see Section 4.1.4). This field should be 0 when in
                     FULL or DIAG clocking mode, and 1 when in AC or BD
                     clocking mode.
  bit 3            - High-Speed Tap (0 - disabled, 1 - enabled,
                     see Section 3.3.7 SYSSET_CCD_HIGH_SPEED_TAP)
  bit 4            - Status Enable (0 - disabled, 1 - enabled)
                     This bit must be 1 in order for a video board to
                     respond to any query, including the query to read
                     the register, and therefore will always read as a 1.
  bit 5..7         - Unused
}

Video Board Clocking Signal Rail and Bias Voltages

DEAHOUSE_CCD_PIA_P - Image Array Parallel +
DEAHOUSE_CCD_PIA_M - Image Array Parallel -
DEAHOUSE_CCD_PFS_P - Framestore Parallel +
DEAHOUSE_CCD_PFS_M - Framestore Parallel -
DEAHOUSE_CCD_S_P   - Serial Register +
DEAHOUSE_CCD_S_M   - Serial Register -
DEAHOUSE_CCD_R_P   - Reset Gate +
DEAHOUSE_CCD_R_M   - Reset Gate -
DEAHOUSE_CCD_OG    - Output Gate Bias Level
DEAHOUSE_CCD_SCP   - Scupper
DEAHOUSE_CCD_RD    - Reset Diode
DEAHOUSE_CCD_DR0   - Drain Output Channel A
DEAHOUSE_CCD_DR1   - Drain Output Channel B
DEAHOUSE_CCD_DR2   - Drain Output Channel C
DEAHOUSE_CCD_DR3   - Drain Output Channel D

Video Board Temperatures

DEAHOUSE_CCD_TEMP_BOARD  - Board Temperature (RTD4)
DEAHOUSE_CCD_TEMP_SRAM   - SRAM Temperature (RTD3)
DEAHOUSE_CCD_TEMP_ADC    - ADC Temperature (RTD2)
DEAHOUSE_CCD_TEMP_ACTEL  - Gate Array Temperature (RTD1)

Warnings

  1. Powered off boards drag down ADC read-outs

    The following roughly illustrates the architecture of the video board analog housekeeping:

    Figure 3. Video Board ADC Signal Path

    The analog multiplexers on the Video boards shunt to ground when powered off, and all outputs from these multiplexers are tied together before going into the interface board multiplexer and housekeeping ADC. This drags down the housekeeping readings from the powered video boards. Under these conditions, the read values can indicate that the read channel isn't dead, but not much more than that. However, if all of the video boards have power, then the read values reflect a close approximation to the actual voltage, current or temperature level.

  2. ADC channels take time to read

    Due to the charging time of the video board ADC signal path, the instrument software reads a Video Board ADC channel 5 times, with a 0.1 second delay between each read. This leads to minimum of 0.5 seconds for each read of an ADC video board channel.

  3. Some things should never change

    Due to the behavior of the instrument software, certain bits in the Video Board registers should always read the same value. These are:

    DEAHOUSE_CCD_REG_2 bit 6 - Hold Housekeeping - Always reads as 0
    DEAHOUSE_CCD_REG_3 bit 4 - Status Enable     - Always reads as 1
  4. Video Board Parameters aren't loaded until Science Run

    Since a Science run globally resets the video boards, the video board parameters are not loaded into the boards until the setup stage of a Science Run (see Section 3.3.4), and, therefore, the affected DEA Video Board housekeeping values will not reflect any System Configuration changes until a science run starts.

3.4.6.6 Standard DEA Housekeeping at Start of Science Run

Description

During the setup of a Science Run (see Section 4.1), the Science task (as opposed to the DEA Housekeeping task) resets all of the DEA video boards, loads the parameters into the boards, and loads the contents of the video boards Sequencer and Program RAM (SRAM/PRAM), and then reads all of the housekeeping channels on each video board used for the science run (it will not read housekeeping from boards not used for the run). The task then packages the read housekeeping values into a DEA Housekeeping Telemetry packet, setting the deaBlockId field of the packet to the parameter block id, parameterBlockId, of the Science Parameter block, loadTeBlock or loadCcBlock, used to configure the science run (as opposed to the deaBlockId field of a loadDeaBlock).

Commands

This housekeeping pass occurs as the result of a science run. See Section 4.1.5.

Science Telemetry

Science Run DEA Housekeeping Telemetry Packet

deaHousekeepingData: TTAG_DEA_HOUSE
{
  deaBlockId     = Id of Science Parameter Block used to configure the
                   science run (either a loadTeBlock, or loadCcBlock)
  commandId      = Id of the command which started the Science Run 
  bepTickCounter = BEP 10Hz Tick at start of Science Run DEA housekeeping 
                   acquisition
  entries[]      = Array of queried housekeeping items
  {
                   For each selected CCD, the following items
                   will have the form:
    query =
    {
      ccdId      = Selected CCD
      queryId    = Requested item
    }
    value        = Read Value
  }
  ...
}

Since the science run is actively controlling the video boards during the setup, the read Video Board Registers should have the following values:

DEAHOUSE_CCD_REG_0            - Sequencer Control Register
{
  bit 0      := 0             - Sequencer Start (sequencer not started)
  bit 1      := 1             - Sequencer Stop (sequencer is stopped)
  bits 2..7  := value of SYSSET_CCD_SEQ_OFFSET
}
DEAHOUSE_CCD_REG_1            - Video A/D Converter Register
{
  bit 0      := 1             - A/D-Cycle Start (ADC started)
  bit 1      := 0             - A/D-Cycle Stop (ADC not stopped)
  bits 2..7  := value of SYSSET_CCD_ADC_OFFSET
}
DEAHOSUE_CCD_REG_2            - Test Aid Register
{
  bit 0      := bit 0 of SYSSET_CCD_VIDEO_ENABLE
  bit 1      := bit 1 of SYSSET_CCD_VIDEO_ENABLE
  bit 2      := bit 2 of SYSSET_CCD_VIDEO_ENABLE
  bit 3      := bit 3 of SYSSET_CCD_VIDEO_ENABLE
  bit 4..5   := undefined
  bit 6      := always 0
  bit 7      := undefined
}
DEAHOUSE_CCD_REG_3            - Miscellaneous Register
{
  bit 0      := undefined
  bit 1      := value of SYSSET_CCD_BJD
  bit 2      := 0 if in FULL/DIAG Mode
             := 1 if in AC or BD Mode
  bit 3      := value of SYSSET_CCD_HIGH_SPEED_TAP
  bit 4      := always 1
  bit 5..7   := undefined
}

In addition to the above, the housekeeping packet will report the following for each configured board:

DEAHOUSE_CCD_PIA_P       - Image Array Parallel +
DEAHOUSE_CCD_PIA_M       - Image Array Parallel -
DEAHOUSE_CCD_PFS_P       - Framestore Parallel +
DEAHOUSE_CCD_PFS_M       - Framestore Parallel -
DEAHOUSE_CCD_S_P         - Serial Register +
DEAHOUSE_CCD_S_M         - Serial Register -
DEAHOUSE_CCD_R_P         - Reset Gate +
DEAHOUSE_CCD_R_M         - Reset Gate -
DEAHOUSE_CCD_OG          - Output Gate Bias Level
DEAHOUSE_CCD_SCP         - Scupper
DEAHOUSE_CCD_RD          - Reset Diode
DEAHOUSE_CCD_DR0         - Drain Output Channel A
DEAHOUSE_CCD_DR1         - Drain Output Channel B
DEAHOUSE_CCD_DR2         - Drain Output Channel C
DEAHOUSE_CCD_DR3         - Drain Output Channel D
DEAHOUSE_CCD_TEMP_BOARD  - Board Temperature (RTD4)
DEAHOUSE_CCD_TEMP_SRAM   - SRAM Temperature (RTD3)
DEAHOUSE_CCD_TEMP_ADC    - ADC Temperature (RTD2)
DEAHOUSE_CCD_TEMP_ACTEL  - Gate Array Temperature (RTD1)

Warnings

  1. ADC/Temperature readings are just flags unless all installed boards are powered

    See Section 3.4.6.5 Warnings

  2. For science runs, deaBlockId is the parameterBlockId

    If the user assigns distinct block ids for DEA Housekeeping parameter blocks and Science Parameter blocks, the deaBlockId within housekeeping telemetry packets can be used to discriminate between housekeeping packets produced by a DEA Housekeeping run, v.s. packets produced during the setup for a science run.


[PREVIOUS] [PREVIOUS] [PREVIOUS]
James E. Francis
Last modified: Wed Jan 12 12:42:00 EST