• No results found

Embedded Linux RADAR device

N/A
N/A
Protected

Academic year: 2021

Share "Embedded Linux RADAR device"

Copied!
27
0
0

Loading.... (view fulltext now)

Full text

(1)

Embedded Linux Conference Europe 2012 (Barcelona - November 5-7)

Embedded Linux RADAR device

Taking advantage on Linaro tools and HTML5 AJAX real-time visualization

Agustí FONTQUERNI GORCHS

[email protected] www.isee.biz

(2)

ELCE 2012: Embedded Linux RADAR device

2/27

 Introduction

 Highlights

 A/D Converter access

 Optimization programming techniques

 Optimization from compilers

 HTML5 + AJAX

 Developing time / costs

 Demo

 Future

 Summary

OVERVIEW

(3)

ELCE 2012: Embedded Linux RADAR device

3/27

 hardware

 IGEPv2 board + IGEP Radar sensor

INTRODUCTION

(4)

ELCE 2012: Embedded Linux RADAR device

4/27

 hardware

 IGEPv2 board

 TI DM3730 processor

 ARM Cortex A8 core at 1GHz

Processor : ARMv7 Processor rev 2 (v7l)

 BogoMIPS : 996.74

 DSP C64x+ core at 800Mhz

 GPIO expansion J990 connector (BeagleBoard connector)

 SPI bus

 Input/output digital control lines

 5 Vcc Power

INTRODUCTION

(5)

ELCE 2012: Embedded Linux RADAR device

5/27

INTRODUCTION

 hardware

 IGEP Radar sensor

 Antenna

 RF Transmitter

 RF Receiver

 SPI DDS

 SPI A/D Converter

 PLL

 IF Filter

 I/O control lines

(6)

ELCE 2012: Embedded Linux RADAR device

6/27

 radar: (quick) FMCW Radar technology

 FMCW: Frequency Modulation Constant Wave

 Modulation from 24,0 Ghz to 24,25 Ghz (ISM K-Band)

INTRODUCTION

(7)

ELCE 2012: Embedded Linux RADAR device

7/27

 radar: (quick) FMCW Radar technology

 diff frequency = measured distance

 balance between accuracy and latency/refresh measure

INTRODUCTION

(8)

ELCE 2012: Embedded Linux RADAR device

8/27

 radar: (quick) FMCW Radar technology

 it searches for positions of peaks of FFT in IF (Intermediate Frequency) signal that is proportional to distance measures

INTRODUCTION

Person 1 Person 2

2 persons=2 signals

(9)

ELCE 2012: Embedded Linux RADAR device

9/27

 software

 Linux kernel 2.6.37

 Based on TI BSP with 2.6.37 kernel fork

 The last for OMAP3 (dead line NOT ported to mainline)

 with A LOT OF patches…

 from 2.6.37 official branch (kernel.org)

 from ISEE to support IGEP devices (git.isee.biz)

 Roofs based on Poky 7.0.0 distribution and compiled with Yocto1.2 infrastructure

 Specific radar application is developed on standard C-code

INTRODUCTION

(10)

ELCE 2012: Embedded Linux RADAR device

10/27

 hwmon infrastructure

 comedy infrastructure

 spidev infrastructure (userspace / omapspi DMA transfer )

 omapspi host driver patch (CS mode configuration)

HIGHLIGHTS: A/D Converter access

(11)

ELCE 2012: Embedded Linux RADAR device

11/27

Linux kernel module for configuration of ADC121S101 spi-device A/D converter from user-space (opposite to igep00x0-board.c file)

HIGHLIGHTS: A/D Converter access

(12)

ELCE 2012: Embedded Linux RADAR device

12/27

HIGHLIGHTS: A/D Converter access

(13)

ELCE 2012: Embedded Linux RADAR device

13/27

 Debugging time bottlenecks

 timeline marks

 gettimeofday ()

 detection of the heaviest computing functions

 Fast Fourier Transform (FFT) calculation

 Data movements

 Loops

 detection of delay device response

 acquisition time delay (A/D Converter wave data)

 network TCP request and data response transfers

HIGHLIGHTS: Optimization programming techniques

(14)

ELCE 2012: Embedded Linux RADAR device

14/27

 Paralleling processes ( acquisition / processing / output data )

HIGHLIGHTS: Optimization programming techniques

ADC Acquistion [n] (7 ms) Signal Processing

[n] (9 ms) Output data

[n] (2 ms)

ADC Acquistion [n] (7 ms)

Signal Processing [n] (9 ms)

Output data [n] (2 ms) ADC Acquistion

[n+1] (7 ms)

Signal Processing [n+1] (9 ms) ADC Acquistion

[n+2] (7 ms)

Output data [n+1] (2 ms) Signal Processing

[n+2] (9 ms) ADC Acquistion

[n+3] (7 ms)

time cycle: 18 ms time cycle: 9 ms SAVE -50% !!!

Secuencial (1 threads)

(only one thread: ARM CPU)

Parallel processes (3 threads)

(thread 1: DMA transfer / thread 2: ARM CPU / thread 3: remote network web browser)

ADC Acquistion [n+1] (7 ms)

(15)

ELCE 2012: Embedded Linux RADAR device

15/27

 HTML5 data visualization: CGI vs ‘Reverse Proxypass‘

 The critical data path ( JSON Data for AJAX HTTP_Request)

