Signalogic Logo.

DSP Hardware, DSP Software

C54xx C67xx DSP

MATLAB DSP, media gateway DSP, wireless DSP, PC/104 DSP

DirectDSP
Home :: Products & Services :: Software :: DirectDSP

DirectDSP®

Overview
Technical Description
Low-Level Functions
High-Level Functions
Example Programs (C/C++, MATLAB, and Visual Basic programs which call DirectDSP®
Include Files
Product Description
Linux Support
DSK C6711 High-Speed Data Transfer

 

MATLAB interface to DSP board example shown above.

Visual C/C++ GUI interface to DSP board examples shown above.

Overview

DirectDSP®; is a Windows Library and software package which offers an interface to off-the-shelf DSP/acquisition hardware for user-defined C/C++, Visual Basic, and MATLAB® programs. Low-level functions include board control, block memory transfers, DSP executable file download, etc. High-level functions include data acquisition, waveform record/playback, signal synthesis, stimulus & response measurement, and DSP/math functions.

The main objectives of DirectDSP are:

  • Provide higher performance communication and data transfer to/from DSP code than is possible with JTAG or other JTAG-based solutions, such as RTDX

  • Support standard, popular development environments such as Visual Studio, .NET, and MATLAB

  • Abstract DSP hardware drivers to allow a wide range of OS (Win2K, Linux, Win9x) and wide range of boards (C5xxx, C6xxx, DSK, EVM, off-the-shelf vendor, etc)

  • Provide "algorithm level" debug capability: allow developers to work with real-time data buffers and streams in an event-driven environment, using single-step, breakpoint, and register level debug level only when necessary

  • Enable host GUI development (i.e. connect GUI controls and displays to DSP code variables and buffers) for production applications and systems

Technical Description

DirectDSP allows Visual Studio, .NET, and MATLAB software applications to interface directly to DSP hardware and real-time DSP code. DirectDSP software is an intermediate layer, or library. On its PI side DirectDSP software presents a well-documented, consistent series of function calls to C/C++, Visual Basic, and MATLAB programs. On its river side DirectDSP software interfaces with Win9x, Win2K, or Linux drivers that allow ISA bus, PCI bus, or parallel port access directly to various DSP boards. At the hardware level, typically the HPI (host port interface) peripheral on the DSP device(s) is used to connect the host bus to the DSP and its onchip resources, via circuitry and logic on the DSP board.

The software architecture looks something like this (click for larger picture):

Following are some examples of functionality provided or allowed by DirectDSP software API calls and its underlying driver interface:

  • Access onchip DSP memory, offchip board memory, and registers or FIFOs contained in data acquisition and control modules, telecom modules, and other board peripheral I/O devices

  • Download DSP code in COFF file format, as created by Texas Instruments CCS development tools

  • Start, stop, and otherwise control DSP processors and installed modules

  • Allow host and GUI application software to "see" DSP software data objects without stopping or pausing the DSP processor

  • Monitor data and parameters set by DSP code in real-time; for example update graphical displays, gauges, meters, text displays

  • Set properties in DSP SCI (Source Code Interface) framework, for instance sampling rate, number of channels, real-time buffer sizes, etc

DirectDSP fully supports multiprocessor hardware, including "roadcast mode" for DSP onchip memory writes, code download and run, device reset.

Click here to see a web page partial summary of the DirectDSP API, in a format suitable for print-out, or click here for a PDF version of DirectDSP API summary.

Low-Level Functions

Below is a summary of low-level functions in the DirectDSP:

  • DSP device control (start, stop, hold, etc.)

  • onboard register and digital I/O access

  • onboard memory access, using the means supported by the board architecture, such as DSP host port, dual-port memory, address counters, etc.

  • download of DSP program files (for example, COFF format used by many DSP chip vendors)

  • board initialization; verify that board is installed and responding correctly

  • sampling rate calculation using desired rate value as input, with both actual sampling rate and control register word as return values

  • get symbol address; get run-time physical address of symbol in DSP C/asm code (e.g. variable, array, buffer, pointer, etc.)

High-Level Functions

Below is a summary of high-level functions in the DirectDSP:

  • Waveform file acquisition. Parameters include sampling rate, channel list, gain list, trigger criteria, loopback mode, channel interleave/split file creation, digital scale and offset, and more.

  • Waveform file generation. Parameters include sampling rate, channel list, attenuation list, end-of-waveform mode control, starting sample, digital scale and offset, and more.

  • Stimulus and response measurement. Parameters are similar to waveform acquisition, with the addition of an output stimulus filename.

  • DSP Engine function execution. If a Hypersignal or MATLAB package is being used as a DSP Engine, functions in these packages can be executed from the calling C/C++ or Visual Basic program.

Example Programs

Several example programs are included with the DirectDSP software package. These programs include working .EXEs, which are installed as icons, C/C++, MATLAB, or Visual Basic source code files, and example project files for Borland C/C++ 3.1 and 4.5, Microsoft Visual C/C++ 1.5, and WATCOM C/C++ 10.0.

Include Files

Click here to see C/C++ include (".h") files provided by the DirectDSP software package.

Click here to see Visual Basic include (".bas") files provided by the DirectDSP software package.

Product Description

DirectDSP allows user-defined programs access to the power of DSP and data acquisition hardware by abstracting the details of hardware-related drivers and programs, and providing a consistent API. DirectDSP can connect to standard Win9x and WinXP drivers for supported by DSP/acquisition hardware or to the Hypersignal® Macro software package, which currently supports over 70 types of off-the-shelf DSP/acquisition hardware. When a Hypersignal-Macro package is used, additional DSP-related and real-time instrumentation functions are active. Hardware currently supported by DirectDSP and Hypersignal-Macro software includes data acquisition boards, low-cost multimedia boards, multichannel DSP boards, and DSP development platforms such as Texas Instruments C3x/C4x, C54xx, and C67xx/C62xx, and Motorola 563xx

Complete C/C++ and Visual Basic source code for example programs such as digital oscilloscope, digital tape recorder, strip-chart recorder, and DSP board debugger are provided with DirectDSP. MATLAB .m file example programs are also provided. The example programs demonstrate the simplicity of adding DSP and data acquisition support for popular hardware. Separate "DSP Source Code Interface" packages for nine (9) different DSP chip families are available for users who want to customize operation of DirectDSP functions at the DSP level, or for use as a foundation on which to build application-specific DSP products, systems, and algorithms. Signalogic also offers DSP source code development tools, including DSP code C compilers, assemblers, linkers, software simulators, and debuggers.



Hypersignal is a registered trademark of Hyperception. Signalogic, DirectDSP, and DSPower are registered trademarks, and VDS, DirectRT, SigBook, Visual Bench, and Real-Time Convolver are trademarks of Signalogic. MATLAB is a registered trademark of The MathWorks. Telogy Networks is a registered trademark of Texas Instruments-Telogy. LabVIEW is a registered trademark of National Instruments. Windows and Visual Studio are trademarks of Microsoft.

Some of the pictures used on this website Copyright © 2002 by Daniel Speck at FreeStockPhotos.com