esa unclassified – for official use npal datasheet f. torelli & p. skrzypek ccsds spring...

32
ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

Upload: milo-stanley

Post on 29-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

ESA UNCLASSIFIED – For Official Use

NPAL Datasheet

F. Torelli & P. SkrzypekCCSDS Spring Meeting 201316/04/2013

Page 2: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 2

ESA UNCLASSIFIED – For Official Use

Contents

• Introduction

• Describing functional interface

• Describing device-specific interface

• Describing packet interface

• Implementing device abstraction control procedure

• Implementing device-specific access protocol

• Summary

Page 3: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 3

ESA UNCLASSIFIED – For Official Use

INTRODUCTION

Page 4: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 4

ESA UNCLASSIFIED – For Official Use

Introduction

The NPAL device is a multi-function camera with the ability to perform horizon detection and star tracking. The device uses Space Wire link to communicate. The NPAL ICD lists over 23 different data packets.

For the purpose of this presentation, Space Wire has been mapped on SOIS packet service. This presentation is focused on describing packets, SOIS interfaces and access protocols for this device.

Due to the complexity of the device, only a subset of functionality is addressed in this presentation.

Page 5: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 5

ESA UNCLASSIFIED – For Official Use

FUNCTIONAL INTERFACE

Page 6: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 6

ESA UNCLASSIFIED – For Official Use

Functional interface

Acquire Image

Value ID

Acquire Image,

no arguments

Value

1024x1024 matrix of integer values ranged 0..255

Meta data

bivalent – success or failure

1. <functional_interface>  2.  3.   <interface>  4.     <!-- .. -->  5.     <acquire>  6.       <value_id type="fi_image_acq"/>  7.       <value type="fi_image"/>  8.       <metadata type="fi_bivalent"/>  9.     </acquire>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="fi_image_acq">  15.       <declare name="header" type="fi_id_header">  16.         <constraint field="id">  17.           <option name="Image"/>  18.         </constraint>  19.       </declare>  20.     </sequence>  21.     <array name="fi_image" type="fi_image_line">  22.       <count const="1024"/>  23.     </array>  24.     <array name="fi_image_line" type="fi_pixel_intensity_t">

  25.       <count const="1024"/>  26.     </array>  27.     <int name="fi_pixel_intensity_t">  28.       <constraints>  29.         <interval>  30.           <left bound="closed" value="0"/>  31.           <right bound="closed" value="255"/>  32.         </interval>  33.       </constraints>  34.     </int>  35.   </data_types>  36. </functional_interface>

Page 7: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 7

ESA UNCLASSIFIED – For Official Use

Functional interface

Acquire Temperature

Value ID

Acquire Temperature,

select one of the two thermocouples (APS, Optics)

Value

single float number ranged 0..1.4167911e32

Meta data

bivalent – success or failure

1. <functional_interface>  2.     3.   <interface>  4.     <!-- .. -->  5.     <acquire>  6.       <value_id type="fi_temperature_acq"/>  7.       <value type="fi_temperature"/>  8.       <metadata type="fi_bivalent"/>  9.     </acquire>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="fi_temperature_acq">  15.       <declare name="header" type="fi_id_header">  16.         <constraint field="id">  17.           <option name="Temperature"/>  18.         </constraint>  19.       </declare>  20.       <declare name="unit" type="fi_thermocouple"/>  21.     </sequence>  22.     <enum name="fi_thermocouple">  23.       <options>  24.         <option name="Optics" value="1"/>  25.         <option name="APS" value="2"/>  26.       </options>  27.     </enum>  28.     <float name="fi_temperature">  29.       <constraints>  30.         <interval>  31.           <left bound="closed" value="0"/>  32.           <right bound="closed" value="1.4167911e32"/>  33.         </interval>  34.       </constraints>  35.     </float>  36.   </data_types>  37. </functional_interface> 

Page 8: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 8

ESA UNCLASSIFIED – For Official Use

Functional interface

Command Exposure time

Value ID

Command Exposure time,

no arguments

Value

single float argument ranged 0.050e-3..100.0e-3

Meta data

bivalent – success or failure

