2.0 Overview

2.1 Instrument Hardware Overview

Figure 1 illustrates the overall hardware architecture of ACIS.

Figure 1. Hardware Architecture

The ACIS Mongoose processors are all configured by hardware to use "little-endian" byte ordering. For example, the 32-bit value 0x12345678 is stored as bytes in RAM as follows:

Virtual Address Byte Value
0 0x78
1 0x56
2 0x34
2 0x12

By convention, bits within a word are numbered with the least-significant bit as bit number 0. This is consistent with the "MIPS Programmers Reference Guide."

Unless otherwise specified, all signed values use two's complement representation.

2.2 Instrument Software Overview

The ACIS Instrument Software runs on two types of processors within the system: the Back End Processor (BEP) and the set of Front End Processors (FEP). The BEP loads its software either from EEPROM or from the uplink command channel. Once up and running, the BEP can enable power to the FEPs, and load software into the FEPs using a shared-memory interface.

The BEPs run a single-processor preemptive, multi-tasking kernel which allows the BEP to be performing more than one task at a time. For example, a BEP can be processing science data, while acquiring DEA housekeeping data, while performing a memory dump (BTW: This is a very useful feature when trying to diagnose certain classes of problems). The telemetry produced by the BEP is organized into data packets, which appear in the Science Data portion of the telemetry stream. Each packet is preceded by a 32-bit synchronization pattern, and contains a length field indicating the number of words in the packet. This allows telemetry produced by the several tasks running on the BEP to be merged into the telemetry stream (for example, memory dump telemetry packets may be mixed in with science event data packets).

The following lists the BEP's tasks, grouped according to their priority (highest priority, 51, is first, and lowest priority listed, 55, is last. Tasks with the lowest priority number have the highest run-time priority):

Table 2. BEP Tasks
Task Name Pri. Command/Telemetry Types Role
TaskMonitor 51 Not commandable Perform aliveness tests of the other tasks. Allows the watchdog timer to reset the BEP if a task fails to respond to a query within 8 minutes.
CmdManager 52 All software commands executed or routed by this task Interpret and dispatch uplinked commands
SystemConfiguration 53 Radiation Flag and Change System Configuration Respond to changes in configuration table and monitor the radiation flag
SwHousekeeper 53 Not commandable. Produce software housekeeping packets Collect and periodically report software statistics. Update LED bi-levels to reflect instrument's operating state.
DeaHousekeeper 53 Start/Stop DEA Housekeeping Periodically collect and report DEA housekeeping values.
MemoryServer 54 Dump commands, Read, Write BEP/FEP/PRAM/SRAM commands, Execute BEP/FEP commands Handle read (including dump), write, and execute memory commands
BiasThief 55 Affected by start/stop science/bias-only commands, via ScienceManager Trickle the contents of the computed CCD bias maps to telemetry.
ScienceManager 55 Execute start/stop science runs and bias-only science runs. Perform science run, including hardware setup, parameter dumps, bias computation and data processing

Each FEP, on the other hand, runs a single main thread, with a single interrupt handler to count the arrival of images produced by the DEA. The FEPs are only commanded by the software running on the active BEP. This single thread performs the high-performance portion of the science data processing, and polls its shared memory interface for requests from the BEP. In general, the FEPs are only asked to do one thing at a time by the BEPs.

2.3 Commands and Telemetry

ACIS is commanded via its Remote Command and Telemetry Unit (RCTU). This unit provides various types of commands and telemetry. The ACIS hardware is commanded via high-level pulse commands to the ACIS Power Supply and Mechanism Controller (PSMC) and 16-bit serial digital commands to the ACIS hardware serial port. Commands to the ACIS software are contained within a series of 16-bit serial command words, known as command packets, which are addressed to the ACIS software serial port. For the purposes of this document, "hardware commands" will refer to either high-level pulse commands addressed to the PSMC, or serial digital commands addressed to the ACIS hardware serial port. "Software commands" will always refer to command packets addressed to the ACIS software serial port.

The ACIS hardware provides engineering telemetry which is read by the spacecraft and placed in fixed places within the spacecraft telemetry stream. The ACIS software produces telemetry as a stream of 32-bit words, packed and placed into the spacecraft telemetry stream allocated for ACIS science telemetry. These packets may or may not be separated by a variable number of fill bytes (0xb7), placed into the stream by the ACIS hardware when a packet is not being transferred.

For details on the content and format of the ACIS hardware commands and telemetry, refer to the ACIS Instrument Protocol and Command List (MIT-CSR 36-01410). For details on the content and format of the ACIS software command and telemetry, refer to the ACIS IP&CL Software Structure Definitions (MIT-CSR 36-53204.0204).

James E. Francis
Last modified: Wed Jan 12 13:58:48 EST