PCI-SpaceWire
PCI Compatible SpaceWire Interface




Utilize SpaceWire to communicate with the European Space Agency and NASA equipment utilizing the ECSS-E-50-12C specification. SpaceWire is configured using routers to create a heirarchical point-to-point system with high speed parallel paths.

PCI SpaceWire implements SpaceWire in a convenient PCI format. With PCI the four channels fit on the PCI Bezel. The SpaceWire specification calls for LVDS signaling and a specific 9 pin micro-D connector. You can connect the PCI-SpaceWire to other SpaceWire compliant devices without electrical interface issues

Four fully independent and highly programmable LVDS IO channels are provided by the PCI-SpaceWire design. In the SpaceWire implementation the channels pass tokens between two independent state-machines to provide the proper protocol. The SpaceWire protocol is advanced with link testing, error handling, command and data protocols built in. The SpaceWire electrical interface is point-to-point. With the SpaceWire protocol it is easy to build a heirarchical architecture system with routers or a home-run wired system. Your equipment can interact with any other node in the system. PCI-SpaceWire provides a bridge from PCI <=> SpaceWire. Channel based DMA offloads your CPU and increases performance in your system. Time Code support provides a complete solution. Please refer to the manuals at the bottom of this page for detailed information

Each channel has FIFO memory with 4 Kbytes TX and 4K bytes RX standard and up to 512Kbytes as an option. The FIFOs are 32 bits wide to optimize data transfer from the PCI bus. The base FIFOs are internal to the FPGA and utilize dual ported RAM configured as a FIFO. Two external positions are available for larger FIFOs to be installed to support one of the channels in both directions or two of the channels in one direction.

The interface is optimized to minimize the latency on the PCI bus. The loop-back test can be used for BIT and for software development. The programmable FIFO flags are supported for interupt driven or polled operation. Programmable Almost Full, Programmable Almost Empty, plus Full, Half Full, and Empty. The programmable flags can be set to any debth to allow the software a programmable delay from event to empty or full. The interrupts can be very useful when sending or receiving messages larger than the FIFO size.

SpaceWire features automatic link testing when a node is brought on line - released for operation via software. The transmitter sends NULLs until NULLs are received and then sends FCTs until FCTs are received. The initial frequency is specified [ECSS-E-50-12C] to be 10 MHz. Once the auto link test has passed, the hardware can switch to the programmed rate. A local oscillator is used to supply the 10 MHz reference clock for initialization. A programmable PLL is used to support operation once the link is established. The PLL is programmed via software and is referenced to the oscillator.

The SpaceWire protocol has flow control. The local memory on the PCI-SpaceWire will not overrun. In situations where the data being sent to the PCI-SpaceWire card is not buffered it is recommended to use a "-128" model with large FIFO´s on channel 0. The issue is upstream - if there is an unbuffered or under-buffered data source that will loose data if the link is throttled back the larger FIFO´s will help. The larger FIFO´s will provide more room to accumulate data if the system is not ready to allow the PCI-SpaceWire to DMA transfer it immediately. The DMA transfers are higher bandwidth than the SpaceWire transfers allowing the system to catch-up once the DMA transfers restart. At 100 MHz and 80% data transfer the 128x32 FIFO will provide about 52 mS of data storage. The host would have to ignore the PCI-SpaceWire interrupt requests for longer than 52 mS before throttling would occur. In most systems this is sufficient time to stay out of the throttled mode. To unload a full FIFO with DMA running it will take 128K/33M = .4mS => the unload to load multiplier is stongly in favor of the host side allowing the host to catch-up to the SpaceWire link once the delaying event has passed.

PMC-SpaceWire is supported with the DESWBO Dynamic Engineering SpaceWire BreakOut tool for debugging SpaceWire systems, cables, and the DESWCB Dynamic Engineering SpaceWire Connector Board which provides a SpaceWire Cable to system cable interface.

If your situation demands a custom application then we will update the Xilinx FPGA. Send us your timing and we will send you the interface.... email us your wish list or call today!

PCI-SpaceWire Block Diagram



The standard timing uses the data and strobe to transmit and to receive the data. The data is transmitted as a command or data. The strobe provides the transitions for clocking when the data is unchanged between adjacent bit times.

PCI-SpaceWire Standard Timing