1. <functional_interface>  2.    3.   <interface>  4.     <!-- .. -->  5.     <command>  6.       <value_id type="fi_exposure_cmd"/>  7.       <value type="fi_exposure"/>  8.       <metadata type="fi_bivalent"/>  9.     </command>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="fi_exposure_cmd">  15.       <declare name="header" type="fi_id_header">  16.         <constraint field="id">  17.           <option name="Exposure time"/>  18.         </constraint>  19.       </declare>  20.     </sequence>  21.     <float name="fi_exposure">  22.       <constraints>  23.         <interval>  24.           <left bound="closed" value="0.000050"/>  25.           <right bound="closed" value="0.100000"/>  26.         </interval>  27.       </constraints>  28.     </float>  29.   </data_types>  30. </functional_interface>  

Page 9: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 9

ESA UNCLASSIFIED – For Official Use

DEVICE-SPECIFIC INTERFACE

Page 10: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 10

ESA UNCLASSIFIED – For Official Use

1. <device_specific_interface>  2.     3.   <interface>  4.     <!-- .. -->  5.     <acquire>  6.       <value_id type="di_image_acq"/>  7.       <value type="di_image"/>  8.       <metadata type="di_bivalent"/>  9.     </acquire>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="di_image_acq">  15.       <declare name="header" type="di_id_header">  16.         <constraint field="id">  17.           <option name="Image"/>  18.         </constraint>  19.       </declare>  20.     </sequence>  21.     <array name="di_image" type="di_image_line">  22.       <count const="1024"/>  23.     </array>  24.     <array name="di_image_line" type="di_pixel_intensity">  25.       <count const="1024"/>  26.     </array>  27.     <int name="di_pixel_intensity">  28.       <constraints>  29.         <interval>  30.           <left bound="closed" value="0"/>  31.           <right bound="closed" value="255"/>  32.         </interval>  33.       </constraints>  34.     </int>  35.   </data_types>  36. </device_specific_interface>  

Device-specific interface

Acquire Image

Value ID

Acquire Image,

no arguments

Value

1024x1024 matrix of integer values ranged 0..255

Meta data

bivalent – success or failure

Page 11: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 11

ESA UNCLASSIFIED – For Official Use

Device-specific interface

Acquire Temperature

Value ID

Acquire Temperature,

select one of the two thermocouples (APS, Optics)

Value

single integer number ranged 0..65535

Meta data

bivalent – success or failure

1. <device_specific_interface>  2.    3.   <interface>  4.     <!-- .. -->  5.     <acquire>  6.       <value_id type="di_temperature_acq"/>  7.       <value type="di_temperature"/>  8.       <metadata type="di_bivalent"/>  9.     </acquire>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="di_temperature_acq">  15.       <declare name="header" type="di_id_header">  16.         <constraint field="id">  17.           <option name="Temperature"/>  18.         </constraint>  19.       </declare>  20.       <declare name="unit" type="di_thermocouple"/>  21.     </sequence>  22.     <enum name="di_thermocouple">  23.       <options>  24.         <option name="Optics" value="1"/>  25.         <option name="APS" value="2"/>  26.       </options>  27.     </enum>  28.     <int name="di_temperature">  29.       <constraints>  30.         <interval>  31.           <left bound="closed" value="0"/>  32.           <right bound="closed" value="65535"/>  33.         </interval>  34.       </constraints>  35.     </int>  36.   </data_types>  37. </device_specific_interface >

Page 12: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 12

ESA UNCLASSIFIED – For Official Use

Device-specific interface

Command Exposure time

Value ID

Command Exposure time,

no arguments

Value

single value from enumeration type

Meta data

bivalent – success or failure

1. <device_specific_interface>  2.    3.   <interface>  4.     <!-- .. -->  5.     <command>  6.       <value_id type="di_exposure_cmd"/>  7.       <value type="di_exposure"/>  8.       <metadata type="di_bivalent"/>  9.     </command>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="di_exposure_cmd">  15.       <declare name="header" type="di_id_header">  16.         <constraint field="id">  17.           <option name="Exposure time"/>  18.         </constraint>  19.       </declare>  20.     </sequence>  21.     <enum name="di_exposure">  22.       <options>  23.         <option name="0.069ms" value="0"/>  24.         <option name="0.082ms" value="1"/>  25.         <!-- .. -->  26.         <option name="84.10ms" value="41"/>  27.         <option name="100.0ms" value="42"/>  28.       </options>  29.     </enum>  30.   </data_types>  31. </device_specific_interface> 

Page 13: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 13

ESA UNCLASSIFIED – For Official Use

Device-specific interface

Command Link speed

Value ID

Command Link speed,

no arguments

Value

single value from enumeration type

Meta data

bivalent – success or failure

