30.12.2012 Views

30°C Power On 12 to 36 watts - for fanless sealed system design ...

30°C Power On 12 to 36 watts - for fanless sealed system design ...

30°C Power On 12 to 36 watts - for fanless sealed system design ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Edi<strong>to</strong>rial<br />

Edi<strong>to</strong>r:<br />

Dick Selwood<br />

E-mail: ese@edaltd.co.uk<br />

Tel: 01962 853781<br />

Consulting Edi<strong>to</strong>r:<br />

Martin Whitbread<br />

E-mail: ese@edaltd.co.uk<br />

Managing Edi<strong>to</strong>r:<br />

Andrew Porter<br />

E-mail: ese@edaltd.co.uk<br />

Publisher:<br />

Martyn Day<br />

E-mail: ese@edaltd.co.uk<br />

Design Manager:<br />

Stuart Wilkes<br />

E-mail: stuart@edaltd.co.uk<br />

Production<br />

Production Manager:<br />

Dave Oswald<br />

E-mail: dave@edaltd.co.uk<br />

Advertising<br />

Advertisement Manager:<br />

Steve Banks<br />

E-mail: steve@edaltd.co.uk<br />

Financial Direc<strong>to</strong>r:<br />

Terry Wright<br />

E-mail: accounts@edaltd.co.uk<br />

Subscriptions<br />

Circulation Manager:<br />

Nicola Emms<br />

E-mail: nicola@edaltd.co.uk<br />

Free Subscriptions:<br />

Embedded System Engineering<br />

is available on free subscription<br />

<strong>to</strong> UK readers qualifying under<br />

the publisher’s terms of control.<br />

Paid Subscriptions:<br />

£15.00 per year (8 editions) in UK and Eire;<br />

£28.00 per year in Europe;<br />

£45.00 per year rest of world.<br />

See www.esemagazine.com/register/<br />

<strong>for</strong> details<br />

Origination<br />

ESE is published by:<br />

Electronic Design Au<strong>to</strong>mation Ltd,<br />

63/66 Hat<strong>to</strong>n Garden,<br />

London, EC1N 8SR.<br />

Tel: 020 7681 1000<br />

Fax: 020 7831 2057<br />

E-mail: ese@edaltd.co.uk<br />

ESE is printed by:<br />

The Magazine Printing Company<br />

© Electronic Design Au<strong>to</strong>mation Ltd<br />

Reproduction in whole or part without prior<br />

permission from the publisher is strictly<br />

prohibited.<br />

E D A<br />

PUBLICATIONS<br />

Embedded System Engineering<br />

January-February 2006<br />

Edi<strong>to</strong>rial<br />

Embedded Software: The Works 04<br />

Instead of an edi<strong>to</strong>rial, we review a new book.<br />

News<br />

Industry 06<br />

A new GNU GPL, an Aardcase with a Were-Rabbit and flash memory trends.<br />

Chips 08<br />

Chip news includes a multi-colour, single package LED, a Dolby virtual speaker and low<br />

resistance power MOSFETS.<br />

Tools 10<br />

Oscilloscopes, ARM development <strong>for</strong> universities, MILs and ARINC and industry-specific<br />

plat<strong>for</strong>ms are in the <strong>to</strong>ols news.<br />

Boards <strong>12</strong><br />

New board products include several CompactPCI SBCs, a mult -connection SoC module<br />

and sunlight readable LCDs.<br />

Application Focus: Consumer<br />

MP3 players 16<br />

Music database gets database software.<br />

MOST 18<br />

Intelligent network controllers.<br />

Buyer’s guide<br />

Eclipse <strong>for</strong> Embedded 19 - 33<br />

An overview of Eclipse and Eclipse <strong>to</strong>ols.<br />

Technical Focus: RTOS<br />

● Measuring real-time per<strong>for</strong>mance 34<br />

● Minimising interrupt response time <strong>36</strong><br />

● Application portability across RTOSs 38<br />

● The fourth RTOS 40<br />

● Integrating XP and real-time 42<br />

● MILS: High-assurance security at an af<strong>for</strong>dable cost 44<br />

Features<br />

● Continuous time delta sigma ADCs 46<br />

● Flash s<strong>to</strong>rage solutions 48<br />

Standards<br />

Standard or marketing document 50<br />

Our standard individual tries <strong>to</strong> disentangle international standards and marketing.<br />

Next Issue: Boards and modules, control and<br />

au<strong>to</strong>mation and a buyers guide <strong>to</strong> PC-104/Plus<br />

ESE Magazine Jan/Feb 06 <br />

03


ESE Magazine Jan/Feb 06<br />

04<br />

Embedded Software: The<br />

Works – by Colin Walls<br />

Martin Whitbread <br />

Eclipse perspectives:<br />

showing the different<br />

views of the <strong>system</strong><br />

#define RAM_SIZE 0x1000<br />

extern char RAM[RAM_SIZE];<br />

COLIN WALLS has produced a very valuable document<br />

in the his<strong>to</strong>ry of embedded <strong>system</strong> literature. Not a<br />

few books in the past have either been based on one academics<br />

limited experience or consist of an overview of<br />

the entire spectrum of products currently available. Neither of<br />

these is very useful <strong>to</strong> practitioners. The author here has constructed<br />

a document that is largely based on previously published<br />

papers that have been updated and linked in<strong>to</strong> a narrative,<br />

with some interesting asides. The in<strong>for</strong>mation comes<br />

across in an extremely useful <strong>for</strong>mat and although very occasionally<br />

some of the architectures mentioned might seem a little<br />

dated the actual technologies are very relevant.<br />

This book is not a “hard sell” <strong>for</strong> Accelerated Technology,<br />

where Colin Walls has worked <strong>for</strong> some time, but much more<br />

technical view of the whole field of embedded software. There is<br />

good stuff here, <strong>for</strong> electronic <strong>system</strong>s engineers faced with further<br />

involvement with software and <strong>for</strong> software engineers who<br />

are unlikely <strong>to</strong> have had the depth of experience that Colin has<br />

had. The <strong>to</strong>pics covered range from an excellent introduction,<br />

which includes memory architecture, software migration and<br />

even USB. Design and development follows, with the increasingly<br />

important Eclipse IDE (more on that later) and <strong>design</strong>ing with<br />

UML. This is followed by very useful sections on programming<br />

embedded <strong>system</strong>s, using C, C++ or an RTOS. Communications<br />

technologies are not neglected, the book finishes with<br />

Networking, including IPv6 and SNMP, and programmable logic.<br />

This book is accompanied by a CDROM containing text files<br />

of code and <strong>Power</strong> Point slides, <strong>for</strong> academic use. There are<br />

400 slides in all, quite enough <strong>for</strong> a program of teaching. As<br />

such it is a valuable resource <strong>for</strong> the few electronic engineering/embedded<br />

<strong>system</strong>s courses still running. As book, it is not a<br />

necessary, cover-<strong>to</strong>-cover read, the structure is such that you<br />

can dip in and out, by chapter or by section. The shear variety<br />

and range of the embedded <strong>system</strong>s industry, the different com-<br />

const char tests[] = { 0, 0xff, 0x55, 0xaa };<br />

int ramtest()<br />

{<br />

register int testnum, ramloc;<br />

register char save;<br />

}<br />

