![]() CATEGORIES: BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism |
Block Relocation TableAfter 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
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
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
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
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
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
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
|