Exploring commodity hardware as a platform for embedded DSP development and deployment
If you use the Opera browser, press F11 for presentation mode.

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

-
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

-
Comfortable development platform
-
Commodity electronics - DSP devices
-
MIPS®
-
Development kit with MIPS processor = $1000's
-
Commodity device = $100
-
Requirement: device is configurable
Platform selction

-
ASUS WL-500g Premium
-
Linux
-
Development tools and software
-
Home networks
-
Personal purposes: MP3 player, internet radio
Microprocessor

-
Broadcom BCM4704
-
MIPS32® architecture with extended DSP ISA
-
32-bit
-
RISC
-
Licensed usage on chips
MIPS® DSP ASE

-
ASE = Application Specific Extension
-
Parallel data processing: SIMD (8/16/32)
-
Saturation arithmetic
-
Absolute value
-
Bit-reverse
-
etc.
Firmware

-
Default firmware: only web-based interface
-
Upgraded firmware: access to operating system
-
Upgrade: standard functionality in administration interface
Linux distributions

-
OpenWRT
-
Oleg Firmware
-
Koppel Firmware
-
...
Oleg Firmware

-
Communication with the router via Telnet
-
Command prompt
-
Install programs for comfortable work (
mc
,screen
,nano
, ...)
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

-
Driver for sound devices
-
USB sound-card
-
Acoustic signals digital processing
-
Speech recognition
Other possibilities

-
Web server
-
Apache + PHP + MySQL
-
Mail server + antispam tools
Information sources

-
Unofficial internet forums, tutorials
-
Primary information source: wl500g.info
-
Distribution root: www.nslu2-linux.org
Memory device possibilities

-
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

-
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

-
GNU GCC compiler
-
Direct usage of particular architecture special instructions
-
Algorithms optimization
-
DSP instruction set utilization
Approximate measurements

-
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

-
ASUS WL500g Premium = convenient plaform for DSP, speech recognition
-
Future: more detailed measurments with DSP instructions
-
Small, portable device
-
Low power
More information
-
Discussion phorum
-
Following results