Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






Framing Error Count

A framing error is declared if an NSP message is incorrectly encapsulated on the communications link. For ASYNC and RS485 links, this would be any time a FESC character is seen that is not immediately followed by TFESC or TFEND. CAN framing errors are TBD.

Runt Packet Count

A runt packet is a NSP message that is less than 5 bytes long. Such a fragment cannot be a properly formed NSP message since it cannot contain a source and destination address, control field, and CRC.

Runts are counted only if the first byte is equal to the star tracker’s address, which would normally indicate that the packet is addressed to this unit. A zero-length NSP message is not considered a runt. For example, on an ASYNC or RS485 link two FEND characters back-to-back is a valid bus condition and not a runt.

Oversize Packet Count

An oversize packet is one that has too many bytes in the data field. Packets that are too long cannot fit into the allocated message buffers and so they must be rejected. See section 5.2 for the length constraints.

Bad CRC Count

This count is incremented every time a properly formatted (in length and framing) NSP message is received where the CRC field does not match with the computed CRC, and where the first byte is equal to the NSP address of the star tracker.

FIFO Overflow Count

The bootloader does not use FIFO buffers, and will never increment this counter.

The application program uses a mix of hardware and software FIFO buffers on its serial inputs. If a FIFO overflows and loses data then this counter will increment. Due to the constraints of the hardware it is not guaranteed that all overflow events will be noticed.

 

EDAC Memory

The supervisor processor supports 512 bytes of EDAC protected memory. These are implemented using software-based triple-redundant storage into conventional SRAM cells. EDAC memory can be read with READ EDAC and READ FILE commands, and written with WRITE EDAC and WRITE FILE commands. The STORE command will save EDAC memory into non-volatile flash memory.

Table 33: Supervisor EDAC Memory Map

EDAC Address File Address Function Format
0x00 – 0x01 N/A Flash table CRC 16-bit unsigned integer
0x02 N/A EDAC load source 8-bit unsigned integer
0x03 N/A Reserved  
0x04 – 0x07 0x01 Asynchronous current sense telemetry 32-bit float, Amps
0x08 – 0x0B 0x02 Asynchronous bus voltage telemetry 32-bit float, volts
0x0C – 0x0F 0x03 Asynchronous Vdd Core telemetry 32-bit float, volts
0x10 – 0x13 0x04 Asynchronous Vdd MPU telemetry 32-bit float, volts
0x14 – 0x17 0x05 Asynchronous Vdd IO telemetry 32-bit float, volts
0x18 – 0x1B 0x06 Asynchronous supervisor temperature telemetry 32-bit float, °C
0x1C – 0x1F 0x07 Asynchronous Vdd supervisor telemetry 32-bit float, volts
0x20 – 0x23 0x08 Asynchronous ADC ground telemetry (Rev4) Asynchronous Vdd detector telemetry (Rev5) 32-bit float, volts
0x24 – 0x27 0x09 Synchronous current sense telemetry 32-bit float, Amps
0x28 – 0x2B 0x0A Synchronous bus voltage telemetry 32-bit float, volts
0x2C – 0x2F 0x0B Synchronous Vdd Core telemetry 32-bit float, volts
0x30 – 0x33 0x0C Synchronous Vdd MPU telemetry 32-bit float, volts
0x34 – 0x37 0x0D Synchronous Vdd IO telemetry 32-bit float, volts
0x38 – 0x3B 0x0E Synchronous supervisor temperature telemetry 32-bit float, °C
0x3C – 0x3F 0x0F Synchronous Vdd supervisor telemetry 32-bit float, volts
0x40 – 0x43 0x10 Synchronous ADC ground telemetry (Rev4) Synchronous Vdd detector telemetry (Rev5) 32-bit float, volts
0x44 – 0x47 0x11 SEU count 32-bit unsigned integer
0x48 – 0x4B 0x12 SEU scrub index 32-bit unsigned integer
0x4C – 0x4F 0x13 Result structure length 32-bit unsigned integer
0x50 – 0x53 0x14 Control structure length 32-bit unsigned integer
0x54 – 0x58 0x15 Timeout period 32-bit float, seconds
0x59 – 0x5B 0x16 Sample point 32-bit float, seconds
0x5C N/A Sequence state 8-bit enum
0x5D N/A Functional processor message length 8-bit unsigned integer
0x5E – 0x97 N/A Functional processor message Sequence of 8-bit characters. May be human-readable.
0x98 – 0x1FB 0x26-0x7E Control structure  
0x1FC - 1FF 0x7F Realtime clock 32-bit unsigned integer

 