1. <device_specific_interface>  2.     3.   <interface>  4.     <!-- .. -->  5.     <command>  6.       <value_id type="di_speed_cmd"/>  7.       <value type="di_speed"/>  8.       <metadata type="di_bivalent"/>  9.     </command>  10.   </interface>  11.   12.   <data_types>  13.     <!-- .. -->  14.     <sequence name="di_speed_cmd">  15.       <declare name="header" type="di_id_header">  16.         <constraint field="id">  17.           <option name="Set speed"/>  18.         </constraint>  19.       </declare>  20.     </sequence>  21.     <enum name="di_speed">  22.       <options>  23.         <option name="100 Mbps" value="0"/>  24.         <option name="50 Mbps" value="1"/>  25.         <option name="25 Mbps" value="2"/>  26.         <option name="16.7 Mbps" value="3"/>  27.         <option name="12.5 Mbps" value="4"/>  28.         <option name="10 Mbps" value="5"/>  29.       </options>  30.     </enum>  31.   </data_types>  32. </device_specific_interface> 

Page 14: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 14

ESA UNCLASSIFIED – For Official Use

PACKET INTERFACE

Page 15: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 15

ESA UNCLASSIFIED – For Official Use

Packet interface

TC_TRK

1. <packet_interface>  2.   3.   <interface>  4.     <!-- .. -->  5.     <packet>  6.       <data type="pi_tc_trk"/>  7.     </packet>  8.   </interface>  9.   10.   <data_types>  11.     <!-- .. -->  12.     <sequence name="pi_tc_trk">  13.       <declare name="header" type="pi_tc_header">  14.         <constraint field="data_header">  15.           <constraint field="service_type">  16.             <const value="4"/>  17.           </constraint>  18.         </constraint>  19.       </declare>  20.       <declare name="window_start_row" type="pi_pixel_coord"

/>  21.       <declare name="window_start_column" type="pi_pixel_coo

rd"/>22.       <declare name="commanded_exposure_time"   23.                type="pi_exposure_time"/>  24.       <declare name="tracking_option" type="pi_tracking_opti

on"/>25.       <declare name="footer" type="pi_tc_footer"/>  26.     </sequence>  27.   </data_types>  28. </packet_interface> 

Telecommand header

1 Window start row, bits 0-7

2 Window start row, bits 8-15

3 Window start column, bits 0-7

4 Window start column, bits 8-15

5 Commanded exposure time

6 Tracking option

Telecommand footer

Page 16: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 16

ESA UNCLASSIFIED – For Official Use

Packet interface

TM_REPORT

1. <packet_interface>  2.   3.   <interface>  4.     <!-- .. -->  5.     <packet>  6.       <data type="pi_tm_report"/>  7.     </packet>  8.   </interface>  9.   10.   <data_types>  11.     <!-- .. -->  12.     <sequence name="pi_tm_report">  13.       <declare name="header" type="pi_tm_header">  14.         <constraint field="data_header">  15.           <constraint field="service_type">  16.             <const value="3"/>  17.           </constraint>  18.         </constraint>  19.       </declare>  20.       <declare name="event_code" type="pi_event_code"/>  21.       <declare name="tc_acceptance" type="pi_tc_acceptance"/

>  22.       <declare name="previous_mode" type="pi_mode"/>  23.       <declare name="current_mode" type="pi_mode"/>  24.       <declare name="cause_of_mode_transition"   25.                type="pi_mode_transition_cause"/>  26.       <declare name="download_status" type="pi_download_stat

us"/>27.       <declare name="not_used" type="pi_fill8"/>  28.       <declare name="calibration" type="pi_calibration_statu

s"/>29.       <declare name="error_code" type="pi_error_code"/>  30.       <declare name="fill1" type="pi_fill8"/>  31.       <declare name="fill2" type="pi_fill8"/>  32.       <declare name="fill3" type="pi_fill8"/>  33.       <declare name="footer" type="pi_tm_footer"/>  34.     </sequence>  35.   </data_types>  36. </packet_interface>  

Telemetry header

1 Event code

2 TC acceptance

3 Mode transition

4 Download status

5 Not used

6 Calibration

7 Error code

8 Fill byte

9 Fill byte

10 Fill byte

Telemetry footer

Page 17: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 17

ESA UNCLASSIFIED – For Official Use

DEVICE ABSTRACTION CONTROL PROCEDURE

Page 18: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 18

ESA UNCLASSIFIED – For Official Use

Acquire Temperature