HIGHLIGHTS: Optimization programming techniques

Web browser

(AJAX)

Web server

CGI (radar client)

Radar application

Web browser

(AJAX)

Radar application

Web server

(16)

ELCE 2012: Embedded Linux RADAR device

16/27

 GCC 4.3.3 (poky 3.3.1)

 GCC 4.6.4 (yocto 1.2 / poky 7.0.0)

 GCC 4.5 (from www.linaro.org)

 optimization GCC flags

http://www.linaro.org/linaro-blog/2011/10/25/compiler-flags-used- to-speed-up-linaro-android-2011-10-and-future-optimizations/

-march=armv7-a -mtune=cortex-a8 -mfpu=neon

-mfloat-abi=softfp

HIGHLIGHTS: Optimization from compilers

(17)

ELCE 2012: Embedded Linux RADAR device

17/27

 Comparative of compilers ( binary size + radar process time)

HIGHLIGHTS: Optimization from compilers

COMPILER BINARY SIZE EXECUTION TIME GCC 4.3.3

(poky 3.3.1) 212.0 KB 19 ms

GCC 4.6.4

(poky 7.0.0) 216.5 KB 9 ms

GCC 4.6

(www.linaro.org) 209.0 KB 9 ms

SAVE -53% !!!

(18)

ELCE 2012: Embedded Linux RADAR device

18/27

 Gnuplot ‘png image output’ (NO HTML5)

 Gnuplot ‘canvas output’

 flop (jQuery extension) – a Javascript plot library

 Canvas HTML5 + AJAX

HIGHLIGHTS: HTML5 + AJAX Visualization

(19)

ELCE 2012: Embedded Linux RADAR device

19/27

Gnuplot canvas - http://gnuplot.sourceforge.net/demo_canvas/

HIGHLIGHTS: HTML5 + AJAX Visualization

(20)

ELCE 2012: Embedded Linux RADAR device

20/27

 Flop (jQuery extension) - http://www.flotcharts.org/

HIGHLIGHTS: HTML5 + AJAX Visualization

(21)

ELCE 2012: Embedded Linux RADAR device

21/27

raw Canvas HTML5 + AJAX - http://www.w3schools.com/ajax/

- https://developer.mozilla.org/docs/Canvas_tutorial/

HIGHLIGHTS: HTML5 + AJAX Visualization

(22)

ELCE 2012: Embedded Linux RADAR device

22/27

 Directly C-code implementation from developer

 Signal processing model is reimplemented by developer

 Too much time (slow)

 Poor accuracy in comparison to model

 Knowledge about radar signal processing is needed

 Automated generation of C-code

 Signal processing model tool generates C-code

 The fastest way

 Optimization depends on synthesizers and compiler tools

No specific hardware layout for DM3730

 Poor Linux infrastructure for TI C64x+ DSP core

HIGHLIGHTS: Developing /time costs

(23)

ELCE 2012: Embedded Linux RADAR device

23/27

 IGEP v2 board (with DM3730 at 1 GHz )

 IGEP RADAR sensor

 HTML5 web browser running on Smartphone or Tablet

DEMO

(24)

ELCE 2012: Embedded Linux RADAR device

24/27

 DSP (DM3730 built-in TI C64x+ DSP core)

 FFT Processing

 ADC direct acquisition (change to McBSP interface)

 NEON coprocessor extension on ARM

 libfftw3 support

 memcpy optimizations

 Improve HTML5 web page

 functionality

 style / design

FUTURE

(25)

ELCE 2012: Embedded Linux RADAR device

25/27

 Device based on Cortex A8 at 1GHz, Linux kernel 2.6.37 and poky

 Difficulties

 Use built-in DSP core for poor software infrastructure in Linux

 Too much developing time to take advantage of specific hardware and advanced software libraries

SUMMARY (1/2)

(26)

ELCE 2012: Embedded Linux RADAR device

26/27

 Goals

 Implemented software radar signal processing (FFT,…) without expensive hardware acceleration (like traditional FPGA integrated circuits). Automated C-code generation from radar model.

 ARM architecture and a few electronic devices get an energy- efficient radar

SUMMARY (2/2)

(27)

References

Related documents

First of all, the limited memory and the limited computational power of the sensor nodes have to be considered, when using certain security algorithms on the network layer.. Most of

Even in the district with the lowest share of subprime loans, Representative Sara Gelser’s House District 16, one in eight residents who took out a home loan in 2006 (13.0

I have acknowledged above that the notion of the category is inherently problematic, so I need to be explicit about the fact that this review is a work of construction, rather

It is found that (1) depending on the charger power and coverage, 19% (with AC Level 2 chargers and 20% charger network coverage) to 56% (with DC chargers and 100% charger

FedACH transmits the total of each batch that contains forward credit items (or total amount of forward credit items contained in a mixed batch) to ABMS for verification that funds

In view of the clear provisions of the rules referred to above, we do not agree with the submission of Counsel for the Petitioner that when, as in this case, an answer to the

Chassis Single chassis: Up to 512 (Brocade DCX) or 256 (Brocade DCX-4S) 8 Gbps (E, F, FL, M, EX) Fibre Channel ports using up to eight 16-, 32-, 48-, or 64-port Fibre Channel


 Another
suggestion
directly
related
to
academic
preparedness
focused
on