Asynchronous telemetry is continually recorded using the ADC in the supervisor processor. Synchronous telemetry is recorded in a single snapshot at a time after the functional processor startup as defined by the Sample point value.

The result structure and the control structure lengths are maintained in EDAC memory. If the GO command so-specifies, the control structure will be loaded into the functional processor. The functional processor may return a result structure, and the length of that structure will be recorded. The return of the result structure is not atomic, so the result structure length field will slowly grow as individual result packets are received by the supervisor processor.

The timeout period determines how long the functional processor should be allowed to run before it is turned off. This is ignored if the GO command stated that the functional processor should be allowed to run indefinitely.

The sample point determines when the synchronous telemetry snapshot should be taken. It is measured in seconds after the moment that the /Reset signal on the functional processor is de-asserted. Note that if the sample point value is too long (i.e. longer than the timeout period) the synchronous telemetry may not be sampled.

The sequence state shows the power state of the functional processor.

Table 34: Sequence States

Sequence State Meaning
0x00 The main power switch has been turned ON
0x01 The DC/DC converter running the 1.8 V I/O rail has been started
0x02 The LDO running the 2.8 V detector power supply has been started
0x03 The DC/DC converter running the core Vdd rail has been started
0x04 The DC/DC converter running the MPU Vdd rail has been started
0x05 The functional processor’s /Reset line has been released
0x06 The functional processor’s ASIC ID message is being received
0x07 The supervisor is commanding the functional processor’s boot mode
0x08 The supervisor is loading the functional processor with a program from its flash memory
0x09 The functional processor is booting
0x0A The functional processor has sent a message indicating that its software is running
0x0B The functional processor has been turned off by GO command. This is also the default state upon starting the supervisor processor.
0x0C The functional processor has been turned off after it has reported successful completion.
0x0D The functional processor has been turned off following a timeout waiting for the ASIC ID message.
0x0E The functional processor has been turned off following a timeout while commanding the boot mode.
0x0F The functional processor has been turned off following a timeout while sending the program.
0x10 The functional processor has been turned off following a timeout while waiting for it to indicate that its software is running.
0x11 The functional processor has been turned off following a timeout while running normally.
0x12 The functional processor has been turned off because the input voltage to the star tracker exceeded the safe limit (Rev 4). OR The functional processor has been turned off because the supervisor failed in an attempt to write on the SMBus (Rev 5).
0x13 The functional processor has been turned off because it emitted an emergency terminate message.
0x14 The supervisor processor Vdd regulator has entered low-voltage dropout (at about 2.3 V). The sequencer has been reset so that excessive currents are not drawn at low supply voltages.
0x15 The supervisor processor has detected a parity error in the boot message received from the functional processor. The functional processor has been turned off.
0x16 The supervisor processor UART which connects to the functional processor has experienced a FIFO overflow during the boot process. The functional processor has been turned off.   Note that overflows subsequent to the boot process are handled by the diagnostic counters instead.
0x17 The supervisor processor has detected serial data from the functional processor when it was not expected in the boot process. The functional processor has been turned off.
0x18 The supervisor processor has detected a serial transmit interrupt when it did not think it was trying to transmit. The functional processor has been turned off in the ensuing confusion.

 

The functional processor can send notification messages to be stored in the EDAC memory. Only one message can be stored at a time, and a newer message replaces an older one. The length of the currently stored message is stored in EDAC, followed by the message itself.

Upon bootup the functional processor will send its ASIC ID sequence, which is a 58 byte structure identifying the chip. At certain points in its program it may send debugging notifications. These are human-readable ASCII strings. They are not NULL terminated, since the message length is stored separately. If the functional processor encounters a serious error it will send an emergency terminate message. This message will be stored in EDAC, and receipt of it will also cause the supervisor to immediately power down the functional processor. Emergency terminate messages are human-readable ASCII.

The upper bits of the realtime clock are stored in the EDAC memory. While they are accessible through this route, the dedicated TIME command is recommended instead. Inconsistent data may be obtained if an attempt is made to read the time via the EDAC functions at the same moment as the clock ticks.