1. <device_abstraction_control_procedure>  2.   <!-- .. -->  3.   <request_handler>  4.          5.     <variables>  6.       <declare name="dvs_id" type="fi_temperature_acq"/>  7.       <declare name="das_id" type="di_temperature_acq"/>  8.       <declare name="temperature_raw" type="di_temperature"/

>  9.       <declare name="temperature_kelvin" type="fi_temperatur

e"/>10.       <declare name="dvs_meta" type="fi_bivalent"/>  11.       <declare name="das_meta" type="di_bicalent"/>  12.     </variables>  13.   14.     <value_id>  15.        <variable name="dvs_id"/>  16.     </value_id>  17.   18.     <value>  19.       <variable name="temperature_kelvin"/>  20.     </value>  21.   22.     <metadata>  23.       <variable name="dvs_meta"/>  24.     </metadata>  25.   26.     <process>  27.       <!-- see next slide -->  28.     </process>  29.   30.   </request_handler>  31. </device_abstraction_control_procedure>  

The following code attaches a process to the functional interface. This process will be executed each time the system receives ACQUIRE_FROM_DEVICE primitive with value_id matching fi_temperature_acq.

Page 19: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 19

ESA UNCLASSIFIED – For Official Use

Acquire Temperature

dvs_id.unit = APS

dvs_id.unit = OpticsN

das_id.unit := APS das_id.unit := Optics

Y Y

DAS.ACQUIRE_FROM_DEVICE.requestvalue_id <= das_idvalue <= temperature_rawmetadata <= das_metatimeout <= das_timeout

.indication received in time

Y

N

das_meta = success

dvs_meta := failure

dvs_meta := failure

linear_calibrationslope <= 1bias <= -100input <= temperature_rawoutput <= temperature_kelvin

dvs_meta := success

YN

START

Page 20: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 20

ESA UNCLASSIFIED – For Official Use

Acquire Temperature

1. <compare>  2.   <subject>  3.     <variable name="dvs_id"> <variable name="unit"/> </variable>  4.   <subject>  5.   <equal>  6.     <reference>  7.       <const value="APS"/>  8.     </reference>  9.     <process>  10.       <copy>  11.         <destination>  12.           <variable name="das_id"/><variable name="unit"/></

variable>13.         </destination>  14.         <source>  15.           <const value="APS"/>  16.         </source>  17.       </copy>  18.     </process>  19.   </equal>  20.   <equal>  21.     <reference>  22.       <const value="Optics"/>  23.     </reference>  24.     <process>  25.       <copy>  26.         <destination>  27.           <variable name="das_id"/><variable name="unit"/></

variable>  28.         </destination>  29.         <source>  30.           <const value="Optics"/>  31.         </source>  32.       </copy>  33.     </process>  34.   </equal>  35. </compare>  

dvs_id.unit = APS

dvs_id.unit = OpticsN

das_id.unit := APS das_id.unit := Optics

Y Y

Page 21: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 21

ESA UNCLASSIFIED – For Official Use

Acquire Temperature

1. <das_acquire>  2. 3.   <value_id>  4.     <variable name="das_id"/>  5.   </value_id> 6.  7.   <value>  8.     <variable name="temperature_raw"/>  9.   </value>  10. 11.   <metadata>  12.     <variable name="das_meta"/>  13.   </metadata> 14.  15.   <time_limit>  16.     <alias name="das_timeout"/>  17.   </time_limit>  18. 19.   <on_success>  20.     <!-- see next slide -->  21.   </on_success>  22. 23.   <on_timeout>  24.     <!-- see next slide -->  25.   </on_timeout>  26. 27. </das_acquire> 

DAS.ACQUIRE_FROM_DEVICE.requestvalue_id <= das_idvalue <= temperature_rawmetadata <= das_metatimeout <= das_timeout

.indication received in timeY N

Page 22: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 22

ESA UNCLASSIFIED – For Official Use

Acquire Temperature

1. <compare>  2.   <subject>  3.     <variable name="das_meta"/>  4.   </subject>  5.   <reference>  6.     <const value="success"/>  7.   </reference>  8.   <equal>  9.     <linear_calibration>  10.      <slope> <const value="1"/> </slope>  11.      <bias> <const value="-100"/> </bias>  12.      <input> <variable name="temperature_raw"/> </input>  13.      <output> <variable name="temperature_kelvin"/> </output>  14.    </linear_calibration>  15.    <copy>  16.      <destination>  17.        <variable name="dvs_meta"/>  18.      </destination>  19.      <source>  20.        <const value="success"/>  21.      </source>  22.    </copy>  23.  </equal>  24.  <not_equal>  25.    <copy>  26.      <destination>  27.        <variable name="dvs_meta"/>  28.      </destination>  29.      <source>  30.        <const value="failure"/>  31.      </source>  32.    </copy>  33.  </not_equal>  34.</compare> 

