40
1 Monday 15 February 2010 Edoardo , KTH OSSIE and SCA Waveform Development Open-Source SCA Implementation-Embedded and Software Communications Architecture OSSIE and SCA Waveform Development Edoardo Paone

OSSIE and SCA Waveform Development

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OSSIE and SCA Waveform Development

1Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Open-Source SCA Implementation-Embeddedand

Software Communications Architecture

OSSIE and SCA Waveform Development

Edoardo Paone

Page 2: OSSIE and SCA Waveform Development

2Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

The thesis project

Develop a OSSIE waveform based on IEEE 802.15.4:

• Understand SCA and the OSSIE waveform development

• Analyze the IEEE 802.15.4 standard protocol

• Import GNU Radio libraries into OSSIE components

• Implement a RX/TX waveform prototype using the USRP

• Evaluate the OSSIE waveform development tools and process

Page 3: OSSIE and SCA Waveform Development

3Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SDR – Software Defined Radio

Page 4: OSSIE and SCA Waveform Development

4Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SoftModem

• modem with minimal hardware

• it uses host computer’s resources instead of dedicated hardware

• easier upgrades to new modem standards

• reduction in production costs, component size and weight

Page 5: OSSIE and SCA Waveform Development

5Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SCA Waveform Development

• Abstraction of underlying hardware and sofware

– platform independence, portability of applications

– reuse of waveform design modules

• CORBA for intercomponent communication

– component implementation in different languages

– distributed waveform (TCP transport rule)

Page 6: OSSIE and SCA Waveform Development

6Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SCA – Abstraction layers

Page 7: OSSIE and SCA Waveform Development

7Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Universal Software Radio Peripheral (USRP)

Materials for the thesis project:

• A personal computer(dualcore processor, 2 GB RAM)

• Ubuntu Linux 8.04

• GNU Radio 3.2.2

• OSSIE 0.7.4

• 2 USRPs

• Eclipse

Page 8: OSSIE and SCA Waveform Development

8Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE project

• Open-Source SCA-based Implementation – Embedded (OSSIE)

• Developed at Wireless@Virginia Tech (Blacksburg, VA)

• Professor-in-charge: Dr. Jeffrey H. Reed

• Source code, documentation, tutorials available at:

http://ossie.wireless.vt.edu

Page 9: OSSIE and SCA Waveform Development

9Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE distribution

• Latest version: OSSIE 0.8.0 (released in January 2010)

• It can be installed on PCs running Linux(or in a virtual machine on Windows)

• The OSSIE package includes:

– The Core Framework (CF)– The OSSIE Eclipse Feature (OEF)– A set of tools for waveform development– A component library

Page 10: OSSIE and SCA Waveform Development

10Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Core Framework

• written in C++ using the omniORB CORBA ORB (open source)

• implements key elements of the SCA specification

• CORBA transport rules define inter-component communication:

– TCP/IP, for distributed waveforms– Unix domain sockets

P. Balister, et al., “Impact of the use of CORBA for Inter-Component Communication in SCA Based Radio”, Nov 2006

T. Tsou, et al., "Latency Profiling for SCA Software Radio", Nov 2007

Page 11: OSSIE and SCA Waveform Development

11Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

Page 12: OSSIE and SCA Waveform Development

12Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

• C++ or Python implementation

• Standard Interfaces:basic real and complex data representations in 8, 16,

and 32 bit sizes passed in the form of CORBA sequences

• Custom Interfaces:can be defined using Interface Description Language

(IDL) and compiled with the IDL compiler

Page 13: OSSIE and SCA Waveform Development

13Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

• Data buffering:effectively decouples the CORBA call sequence from

signal processing code

Page 14: OSSIE and SCA Waveform Development

14Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform

Page 15: OSSIE and SCA Waveform Development

15Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform

• Drag-and-drop of component library, graphical tools for interconnecting components

• Waveform XML representation generated by the OEF:

– List of components– Configuration of components– Component interconnections– Target deployment node

Page 16: OSSIE and SCA Waveform Development

16Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform <connections> <connectinterface id="DCE:e1aa5d66-824a-11dc-adea-00123f63025f"> <providesport> <providesidentifier>samples_in</providesidentifier> <findby> <namingservice name="ChannelDemo1"/> </findby> </providesport> <usesport> <usesidentifier>symbols_out</usesidentifier> <findby> <namingservice name="TxDemo1"/> </findby> </usesport> </connectinterface> <connectinterface id="DCE:e1ad7154-824a-11dc-85b0-00123f63025f"> <providesport> <providesidentifier>symbols_in</providesidentifier> <findby> <namingservice name="RxDemo1"/> </findby> </providesport> <usesport> <usesidentifier>samples_out</usesidentifier> <findby> <namingservice name="ChannelDemo1"/> </findby> </usesport> </connectinterface> </connections>

Page 17: OSSIE and SCA Waveform Development

17Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

IEEE 802.15.4

• MCPS = MAC common part sublayer

• MCPS-SAP = MCPS service access point

• MLME = MAC layer management entity

• MLME-SAP = MLME service access point

• PD = PHY data

• PLME = PHY layer management entity

• SSCS = service-specific convergence sublayer

• LLC = logical link control

Page 18: OSSIE and SCA Waveform Development

18Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Custom Interfaces - IDL

Page 19: OSSIE and SCA Waveform Development

19Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

#include "ossie/PortTypes.idl"

