sw radio concepts for signal processing environments€¦ · wf gpp component resource api wf dsp...

17
Copyright © 2004, Raytheon Company. All Rights Reserved 1 Jerry Bickle Raytheon +1-260-429-6280 [email protected] Jimmie Marks Raytheon +1-260-429-6422 [email protected] SW Radio Concepts for Signal Processing Environments

Upload: others

Post on 16-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

Copyright © 2004, Raytheon Company. All Rights Reserved

1

Jerry [email protected]

Jimmie [email protected]

SW Radio Concepts for

Signal Processing Environments

Page 2: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved2

Software Communications Architecture (SCA)

• SCA is a architecture standard to facilitate– Common bus technologies– Software reuse and portability (Independence of SW from HW)– Technology insertion (plug and play of HW and SW)

• Required for all new Gov. radio & communication system procurements

– SCA v2.2 released Nov 2001– SCA v2.2.1 released April 2004– SCA v3.0 (TBD) to address Signal Processing SW portability

• SCA is basis of Commercial Standard for Software Defined Radios (SDR)

– Object Management Group (OMG) – Software Defined Radio Forum (SDRF)

Page 3: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved3

Approach to Achieve Portability in Signal Processing

• Overall waveform development process is critical– OMG Model Driven Architecture (MDA) approach– Platform Specific Model (PSM) as realization of Platform

Independent Model (PIM)• Use Resource Adapters

– Minimize impact of CORBA vs.non-CORBA environments

• Standardized abstraction layer APIs– Supports Portability

• Standardized FPGAdesign/implementation– Produces library for FPGA

components

ModemWF DSP

GPPWF GPP

JTRS HW Platform

WF FPGA

WF FPGA

JPO Library

RF IO

Common DSP OE Common GPP OE

SINCGARS WF SW (GPP, DSP

and FPGA)

SINCGARS WF SW (GPP, DSP

and FPGA)Link-16 WF SW (GPP, DSP and

FPGA)

Link-16 WF SW (GPP, DSP and

FPGA)

Page 4: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved4

Approach to Achieve Portability in Signal Processing

Standardize critical APIs – allow for architecture changes

DSP GPP Modem Executable Device API

CF Resource, Data In and Out, and Status Out Ports

FPGA

Device Driver

RF/IF APIs

Common Radio APIs

Resource Adapter

Modem Adapter

CF

Device Driver

Common Radio and I/O APIs

WF GPP Component

Resource API

WF DSP Component

Device Driver

Protocol

Standard APIs

Alternate path (GPP ⌦FPGA)

Alternate path (CORBA-capable modem)

Waveform PSM component

Device driver and protocol unique to platform

Abstraction Layer PSM APIsLegend:

PSM (e.g., VHDL, C and C++) is a Refinement and Realization of PIM

Uses/ImplementsOMG SWRadio APIs Waveform

<<PIM>>Waveform<<PIM>>

SCA CF PSM

WF FPGA ComponentWF FPGA

Component

WF FPGA ComponentWF FPGA

Component

WF FPGA ComponentWF FPGA

Component

WF FPGA ComponentWF FPGA

Component

WF FPGA ComponentWF FPGA

Component

WF FPGA ComponentWF FPGA

Component

Page 5: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved5

Application Deployment with Resource Adapter

Waveform Profile CF

Bring Resources(CORBA and Non-CORBA)into existence onphysical devices

DeviceDeviceCF ExecutableDevice

Resource2

ApplicationFactory

Allocate Capacities, Load, and Execute

Physical Device 1

Physical Device 2

Initializes,Connects,And Configures Resources

1

23

Non-CORBA CapableEnvironment

CORBA CapableEnvironment

Physical Device 2 :ExecutableDevice

Physical Device 1:ExecutableDevice

Note: Resource Adapter not part of Waveform

ResourceAdapter

1

Resource1

~~~~~~~~~~XMLFiles~~~~~~

Page 6: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved6

Resource Adapter’s ExecutableDevice Characteristics

• Execute, load, terminate, unload, runtest operations delegated to Non-CORBA environment– Execute –

• Creates waveform process/thread– Stack Size– Priority– User Defined Executable Parameters as ID/Value

string pairs• Creates Resource Adapter

– Load - loads waveform code– Terminate

• Destroys waveform process/thread• Destroys Resource Adapter

– Unload – unloads waveform code

Page 7: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved7

Resource Adapter Entry Point Characteristics

• Non-CORBA Environment Implementation Considerations– Entry Point Executable parameters

• Argv format– Static Symbol Environment

• Waveform Process/Thread entry point name is the same for all waveforms to ensure portability of waveforms

– Dynamic Symbol Environment• No restriction on entry point name

Page 8: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved8

Resource Adapter UML Sequence Diagram Illustration

WF Application Factory : ApplicationFactory

Physical Device 2 :ExecutableDevice

NamingService

Resource Adapter 1 :ResourceComponent

Physical Device 2 Driver

Resource 1 :ResourceComponent DSP RTOS

1: allocateCapacity(in Properties)

5: execute(in string, in Properties, in Properties)

10: create( )11: bind

17: getPort(required)18:getPort(provided)

19: connectPort

12: resolve

13: initialize( )

2: load(in FileSystem, in string, in LoadType)3: loadRequest

6: executeRequest

4: loadReply( )

9: executerReply

15: initialize( )14: initializerRequest

16: initializeReply

7: pthread_create( )8: create( )

Page 9: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved9

Resource Adapter Characteristics

• Resource Adapter implementation works the same for all waveform applications.– Allows for specific waveform properties and payload control

properties to be used.– Waveform Developers are not involved with specific message

