The spacecraft Command & Data Handling (C&DH) system collects telemetry from CFI 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 20 | 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 | 9 * 8 |   |   |
The C&DH system collects up to one packet from CFI every second. These
packets are memory dump and subpacket packets as described in Reference
3. CFI
images
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 |
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 CFI are listed in the table 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 |
| DSAD Pinhole Summary | 0x0007 | On demand |
| DSAD Lensed Summary | 0x0008 | On demand |
| DSAD Pinhole Image | 0x0009 | On demand |
| DSAD Lensed Image | 0x000a | On demand |
| Dust Shield Data | 0x000b | On demand |
| Dosimeter Data | 0x000c | On demand |
| CHEAP Peek | 0x000d | On demand |
| Flush | 0x3fff | As needed |
The DPU generates a status subpacket periodically. The rate is
controlled by a command (see CFI_STAT_INT). The subpacket consists of
a subpacket header and status data; the status includes analog,
digital, and DPU software. 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 | 124 | Number of data bytes in subpacket |
| Analog | 34 * 16 | See Table 8 | Analog readings |
| Digital | 14 * 16 | See Table 9 | Digital configuration and feedback |
| Software | 28 * 8 | See Table 10 | Software configuration and status |
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Ana DPU/1 | 16 | -8192 - 8191 | CCD 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 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 |
| Ana CM/0 | 16 | -8192 - 8191 | CM motor primary current |
| Ana CM/1 | 16 | -8192 - 8191 | CM motor current |
| Ana CM/2 | 16 | -8192 - 8191 | CM motor converter current |
| Ana CM/3 | 16 | -8192 - 8191 | CM 15V current |
| Ana CM/4 | 16 | -8192 - 8191 | CM 15V voltage |
| Temp 0 | 16 | 0 - 1023 | CCD plate temperature #1 |
| Temp 1 | 16 | 0 - 1023 | CCD plate temperature #2 |
| Temp 2 | 16 | 0 - 1023 | Top bracket temperature |
| Temp 3 | 16 | 0 - 1023 | Bottom bracket temperature |
| Temp 4 | 16 | 0 - 1023 | M1/M2 tube base temperature |
| Temp 5 | 16 | 0 - 1023 | Bench fold cube temperature |
| Temp 6 | 16 | 0 - 1023 | Filter motor temperature |
| Temp 7 | 16 | 0 - 1023 | Cube motor temperature |
| Temp 8 | 16 | 0 - 1023 | Telescope tube bottom temperature |
| Temp 9 | 16 | 0 - 1023 | Telescope tube top temperature |
| Temp 10 | 16 | 0 - 1023 | Radiator temperature #2 |
| Temp 11 | 16 | 0 - 1023 | Radiator temperature #1 |
| Temp 12 | 16 | 0 - 1023 | Cover temperature #2 |
| Temp 13 | 16 | 0 - 1023 | Cover temperature #1 |
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Spare | 15 |   |   |
| Telltale | 1 | 0 = Closed 1 = Open | Cover telltale |
| FW Resolver | 16 | Unsigned integer | Filter wheel position |
| Mirror Resolver | 16 | Unsigned integer | Cube mirror position |
| Spare | 1 |   |   |
| CCD Heater | 1 | 0 = Off 1 = On | CCD heater power |
| Spare | 6 |   |   |
| 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 |
| FW Primary | 1 | 0 = Off 1 = On | FW motor board primary power |
| FW Resolver | 1 | 0 = Off 1 = On | FW resolver power |
| Spare | 6 |   |   |
| CM Primary | 1 | 0 = Off 1 = On | CM motor board primary power |
| CM Resolver | 1 | 0 = Off 1 = On | CM 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 | 1 |   |   |
| CM Level | 3 | Unsigned integer | CM motor power level |
| Spare | 1 |   |   |
| CM Motor | 1 | 0 = Off 1 = On | CM motor current enable |
| CM Phase | 2 | Unsigned integer | CM motor phase drive |
| DSAD Pinhole Expose Time | 8 | Unsigned integer | DSAD pinhole exposure time (milliseconds) |
| DSAD Lensed Expose Time | 8 | Unsigned integer | DSAD lensed exposure time (milliseconds) |
| Spare | 16 |   |   |
| 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 | 12 |   |   |
| Binning Enable | 1 | 0 = Disable 1 = Enable | Image binning enable |
| Spare | 1 |   |   |
| Binning Mode | 1 | 0 = 4 x 4 binning 1 = 2 x 2 binning | Image binning mode |
| Binning On/Off | 1 | 0 = Off 1 = On | Image binning on/off |
| Image Expose Time | 7 | Unsigned integer | Additional image exposure time (seconds) |
| Image Start | 9 | Unsigned integer | Image exposure start time |
| Imager Status | 16 |   | Imager FPU status word |
| 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) |
| Spare | 16 |   |   |
| Spare | 16 |   |   |
| Heater Setpoint | 16 | Unsigned integer | Heater setpoint |
| Heater Hysteresis | 8 | Unsigned integer | Heater hysteresis |
| Heater Mode | 2 | 0 = Off 1 = On 2 = Software control | Heater control mode |
| Heater Sensor | 2 | 0 = CCD plate temp. #1 1 = CCD plate temp. #2 2 = Radiator temp. #1 3 = Radiator temp. #2 | Sensor selected to control heater |
| Filter | 4 | 1 - 10 | Commanded filter number |
| Cover Mode | 1 | 0 = Disable deployment 1 = Enable deployment | Cover deployment mode |
| Cube Side | 2 | 0 - 3 | Commanded cube mirror side |
| Spare | 13 |   |   |
| Macro Blocks | 16 | Unsigned integer | Number of macro blocks free |
| DPU Version | 8 | Unsigned integer | DPU software version number |
| Alarm Id | 8 | See Table 20 | 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 |   |   |
| Spare | 16 |   |   |
The DPU makes several of its internal data structures available for modification or downlink. The data structures can be modified by command (CFI_MEM_STR_LOAD). The current data structures can also be downlinked by command (CFI_MEM_STR_READ). The data structures are described in Appendix 1.
The
DSAD
computes the X, Y centroid of the image. These, along with
other analog values, are sent as a summary subpacket in response to a
command
(CFI_SAD_IMAGE).
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Time Tag | 32 | Unsigned integer | Spacecraft MET |
| Grouping | 2 | 11 = None | Grouping flags |
| Subpacket Id | 14 | 0x0007 (or 0x0008) | Identifies subpacket type |
| Length | 16 | 14 | Number of data bytes in subpacket |
| Analog 0 | 16 | 0 - 1023 | Ground |
| Analog 1 | 16 | 0 - 1023 | Vptat |
| Analog 2 | 16 | 0 - 1023 | DAC test point |
| Analog 3 | 16 | 0 - 1023 | Divider test point |
| Analog 4 | 16 | 0 - 1023 | Bandgap |
| Analog 5 | 16 | 0 - 1023 | Vertical (Y) position |
| Analog 6 | 16 | 0 - 1023 | Horizontal (X) position |
The raw image may also be sent in addition to the summary if commanded
(CFI_SAD_IMAGE).
Each DSAD image is sent as a series of subpackets.
Each subpacket contains a single 200-pixel scan line from the image.
Each line is prefixed with a subheader containing the line number.
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Time Tag | 32 | Unsigned integer | Spacecraft MET |
| Grouping | 2 | 11 = None | Grouping flags |
| Subpacket Id | 14 | 0x0009 (or 0x000a) | Identifies subpacket type |
| Length | 16 | 402 | Number of data bytes in subpacket |
| Line | 8 | 0 - 199 | Image line number |
| Spare | 8 |   |   |
| Image | 200 * 16 | 0 - 1023 | Image line |
The DPU generates a
dust shield monitor
subpacket on command (see
CFI_DUS_DATA).
The subpacket consists of a subpacket header and
sixteen measurements.
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Time Tag | 32 | Unsigned integer | Spacecraft MET |
| Grouping | 2 | 11 = None | Grouping flags |
| Subpacket Id | 14 | 0x000b | Identifies subpacket type |
| Length | 16 | 32 | Number of data bytes in subpacket |
| Data | 16 * 16 | 0 - 1023 | Dust shield measurements |
The DPU generates a
dosimeter
subpacket on command
(see CFI_DOS_DATA).
The subpacket consists of a subpacket header and a single dosimeter
measurement.
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Time Tag | 32 | Unsigned integer | Spacecraft MET |
| Grouping | 2 | 11 = None | Grouping flags |
| Subpacket Id | 14 | 0x000c | Identifies subpacket type |
| Length | 16 | 2 | Number of data bytes in subpacket |
| Data | 16 | 0 - 1023 | Dosimeter measurements |
The DPU generates a
CHEAP
peek subpacket on command (see
CFI_CHE_PEEK).
The subpacket consists of a subpacket header and a
single CHEAP data value.
| Name | Length (bits) | Value | Description |
|---|---|---|---|
| Time Tag | 32 | Unsigned integer | Spacecraft MET |
| Grouping | 2 | 11 = None | Grouping flags |
| Subpacket Id | 14 | 0x000d | Identifies subpacket type |
| Length | 16 | 2 | Number of data bytes in subpacket |
| Data | 16 | Unsigned integer | CHEAP peek data value |
Return to CFI Software User's Guide.
Report problems to John Hayes.