The spacecraft Command & Data Handling (C&DH) system collects telemetry from CRISP over the 1553 bus as non-packetized housekeeping and as CCSDS packets.
The C&DH system picks up a 16-byte non-packetized housekeeping record
every second. The contents can be incorporated into C&DH autonomy
processing. The C&DH system also assembles the data into a
housekeeping packet. The format of the non- packetized housekeeping
record is shown below.
Name | Length (bits) | Value | Description |
---|---|---|---|
Version | 8 | 0 = Boot >0 = Application | Software version |
Alarm | 8 | See Table 37 | Latest alarm id |
Alarm Type | 1 | 0 = Persistent 1 = Transient | Latest alarm type |
Alarms | 7 | Unsigned integer | Count of alarms |
Executed | 8 | Unsigned integer | Commands executed |
Rejected | 8 | Unsigned integer | Commands rejected |
Mac Exec | 8 | Unsigned integer | Macro commands executed |
Mac Rej | 8 | Unsigned integer | Macro commands rejected |
Spare | 8 |   |   |
CA Mode | 1 | 0 = Good targeting 1 = Bad targeting | Closest approach mode |
CA State | 3 | 0 = Idle 1 = Search 2 = Inbound imaging 3 = Closest approach | Closest approach processing state |
CA Valid | 1 | 0 = Invalid 1 = Valid | Validity of CA time, miss distance, miss distance summary, and target angle |
CA Distance Summary | 3 | 0 = Very near 1 = Near 2 = Nominal 3 = Far 4 = Very far 5 = Too far #1 6 = Too far #2 7 = Too far #3 | Miss distance summary for closest approach processing |
CA Target Angle | 3 | 0 = Inbound 1 = Inbound imaging 2 = Closest approach 3 = Outbound imaging | Target angle for closest approach processing |
Spare | 5 |   |   |
CA Distance | 16 | Unsigned integer | Miss distance (km) |
CA Time | 32 | Signed integer | Time to closest approach (seconds) |
The C&DH system collects up to one packet from CRISP every second.
These packets are memory dump and subpacket packets as described in
Reference 3. In addition, CRISP can generate memory dump and subpacket
packets from the TPU. CRISP
images
and
spectra
are sent directly to the C&DH system for packetization.
Product | Data Id (binary) | When Sent |
---|---|---|
Memory Dump | 000 0000 | On demand |
Subpacket | 000 0001 | As needed |
Images | 000 0010 | Commandable interval |
Spectra | 000 0011 | Commandable interval |
TPU Memory Dump | 000 0100 | On demand |
TPU Subpacket | 000 0101 | As needed |
TPU memory dump packets consist of CONTOUR CCSDS headers, a dump start address, dump length, and dump data. The TPU memory dump has an identical format to DPU memory dumps except that the data ids in the packet header differ.
Instead of coercing imager data to fit into the fixed size CONTOUR packets, the imagers use variable-sized subpackets that ÒfloatÓ through fixed-size packets (see Reference 3).
The subpacket types produced by CRISP are listed in the table below.
Subpackets can be produced by the DPU or the TPU. DPU subpackets are
always placed in DPU subpacket packets and TPU subpackets are always
placed in TPU subpacket packets. Some of the subpackets are described
in Reference 3. The subpackets unique to CRISP are described below.
Product | Subpacket Id (hex) | When Generated |
---|---|---|
Boot Status | 0x0000 | Commandable interval |
Status | 0x0001 | Commandable interval |
Command Echo | 0x0002 | As needed |
Alarm | 0x0003 | As needed |
Memory Checksum | 0x0004 | On demand |
Monitor Limits | 0x0005 | On demand |
DPU Parameters | 0x0006 | On demand |
TPU Alarm | 0x0010 | As needed |
TPU Memory Checksum | 0x0011 | On demand |
TPU Mirror Parameters | 0x0012 | On demand |
TPU Aim Parameters | 0x0013 | On demand |
TPU CA Parameters | 0x0014 | On demand |
TPU Tracker Offset | 0x0015 | On demand |
TPU Tracker Control | 0x0016 | On demand |
TPU Tracker Target | 0x0017 | On demand |
TPU Tracker EKF | 0x0018 | On demand |
TPU Tracker Cheby #1 | 0x0019 | On demand |
TPU Tracker Cheby #2 | 0x001a | On demand |
TPU Tracker Cheby #3 | 0x001b | On demand |
TPU Tracker Mirror | 0x001c | On demand |
TPU Tracker Gate | 0x001d | On demand |
TPU Tracker Align | 0x001e | On demand |
TPU Tracking Results | 0x001f | Every second, if enabled |
Flush | 0x3fff | As needed |
The DPU generates a status subpacket periodically. The rate is
controlled by a command (see CRS_STAT_INT). The subpacket consists of
a subpacket header and status data; the status includes analog,
digital, DPU software, and TPU software data. The overall subpacket
format is shown in the following table; the formats of the individual
components are shown in the subsequent tables.
Name | Length (bits) | Value | Description |
---|---|---|---|
Time Tag | 32 | Unsigned integer | Spacecraft MET |
Grouping | 2 | 11 = None | Grouping flags |
Subpacket Id | 14 | 0x0001 | Identifies subpacket type |
Length | 16 | 204 | Number of data bytes in subpacket |
Analog | 42 * 16 | See Table 13 | Analog readings |
Digital | 16 * 16 | See Table 14 | Digital configuration and feedback |
Software | 88 * 8 | See Table 15 | Software configuration and status |
Name | Length (bits) | Value | Description |
---|---|---|---|
Ana DPU/0 | 16 | -8192 - 8191 | Mirror motor current |
Ana DPU/1 | 16 | -8192 - 8191 | Star camera #1 heater current |
Ana DPU/2 | 16 | -8192 - 8191 | Star camera #2 heater current |
Ana DPU/3 | 16 | -8192 - 8191 | Diaphragm heater current |
Ana DPU/4 | 16 | -8192 - 8191 | Mirror motor heater current |
Ana DPU/5 | 16 | -8192 - 8191 | Bulk heater current |
Ana DPU/6 | 16 | -8192 - 8191 | DPU current |
Ana DPU/7 | 16 | -8192 - 8191 | DPU voltage |
Ana IM/0 | 16 | -8192 - 8191 | Imager converter current |
Ana IM/1 | 16 | -8192 - 8191 | HOP actuator #1 heater #1 current |
Ana IM/2 | 16 | -8192 - 8191 | HOP actuator #1 heater #2 current |
Ana IM/3 | 16 | -8192 - 8191 | Imager current |
Ana IM/4 | 16 | -8192 - 8191 | HOP actuator #2 heater #1 current |
Ana IM/5 | 16 | -8192 - 8191 | Imager voltage |
Ana IM/6 | 16 | -8192 - 8191 | HOP actuator #2 heater #2 current |
Ana SP/0 | 16 | -8192 - 8191 | Spectrometer primary current |
Ana SP/1 | 16 | -8192 - 8191 | Spectrometer converter current |
Ana SP/2 | 16 | -8192 - 8191 | Cooler converter current |
Ana SP/3 | 16 | -8192 - 8191 | Cooler current |
Ana SP/4 | 16 | -8192 - 8191 | Spectrometer current |
Ana SP/5 | 16 | -8192 - 8191 | Cooler voltage |
Ana SP/6 | 16 | -8192 - 8191 | Spectrometer voltage |
Ana FW/0 | 16 | -8192 - 8191 | FW motor primary current |
Ana FW/1 | 16 | -8192 - 8191 | FW motor current |
Ana FW/2 | 16 | -8192 - 8191 | FW motor converter current |
Ana FW/3 | 16 | -8192 - 8191 | FW 15V current |
Ana FW/4 | 16 | -8192 - 8191 | FW 15V voltage |
Temp 0 | 16 | 0 - 1023 | Spectrometer housing temperature |
Temp 1 | 16 | 0 - 1023 | Mirror motor elec. temperature |
Temp 2 | 16 | 0 - 1023 | Cryo cooler temperature |
Temp 3 | 16 | 0 - 1023 | Fold mirror temperature |
Temp 4 | 16 | 0 - 1023 | Housing rear temperature |
Temp 5 | 16 | 0 - 1023 | M2 temperature |
Temp 6 | 16 | 0 - 1023 | M1 temperature |
Temp 7 | 16 | 0 - 1023 | Diaphragm temperature |
Temp 8 | 16 | 0 - 1023 | Mirror motor temperature |
Temp 9 | 16 | 0 - 1023 | Star camera #2 temperature |
Temp 10 | 16 | 0 - 1023 | Star camera #1 temperature |
Temp 11 | 16 | 0 - 1023 | HOPS actuator #1 temperature |
Temp 12 | 16 | 0 - 1023 | Housing top temperature |
Temp 13 | 16 | 0 - 1023 | Radiator temperature |
Temp 14 | 16 | 0 - 1023 | Deck temperature |
Name | Length (bits) | Value | Description |
---|---|---|---|
Spare | 14 |   |   |
Telltale 2 | 1 | 0 = Extended (deployed) 1 = Not extended | HOP #2 telltale |
Telltale 1 | 1 | 0 = Extended (deployed) 1 = Not extended | HOP #1 telltale |
FW Position | 16 | Unsigned integer | Filter wheel position |
Mirror Power | 1 | 0 = Off 1 = On | Tracking mirror power |
Star Camera 1 Heater | 1 | 0 = Off 1 = On | Star camera #1 heater power |
Star Camera Heater | 1 | 0 = Off 1 = On | Star camera #2 heater power |
Diaphragm Heater | 1 | 0 = Off 1 = On | Diaphragm heater power |
Mirror Heater | 1 | 0 = Off 1 = On | Mirror motor heater power |
Bulk Heater | 1 | 0 = Off 1 = On | Bulk (upper housing) heater power |
Spare | 2 |   |   |
IM Primary | 1 | 0 = Off 1 = On | Imager board primary power |
HOP #2/2 | 1 | 0 = Off 1 = On | HOP actuator #2 heater #2 power |
HOP #2/1 | 1 | 0 = Off 1 = On | HOP actuator #2 heater #1 power |
HOP #1/2 | 1 | 0 = Off 1 = On | HOP actuator #1 heater #2 power |
HOP #1/1 | 1 | 0 = Off 1 = On | HOP actuator #1 heater #1 power |
Spare | 2 |   |   |
IM Power | 1 | 0 = Off 1 = On | Imager focal plane power |
Spare | 6 |   |   |
IM LED 2 | 1 | 0 = Off 1 = On | Imager cover LED #2 |
IM LED 1 | 1 | 0 = Off 1 = On | Imager cover LED #1 |
SP Primary | 1 | 0 = Off 1 = On | Spectrometer board primary power |
Spare | 4 |   |   |
Cooler Hi/Lo | 1 | 0 = Low 1 = High | Spectrometer cooler temperature |
Cooler Power | 1 | 0 = Off 1 = On | Spectrometer cooler power |
SP Power | 1 | 0 = Off 1 = On | Spectrometer focal plane power |
FW Primary | 1 | 0 = Off 1 = On | FW motor board primary power |
FW Resolver | 1 | 0 = Off 1 = On | FW resolver power |
Spare | 6 |   |   |
Spare | 1 |   |   |
FW Level | 3 | Unsigned integer | FW motor power level |
Spare | 1 |   |   |
FW Motor | 1 | 0 = Off 1 = On | FW motor current enable |
FW Phase | 2 | Unsigned integer | FW motor phase drive |
Spare | 2 |   |   |
Compress | 1 | 0 = No compression 1 = Compress | Image compression enable |
Comp. Type | 3 | 0 = High-range identity 1 = Low-end identity 2 = Mid-range identity 3 = DN-weighted SNR 4 = Inverse root 2 power 5 = Linear 6 = SNR proportional 7 = Root 2 power | Image compression type |
Image X | 10 | Unsigned integer | Image X origin |
Spare | 3 |   |   |
Image Downlink | 1 | 0 = No downlink 1 = Downlink | Image downlink enable |
Image Format | 2 | 0 = 1024 x 1024 1 = 512 x 512 2 = 256 x 256 3 = 128 x 128 | Image format |
Image Y | 10 | Unsigned integer | Image Y origin |
Spare | 3 |   |   |
Image Start | 13 | Unsigned integer | Image exposure start time |
Imager Status | 16 |   | Imager FPU status word |
Spare | 5 |   |   |
Cal Lamp #2 | 1 | 0 = Off 1 = On | IR calibration lamp #2 |
Cal Lamp #1 | 1 | 0 = Off 1 = On | IR calibration lamp #1 |
IR Temp. Monitor | 1 | 0 = Off 1 = On | Temperature monitor enable/disable |
Cal Level | 8 | Unsigned integer | IR calibration level for both lamps |
Spect. Range | 2 | 0 = Bits 12..1 1 = Bits 13..2 2 = Bits 11..0 | Spectrometer pixels bits telemetered |
Spare | 1 |   |   |
Spect. Downlink | 1 | 0 = No downlink 1 = Downlink | Spectrometer downlink enable |
Spect. Format | 2 | 0 = 256 x 256 1 = 128 x 256 2 = 64 x 256 3 = 32 x 256 | Spectrometer format |
Spare | 2 |   |   |
Spect. Origin | 8 | Unsigned integer | Spectrometer origin in spatial dimension |
Spect. Status | 16 |   | Spectrometer FPU status word |
Spect. FPU Temp. #1 | 16 | Unsigned integer | Spectrometer FPU temperature #1 |
Spect. FPU Temp. #2 | 16 | Unsigned integer | Spectrometer FPU temperature #2 |
Spect. FPU Board Temp. | 16 | Unsigned integer | Spectrometer FPU board temperature |
Spare | 16 |   |   |
Name | Length (bits) | Value | Description |
---|---|---|---|
Image Time | 16 | 0 - 65534: Remaining 65535: Forever | Image downlink time remaining (seconds) |
Image Interval | 16 | Unsigned integer | Interval between downlink images (seconds) |
Track Time | 16 | 0 - 65534: Remaining 65535: Forever | Tracking image collection time remaining (seconds) |
Track Interval | 16 | Unsigned integer | Interval between tracking images (seconds) |
Spect. Time | 16 | 0 - 65534: Remaining 65535: Forever | Spectra collection time remaining (seconds) |
Heater #0 Setpoint | 16 | Unsigned integer | Heater #0 setpoint |
Heater #1 Setpoint | 16 | Unsigned integer | Heater #1 setpoint |
Heater #2 Setpoint | 16 | Unsigned integer | Heater #2 setpoint |
Heater #3 Setpoint | 16 | Unsigned integer | Heater #3 setpoint |
Heater #4 Setpoint | 16 | Unsigned integer | Heater #4 setpoint |
Heater #0 Hysteresis | 8 | Unsigned integer | Heater #0 hysteresis |
Heater #1 Hysteresis | 8 | Unsigned integer | Heater #1 hysteresis |
Heater #2 Hysteresis | 8 | Unsigned integer | Heater #2 hysteresis |
Heater #3 Hysteresis | 8 | Unsigned integer | Heater #3 hysteresis |
Heater #4 Hysteresis | 8 | Unsigned integer | Heater #4 hysteresis |
Heater #0 Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater #0 control mode |
Heater #1 Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater #1 control mode |
Heater #2 Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater #2 control mode |
Heater #3 Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater #3 control mode |
Heater #4 Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater #4 control mode |
Spect. Rate | 3 | 1 - 5 | Spectrometer rate (Hz) |
Cover Mode | 1 | 0 = Disable deployment 1 = Enable deployment | Cover deployment mode |
Spare | 2 |   |   |
CA Mode | 1 | 0 = Good targeting 1 = Bad targeting | Closest approach mode |
CA State | 3 | 0 = Idle 1 = Search 2 = Inbound imaging 3 = Closest approach | Closest approach processing state |
Filter | 4 | 1 - 10 | Commanded filter number |
Macro Blocks | 16 | Unsigned integer | Number of macro blocks free |
DPU Version | 8 | Unsigned integer | DPU software version number |
Alarm Id | 8 | See Table 37 | Latest alarm Id |
Alarm Type | 1 | 0 = Persistent 1 = Transient | Latest alarm type |
Alarm Count | 7 | Unsigned integer | Count of alarms |
Cmd Exec | 8 | Unsigned integer | Commands executed |
Cmd Reject | 8 | Unsigned integer | Commands rejected |
Mac Exec | 8 | Unsigned integer | Macro commands executed |
Mac Reject | 8 | Unsigned integer | Macro commands rejected |
Status Int. | 8 | 1 - 255 (0 = Off) | Status interval (seconds) |
Macro Id | 8 | Unsigned integer | Id of most recent macro executed |
Auto Flush | 1 | 0 = Disable 1 = Enable | Automatic telemetry flush |
Macro Learn | 1 | 0 = Not learning 1 = Learning | Macro learn mode |
Monitor Response | 1 | 0 = Disable 1 = Enable | Monitor response |
Spare | 5 |   |   |
Mirror Pos. | 32 |   | Mirror motor position |
Spare | 32 |   |   |
Tracker X | 32 | IEEE-754 single | X goal position (pixels) |
Tracker Y | 32 | IEEE-754 single | Y goal position (pixels) |
Slew Angle | 32 | IEEE-754 single | Slew target angle (degrees) |
Offset Angle | 32 | IEEE-754 single | Target offset angle (degrees) |
Offset Rate | 32 | IEEE-754 single | Target offset rate (degrees/s) |
CA Time | 32 | Signed integer | Time to closest approach (seconds) |
CA Distance | 16 | Unsigned integer | Miss distance (km) of closest approach |
CA Valid | 1 | 0 = Invalid 1 = Valid | Validity of CA time, miss distance, miss distance summary, and target angle |
CA Distance Summary | 3 | 0 = Very near 1 = Near 2 = Nominal 3 = Far 4 = Very far 5 = Too far #1 6 = Too far #2 7 = Too far #3 | Miss distance summary for closest approach processing |
CA Target Angle | 3 | 0 = Inbound 1 = Inbound imaging 2 = Closest approach 3 = Outbound imaging | Target angle for closest approach processing |
Spare | 9 |   |   |
Tracking Algorithm | 2 | 0 = Off 1 = Fixed target 2 = Moving target | Tracking algorithm |
Tracking Loop | 1 | 0 = Disable 1 = Enable | Closed-loop Tracking |
Aim Algorithm | 1 | 0 = Comet 1 = Brightest object | Aim algorithm |
Offset Adjustment | 1 | 0 = Disable 1 = Enable | Mirror offset adjustment |
Mirror Mode | 3 | 0 = Off 1 = Hold 2 = Slew 3 = Scan 4 = Home | Mirror control mode (commanded) |
Mirror Side | 1 | 0 = A (science) 1 = B (tracking) | Mirror side |
Spare | 1 |   |   |
Auto Flush TPU | 1 | 0 = Disable 1 = Enable | Automatic telemetry flush in TPU |
TPU Test Mode | 1 | 0 = Disable 1 = Enable | TPU test mode |
TPU Tracking Tlm | 1 | 0 = Disable 1 = Enable | TPU tracking telemetry production |
Spare | 3 |   |   |
TPU Version | 8 | Unsigned integer | TPU software version number |
Spare | 8 |   |   |
Actual Mirror Mode | 8 | 0 = Off 1 = Hold 2 = Slew 3 = Scan 4 = Home 5 = Search 6 = Found 7 = Verify | Mirror control mode (actual) |
Spare | 24 |   |   |
Spare | 10 |   |   |
Track Image Zoom | 2 | 0 = 8x8 rebin 1 = 4x4 rebin 2 = 2x2 rebin 3 = 1x1 rebin | Tracking image zoom |
Track Img X | 10 | 0 - 1023 | Tracking image X region (pixels) |
Track Img Y | 10 | 0 - 1023 | Tracking image Y region (pixels) |
TPU memory checksum subpackets consist of a subpacket header and
checksum data. The checksum is the 32-bit two's complement sum of the
indicated memory region.
Name | Length (bits) | Value | Description |
---|---|---|---|
Time Tag | 32 | Unsigned integer | Spacecraft MET |
Grouping | 2 | 11 = None | Grouping flags |
Subpacket Id | 14 | 0x0011 | Identifies subpacket type |
Length | 16 | 12 | Number of data bytes in subpacket |
Address | 32 | Unsigned integer | Address of region checked |
Length | 32 | Unsigned integer | Length of region checked in bytes |
Checksum | 32 | Unsigned integer | Computed checksum |
The results of the TPU's
tracking
algorithm can be telemetered in a
subpacket. TPU tracking results subpackets consist of a subpacket
header and tracking data. If enabled by command
(CRS_TPU_TRK_TLM)
the subpacket will be sent every second.
Name | Length (bits) | Value | Description |
---|---|---|---|
Time Tag | 32 | Unsigned integer | Spacecraft MET |
Grouping | 2 | 11 = None | Grouping flags |
Subpacket Id | 14 | 0x001f | Identifies subpacket type |
Length | 16 | 112 | Number of data bytes in subpacket |
Time | 64 | IEEE-754 double | Time tracking done (TDT) |
Attitude | 4 * 32 | IEEE-754 single | Estimated CRISP attitude |
Correction | 4 * 32 | IEEE-754 single | Attitude correction from G&C |
Centroid | 2 * 32 | IEEE-754 single | Centroid (pixels) |
Mirror Pos | 32 | IEEE-754 single | Mirror position (degrees) |
Mirror Cmd | 2 * 32 | IEEE-754 single | Mirror command (degrees, d/s) |
CA | 32 | IEEE-754 single | Time to closest approach (seconds) |
Miss | 32 | IEEE-754 single | Miss distance (km) |
Roll Z | 32 | IEEE-754 single | Delta roll z component |
Gate | 2 * 32 | IEEE-754 single | Gate location (pixels) |
Trajectory | 6 * 32 | IEEE-754 single | Filter trajectory |
Proc Time | 16 |   | Processing time (ms) |
Filter Flag | 1 | 0 = Invalid 1 = Valid | Filter valid |
Used Flag | 1 | 0 = Invalid 1 = Valid | Used |
Gate Flag | 1 | 0 = Invalid 1 = Valid | Gate initialized |
Z Flag | 1 | 0 = Invalid 1 = Valid | Z stable |
Attitude Flag | 1 | 0 = Invalid 1 = Valid | Attitude valid |
Tracking Loop | 1 | 0 = Disable 1 = Enable | Closed loop track enable |
Centroid Flag | 1 | 0 = Invalid 1 = Valid | Centroid valid |
Correction Flag | 1 | 0 = Invalid 1 = Valid | Attitude correction valid |
Mirror Flag | 1 | 0 = Invalid 1 = Valid | Mirror position valid |
Spare | 7 |   |   |
Spare | 4 * 8 |   |   |
The DPU makes several of its internal data structures available for modification or downlink. The data structures can be modified by command (CRS_MEM_STR_LOAD). The current data structures can also be downlinked by command (CRS_MEM_STR_READ). The data structures are described in Appendix 1.
The TPU makes several of its internal data structures available for modification or downlink. The data structures can be modified by command (CRS_TPU_MEM_STR_LOAD). The current data structures can also be downlinked by command (CRS_TPU_MEM_STR_READ). The data structures are described in Appendix 2.
Return to CRISP Software User's Guide.
Report problems to John Hayes.