<strong>for</strong> (ramloc=0; ramloc


High-per<strong>for</strong>mance analog. Supercharged 8051.<br />

Small. Fast. Flexible.<br />

Complete Family of Mixed-Signal MCUs<br />

Silicon Labora<strong>to</strong>ries’ MCUs combine high-per<strong>for</strong>mance analog with the<br />

fastest 8-bit CPU (up <strong>to</strong> 100 MIPS) packaged as small as 3 x 3 mm.<br />

Programmable Flash and on-chip JTAG-based debug in each device<br />

provide complete <strong>design</strong> flexibility and superior <strong>system</strong> per<strong>for</strong>mance.<br />

Precision<br />

Mixed-Signal<br />

Small Form Fac<strong>to</strong>r<br />

USB<br />

CAN<br />

Interface Products<br />

Precision per<strong>for</strong>mance <strong>for</strong> high resolution analog <strong>system</strong>s<br />

Low power and small footprint with superior per<strong>for</strong>mance<br />

Integrated USB 2.0 function controller and on-chip transceiver<br />

Connectivity with integrated CAN 2.0 B controller<br />

Single-chip USB-<strong>to</strong>-UART bridge <strong>for</strong> RS-232 <strong>to</strong> USB<br />

USB and Industrial<br />

Connectivity Seminars:<br />

www.silabs.com/USBSeminars<br />

Product details: www.silabs.com/MCU<br />

MCUs TIMING POWER BROADCAST WIRELINE WIRELESS<br />

Buy <strong>On</strong>line<br />

www.silabs.com<br />

Comprehensive<br />

Development Kits<br />

• Software CD<br />

• Serial Adapter<br />

• Target Board<br />

• All Cables<br />

• <strong>Power</strong> Supply<br />

www.silabs.com


ESE Magazine Jan/Feb 06<br />

06<br />

Industry<br />

Wireless <strong>design</strong> contest<br />

LANTRONIX is offering £7,000 in prizes <strong>for</strong> the<br />

best wirelessly network-enabled machines or<br />

devices, using a Lantronix WiPort 802.11b wireless<br />

embedded device server. Winners will be<br />

announced at the 2006 Embedded Systems<br />

Conference.<br />

www.lantronix.com/info/wirelesscontest<br />

Cell <strong>to</strong> 32 nanometres<br />

IBM, Sony Corporation and Toshiba, the team<br />

behind the “Cell” microprocessor <strong>design</strong>, and its<br />

underlying SOI (silicon-on-insula<strong>to</strong>r) process technologies<br />

in 90 and 65 nanometre have begun a<br />

new, five-year phase of their joint technology development<br />

alliance. They plan <strong>to</strong> work <strong>to</strong>gether on fundamental<br />

research related <strong>to</strong> advanced process<br />

technologies at 32 nanometres and beyond.<br />

www.ibm.com/chips<br />

www.sony.net<br />

www.<strong>to</strong>shiba.co.jp/index.htm<br />

Multicore with T-Engine<br />

IGNIOS has demonstrated SystemWeaver integrated<br />

with a T-Engine. The SystemWeaver API<br />

allows application software <strong>to</strong> be written, via a T-<br />

Kernel adaptation layer, and compiled independently<br />

of the number of underlying processing<br />

resources. The SystemWeaver IP core then manages<br />

the dynamic run-time distribution of software<br />

across all available processing resources in a multicore<br />

Fujitsu MB87Q1100 device, delivering the<br />

full potential of the hardware <strong>to</strong> the application.<br />

www.ignios.com<br />

Multicore processor family<br />

P.A. Semi, a secretive start-up, has unveiled the<br />

PWRficient processor family. Based on the IBM<br />

<strong>Power</strong> Architecture the family is 64-bit, multicore<br />

and scalable. The first PWRficient processor, a<br />

dual-core chip running at 2GHz, dissipates 5-13<br />

<strong>watts</strong> (typical) depending upon the application.<br />

A modular architecture integrates cores, memory,<br />

south bridge, and high-speed I/O on<strong>to</strong> a single<br />

device. Target applications include high-per<strong>for</strong>mance<br />

computing, embedded datacom and telecom,<br />

s<strong>to</strong>rage, and embedded consumer applications.<br />

www.pasemi.com<br />

For a more detailed look at these s<strong>to</strong>ries please visit<br />

www.esemagazine.com<br />

Aardcase and the<br />

Were-Rabbit<br />

Part of the technology <strong>for</strong> creating<br />

“Wallace & Gromit: The Curse of the Were-<br />

Rabbit”, was Aardcase, a cus<strong>to</strong>m-developed<br />

computer. Capturing the images from<br />

up <strong>to</strong> 30 cameras directly <strong>to</strong> hard disc, it<br />

allows the anima<strong>to</strong>rs <strong>to</strong> check the minute<br />

changes made from one frame the next in<br />

real time.<br />

Aardcase is a single board based PC with a passive<br />

backplane in a ruggedised 6U 19” rack mount<br />

case. The <strong>system</strong> includes a video capture PCI card,<br />

an optical drive <strong>for</strong> s<strong>to</strong>ring captured film, and two<br />

hard drives: video is s<strong>to</strong>red on a high-per<strong>for</strong>mance<br />

SCSI drive while the operating <strong>system</strong> and software<br />

are held on a cost-effective ATA drive.<br />

www.sight<strong>system</strong>s.co.uk<br />

Flash memory<br />

Spansion, which floated on NASDAQ in<br />

December, is going <strong>for</strong> the NAND portion of<br />

the cell phone market with its 90nm<br />

MirrorBit ORNAND family.<br />

The first product is 1Gb with a NAND interface.<br />

ORNAND combines the pricing of traditional<br />

NAND solutions with the reliability and highread<br />

per<strong>for</strong>mance of NOR Flash memory.<br />

Spansion plans <strong>to</strong> deliver complete memory<br />

sub<strong>system</strong>s of up <strong>to</strong> 3 gigabits <strong>to</strong> its cus<strong>to</strong>mers<br />

GNU GPL revision<br />

THE FREE SOFTWARE Foundation and the<br />

Software Freedom Law Center are working<br />

on a revision of the GNU General Public<br />

License (GNU GPL). The first discussion draft<br />

was released <strong>for</strong> comment at the<br />

International Public Conference <strong>for</strong> GPLv3 at<br />

MIT on January 16 and 17, 2006.<br />

The last revision was more than 15 years<br />

ago and Gartner has predicted that by 2010<br />

more than 75 percent of IT organizations will<br />

have <strong>for</strong>mal acquisition and management<br />

this year that include MirrorBit NOR, MirrorBit<br />

ORNAND and random-access memory (RAM)<br />

from leading RAM providers in Multi-chip<br />

Packages and Package-on-Package. (POP), solutions<br />

with the reliability and high-read per<strong>for</strong>mance<br />

of NOR Flash memory.<br />

Meanwhile Renesas has announced that it<br />

will be dropping development of AG-AND flash<br />

memory chips with capacities of 8G bit and<br />

beyond. It will continue <strong>to</strong> supply cus<strong>to</strong>mers with<br />

existing flash memory products, mainly 1G bit<br />

and 4G bit products <strong>for</strong> applications, including<br />

flash cards <strong>for</strong> mobile and digital still cameras,<br />

and portable music players.<br />

Renesas also entered in<strong>to</strong> supply and strategic<br />

collaboration agreements with M-Systems, where<br />

Renesas will supply advanced multi-level cell<br />

(MLC), high- per<strong>for</strong>mance AG-AND flash memory,<br />

while M-Systems will contribute flash controllers<br />

and the TrueFFS flash management technology.<br />

www.spansion.com<br />

www.renesas.com<br />

www.m-<strong>system</strong>s.com<br />

2006 technology<br />

trends<br />

Technology Futures, Inc. (TFI) list of significant<br />

technology trends <strong>for</strong> 2006 includes<br />

the democratisation of the Internet and the<br />

increased penetration of global broadband<br />

coverage <strong>to</strong> expand the Internet even more.<br />

This will lead <strong>to</strong> a greater threat <strong>to</strong> security and<br />

privacy extending <strong>to</strong> mobile devices and device-<strong>to</strong>device<br />

networks. The digital home is entering the<br />

next level of acceptance, with the expansion of the<br />

electronic gaming and MP3 marketplace being a<br />

major driver. Public relations and marketing expenditures<br />

and projects will continue their shift <strong>to</strong> the<br />

public networks and the timeframe of the product<br />

life-cycle continues <strong>to</strong> decrease.<br />

www.tfi.com<br />

strategies<br />

dealing with<br />

Free Software.<br />

Publication of<br />

the second discussion<br />

draft is expected<br />

by summer 2006 and<br />

the final GPLv3 license is<br />

expected no later than spring 2007.<br />

http://gplv3.fsf.org


“The QNX Neutrino<br />

microkernel OS has<br />

the perfect DNA <strong>for</strong><br />

multi-core processors”<br />

Dan Dodge. QNX CEO & CTO.<br />

Pioneer in distributed and multiprocessor computing.<br />

Introducing the QNX ® Momentics ® development suite<br />

Multi-Core Edition, the industry’s most comprehensive<br />

software plat<strong>for</strong>m <strong>for</strong> multi-core <strong>system</strong>s. <strong>Power</strong>ed by the<br />

massively scalable QNX Neutrino ® RTOS, this fully integrated<br />

solution supports AMP, SMP, and BMP, a groundbreaking<br />

technology that simplifies code migration and future-proofs<br />

your <strong>design</strong>s <strong>for</strong> quad-core and beyond. It’s the latest<br />

innovation from QNX Software Systems, the undisputed<br />

leader in multiprocessing technology.<br />

Maximum Choice <strong>for</strong> Multi-Core<br />

<strong>On</strong>ly QNX gives you the power <strong>to</strong> choose the best multiprocessing<br />

model <strong>for</strong> your multi-core <strong>design</strong>:<br />

Seamless resource sharing<br />

SMP BMP AMP<br />

Scalable beyond dual-core Limited<br />

Mixed OS environment<br />

Dedicated processor by function<br />

Inter-core messaging Fast Fast Slower<br />

Thread synchronization between cores<br />

Dynamic load balancing<br />

System-wide debug & optimization<br />

(OS primitives) (OS primitives) (application)<br />

Discover how Dan and the QNX team deliver the shortest<br />

migration path <strong>to</strong> multi-core. Call 1 800 676 0566 or<br />

visit www.qnx.com/innovate.<br />

QNX, Momentics, and Neutrino are trademarks or registered trademarks of QNX Software Systems GmbH & Co. KG and are used under<br />

license by QNX Software Systems International Corporation. All other trademarks belong <strong>to</strong> their respective owners. 301789 MC339.08<br />

QNX Unlocks the <strong>Power</strong> of Multi-Core<br />

Maximize per<strong>for</strong>mance. Eliminate complexity.<br />

Accelerate migration. <strong>On</strong>ly QNX offers:<br />

■ Asymmetric Multiprocessing (AMP) <strong>for</strong> full<br />

developer control and fault <strong>to</strong>lerance<br />

■ Symmetric Multiprocessing (SMP) <strong>for</strong> maximum<br />

concurrency and scalability<br />

■ Bound Multiprocessing (BMP) <strong>for</strong> the fastest<br />

code migration and minimum <strong>design</strong> complexity<br />

■ Transparent Inter-Processor Communication<br />

(TIPC) pro<strong>to</strong>col <strong>for</strong> seamless Linux connectivity<br />

■ System tracing <strong>to</strong>ols <strong>for</strong> fast debugging and<br />

optimization of multi-core applications<br />

■ Off-the-shelf BSPs <strong>for</strong> multi-core plat<strong>for</strong>ms based<br />

on MIPS ® , <strong>Power</strong>PC ® , and x86 architectures


ESE Magazine Jan/Feb 06<br />

08<br />

Chips<br />

Single chip MPEG4<br />

& JPEG Codec<br />

INTIME has announced<br />

the IME6500 single chip<br />

MPEG4-ASPL5/JPEG<br />

encoder and decoder. It has<br />

full TV resolution per<strong>for</strong>mance<br />

with lowest bit rate<br />

compression using multiple programmable filters.<br />

With a footprint of 17mm x 17mm and active<br />

power consumption of 300mW, the IME6500 is<br />

<strong>design</strong>ed <strong>for</strong> consumer PVR, security, machine<br />

vision, medical equipment and CCTV markets.<br />

There are two reference <strong>design</strong>s available, a<br />

4-channel PCI interface module and a standalone<br />

4 channel digital video recorder.<br />

www.zilica.com<br />

65NM FPGAs<br />

XILINX is developing 65nm generation FPGAs<br />

with two existing foundry partners, Toshiba and<br />

UMC. In both cases the partnerships have seen<br />

pro<strong>to</strong>type wafers with programmable logic circuitries<br />

and are exploring the possibilities of 45nm.<br />

www.<strong>to</strong>shiba.co.jp/index.htm<br />

www.xilinx.com<br />

www.umc.com<br />

883B FPGAS<br />

ACTEL has fully qualified MIL-STD 883B flashbased<br />

FPGAs. The ProASIC Plus B Flow family has<br />

qualified <strong>for</strong> use in high-reliability defence applications,<br />

such as military avionics and weapons<br />

<strong>system</strong>s. There are three devices ranging in density<br />

from 300,000 <strong>to</strong> 1-million <strong>system</strong> gates.<br />

www.actel.com<br />

FlexRay controllers<br />

FREESCALE is offering both integrated and<br />

stand-alone FlexRay controllers – the<br />

MC9S<strong>12</strong>XFR and MFR4300 – based on the latest<br />

FlexRay version 2.1 pro<strong>to</strong>col. The MC9S<strong>12</strong>XFR<br />

integrates a FlexRay module with the 16-bit S<strong>12</strong>X<br />

core. The devices are intended <strong>for</strong> chassis control,<br />

body electronics and power train applications.<br />

www.freescale.com/flexray<br />

For a more detailed look at these s<strong>to</strong>ries please visit<br />

www.esemagazine.com<br />

Analogue front<br />

end <strong>for</strong> wireless<br />

authentication<br />

Microchip has announced a stand-alone,<br />

analog front end device <strong>for</strong> smart, low frequency<br />

(<strong>12</strong>5kHz typical) sense-and-response<br />

applications such as hands-free access <strong>to</strong><br />

vehicles or homes, low frequency sensor<br />

commands in tire pressure moni<strong>to</strong>rs and<br />

other wireless authentication applications.<br />

The MCP2030 AFE can be used alongside any<br />

Microchip’s PICs <strong>for</strong> passive access, intelligent<br />

transponder and smart sensing applications.<br />

Adjustable input sensitivity is 3 mVpp typical,<br />

modulation depth sensitivity options go <strong>to</strong> 8 percent<br />

and there are 3 input channels <strong>for</strong> reliable 3axis<br />

reception. Each channel of the AFE function is<br />

dynamically tuneable via the device’s SPI interface.<br />

An intelligent wake-up filter extends battery life.<br />

www.microchip.com<br />

<strong>Power</strong> MOSFETs<br />

Seventeen new power MOSFETs with onresistance<br />

values down <strong>to</strong> 3.7 milliohms in<br />

compact <strong>Power</strong>PAK <strong>12</strong><strong>12</strong>-8 package have<br />

been released by Vishay.<br />

These TrenchFET Gen II are 3.3 mm by 3.3 mm<br />

by 1 mm with thermal resistance of 2° C per watt<br />

and are <strong>for</strong> synchronous rectification, synchro-<br />

Dolby virtual speaker<br />

MICRONAS’ new Multistandard Audio<br />

Processor family contains Dolby Virtual Speaker<br />

technology <strong>to</strong> provide surround sound from any<br />

audio source, whether stereo or 5.1 channels.<br />

The MSP-M/MAP-M are all-in-one TV<br />

audio processors, with both Dolby Virtual<br />

Speaker and Dolby Pro Logic II technologies.<br />

Designed <strong>for</strong> mid-range <strong>to</strong> high-end televisions,<br />

the chips can be included in flat-panel,<br />

projection or traditional CRT TVs.<br />

Dolby Virtual Speaker uses room-modelling<br />

techniques <strong>to</strong> create the illusion of five<br />

nous buck, and intermediate switching applications<br />

in point-of-load (POL) converters and highdensity<br />

dc-<strong>to</strong>-dc converters.<br />

The <strong>12</strong>-V through 40-V single n-channel<br />

devices have on-resistance values ranging from<br />

3.7 milliohms <strong>to</strong> 10 milliohms at a 4.5-V gate<br />

drive and dual n-channel devices have on-resistance<br />

values down <strong>to</strong> <strong>36</strong> milliohms. Single-channel<br />

60-V devices have on-resistance values ranging<br />

from 135 milliohms <strong>to</strong> 435 milliohms at a 10-<br />

V gate drive.<br />

www.vishay.com<br />

Single package<br />

all-colour LED<br />

The programmable ACULED all-colour LED<br />

from PerkinElmer has three primary-coloured<br />

LEDs in a single package and can be programmed<br />

<strong>to</strong> display a wide variety of colours.<br />

Each LED has a separate anode and cathode<br />

and they are closely aligned <strong>for</strong> good quality<br />

white mix. A Lambertian emission ensures a<br />

homogenous optical luminance profile.<br />

It is <strong>for</strong> use in applications such as architectural,<br />

stage and au<strong>to</strong>motive lighting. Operating<br />

and s<strong>to</strong>rage temperature is from -40 <strong>to</strong> +100ºC<br />

<strong>for</strong> both indoor and outdoor use and an evaluation<br />

kit is available.<br />

www.pacer-components.co.uk<br />

speakers from two, particularly useful <strong>for</strong><br />

flat-screen TVs.<br />

www.micronas.com


AEC-6810<br />

Perfect Fac<strong>to</strong>ry/Building Au<strong>to</strong>mation Plat<strong>for</strong>m<br />

❙ Fanless <strong>design</strong> with VIA Eden Processor<br />

❙ Operating Temperature: -15 <strong>to</strong> +60°C<br />

❙ Supports 4 COM/ 4 USB/ Audio/ TV-out<br />

❙ Fac<strong>to</strong>ry Surveillance/ Production Line Tester/<br />

❙ Building Au<strong>to</strong>mation/ Control Center<br />

t: 44 (0)1480 411600<br />

e: info@displaysolutions.ltd.uk<br />

Fanless Embedded Controller Series...<br />

...all on board at Display Solutions<br />

AEC-6840<br />

Superior Plant-wide Moni<strong>to</strong>r Security Controller<br />

❙ Intel ® ULV Celeron ® 650/ 400MHz<br />

❙ Supports 4 COM/ USB 2.0/ Digital IO/ TV<br />

❙ Tuner/ Video Capture Function<br />

❙ Fac<strong>to</strong>ry Au<strong>to</strong>mation/ e-learning Family/Security Installation<br />

AEC-6820<br />

Ideal Vehicle Control Equipment Plat<strong>for</strong>m<br />

❙ Supports 2 PCMCIA Slots <strong>for</strong> Expansion<br />

❙ Supports GSM/GPRS/GPS Applications<br />

❙ Operating Temperature: -15 <strong>to</strong> +70°C<br />

❙ Robust Vehicle/ GPS System/ Transportation Controller<br />

AEC-6850<br />

Digital Signage Controller<br />

❙ Intel ® Pentium ® M/ Celeron ® M Processor<br />

❙ Dual View/ 5.1CH Audio/ Card Reader/ USB/IEEE 1394<br />

❙ Outdoor Advertisement Player/ Advanced<br />

❙ Human-machine Interface<br />

www.displaysolutions.co.uk<br />

NEW!<br />

AEC - 6910<br />

AEC-6910<br />

Ideal <strong>for</strong> Digital Signage and multimedia advertising.<br />

Video Surveillance, Industrial Au<strong>to</strong>mation and Inspection<br />

❙ Intel Pentium M and Celeron up <strong>to</strong> 2.1GHz<br />

❙ Supports PCI, Mini-PCI, PCMCIA, CF<br />

❙ Add on cards <strong>for</strong> motion control, DVR, Data Acquisition,<br />

❙ 8-ch video capture<br />

AEC-6830<br />

Reliable<br />

Entertainment Application Unit<br />

❙ Intel ® ULV Celeron ® 650MHz<br />

❙ Dual View/ 6CH Audio/ TV-out/ DVI-out<br />

❙ Vehicle Multimedia System/ Audio & Video Playing<br />

NOW WITH<br />

TWO YEAR WARRANTY


ESE Magazine Jan/Feb 06<br />

10<br />

Tools<br />

FPGA development board<br />

THE RAGGEDSTONE1 is a low cost FPGA<br />

development PCB aimed at both the<br />

industrial/commercial and university/hobby markets<br />

from Enterpoint.<br />

It costs £50+VAT (which Enterpoint explains<br />

is less than a tank of petrol) and includes a<br />

Spartan-3 XC3S400 in a 456-pin BGA package.<br />

Options include packages ranging up <strong>to</strong> the<br />

XC3S2000. The full XC3S400 Spartan-3 I/O<br />

resources are available, giving 264 I/O.<br />

www.enterpoint.co.uk<br />

Distributed computing<br />

THE MATHWORKS’ new Distributed<br />

Computing Toolbox 2, <strong>design</strong>ed <strong>to</strong> simplify the<br />

development of distributed computing applications,<br />

now offers support <strong>for</strong> third-party schedulers,<br />

and new interprocess communication<br />

capabilities <strong>for</strong> distributing and executing parallel<br />

algorithms in a cluster of computers using<br />

MATLAB.<br />

www.mathworks.co.uk<br />

OS migration path<br />

LYNUXWORKS has partnered with MapuSoft<br />

<strong>to</strong> provide embedded <strong>system</strong> developers with a<br />

migration path <strong>to</strong> the LynxOS RTOS. MapuSoft’s<br />

OS Changer and OS Abstrac<strong>to</strong>r can port large<br />

amounts of legacy code from an older operating<br />

<strong>system</strong> <strong>to</strong> LynxOS.<br />

www.lynuxworks.com<br />

www.mapusoft.com<br />

Eclipse: Eclipse <strong>to</strong>ols are given an<br />

extended review in our buyers guide,<br />

following pafe 20.<br />

For a more detailed look at these s<strong>to</strong>ries please visit<br />

www.esemagazine.co.uk<br />

New ‘scopes (1)<br />

Tektronix has launched the DPO7000 Digital<br />

Phosphor Oscilloscopes (DPOs), which the<br />

company is calling the world’s first uncompromised<br />

per<strong>for</strong>mance oscilloscope.<br />

The 500 MHz DPO7054, 1 GHz DPO7104, and<br />

2.5 GHz DPO7254 models share a new plat<strong>for</strong>m<br />

that makes broad use of IBM 7HP silicon germanium<br />

(SiGe) technology <strong>for</strong> higher per<strong>for</strong>mance. The<br />

DPO7000 provides fast sample rates of 10 GS/s on<br />

four channels and real-time oversampling on four<br />

channels; up <strong>to</strong> 16X oversampling on one channel<br />

and 4X on four channels simultaneously. The<br />

DPO7054 and DPO7104 can support 40X oversampling<br />

on one channel and 10X on four channels<br />

simultaneously. They support deep record lengths<br />

<strong>to</strong> 200M while the DPO7254 supports 400M. All<br />

models include a <strong>12</strong>.1 inch XGA display enabling<br />

engineers <strong>to</strong> see more in<strong>for</strong>mation at once, and all<br />

models provide vertical accuracy of +/- 1%.<br />

Variable colour-graded persistence holds<br />

anomalies until the eye can see them, and the new<br />

models also include the MyScope user interface.<br />

www.tektronix.com<br />

Industry-specific plat<strong>for</strong>ms<br />

GREEN HILLS has introduced a family of<br />

industry-optimised software development<br />

plat<strong>for</strong>ms <strong>for</strong> medical, Software Defined<br />

Radio (SDR), wireless, industrial control,<br />

au<strong>to</strong>motive and avionics devices. They<br />

include the core software and documentation<br />

required <strong>to</strong> develop and deploy a targeted<br />

device, accelerating time-<strong>to</strong>-market, reducing<br />

development risk, and enabling developers<br />

<strong>to</strong> focus on application-level innovation<br />

and differentiation.<br />

All Green Hills Plat<strong>for</strong>ms use the<br />

INTEGRITY RTOS, allowing developers <strong>to</strong><br />

standardise on one RTOS. They are certified<br />

<strong>to</strong> the reliability, safety and security standards<br />

<strong>for</strong> each industry, including those specified<br />

by the NSA, FAA, FDA, IEEE and IEC.<br />

Each plat<strong>for</strong>m includes INTEGRITY and<br />

some optionally include the velOSity microkernel,<br />

the foundation of INTEGRITY. They<br />

have industry-specific middleware, such as<br />

Unit testing with<br />

hardware-in-the-loop<br />

Hitex has extended the Tessy software unit<br />

test <strong>to</strong>ol with the new Tan<strong>to</strong>2-HIL “hardware-in-the-loop”<br />

<strong>system</strong>, so that embedded<br />

software testing can include the hardware<br />

environment and the physical interfaces<br />

of the application <strong>system</strong>.<br />

Tessy controls the generation and sampling<br />

of signals <strong>for</strong> the target hardware. The HIL <strong>system</strong><br />

comes with a standard physical interface<br />

adapter <strong>to</strong> connect digital I/O signals. Cus<strong>to</strong>merspecific<br />

adapters will support analog or communication<br />

signals as well. The HIL <strong>system</strong> is able<br />

<strong>to</strong> generate and capture dynamic signals and signal<br />

sequences using the internal buffer memory<br />

of up <strong>to</strong> 1 GByte.<br />

www.hitex.co.uk<br />

New ‘scopes (2)<br />

Agilent Technologies has introduced the<br />

Infiniium 8000 Series of digital s<strong>to</strong>rage and<br />

mixed-signal oscilloscopes, which the<br />

company says combines superior signal<br />

viewing of the industry's deepest memory<br />

with advanced wave<strong>for</strong>m analysis.<br />

The MegaZoom technology allows <strong>design</strong>ers<br />

of embedded <strong>system</strong>s <strong>to</strong> capture analog and digital<br />

signals over long time spans, view critical<br />

events in complex wave<strong>for</strong>ms, and per<strong>for</strong>m<br />

networking, file <strong>system</strong>s, graphics,<br />

audio/video and navigation, as appropriate<br />

and provide integration with industry-specific<br />

reference hardware. Plat<strong>for</strong>ms also include<br />

the Green Hills MULTI development environment,<br />

and documentation, including the documentation<br />

and life cycle evidence required<br />

<strong>for</strong> industry-specific safety and security certifications<br />

and approvals<br />

www.ghs.com


obust signal analysis.<br />

The mixed-signal oscilloscopes (MSOs) provide<br />

up <strong>to</strong> 20 channels of time-correlated viewing<br />

and triggering with their tightly integrated four<br />

scope channels and 16 digital channels in the<br />

same acquisition <strong>system</strong>.<br />

The Infiniium 8000 Series also offers several<br />

software application suites <strong>for</strong> speeding<br />

mixed-signal debug in embedded <strong>design</strong>s <strong>to</strong><br />

address <strong>design</strong> trends that include the integration<br />

of multiple circuit functions in<strong>to</strong> a single<br />

FPGA, the proliferation of serial buses, and the<br />

evolution <strong>to</strong>ward digital signal processing in RF<br />

applications.<br />

www.agilent.com<br />

MILS and ARINC<br />

Wind River has announced support <strong>for</strong><br />

Multiple Independent Levels of Security<br />

(MILS), co-resident secure and non-secure<br />

applications on a single MMU-partitioned<br />

microprocessor.<br />

The new secure VXWorks is based on MILS<br />

concepts <strong>for</strong> a Secure Real Time Operating<br />

System (SRTOS) and is targeted <strong>for</strong> certification<br />

<strong>to</strong> Evaluation Assurance Level 7 (EAL7) of the<br />

Common Criteria <strong>for</strong> In<strong>for</strong>mation Technology<br />

Security Evaluation.<br />

It is bundled with an application configuration<br />

<strong>to</strong>ol and provides multiple APIs, from a lowlevel<br />

Core OS Interface Library (COIL) <strong>to</strong> higherlevel<br />

APIs, including industry standard interfaces<br />

and middleware APIs.<br />

Wind River has also released v2.1 OF<br />

VxWorks 653, its enhanced ARINC 653 IMA plat<strong>for</strong>m<br />

<strong>for</strong> safety-critical <strong>system</strong>s. It is fully integrated<br />

in<strong>to</strong> the Workbench development environment,<br />

allowing the use of the industry-standard<br />

Eclipse workspace <strong>for</strong> ARINC 653 software<br />

development and deployment. It has updated<br />

versions of all required documentation <strong>to</strong> support<br />

DO-178B Level A, B, C, and D certification of<br />

operating <strong>system</strong>s and new DO-178B qualified<br />

moni<strong>to</strong>ring <strong>to</strong>ols..<br />

www.windriver.com<br />

ARM development kit<br />

<strong>for</strong> universities<br />

The EmbestUniversity is a teaching plat<strong>for</strong>m<br />

focused on embedded <strong>system</strong> development<br />

<strong>design</strong>ed specially by Embest <strong>for</strong><br />

universities and other educational institutes.<br />

It uses an ARM7TDMI based plat<strong>for</strong>m<br />

and contains evaluation board, development<br />

<strong>to</strong>ols, labora<strong>to</strong>ry exercises codes and<br />

teaching materials and is <strong>for</strong> embedded<br />

and real-time embedded <strong>system</strong>s at undergraduate<br />

or graduate level.<br />

The recommend evaluation board in<br />

EmbestUniversity is the Embest S3CEV40 board,<br />

which is based on a Samsung S3C44B0x 16/32-<br />

bit RISC microcontroller. The board itself is provided<br />

with plenty of example code and also with<br />

uC/OS-II and ucLinux porting.<br />

www.armkits.com<br />

<br />

11


ESE Magazine Jan/Feb 06<br />

<strong>12</strong><br />

Boards<br />

<strong>Power</strong>PC 3U CompactPCI SBC<br />

THE SCP/DCP-<strong>12</strong>4 is a<br />

high per<strong>for</strong>mance ruggedised<br />

3U CompactPCI (cPCI) single<br />

board computer.<br />

Available in both conduction<br />

cooled and air-cooled<br />

versions it uses Freescale’s 7447A/7448<br />

<strong>Power</strong>PC processor and is aimed at space and<br />

weight constrained COTS <strong>system</strong>s <strong>for</strong> military<br />

and aerospace applications.<br />

www.cwcembedded.com<br />

Industrial ATX<br />

THE FWB-880M from AAEON is an ATX <strong>for</strong>m<br />

fac<strong>to</strong>r industrial motherboard with Pentium 4/<br />

Celeron D supporting 1066/880/533MHz. It<br />

includes a GMA950 2D/3D graphics accelera<strong>to</strong>r<br />

up <strong>to</strong> 4GB DDR2 memory, Pentium 4 CPU up <strong>to</strong><br />

3.8GHz, 8 USB 2.0, 4 SATA and 1 PATA.<br />

www.rds-aaeon.co.uk<br />

E 2 Brain Interest Group<br />

THE E 2 BRAIN Interest Group has been founded.<br />

Joining Kontron are MAZeT and Ultratronik, both<br />

from Germany, Odyssee (France), and UniControls<br />

(Czech Republic). The goal of the E 2 Brain Interest<br />

Group is the joint development and marketing of<br />

RISC-based COMs <strong>design</strong>ed around E 2 Brain<br />

(Embedded Electronic Brain) – the recently published<br />

COM standard from Kontron.<br />

www.e2brain-ig.com<br />

SBC with RoHS Compliance<br />

Evalue has announces ECM-35<strong>12</strong>, a new 3.5-inch<br />

ADM GX2-based single board computer that is<br />

fully RoSH compliant. The ECM-35<strong>12</strong> is equipped<br />

with an AMD Geode GX2 GX466 processor<br />

clocked at 333MHz that can operate with passive<br />

cooling. The processor consumes only 0.9 watt.<br />

The board includes integrated TFT and LVDS display<br />

support, dual 10/100Mbps LAN, and 2-channel<br />

audio. It is <strong>design</strong>ed <strong>for</strong> smart display, thin<br />

client and Internet access devices in applications<br />

such as medical instruments, POS/POI, test<br />

equipments, and industrial control <strong>system</strong>s.<br />

www.evalue-tech.com<br />

Coming in our March issue: Special<br />

focus on Boards and Modules with<br />

PC/104-Plus buyers guide.<br />

3U CompactPCI SBC<br />

Interface Concept’s IC-e6-cPCIa is a 3U<br />

CompactPCI SBC <strong>for</strong> use in defence,<br />

au<strong>to</strong>mation, network and<br />

imaging applications.<br />

It uses Freescale´s<br />

<strong>Power</strong>PC e600 processors<br />

(MPC7447A-1GHz<br />

or MPC7448-1.4GHz)<br />

and has two<br />

Giga Ethernet<br />

channels, two<br />

high/full speed USB2 ports, two multi-purpose<br />

serial controllers and two high/full speed<br />

ports. A PMC expansion slot permits the addition<br />

of a 64-bit PMC card. It is available in standard,<br />

extended and conduction-cooled grades.<br />

A BSP and an enhanced BSP are provided <strong>for</strong><br />

VxWorks and Linux operating <strong>system</strong>s.<br />

www.interfaceconcept.com<br />

Half-size, low<br />

power SBC<br />

The NuPRO-825 is a half sized PCI SBC from<br />

ADLINK. It comes with a choice of Pentium<br />

M processors from 1.1GHz up <strong>to</strong> 2.0GHz or<br />

Celeron Ms from 600MHz <strong>to</strong> 1.3GHz.<br />

It uses the Intel 855GME chipset with ICH5,<br />

350MHz integrated 24 bit RAMDAC supporting<br />

standard progressive scan analogue moni<strong>to</strong>rs<br />

with pixel resolution up <strong>to</strong> 1600 x <strong>12</strong>00 at 85MHz<br />

and 2048 x 15<strong>36</strong> at 75MHz.<br />

There is also a one channel transmitter interface<br />

<strong>to</strong> support LVDS panel resolutions up <strong>to</strong> UXGA.<br />

www.acalmicro<strong>system</strong>s.co.uk<br />

Sunlight readable LCD<br />

RA-TEK using the sun’s own energy instead<br />

of extra high-powered backlights <strong>to</strong> improve<br />

readability of transmissive LCDs. It is a pho<strong>to</strong>n<br />

enhancement technology, implemented by<br />

placing reflective layers behind the glass LCD<br />

screen and in front of the backlights. Light<br />

penetrating the glass is reflected back by the<br />

Ra-Tek film <strong>to</strong> provide additional lighting <strong>for</strong><br />

the display. The effect enhances the transmissive<br />

throughput of existing liquid crystal displays<br />

<strong>to</strong> achieve a greater level of brightness<br />

in all environments. In some cases, this can<br />

serve <strong>to</strong> double the native nit count of a standard<br />

TFT display.<br />

Ra-Tek can be used <strong>to</strong> augment any trans-<br />

ETX module with<br />

GX533 processor<br />

The GX2 ETX module from DSL is<br />

<strong>design</strong>ed <strong>to</strong> provide a fully cus<strong>to</strong>mised<br />

embedded solution. Software developers<br />

can use the development <strong>system</strong>,<br />

while the finished product is being manufactured.<br />

The ETX, 114mm x 95mm board will<br />

support Windows 2000, Windows XP, Windows<br />

XP Embedded, Windows CE.NET and Linux.<br />

The 400MHz AMD Geode GX 533 processor<br />

is supported by up <strong>to</strong> 5<strong>12</strong>MB DDR RAM, full<br />

ISA and PCI Bus expansion, E-IDE interface, serial,<br />

parallel, IrDA and USB ports and 10/100 Base-<br />

T Ethernet.<br />

www.dsl-ltd.co.uk<br />

6U CompactPCI SBC<br />

SBS Technologies has announced the CE9<br />

6U CompactPCI CE9 SBC.<br />

It has a 1.8 GHz Pentium M processor, up <strong>to</strong> 2<br />

GBytes of 333 MHz DDR SDRAM with ECC and a<br />

400 MHz <strong>system</strong> bus. It can be used in a <strong>system</strong><br />

or non-<strong>system</strong> slot within a<br />

CompactPCI<br />

backplane.<br />

It<br />

will integrate with<br />

applications <strong>design</strong>ed<br />

using SBS Technologies' Ready<br />

Driver VxWorks software.<br />

It has a focus on reliability, and is aimed at<br />

rugged applications as well as those in the communications<br />

and au<strong>to</strong>mation.<br />

www.sbs.com<br />

missive LCD from any manufacturer, without<br />

requiring intense VHB or UHB backlights. It is<br />

<strong>design</strong>ed <strong>for</strong> kiosk-type machines and LCD electronic<br />

signage, as well as portable and battery<br />

powered terminals required <strong>to</strong> operate outdoors.<br />

www.anders.co.uk


��������������������������<br />

�����������������������������������������<br />

������������������������<br />

����������������������������<br />

������������������������<br />

�����������������������<br />

������������������<br />

������������������������<br />

���������������<br />

�����������������<br />

���������<br />

���������������������������������<br />

������������������������������������<br />

�����������<br />

�����������������<br />

�����������������������������<br />

��������������������<br />

���������������<br />

����������<br />

���������������������������<br />

�������������<br />

��������������������������<br />

�����������������������<br />

������������������������������<br />

����������������������<br />

�����������������<br />

����������������������<br />

������������<br />

���������������������������<br />

��������������������<br />

������������������<br />

���������������������������� ������������������<br />

��������������������������������������������������������<br />

������ ���� ��������� ���� ������ ����������������<br />

���������������������������������������������������<br />

���������� ������������ ����� ������� �����������<br />

�������������������������������������������������������<br />

�����������������������������������<br />

����������������������������������������������������������������<br />

����������<br />

����<br />

���������<br />

����<br />

�������������<br />

������������


ESE Magazine Jan/Feb 06<br />

14<br />

Embedded World 2006<br />

Embedded World is back in Nurenberg from February 14th-16th. Dick Selwood<br />

previews some of the announcements and will report back in the next issue.<br />

EVERY YEAR both European and other<br />

companies use embedded world <strong>to</strong><br />

demonstrate new products and display<br />

upgrades <strong>to</strong> existing ones. It is a huge<br />

event and there is a tidal wave of press releases<br />

in the run-up <strong>to</strong> the show. Some of the interesting<br />

ones are discussed below.<br />

TenAsys<br />

INtime version 3.03 from TenAsys will be<br />

demonstrated in the Intel and Microsoft booths.<br />

New features <strong>design</strong>ed <strong>to</strong> enhance the deployment<br />

of real-time Windows XP plat<strong>for</strong>ms<br />

include support <strong>for</strong> Windows XP Professional<br />

x64 Edition, full integration with the Visual<br />

Studio 2005 development environment, a virtual<br />

Ethernet driver <strong>to</strong> provide a sockets interface<br />

between Windows and INtime, a .Net component<br />

<strong>to</strong> allow all .NET languages <strong>to</strong> interface <strong>to</strong><br />

INtime and a Windows XP Embedded SLD file<br />

<strong>for</strong> use with the Microsoft Target Designer.<br />

Digi International<br />

Digi International will be launching its highest<br />

per<strong>for</strong>mance core module <strong>to</strong> date: the new<br />

ConnectCore XP. This new module is the first<br />

Digi core module <strong>to</strong> utilise the latest generation<br />

Xscale processor from Intel and offers full Linux<br />

and Windows CE support.<br />

MAZeT<br />

MAZeT will have a real-time computer plat<strong>for</strong>m<br />

intended <strong>for</strong> mobile use outdoor. Based on the<br />

E2Brain-Modul MEB5200 and using the Fujitsu<br />

Coral PA graphics processor it has a range of<br />

video functions, as well as the MPC5200 processor.<br />

The incoming video stream is displayed in<br />

real time. It is <strong>design</strong>ed <strong>for</strong> mobile use and battery<br />

operation.<br />

Also at Nürenberg will be the MTI04CS/CQ,<br />

the second generation of multi-channel, programmable<br />

transimpedance amplifiers.<br />

Atmel<br />

Atmel Corporation will unveil its AVR32<br />

MCU/DSP core, an ultra-low power 32-bit<br />

embedded MCU/DSP architecture with an integrated<br />

DSP and SIMD instruction set <strong>for</strong> computationally<br />

intensive, power-constrained <strong>system</strong>s,<br />

such as wireless, battery-powered applications<br />

that include consumer infotainment, point of<br />

sale terminals, biometric scanners, voice recognition<br />

and motion detection.<br />

A new family of high per<strong>for</strong>mance, ultra low-<br />

power 32-bit standard product AVR32 controllers,<br />

based on the new core, will be launched<br />

in early 2006.<br />

Toshiba<br />

Toshiba will show a range of technologies,<br />

including:<br />

● the latest generation of single-chip processors.<br />

● microcontroller-based speech interface IP<br />

solutions.<br />

● a new family of 8-bit and 16-bit high-density<br />

flash microcontrollers.<br />

Toshiba, as a sponsor of the World Cup will also<br />

be offering Embedded World visi<strong>to</strong>rs the chance <strong>to</strong><br />

win two World Cup tickets a day with other prizes<br />

including MCU starter kits and footballs and football<br />

related products on offer during show.<br />

Radiometrix<br />

Radiometrix is introducing a 9600 baud radio<br />

modem module. The five-channel TDL2A effectively<br />

replaces a serial cable interface in applications<br />

where trailing cables are impractical or<br />

undesirable, delivering a low power, 100m data<br />

link.<br />

Combining a 433MHz-band five-channel<br />

transceiver with a dedicated data communication<br />

processor, the module deals with any 9600<br />

baud asynchronous data stream issues without<br />

user intervention or interface, and provides all<br />

necessary buffering, packetisation, framing,<br />

coding, decoding and reconstitution.<br />

Altera<br />

Altera will be showing the Nios processor in<br />

action in real end products built using Altera<br />

FPGA devices and the Nios II processor. For<br />

example the Nios II based Blaupunkt TravelPilot<br />

Rome au<strong>to</strong> navigation <strong>system</strong> will be on display,<br />

showing the route <strong>to</strong> the Altera Office in<br />

Munich.<br />

Silica<br />

Silicia is demonstrating products from a range of<br />

principals:<br />

● a ZigBee dexterity demo needs a steady<br />

hand <strong>to</strong> get a LED <strong>to</strong> light up within 30 seconds<br />

using a robot controlled by Freescale<br />

ZigBee.<br />

● Capell Valley is a reference plat<strong>for</strong>m <strong>for</strong> the<br />

new 65nm Intel Core Duo processors based<br />

on the Mobile Intel 945GM Express chipset.<br />

● An integrated power management solution<br />

from TI <strong>for</strong> Spartan, Virtex and Coolrunner<br />

FPGAs products.<br />

● SPEAr (Structured Processor Enhanced<br />

Architecture) is a new generation of 32-Bit<br />

ARM controllers with integrated ASIC block.<br />

A new Evaluation Board is based on the<br />

SPEAR-07-NC03 communication controller<br />

with ARM720T core, integrated Ethernet<br />

MAC and USB Full Speed Host Interface.<br />

Silicon Labora<strong>to</strong>ries<br />

Silicon Labora<strong>to</strong>ries are having a USB and<br />

Industrial Connectivity Expo based on its industry-leading<br />

mixed-signal microcontrollers<br />

(MCUs). This will showcase its 802.15.4 and<br />

ZigBee short-range wireless technology,<br />

Ethernet connectivity and an extensive line of<br />

USB products through live product demonstrations<br />

and mini-seminars.<br />

Sharp<br />

Sharp will unveil its newly-developed SoC<br />

roadmap <strong>for</strong> addressing the portable multimedia<br />

electronics market with ARM-based,<br />

high-end processors in its BlueStreak series.<br />

Altium<br />

Altium Designer 6.0, the latest version of<br />

Altium's unified electronic product development<br />

<strong>system</strong>, significantly strengthens support <strong>for</strong><br />

FPGA-PCB co-<strong>design</strong> and allows engineers <strong>to</strong><br />

make full use of FPGAs as a <strong>system</strong> plat<strong>for</strong>m,<br />

and simplify the integration of large-scale<br />

FPGAs with the physical PCB plat<strong>for</strong>m. It introduces<br />

the concept of dynamic net reassignment<br />

that allows FPGA pins <strong>to</strong> be swapped on-the-fly<br />

during PCB routing.<br />

There is support <strong>for</strong> a range of third-party<br />

soft and discrete processors, including the Xilinx<br />

MicroBlaze soft processor, Sharp BlueStreak<br />

LH79520 (based on the ARM720) and AMCCR<br />

<strong>Power</strong>PC 405C discrete processors.<br />

ARTiSAN<br />

ARTiSAN will be demonstrating ARTiSAN Studio<br />

v6.0. which supports the latest UML 2.0 and<br />

SysML standards, It includes Ergonomic Profiling,<br />

providing the ability <strong>to</strong> build an environment<br />

based on the needs of specific domains or applications<br />

of UML and also providing a robust and<br />

consistent solution <strong>for</strong> DoDAF modellers thanks<br />

<strong>to</strong> the underpinning of UML 2 and SysML.<br />


See us at Embedded World 2006 Nuremberg, Hall 10, Stand 419<br />

Design <strong>to</strong> Target with<br />

<strong>On</strong>e Graphical Environment<br />

Learn more about intuitive graphical programming <strong>for</strong><br />

embedded <strong>design</strong> and pro<strong>to</strong>typing at ni.com/labview/<strong>design</strong><br />

© 2006 National Instruments Corporation. LabVIEW, National Instruments, and ni.com are trademarks of National Instruments.<br />

Other product and company names listed are trademarks or trade names of their respective companies.<br />

Design with LabVIEW<br />

Interactive algorithm <strong>design</strong> <strong>to</strong>ols<br />

Native simulation capabilities<br />

Built-in analysis and I/O<br />

Pro<strong>to</strong>type with LabVIEW<br />

Reconfigurable FPGA I/O<br />

COTS pro<strong>to</strong>typing plat<strong>for</strong>m<br />

Deploy with LabVIEW<br />

32-bit processor deployment<br />

Same environment from algorithm <strong>design</strong><br />

<strong>to</strong> implementation<br />

Graphical Development Plat<strong>for</strong>m<br />

<strong>for</strong> Design, Control and Test<br />

• Intuitive embedded programming representation<br />

• Rapid application development<br />

• Built-in I/O connectivity and ready-<strong>to</strong>-run analysis<br />

01635 523545<br />

ni.com/uk<br />

info.uk@ni.com


ESE Magazine Jan/Feb 06 <br />

16<br />

MP3 players: the music database<br />

gets database software<br />

By Steven T. Graves, McObject <br />

Seen in one light, MP3 players are a walking database with sound attached.<br />

WHILE MANY consumer electronics<br />

devices must s<strong>to</strong>re and retrieve data, it<br />

is the digital media player (or MP3<br />

player) that most resembles a walking<br />

database. Music fans buy the devices so they can<br />

carry around hundreds of hours of audio, instantly<br />

accessing songs according <strong>to</strong> the “metadata” of<br />

artist, album, title, genre, and playlist. Without the<br />

ability <strong>to</strong> extensively index, cross-reference and<br />

search a music collection according <strong>to</strong> the user’s<br />

wishes, the devices would have little appeal.<br />

Less obvious is data management’s role in<br />

extending MP3 players’ battery life and lowering<br />

their manufacturing cost—but Japan’s JVC<br />

Company sees the connection. In late 2005, the<br />

company released what is probably a first: its<br />

new Alneo XA HD500 studio quality digital<br />

media player incorporates a commercial embedded<br />

database management <strong>system</strong> (DBMS). The<br />

new <strong>design</strong> reflects digital audio players’ memory<br />

and CPU constraints, which are extreme<br />

even <strong>for</strong> consumer electronics. JVC found that<br />

the right off-the-shelf database helps use these<br />

resources more efficiently.<br />

Reducing RAM<br />

In an MP3 player, RAM is precious <strong>for</strong> two reasons:<br />

using less memory reduces the device’s<br />

bill-of-materials cost, lending an important manufacturing<br />

cost advantage, and most RAM within<br />

the device is reserved <strong>for</strong> the playback buffer<br />

that caches the MP3 stream. Low-end CPUs are<br />

also deployed <strong>to</strong> minimize cost, and CPU cycles<br />

must be dramatically minimized, <strong>to</strong> af<strong>for</strong>d a long<br />

playback per recharge.<br />

Playlist Album<br />

PlayListSong<br />

Song<br />

?Genre<br />

Figure 1: Data model of an MP3 player.<br />

Artist<br />

Early in the <strong>design</strong> process, the JVC engineers<br />

determined it would be difficult <strong>to</strong> obtain the<br />

desired efficiency, and meet a stringent development<br />

schedule, writing their own data management<br />

code. They began exploring the alternative:<br />

integrating a proven commercial DBMS within<br />

the MP3 player’s embedded software.<br />

The question remained, though, what kind of<br />

database would work. “Enterprise” DBMSs,<br />

<strong>design</strong>ed <strong>to</strong> serve as corporations’ centralized<br />

data s<strong>to</strong>res were an impossible fit due <strong>to</strong> cost<br />

and footprint; “embedded” database sounds<br />

closer, except that only a small subset of embedded<br />

databases are intended <strong>for</strong> real-time<br />

embedded <strong>system</strong>s (most are meant <strong>to</strong> be<br />

embedded in packaged software applications).<br />

In-memory<br />

For resource-constrained embedded devices, a key<br />

distinction within the embedded database category<br />

is on-disk DBMS, versus in-memory DBMS.<br />

Most embedded database <strong>system</strong>s manage data<br />

on-disk, and are <strong>design</strong>ed <strong>to</strong> cache frequently<br />

requested data in memory – <strong>for</strong> faster access –<br />

but <strong>to</strong> write database updates, insertions, and<br />

deletes through the cache <strong>to</strong> be s<strong>to</strong>red <strong>to</strong> disk. A<br />

newer approach is the in-memory database <strong>system</strong><br />

(IMDS), which eliminates disk access and<br />

s<strong>to</strong>res data in main memory, flushing <strong>to</strong> disk only<br />

when commanded <strong>to</strong> do so by the application.<br />

In-memory data management emerged as<br />

the better fit <strong>for</strong> JVC’s MP3 player. A key issue<br />

was on-disk databases’ indexes, which enable<br />

quick access <strong>to</strong> related records. To avoid disk<br />

access—which could potentially lead <strong>to</strong> playback<br />

interference in the MP3 player—the developers<br />

determined they would need <strong>to</strong> cache all<br />

of the on-disk database (data and indexes).<br />

Freeing memory<br />

A great deal of redundant data is s<strong>to</strong>red in on-disk<br />

databases’ indexes that manifest the relationships<br />

between data entities. With such a database this<br />

is desirable because if the required data exists in<br />

the index, the <strong>system</strong> can avoid the disk I/O that<br />

would otherwise be needed <strong>to</strong> access the data<br />

file. Disk I/O is expensive (in per<strong>for</strong>mance terms),<br />

so on-disk databases can justify the extra s<strong>to</strong>rage<br />

space <strong>to</strong> hold redundant copies of data in indexes.<br />

But in-memory databases never go <strong>to</strong> disk. There<br />

Figure 2: Indexes <strong>to</strong> implement relationships.<br />

is no disk I/O <strong>to</strong> avoid, so the redundant index data<br />

can be eliminated, thus freeing memory.<br />

In making their database selection, the JVC<br />

engineers also noted that the software logic <strong>to</strong><br />

accomplish caching and disk I/O—which are<br />

integral <strong>to</strong> on-disk databases but non-existent in<br />

in-memory architectures—posed significant<br />

CPU demands. By eliminating these demands,<br />

the in-memory database delivered better per<strong>for</strong>mance<br />

with a less powerful CPU, and allowed<br />

the CPU <strong>to</strong> be “clocked down” during certain<br />

operations <strong>to</strong> maximize battery life.<br />

Start-up time<br />

Engineers were also concerned about the startup<br />

time <strong>for</strong> provisioning the in-memory database.<br />

<strong>On</strong>-disk databases can be used immediately<br />

after the application opens the database,<br />

whereas an in-memory database is initially<br />

empty and must be populated (“provisioned”)<br />

with data. But in the final analysis, the modest<br />

size of the in-memory MP3 database eliminated<br />

this potential issue. For a database providing<br />

access <strong>to</strong> 5000 songs, the in-memory database<br />

required just 1 MB if the average song title<br />

string length was 20 characters; if all the song<br />

titles were the maximum 5<strong>12</strong> characters, the<br />

database was about 2 MB. With micro drive<br />

transfer rates up <strong>to</strong> 33 MB per second, the inmemory<br />

database could be provisioned in a time<br />

span well within usability thresholds. The competing<br />

on-disk database software created a<br />

database that was 7 MB in size. <br />

www.mcobject.com


ESE Magazine Jan/Feb 06 <br />

18<br />

MOST – Intelligent network<br />

interface controllers<br />

Henry Muyshondt, SMSC <br />

The de-fac<strong>to</strong> standard <strong>for</strong> au<strong>to</strong>motive multimedia now has intelligent interfaces.<br />

MOST, or Media Oriented Systems<br />

Transport, is the de-fac<strong>to</strong> standard <strong>for</strong><br />

high-speed multimedia networking in<br />

au<strong>to</strong>mobiles, with 35 car models<br />

deploying the technology, using millions of MOST<br />

devices. Several carmakers are also incorporating<br />

the technology in<strong>to</strong> their complete line-ups.<br />

MOST is moving in<strong>to</strong> mid-range car plat<strong>for</strong>ms and<br />

may then proliferate in<strong>to</strong> low-end car models.<br />

In the late 1970’s, many au<strong>to</strong>mobiles, even<br />

high-end cars, barely used a separate amplifier<br />

and radio. Over the years, audio products, such<br />

as cassette players and CD players, were added.<br />

With more devices in a car needing <strong>to</strong> interact<br />

with each other the number of connections rose<br />

exponentially, making it necessary <strong>to</strong> network<br />

the components. This is the need <strong>for</strong> MOST.<br />

All digital<br />

As the majority of data (music, Video CDs, DVDs,<br />

etc.) is s<strong>to</strong>red in digital <strong>for</strong>mat, MOST is an alldigital<br />

<strong>system</strong> with analog signals only right at<br />

the user interface (speakers and video display).<br />

When a <strong>system</strong> level approach is taken <strong>to</strong> implement<br />

a MOST <strong>system</strong>, significant cost savings are<br />

achieved as duplicated components are eliminated<br />

and functions are integrated in<strong>to</strong> single chips.<br />

MOST specifies not just the physical interconnection<br />

between devices on the network, but<br />

the software layers needed <strong>to</strong> build up and take<br />

down connections and the APIs needed <strong>to</strong> control<br />

standard functions, like CD-players, amplifiers,<br />

tuners, etc. In the first generation of MOST,<br />

a Network Interface Controller (NIC) provided<br />

the physical connection <strong>to</strong> the network, while<br />

NetServices - all the network management software<br />

ran on an External Host Controller (EHC).<br />

���<br />

����������� ��<br />

����������� ��<br />

�������� ����<br />

���<br />

����������� ��<br />

���� ���<br />

��<br />

����������� ��<br />

�������� ����<br />

��� ������<br />

��� ����<br />

Figure 1: NIC vs. INIC Architectures<br />

The EHC could be any of a variety of microcontrollers<br />

and DSP devices on the market. The NIC<br />

was programmed through a register wall and<br />

the integrity of the network was <strong>to</strong>tally dependent<br />

on the EHC implementation of the<br />

NetServices software and APIs. Early implementations<br />

showed that some of the real-time<br />

responses needed by the low-level network<br />

interfaces were sometimes not met if the EHC<br />

was busy working on other tasks.<br />

MOST NICs are now Intelligent (INICs) and<br />

on the market. With these, the network comes<br />

up as a standalone entity, independent of the<br />

applications that reside on the EHC. INICs take<br />

all the lessons learned during early implementations<br />

and ensure that all the real-time requirements<br />

of network communications are taken<br />

care of without external intervention.<br />

Two Layers<br />

The NetServices software is divided in<strong>to</strong> two<br />

layers. Layer 1 (the Basic Layer) includes the<br />

low level mechanisms needed <strong>to</strong> initialize<br />

MOST devices and <strong>to</strong> ensure the proper startup<br />

behavior of the network. This layer includes<br />

functions with real-time response requirements<br />

<strong>for</strong> the network <strong>to</strong> function properly.<br />

Layer 2 (Application Socket) includes<br />

required MOST functions and services <strong>to</strong> support<br />

functional addressing so applications don’t<br />

need <strong>to</strong> know the physical addresses of other<br />

devices on the MOST network. The functions<br />

included in layer 2 typically do not have hard<br />

real-time requirements.<br />

Figure 1 shows how INIC implements some<br />

of the functions of the old NIC-based approach.<br />

The INIC architecture includes a microcontroller<br />

<strong>to</strong> implement the functions in NetServices Layer<br />

1 and also the required MOST function block<br />

NetBlock that <strong>for</strong>merly resided in Layer 2. The<br />

NIC Engine is similar <strong>to</strong> the old external NIC and<br />

per<strong>for</strong>ms the actual <strong>for</strong>matting of data <strong>for</strong> transmission<br />

over the physical interconnection.<br />

Message based<br />

Another characteristic of the INIC architecture is<br />

that it uses a message-based interface rather<br />

than a register wall typical in NIC <strong>design</strong>s. This<br />

interface simplifies the number of commands<br />

that application programmers need <strong>to</strong> implement<br />

�����������<br />

������<br />

����<br />

��������<br />

�����<br />

����������� ����������� ����������� �����������<br />

����<br />

���� �����<br />

���<br />

���<br />

����<br />

������<br />

����<br />

����������<br />

���<br />

����<br />

�������<br />

����<br />

���������<br />

���<br />

����������� �� ��� ����<br />

������� ��� ������������<br />

���� ���<br />

���� � ���� ����������<br />

������ �� ���� ������������� ���������<br />

����<br />

����������<br />

���<br />

������� �������<br />

��������<br />

����<br />

���������<br />

Figure 2: INIC Architecture Framework<br />

and abstracts things like network speed and<br />

physical layer (e.g. various kinds of optical or<br />

electrical connections) from the application. This<br />

significantly reduces the <strong>design</strong>-in and verification<br />

ef<strong>for</strong>ts, as the network itself becomes a<br />

standalone entity. Specific functions on each<br />

device on the network register themselves as the<br />

device is ready and each device can take its time<br />

initializing itself and its operating <strong>system</strong>, if there<br />

is one, as well as other peripherals attached <strong>to</strong> it<br />

without having any effect on the network.<br />

The message-based architecture is implemented<br />

in SMSC’s line of INIC products and will<br />

be used in all future generations of MOST INICs.<br />

This architecture has the advantage that applications<br />

will need few, if any, changes <strong>to</strong> use<br />

higher speed network implementations or new<br />

physical layers that are introduced over time.<br />

Figure 2 shows a framework <strong>for</strong> INIC implementations.<br />

oPhy and ePhy represent optical and<br />

electrical physical layers, respectively.<br />

Current MOST <strong>system</strong>s use Plastic Optical<br />

Fiber (POF) driven with LEDs. Other optical transmission<br />

media such as Polymer Clad Silica (PCS)<br />

and VCSELs (Vertical Cavity Single Emission<br />

Lasers) are also being considered. In addition, a<br />

specification <strong>for</strong> an electrical physical layer has<br />

been developed by the MOST Cooperation.<br />

The INIC API removes any dependencies on<br />

network speed and physical layer from the applications<br />

that use INIC.<br />

The MOST Cooperation is a not-<strong>for</strong>-profit<br />

consortium of au<strong>to</strong>makers, suppliers, and related<br />

companies that support the proliferation of<br />

the MOST pro<strong>to</strong>col. <br />

www.smsc.com<br />

www.mostcooperation.com


I N T E L L I G E N T E L E C T R O N I C S S T A R T W I T H M I C R O C H I P<br />

Low Voltage voltage Rail-<strong>to</strong>-Rail Op<br />

Amp Solutions <strong>for</strong> extended<br />

temperature applications<br />

Including tiny SC-70 and SOT-23 devices<br />

Microchip’s Selected Extended Temperature Range Op Amps<br />

Part # GBWP IQ Typical Vos Max Temp. Range Supply Features<br />

(µA) (mV) (°C) Voltage<br />

MCP6275/85/95 2/5/10 MHz 170/230/445 3 -40 <strong>to</strong> +<strong>12</strong>5 2.0 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output,<br />

Dual Connected with Chip Select<br />

Selected Standard Op Amps<br />

MCP6231/2/4 300 kHz 20 5 -40 <strong>to</strong> +<strong>12</strong>5 1.8 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP6241/2/4 650 kHz 50 5 -40 <strong>to</strong> +<strong>12</strong>5 1.8 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP6001/2/4 1 MHz 100 4.5 -40 <strong>to</strong> +<strong>12</strong>5 1.8 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP6271/2/3/4 2 MHz 170 3 -40 <strong>to</strong> +<strong>12</strong>5 2.0 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP601/2/3/4 2.8 MHz 230 2 -40 <strong>to</strong> +<strong>12</strong>5 2.7 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Output<br />

MCP6281/2/3/4 5 MHz 445 3 -40 <strong>to</strong> +<strong>12</strong>5 2.2 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP6021/2/3/4 10 MHz 1000 0.5 -40 <strong>to</strong> +<strong>12</strong>5 2.5 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

MCP6291/2/3/4 10 MHz 1000 3 -40 <strong>to</strong> +<strong>12</strong>5 2.4 <strong>to</strong> 5.5V Rail-<strong>to</strong>-Rail Input/Output<br />

Do you need low power consumption and extended<br />

temperature range operation? Microchip has a broad<br />

range of extended temperature op-amps with<br />

Gain-Bandwidths from 300 kHz <strong>to</strong> 10 MHz, including<br />

many devices in ultra-compact SOT-23 and SC-70<br />

packages. Microchip also offers the innovative<br />

MCP62X5 dual-connected op-amp family.<br />

www.microchip.com/opamps<br />

The Microchip name and logo, PIC, and dsPIC are registered trademarks of Microchip Technology Incorporated in the USA and other countries. All other trademarks and registered trademarks are the property of their<br />

respective owners. ©2005 Microchip Technology Inc. All rights reserved. ME145Eng/09.05


ESE Magazine Jan/Feb 06 <br />

20<br />

Benchmarks: more<br />

than a marketing <strong>to</strong>ol<br />

Markus Levy, EEMBC <br />

The latest of the regular columns from EEMBC explains the thinking<br />

behind the wider licensing of processor benchmarks<br />

CERTIFIED EEMBC scores <strong>for</strong> many<br />

processors have always been available <strong>for</strong><br />

free on the EEMBC Web site, but since<br />

the consortium’s founding only members<br />

had access <strong>to</strong> the benchmark source code<br />

itself and the ability <strong>to</strong> run the benchmarks.<br />

Under a new program, OEMs, <strong>design</strong> consultants,<br />

and other qualified users can now license<br />

any or all of EEMBC’s benchmark suites. While<br />

the consortium will continue <strong>to</strong> allow the publication<br />

only of scores that have been verified by<br />

its certification lab, the new licensing program is<br />

set <strong>to</strong> make EEMBC benchmark software more<br />

widely available as a relevant, focused, objective<br />

<strong>to</strong>ol <strong>for</strong> engineers choosing between<br />

processors <strong>for</strong> their applications.<br />

Typically, benchmarks are viewed as a marketing<br />

<strong>to</strong>ol <strong>to</strong> allow vendors <strong>to</strong> compete on per<strong>for</strong>mance.<br />

However, the EEMBC benchmark software<br />

is also regularly used as a <strong>to</strong>ol <strong>to</strong> analyze,<br />

tune, and validate processor architectures and<br />

the <strong>system</strong>s that encompass these processors.<br />

Although it will always be true that the best<br />

benchmark is the <strong>system</strong> <strong>design</strong>er’s application<br />

itself, the beauty of using the EEMBC software<br />

is that it’s easy <strong>to</strong> port <strong>to</strong> different architectures<br />

and plat<strong>for</strong>ms and user-obtained scores can be<br />

matched <strong>to</strong> the large database of scores on the<br />

EEMBC website. Furthermore, because it is such<br />

a widely-used code base, <strong>system</strong> <strong>design</strong>ers can<br />

get direct support from processor vendors<br />

(because the majority of them are EEMBC members<br />

already familiar with the code).<br />

University<br />

The licensing model has quite a successful<br />

precedent in EEMBC U, under which faculty<br />

members at universities and college are entitled<br />

<strong>to</strong> license the benchmark source code <strong>for</strong> teaching<br />

and experimental purposes. EEMBC U continues<br />

<strong>to</strong> grow apace thanks <strong>to</strong> recent public<br />

exposure at several industry and academic venues,<br />

and its members now include faculty at<br />

some of the most highly regarded universities in<br />

the United States, Europe, and Asia. The SPEC<br />

consortium provides another example of how<br />

membership and licensing can successfully<br />

coexist within a single organization.<br />

The licensing program is also a result of<br />

what we’ve learned, after nearly 10 years of<br />

existence, about measuring EEMBC’s progress<br />

as a standards-setting enterprise. At various<br />

times, we’ve tended <strong>to</strong> gauge success according<br />

<strong>to</strong> the number of our member companies (which<br />

has averaged about 50 over the past five years),<br />

the number of certified processor benchmark<br />

scores being published, and the rate at which<br />

we bring new benchmark suites <strong>to</strong> completion.<br />

But none of these is as significant as another<br />

metric which is somewhat more difficult <strong>to</strong><br />

know: the demand by cus<strong>to</strong>mers of processor<br />

vendors <strong>for</strong> disclosure of EEMBC benchmark<br />

scores as a condition of considering any new<br />

chip <strong>for</strong> one of their <strong>system</strong> <strong>design</strong>s. The anecdotal<br />

evidence is that this demand has gone up<br />

significantly in the past few years, and more<br />

than one member company has <strong>to</strong>ld me frankly<br />

that its interest in joining EEMBC was the direct<br />

result of interest by its cus<strong>to</strong>mers in seeing<br />

EEMBC benchmark scores.<br />

Benchmark suite<br />

EEMBC’s application orientation <strong>to</strong> benchmarks<br />

and its certification rules are two obvious<br />

respects in which it differs from Dhrys<strong>to</strong>ne mips<br />

and other synthetic benchmarks. Less apparent<br />

but just as important is the EEMBC process of<br />

benchmark development, in which members<br />

companies both large and small have an equal<br />

vote in the many decisions that ultimately lead <strong>to</strong><br />

a completed benchmark suite. The process is not<br />

always fast, but it does lead <strong>to</strong> credible results.<br />

This is one reason why EEMBC is now being<br />

approached by OEMs who are not only interested<br />

in the consortium’s existing suites but would<br />

like us <strong>to</strong> develop new ones that address the par-<br />

Figure 1: Markus Levy, president EEMBC.<br />

Benchmark software is also regularly used as a <strong>to</strong>ol <strong>to</strong> analyze, tune, and validate<br />

processor architectures and the <strong>system</strong>s that encompass these processors<br />

ticular needs of a given embedded application.<br />

This is how EEMBC came recently <strong>to</strong> <strong>for</strong>m a new<br />

subcommittee that is working on network s<strong>to</strong>rage<br />

benchmarks and being led by Adaptec.<br />

Until now, most users of the EEMBC benchmarks<br />

have been the processor vendors that<br />

developed them, so part of our task in the coming<br />

weeks and months will be making the benchmarking<br />

process even more user-friendly <strong>for</strong> a<br />

broader audience of embedded <strong>system</strong>s <strong>design</strong>ers<br />

and others <strong>for</strong> whom the processor is just<br />

part of the bigger picture. We’ll be adding <strong>to</strong> the<br />

in<strong>for</strong>mation about the benchmarks on the<br />

EEMBC Web site, improving benchmark documentation,<br />

and providing more specific in<strong>for</strong>mation<br />

on the workloads that EEMBC benchmarks<br />

address. We welcome contributions <strong>to</strong> this<br />

ef<strong>for</strong>t from everyone in the embedded <strong>system</strong>s<br />

community. <br />

www.eembc.org


ESE Magazine January 05


Some things<br />

have<br />

<strong>to</strong> go out<br />

on time<br />

As an embedded software developer, you’re always facing the next deadline. We know it’s important <strong>to</strong> get your products <strong>to</strong> market<br />

be<strong>for</strong>e your competi<strong>to</strong>rs, and we can help. With our Eclipse-based development <strong>to</strong>ols, tightly integrated embedded software<br />

and support that is second <strong>to</strong> none, we offer you a partner <strong>to</strong> get your product <strong>to</strong> market quickly and easily.<br />

The EDGE Eclipse-based development environment provides a set of <strong>to</strong>p-notch development <strong>to</strong>ols in the industry <strong>to</strong>day. You’ll<br />

see how quickly you can code, collaborate on and deliver your final product. Additionally, the Nucleus range of royalty-free<br />

RTOS and middleware products gives you a proven kernel with everything else you need in a modern OS. Open, available,<br />

af<strong>for</strong>dable solutions.<br />

Finally, our Cus<strong>to</strong>mer Support has one goal: provide the most experienced, timely and one-on-one cus<strong>to</strong>mer support in the industry.<br />

As the only five-time recipient of the Software Technical Assistance Recognition (STAR) Award <strong>for</strong> technical support excellence<br />

and global support center practices certified by the Support Center Practices (SCP), we are dedicated <strong>to</strong> your success.<br />

Call +44 (0)1527 66632<br />

uk_info@acceleratedtechnology.com<br />

AcceleratedTechnology.co.uk<br />

©2006 Men<strong>to</strong>r Graphics Corporation. All Rights Reserved.<br />

For a free evaluation of EDGE Development Tools, visit our website:<br />

AcceleratedTechnology.com/ou<strong>to</strong>ntime<br />

Embedded made easy.


ESE Magazine Jan/Feb 06


�������� �����<br />

���������� ��� ���� ������<br />

�� ��� �� ��� ����<br />

���������� ���� �� ��� ��������� ������ �� ��� ����� ��<br />

������ ������ �������� ���������� �������� �������<br />

���� �� �� ���� ��� ����<br />

������ ���� ���� ��� �����<br />

��� ������� ����������<br />

���� ����� ������ ���<br />

��� �� ����������<br />

����� ������������<br />

�������������� ���� �������<br />

������������ ���������� ������<br />

��������� ���� � ��� �����<br />

����� ��� ������ ���������<br />

�������������<br />

��� ���� ���� ���� ������<br />

���� �� ����� �� ���������������� ������<br />

�������� ���� ��� ������ ���� �� ���� ��<br />

���� �������� ��������� ������� �� ��<br />

���������� � ����� ���������������<br />

������ ��� ���������� � �� ��� ����<br />

����� � ���������� ���� ���� ��������<br />

���������� ���� ������� ��� ��������<br />

������������ �� ���������� ���� ���<br />

��������� ��������� ��� ������ ���<br />

���� ���� ������� �� ��� ����������<br />

��� ��� �� ���� ���������������� �������������<br />

������� ��������� ��� �����<br />

���� ���������� ������ ��<br />

�������� ������� ��������<br />

����� ���������� ����� ����<br />

�������� �������� �����������<br />

�������� ���� ����� ��������<br />

�� ��� �������� ���������<br />

����� �� �� ��� ��� �� ������������������<br />

�� email: ���� ��inside@lnxw.com �� ��������������


ESE Magazine Jan/Feb 06


���������������������<br />

�����������������������<br />

��������������������������������������<br />

�� ������������������������������������������<br />

� �����������������������������<br />

�� ����������������������������������<br />

���������������������������������<br />

�� ��������������������������������<br />

�� �������������������������������������<br />

�� �������������������������������������<br />

�� �����������������������������������������������<br />

�� ��������������������������������������<br />

������������������������������<br />

������������������������������������������������<br />

������������������


ESE Magazine Jan/Feb 06


datacom telecom wireless devices au<strong>to</strong>motive medical avionics<br />

Introducing Element, a high-availability middleware breakthrough from Enea, the world leader in advanced device<br />

software. Element is an off-the-shelf plat<strong>for</strong>m <strong>for</strong> distributed embedded <strong>system</strong>s that could save software developers<br />

50 man years or more of traditional in-house development time. It’s the first HA middleware solution <strong>design</strong>ed from<br />

the ground up <strong>for</strong> distributed embedded <strong>system</strong>s. For more in<strong>for</strong>mation about Element, call 866-844-7867 or go <strong>to</strong><br />

enea.com/element <strong>to</strong> download a copy of our free white paper S<strong>to</strong>p Writing Your Own Middleware.<br />

Embedded <strong>for</strong> Leaders


Eclipse news<br />

Recent news from the Eclipse world.<br />

Eclipsecon 2006<br />

ECLIPSECON is the premier technical and user<br />

conference <strong>for</strong> Eclipse, and the third gathering<br />

is March 20th <strong>to</strong> 23rd at the Santa Clara<br />

Convention Center. There are keynotes, conference<br />

sessions and tu<strong>to</strong>rials covering all aspects<br />

of the Eclipse plat<strong>for</strong>m.<br />

www.eclipsecon.org<br />

Workbench<br />

GENUITEC, has released the MyEclipse<br />

Enterprise Workbench 4.1. a J2EE- and Web-<br />

www.windriver.com<br />

development <strong>to</strong>ol suite. It is <strong>design</strong>ed <strong>for</strong> use<br />

on Linux, Mac OS X and Windows workstations.<br />

www.genuitec.com<br />

Eclipse 3.0 Plat<strong>for</strong>m<br />

THE QNX Momentics development suite has<br />

been upgraded, based on new versions of<br />

the Eclipse framework and the Eclipse C/C++<br />

Development Tools (CDT)<br />

It also features better interrupt-handling<br />

capabilities <strong>for</strong> the QNX <strong>system</strong> profiler, and<br />

Supplement sponsored by<br />

deeper traceback and leak detection in the<br />

memory analysis <strong>to</strong>ols <strong>for</strong> advanced debugging.<br />

Included are cus<strong>to</strong>mized Eclipse plugins,<br />

such as a code “dietician” that reduces<br />

memory footprint by removing unnecessary<br />

functionality from shared libraries, and an<br />

application profiler that pinpoints problem<br />

algorithms and identifies functions needing<br />

optimization.<br />

www.qnx.com<br />

Software architecture<br />

management<br />

LATTIX has released Lattix LDM <strong>for</strong> Eclipse,<br />

providing Lightweight Dependency Models<br />

(LDM) <strong>to</strong> <strong>for</strong>malise, communicate and control<br />

the architecture of Eclipse projects.<br />

www.lattix.com/news/news.htm<br />


Come learn how Microsoft embedded operating <strong>system</strong>s and <strong>to</strong>ols <strong>to</strong>gether with Intel’s architectures enable<br />

you <strong>to</strong> bring the next generation of smart, embedded and connected devices <strong>to</strong> market faster and with more<br />

compelling features!<br />

Where will it take place?<br />

• London Reading, UK – April 11th – <strong>12</strong>th, 2006 – hand on labs included<br />

Brief outline of the agenda:<br />

Dedicated technical sessions on Windows CE/XP Embedded/Embedded Server, Intel XScale® Technology/Embedded<br />

Intel® Architecture/Application Plat<strong>for</strong>m Technologies<br />

No participants’ fees will apply!<br />

To participate, please contact:<br />

Tina Thalmeier Stefan Zeilner<br />

Microsoft® System Marketing GmbH Intel EMEA Marketing Organisation<br />

Office: +49-89-3176-3249 Office: +49-89-99 143-562<br />

Email: tinath@microsoft.com Email: stefan.zeilner@intel.com<br />

Advert ATCA<br />

146 x <strong>12</strong>5 mm<br />

Perfect Combination… Standard Plat<strong>for</strong>m and <strong>to</strong> Individual Cus<strong>to</strong>mer’s Specification<br />

❍✔ Broadest Range of AdvancedTCA Packaging Products<br />

❍✔ Global Availability and Project Support<br />

❍✔ Unique Internet Plat<strong>for</strong>m with downloadable Manuals: www.a-tca.com<br />

Complete packaging solutions from the experts


ESE Magazine Jan/Feb 06 <br />

34<br />

Measuring real-time<br />

per<strong>for</strong>mance<br />

John Carbone, Express Logic <br />

Real-time per<strong>for</strong>mance is one of the most important criteria <strong>for</strong> selecting<br />

an RTOS. But, what is “real-time per<strong>for</strong>mance” and how is it measured?<br />

REAL-TIME PERFORMANCE can be<br />

defined as the speed with which an<br />

RTOS (or any software <strong>for</strong> that matter)<br />

can complete its functions in<br />

response <strong>to</strong> an event. The “real-time” aspect<br />

implies that the software response <strong>to</strong> one<br />

event is needed be<strong>for</strong>e some independently<br />

occurring second event takes place. For example,<br />

in response <strong>to</strong> an au<strong>to</strong>mobile engine’s<br />

intake valve opening, the engine control software<br />

must calculate the correct air-fuel mixture<br />

and have it injected in<strong>to</strong> the cylinder<br />

RTOS Functions Measured<br />

be<strong>for</strong>e the valve closes in preparation <strong>for</strong> the<br />

compression stroke. It is critical that the<br />

response <strong>to</strong> the first event is completed in time<br />

<strong>to</strong> meet the needs of the second event. This<br />

response may include many things, but paramount<br />

among them are interrupt processing<br />

and <strong>system</strong> services.<br />

Interrupt processing<br />

Real-time <strong>system</strong>s are generally <strong>design</strong>ed <strong>to</strong> be<br />

reactive in nature, and the events <strong>to</strong> which they<br />

must react are generally made known <strong>to</strong> the<br />

Context Switch (CS): Time required <strong>to</strong> save current thread’s context, find highest priority ready<br />

thread, and res<strong>to</strong>re its context.<br />

Interrupt Latency Range (ILR): Amount of time interrupts are disabled.<br />

RTOS System Services<br />

● tx_thread_suspend – Suspend an application theread.<br />

● tx_thread_resume – Resume a previously suspended thread.<br />

● tx_thread_relinquish – Relinquish control <strong>to</strong> other application threads.<br />

● tx_queue_send – Send a message <strong>to</strong> a message queue.<br />

● tx_queue_receive – Get a message from a message queue.<br />

● tx_semaphore_get – Get an instance from a counting semaphore.<br />

● tx_semaphore_put – Place an instance in a counting semaphore.<br />

● x_mutex_get – Obtain ownership of a mutex.<br />

● tx_mutex_put – Release ownership of a mutex.<br />

● tx_event_flags_set – Set or clear event flags.<br />

● tx_event_flags_get – Retrieve event flags.<br />

● tx_block_allocate – Allocate a memory block.<br />

● tx_block_release – Release a memory block.<br />

● tx_byte_allocate – Allocates bytes of memory.<br />

● tx_byte_release – Release a previously allocated memory area.<br />

For each <strong>system</strong> service, the following are measured:<br />

● Immediate Response (IR): Time required <strong>to</strong> process the request immediately, i.e., no thread<br />

suspension or thread resumption.<br />

● Thread Suspend (TS): Time required <strong>to</strong> process the request when the calling thread is suspended<br />

due <strong>to</strong> unavailability of the resource.<br />

● Thread Resumed (TR): Time required <strong>to</strong> process the request when a previously suspended<br />

thread (of the same or lower priority) is resumed as a result of the request.<br />

● Thread Resumed and Context Switched (TRCS): Time required <strong>to</strong> process the request<br />

when a previously suspended higher-priority thread is resumed as a result of the request.<br />

Since the resumed thread is higher-priority, a context switch <strong>to</strong> the resumed thread is also per<strong>for</strong>med<br />

from within the request.<br />

<strong>system</strong> as interrupts. The processor, upon recognizing<br />

an interrupt, per<strong>for</strong>ms certain actions<br />

and executes instructions that were <strong>design</strong>ed <strong>to</strong><br />

react <strong>to</strong> this event. In most cases, the processor<br />

is already per<strong>for</strong>ming some instructions immediately<br />

prior <strong>to</strong> recognizing the interrupt. This<br />

processing must be “interrupted,” and then<br />

later resumed when the critical real-time<br />

response of the interrupt has been completed.<br />

Most RTOSes are <strong>design</strong>ed <strong>to</strong> provide a means<br />

<strong>for</strong> the developer <strong>to</strong> handle interrupt processing<br />

and also <strong>to</strong> schedule and manage execution of<br />

application software threads. Interrupt processing<br />

generally includes the following:<br />

● suspending whatever thread currently is<br />

executing,<br />

● saving thread-related data that will be<br />

needed when the thread is resumed,<br />

● transferring control <strong>to</strong> an interrupt service<br />

routine (ISR),<br />

● per<strong>for</strong>ming some amount of processing in<br />

the ISR <strong>to</strong> determine exactly what action is<br />

needed,<br />

● retrieving/saving any critical (incoming)<br />

data associated with the interrupt,<br />

● setting any required device-specific (output)<br />

values,<br />

● determining which thread should now execute<br />

given the change in environment created<br />

by the interrupt and its processing,<br />

● clearing the interrupt hardware <strong>to</strong> allow<br />

the next interrupt <strong>to</strong> be recognized,<br />

● transferring control <strong>to</strong> the selected thread,<br />

including retrieval of any of its environment<br />

data that was saved when it was last interrupted.<br />

Whew! All of that (and perhaps more, depending<br />

on the RTOS) is included in “interrupt processing,”<br />

which is only one aspect of real-time<br />

per<strong>for</strong>mance. It’s no wonder that implementation<br />

of these operations in a particular RTOS<br />

can make a significant difference in real-time<br />

per<strong>for</strong>mance.<br />

System services<br />

Real-time operating <strong>system</strong>s must do more<br />

than simply respond <strong>to</strong> interrupts. They also<br />

must schedule and manage the execution of<br />

application software threads and handle


equests from threads <strong>to</strong> per<strong>for</strong>m scheduling,<br />

message passing, resource allocation, and<br />

many other services. In most instances, services<br />

must be per<strong>for</strong>med quickly, so the thread<br />

can complete its assigned processing be<strong>for</strong>e<br />

the occurrence of the next interrupt. While not<br />

a part of interrupt processing, the <strong>system</strong> service<br />

is a critical real-time response that can<br />

make or break a <strong>system</strong>, and includes:<br />

● scheduling a task or thread <strong>to</strong> run upon the<br />

occurrence of some future event,<br />

● passing a message from one thread <strong>to</strong><br />

another,<br />

● claiming a resource from a common pool,<br />

Even more variable than interrupt processing,<br />

the implementation of <strong>system</strong> services is<br />

equally critical in achieving good real-time per<strong>for</strong>mance<br />

in an RTOS. Together with interrupt<br />

processing, <strong>system</strong> services combine <strong>to</strong> <strong>for</strong>m<br />

the most significant processing that an RTOS<br />

is asked <strong>to</strong> per<strong>for</strong>m. Different implementations<br />

will approach these functions differently, with<br />

different architectures <strong>to</strong> produce a wide<br />

range of per<strong>for</strong>mance.<br />

Why is per<strong>for</strong>mance so critical?<br />

The time required <strong>for</strong> completion of these<br />

functions is particularly critical in real-time<br />

<strong>system</strong>s, which must be deterministic, and<br />

also must respond rapidly or suffer loss of data<br />

or even fundamental malfunction of the <strong>system</strong>.<br />

An example might be a flight-control <strong>system</strong><br />

that must respond <strong>to</strong> a pilot input in time<br />

<strong>to</strong> avoid a stall, or a disk-drive controller that<br />

must s<strong>to</strong>p the drive’s read head at precisely the<br />

point at which data is <strong>to</strong> be read or written.<br />

Rapid-fire interrupts from high-speed data<br />

packet arrival in<strong>to</strong> a DSL router also must be<br />

handled promptly <strong>to</strong> avoid triggering a retry<br />

because one was missed.<br />

Processor speed is critical in executing all of<br />

the RTOS instructions required <strong>to</strong> per<strong>for</strong>m the<br />

desired function, but brute <strong>for</strong>ce alone cannot<br />

satisfy <strong>system</strong> demands, nor can it provide the<br />

most economical or efficient solution. A 2GHz<br />

processor might breeze through code in satisfac<strong>to</strong>ry<br />

time, but it could be <strong>to</strong>o costly, draw <strong>to</strong>o<br />

much power, or present physical packaging<br />

challenges. A more economical processor, running<br />

an efficient RTOS, might do just as well in<br />

per<strong>for</strong>mance, or even better, yet cost far less<br />

and not pose power/heat/packaging problems.<br />

Focusing on the most significant elements<br />

allows real-time per<strong>for</strong>mance <strong>to</strong> be measured<br />

in a rigorous fashion. Comparing how well<br />

multiple RTOSes on a common hardware plat<strong>for</strong>m<br />

per<strong>for</strong>m specific critical functions (see<br />

table 1) lets developers quantify real-time per<strong>for</strong>mance<br />

and make the best decision <strong>for</strong> their<br />

application. <br />

www.expresslogic.com<br />

Table 1: Example timings<br />

��������� �������� ���<br />

�������� ��� �����<br />

� ���� ���� ����������<br />

������� �� �����<br />

���� ��� �������<br />

�������������<br />

����� �������<br />

���������� ����<br />

������ �����������������<br />

��������������������<br />

�������<br />

���������� ����<br />

�����������������<br />

�����<br />

���������� ���<br />

�����������������<br />

���<br />

���������� ����<br />

������������������<br />

�����<br />

������ ����������<br />

���������� ��� ����<br />

�����������������<br />

�����<br />

���������� ����� ����<br />

��������������������<br />

Reference plat<strong>for</strong>m: ARM9 processor, 40MHz. RTOS: ThreadX<br />

Times generally scale linearly with clock rate <strong>for</strong> most 32-bit processors<br />

System Service IR TS TR TRCS<br />

tx_thread_suspend 2.8µS 4.2µS<br />

tx_thread_resume 2.6µS 5.3µS<br />

tx_thread_relinquish 1.2µS 3.4µS<br />

tx_queue_send 2.1µS 5.1µS 4.3µS 6.8µS<br />

tx_queue_receive 1.7µS 4.9µS 4.8µS 7.6µS<br />

tx_semaphore_get 0.8µS 4.8µS<br />

tx_semaphore_put 0.9µS 3.2µS 5.8µS<br />

tx_mutex_get 1.1µS 5.3µS<br />

tx_mutex_put 2.4µS 4.4µS 7.0µS<br />

tx_event_flags_set 1.4µS 4.1µS 6.7µS<br />

tx_event_flags_get 1.2µS 5.2µS<br />

tx_block_allocate 1.0µS 4.9µS<br />

tx_block_release 1.0µS 3.4µS 6.0µS<br />

tx_byte_allocate 3.3µS 6.2µS<br />

tx_byte_release 1.9µS 6.9µS 9.5µS<br />

Context Switch 1.9µS<br />

Interrupt Latency 0µS – 1.8µS<br />

������� ������� ����������<br />

���������� ��<br />

� � ����� �� ����� ������ �� ������<br />

������� ��� ���� ����<br />

� ���� ���� �� ��������� �������������<br />

��������� �� ��� ����� ����<br />

� ����� ���� ����� �� �� ��� ���<br />

� ������������� �������� ������� �� �������<br />

������������� ����������� �������� ���<br />

������� ��������� �����<br />

���������� ��<br />

� � ������� �������� ��������� ����������<br />

��������� ������� ��� ����� ��������<br />

�� ��� ����� ������������<br />

<br />

35


ESE Magazine Jan/Feb 06 <br />

<strong>36</strong><br />

Minimizing interrupt<br />

response time: 4 simple rules<br />

David Kleidermacher, Green Hills Software, Inc. <br />

A failure <strong>to</strong> meet a response time requirement in a real-time <strong>system</strong> can<br />

be catastrophic. Sound programming coupled with proper RTOS interrupt<br />

architecture can ensure a minimal yet guaranteed worst case response time.<br />

1. Keep interrupt service<br />

routines (ISRs) short<br />

Avoid loops and other constructs which increase<br />

latency. When an interrupt fires, the microprocessor<br />

typically disables interrupts be<strong>for</strong>e<br />

executing the ISR. By keeping ISRs simple,<br />

developers avoid the common pitfall of leaving<br />

interrupts disabled <strong>for</strong> <strong>to</strong>o long, increasing the<br />

latency of higher priority interrupts.<br />

2. Do not disable interrupts<br />

A major contribu<strong>to</strong>r <strong>to</strong> increased latency is the<br />

number and length of regions in which the operating<br />

<strong>system</strong> disables interrupts. By disabling<br />

interrupts, the kernel increases latency of high<br />

priority events that arrive in those disabling windows.<br />

Most operating <strong>system</strong>s employ what we<br />

call a Simple architecture, which is easy <strong>to</strong><br />

implement: in order <strong>to</strong> prevent preemption, the<br />

kernel disables interrupts <strong>for</strong> the duration of the<br />

critical section<br />

By disabling interrupts, the Simple RTOS is<br />

sacrificing the latency of the highest priority<br />

event <strong>to</strong> avoid problems caused by handling of<br />

lower priority interrupts. A better solution,<br />

implemented in the Advanced architecture, is <strong>to</strong><br />

never disable interrupts in kernel service calls.<br />

Not only does the Advanced RTOS guarantee<br />

the minimum possible latency <strong>for</strong> the highest<br />

priority interrupt, but also the worst case latency<br />

can be trivially proven.<br />

3. Avoid improper use of operating<br />

<strong>system</strong> API calls in ISRs<br />

ISRs commonly do not require kernel API<br />

access: the ISR per<strong>for</strong>ms basic operations<br />

be<strong>for</strong>e acknowledging the interrupt and<br />

returning. A more complex ISR is required <strong>to</strong><br />

wake up a thread, such as by releasing a<br />

semaphore, <strong>for</strong> higher level processing. The<br />

RTOS vendor should limit ISRs <strong>to</strong> a small set<br />

of service calls that are necessary and deterministic.<br />

As an example of the peril regarding API<br />

usage in ISRs, consider a queue of threads<br />

waiting <strong>for</strong> a resource (e.g. a semaphore).<br />

Many Simple RTOSes use an ordinary linked<br />

list <strong>to</strong> hold the queue of threads. When the<br />

resource becomes available, the first thread,<br />

regardless of its importance relative <strong>to</strong> other<br />

waiters, is provided the resource. In contrast,<br />

the Advanced RTOS au<strong>to</strong>matically wakes up<br />

the highest priority waiting thread. Some<br />

Simple RTOSes have a service call that pulls<br />

the highest priority thread out of the queue and<br />

jams it on<strong>to</strong> the front. <strong>On</strong>e problem with this<br />

approach is its usability: the developer must<br />

remember <strong>to</strong> insert prioritisation calls and<br />

determine where in the code they belong.<br />

Worse, the RTOS must search linearly through<br />

the unordered list <strong>to</strong> find the highest priority<br />

thread; real-time behaviour is lost.<br />

The Advanced architecture provides a second-level<br />

handler, sometimes termed a callback,<br />

<strong>to</strong> per<strong>for</strong>m higher level processing<br />

when the kernel has returned <strong>to</strong> a consistent<br />

state. If the developer must add a callback in<br />

the ISR and then write code in the callback <strong>to</strong><br />

do the service call, this makes programming<br />

more difficult. Not <strong>to</strong> worry: the Advanced<br />

RTOS hides the details of two-level handling<br />

by allowing the use of a standard API call<br />

which places the callback on behalf of the<br />

programmer.<br />

There are some important advantages <strong>to</strong> the<br />

Advanced architecture’s optional two-level handler.<br />

By pushing work in<strong>to</strong> the callback (where<br />

interrupts are enabled), the Advanced RTOS<br />

reduces the temporal footprint of the ISR, in turn<br />

reducing the latency <strong>for</strong> higher priority interrupts<br />

(Figure 1). Note that the overhead of the twolevel<br />

handling is negligible: a callback entails<br />

merely placing a function address on a list <strong>for</strong><br />

the kernel <strong>to</strong> call; no heavyweight processing or<br />

memory is required.<br />

4. Properly prioritise interrupts<br />

relative <strong>to</strong> threads<br />

When a thread is awakened <strong>for</strong> higher level processing<br />

of the most important event, this thread<br />

becomes the most important thread in the <strong>system</strong>.<br />

The thread must complete its processing<br />

within a fixed period of time.<br />

In the Simple RTOS, the thread runs with all<br />

interrupts enabled. Any low priority interrupt can<br />

fire, delaying the most important thread and<br />

Figure 1: Reducing latency <strong>for</strong> higher<br />

priority interrupts.<br />

Figure 2: Minimum response time <strong>for</strong> events.<br />

causing missed deadlines. In fact, since interrupts<br />

may nest, multiple events, and all of their<br />

associated ISR processing, could delay this high<br />

priority processing by an unpredictable length of<br />

time.<br />

The Advanced RTOS allows interrupts <strong>to</strong> be<br />

prioritised relative <strong>to</strong> threads. When a high priority<br />

thread is awakened during interrupt processing,<br />

the kernel inhibits lower priority interrupts<br />

when switching <strong>to</strong> the high priority thread.<br />

When the high priority thread completes its<br />

work, the kernel reenables lower priority interrupts.<br />

This architecture guarantees the minimum<br />

thread response time <strong>for</strong> the highest priority<br />

real-time events (Figure 2).<br />

Complex embedded <strong>system</strong>s, with multiple<br />

concurrent tasks and interrupt sources, pose a<br />

challenge <strong>for</strong> RTOS interrupt handling architecture.<br />

Developers will achieve the best interrupt<br />

response time by following a few simple rules<br />

and employing an RTOS with an Advanced interrupt<br />

architecture. <br />

www.ghs.com


Embedded PCs<br />

Fieldbus<br />

Packaged PCs LCD Displays<br />

Flash S<strong>to</strong>rage<br />

Touchscreens<br />

Fanless Pentium M PC Systems<br />

Microspace PC range<br />

Pentium M and Celeron M Processor 1.4G/600MHz<br />

Passive cooling no fan Aluminium case IP50 -40 <strong>to</strong> 70 deg C<br />

Low power consumption 8 <strong>to</strong> 30V DC<br />

Vehicle approved CE and E1<br />

100/10 Base-T LAN, miniPCI WLAN, Digital I/O<br />

6 USB 2.0, Audio<br />

3 parallel displays<br />

Fieldbus option<br />

BT878 Framegrabber<br />

DVD-R/CD-RW option<br />

CF & preheat HDD<br />

GPS and GSM option<br />

GSM Sleep/Wake<br />

4 COM option<br />

PC/104 expansion<br />

PC/104+ expansion<br />

from £770 net 600MHz 256RAM 40GB HDD<br />

Miles Industrial Electronics Ltd<br />

Phone: +44 (0)1604 771<strong>12</strong>2<br />

Buy <strong>On</strong>line<br />

www.milesie.co.uk<br />

Designed <strong>to</strong> provide a fully cus<strong>to</strong>mised embedded<br />

solution with minimal engineering and adaptation<br />

costs, the new GX2 ETX is a complete processor core<br />

which will enable a cus<strong>to</strong>m product <strong>to</strong> be developed<br />

and brought <strong>to</strong> market quickly and easily.<br />

Geode GX533 processor<br />

ETX<br />

400 MHz<br />

5<strong>12</strong>MB DDR RAM<br />

embeddedpc<strong>design</strong><br />

Compliant. Brilliant!<br />

+44 (0) 1462 675530 <strong>design</strong>@dsl-ltd.co.uk www.embeddedpc<strong>design</strong>.com


ESE Magazine Jan/Feb 06 <br />

38<br />

Application portability across<br />

RTOSs and connection media<br />

Terry Wright, RTI <br />

Middleware <strong>for</strong> embedded <strong>system</strong>s is beginning <strong>to</strong><br />

make an impact on the embedded space.<br />

TODAY’S EMBEDDED devices are<br />

more connected than ever be<strong>for</strong>e. Indeed,<br />

it’s hard <strong>to</strong> conceive of a device that does<br />

not require connection capabilities in<br />

<strong>to</strong>day’s world. There is a plethora of connection<br />

mechanisms, from the ubiqui<strong>to</strong>us Ethernet and<br />

serial connections, <strong>to</strong> USB, Wi-Fi and fabric<br />

technologies. RTOS vendors deliver an essential<br />

service <strong>to</strong> developers by providing an efficient<br />

and productive environment <strong>for</strong> <strong>system</strong> <strong>design</strong><br />

and integration. As well as providing an optimized<br />

plat<strong>for</strong>m <strong>for</strong> single node application<br />

development, the modern RTOS environment<br />

must integrate the huge range of device drivers<br />

and pro<strong>to</strong>col stacks needed <strong>to</strong> meet increasingly<br />

complex distributed <strong>system</strong> requirements, and<br />

also facilitate hardware <strong>to</strong> software integration.<br />

What has changed in recent year’s is that<br />

<strong>system</strong> developers now frequently have <strong>to</strong> deal<br />

with applications which must span multiple connected<br />

nodes; they also have <strong>to</strong> run across multiple<br />

hardware transport mechanisms connecting<br />

those nodes, and even across multiple different<br />

OS’s, from the deeply embedded RTOS through<br />

RT Linux and up in<strong>to</strong> the enterprise space where<br />

standard Unix and Windows <strong>system</strong>s are running.<br />

This is where middleware solutions are<br />

needed, providing the simplifying model of a single<br />

API that spans multiple OS’s and CPU types.<br />

Much as in the enterprise space, where middleware<br />

has been a key application enabler <strong>for</strong><br />

many years, the embedded device space is now<br />

recognizing its increasing importance <strong>to</strong> cost effective<br />

application development and deployment.<br />

Open standard<br />

Data Distribution Services (DDS) is an embedded<br />

middleware solution that delivers common<br />

data distribution capabilities <strong>for</strong> almost any connection<br />

mechanism and RTOS or enterprise OS,<br />

but tuned <strong>to</strong> the real-time per<strong>for</strong>mance and<br />

memory requirements of what are, after all,<br />

highly demanding embedded devices and <strong>system</strong>s.<br />

Even better, the DDS mechanism is a published<br />

open standard developed and supported<br />

by the Object Management Group (OMG), which<br />

is already being adopted by a number of embedded<br />

software developers and vendors.<br />

Of course there is more <strong>to</strong> developing<br />

embedded devices than just putting the components<br />

<strong>to</strong>gether; embedded <strong>system</strong>s <strong>design</strong>ers<br />

need <strong>to</strong> manage the available resources, be it<br />

the amount of work the CPU can be expected <strong>to</strong><br />

do or the amount of memory available and<br />

required. Embedded devices are usually expected<br />

<strong>to</strong> operate 24/7 without failure, and some<br />

safety critical <strong>system</strong>s need <strong>to</strong> have built in<br />

redundancy and au<strong>to</strong>matic failover.<br />

Effective Data Distribution middleware must<br />

also cater <strong>for</strong> real-time requirements. How is task-<br />

ing controlled, how is the task priority set in Data<br />

Distribution middleware and how is the task stack<br />

size determined? How is the memory required by<br />

the middleware <strong>for</strong> data buffering allocated? How<br />

is data delivered? What overheads on the transport<br />

bandwidth does the data distribution method<br />

imply? All these questions and more must be considered<br />

by <strong>system</strong> <strong>design</strong>ers.<br />

The DDS standard (DDS 1.0) was released in<br />

2005 and details a Data Distribution API using<br />

the Publish-Subscribe data distribution paradigm,<br />

as opposed <strong>to</strong> the more widely known<br />

Client-Server paradigm. DDS provides <strong>for</strong> a Peer<br />

<strong>to</strong> Peer, loosely coupled network of connected<br />

devices with no single point of failure. Best<br />

Ef<strong>for</strong>t or Reliable data delivery semantics and<br />

au<strong>to</strong>matic discovery of DDS nodes facilitates a<br />

“self-healing” network. Asynchronous notification<br />

of the data arrival and early detection of<br />

failing nodes are a few of the many features<br />

available within the DDS specification.<br />

Application-level security validation can also be<br />

achieved using DDS features.<br />

Vendor support<br />

There are already a number of software vendors<br />

who have decided <strong>to</strong> provide support this new<br />

standard, Real Time Innovations (RTI) being one<br />

of them. RTI have a long his<strong>to</strong>ry in working with<br />

Real Time Systems and RTOS vendors. Wind<br />

River recently purchased the RTI <strong>to</strong>ols division<br />

which developed some of the most widely used<br />

real time diagnostic <strong>to</strong>ols available<br />

(Stethoscope, MemoryScope, ProfileScope<br />

,CoverageScope and TraceScope) so their experience<br />

in the real-time environment is widely<br />

acknowledged. Such experience, coupled with<br />

their long-standing involvement in Publish-<br />

Subscribe middleware and the drive <strong>for</strong> open<br />

standards, motivated RTI <strong>to</strong> chair the OMG standardization<br />

committee <strong>for</strong> the DDS specification.<br />

RTI <strong>design</strong>ed their implementation of the<br />

DDS specification (NDDS4.0) <strong>to</strong> be RTOS-friend-<br />

Developers now frequently have <strong>to</strong> deal with<br />

applications which span multiple connected nodes<br />

ly by providing support <strong>for</strong> standard RTOS offerings<br />

popular in <strong>to</strong>day’s heterogeneous networks;<br />

notably VxWorks from Wind River, Integrity from<br />

Greenhills and LynxOS from LynuxWorks and<br />

more recently QNX.<br />

Fine Control<br />

Quality of Service (QoS) settings within NDDS provide<br />

the fine control over <strong>system</strong> resources that<br />

<strong>system</strong> <strong>design</strong>ers demand, such as NDDS task priorities,<br />

and NDDS task stack types and sizes.<br />

“Ahead-of-time” memory allocation <strong>for</strong> data<br />

buffers, no mallocs at run time, network redundancy<br />

and multiple concurrent transports are all standard<br />

supported features, in addition <strong>to</strong> the QoS<br />

built in <strong>to</strong> the DDS specification that handles au<strong>to</strong>matic<br />

failover and data delivery semantics. RTI’s<br />

DDS implementation features a pluggable transport<br />

mechanism <strong>for</strong> NDDS that provides the necessary<br />

abstraction <strong>for</strong> application developers who<br />

need <strong>to</strong> move data over any transport. e.g<br />

Ethernet, VME backplanes, PCI Express, Shared<br />

Memory or indeed StarFabric transports.<br />

The Open DDS middleware standard, combined<br />

with RTI’s NDDS implementation features<br />

and extensive RTOS support delivers an open<br />

standards based solution <strong>to</strong> the most demanding<br />

and complex of distributed <strong>system</strong> development<br />

<strong>to</strong>day. <br />

www.rti.com/resources.html<br />

www.omg.org/technology/


Copyright © 2006 Kontron AG. All rights reserved. Kontron and the Kontron logo and all other trademarks or registered trademarks are the property of their respective owners and are recognized. Rev. #G041eu01-WMH<br />

Our info hotline:<br />

ePanel-C3<br />

Tel. + 44 <strong>12</strong>43 523500<br />

www. kontron-emea. com<br />

u ks a l e s @ ko n t ro n . c o m<br />

If it‘s Embedded, it‘s Kontron.<br />

L o n g t e r m<br />

e P a n e l - C 3<br />

A v a i l a b i l i t y<br />

ePanel - C3<br />

� Full featured SBC, e.g. <strong>for</strong><br />

mobile applications<br />

� Real Low-Profi le<br />

� Supports digital and LVDS displays<br />

� Low power x86 compatible CPU<br />

� VIA Eden CPU 300 MHz <strong>to</strong> 1 GHz versions<br />

� MPEG2 hardware decoder<br />

� Wide range power supply (8 - 28 Volt)<br />

� Touch Screen Support<br />

14.02. - 16.02.06<br />

Hall <strong>12</strong>, Booth 404<br />

� Prepared <strong>for</strong> wireless connections via<br />

PC-Card-Slot or MiniPCI-Interface<br />

� Flexible I/O Concept via adapters


ESE Magazine Jan/Feb 06 <br />

40<br />

The fourth RTOS<br />

Kevin Pope, Quadros Inc. <br />

Cores combining MCU and DSP architectures require a different kind of RTOS.<br />

THE EMBEDDED software market has<br />

his<strong>to</strong>rically developed two fundamentally<br />

different RTOS architectures, each <strong>design</strong>ed<br />

<strong>to</strong> serve the needs of the underlying processor<br />

architectures; specifically MCU’s (CISC/RISC)<br />

and DSP's. Most commercial RTOS vendors have<br />

developed solutions adapted and optimized <strong>to</strong> one<br />

or other of these <strong>design</strong>s and their (traditionally<br />

somewhat different) applications.<br />

A third RTOS <strong>design</strong>, multiprocessor, is<br />

required <strong>to</strong> support multiple processor architectures,<br />

completing the “traditional” RTOS space.<br />

In recent years, however, the pressure <strong>to</strong><br />

reduce both cost and power consumption in volume<br />

applications such as consumer hand-held<br />

multimedia electronics has increased dramatically.<br />

Consumers are driving their objects of desire<br />

smaller and smarter. There are many issues <strong>for</strong><br />

the manufacturer, but the essential question has<br />

<strong>to</strong> be – how <strong>to</strong> fit more features and functions<br />

in<strong>to</strong> an ever decreasing physical space. Inside<br />

the glossy exterior, there is a struggle <strong>for</strong> space<br />

on a PCB already overcrowded with connec<strong>to</strong>rs<br />

<strong>for</strong> USB, antenna(s), power, flash, etc.<br />

Convergent processors<br />

These market pressures have led <strong>to</strong> the emergence<br />

of a new type of single core hybrid, or convergent<br />

processor, combining both MCU and DSP<br />

architectures. Such ‘convergent’ processors can<br />

be <strong>design</strong>ed as DSP's with MCU capabilities (e.g.<br />

Freescale’s DSP56800E) or MCU’s with DSP<br />