The STORE command will save a copy of the EDAC memory to non-volatile flash memory, or erase the flash memory page. Upon entry to idle mode (by INIT command) the application program will check the CRC of the flash memory page. If it is correct then it will load the page into EDAC memory. The EDAC Load Source parameter will be set to 1 to indicate this. The first two bytes of EDAC memory will contain the CRC read from flash.

If the CRC validation fails it will load default values. The EDAC Load Source parameter will be cleared to 0 to indicate this. The first two bytes of EDAC memory will also be cleared. Erasing the flash page will force the CRC check to fail, causing default values to be loaded.

Result Structure

Received result data from the functional processor is stored in the result structure. It can be read using the READ RESULT command. Before reading it is a good idea to read the result structure length from EDAC memory. READ RESULT will return NACK if an attempt is made to read beyond the valid areas of the result structure.

The format of the result depends on whether the star tracker is being used operationally, or in self-test. In both cases, the structure is made up of sub-structures

Operational Result

Table 35: Operational Result Structure

Offset Type Notes
0x0000 Unsigned 32-bit integer Sequence number
0x0004 Unsigned 32-bit integer Return code
0x0008 Array of 4 64-bit IEEE floating-point values Inertial attitude quaternion. Scalar component first.
0x0028 Array of 3 64-bit IEEE floating-point values Angular velocity of sensor wrt ECI in sensor frame
0x0040 64-bit IEEE floating-point value Epoch time
0x0048 Hardware Telemetry  
0x0080 Statistics Telemetry  
0x012C Unsigned 32-bit integer Reserved
0x0130 Array of 2 Image Telemetry structures  
0x0440 ERS Telemetry  
0x04A8 Array of 2 Centroid Telemetry structures  
0x07E8 Array of 2 Matching Telemetry structures  
0x0948 Reserved  

 

The entire operational result structure is 0x0A38 bytes long.

Self-Test Result

Table 36: Self-Test Result Structure

Offset Type Notes
0x0000 Analog Frame From step 1 in 6.2
0x0020 Analog Frame From step 2 in 6.2
0x0040 Analog Frame From step 3 in 6.2
0x0060 Analog Frame From step 4 in 6.2
0x0080 Analog Frame From step 5 in 6.2
0x00A0 Analog Frame From step 6 in 6.2
0x00C0 Analog Frame From step 7 in 6.2
0x00E0 Analog Frame From step 8 in 6.2
0x0100 Analog Frame From step 9 in 6.2
0x0120 Analog Frame From step 10 in 6.2
0x0140 Analog Frame From step 11 in 6.2
0x0160 Signed 32-bit int 0 if first test pattern image matches expected value, negative otherwise
0x0164 Signed 32-bit int 0 if second test pattern image matches first image, negative otherwise
0x0168 Analog Frame From step 12 in 6.2
0x0188 Hardware Telemetry  
0x01C0 Analog Frame From step 13 in 6.2
0x01E0 Statistics Telemetry  
0x028C Analog Frame From step 14 in 6.2
0x02AC Analog Frame From step 15 in 6.2

 

The complete self-test structure is 0x02CC bytes long. It is possible that the self-test will fail somewhere along the sequence. For example, if the detector is not working the sequence may stall waiting for an image. In this case the structure will be shorter, and the location of the stall may be determined by the missing data. The Combination command will not deal gracefully with a test failure.

Return Code

The return code is a bitfield that allows the success of the operation to be determined at a glance. New in this revision is a revised set of return codes that clarify interpretation of the sensor status for the end user. The original codes are still set, but are labeled ‘Legacy’ codes.

Table 37: Return Code

Bit Meaning Status
Bit 0 Image 1 output quality Legacy
Bit 1 Image 2 output quality Legacy
Bit 2 Image 1 processing success Legacy
Bit 3 Image 2 processing success Legacy
Bit 4 Full processing Legacy
Bit 5 Detector image Legacy
Bit 6 Consistent image solutions Legacy
Bit 7 Reserved  
Bit 8 Master Return Master Return
Bits 9-10 Image 1 Status Advanced
Bits 11-12 Image 2 Status Advanced

Master Return

The Master Return bit is an overall indicator of the sensor’s confidence in its result. Generally, when this bit is set, the sensor is confident in its return. If this bit is not set, the quaternion and omega fields in the primary telemetry will be zeroed and should not be used.

 


Date: 2015-12-17; view: 615


<== previous page | next page ==>
Successful Reply Format | Matching Telemetry Structure
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.008 sec.)