Table of Contents Previous Chapter ACIS

8.0 36-02402 Rev. ATelemetry Management

8.1 Overview

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


8.2 Discrete Telemetry Status

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.                                                           
-----------------------------------------------------------------------------------------------

8.3 Telemetry Packets

8.3.1 Telemetry Packet Definitions - Class "Telemetry Packet Buffer"

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.       
--------------------------------------------------------------------------------------------------

8.4 Telemetry Production and Transmission

8.4.1 Overview

Figure 11 illustrates the overall telemetry production scenario.

FIGURE 11. Telemetry Production Scenario


8.4.2 Telemetry Management - Class "Telemetry Manager"

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              
-----------------------------------------------------------------------------------------------

Table of Contents Next Chapter