GLAST/LAT > DAQ and FSW > FSW > Doxygen Index > LTC / V6-2-1

Constituent: ltct     Tag: sun-gcc


Interface   Data Structures   File List   Data Fields   Globals  

ltc.h File Reference

Public definitions for LAT Thermal Control software (LTC). More...

#include "LTC/LTC_tlmdefs.h"

Include dependency graph for ltc.h:

This graph shows which files directly or indirectly include this file:


Functions

unsigned int LTC_initialize (void)
 Initializes and configures thermal control software.
unsigned int LTC_shutdown (void)
 Release resources associated with LTC.
unsigned int LTC_StartTask (void)
 Start Thermal Control processing.
unsigned int LTC_StopTask (void)
 Stop Thermal Control processing.
unsigned int LTC_GetTlm (LTC_DiagLTC_Tlm *tt)
 Retreive telemetry data.
unsigned int LTC_GetConfigFile (unsigned int *fid)
 Get LTC configuration file ID.

Detailed Description

Public definitions for LAT Thermal Control software (LTC).

Control is accomplished by reading-in radiator interface (RIT) and heat pipe reservoir temperatures via the PDU, applying these temperatures to a control algorithm that calcuates whether to turn on or off the heat pipe reservoir heaters, and then commanding the heater on/off bits in the SIB. There are twelve heat pipes numbered or indexed internally as 0 - 11. The temperature sensors and on/off switch bits must be consistent and refer to the same heat \ pipe. The on/off bits in the SIB Heater Control Register refer to the left and right heater. Thus the association of heater index to SIB HCR bits is as follows: 0 - Left Heater 0, 1 - Left Heater 1,..., 5 - Left Heater 5, 6 - Right Heater 0, 7 - Right Heater 1,..., 11 - Right Heater 5. The temperature sensor addresses must be setup consistent with this numbering. For reference to the LAT, the left and right radiators refer to the -Y and +Y radiators, respectively. The VCHP numbering used in the instrumentation list for the -Y radiator is VCHP 0 is closest to -X and for the +Y radiator 0 is closest to +X. Thus heat pipe 0 is on the -Y radiator in the most -X direction, heat pipe 5 is on the -Y radiator in the most +X direction, heat pipe 6 is on the +Y radiator in the most -X direction and heat pipe 11 is on the +Y radiator in the most +X direction.

The temperature sensors are read using the monitor capability of the PDU. The PDU is capable of monitoring 160 quanities, but only contains 20 12-bit ADCs. Thus the values to read or monitor are organized into eight groups of 20 different sensors per group. When requested, an entire group is digitized and values read into the 3 PDU environment registers. The sensor values within a group are referenced according to ADC banks 0 - 19 consecutively in the environment registers. Thus the value for a particular sensor is identified by its group and ADC bank number (e.g. +Y_VCHP_DSHP_INTF _T_1 is group 5 and ADC bank 7). Futhermore, the temperature sensors required for LTC are scattered among all eight groups as defined by tables in the PDU document. The environment registers are 96 bits (3 unsigned ints) wide. Environment registers 0 contains 7 values (ADC Banks 0 - 6), register 1 contains 7 values (ADC Banks 7 - 13) and register 2 contains 6 values (ADC Banks 14 - 19).

The pduTable defined below is orgnized by group and defines for each group the ADC bank numbers for temperature sensors values required by LTC from the given group. This table also associates each measurement with a particular heat pipe and measurement type (RIT or Reservoir).

Once each LTC cycle, the PDU is commanded via the Monitor Register to digitize all the eight groups - one at a time. For each group, the group number is written to the PDU monitor register, and after a delay (~140 usecs) the 3 environment registers are read into the pduReg array. The PDU commanding is accomplished using LCB command and response lists that are precomputed at initialization and submitted each LTC cycle. The temperature sensor values used by LTC are extracted from the register array and stored into the heat pipe variables for used by the LTC control algorithm.

Temperature sensors are connected (hardware wise) with heat pipes. Each heat pipe has a primary and redundant reservoir heater, and a primary and redundant DSHP and XLHP sensors. The control algorithm uses a reservoir and RIT temperature for each heat pipe. Anyone of the primary and redundant DSHP and XLHP sensors may be selected for the RIT temperature of a heat pipe, and any primary or redundant reservoir heater sensor may be selected for the reservoir tempearture of a heat pipe. Sensors may be mapped via the HP Configuration File to a different heat pipe then their hardware connection. A sensor is defined by its connected heat pipe and sensor type (DSHP, DSHP Redundant, XLHP, XLHP Redundant, primary reservoir heater and redundant reservoir heater. The mapping of sensors is defined in the HP Configuration File, and is stored in the ritSel and resSel variables of the structure for each heat pipe.


Function Documentation

unsigned int LTC_GetConfigFile unsigned int *  fid  ) 
 

