www.klabs.org/mapld05/papers/147_johnson_paper.doc
Sandra G. Dykes,
majohnson@swri.org, bwalls@swri.org, kpersson@swri.org, sdykes@swri.org
Southwest
Research Institute
6220 Culebra Road
San Antonio, TX 78230
(210) 522-2419
SpaceWire is an
emerging network protocol designed to
expand on-board spacecraft communications through use of a
multi-hop, switched network architecture, supporting data rates from
2Mbps to 400Mbps. Based initially on IEEE 1355-1995, the electrical
interface has been optimized for the rigors of spacecraft operations
and adopted as standard ECSS-E-50-12A by ESA. With recent standardization
of the protocol, attention can now be focused on
development of SpaceWire hardware, including interface cards and network
routers. This paper describes our
approach and technical developments to provide radiation hardened SpaceWire
solutions using the high performance CompactPCI (cPCI) bus. Driven
by a combination of increasing mission throughput and aggressive processing
requirements, the choice of the cPCI bus has fueled development of a
new generation of SpaceWire hardware for space applications. For
both immediate use in current on-board
SpaceWire networks and to facilitate our
research into hosting IP on these networks,
we have developed a full duplex SpaceWire Link Interface Module (SLIM)
interfacing on a 3U cPCI card. Our
implementation incorporates two independent 64Kbyte FIFOs for
SpaceWire link transmit and receive, a single SpaceWire link interface
providing exchange level protocol support, and a programmable interrupt
controller, interfacing with the cPCI Bus.
A SwRI-developed cPCI target core was employed to provide increased
transaction throughput tailored to the high bandwidth capabilities of
the SpaceWire bus.
TABLE OF CONTENTS
List of Figures
List of Tables
ACRONYMS AND ABBREVATIONS
cPCI Compact Peripheral
Component Interconnect
COTS Commercial Off The Shelf
ECSS European Cooperation for Space Standardization
ESA European Space Agency
FCT Flow Control Token
FIFO First-in First-out
FPGA Field Programmable Gate Array
GSE Ground Support Equipment
IEEE Institute of Electronic and Electrical Engineers
IP Internet Protocol
LAN Local Area Network
LVDS Low Voltage Differential Signal
Mbps Megabits per second
NASA National Aeronautical and Space Administration
PCB Printed Circuit Board
RTL Register Translation Logic
SwRI Southwest Research Institute
SEL Single Event Latchup
TID Total Ionizing Dose
Introduction
History
One
of the recent trends in spacecraft avionics architectures is the use
of Local Area Networks (LANs) to distribute processing and data collection
responsibilities. Various network topologies are currently under
investigation to support not only intra-spacecraft LANs, but also spacecraft
constellation networks and Earth-spacecraft network links. These
technologies include traditional IP over Ethernet, SOIF (Spacecraft
Onboard Interface), and several custom interfaces. One of the
most promising interfaces is the new European standard, SpaceWire.
The SpaceWire protocol was first developed by the European Space Agency
(ESA) in the late 1990s to provide a high-speed internal network for
spacecraft. SpaceWire is intended as a common interface protocol designed
to interface with not only spacecraft instruments and control systems,
but also ground support and testing equipment. SpaceWire is a
high performance serial bus, supporting data rates from 2Mbps to 400Mbps.
Based initially on IEEE 1355-1995, the electrical interface has been
optimized for the rigors of spacecraft operations and adopted as standard
ECSS-E-50-12A by ESA. The intent of SpaceWire is to provide a
unified, high performance data handling infrastructure, designed to
meet the needs of future space missions.
Data Network Structure
Traditional terrestrial data networks provide a communication
system based on the layered ISO OSI protocol. The OSI model divides
the complex task of host-to-host networking into layers. The seven
layers that make up the OSI stack (listed highest level to lowest) are
[1]:
Application
Presentation
Session
Transport
Network
Data Link
Physical
One of the most common
physical and data-link layer implementations is Ethernet. Ethernet
employs a bus topology in which all devices or hosts on the network
use the same shared communication lines. Data sent over Ethernet
is automatically broadcast to all devices on the network. By comparing
their Ethernet addresses against the address in the header of the data,
each Ethernet device test each frame to determine if it was intended
for them and reads of discards the frame as appropriate.
Space-based Data Networks
Intra-satellite data networks are not a new concept.
MIL-STD-1553B is a widely implemented serial data network used throughout
the spacecraft community. In recent years, a number of NASA and
ESA programs have extended the spacecraft data network concept to mimic
the layered data networks found in terrestrial applications. Spacecraft
wide Local Area Networks (LANs) are moving from the conceptual study
phase, to design and implementation in the next generation of missions.
The goals of including
a packet-based LAN in spacecraft architectures are numerous, and include:
Improved
data collection and distribution for future science missions.
Both Earth and space science missions plan to fly more and more sensors
and have them interact to form a Sensor Web [1].
Enabling
technology for distributed computing and system functions.
Provides the seamless routing of data, remote file systems, and the
ability to efficiently offloading processing and data analysis functions
Ease of use. Industry standard that is known and used
throughout the world.
Leverages off of COTS technology. Allows industry knowledge
base and R&D efforts to translate to space networks.
The key to implementing
a packet-based network within a spacecraft is the choice of a sufficiently
robust and capable data and physical layer protocols. The rigors
imposed by the harsh space environment limit not only the choice of
electrical components, but require a level of error handling and fault
tolerance. Several data-link and physical link protocols are being
investigated to provide network connectivity within a spacecraft.
These include IEEE-1394 Firewire, MIL-STD-1553B, I2C, and SpaceWire.
SpaceWire has recently been standardized by ESA and has established
itself as the de-facto data interface on ESA missions.
Introduction to the
SpaceWire Serial Bus
SpaceWire provides a means for sending packet information
from a source node to a destination node. The SpaceWire interface
is a full duplex, point-to-point, serial data communication link.
SpaceWire defines the method of data transfer, and the protocol required.
It does not specify the contents of the actual packet information.
The SpaceWire standard defines a multi-level interface. Each level
is summarized in the following sections. SpaceWire differs slightly
from the traditional OSI model. Figure
1 illustrates how SpaceWire maps to the traditions ISO OSI layered
model.
Figure
1. Layer Map