PCI-SpaceWire Features

  • Size
  • 1/2 length PCI

  • Transmit Speeds
  • 10 MHz initial rate per SpaceWire Specification. Software selectable secondary rate for transmit channel. Max. frequency currently 200 Mhz. Oscillator and programmable PLL combined for user frequency support.

  • PCI Speed
  • Standard 33 MHz. operation

  • PCI Access Width
  • Standard 32 bit operation supported.

  • Software Interface
  • PCI registers are read-writeable. Transmit and Receive functions separated.

  • Interrupts
  • Transmit and Receive state-machines, FIFO Programmable almost empty [transmit] and programmable almost full [receive] have programmable interrupts. Status can be polled for non-interrupt driven operation as well.

  • Signaling
  • LVDS interface devices are utilized.

  • IO
  • The IO is available via the PCI bezel connectors [4 channels]. The differential IO is properly routed with controlled spacing and matched lengths on each of the pairs. 9 Pin MDM connectors as specified in ECSS-E-50-12C.

  • Interface
  • ECSS-E-50-12C specification compliant. Time Code is supported.

  • Power
  • +5 only. 3.3V, 2.5V, 1.2V converted with on-board regulators.

  • Memory
  • Separate FIFOs are provided for TX and RX of each channel. Internal Block RAM creating 1K x 32 is standard for all channels. 128K x 32 is available on channel 0. Add -128 to part number for this option.

  • DIP switch
  • An 8 position switch is available to allow for configuration control, multiple PCi-Spacewire in a chassis and to facilitate integration




    PCI SpaceWire Benefits

  • Speed
  • The PCI SpaceWire is optimized for serial interfacing requirements. The FIFO memories and programmable interrupts off-load the CPU from most of the management other implementations require. The FIFO access is optimized for the PCI bus further reducing overhead by speeding up the data transfer. On the IO side the PCI SpaceWire has independent and interconnected channel functions. All channels can operate at maximum rate in parallel.

  • Price
  • The PCI-SpaceWire is available off-the-shelf at a reasonable price. Custom versions can also be arranged. The PCI SpaceWire is easily programmed to implement new functions. Previously implemented "custom designs" are available too. Without the costs of schematic level design, layout, debugging etc. A modified SpaceWire will represent a large cost and time savings in your budget.

  • Ease of Use
  • The PCI SpaceWire is easy to use. Point and shoot - just fill the FIFO and set the start bit to get your custom protocol transmitting. Built in loop-back capabilities and engineering kits help with integration into your system. Windows® Linux, and VxWorks® drivers available.

  • Availability
  • Dynamic Engineering works to keep the PCI SpaceWire in stock. Send in your order and in most cases have your hardware the next day. With a custom design a 1-2 week design period is usually required. We can support immediately with the std version then send updated FLASH later to help get your project going - right away.

  • Size
  • The PCI SpaceWire is a standard ½ length PCI card and meets the PCI mechanical specifications. The CI SpaceWire can be used in all PCI slots.

  • PCI Compatibility
  • The PCI SpaceWire is PCI compliant per the 2.3 specification.



    PCI-SpaceWire Ordering Information
    1 year warranty
    Quantity discounts available


    PCI-SpaceWire - Standard version with 4Kb FIFO per channel, standard SpaceWire [ECSS-E-50-12C] timing and protocol. Independent DMA channels and Timecode support. Four channels through the Bezel

    PCI-SpaceWire-128 - Standard version with 4Kb FIFO per channel plus 512K [128K x 32] FIFOs added to channel 0 [TX and RX], standard SpaceWire [ECSS-E-50-12C] timing and protocol. Independent DMA channels and Timecode support. Four channels through the Bezel

    PCI-SpaceWire-128RX - Standard version with 4Kb FIFO per channel plus 512K [128K x 32] FIFO´s added to channel 0 and 1 on RX, standard SpaceWire [ECSS-E-50-12C] timing and protocol. Independent DMA channels and Timecode support. Four channels through the Bezel

    PCI-SpaceWire-ET - add Industrial temperature components

    PCI-SpaceWire-CC - add Conformal Coating

    Please select Engineering kit, driver and Development tool options below:


    Quantity


    Engineering Kits
    Dynamic Engineering provides Engineering Kits to help our customers have a successful and quick integration. Engineering Kits will save time and money with decreased T&I. We recognize that different customers have different needs. The Engineering Kits are standardized in description to help with selection. The kits are segmented to allow for customers who only need hardware support, software support or a mixture. The Engineering Kit is highly recommended for first time buyers. The kit pricing is discounted to encourage their use.

    PCI-SpaceWire-Eng-1 .......... Hardware Support Engineering Kit includes:
    Board level Schematics [PDF], and MDMCable9

    PCI-SpaceWire-Eng-2 .......... Hardware Support plus Driver Engineering Kit includes:
    Board level Schematics [PDF], Software[Driver and sample application ], and MDMCable9

    PCI-SpaceWire Drivers.......... Software Support Only Windows® XP/2000, Linux or VXWorks compliant drivers for the PCI-SpaceWire: Driver and user application.

    VxWorks driver available by special request when engineering kit is ordered. The VxWorks driver was donated by one of our customers. The driver is known to work. The source files are provided to provide a running start on your effort. The driver is provided "AS-IS"

    Manuals
    You must have Adobe Acrobat to read our PDF files


    PCI-Spacewire Hardware Manual Rev E Hardware level design description, bit maps, pinouts, operation etc. Covers all versions.

    PCI-Spacewire Software Manual Rev E Users Driver manual for installation and use Rev C. Current version for users of new improved channel based SpaceWire

    PCI-Spacewire Linux Software Manual Linux Users Driver manual for installation and use.

    PCI-Spacewire-128 Software Manual Users Driver manual for installation and use.

    * Need a manual for an older version - please contact us directly for older manual copies.

    Related Products
    MDM-Spacewire Cable: Lab Environment Spacewire Cable



    DESWCB custom cable to spacewire break out board


    PCI-SpaceWire Block Diagram with External FIFO Implemented

    SpaceWire Applications Information
    <b>rapid deploy </b> Spacewire Setup

    Portable Spacewire: White paper and product selection for low cost rapid deploy portable spacewire monitor and debugger. Provides nearly instantaneous around the world portable Spacewire solution. Download the full Spacewire_WhitePaper presented at the 2008 International Spacewire Conference.


    Custom designs
    Do you need to use SpaceWire in your system and don´t see a model that matches? The PMC-SpaceWire coupled with a PMC carrier will add SpaceWire to your system. Check the Carriers link on the top left of each page. For example a cPCI PMC carrier coupled with PMC SpaceWire will add SpaceWire to a Compact PCI system.





    Custom, IP, PMC, PC*MIP, PCI, VME Hardware, Software designed to your requirements



    Home | News | Search the Dynamic Engineering Site