12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time...

17
1 2006 MAPLD International Conference SpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International Conference Washington, D.C. September 25, 2006 Yuriy Sheynin, Sergey GorbachevSt. Petersburg State University of Aerospace Instrumentation Institute of High-Performance Computer and Network Technologies [email protected]

Transcript of 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time...

Page 1: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

12006 MAPLD International Conference SpaceWire 101 Seminar

Distributed Interrupts for Real-Time Control

in SpaceWire-Based On-Board Systems

2006 MAPLD International ConferenceWashington, D.C.

September 25, 2006

Yuriy Sheynin, Sergey GorbachevSt. Petersburg State

University of Aerospace InstrumentationInstitute of High-Performance Computer and Network Technologies

[email protected]

Page 2: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

22006 MAPLD International Conference SpaceWire 101 Seminar

Towards integral interconnection infrastructure for onboard systems

Modern satellite and spacecraft distributed on-board systems have several (3-5) separate interconnections for different types of information and signals:

• sensor buses for data streams from sensors and instruments• command buses for commands from control units to instruments and

spacecraft equipment• telemetry busses for telemetry data• data buses for data exchange between computing modules in the course of

data and signal processing• time synchronization buses for on-board clock synchronization • sideband signals for hard real-time signaling and control

Next generation modular spacecraft avionics should move towards integral interconnection infrastructure

SpaceWire is a candidate technology for such integral on-board interconnections

Page 3: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

32006 MAPLD International Conference SpaceWire 101 Seminar

• The time codes distribution is a SpaceWire feature to substitute sideband signals for distributed systems clock synchronization.

It is a clear advantage of the SpaceWire over other interconnection standards

• Other signals, besides the time codes, are needed also to be distributed in SpaceWire-based interconnections

• It is important to have them at the low protocol layer, in order to get high priority distribution, minimum latencies, to traverse blocked by data links, etc.It is ensured for time codes. Should be ensured for other signals also.

Time codes distribution is a SpaceWire advantage

Page 4: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

42006 MAPLD International Conference SpaceWire 101 Seminar

Sideband signals into SpaceWire core interconnection

• Distributed on-board real-time systems need some signals (e.g., interrupts) distribution.

• Sideband signal lines are used in previous generation on-board architectures

• The trend in modern interconnections exclude sideband signals, include transfer of events, interrupts, etc. in the core interconnection itself, in its protocols;PCI Express is a good example

• The SpaceWire also needs adequate means for substitution of sideband signals by its core interconnection means for signal distribution

Page 5: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

52006 MAPLD International Conference SpaceWire 101 Seminar

– How many different signals?

– What should be a mechanism for them?

– How it correlates with the current and future SpaceWire standard releases?

– To be aware: how it correlates with existing already SpaceWire implementations.

The questions :

Page 6: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

62006 MAPLD International Conference SpaceWire 101 Seminar

Proposal for next SpaceWire standard release:Up to 64 different signalsFits in the current SpaceWire character coding formatLeaves a space in the character coding format for further

extensionDifferent, to the time-codes, mechanism for signal

distribution:The reason: to have compact implementations for a mechanism that can support dozens of different signals running simultaneously in an interconnection

Do not violate fixed part of the SpaceWire standard,do not cause conflicts with existing SpaceWire standard compliant implementations

Distributed Interrupts mechanism in SpaceWire

Page 7: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

72006 MAPLD International Conference SpaceWire 101 Seminar

Distributed Interrupts and Signals

NULL=ESC+FCTP 1 0 0

“Time-codes” extensions –Usage of Control FlagsUsage of Control Flags ((bits bits T6T6 and and T7T7 of Time codes of Time codes )

TimeTime--codecode

b) ESC + N-Char

T2 T3 T4 T5 0 01 0 T0 T1P 1 1 1

a) ESC+L-char

InterruptInterrupt--codecodeI2 I3 I4 I5 1 01 0 I0 I1P 1 1 1

PollPoll--codecodeI2 I3 I4 I5 0 11 0 I0 I1P 1 1 1

T6 T7

P 1 1 1

E2 E3 E4 E5 1 11 0 E0 E1P 1 1 1ExtensionExtension--codecode

(reserved)

Page 8: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

82006 MAPLD International Conference SpaceWire 101 Seminar

Interrupt Code 15h

Interrupt in Master node

Host

Interrupt 15h request

0000…0…000

Interrupt 15h reset

21st bit

Link controller

64-bit interrupt source register (ISR)

INTR_IN signal

Poll_OUT signal

SpaceWire link

Poll code 15hPoll code 15h

Page 9: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

92006 MAPLD International Conference SpaceWire 101 Seminar

Poll Code Poll Code 15h15h

Interrupt codeInterrupt code in Target node

Interrupt 15hInterrupt 15h

Host