Get LTC configuration file ID.

Parameters:
fid Stores LTC master FOF file ID on return.
Return values:
A LTC MSG code.
Get the file ID value of the LTC master configuration file-of-files (FOF) which is currently in use. A value of '0' means that the built-in configuration is being used.

unsigned int LTC_GetTlm LTC_DiagLTC_Tlm tt  ) 
 

Retreive telemetry data.

Parameters:
tt - Pointer to telemetry structure
Return values:
An LTC MSG code \ \ Telemetry block contents: \ \ Bytes Off Name Contents \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 0 | snsrSel | Per HP, selected RIT and RES sensors. For each | \ | | | | sensor the connected HP and sensor type is given.| \ | | | | 2 bytes per heat pipe, one byte per sensor: | \ | | | | 4-bits for HP # and 4-bits for type (DSHP, | \ | | | | DSHP_R, XLHP, XLHP_R, RSVR, and RSVR_R) | \ |------|-----|-------------|--------------------------------------------------| \ | 12 | 24 | snsrStat | Per HP, input sensor status. | \ | | | | RIT/RES 4 bits each, 0-NOT_READ, 1-READ_GOOD | \ | | | | 2-READ_BAD, 3-BROKEN. One byte pad added. | \ |------|-----|-------------|--------------------------------------------------| \ | 2 | 36 | actvHp | Per HP, 1-active, 0-not active (ON or OFF) | \ |------|-----|-------------|--------------------------------------------------| \ | 144 | 38 | rawAdc | Per each of 72 possible primary and redundant | \ | | | | sensors, raw ADC values (12 bits) and (4 bits) | \ | | | | read status. Ordered by HP, i.e. 6 for HP0, 6 | \ | | | | for HP1,...,6 for HP11. | \ |------|-----|-------------|--------------------------------------------------| \ | 48 | 182 | temps | Per each HP, temperature values input to control | \ | | | | Smoothed and converted to celsius for RIT and | \ | | | | RES. Fixed point scaled values. First 12 are | \ | | | | for RIT and 2nd 12 for RES. | \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 230 | ritLo | Low limit for RIT sensors, heat pipes 0 - 11 | \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 254 | ritHi | High limit for RIT sensors, heat pipes 0 - 11 | \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 278 | resLo | Low limit for reservoir sensors, HPs 0 - 11 | \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 302 | resHi | High limit for reservoir sensors, HPs 0 - 11 | \ |------|-----|-------------|--------------------------------------------------| \ | 24 | 326 | dbDelta | Deadband delta limit, HPs 0 - 11 | \ |------|-----|-------------|--------------------------------------------------| \ | 2 | 350 | htrCmd | Bit for each HP reservoir heater command, 1 is | \ | | | | command to on and 0 commanded to off. The upper | \ | | | | bit (2**15) indicates commanding mode: 1 is | \ | | | | actively sending commands to heaters, and 0 is | \ | | | | calculating commands but not sending to heaters. | \ |------|-----|-------------|--------------------------------------------------| \ | 2 | 352 | htrReg | Bit for each SIB control heater bit, 1 is | \ | | | | commanded on and 0 commanded off. The upper | \ | | | | bit (2**15) indicates LTC run mode: 1 is running | \ | | | | and 0 is stopped. | \ |-----------------------------------------------------------------------------| \ |-----------------------------------------------------------------------------| \ | 354 | TOTAL BYTES | | \ `-----------------------------------------------------------------------------' \

unsigned int LTC_initialize void   ) 
 

Initializes and configures thermal control software.

Return values:
A LTC MSG code.

unsigned int LTC_shutdown void   ) 
 

Release resources associated with LTC.

Return values:
A LTC MSG code

unsigned int LTC_StartTask void   ) 
 

Start Thermal Control processing.

Return values:
A LTC MSG code.
Start LTC thermal control task and telecommand processing (ITC task).

unsigned int LTC_StopTask void   ) 
 

Stop Thermal Control processing.

Return values:
A LTC MSG code.
Stop LTC thermal control task and telecommand processing (ITC task).


Generated on Fri Nov 21 01:37:57 2008 by  doxygen 1.4.4