Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






Block Relocation Table

After booting, the functional processor will read the block relocation table from NAND flash. This table allows the mapping of logical NAND blocks to physical NAND blocks to be changed. Its nominal use is to bypass bad NAND blocks.

Each of the 128 pages within the table may have zero or more block relocation entries.

Table 49: Block Relocation Entry

Offset Type Notes
32-bit integer Address of page in logical block
32-bit integer Address of page in physical block

 

Block relocation entries are read from a page until an out of range marker (such as 0xFFFFFFFF) is found. If the marker is found in the first entry in the page, the table is considered complete. Otherwise the next page will be read. If a page cannot be read due to ECC failure (bad, or erased) the table is considered complete.

Later entries will replace earlier entries. Blocks that are not explicitly relocated in the table default to a physical address equal to the logical address.

The mapping need not be one-to-one. While each logical block maps to one physical block, multiple logical blocks may map to one physical block.

The block relocation table, and the four boot images, may not be relocated.

Block Backup Table

After booting, the functional processor will read the block backup table from NAND flash. This table allows one logical block (secondary) to serve as a backup for another logical block (primary).

A write or erasure to a primary block will have an identical effect on the secondary. If a read to a primary block fails due to ECC mismatch, a second read will be attempted from the backup.

Each of the 128 pages within the table may have zero or more block backup entries.

Table 50: Block Backup Entry

Offset Type Notes
32-bit integer Logical address of page in primary block
32-bit integer Logical address of page in secondary block

 

Block backup entries are read from a page until an out of range marker (such as 0xFFFFFFFF) is found. If the marker is found in the first entry in the page, the table is considered complete. Otherwise the next page will be read. If a page cannot be read due to ECC failure (bad, or erased) the table is considered complete. Later entries will replace earlier entries.

Each block may have only one backup. It is valid, but not necessary, to have a bidirectional backup structure. I.e. block A may backup block B, and block B may backup block A.

The block relocation table and the block backup table have preset backup locations, as shown in Table 46, which cannot be changed. It is legal to enter backup blocks for any of the four boot images, but the boot process itself will only consider the first four physical blocks.

Control Structure

The control structure is sent by the supervisor to the functional processor when a suitable GO command is received, and causes the functional processor to begin a cycle.



Table 51: Control Structure

Offset Type Notes
0x0000 32-bit IEEE-754 floating point Exposure length
0x0004 32-bit IEEE-754 floating point Time between first and second exposure starts
0x0008 32-bit unsigned integer Functional GO bitfield
0x000C 32-bit signed integer Thumbnail downsample
0x0010 Array of 4 16-bit signed integers Analog offsets for 4 colour channels
0x0018 32-bit signed integer Thresholding raw threshold
0x001C 32-bit signed integer Thresholding bin threshold
0x0020 32-bit signed integer Thresholding minimum lit-pixels/star
0x0024 Array of 3 32-bit IEEE-754 floating-point Local gravity vector (for atmospheric correction)
0x0030 16-bit signed integer ERS matching threshold
0x0032 16-bit signed integer Lit pixel limit
0x0034 32-bit IEEE-754 floating point Matching max set multiplier
0x0038 32-bit IEEE-754 floating point Matching set stopping threshold multiplier
0x003C 32-bit IEEE-754 floating point Matching gamma
0x0040 32-bit IEEE-754 floating point Matching max conset error
0x0044 32-bit IEEE-754 floating point Matching target arc length
0x0048 32-bit IEEE-754 floating point Time offset between functional processor t=0 and supervisor processor t=0
0x004C 32-bit unsigned integer Sequence counter, echoed back by functional processor in telemetry

 

The exposure length should not be set shorter than approximately 35 msec on Rev 5 hardware. Since the first exposure is run in parallel with the booting of the functional processor, very short exposures can cause the first image to be available before the functional processor is ready to receive it.

The functional GO bitfield allows the various processing stages to be enabled or disabled.

Table 52: Functional GO Bitfield