definitions and transport• All Resource Adapter operations are delegated to Resource

(e.g., Resource 1) on the non-CORBA Environment except for port operations

• PropertySet Interface (config & query ops)– Only specific types are supported

• Boolean, string, integer (16, 32), unsigned integer (16, 32), octet

– Property Identifiers are integer strings to enable efficient property processing in signal processing environment.

Page 10: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved10

Resource Adapter Characteristics, cont’d

• Resource Adapter Ports– Data Ports

• Data In Port and Data Out Port• Both based upon the SCA Packet Building Block

– Payload is a Octet Sequence Type– Control type is Properties type

» Sequence of ID/value pairs» Types for values are restricted to Boolean, string,

integer (16, 32), unsigned integer (16, 32), octet– Status Out Port

• Based upon SCA SignalError Building Block– Error Type is integer 16 Type

Page 11: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved11

Resource APIs for non-CORBA “C” PSM

• Resource PIM Operations to Resource “C” PSM– initialize(): {raises = (InitializeError)}

• int initialize(void) -- returns int InitializeError – releaseObject(): {raises = (ReleaseError)}

• int releaseObject(void) -- returns int ReleaseError– start(): {raises = (StartError)}

• int start(void) -- returns int StartError– stop(): {raises = (StopError)}

• int stop(void) -- returns int StopError– configure(in configProperties: Properties) :

{raises=(InvalidConfiguration, PartialConfiguration)}• int configure(Properties configProperties, int

*nbconfigProp);

Page 12: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved12

Resource APIs for non-CORBA “C” PSM, cont’d

• Resource PIM Operations to Resource “C” PSM– query(inout configProperties: Properties): {raises =

(UnknownProperties)}• int query(Properties configProperties,

int *nbconfigProp);

– runTest(in testId:unsigned long, inout testValues:Properties):{raises=(UnknownTest, UnknownProperties)}

• int runTest(unsigned long testId, Properties testValues, int *nbtestValues);

– Return integer status indicates type of exception

Page 13: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved13

Resource Port APIs for non-CORBA “C” PSM

• Data Ports PIM to C language PSM mapping– PIM Operation

• pushPacket (in control : Properties, in payload : OctetSequence)

– Data In Port• int MWF_pushPacket(Properties control,

int nbctrl, unsigned long size, Uchar * buffer);– Data Out Port

• int MDM_pushPacket (Properties control, int nbctrl, unsigned long size, Uchar * buffer);

– Status Port• void signalError (short errorDetails);

Page 14: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved14

Abstraction Layer DSP OS APIs

• DSP Application Environment Profile (AEP) defines required Operation System (OS) APIs for DSP environments– Work in progress that is currently being evaluated for standardization through the

SCA

– Standards used in whole or partially • DSP AEP C Standard (ISO/IEC 9899:1990 - Partial• POSIX.1 (ISO/IEC 9945 -1):1997 - Partial• POSIX.1b (ISO/IEC 9945 -1):1997 - Partial• POSIX.1c (ISO/IEC 9945 -1):1997 – Partial

• Current AEP major units of functionality include– Semaphores– Timer support– Pthreads

Page 15: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved15

Abstraction LayerSW Radio APIs

• Common radio APIs– Provides common service definitions that are applicable for all applications – File services, OMG lightweight services (log, event, naming, etc.)– Operating system APIs (RT POSIX subset)

• Common layer APIs– Provides interfaces that cross-cut through facilities that correlate to layers– Protocol data unit, error control, flow control, measurement, QOS and stream facilities

• Physical layer APIs– Modem APIs include all digital signal processing elements required to convert bits into

symbols and vice versa– RF/IF APIs provide configuration and control of basic devices (e.g., antenna, amplifier) of

physical channel– I/O APIs Defines configuration properties for audio and serial facilities

Page 16: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved16

FPGA Portability

• Portability is keyed to the development methodology employed– All design components must be designed to be portable– Capability & potential demonstrated by IP-Cores for FPGAs

• Portability enhanced by tool & technology independence– Design languages allow for it (e.g., VHDL)

• Portability enhanced by levels of design abstraction– Abstract behavioral, synthesizable, and silicon-tied gate level– Fully parameterized models, protocols, interfaces (API) are required– Allows for free interchange, re-use of modules, quick reconfiguration, plug & play design, and rapid

prototyping

Test BenchTest BenchHDL Model

Clock GeneratorS and G

HDL ModelClock Generator

S and G

Test BenchTest BenchHDL Model

RAM I/OB, S and G

HDL ModelRAM I/O

B, S and G

Test BenchTest BenchHDL Model

EncoderB, S and G

HDL ModelEncoder

B, S and G

Test BenchTest BenchHDL ModelInterleaverB, S and G

HDL ModelInterleaverB, S and G

Test BenchTest BenchHDL ModelTRANSEC

S and G

HDL ModelTRANSEC

S and G

Test BenchTest BenchHDL ModelDemodulator

S and G

HDL ModelDemodulator

S and G

HDL Reuse Library – Test Bench and Model (Behavioral, Synthesizable and Gate)

FPGA 1 FPGA 2

Page 17: SW Radio Concepts for Signal Processing Environments€¦ · WF GPP Component Resource API WF DSP Component Device Driver Protocol Standard APIs Alternate path (GPP ⌦FPGA) Alternate

OMG SBC Workshop, Sept 2004Copyright © 2004, Raytheon

Company. All Rights Reserved17

References

• SCA – http://jtrs.army.mil/sections/technicalinformation/fset_te

chnical_sca.html• OMG SWRadio Submission

– http://www.omg.org/docs/dtc/04-05-04.pdf• SDRF

– http://www.sdrforum.org/index.html