Copyrig
ht © P
rismTe
ch 2
014
Portable Waveform Development with
Spectra DTP4700
Vincent J. Kovarik Jr, Ph.D. – CTO August, 2015
Copyrig
ht © P
rismTe
ch 2
014
Introduction
2
►Signal processing is performed digitally via software.
►The Software Communications Architecture (SCA) promotes portable, reusable waveforms.
►The SCA was the foundation for the Joint Tactical Radio System (JTRS) program.
►However, the initial projects encountered multiple problems including poor portability of waveforms.
Copyrig
ht © P
rismTe
ch 2
014
Waveform Portability
3
►The SCA defines a core set of APIs related to the management and control of a radio system and the applications (waveforms) that were hosted on the system.
►However, a key element of the software architecture was overlooked – the definition of a standard set of interfaces for radio devices and services.
Copyrig
ht © P
rismTe
ch 2
014
► Standard interfaces for devices and services promote waveform portability by providing a consistent API across multiple platforms.
► It isolates the waveform and other applications from different I/O drivers and board support packages (BSP) for each radio platform.
Device and Service APIs
Copyrig
ht © P
rismTe
ch 2
014
DTP4700 System Overview
►The DTP4700 is comprised of two systems:
►Host system Thunder SDR system
5
Copyrig
ht © P
rismTe
ch 2
014
DTP4700: Host System
► Supplied as a bootable LiveUSB ► Ubuntu 12.04 LTS: ► Includes all the tools necessary to develop SCA applications
for the Thunder SDR system: ► Texas Instruments Linux DVSDK ► DataSoft’s Thunder SDK ► Spectra ORB C edition for x86, ARM and DSP ► Spectra ORB C++ edition for x86 and ARM ► Spectra Core Framework + basic DTP4700 SCA Platform ► Demonstration SCA waveform applications (FM audio and data
carrying examples with source code) ► Spectra CX (Optional) ► Spectra Probes Toolbox (Optional) ► Spectra Radio Services and Devices (Optional) – implementations of
standard JTNC APIs
6
Copyrig
ht © P
rismTe
ch 2
014
DTP4700: Thunder SDR System
► AM/DM37x OMAP based digital baseband processing system: ► ARM Cortex A8 GPP & TI C64x DSP
► Xilinx Spartan 6 FPGA
► Full duplex RF Transceiver with RF front end supporting a wide frequency range ► DTP4700H – 400 MHz to 4 GHz
► DTP4700L – 30 MHz to 1.6 GHz
► Test and Debug ► JTAG DSP/ETM assembly
► FPGA/CPLD connectors
► Tx and Rx test points
7
Copyrig
ht © P
rismTe
ch 2
014
Thunder SDR – Front Panel
TX Out RX In
SD/MMC Card Slot
USB-OTG
Ethernet 10/100
Audio In Audio Out
LEDs
Ethernet 100/1G
8
Copyrig
ht © P
rismTe
ch 2
014
Thunder SDR – Back Panel
GPS RF Antenna GPS 1PPS
In/Out
COM2 Port Fan
DC Power 9-18V
Power Switch
COM1 Port External Clock In
External Clock Out
AUX In/Out
9
Copyrig
ht © P
rismTe
ch 2
014
Baseband Subsystem
► Based on TI AM/DM37x OMAP processor and Xilinx Spartan 6 FPGA
► AM/DM37x OMAP Processor features: ► 1 GHz ARM© Cortex™ A8 RISC core
► 800 MHz C64x DSP core
► POWER SGX Graphics Accelerator
► 2000 Dhrystone MIPS – capable of supporting the RTOS and complex WFs
► DSP can be selectively powered down
► Ethernet, Gig-E, USB, SD, RS232 and audio interfaces
► Integrated GPS receiver with 1PPS output
10
Copyrig
ht © P
rismTe
ch 2
014
RF Front End Subsystem ► Full duplex with programmable signal
bandwidths from 40 KHz to 40 MHz ► Tx/Rx frequency range:
► DTP4700H – 400 MHz to 4 GHz ► DTP4700L – 30 MHz to 1.6 GHz
11
► Dual-channel 12-bit 100Msps ADCs ► Dual-channel 16-bit 800Msps DACs ► TX: Quadrature modulator ► RX: Direct Conversion ► MCSP system for board-level control
Copyrig
ht © P
rismTe
ch 2
014
Spectra Probe Toolbox ► Data Probe
► Inject or capture GPP/DSP data stream
► Synchronize and trigger multiple probe points
► Capture block data
► Interface to MATLAB/Simulink
► Traffic Probe ► Capture and display network traffic
12
► Resource Probe ► Memory and CPU utilization
graphs
► CPU resource detail
► Memory Peeks and Pokes
► Latency Probe ► Capture and display timestamp
information
► Synchronized time base across the GPP and DSP
Copyrig
ht © P
rismTe
ch 2
014
SCA Device Description
ExecutableDevice
The ExecutableDevice extends the LoadableDevice providing additional
interfaces to manage the processes and tasks, via Process ID (PID). This
enables the execution or termination of programs and tasks.
DSPDevice
The DSPDevice is a “proxy” ExecutableDevice that runs on the baseband
board’s GPP and is used to load and execute components on the DSP
processor.
WFFPGAProxy
The WFFPGAProxy provides the interface to send and receive waveform
signal processing data between the baseband board and the transceiver
board.
RfCtrlDevice
The RfCtrlDevice provides an SCA Device implementation of the RF front
end of the DTP4700. This device enables access to status information
and control points for the RF elements.
Standard Devices
Copyrig
ht © P
rismTe
ch 2
014
SCA Service Description
LogService The LogService implements the standard OMG Lightweight
Log Service used by the SCA.
EventService The EventService provides the means for send event
information between components in the system.
NamingService The NamingService implements the OMG CORBA
NamingService standard used by the SCA.
Standard Services
Copyrig
ht © P
rismTe
ch 2
014
SCA Device Description
EthernetDevice
The EthernetDevice provides a standard interface across
radio platforms for interacting with a physical Ethernet
device.
FrequencyReferenceDevice
This device provides a standard interface to the
frequency reference device providing the 1PPS for the
system.
SerialPortDevice The SerialPortDevice provides a standard interface to the
RS-232 supported by the platform.
GPSDevice
The GPSDevice provides a common set of interface calls
to receive and set GPS information related to the GPS
receiver.
AudioPortDevice
The AudioPortDevice provides a standard interface to
the speaker and microphone devices provided by the
radio system.
Extended Device APIs
Copyrig
ht © P
rismTe
ch 2
014
SCA Service Description
PacketService The PacketService provides a standard API to the IP or Ethernet
networking stack managed by the operating system.
TimingService
The TimingService implements the JTRS API providing a standard
set of calls to obtain and receive time-of-day, system time and
other time related information.
VocoderService
The VocoderService provides a standard interface and container
that enables different Vocoder implementations to be plugged
into the voice data stream.
Extended Service APIs
Copyrig
ht © P
rismTe
ch 2
014
In Conclusion…
20
►Lack of standard interfaces to the radio platform devices and services significantly hindered JTRS waveform portability.
► JTRS APIs were developed to provide a standard set of interfaces across multiple radio systems.
►Together, the SCA and JTRS APIs provide a comprehensive set of standard interfaces between a waveform application and the radio.
Copyrig
ht © P
rismTe
ch 2
014
In Conclusion…
21
►The Spectra DTP4700 provides a capable and flexible development system *and* a rich set of standardized APIs.
►The standard APIs simplify porting waveforms across multiple radio systems by reducing the level of code rework.
Copyrig
ht © P
rismTe
ch 2
014
For Additional Information
22
►PrismTech Website:
►www.prismtech.com/spectra
►E-mail: