A computer program provides a high-level C-language interface to electronics circuitry that controls a SpaceWire interface in a system based on a space qualified version of the ADSP-21020 digital signal processor (DSP). SpaceWire is a spacecraft-oriented standard for packet-switching data-communication networks that comprise nodes connected through bidirectional digital serial links that utilize low-voltage differential signaling (LVDS). The software is tailored to the SMCS-332 application-specific integrated circuit (ASIC) (also available as the TSS901E), which provides three high-speed (150 Mbps) serial point-to-point links compliant with the proposed Institute of Electrical and Electronics Engineers (IEEE) Standard 1355.2 and equivalent European Space Agency (ESA) Standard ECSS-E-50-12. In the specific application of this software, the SpaceWire ASIC was combined with the DSP processor, memory, and control logic in a Multi-Chip Module DSP (MCM-DSP). The software is a collection of low-level driver routines that provide a simple message-passing application programming interface (API) for software running on the DSP. Routines are provided for interrupt-driven access to the two styles of interface provided by the SMCS: (1) the "word at a time" conventional host interface (HOCI); and (2) a higher performance "dual port memory" style interface (COMI).
This program was written by Douglas Clark, James Lux, Kouji Nishimoto, and Minh Lang of Caltech for NASA's Jet Propulsion Laboratory. For further information, access the Technical Support Package (TSP) free on-line at www.nasatech.com/tsp under the Software category. This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393-3425. Refer to NPO-30389.
This Brief includes a Technical Support Package (TSP).

SpaceWire Driver Software for Special DSPs
(reference NPO-30389) is currently available for download from the TSP library.
Don't have an account?
Overview
The document is a technical support package prepared under the sponsorship of NASA, detailing the development of SpaceWire Driver Software for specialized Digital Signal Processors (DSPs), specifically the ADSP-21020. It is part of a broader effort to enhance communication capabilities in space applications, particularly for scatterometers.
The document begins with an introduction to the software driver, emphasizing its role in facilitating communication via the SpaceWire interface, which adheres to the IEEE-1355 standard. The driver is designed to provide a high-level C language interface, allowing for easier integration and interaction with the hardware components of the system.
A significant portion of the document is dedicated to the hardware architecture, which includes the configuration of the DSPs and the dual-port memory used for data exchange. The architecture is designed to optimize performance while balancing cost considerations, reflecting the specific requirements of the application.
The software driver implementation is discussed in detail, showcasing the initialization process for the SpaceWire hardware and the operation of a slave node. An example code snippet illustrates how the driver initializes the hardware, waits for data packets from a master node, and sends back the received data. This example highlights the driver’s functionality in managing data transmission and reception over the SpaceWire link.
The document also outlines the philosophy and decisions that guided the development of the software driver, noting that there are multiple approaches to designing such drivers. The chosen implementation was influenced by the specific needs of the programmable DSPs used in the project, aiming for a balance between performance and cost-effectiveness.
Additionally, the document includes references to essential manuals and specifications that informed the development process, such as the DIPSAP-II SMCS332 User Manual and the DSP Peripheral Controller Specification. These references provide context and additional resources for understanding the technical aspects of the driver and its application.
Overall, this technical support package serves as a comprehensive resource for understanding the SpaceWire Driver Software's development, its operational framework, and its significance in enhancing communication capabilities for space missions. It reflects the collaborative efforts of the Jet Propulsion Laboratory and the National Aeronautics and Space Administration in advancing space technology.