module customInterfaces{

/* link layer SAP for mac layer */interface sap_mac_to_link{

    void macpsData_confirm(     in octet msduHandle,                                in octet status,                                in unsigned long Timestamp     );

    void mcpsData_indication(   in octet SrcAddrMode,                                in unsigned short SrcPANId,                                in unsigned long long SrcAddr,                                in octet DstAddrMode,                                in unsigned short DstPANId,                                in unsigned long long DstAddr,                                in octet msduLength,                                in PortTypes::CharSequence msdu,                                in octet msduLinkQuality,                                in octet DSN,                                in unsigned long Timestamp,                                in octet SecurityLevel,                                in octet KeyIdMode,                                in unsigned long long KeySource,                                in octet KeyIndex              );};};

Custom Interfaces - IDL

Page 20: OSSIE and SCA Waveform Development

20Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Component Structure

Page 21: OSSIE and SCA Waveform Development

21Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

PHY layer

Page 22: OSSIE and SCA Waveform Development

22Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MAC - Simulation

MAC 1 MAC 2

TEST OUTPUTOBSERVER

TEST INPUTGENERATOR

TESTCOMPONENT

TEST WAVEFORMsap

_mac_to

_ph

y

sap

_ph

y_ t

o_ m

ac

Page 23: OSSIE and SCA Waveform Development

23Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

PHY - Simulation

MAC 2

TEST OUTPUTOBSERVER

TEST INPUTGENERATOR

TESTCOMPONENT

TEST WAVEFORM

MAC 1

realC

harPHY 1 PHY 2

realC

har

Page 24: OSSIE and SCA Waveform Development

24Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – GNU Radio solution

MAC PHY

MODEM_USRP

USRP

Page 25: OSSIE and SCA Waveform Development

25Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

UCLA Zigbee PHY

GNU Radio implementation of the IEEE 802.15.4 physical layer.

Page 26: OSSIE and SCA Waveform Development

26Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP WorkModule

Page 27: OSSIE and SCA Waveform Development

27Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP component

Page 28: OSSIE and SCA Waveform Development

28Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – GNU Radio solution

MAC PHY MODEM_USRP

GPP device USRP device

Waveform Development

SCA platform

TCP/IP

USRP

OS / HW

GPP

Memory

Page 29: OSSIE and SCA Waveform Development

29Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – OSSIE solution

MAC PHY MODEM

GPP device USRP device

Waveform Development

SCA platform

TCP/IP

USRP

OS / HW

GPP

Memory

Page 30: OSSIE and SCA Waveform Development

30Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – OSSIE solution

MAC PHYMODULATOR

USR

P

DEMODULATOR

Page 31: OSSIE and SCA Waveform Development

31Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODULATOR component

• Python implementation

• mylib.symbol_sink

•     ieee802_15_4_mod

• input/output buffers

Page 32: OSSIE and SCA Waveform Development

32Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

DEMODULATOR component

• C++ implementation

• fm_demodulation.h

•     symbol_source.h

•     input/output buffers

Page 33: OSSIE and SCA Waveform Development

33Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Waveform Simulation

• all components deployed on the GPP (no USRP)

• radio channel simulated by the channel component

• test case implemented in the TEST component

Page 34: OSSIE and SCA Waveform Development

34Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

The target waveform

Two configurations:

• a chat application

• a TUN/TAP interface

CHAT MAC PHYMODEMUSRP

TUN/TAP MAC PHYMODEMUSRP

Page 35: OSSIE and SCA Waveform Development

35Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

GNU Radio vs. OSSIEGNU Radio OSSIE

Waveform structure:● the top_module class represents a container for the flowgraph● the flowgraph is then implemented as a single thread

● defined in the XML descriptor files and instanciated at runtime● one or more threads for each component

Component interconnections:● defined in the source code with the connect() method● functional de­composition and hierarchical structure

● defined in the XML descriptor files and instanciated at runtime● functional composition but flat structure

Data transfer:● if data is available in the input buffer, the top_module calls the work method● synchronization and scheduling tecniques

● performed by CORBA calls, data is temporarely stored in input/output buffers● no synchronization between components, independent threads

Page 36: OSSIE and SCA Waveform Development

36Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Measurements

GNU Radio OSSIE

Average data transfer size 12.5 KB 16 KB

Average data transfer delay

1.5 ms 1 ms

Average input data rate 8 MB/s 15.4 MB/s

USRP:• ADC sample rate: 64 Msps• Decimation factor: 16• Output sample rate: 4 Msps• Theoretical limit USB 2.0: 8 Msps

Page 37: OSSIE and SCA Waveform Development

37Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

USRP – Data transfer delay

1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 974 10 16 22 28 34 40 46 52 58 64 70 76 82 88 94 100

103106

109112

115118

121124

127130

133136

139142

145148

151154

157160

163166

169172

175178

181184

187190

193196

199

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

20000

Delay between successive read operations from the USRP

OSSIE

GNU Radio

Experiment number

Dat

a tra

nsfe

r del

ay (m

icro

seco

nds)

Page 38: OSSIE and SCA Waveform Development

38Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

USRP – Data transfer size

13

57

911

1315

1719

2123

2527

2931

3335

3739

4143

4547

4951

5355

5759

6163

6567

6971

7375

7779

8183

8587

8991

9395

9799

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

Sixe of data read from the USRP

GNU Radio

OSSIE

Experiment number

Dat

a tra

nsfe

r siz

e (b

ytes

)

Page 39: OSSIE and SCA Waveform Development

39Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Results

• GNU Radio:– Adaptive scheduling– Variable data rate– Data transfer synchronization

• OSSIE:– Independent scheduling for each component– Constant data rate– No synchronization between components

Page 40: OSSIE and SCA Waveform Development

40Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Thank you for your attention

Acknowledgements