1. <copy>  2.   <destination>  3.     <variable name="dvs_meta"/>  4.   </destination>  5.   <source>  6.     <const value="failure"/>  7.   </source>  8. </copy>  

das_meta = success

dvs_meta := failure

dvs_meta := failure

linear_calibrationslope <= 1bias <= -100input <= temperature_rawoutput <= temperature_kelvin

dvs_meta := success

Y N

Page 23: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 23

ESA UNCLASSIFIED – For Official Use

DEVICE-SPECIFIC ACCESS PROTOCOL

Page 24: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 24

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1. <device_specific_access_protocol>  2.   <!-- .. -->  3.   <request_handler> 4.  5.     <variables>  6.       <declare name="id" type="di_exposure_cmd"/>  7.       <declare name="data" type="di_exposure"/>  8.       <declare name="meta" type="di_bivalent"/>  9.       <declare name="trk_packet" type="pi_tc_trk"/>  10.       <declare name="report_packet" type="pi_tm_report"/>  11.     </variables>  12. 13.     <value_id>  14.       <variable name="id"/>  15.     </value_id>  16. 17.     <value>  18.       <variable name="data"/>  19.     </value>  20. 21.     <metadata>  22.       <variable name="meta"/>  23.     </metadata> 24.  25.     <process>  26.       <!-- see next slides -->  27.     </process>  28. 29.   </request_handler>  30. </device_specific_access_protocol> 

The following code attaches a process to the device-specific interface. This process will be executed each time the system receives COMMAND_DEVICE primitive with value_id matching di_exposure_cmd.

Page 25: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 25

ESA UNCLASSIFIED – For Official Use

Command Exposure time

trk_packet.window_start_row := 0trk_packet.window_start_column := 0trk_packet.tracking_option := normal

data = 0.069ms

data = 0.082ms

data = 84.10ms

data = 100.0ms

PS.PACKET_SEND.requestdestination_address <= npal_addrdata <= trk_packet

wait for PS.PACKET.RECEIVE.indicationsource_address <= npal_addrdata <= report_packettimeout <= npal_timeout

packet received in time

meta := failure

meta := failure

report_packet.tc_acceptance = accepted

meta := success

trk_packet.commanded_exposure_time := 0.069ms

trk_packet.commanded_exposure_time := 0.082ms

trk_packet.commanded_exposure_time := 84.10ms

trk_packet.commanded_exposure_time := 100.0msY

N

Y

N

Y

N

Y

N

NY

NY

START

...

Page 26: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 26

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1. <copy>  2.   <destination>  3.     <variable name="trk_packet"/>  4.       <variable name="window_start_row"/>  5.     </variable>  6.   </destination>  7.   <source>  8.     <const value="0"/>  9.   </source>  10. </copy>  11. <copy>  12.   <destination>  13.     <variable name="trk_packet"/>  14.       <variable name="window_start_column"/>  15.     </variable>  16.   </destination>  17.   <source>  18.     <const value="0"/>  19.   </source>  20. </copy>  21. <copy>  22.   <destination>  23.     <variable name="trk_packet"/>  24.       <variable name="tracking_option"/>  25.     </variable>  26.   </destination>  27.   <source>  28.     <const value="normal"/>  29.   </source>  30. </copy> 

trk_packet.window_start_row := 0

trk_packet.window_start_column := 0

trk_packet.tracking_option := normal

Page 27: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 27

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1. <compare>  2.   <subject>  3.     <variable name="data"/>  4.   </subject>  5.   <equal>  6.     <reference>  7.       <const value="0.069ms">  8.     </reference>  9.     <process>  10.       <copy>  11.         <destination>  12.           <variable name="trk_packet">  13.             <variable name="commanded_exposure_time"/>  14.           </variable>  15.         </destination>  16.         <source>  17.           <const value="0.069ms"/>  18.         </source>  19.       </copy>  20.     </process>  21.   </equal>  22.   <equal>  23.     <reference>  24.       <const value="0.082ms">  25.     </reference>  26.     <process>  27.       <copy>  28.         <destination>  29.           <variable name="trk_packet">  30.             <variable name="commanded_exposure_time"/>  31.           </variable>  32.         </destination>  33.         <source>  34.           <const value="0.082ms"/>  35.         </source>  36.       </copy>  37.     </process>  38.   </equal>