Poll 15h requestPoll 15h request

0000…0…000

21st bit

Link controller

64-bit interrupt source register (ISR)

Poll_IN signal

INTR_OUT signal

SpaceWire link

Interrupt code 15 hInterrupt code 15 h

Page 10: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

102006 MAPLD International Conference SpaceWire 101 Seminar

Interrupt codeInterrupt code in a Router node (‘0’ in ISR)

64-bit interrupt source register (ISR)

0000…0…000

21st bit

Interrupt 15h

Interrupt 15h

Interrupt Code 15h

Interrupt Code 15h

INTR_IN signal

Link controller

j

SpaceWire link

INTR_IN signal

Link controller

k

SpaceWire link

Link controller

i

INTR_IN signal

INTR_OUT signal

SpaceWire link

Interrupt code 15 hInterrupt code 15 h

Page 11: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

112006 MAPLD International Conference SpaceWire 101 Seminar

Link controller

i

INTR_IN signal

INTR_OUT signal

SpaceWire link

Interrupt codeInterrupt code processing in a Router node (‘1’ in ISR)

64-bit interrupt source register (ISR)

0000…1…000

21st bit( 15h )

INTR_IN signal

Link controller

k

SpaceWire link

INTR_IN signal

Link controller

j

SpaceWire link

Interrupt code 15 hInterrupt code 15 h

Page 12: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

122006 MAPLD International Conference SpaceWire 101 Seminar

Poll Code 15h

Poll Code 15h

Poll_IN signal

Link controller

k

SpaceWire link

Poll 15hPoll 15h

Poll_IN signal

Link controller

j

SpaceWire link

Poll 15h Poll 15h

Poll codePoll code processing in a Router node (‘1’ in ISR)

64-bit interrupt source register (ISR)

0000…0…000

21st bit

1

Link controller

i

Poll_IN signal

Poll_OUT signal

SpaceWire link

PollPoll code 15 h code 15 h

Page 13: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

132006 MAPLD International Conference SpaceWire 101 Seminar

Poll 15h

Poll 15h

Poll codePoll code in a Router node (‘0’)

64-bit interrupt source register (ISR)

0000…0…000

21st bit

Poll Code 15h

Poll Code 15h

Poll_IN signal

Link controller

j

SpaceWire link

Poll_IN signal

Link controller

k

SpaceWire link

Link controller

i

Poll_IN signal

Poll_OUT signal

SpaceWire link

PollPoll code 15 h code 15 h

Page 14: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

142006 MAPLD International Conference SpaceWire 101 Seminar

Interrupt-code: interrupt request. IRQ vector I=60h

Node 82Master

Router 1

Router 2

Router 3Node 74Master

Node 64 Slave

Node 60Slave

• Poll-code: polling interrupt source status.

• Packet: sending interrupt request source status.

I=60h

I=60h

Page 15: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

152006 MAPLD International Conference SpaceWire 101 Seminar

Interrupt/Poll codes do not cause conflicts with existing SpaceWire standard compliant implementations

Interrupt/Poll codes are in conflict with Multi-Time codes

So,…

To have an interoperability• Modes of operation, set in the Configuration:

either Interrupt/Poll codes, or Multi-Time codes.(also PCI <-> PCI-X compatibility is an example of the approach)

• Not include in the SpaceWire standard neither Interrupt/Poll codes, nor Multi-Time codes.Treat them both as Logical (virtual) Sideband signals – NASA Multi-Time codes– RFSA Interrupt/Poll codes

• Tunneling of “alternative” through the both type routers

To study carefully both Interrupt/Poll codes and Multi-Time codes specifications. Investigate particular level of their interoperability /non-interoperability.

Page 16: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

162006 MAPLD International Conference SpaceWire 101 Seminar

Interrupt/Poll codes in SpaceWire. Conclusion

• Former sideband signals, like interrupts, are integrated into SpaceWire interconnections

• Up to 64 different signals can be distributed in an interconnection simultaneously

• Interrupt/Poll codes are specified at the Symbol level. They have high priority for transmission and switching (next to Time codes)

• Interrupt/Poll codes are distributed regardless of data transmission, cutting into data symbols flow at any link – idle, busy, blocked for data

• Interrupt/Poll codes ensure low latency distribution. Latency boundaries can be estimated for a SpaceWire interconnection topology

• Interrupt/Poll codes do not cause conflicts with existing SpaceWire standard and compliant with it implementations

• Interrupt/Poll codes are implemented in our ASIC and FPGA SpaceWire implementation

Page 17: 12006 MAPLD International ConferenceSpaceWire 101 Seminar Distributed Interrupts for Real-Time Control in SpaceWire-Based On-Board Systems 2006 MAPLD International.

172006 MAPLD International Conference SpaceWire 101 Seminar

Thank youThank you!