Table of Contents Previous Chapter ACIS

13.0 Software Housekeeping

13.1 Overview

This section describes the preliminary design of the ACIS Back End's Software Housekeeping software. This software is responsible for monitoring the Watchdog Timer, and for acquiring and sending software statistics.

Figure 16 illustrates a coarse overview of the Software Housekeeping Statistics (a), Watchdog (b), and Fatal Error operations (c).

FIGURE 16. Software Housekeeping Overview

13.2 Software Housekeeping Processing

13.2.1 Software Housekeeping Control - Class "Software Housekeeper"

The Back End software manages its software housekeeping operations using a "Software Housekeeper" class. This housekeeper is responsible for periodically sending software statistics, reported by other software elements, and for maintaining the Watchdog Timer. It provides the operations listed in Table 51.

TABLE 51. `Software Housekeeper'Operations

Function                                   Inputs        Outputs  
Initialize                                 none          none     
Software Housekeepers Main Task Function   none          none     
(invoked by the RTX scheduler)                                    
Increment Statistic                        Statistic Id  none     

13.2.2 Watchdog Maintenance - Class "Watchdog Device"

Whenever all tasks, except the lowest priority task, are suspended, the Back End software resets the Watchdog Timer. If any higher priority task hangs or consumes the system for longer than the time-out period, the Watchdog Timer will go off and reset the Back End processor. The Back End manages the timer hardware using a "Watchdog Device" class. This class provides the operations listed in Table 52.

TABLE 52. `Watchdog Device'Operations

Function              Inputs                                  Outputs                            
Initialize            none                                    none                               
Set Time-out Period   The time it takes for the timer to go   none                               
                      off (in TBD Units)                                                         
Touch                 none                                    none                               
Force Hardware Reset  none                                    Forces the Watchdog Timer to       
                                                              expire, causing a hardware reset   
                                                              of the Back End Processor          

In order to prevent the Watchdog Timer from resetting the processor, the system must prevent 100% utilization for greater than the Watchdog Reset time. In general, tasks are required to periodically "sleep" during long, continuous operations.

13.2.3 Software Housekeeping Statistics - Class "SW House Telemetry Packet"

The Back End software uses a "SW House Telemetry Packet" class to store and telemeter acquired Software Housekeeping statistics. This is a subclass of a "Telemetry Packet," which provides the operations needed to telemeter the information. The "SW House Telemetry Packet" class contains an array of counters, and provides the additional operations listed in Table 53.

TABLE 53. `SW House Telemetry Packet'Operations

Function           Inputs                          Outputs                     
Initialize         SW Housekeeping Acquisition Id  none                        
Reset Counters     none                            Zeros the housekeeping      
                                                   counters contained in the   
Increment Counter  Counter Id                      Increments the housekeep    
                                                   ing counter indicated by    
                                                   "Counter Id"                

13.3 Fatal Error Reporting

13.3.1 Fatal Error Report - Class "Fatal Error"

The Back End software provides the capability to issue a "Fatal" error telemetry report and reset the Back End processor. This is accomplished by a "Fatal Error" class. This class provides the operations listed in Table 54.

TABLE 54. `Fatal Error'Operations

Function  Inputs                           Outputs                                             
Report    Reason for the fatal error       Emits a "Fatal Error" telemetry packet and resets   
          Optional Argument for the error  the Back End Processor using the "Watchdog          
                                           This operation NEVER returns.                       

13.3.2 Recovery after Resets

Upon reset, after the Boot ROM loads and starts the main instrument software, the loaded startup code examines the cause of the reset. If it was a commanded reset, the startup code installs any patches contained in the patch list. If it was a watchdog reset, the startup code skips the patch installation. In either case, the instrument software produces a telemetry packet which indicates that the instrument reset, specifying whether it was a commanded or watchdog reset, and, if it was a watchdog reset, it repeats the last used Fatal Error message reason code and argument.


Table of Contents Next Chapter