data = 0.069ms

data = 0.082ms

trk_packet.commanded_exposure_time := 0.069ms

trk_packet.commanded_exposure_time := 0.082ms

Y

N

Y

N

Page 28: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 28

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1.   <equal>  2.     <reference>  3.       <const value="84.10ms">  4.     </reference>  5.     <process>  6.       <copy>  7.         <destination>  8.           <variable name="trk_packet">  9.             <variable name="commanded_exposure_time"/>  10.           </variable>  11.         </destination>  12.         <source>  13.           <const value="84.10ms"/>  14.         </source>  15.       </copy>  16.     </process>  17.   </equal>  18.   <equal>  19.     <reference>  20.       <const value="100.0ms">  21.     </reference>  22.     <process>  23.       <copy>  24.         <destination>  25.           <variable name="trk_packet">  26.             <variable name="commanded_exposure_time"/>  27.           </variable>  28.         </destination>  29.         <source>  30.           <const value="100.0ms"/>  31.         </source>  32.       </copy>  33.     </process>  34.   </equal>  35. </compare>

data = 84.10ms

data = 100.0ms

trk_packet.commanded_exposure_time := 84.10ms

trk_packet.commanded_exposure_time := 100.0ms

Y

N

Y

N

Page 29: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 29

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1. <packet_send>  2.   <destination_address>  3.     <alias name="npal_addr"/>  4.   </destination_address>  5.   <data>  6.     <variable name="trk_packet"/>  7.   </data>  8. </packet_send>  9. <wait_for_packets>  10.   <scenario>  11.     <minterm>  12.       <packet_receive>  13.         <source_address>  14.           <alias name="npal_addr"/>  15.         </source_address>  16.         <data>  17.           <variable name="report_packet"/>  18.         </data>  19.       </packet_receive>  20.     </minterm>  21.     <process>  22.       <!-- see next slide -->  23.     </process>  24.   </scenario>  25.   <timeout>  26.     <time_limit>  27.       <alias name="npal_timeout"/>  28.     </time_limit>  29.     <process>  30.       <!-- see next slide -->  31.     </process>  32.   </timeout>  33. </wait_for_packets> 

PS.PACKET_SEND.requestdestination_address <= npal_addrdata <= trk_packet

wait for PS.PACKET.RECEIVE.indicationsource_address <= npal_addrdata <= report_packettimeout <= npal_timeout

Page 30: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 30

ESA UNCLASSIFIED – For Official Use

Command Exposure time

1. <compare>  2.   <subject>  3.     <variable name="report_packet">  4.       <variable name="tc_acceptance"/>  5.     </variable>  6.   </subject>  7.   <reference>  8.     <const value="accepted"/>  9.   </reference>  10.   <equal>  11.     <copy>  12.       <destination>  13.         <variable name="meta"/>  14.       </destination>  15.       <source>  16.         <const value="success"/>  17.       </source>  18.     </copy>  19.   </equal>  20.   <not_equal>  21.     <copy>  22.       <destination>  23.         <variable name="meta"/>  24.       </destination>  25.       <source>  26.         <const value="failure"/>  27.       </source>  28.     </copy>  29.   </not_equal>  30. </compare>  

1. <copy>  2.   <destination>  3.     <variable name="meta"/

>  4.   </destination>  5.   <source>  6.     <const value="failure"/

>  7.   </source>  8. </copy>  

packet received in time

meta := failure

meta := failure

Report_packet.tc_acceptance = accepted

meta := success

NY

NY

Page 31: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 31

ESA UNCLASSIFIED – For Official Use

SUMMARY

Page 32: ESA UNCLASSIFIED – For Official Use NPAL Datasheet F. Torelli & P. Skrzypek CCSDS Spring Meeting 2013 16/04/2013

NPAL Datasheet | 16/04/2013 | Slide 32

ESA UNCLASSIFIED – For Official Use

Summary

• Described sample SOIS functional interface and device-specific interface

• Described 2 NPAL packets available from SOIS subnetwork

• Implemented one process of the device-specific access protocol

• Implemented one process of the device abstraction control procedure

• The attached XML document contains description of all NPAL packets

and all sample SOIS interfaces

• Attached EDS may not be perfectly cnsistent. Back-propagating all

updates to the EDS schema is very time consuming.