extensions (e.g. Freescale's ColdFire) or completely<br />

new cores <strong>design</strong>ed from the ground up <strong>to</strong><br />

serve both architectural needs (e.g. StarCore, or<br />

ADI's Blackfin). These single core <strong>design</strong>s enable<br />

hardware engineers <strong>to</strong> reduce chip count and<br />

reduce the overall size of the device, leading <strong>to</strong> a<br />

reduction in <strong>system</strong> cost and power consumption.<br />

But this creates a challenge <strong>for</strong> the <strong>design</strong> of<br />

the supporting RTOS architecture: should it be<br />

Table 1: Single stack advantages<br />

Multitasking Architecture<br />

<strong>for</strong> Control Plane Processing<br />

optimized <strong>for</strong> the interrupt-driven control environment<br />

of the MCU, or <strong>for</strong> the data-flow environment<br />

of DSP? In the same way that silicon<br />

has been <strong>for</strong>ced <strong>to</strong> converge, a fourth RTOS<br />

type, optimized <strong>for</strong> the convergent environment<br />

is also needed.<br />

Quadros Inc have recognized this trend by<br />

developing a 4-way RTOS <strong>design</strong>, RTXC<br />

Quadros, with a version <strong>design</strong>ed and optimized<br />

<strong>for</strong> each of the four architectural types; MCU,<br />

DSP, Multiprocessing, and ‘Convergent’. The<br />

approach taken <strong>to</strong> provide a convergent software<br />

solution is <strong>to</strong> use a “dual mode” RTOS<br />

<strong>design</strong>, with each part of the application running<br />

in an environment optimized either <strong>for</strong> DSP or<br />

MCU execution.<br />

Context overhead<br />

The main drawback of a multi-tasking MCU type<br />

RTOS <strong>for</strong> a DSP engineer is the necessity <strong>for</strong><br />

each task <strong>to</strong> retain what is known as a context.<br />

This s<strong>to</strong>ring and res<strong>to</strong>ring of data consumes<br />

vital processor instruction cycles and delays processing<br />

of the interrupt. When the interrupts are<br />

frequent and constant, as in streaming media,<br />

the context switch becomes a heavy overhead in<br />

the <strong>system</strong>. In the worst case, the control application<br />

may never get any processor time <strong>to</strong> complete<br />

its necessary processing or the interrupts<br />

may be lost because the ISRs cannot keep up<br />

with the demand from external events.<br />

With a convergent processor, these two<br />

roles must be balanced efficiently within a single<br />

resource. The obvious way <strong>to</strong> assist this situation<br />

is <strong>to</strong> reduce overheads and the biggest<br />

Multithreaded Architecture<br />

<strong>for</strong> Data Plane Processing<br />

<strong>On</strong>e stack per task All threads use single stack<br />

Multiple priorities Multiple priority levels<br />

Preemption between priorities Preemption between levels<br />

Context saved and res<strong>to</strong>red as needed No context saved or res<strong>to</strong>red except on preemption<br />

Can wait <strong>for</strong> an event Cannot wait <strong>for</strong> an event<br />

Lower priority than threads Run <strong>to</strong> completion within a level<br />

The question is how <strong>to</strong> fit more features and<br />

functions in<strong>to</strong> an ever decreasing physical space<br />

overhead in a <strong>system</strong> with many interrupts is the<br />

context switch.<br />

The dual-mode <strong>design</strong> of RTXC/dm combines<br />

a traditional task-based kernel architecture <strong>for</strong><br />

real-time control processing with a specialized<br />

executive <strong>for</strong> DSP and dataflow operations. The<br />

control application code will execute in the<br />

familiar environment of a pre-emptive priority<br />

based scheduler, typically used <strong>for</strong> such tasks as<br />

user interface, communication paths and peripherals.<br />

Meanwhile, the signal processing application<br />

code will execute in a highly efficient single-stack<br />

environment. (See Table 1).<br />

Fast switching<br />

DSP processes, handled by lightweight code<br />

entities called threads, run at a priority higher<br />

than control tasks, ensuring they get access <strong>to</strong><br />

the CPU and can meet their real-time requirements.<br />

Thread-<strong>to</strong>-thread switching is very fast<br />

because threads carry no context. Control operations<br />

are supported by a multitasking processing<br />

model with a rich set of static and dynamic<br />

kernel objects and inter task synchronization<br />

options. As a further advantage, all this takes<br />

place in a single development environment, so<br />

both DSP and MCU-based development <strong>to</strong>ols<br />

can communicate easily between the domains<br />

using the object classes and related services of<br />

the operating <strong>system</strong>.<br />

Thus the use of a dual mode RTOS architecture<br />

ensures that the developer of such<br />

demanding applications can fully leverage the<br />

low cost, low power advantages of the new<br />

convergent processor <strong>design</strong>s emerging in the<br />

market <strong>to</strong>day. <br />

www.quadros.com


• Q u a l i t y a n d r e l i a b i l i t y b y d e s i g n • L o n g t e r m s u p p l y •<br />

MAT 1100<br />

• Intel ® Pentium ® M Processor 1.4, 1.8, 2.1G<br />

• 5V only PICMG 1.0<br />

• -<strong>30°C</strong> option<br />

• Ideal upgrade <strong>for</strong> Pentium ® III and Pentium ® 4 <strong>design</strong>s<br />

• Far lower power than the Pentium ® 4<br />

• Intel ® Extreme 2 Graphics<br />

• Optional High Per<strong>for</strong>mance Graphics using ATI 9000,<br />

dual screen, DVI/DFP, LVDS<br />

• 2 Serial, 4 USB, dual Gigabit Ethernet, Sound, CompactFlash<br />

MAT 1111<br />

• Intel ® Pentium ® M Processor 1.4G (738), 1.8G or 2.1G<br />

• Intel ® Celeron ® M Processor 600Mhz<br />

• Low power <strong>12</strong> <strong>watts</strong> <strong>to</strong> <strong>36</strong> <strong>watts</strong> depending on CPU and loading<br />

• EBX size, Mini PCI, PC/104-Plus, CompactFlash<br />

• Heat spreader plate <strong>to</strong> support <strong>sealed</strong> <strong>system</strong> <strong>design</strong><br />

• Fanless option<br />

• Extended temperature -<strong>30°C</strong> power on option<br />

• Intel ® Extreme 2 Graphics, LVDS, CRT<br />

• High Per<strong>for</strong>mance Graphics using ATI, dual screen, DVI/DFP<br />

• Two independent video input channels; mux up <strong>to</strong> 4 inputs<br />

• 5V only<br />

Contact us<br />

Europe & rest of world:<br />

Microbus plc<br />

Tel: +44 (0) 1628 537333<br />

Fax: +44 (0) 1628 537334<br />

email: sales@microbus.com<br />

www.embedded-pc.com<br />

Designed and manufactured in the UK<br />

PERFORMANCE IN<br />

THE EXTREME<br />

USA & Canada:<br />

Microbus Inc<br />

Tel: +1 (800) 688-4405 or (281) 568-4744<br />

Fax: +1 (281) 568-4604<br />

email: sales@microbus-usa.com<br />

www.embedded-pc.com<br />

Intel ® Pentium ® M Processor<br />

embedded SBCs <strong>for</strong> demanding<br />

environments<br />

-<strong>30°C</strong> <strong>Power</strong> <strong>On</strong><br />

<strong>12</strong> <strong>to</strong> <strong>36</strong> <strong>watts</strong> -<br />

<strong>for</strong> <strong>fanless</strong> <strong>sealed</strong> <strong>system</strong> <strong>design</strong><br />

Two Philips 7130 <strong>for</strong> PAL/NTSC input<br />

For full specifications go <strong>to</strong> our website<br />

www.embedded-pc.com<br />

Microbus<br />

B e t t e r b y d e s i g n


ESE Magazine Jan/Feb 06 <br />

42<br />

XP & real-time <strong>system</strong>s<br />

Paul Fischer, TenAsys Corp <br />

A virtual machine approach combines a Windows interface with an RTOS.<br />

TO AUGMENT the flexibility of<br />

Windows as a human-machine interface<br />

OS with support <strong>for</strong> the deterministic<br />

requirements of embedded applications,<br />

<strong>design</strong>ers usually add a dedicated real-time<br />

component (i.e., a second computer).<br />

Un<strong>for</strong>tunately, a second control computer adds<br />

substantial cost of goods, manufacturing complexity,<br />

and <strong>system</strong>-<strong>to</strong>-<strong>system</strong> coordination<br />

headaches. A “single-computer dual-OS” <strong>system</strong>,<br />

where one compute element hosts both the<br />

Windows <strong>system</strong> and the RTOS, significantly<br />

reduces the cost of goods and complexity, and<br />

simplifies the coordination of Windows with<br />

real-time processes.<br />

Typical real-time Windows solutions utilize a<br />

Windows driver inserted in the Windows kernel,<br />

an approach that presents many software <strong>design</strong><br />

challenges. A true dual-OS solution employs virtual<br />

machine technology where the non-deterministic<br />

application elements execute on a “Windows<br />

virtual machine,” and deterministic software executes<br />

on a “real-time virtual machine” (see figure).<br />

A significant advantage of this virtual machine<br />

approach is the leverage application developers<br />

gain by using a single standard development <strong>to</strong>ol<br />

<strong>for</strong> both environments.<br />

Interval timers<br />

Real-time processes and threads running on<br />

the RTOS virtual machine need access <strong>to</strong> highspeed<br />

interval timers <strong>for</strong> accurate, low-drift<br />

time measurements and <strong>for</strong> generating exact<br />

periodic intervals <strong>to</strong> insure precise control of<br />

real-time <strong>system</strong>s. x86 APIC uniprocessor and<br />

multi-processor <strong>system</strong>s, the vast majority of<br />

embedded and desk<strong>to</strong>p Windows plat<strong>for</strong>ms<br />

built <strong>to</strong>day, are excellent candidates.<br />

To insure efficient implementation of realtime<br />

threads, developers need an environment<br />

that supports direct access <strong>to</strong> I/O and memory, a<br />

fixed priority scheduling <strong>system</strong> with priorityinversion<br />

protection, and simplified interrupthandling<br />

services. They can then create and<br />

deploy sophisticated real-time applications<br />

without having <strong>to</strong> write complex and cumbersome<br />

device drivers <strong>for</strong> access <strong>to</strong> real-time<br />

hardware, simplifying development and debugging<br />

of control and data acquisition algorithms.<br />

The net gain of the virtual machine “singlecomputer<br />

dual-OS” approach is elimination of<br />

redundant computer and communication hardware<br />

and faster communication and coordination<br />

between the real-time and Windows appli-<br />

cation parts. The RTOS and its processes run on<br />

the same hardware as the standard Windows<br />

kernel, sharing the CPU, memory, and I/O<br />

resources.<br />

A better approach<br />

The virtual machine approach <strong>to</strong> adding realtime<br />

task processing <strong>to</strong> applications incorporating<br />

Windows is quite different from those<br />

approaches that install a real-time kernel in the<br />

<strong>for</strong>m of a Windows device driver or sub<strong>system</strong>.<br />

The device driver and sub<strong>system</strong> models <strong>for</strong>ce<br />

real-time applications <strong>to</strong> operate as part of the<br />

Windows kernel. Kernel mode code has privileged<br />

access <strong>to</strong> the entire memory space, including<br />

the Windows kernel and other device drivers;<br />

it lacks address isolation and memory protection.<br />

A real-time thread running on such a <strong>system</strong> can<br />

easily overwrite other processes: both real-time<br />

and Windows processes. Because such programming<br />

errors are difficult <strong>to</strong> detect in kernel<br />

mode and result in spurious but critical failures,<br />

achieving reliable operation through this method<br />

often requires extensive testing and debugging.<br />

Many such errors are not detectable until the<br />

<strong>system</strong> has been deployed in the field. Creating<br />

a complex, multi-threaded, real-time application<br />

<strong>to</strong> run inside the Windows kernel is contrary <strong>to</strong><br />

the notion of building reliable, safe, and dependable<br />

real-time applications.<br />

<strong>On</strong> the other hand, using a virtual machine <strong>to</strong><br />

add real-time responsiveness <strong>to</strong> Windows, as<br />

TenAsys’ INtime does, enables the RTOS <strong>to</strong><br />

maintain reliable operation of real-time processes<br />

in the event of a Windows crash. The virtual<br />

machine approach <strong>to</strong> real-time Windows allows<br />

real-time applications <strong>to</strong> run in user-mode, not<br />

kernel-mode. The result is improved reliability<br />

and robustness, as well as simplified programming<br />

and debugging. Each real-time process<br />

runs in a separate 32-bit protected memory segment.<br />

These segments are distinct from those<br />

used by Windows and provide address isolation<br />

and protection not just between the real-time<br />

processes, but also between real-time processes<br />

and non-real-time Windows code.<br />

Dual-core enhancements<br />

Using two virtual machines <strong>to</strong> share a single CPU<br />

plat<strong>for</strong>m that supports Windows and real-time,<br />

works <strong>for</strong> a large number of real-time Windows<br />

applications. Typically, applications with cycle<br />

times of one millisecond or slower are served quite<br />

well by this arrangement and have been deployed<br />

Win32<br />

Processes<br />

Win32 APIs<br />

Windows OS<br />

Windows<br />

Kernel<br />

Windows<br />

Virtual Machine<br />

Real-Time Application<br />

Inter-OS<br />

Communication<br />

Pentium-class processor<br />

Real-Time<br />

Processes<br />

INtime APIs<br />

Real-Time<br />

Kernel<br />

INtime<br />

Virtual Machine<br />

Figure 1: A virtual machine implementation<br />

on an Intel Architecture processor.<br />

on the current crop of desk<strong>to</strong>p and industrial motherboard<br />

plat<strong>for</strong>ms (uniprocessor and hyper-threaded<br />

Pentium 4 class processors running at 1-3GHz).<br />

However, some applications demand faster<br />

cycle times. For these applications the solution<br />

is dual-core processors. Higher speed cycle<br />

times mean higher bandwidth controllers, a<br />

desirable trait because it leads <strong>to</strong> improved per<strong>for</strong>mance<br />

and throughput.<br />

Dual-core processors easily support two operating<br />

<strong>system</strong>s by dedicating one CPU <strong>to</strong> the<br />

RTOS. The CPU instruction cycles of the dedicated<br />

core are available 100% of the time <strong>to</strong> the<br />

RTOS. The CPU cycles of all remaining cores<br />

become the exclusive property of the Windows<br />

virtual machine. Contention <strong>for</strong> key CPU<br />

resources such as pipelines, cache, and the FPU<br />

are avoided. Coordination between the two<br />

processors is accomplished by using built-in<br />

interprocessor communication mechanisms,<br />

eliminating context switch. In this scenario, interrupt<br />

latencies are reduced by an order of magnitude,<br />

from 10-30 microseconds down <strong>to</strong> 1-3<br />

microseconds. Loop cycle times in the 50-200<br />

microsecond range are able <strong>to</strong> operate with high<br />

precision and accuracy. The advent of inexpensive<br />

dual-core hardware means an order of magnitude<br />

improvement in the quality and bandwidth<br />

of control algorithms can be obtained on a realtime<br />

Windows plat<strong>for</strong>m!<br />

An RTOS that shares the CPU with Windows,<br />

using virtual machine technology, allows embedded<br />

Windows applications <strong>to</strong> take full advantage<br />

of the Windows’ standard user interface, network<br />

capabilities, development <strong>to</strong>ols, and off-the-shelf<br />

software and still deliver the per<strong>for</strong>mance required<br />

of critical, hard real-time tasks. <br />

www.tenasys.com


NO SLOWING DOWN. EVER. The market won’t care<br />

who gets there first. We'll work with you <strong>to</strong> architect the<br />

best embedded solution <strong>for</strong> your company. And you can<br />

start now because we are already doing it. Get your<br />

product out there. Fast.<br />

PEDAL TO THE METAL.<br />

www.radisys.com


ESE Magazine Jan/Feb 06 <br />

44<br />

MILS: High-assurance security<br />

Joe Jacob, Objective Interface Systems <br />

As it becomes possible <strong>to</strong> connect <strong>system</strong>s through the<br />

Net, how can you preserve their integrity and security?<br />

NOW THAT the Internet and high-speed<br />

communications have made it possible<br />

<strong>to</strong> connect military and aerospace <strong>system</strong>s<br />

throughout the world through the<br />

U.S. Department of Defense’s Global In<strong>for</strong>mation<br />

Grid (GIG), in<strong>for</strong>mation networks are more vulnerable<br />

than ever. An emerging software architecture,<br />

Multiple Independent Levels of Security<br />

(MILS), was <strong>design</strong>ed <strong>to</strong> increase the level of<br />

security <strong>for</strong> safety- and mission-critical <strong>system</strong>s.<br />

It combines the best of the safety and security<br />

worlds <strong>to</strong> create a better solution than either<br />

could have devised. It draws upon FAA DO-178B<br />

Level A Safety technology and Common Criteria<br />

EAL7 Security requirements <strong>to</strong> enable highassurance<br />

security <strong>for</strong> mission-critical embedded<br />

and real-time <strong>system</strong>s, including high-assurance<br />

weapons, training and communications <strong>system</strong>s<br />

and C4I plat<strong>for</strong>ms. MILS dramatically reduces the<br />

size and complexity of security-critical code,<br />

thereby allowing faster and more cost-effective<br />

development and evaluation.<br />

The central idea behind MILS is <strong>to</strong> partition<br />

a <strong>system</strong> in such a way that (1) the failure or corruption<br />

of any single partition cannot affect any<br />

other part of the <strong>system</strong> or network, and (2) each<br />

partition can be security-evaluated and certified<br />

separately, so that no partition needs <strong>to</strong> be evaluated<br />

at a higher level than is required <strong>for</strong> its<br />

particular function.<br />

The MILS architecture<br />

To support these partitions, the MILS architecture<br />

is divided in<strong>to</strong> three layers, the Separation<br />

Kernel, Middleware and Applications.<br />

Separation kernel: The MILS separation kernel<br />

divides the computer in<strong>to</strong> separate address<br />

spaces and scheduling intervals, guarantees isolation<br />

of the partitions, and supports carefully<br />

controlled communications among them.<br />

Because the separation kernel per<strong>for</strong>ms these<br />

functions and only these functions, the source<br />

code can be small—roughly 4,000 lines of C language<br />

code. This makes it fast and practical <strong>to</strong><br />

verify using <strong>for</strong>mal analysis methods (mathematical<br />

verification) and <strong>to</strong> do the exhaustive<br />

testing and comprehensive documentation<br />

required <strong>for</strong> the highest level certifications. The<br />

separation kernel requires the highest level of<br />

authentication, and is the only piece of software<br />

that runs in privileged mode. There<strong>for</strong>e, no other<br />

code, not even device drivers, has the ability <strong>to</strong><br />

affect the processor’s protection mechanisms.<br />

Everything else, including all middleware, runs<br />

in user mode. The small size of the separation<br />

kernel is a manifestation of the most important<br />

MILS <strong>design</strong> objective:<br />

It is because of this rigorous inspection and<br />

evaluation that the MILS separation kernel can<br />

be trusted. Green Hills Software, LynuxWorks<br />

and Wind River each plan on delivering commercially<br />

available Separation Kernels.<br />

Middleware: In the MILS architecture, middleware<br />

has a broader meaning that just traditional<br />

middleware. Most of the traditional operating<br />

<strong>system</strong> functions have been moved from the<br />

operating <strong>system</strong> <strong>to</strong> “middleware services,”<br />

e.g., file <strong>system</strong>s, device drivers, trusted path,<br />

etc. Middleware services include a Partitioning<br />

Communications System (PCS) <strong>to</strong> extend the<br />

scope of the separation kernel <strong>to</strong> inter-<strong>system</strong><br />

communication. It also includes traditional middleware<br />

like CORBA (Common Object Request<br />

Broker Architecture), DDS (Data Distribution<br />

Service) and Web services. Middleware resides<br />

in the same kind of partition as the application<br />

that it supports, either co-resident with the<br />

application or in a partition by itself.<br />

Middleware runs in unprivileged (user) mode,<br />

making these services subject <strong>to</strong> separation kernel<br />

policy en<strong>for</strong>cement. The services that previously<br />

ran in privileged mode as part of the operating<br />

<strong>system</strong>, such as memory allocation, device<br />

drivers, I/O primitives, file <strong>system</strong>s, and network<br />

stacks, now run in user mode in the MILS middleware<br />

layer.<br />

Applications: Applications manage, control,<br />

and en<strong>for</strong>ce their own application-level security<br />

policies, such as firewalls, cryp<strong>to</strong> services and<br />

guards. Instead of the fail-first patch-later<br />

approach, trusted components are mathematically<br />

verified so that they are “NEAT”: Nonbypassable,<br />

Evaluatable, Always invoked, and<br />

Tamperproof.<br />

The importance of the PCS<br />

When we create a distributed <strong>system</strong> configuration,<br />

we would like it <strong>to</strong> be as safe or secure as<br />

if it were just a single processor. We accomplish<br />

this by implementing end-<strong>to</strong>-end en<strong>for</strong>cement of<br />

the basic MILS separation kernel policies. The<br />

PCS is the en<strong>for</strong>cement mechanism. The collection<br />

of MILS nodes in a distributed <strong>system</strong> is<br />

called an enclave, and the PCS is present in each<br />

node in the enclave. The PCS fits between the<br />

applications and the partitions implementing<br />

U<br />

(SL)<br />

Application<br />

Application<br />

#1<br />

Middleware<br />

Application<br />

#1<br />

Middleware<br />

S<br />

(SL)<br />

Application<br />

PCSexpress<br />

Separation Kernel<br />

TS<br />

(SL)<br />

Application<br />

Network<br />

pro<strong>to</strong>cols &<br />

drivers<br />

Figure 2: PCSexpress within the MILS<br />

architecture.<br />

TS/S<br />

(MLS)<br />

Application<br />

Middleware Middleware Middleware Middleware<br />

Separation kernel<br />

Processor<br />

Figure 1: The basic MILS architecture.<br />

To open<br />

network<br />

network pro<strong>to</strong>cols. Objective Interface Systems<br />

is the developer of PCSexpress, the first product<br />

<strong>to</strong> con<strong>for</strong>m <strong>to</strong> the secure communications architecture—the<br />

PCS—that Objective Interface<br />

invented. Designed <strong>for</strong> embedded <strong>system</strong>s,<br />

enterprise servers, workstations and global networks,<br />

PCSexpress provides off-the-shelf highassurance<br />

communications security that<br />

reduces the duration, schedule risk and cost of<br />

<strong>design</strong>ing, evaluating, accrediting and deploying<br />

highly secure <strong>system</strong>s.<br />

Past ef<strong>for</strong>ts at making software truly secure<br />

usually added complexity and high cost. Layers<br />

of protection were added on <strong>to</strong>p of the operating<br />

<strong>system</strong>s, middleware, and the applications.<br />

Sometimes these layers interfered with each<br />

other, had unintended side affects, or were not<br />

completely consistent with each other, giving<br />

both bugs and attackers the initial crack in the<br />

wall they needed <strong>to</strong> inflict damage.<br />

The MILS approach is precisely the opposite.<br />

Systems are made more secure by making the<br />

protection simpler. Because it is simpler, it can<br />

be trusted <strong>to</strong> work under all conditions. The<br />

processor, via the MILS separation kernel, is<br />

tightly controlled. The PCS provides the same<br />

assurances <strong>for</strong> distributed <strong>system</strong>s. <br />

www.ois.com/mils


Why use an RTOS?<br />

Tomoyuki Uda, Managing Direc<strong>to</strong>r, eSOL, Inc <br />

An RTOS provides a great deal <strong>for</strong> the FPGA developer.<br />

What should you consider when choosing one?<br />

THE FLEXIBLE Nios II processor<br />

extends Altera’s FPGAs in<strong>to</strong> new and<br />

varied application possibilities. With a<br />

microprocessor in the FPGA, developers<br />

can <strong>design</strong> more efficient and powerful<br />

embedded <strong>system</strong>s. With this expanded capability,<br />

developers <strong>for</strong> FPGA-based <strong>system</strong>s may<br />

be facing the decision of whether <strong>to</strong> use a Real<br />

Time Operating System (RTOS) <strong>for</strong> the first<br />

time.<br />

What features does<br />

an RTOS provide?<br />

An RTOS provides the foundation <strong>for</strong> building<br />

your embedded application. The most basic<br />

definition of an RTOS is that it provides multiple<br />

threads of execution, and a scheduler <strong>to</strong><br />

switch between those threads. Multiple<br />

threads allow you <strong>to</strong> break up your application<br />

in<strong>to</strong> its basic parts, separated by purpose and<br />

priority.<br />

Most RTOS kernels provide the following set<br />

of features:<br />

Multiple threads<br />

An RTOS allows multiple threads of execution,<br />

implemented as tasks or processes, depending<br />

on the nature of the RTOS.<br />

Preemptive, priority-based scheduling<br />

A preemptive scheduler allows interrupts and<br />

higher priority tasks <strong>to</strong> interrupt the currently<br />

running task.<br />

Synchronization services<br />

Multitasking kernel allow tasks <strong>to</strong> wait <strong>for</strong><br />

other tasks <strong>to</strong> complete work, or wait <strong>for</strong> an<br />

event <strong>to</strong> occur. These services typically<br />

include mutual exclusion mechanisms (mutex<br />

and/or semaphores), event flags, data queues,<br />

etc.<br />

Interrupt and exception support<br />

The RTOS kernel provides a way <strong>to</strong> handle hardware<br />

interrupts and exceptions through<br />

installing interrupt and exception handlers.<br />

Predictable interrupt<br />

latency and task switch time<br />

RTOS kernels have predictable overhead <strong>for</strong><br />

handling interrupts and switching tasks.<br />

When <strong>to</strong> use an RTOS<br />

An RTOS is useful in complex <strong>system</strong>s <strong>to</strong><br />

streamline application development. Polling<br />

loops work well <strong>for</strong> dedicated, simple <strong>design</strong>s,<br />

but quickly get complex when the <strong>design</strong> grows.<br />

For example, running multiple network servers<br />

can work from a polling loop, however the application<br />

<strong>design</strong> becomes much simpler and more<br />

modular if each network server is run in its own<br />

task.<br />

Using an RTOS is also beneficial when an<br />

application needs <strong>to</strong> run on multiple CPUs –<br />

using an RTOS abstracts the hardwaredependence<br />

so porting the application <strong>to</strong> a different<br />

target is easier. Using an RTOS<br />

abstracts that dependency so the application<br />

concentrates only on the operations required<br />

<strong>to</strong> per<strong>for</strong>m its functions, and the RTOS handles<br />

the hardware interface. Most commercial<br />

RTOSes support many CPUs and specific<br />

boards.<br />

An RTOS incorporates useful services that<br />

you would otherwise need <strong>to</strong> implement, debug,<br />

and maintain yourself in your own code library.<br />

Applications using an RTOS can dynamically<br />

allocate resources when they are required.<br />

Sharing resources reduces the overall memory<br />

requirements <strong>for</strong> the application.<br />

Choosing an RTOS<br />

When you consider how <strong>to</strong> <strong>design</strong> your application<br />

on the Nios II, you can choose <strong>to</strong> not use an<br />

RTOS at all, <strong>to</strong> use a free RTOS, or <strong>to</strong> use a commercial<br />

RTOS. If you do choose <strong>to</strong> use an RTOS,<br />

there are freely available solutions and commercial<br />

solutions.<br />

The following fac<strong>to</strong>rs should be considered<br />

when choosing an RTOS:<br />

Cost<br />

Developers often adopt open-source solutions<br />

because they are free. While the licensing<br />

cost is free, it’s important <strong>to</strong> add up the complete<br />

cost <strong>for</strong> using any RTOS. Technical support<br />

is only offered in online <strong>for</strong>ums. In a critical<br />

project, you may need additional technical<br />

support or cus<strong>to</strong>m services. The extra support<br />

and services are not free, and the associated<br />

fees are often more expensive than the<br />

license cost of a commercial RTOS. When<br />

considering license cost, consider the risk <strong>to</strong><br />

your project vs. the cost of the license, support,<br />

and services.<br />

Licensing<br />

When you use an open-source operating <strong>system</strong><br />

in your product, you assume the risk and liability<br />

<strong>for</strong> using that code. Commercial RTOS vendors<br />

assume the risk <strong>for</strong> their own OS implementation.<br />

Technical support and maintenance<br />

Receiving technical support from the same engineers<br />

who wrote and maintain the operating<br />

An RTOS incorporates useful services that you would otherwise<br />

need <strong>to</strong> implement, debug, and maintain yourself<br />

<strong>system</strong> shortens the support and development<br />

cycle.<br />

PrKERNELv4<br />

PrKERNELv4, from sCOS, is the base of a full<br />

RTOS suite called eParts that provides a real<br />

time kernel, TCP/IP connectivity with<br />

PrCONNECT2, an embedded file <strong>system</strong> with<br />

PrFILE2, integration with a graphical user interface<br />

library, and more. The entire eParts product<br />

suite is fully integrated in<strong>to</strong> Altera’s development<br />

environment <strong>for</strong> Nios II. Support is also<br />

integrated with several Altera third party partners’<br />

software and <strong>to</strong>ols, such as Lauterbach’s<br />

Trace32, the MorethanIP 10/100/1000 MAC-<br />

NET Core and the SLS USB Core<br />

Conclusion<br />

Choosing an RTOS doesn’t need <strong>to</strong> be complex.<br />

When choosing an RTOS, consider the features<br />

you need as well as associated development<br />

costs <strong>for</strong> porting, support, and software<br />

licensing. <br />

www.esolglobal.com<br />

ESE Magazine Jan/Feb 06 <br />

45


ESE Magazine Jan/Feb 06 <br />

46<br />

Continuous time<br />

delta sigma ADCs<br />

Heribert Geib, Xignal Technologies AG <br />

Continuous time delta sigma analog-<strong>to</strong>-digital<br />

converters provide new <strong>design</strong> opportunities.<br />

UNTIL NOW, <strong>design</strong>ers have been faced<br />

with a trade-off in their selection of analog-<strong>to</strong>-digital<br />

converters (ADCs). Pipeline<br />

converters offer high resolution and high<br />

dynamic range but at the expense of relatively high<br />

power consumption. Discrete time delta sigma<br />

converters don’t need nearly as much power but<br />

are severely limited in terms of speed. The continuous<br />

time delta sigma (CTΔΣ) technology developed<br />

by Xignal bridges the gap and their recently<br />

announced products operate at 40 MSPS (equivalent<br />

<strong>to</strong> 50-60 MSPS in pipeline parts), <strong>12</strong> or 14-bits<br />

of resolution, high levels of functional integration<br />

including an accurate on-chip clock source, and all<br />

this with a power consumption of just 70mW. An<br />

added advantage of the technology is a resistive<br />

input stage that’s easy <strong>to</strong> drive without resorting <strong>to</strong><br />

power-hungry buffer amplifiers. Figure 1 shows<br />

the relative per<strong>for</strong>mance of these ADCs compared<br />

with pipeline converters based on the IEEE’s<br />

accepted measurement of Figure of Merit (FOM).<br />

FOM is a measure of the energy per conversion. It<br />

also shows that as process architectures scale in<br />

the future, continuous time delta sigma devices<br />

will follow the roadmap <strong>to</strong> deliver higher levels of<br />

per<strong>for</strong>mance. Figure 2 looks at a complete analog-<br />

Figure 1: ADC conversion power efficiency<br />

comparison<br />

Figure 2: Integrating the signal path –<br />

enabled by CTΔΣ ADC technology.<br />

<strong>to</strong>-digital conversion <strong>system</strong>. The left hand side<br />

shows the pipeline converter with the five external<br />

circuit elements that are needed <strong>for</strong> a complete<br />

<strong>system</strong>: a programmable gain amplifier with the<br />

gain controlled via a separate digital-<strong>to</strong>-analog<br />

converter (DAC), anti-alias filters <strong>to</strong> remove noise,<br />

and input driver <strong>to</strong> buffer the capacitive input of the<br />

ADC itself, and a high per<strong>for</strong>mance clock and<br />

phase locked loop <strong>to</strong> provide an accurate timing<br />

reference. By contrast, the continuous time delta<br />

sigma implementation removes the need <strong>for</strong> antialias<br />

filtering and the input driver, and Xignal’s<br />

implementation of the technology integrates all of<br />

the other functions on-chip. The generic benefits<br />

of CTΔΣ conversion are clear: faster and simpler<br />

<strong>system</strong> <strong>design</strong>, lower power consumption, and no<br />

compromise in dynamic range or speed. In multichannel<br />

applications these benefits are multiplied<br />

and can enable <strong>design</strong>ers <strong>to</strong> adopt new and beneficial<br />

<strong>system</strong> architectures that were not previously<br />

possible. Potential applications <strong>for</strong> the technology<br />

are widespread in all sec<strong>to</strong>rs of the electronics<br />

industry, particularly where analog signals derived<br />

from various types of sensors need <strong>to</strong> be converted<br />

<strong>to</strong> digital signals in a power-efficient manner.<br />

Medical ultrasound is just one of these applications.<br />

Medical ultrasound applications<br />

In these <strong>system</strong>s a transducer is connected via a<br />

flexible cable <strong>to</strong> the data processing unit (PU)<br />

that processes the data. Each transducer element<br />

is connected <strong>to</strong> the PU through its own<br />

data-channel or multiplexing circuits are used <strong>to</strong><br />

reduce the number of cables. High-end <strong>system</strong>s<br />

are equipped with up <strong>to</strong> 5<strong>12</strong> channels, mid-level<br />

per<strong>for</strong>mance <strong>system</strong>s with up <strong>to</strong> 256 channels<br />

and portable <strong>system</strong>s up <strong>to</strong> <strong>12</strong>8.<br />

Prior <strong>to</strong> the development of CDTS technology<br />

analog front-ends the pipeline ADCs consumed<br />

anything up <strong>to</strong> 0.5 Watt <strong>for</strong> each channel. That's 64<br />

Watts <strong>for</strong> a mid-range (<strong>12</strong>8 channel) <strong>system</strong> with<br />

enough heat being generated <strong>to</strong> affect the per<strong>for</strong>mance<br />

of the transducer head and cause significant<br />

discom<strong>for</strong>t <strong>to</strong> both patient and doc<strong>to</strong>r. By contrast,<br />

the CTΔΣ solution in the same <strong>system</strong> would consume<br />

just 8.75 Watts or even less by using a multichannel<br />

ADC device sharing some resources like<br />

the PLL across multiple channels. With an 8-chan-<br />

Figure 3: xxxx<br />

nel <strong>12</strong> bit ADC a power dissipation of 40mW/channel<br />

or 5.<strong>12</strong> W <strong>for</strong> <strong>12</strong>8 channels can be achieved.<br />

Furthermore, as demand grows <strong>for</strong> portable<br />

<strong>system</strong>s that shrink the size of an ultrasound<br />

scanner from a small rack <strong>to</strong> the size of a notebook<br />

or even smaller, ADC power dissipation is<br />

an important <strong>design</strong> parameter in realizing a<br />

compact and low-cost <strong>system</strong> that needs minimal<br />

cooling, whether the conversion takes place<br />

in the transducer head or the PU. New <strong>system</strong>s<br />

may also be battery operated, so minimizing<br />

power consumption is even more critical.<br />

The simplified architecture of an ultrasound<br />

<strong>system</strong> with analog-<strong>to</strong>-digital conversion using<br />

CTΔΣ ADCs in the transducer head is shown in<br />

Figure 3. In addition <strong>to</strong> the ADCs, the active transducer<br />

houses low power variable gain amplifiers,<br />

serializers and a digital interface, enabling a<br />

greatly reduced number of cables <strong>to</strong> be used <strong>to</strong><br />

interconnect with the main processor unit.<br />

Summary<br />

The advantages of CDTS ADCs are apparent wherever<br />

high speed, high resolution conversion is needed<br />

at the lowest possible power consumption. In<br />

sensor-related applications in au<strong>to</strong>motive, medical,<br />

industrial and test and measurement equipment,<br />

the technology can be used <strong>to</strong> create new architectures<br />

where the conversion <strong>to</strong> a digital signal is carried<br />

out close <strong>to</strong> the sensor. The benefits of the<br />

CTΔΣ ADC conversion process itself are compelling<br />

and the additional <strong>system</strong> level benefits of lower<br />

cost cables and interconnect, and the option <strong>to</strong> use<br />

lower per<strong>for</strong>mance, lower cost receivers add <strong>to</strong> the<br />

attractions of this technology. <br />

www.xignal.com


ESE Magazine Jan/Feb 06 <br />

48<br />

Flash s<strong>to</strong>rage solutions <strong>for</strong><br />

microcontrollers<br />

Dave Hughes, HCC-Embedded <br />

Flash memory provides many advantages, but <strong>design</strong>ers<br />

need <strong>to</strong> take care <strong>to</strong> extract these benefits.<br />

IN RECENT YEARS flash based<br />

microcontrollers have flooded the market<br />

from all the major players – they are now<br />

the norm rather than the exception.<br />

Additionally the arrival of ever larger serial flash<br />

devices with small erasable sec<strong>to</strong>rs has given<br />

the possibility of extending the s<strong>to</strong>rage capabilities<br />

of micros without the requirement <strong>for</strong> additional<br />

resources.<br />

Many new applications immediately suggest<br />

themselves, such as field cus<strong>to</strong>misation, field<br />

upgrades, dynamic configuration files, data logging,<br />

diagnostics and more.<br />

But can this flash be used as more than a<br />

masked ROM substitute? Can the flash be used<br />

reliably <strong>for</strong> these new applications? We are paying<br />

<strong>for</strong> the more sophisticated flash solution –<br />

but how do we extract the benefits?<br />

Flash basics<br />

Firstly we need <strong>to</strong> look at the issues: All flash is<br />

different – the specifications <strong>for</strong> each device<br />

used must be studied <strong>to</strong> get reliable results from<br />

a flash device. It is hard <strong>to</strong> find two devices from<br />

different product families which have identical<br />

flash characteristics but there are some basic<br />

features which are common <strong>to</strong> most:<br />

● Can only write down i.e. 1’s <strong>to</strong> 0’s<br />

● Must Erase in Blocks <strong>to</strong> set bits back <strong>to</strong> 1.<br />

● Write in pages or Bytes depending on flash<br />

type<br />

● Some devices write <strong>to</strong> RAM buffer and erase<br />

the page be<strong>for</strong>e writing<br />

● Some flash types may need refreshing <strong>to</strong><br />

prevent bit flipping<br />

● Some devices have cumulative write time<br />

limits be<strong>for</strong>e a refresh must be done<br />

● All devices have a typical Erase/write Cycle<br />

limitation be<strong>for</strong>e errors develop<br />

● Wear-levelling is a useful process <strong>to</strong> counter<br />

this limitations<br />

● Unexpected reset problem – both in write<br />

and erase operations – if a write or erase is<br />

broken then the results in the page are<br />

unpredictable and it is necessary <strong>to</strong> be sure<br />

whether a page is valid or not.<br />

● <strong>Power</strong> Management – all flash is sensitive<br />

<strong>to</strong> unstable voltages – if the power drops<br />

below the specified level then erase and<br />

write operations will have unpredictable<br />

results.<br />

It is this collection of characteristics on flash<br />

devices which creates the challenge – how <strong>to</strong><br />

use this flash reliably?<br />

Use a file <strong>system</strong><br />

These problems are quite complex <strong>to</strong> address<br />

and there are different rules <strong>for</strong> every flash<br />

device type which have <strong>to</strong> be taken in <strong>to</strong> consideration<br />

in any <strong>design</strong>. <strong>On</strong>e method <strong>to</strong> hide all<br />

this complexity from the developer is <strong>to</strong> use a<br />

file <strong>system</strong> – specifically <strong>design</strong>ed <strong>for</strong> the target<br />

flash – which means the developer can access<br />

the flash thorough standard API calls and can<br />

<strong>for</strong>get about the details of what happens underneath.<br />

Using a file <strong>system</strong> has many benefits. Data<br />

becomes position independent, this is managed<br />

by the file <strong>system</strong>. There is a standard interface<br />

<strong>to</strong> data which makes <strong>for</strong> easy porting and testing<br />

across a range of plat<strong>for</strong>ms if necessary. And<br />

finally, as the the flash technology is hidden<br />

from the <strong>design</strong>er they are free <strong>to</strong> focus on their<br />

core competences.<br />

Connecting <strong>to</strong> a host<br />

The “standard route” <strong>for</strong> connecting embedded<br />

file <strong>system</strong>s <strong>to</strong> a host <strong>system</strong> would be <strong>to</strong> add a<br />

USB Mass S<strong>to</strong>rage interface and a FAT file <strong>system</strong><br />

but there are some disadvantages <strong>to</strong> this<br />

approach <strong>for</strong> embedded <strong>system</strong>s developers. As<br />

the FAT file <strong>system</strong> is not fail safe there needs <strong>to</strong><br />

be a check disk available. While this acceptable<br />

when a device is connected <strong>to</strong> the PC, what happens<br />

when it is in the field? FAT is space hungry,<br />

requiring a minimum of 20K disk space be<strong>for</strong>e<br />

s<strong>to</strong>ring data, which can be a significant overhead<br />

<strong>for</strong> many flash micros. When the host accesses<br />

the file <strong>system</strong> the target must s<strong>to</strong>p access and<br />

vice versa, as either <strong>system</strong> can modify the FAT<br />

But can flash be used as more than a masked ROM substitute? Can it be used<br />

reliably <strong>for</strong> new applications? We are paying <strong>for</strong> the more sophisticated flash<br />

solution – but how do we extract the benefits?<br />

Figure 1: uCDrive.<br />

structures, however there is no way <strong>to</strong> in<strong>for</strong>m the<br />

host that the target has made changes or vice<br />

versa. There are no security options on a FAT <strong>system</strong>.<br />

And, what can be a major fac<strong>to</strong>r, USB can be<br />

relatively expensive <strong>to</strong> <strong>design</strong> in.<br />

Another possibility is <strong>to</strong> provide specialized<br />

host drivers which interface <strong>to</strong> the embedded<br />

device in much the same way as NFS works – the<br />

file <strong>system</strong> is managed on the target in a reliable<br />

way – all <strong>system</strong>s access it through API calls. A<br />

virtual drive can then be created on the host <strong>system</strong><br />

<strong>to</strong> give the user seamless drag and drop, double<br />

click access <strong>to</strong> the targets file <strong>system</strong>. HCC-<br />

Embedded specialises in small footprint, reliable,<br />

file <strong>system</strong>s <strong>design</strong>ed <strong>for</strong> a variety of different<br />

flash devices both using internal microcontroller<br />

flash and externally connected small sec<strong>to</strong>r flash.<br />

The uCDrive <strong>system</strong> provides this connectivity<br />

through a serial port, and HCC will soon be providing<br />

USB connectivity. Your embedded <strong>system</strong><br />

then truly appears as a standard drive .<br />

<br />

www.hcc-embedded.com


ESE Magazine Jan/Feb 06 <br />

A Standard individual:<br />

Engineering Standard,<br />

Marketing Release or both?<br />

Chris Hills <br />

Integrated<br />

Development<br />

Environments<br />

T<br />

Optimising<br />

Compilers<br />

Debugging &<br />

Per<strong>for</strong>mance<br />

Analysis<br />

HIS MONTH I am going back <strong>to</strong> the root of the column:<br />

Standards. First a quick round up of where MISRA<br />

is at. The MISRA-C group has started on the example<br />

test suite. It is progressing well and we hope <strong>to</strong> have it<br />

finished <strong>for</strong> the end of 06. Maybe <strong>for</strong> ESS06. We are also working<br />

on the Technical Corrigendum and by implication MISRA-C.<br />

I think we suggested we should have MISRA-C:2009.<br />

The MISRA-C++ team is having fun. They have assembled<br />

a team and are sorting out terms of reference in parallel with<br />

gathering source material and there is a lot of source material.<br />

Interestingly they tell me that most of the C++ subsets and<br />

coding standards they have seen have a lot in common. There<br />

is also the C++ coding standard from the Joint Strike Fighter<br />

project in the US called JSF++, which is “secret” and can only<br />

be seen by Security Cleared US Nationals.<br />

The MISRA Au<strong>to</strong>code is progressing well. The ef<strong>for</strong>t is<br />

being well supported with a good number of European OEMs<br />

and Tier 1s along with a smaller involvement from the USA.<br />

The European support is quite wide and not just the German<br />

au<strong>to</strong>motive industry as was feared by some. I did enquire<br />

about first drafts <strong>for</strong> review and “mid 06” was vaguely suggested<br />

which means it will probably be Christmas 06.<br />

A less well-known MISRA standard is the Software<br />

Readiness <strong>for</strong> Production guide. Sources in MIRA say this<br />

document will be published in February 2006.<br />

MISRA Safety Analysis - this gives guidance on the management<br />

of functional safety <strong>for</strong> IEC 61508 lifecycle will be<br />

published mid 2006. So MISRA is doing a lot.<br />

New versions of C?<br />

Having covered the MISRA guides it is time <strong>to</strong> look at the other<br />

standards. Now things get vague. For some reason the C panels<br />

seem <strong>to</strong> have veered away from the industry. The industry,<br />

compiler writers and others like MISRA have s<strong>to</strong>pped at C 1990<br />

with the amendments up <strong>to</strong> 1993/4. A part of the standards<br />

development process is the publication of Technical Reports.<br />

These are exactly what they say and are NOT part of the<br />

Real-Time<br />

Operating<br />

Systems<br />

Hardware<br />

Debug<br />

Probes<br />

All<br />

Royalty<br />

Free!<br />

Standard though often they <strong>for</strong>m the basis of work that does<br />

get in<strong>to</strong> the next version where appropriate. Two that have<br />

come through are the Microsoft C and C++ “Safe” Libraries and<br />

these may have long term consequences <strong>for</strong> the future of C.<br />

There is also provision <strong>for</strong> ECMA the European Computer<br />

Manufacturers Association <strong>to</strong> fast track completed standards<br />

<strong>to</strong> the final stage of ISO voting. Among those that have come<br />

through are a standard <strong>for</strong> C# and <strong>for</strong> C++/CLI (Common<br />

Language Interface). This last actually extends C++ by adding<br />

a couple of dozen key words and changing the way some constructs<br />

work, which appear <strong>to</strong> be based on Microsoft implementations<br />

and extensions <strong>to</strong> C++. If these get passed along<br />

with the two libraries in the TRs <strong>for</strong> C, then it appears <strong>to</strong> me<br />

as though MS C, C# & C++ will be the standard, and the<br />

Microsoft plat<strong>for</strong>m will be the only one that con<strong>for</strong>ms <strong>to</strong> the<br />

ISO standards. I hope I am misunderstanding this.<br />

Ethics<br />

Finally I should like <strong>to</strong> bring <strong>to</strong> your attention an item from an<br />

IEEE newsletter. It said that: Universities no longer assume that<br />

the new engineer will learn ethical practices on the job and are<br />

now offering instruction on the subject. The IEEE is also playing<br />

a role in highlighting ethical practices by promoting students'<br />

awareness of their professional responsibilities as engineers.<br />

Find out more at http://boldfish.ieee.org:80/u/1353/41449924<br />

I wonder if they will cover Standards in their ethics classes<br />

or if they will run correspondence classes <strong>for</strong> busy engineers<br />

in other parts of the country…<br />

I had a quite a response from last months column!<br />

Thanks <strong>to</strong> all who emailed me, I intend <strong>to</strong> revisit the subject<br />

in a future column. I have received the first notifications of<br />

ESS 06. I will be there. Will you? 11 & <strong>12</strong>th Oc<strong>to</strong>ber at the<br />

NEC Birmingham. Stick it in the diary. <br />

These are not in any way an official statement or committee view, but my own<br />

personal views and those of my company PhaedruS SystemS. www.phaedsys.org<br />

which is where the full version of this column resides under the Technical Papers<br />

but<strong>to</strong>n. Any comments, praise or legal documents <strong>to</strong> chills@phaedsys.org.<br />

The Leader in Embedded<br />

Software Development<br />

FREE 30-Day Product Evaluation<br />

register now at www.ghs.com/eval<br />

Tel: +44 (0)1844 267950<br />

Fax: +44 (0)1844 267955<br />

Email: sales-uk@ghs.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!