Bit Function
0 (LSB) Activate the detector to take two frames
Compute image noise statistics
Process the images
Synchronize DC/DC converters to reduce noise (No noticeable affect. Not recommended to use)
Produce a thumbnail image
Threshold and centroid the images
Compute star vectors
Perform ERS correction
Perform star matching
Perform time correction
Perform Two-Pass Star Selection (for matching)
Perform self-test
12 – 15 Copy first image out
16 – 19 Copy first image in
20 – 23 Copy second image out
24 – 27 Copy second image in
Cache triangle table
Perform benchmark
Use hardware BLC to set analog offsets
Reserved

The supervisor processor will automatically set bit 11 when commanded to self-test. It should typically be cleared otherwise.

Table 53: Copy Image Out Code

Copy Image Out Code Function
0x0 Do nothing
0x1 Copy image into RAM buffer 1
0x2 Copy image into RAM buffer 2
0x3 Copy image into RAM buffer 3
0x4 Copy image into RAM buffer 4
0x5 Copy image into RAM buffer 5
0x6 Copy image into RAM buffer 6
0x7 Copy image into RAM buffer 7
0x8 Save image into Flash buffer 0
0x9 Save image into Flash buffer 1
0xA Save image into Flash buffer 2
0xB Save image into Flash buffer 3
0xC Save image into Flash buffer 4
0xD Save image into Flash buffer 5
0xE Save image into Flash buffer 6
0xF Save image into Flash buffer 7

The Copy Image Out Codes, located at offsets 12 and 20, may be used to copy the images that have just been taken by the detector into additional RAM or flash buffers.

 

Table 54: Copy Image In Code

Copy Image In Code Function
0x0 Do nothing
0x1 Copy image from RAM buffer 1
0x2 Copy image from RAM buffer 2
0x3 Copy image from RAM buffer 3
0x4 Copy image from RAM buffer 4
0x5 Copy image from RAM buffer 5
0x6 Copy image from RAM buffer 6
0x7 Copy image from RAM buffer 7
0x8 Load image from Flash buffer 0
0x9 Load image from Flash buffer 1
0xA Load image from Flash buffer 2
0xB Load image from Flash buffer 3
0xC Load image from Flash buffer 4
0xD Load image from Flash buffer 5
0xE Load image from Flash buffer 6
0xF Load image from Flash buffer 7

The Copy Image In Codes, located at offsets 16 and 24, may be used to replace the images that have just been taken by the detector with images from RAM or flash buffers. These images will then be processed as if they were live.

Operating Concept

The star tracker is a flexible device which can be used in many ways. Nominal operation for ACS purposes will follow this sequence:

1. Power on

2. Send INIT 0x00002000 to start Idle mode

3. Send GO 0x0B to transition to Processing mode, booting the functional processor from NAND flash, and enabling the timeout

4. Poll with READ EDAC commands the “Result structure length” channel until enough bytes have arrived to encompass all of the desired star tracker data

5. Send one or more READ RESULT commands to read the star tracker data. Feed this into the satellite ACS algorithm.

6. Optionally, send one or more READ EDAC commands to read status data from the supervisor processor. Feed this into the satellite housekeeping telemetry system.

7. Go to step 3

If polling is not desired, follow this simpler sequence:

1. Power on

2. Send INIT 0x00002000 to start Idle mode

3. Send COMBINATION 0x00001E0B to transition to Processing mode, booting the functional processor from NAND flash, and enabling the timeout.

4. Wait for the COMBINATION reply packet, which will contain the return code, quaternion, angular rate, and epoch time.

5. Optionally, send one or more READ EDAC commands to read status data from the supervisor processor. Feed this into the satellite housekeeping telemetry system.

6. Go to step 3

To get the very fastest operation, turn on the functional processor with a GO 0x07 command. Then send a sequence of COMBINATION 0x00001E2D commands. These will keep the functional processor running at all times and not reboot between cycles. This will save ~38 msec from each cycle time, but may risk radiation induced crashes.


Date: 2015-12-17; view: 774


<== previous page | next page ==>
Matching Telemetry Structure | Frames of Reference and Data Definitions
doclecture.net - lectures - 2014-2025 year. Copyright infringement or personal data (0.242 sec.)