Home Random Page


CATEGORIES:

BiologyChemistryConstructionCultureEcologyEconomyElectronicsFinanceGeographyHistoryInformaticsLawMathematicsMechanicsMedicineOtherPedagogyPhilosophyPhysicsPolicyPsychologySociologySportTourism






Protocol Layer 5 (Session Layer)

Operating Modes

Figure 1: Mode Transition Diagram


Power-on starts the unit in bootloader mode. The remaining mode transitions have the following triggers. In each case where a mode transition is caused by a command, the command is assumed to have been addressed to the supervisor processor.

Table 24: Mode Transition Mechanisms

  From
Bootloader Idle Processing Maintenance Application
To Bootloader   Supervisor INIT with no data Supervisor INIT with no data Supervisor INIT with no data Supervisor INIT with no data
Idle INIT with data 0x00002000   Emergency notification   GO requesting functional processor turn-off   Timeout, if GO command does not permit remaining on   Processing complete, if GO command does not permit remaining on Emergency notification   GO requesting functional processor turn-off   Timeout, if GO command does not permit remaining on   Emergency notification   Go requesting functional processor turn-off   Timeout, if GO command does not permit remaining on
Processing   GO requesting turn-on, boot from NAND, and control structure sent   GO requesting turn-on, boot from NAND, and control structure sent GO requesting turn-on, boot from NAND, and control structure sent
Maintenance   GO requesting turn-on, boot from supervisor flash GO requesting turn-on, boot from supervisor flash       GO requesting turn-on, boot from supervisor flash   Functional INIT with no data
Application   GO requesting turn-on, boot from NAND, no control structure sent GO requesting turn-on, boot from NAND, no control structure sent   Processing complete, if GO command permits remaining on GO requesting turn-on, boot from NAND, no control structure sent   Functional INIT with data 0x00008000  

 


 

Table 25: Mode Description

Mode Supervisor Processor Functional Processor Detector
Bootloader Running bootloader software. Vdd regulator at 2.5 V Clock at 6 MHz Polling communication Powered Off   Powered Off  
Idle     Running application software Vdd regulator at 2.1 V Clock at 48 MHz Interrupt driven
Processing Powered On Clock at 480 MHz Busy processing star data Powered On Pixel clock at 85 MHz
Application Powered On Clock at 96 MHz Polling for NSP messages Running code from DRAM, copied from NAND image Powered On Held in reset, unclocked
Maintenance Powered On Clock at 96 MHz Polling for NSP messages Running code from SRAM, copied from boot image or sent from supervisor

The table above shows the configuration of the major hardware elements in the different modes.


Self-Test Sequence



The star tracker can be commanded to run a self test sequence. It will run through the following steps:

1. Turn on the main power switch. Log analog telemetry. Wait 1 second.

2. Turn on the +1.8 V Vdd IO rail. Log analog telemetry. Wait 1 second.

3. Turn on the +2.8 V detector rail. Log analog telemetry. Wait 1 second.

4. Turn on the Vdd core rail. Log analog telemetry. Wait 1 second.

5. Turn on the Vdd MPU rail. Log analog telemetry. Wait 1 second.

6. Release the functional processor reset signal. Log analog telemetry.

7. Boot the functional processor. Switch to full speed. Put the power supplies into default state. Log analog telemetry. Wait 1 second.

8. Command the Vdd MPU rail up to its maximum voltage. Log analog telemetry. Wait 2 seconds.

9. Command the Vdd MPU rail to its default. Command the Vdd core rail to its maximum voltage. Log analog telemetry. Wait 2 seconds.

10. Comand the Vdd core rail to its default. Command the Vdd IO rail to its maximum voltage. Log analog telemetry. Wait 2 seconds.

11. Command Vdd IO rail to its default. Engage Smart Reflex dynamic voltage adjustment. Configure the detector for a diagonal test pattern and read one image. Log analog telemetry.

12. Read second image. Wait 1 second. Compare the images to the predicted test pattern, and to each other. Log analog telemetry.

13. Configure the detector with its operational settings and read two images. Return hardware health telemetry. Log analog telemetry. Wait 1 second.

14. Compute image statistics on dark columns. Log analog telemetry.

15. Drop functional processor to idle speed. Wait 1 second. Log analog telemetry.

 

The timeout period is overridden and set to 30 seconds for the duration of the self-test. This gives the test time to complete before returning to idle mode.

Byte Order

All multi-byte values transported in the data field of NSP messages are in little-endian format. That is, the least-significant byte is stored first, and the most-significant byte is stored last.

