Table of Contents
Previous Chapter
This section describes the preliminary design of the ACIS Back End telemetry management software. This section first describes the discrete and serial digital telemetry information produced by the software. It then describes the overall telemetry production and transmission participants and scenarios.
Figure 10 lists the ACIS telemetry according to the features listed in the Science Instrument Software Requirements Specification. Information which is sent using the discrete hardware status bits are preceded with the word "Discrete-." The remaining items are sent as Telemetry Packets, using the Serial Digital Telemetry stream.
FIGURE 10. Telemetry Grouped by System Feature
The Back End's Boot ROM software and main software use the four discrete telemetry bits to indicate the current status of the instrument software. These four bits allow the software to assign up to 16 different status values. These bits are sampled by the hardware once per Telemetry Major Frame.
The Boot ROM software uses these bits to help a maintainer diagnose lockup problems during Boot. The Boot ROM asynchronously sets these bits to specific values at different stages during the boot. If the instrument hangs during the boot, the status bits will indicate which stage caused the hang. The stages and values are assigned as shown in Table 25.
TABLE 25. Boot ROM Discrete Telemetry Value Assignments
------------------------------------------------------------------------------------------- Stage Value Description------------------------------------------------------------------------------------------- Reset 15 The Back End Boot ROM sets the status to this value upon reset of the Back End Processor. This value allows the maintainer to detect a lockup before the Boot ROM had a chance to detect the type of boot to be performed. ROM Copy 14 The Back End Boot ROM sets the status to this value prior to copying code and data from the Back End's Software ROM. This value allows the maintainer to detect a failure while copying code and data from this ROM. ROM Execute 13 The Back End Boot ROM sets the status to this value prior to exe cuting code loaded from the Back End's Software ROM. This value allows the maintainer to detect a lockup when the loaded code is executed. Uplink Wait 12 The Back End Boot ROM sets this value prior to polling the Com mand Interface for an "Start Load From Uplink" command. This value allows the maintainer to determine when the instrument is waiting for code and data from the uplink interface. Uplink Copy 11 The Back End Boot ROM sets this value after receiving the "Start Load From Uplink" command packet. This value allows the main tainer to determine that the instrument has received the first load command, and is in the process of copying its code and data, and waiting for subsequent "Continue Load From Uplink" commands. Uplink Execute 10 The Back End Boot ROM sets this value after receiving and load ing all code and data from the Command Interface, and is about to execute the loaded code. This value allows the maintainer to detect a lockup when the loaded code is executed. -------------------------------------------------------------------------------------------
The loaded Back End software uses the status bits to help a maintainer determine the current state of the instrument software. During its initialization stage, the Back End software sets the status bits to specific values to help a maintainer diagnose a hang during the initialization stage. After initialization, the Back End software periodically toggles the status between two values, depending on the current "state" of the software. Table 26 lists the values used by the Back End software.
TABLE 26. Main Software Discrete Telemetry Value Assignments
----------------------------------------------------------------------------------------------- Stage Value(s) Description----------------------------------------------------------------------------------------------- Patch Application 9 The loaded Back End software sets the status bits to this value prior to applying any software patches. This allows the main tainer to determine if the Back End hangs while installing patches. Startup 8 The loaded and patched Back End software sets the status bits to this value prior to executing its module initialization routines. This allows the maintainer to determine if the Back End hangs during its main initialization process. Idle 7,6 The Back End software periodically toggles between these two values, at a TBD rate, while running when a Science Run is not being performed. This allows a maintainer to determine that the instrument is active, but not performing any science operations. Science 5,4 The Back End software periodically toggles the status bits between these two values, at a TBD rate, when executing a Sci ence Run. This allows a maintainer to determine that the instru ment is executing a Science Run. WD Idle 3,2 If the Back End recovers after a Watchdog Reset, the software uses these values when it is in an "Idle" state. This allows a maintainer to determine that a Watchdog Reset occurred. WD Science 1,0 If the Back End recovers after a Watchdog Reset, the software uses these values when it is performing a "Science Run." This allows a maintainer to determine that a Watchdog Reset occurred. -----------------------------------------------------------------------------------------------
The Back End software uses Telemetry Packets to transport information out of the instrument. The data from these packets appear in the Science Data portion of the Format 2 telemetry frames, and in the TBD words of the Engineering portion of the Format 1 telemetry frames. Gaps may occur between telemetry packets within these frames.
Although the telemetry stream produced by the RCTU is in the form of bytes, due to the nature of the Mongoose Processor and Telemetry hardware interface, telemetry packets produced by the Back Software are formed as a series of 32-bit words. Table 27 illustrates the overall format of these telemetry packets.
TABLE 27. Telemetry Packet Format
---------------------------------------------------------------------------------------------- Word # Field Values Description---------------------------------------------------------------------------------------------- 0 Packet Marker TBD This 32-bit value marks the start of a telemetry packet within the telemetry stream. This value MUST be different from any hardware supplied fill pattern, and from likely values emitted by the hard ware when powered off. 1: Bits[0 - 9] Word Count 2 - 1023 This specifies the total number of 32-bit words contained in the telemetry packet, includ ing the "Packet Marker" word. 1: Bits [10-15] Format Tag 1 - TBD This field identifies the overall The values 0 and 63 are contents and format of the reserved for testing "Data" portion of the teleme try packet. 1: Bits [16 - 31] Sequence 0 - 65,535 This field is used to identify Number the packet in a sequence of packets. 2 - "Word Count" Data Depends on "Format Tag" The remainder of the packet contains the data mandated by the "Format Tag." ----------------------------------------------------------------------------------------------
The Back End software encapsulates this representation in a module or class known as a "Telemetry Packet Buffer." Access to the fields of a telemetry packet buffer is provided using the functions listed in Table 28. Some of these functions may be implemented "in-line" for speed.
TABLE 28. `Telemetry Packet Buffer'Operations
-------------------------------------------------------------------------------------------------- Operation Inputs Outputs-------------------------------------------------------------------------------------------------- Get Packet Buffer Address none The address of the packet's buffer. Get Packet Word Count none The total length of the packet contents in 32-bit words Set Packet Sequence Number Sequence Number of the This operation sets the sequence num packet ber field within the telemetry packet. This operation should only be used by the Telemetry Subsystem when trans mitting telemetry packets. Set Packet Format Tag Format Tag This operation sets the Format Tag field of the telemetry packet. Get Address of Packet Data none This operation returns the address of the "Data" portion of the packet buffer. Get Max. Data Length none This operation returns the maximum number of 32-bit words which can be stored in the packet's "Data" area. Set Data Length Number of 32-bit words This operation specifies the number of written to the "Data" area. 32-bit words which have been written to the "Data" portion of the packet. --------------------------------------------------------------------------------------------------
Figure 11 illustrates the overall telemetry production scenario.
FIGURE 11. Telemetry Production Scenario
The Back End software manages ordered lists of telemetry packets using a "Telemetry Manager." This manager receives "Telemetry Packet Buffers," and places the received buffers on a telemetry queue. As telemetry packets are transferred out of the Back End by the "Telemetry Device," the telemetry manager dequeues the next item from its telemetry queue and posts it to the "Telemetry Device" for transfer (see Table 8, "`Telemetry Device' Operations," on page 34). Once the packet has been transferred to the RCTU, the Telemetry Manager releases the telemetry packet.
Each module or class which produces a particular kind of telemetry packet is responsible for defining and managing pools of these packets. All telemetry packets, however, must be defined as a sub-class of a "Telemetry Packet Buffer" class. This allows the Telemetry Manager to access properties and operations common to all types of telemetry.
Table 29 lists the operations provided by the "Telemetry Manager."
TABLE 29. `Telemetry Manager'Operations
----------------------------------------------------------------------------------------------- Function Inputs Outputs----------------------------------------------------------------------------------------------- Initialize Address of "Telemetry Device" to use for output. none Post Packet Address of the "Telemetry Packet Buffer" to enqueue for none transfer out of ACIS. Send Fatal Packet Address of the "Telemetry Packet Buffer" containing the May cause reset fatal message. of telemetry sys tem. Get Status none Current status of the telemetry system -----------------------------------------------------------------------------------------------