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

Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

3Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SDR – Software Defined Radio

Page 4: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

6Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

SCA – Abstraction layers

Page 7: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

11Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Component

Page 12: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

14Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

OSSIE Waveform

Page 15: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

18Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Custom Interfaces - IDL

Page 19: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

20Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Component Structure

Page 21: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

21Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

PHY layer

Page 22: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

24Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – GNU Radio solution

MAC PHY

MODEM_USRP

USRP

Page 25: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

26Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP WorkModule

Page 27: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

27Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

MODEM_USRP component

Page 28: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

30Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

RX/TX path – OSSIE solution

MAC PHYMODULATOR

USR

P

DEMODULATOR

Page 31: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

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: Open-Source SCA Implementation-Embedded and Software ...maguire/paone_ossie_presentation-20100215.pdf · Open-Source SCA Implementation-Embedded and Software Communications Architecture

40Monday 15 February 2010

Edoardo , KTHOSSIE and

SCA Waveform Development

Thank you for your attention

Acknowledgements