Command Codes

Table 26: Command Codes

Command Code Command Mode
Bootloader Idle Processing Maintenance / Application
0x00 PING Supervisor Supervisor Supervisor Supervisor + Functional
0x01 INIT Supervisor Supervisor Supervisor Supervisor + Functional
0x02 PEEK Supervisor Supervisor Supervisor Supervisor + Functional
0x03 POKE Supervisor Supervisor Supervisor Supervisor + Functional
0x04 DIAGNOSTIC Supervisor Supervisor Supervisor Supervisor
0x05 STORE   Supervisor    
0x06 FLASH/CRC Supervisor Supervisor Supervisor Supervisor + Functional
0x07 READ FILE   Supervisor Supervisor Supervisor
0x08 WRITE FILE   Supervisor Supervisor Supervisor
0x09 READ EDAC   Supervisor Supervisor Supervisor
0x0A WRITE EDAC   Supervisor Supervisor Supervisor
0x0B GO   Supervisor Supervisor Supervisor
0x0C Reserved
0x0D READ RESULT   Supervisor Supervisor Supervisor
0x0E – 0x0F Reserved
0x10 IMAGE       Functional (Application Only)
0x11 Reserved
0x12 COMBINATION   Supervisor Supervisor Supervisor
0x13 TIME   Supervisor Supervisor Supervisor
0x14 – 0x1F Reserved
             

 

The table above shows the command codes that can be used by the host spacecraft to communicate with the star tracker. It shows which of the star tracker processors will accept each type of command in each mode. The functional processor will only accept host commands in maintenance and application modes, and the supervisor processor supports only a limited command set in bootloader mode.

In addition to the codes shown above, there are a number of private command codes used by the star tracker’s two processors to communicate with each other. These are not documented here.

PING (0x00)

The PING command is typically used during testing to verify communications. Incoming data is ignored. The reply packet contains a human-readable text string containing:

· The type of device and the manufacturer

· The name, and compile time and date of the software that is currently running on the target processor.

Command Format

Bytes 0 – N Zero or more bytes, ignored by the NSP module

Reply Format

 

Bytes 0 – N Human-readable ASCII string. No NULL termination.

 

INIT (0x01)

The INIT command is used to change the operating mode of a processor. In general, and INIT with data is interpreted as an address to jump to. An init with no data is interpreted as a reset or exit command. In all cases, if a reply has been requested (“Poll” bit set to ‘1’) then the reply will be sent before the processor state is changed.

The supervisor will respond to an INIT with no data by completely resetting the device, returning to bootloader mode. If it is in bootloader mode, it will respond to an INIT with 4 bytes of data by running an Application Module at the corresponding 32-bit start address. By convention, devices will ship from the factory with the supervisor processor primary application program stored at address 0x00002000. Thus, a command of INIT 0x00002000 will start the default behaviour.

If the functional processor is in application mode, it will respond to an INIT with no data by exiting the Application Module and returning to its previous program. This is probably its bootloader (maintenance mode). If one application module is called from a second, then the INIT will return to the first application module.

The functional processor will respond to an INIT with 4 bytes of data by attempting to load an Application Module from the corresponding 32-bit page address in NAND memory. If the CRC of the module fails, NAK will be returned. Otherwise the module will be executed. By convention, devices will ship from the factory with the functional processor primary application program stored at address 0x0008000. Thus, a command of INIT 0x00008000 will start the default behaviour.

When using the INIT command to the functional processor in application mode, be sure that the second application module is compatible with the first. If both use the same DRAM resources, trouble will occur. Do not attempt to INIT to an Application Module that is already running.

Command Format

Reboot command:

No payload bytes

 

Application start command:

Bytes 0 – 3 32-bit integer address of program to start

Reply Format

Reboot reply:

No payload bytes

 

Application start reply:

Bytes 0 – 3 32-bit integer address of program to be started

 

PEEK (0x02)

The PEEK command is used to read the device memory. Short and long formats of this command are available for historical reasons. Short commands can be distinguished from long commands by their lengths.

The supervisor processor has no restriction on the alignment or length of a peek. The functional processor can perform only the following peeks:

  • 1 byte length, to any address
  • 2 byte length, to any even address
  • 4N length, to any 32-bit aligned address

Date: 2015-12-17; view: 836


<== previous page | next page ==>
Message Control Field | Short Command Format
doclecture.net - lectures - 2014-2024 year. Copyright infringement or personal data (0.009 sec.)