NPAL Datasheet

NPAL Datasheet
F. Torelli & P. Skrzypek
CCSDS Spring Meeting 2013
16/04/2013
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
NPAL Datasheet | 16/04/2013 | Slide 2
ESA UNCLASSIFIED – For Official Use
INTRODUCTION
NPAL Datasheet | 16/04/2013 | Slide 3
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.
NPAL Datasheet | 16/04/2013 | Slide 4
ESA UNCLASSIFIED – For Official Use
FUNCTIONAL INTERFACE
NPAL Datasheet | 16/04/2013 | Slide 5
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
NPAL Datasheet | 16/04/2013 | Slide 6
ESA UNCLASSIFIED – For Official Use
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>
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
NPAL Datasheet | 16/04/2013 | Slide 7
ESA UNCLASSIFIED – For Official Use
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>
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
NPAL Datasheet | 16/04/2013 | Slide 8
ESA UNCLASSIFIED – For Official Use
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>
DEVICE-SPECIFIC
INTERFACE
NPAL Datasheet | 16/04/2013 | Slide 9
ESA UNCLASSIFIED – For Official Use
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
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 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
NPAL Datasheet | 16/04/2013 | Slide 11
ESA UNCLASSIFIED – For Official Use
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 >
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
NPAL Datasheet | 16/04/2013 | Slide 12
ESA UNCLASSIFIED – For Official Use
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>
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
NPAL Datasheet | 16/04/2013 | Slide 13
ESA UNCLASSIFIED – For Official Use
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>
PACKET INTERFACE
NPAL Datasheet | 16/04/2013 | Slide 14
ESA UNCLASSIFIED – For Official Use
Packet interface
TC_TRK
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
NPAL Datasheet | 16/04/2013 | Slide 15
ESA UNCLASSIFIED – For Official Use
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_coord"/>
22.
<declare name="commanded_exposure_time"
23.
type="pi_exposure_time"/>
24.
<declare name="tracking_option" type="pi_tracking_option"/>
25.
<declare name="footer" type="pi_tc_footer"/>
26.
</sequence>
27. </data_types>
28. </packet_interface>
Packet interface
TM_REPORT
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
NPAL Datasheet | 16/04/2013 | Slide 16
ESA UNCLASSIFIED – For Official Use
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_status"/>
27.
<declare name="not_used" type="pi_fill8"/>
28.
<declare name="calibration" type="pi_calibration_status"/>
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>
DEVICE ABSTRACTION
CONTROL PROCEDURE
NPAL Datasheet | 16/04/2013 | Slide 17
ESA UNCLASSIFIED – For Official Use
Acquire Temperature
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.
NPAL Datasheet | 16/04/2013 | Slide 18
ESA UNCLASSIFIED – For Official Use
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_temperature"/>
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>
Acquire Temperature
START
.indication
received in time
N
dvs_meta := failure
Y
dvs_id.unit =
APS
N
dvs_id.unit =
Optics
das_meta = success
Y
Y
Y
N
das_id.unit := APS
das_id.unit := Optics
DAS.ACQUIRE_FROM_DEVICE.request
value_id <= das_id
value <= temperature_raw
metadata <= das_meta
timeout <= das_timeout
NPAL Datasheet | 16/04/2013 | Slide 19
ESA UNCLASSIFIED – For Official Use
linear_calibration
slope <= 1
bias <= -100
input <= temperature_raw
output <= temperature_kelvin
dvs_meta := success
dvs_meta := failure
Acquire Temperature
dvs_id.unit =
APS
dvs_id.unit =
Optics
N
Y
Y
das_id.unit := APS
das_id.unit := Optics
NPAL Datasheet | 16/04/2013 | Slide 20
ESA UNCLASSIFIED – For Official Use
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>
Acquire Temperature
DAS.ACQUIRE_FROM_DEVICE.request
value_id <= das_id
value <= temperature_raw
metadata <= das_meta
timeout <= das_timeout
Y
.indication
received in time
NPAL Datasheet | 16/04/2013 | Slide 21
ESA UNCLASSIFIED – For Official Use
N
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>
Acquire Temperature
dvs_meta := failure
das_meta = success
Y
linear_calibration
slope <= 1
bias <= -100
input <= temperature_raw
output <= temperature_kelvin
N
dvs_meta := failure
dvs_meta := success
NPAL Datasheet | 16/04/2013 | Slide 22
ESA UNCLASSIFIED – For Official Use
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"/> 1. <copy>
28.
</destination>
2.
<destination>
29.
<source>
3.
<variable name="dvs_meta"/>
30.
<const value="failure"/>
4.
</destination>
31.
</source>
5.
<source>
32.
</copy>
6.
<const value="failure"/>
33. </not_equal>
7.
</source>
34.</compare>
8. </copy>
DEVICE-SPECIFIC
ACCESS PROTOCOL
NPAL Datasheet | 16/04/2013 | Slide 23
ESA UNCLASSIFIED – For Official Use
Command Exposure time
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.
NPAL Datasheet | 16/04/2013 | Slide 24
ESA UNCLASSIFIED – For Official Use
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>
Command Exposure time
START
data = 84.10ms
trk_packet.commanded_exposure_time := 84.10ms
trk_packet.window_start_row := 0
trk_packet.window_start_column := 0
trk_packet.tracking_option := normal
N
data = 100.0ms
data = 0.069ms
Y
Y
Y
trk_packet.commanded_exposure_time := 100.0ms
N
trk_packet.commanded_exposure_time := 0.069ms
PS.PACKET_SEND.request
destination_address <= npal_addr
data <= trk_packet
N
data = 0.082ms
Y
trk_packet.commanded_exposure_time := 0.082ms
Y
Y
...
meta := success
ESA UNCLASSIFIED – For Official Use
N
meta := failure
wait for PS.PACKET.RECEIVE.indication
source_address <= npal_addr
data <= report_packet
timeout <= npal_timeout
N
NPAL Datasheet | 16/04/2013 | Slide 25
packet received
in time
report_packet.tc_acceptance =
accepted
N
meta := failure
Command Exposure time
trk_packet.window_start_row := 0
trk_packet.window_start_column := 0
trk_packet.tracking_option := normal
NPAL Datasheet | 16/04/2013 | Slide 26
ESA UNCLASSIFIED – For Official Use
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
<copy>
<destination>
<variable name="trk_packet"/>
<variable name="window_start_row"/>
</variable>
</destination>
<source>
<const value="0"/>
</source>
</copy>
<copy>
<destination>
<variable name="trk_packet"/>
<variable name="window_start_column"/>
</variable>
</destination>
<source>
<const value="0"/>
</source>
</copy>
<copy>
<destination>
<variable name="trk_packet"/>
<variable name="tracking_option"/>
</variable>
</destination>
<source>
<const value="normal"/>
</source>
</copy>
Command Exposure time
data = 0.069ms
Y
trk_packet.commanded_exposure_time := 0.069ms
N
data = 0.082ms
Y
trk_packet.commanded_exposure_time := 0.082ms
N
NPAL Datasheet | 16/04/2013 | Slide 27
ESA UNCLASSIFIED – For Official Use
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>
Command Exposure time
data = 84.10ms
Y
trk_packet.commanded_exposure_time := 84.10ms
N
data = 100.0ms
Y
trk_packet.commanded_exposure_time := 100.0ms
N
NPAL Datasheet | 16/04/2013 | Slide 28
ESA UNCLASSIFIED – For Official Use
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>
Command Exposure time
PS.PACKET_SEND.request
destination_address <= npal_addr
data <= trk_packet
wait for PS.PACKET.RECEIVE.indication
source_address <= npal_addr
data <= report_packet
timeout <= npal_timeout
NPAL Datasheet | 16/04/2013 | Slide 29
ESA UNCLASSIFIED – For Official Use
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<packet_send>
<destination_address>
<alias name="npal_addr"/>
</destination_address>
<data>
<variable name="trk_packet"/>
</data>
</packet_send>
<wait_for_packets>
<scenario>
<minterm>
<packet_receive>
<source_address>
<alias name="npal_addr"/>
</source_address>
<data>
<variable name="report_packet"/>
</data>
</packet_receive>
</minterm>
<process>
<!-- see next slide -->
</process>
</scenario>
<timeout>
<time_limit>
<alias name="npal_timeout"/>
</time_limit>
<process>
<!-- see next slide -->
</process>
</timeout>
</wait_for_packets>
Command Exposure time
Y
packet received
in time
Report_packet.tc_acceptance
= accepted
Y
meta := success
N
meta := failure
N
meta := failure
NPAL Datasheet | 16/04/2013 | Slide 30
ESA UNCLASSIFIED – For Official Use
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"/>
1. <copy>
24.
</destination>
2.
<destination>
25.
<source>
3.
<variable name="meta"/>
26.
<const value="failure"/>
4.
</destination>
27.
</source>
5.
<source>
28.
</copy>
6.
<const value="failure"/>
29. </not_equal>
7.
</source>
30. </compare>
8. </copy>
SUMMARY
NPAL Datasheet | 16/04/2013 | Slide 31
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.
NPAL Datasheet | 16/04/2013 | Slide 32
ESA UNCLASSIFIED – For Official Use