21.11.2008, author: Ing. Robert Krejci, category: Digital Signal Processing

Exploring commodity hardware as a platform for embedded DSP development and deployment

Presentation on international conference Digital Technologies 2008

If you use the Opera browser, press F11 for presentation mode.

Logo: Czech Technical University in Prague

Ing. Robert Krejčí
Czech Technical University in Prague
Faculty of Electrical Engineering
Department of Circuit Theory

Digital Technologies 2008 - International Workshop, 5th International Workshop on digital technologies, circuits, systems and signal processing

November 20-21 2008, Zilina, Slovakia

Motivation

DSP
  • Practical method how to develop and implement cost-effective solutions

  • Simple DSP

  • Connectivity

  • Continuous operating

  • Result: Suitable hardware platform for speech recognition algorithms testing and optimization

Architecture selection

Logo MIPS®
  • Comfortable development platform

  • Commodity electronics - DSP devices

  • MIPS®

  • Development kit with MIPS processor = $1000's

  • Commodity device = $100

  • Requirement: device is configurable

Platform selction

Router WL-500g Premium
  • ASUS WL-500g Premium

  • Linux

  • Development tools and software

  • Home networks

  • Personal purposes: MP3 player, internet radio

Microprocessor

Broadcom BCM4704 structure
  • Broadcom BCM4704

  • MIPS32® architecture with extended DSP ISA

  • 32-bit

  • RISC

  • Licensed usage on chips

MIPS® DSP ASE

MIPS® DSP ASE
  • ASE = Application Specific Extension

  • Parallel data processing: SIMD (8/16/32)

  • Saturation arithmetic

  • Absolute value

  • Bit-reverse

  • etc.

Firmware

Router web administration interface
  • Default firmware: only web-based interface

  • Upgraded firmware: access to operating system

  • Upgrade: standard functionality in administration interface

Linux distributions

Logo OpenWrt
  • OpenWRT

  • Oleg Firmware

  • Koppel Firmware

  • ...

Oleg Firmware

Putty terminal
  • Communication with the router via Telnet

  • Command prompt

  • Install programs for comfortable work (mc, screen, nano, ...)

USB ports

Rear side of router with 2 USB ports
  • (5 Ethernet ports, WiFi)

  • 2 USB ports:

  • Memory card / disk => FTP server

  • Web camera => security device, multimedia server

  • Print server

  • Bluetooth

Sound-card

USB sound-card
  • Driver for sound devices

  • USB sound-card

  • Acoustic signals digital processing

  • Speech recognition

Other possibilities

Administration tool phpMyAdmin
  • Web server

  • Apache + PHP + MySQL

  • Mail server + antispam tools

Information sources

Discussion phorum wl500g.info - primary information source

Memory device possibilities

Soldered extern USB memory device
  • Additional memory is necessary

  • Full-speed 4-port USB 2.0 driver

  • 2 external connectors

  • Solder 2 internal devices directly to the circuit pads

Compilation tools

Testing program Hello, World!
  • Compile own Linux core

  • Cross-compilation for the target MIPS platform

  • Install additional libraries of GCC

  • Out-of-date information on the web!

C intrinsics

Processor BCM4704kpbg with MIPS core and extended DSP ISA
  • GNU GCC compiler

  • Direct usage of particular architecture special instructions

  • Algorithms optimization

  • DSP instruction set utilization

Approximate measurements

Approximate measurements of simple DSP tasks
  • Approximate measurements of simple DSP tasks

  • ∑(1 , 1 000 000) ... 470 ms

  • a[0 .. 100 000] = rand();
    b[0 .. 100 000] = rand();

    ... 120 ms

  • FIR, MAC: c = ∑(a[0 .. 100 000] * b[0 .. 100 000]) ... 30 ms

Conclusion

Router is device much smaller than PC
  • ASUS WL500g Premium = convenient plaform for DSP, speech recognition

  • Future: more detailed measurments with DSP instructions

  • Small, portable device

  • Low power

More information

 
{e_like}
 
 
Nahoru