in PDF Format - Embedded-Control-Europe.com

in PDF Format - Embedded-Control-Europe.com in PDF Format - Embedded-Control-Europe.com

embedded.control.europe.com
from embedded.control.europe.com More from this publisher

Dear Readers,<br />

Glenn Perry,<br />

General Manager<br />

<strong>Embedded</strong> Systems Division,<br />

Mentor Graphics<br />

VIEWPOINT<br />

Disruptive technologies do not<br />

occur very often and they can be<br />

very hard to see <strong>com</strong><strong>in</strong>g. They are<br />

always <strong>in</strong>terest<strong>in</strong>g – because they<br />

result <strong>in</strong> real progress. <strong>Embedded</strong><br />

software technology tends to<br />

evolve without sudden change.<br />

The gradual <strong>in</strong>crease <strong>in</strong> the use of<br />

L<strong>in</strong>ux fits that model, but a disruption<br />

is on the way...<br />

If we look back to the <strong>in</strong>troduction<br />

of the PC nearly 30 years ago,<br />

programm<strong>in</strong>g them was quite<br />

challeng<strong>in</strong>g. The DOS operat<strong>in</strong>g<br />

system provided a m<strong>in</strong>imal set of<br />

services and the software developer<br />

needed to construct a <strong>com</strong>-<br />

plete framework to support their application. For example, the developers<br />

of a word process<strong>in</strong>g program would need to <strong>in</strong>clude drivers<br />

for every pr<strong>in</strong>ter imag<strong>in</strong>able; a spreadsheet program would need<br />

its own vast set of pr<strong>in</strong>ter drivers. This was <strong>in</strong>efficient and <strong>in</strong>convenient<br />

for both developers and users. The <strong>in</strong>troduction of W<strong>in</strong>dows<br />

(or, at least, W<strong>in</strong>dows 3.0) changed all that. Although we <strong>com</strong>monly<br />

th<strong>in</strong>k of W<strong>in</strong>dows as be<strong>in</strong>g a graphical user <strong>in</strong>terface (which it is),<br />

it is primarily an application framework–aplatformonwhichapplications<br />

can be developed <strong>in</strong> order to share <strong>com</strong>mon services.<br />

Nowadays, pr<strong>in</strong>ters <strong>com</strong>e with a W<strong>in</strong>dows driver.<br />

For the embedded developer, the state of L<strong>in</strong>ux has some similarities<br />

to those early DOS days. Although L<strong>in</strong>ux provides drivers, network<strong>in</strong>g<br />

and a file system, there is significant work required to assemble<br />

and configure the environment as a foundation for the target<br />

device. Enter Google Android and keep the W<strong>in</strong>dows analogy <strong>in</strong><br />

m<strong>in</strong>d. Although there is a perception that Android is an operat<strong>in</strong>g<br />

system for smart phones, that is really just one possible application.<br />

Android is an application platform that accelerates the software development<br />

for sophisticated embedded devices, while provid<strong>in</strong>g an<br />

optimized environment for <strong>in</strong>formation access and exchange.<br />

While L<strong>in</strong>ux may not be optimal for every application, it excels when<br />

the wide range of drivers and network<strong>in</strong>g are a benefit and hard<br />

real-time performance is not required. For high performance and<br />

m<strong>in</strong>imal impact on resources, a conventional RTOS is a better fit.<br />

Increas<strong>in</strong>gly, we notice many devices have a need for both. That is,<br />

hard real-time performance for some aspects of the system and<br />

expansive framework services for other.<br />

The good news is that a multi-OS on multi-core hardware offers a<br />

solution. A good example is an enterprise pr<strong>in</strong>ter. True real-time<br />

performance is required for paper handl<strong>in</strong>g, drums control and <strong>in</strong>k<br />

management, and dedicat<strong>in</strong>g a suitable microcontroller, us<strong>in</strong>g an<br />

RTOS, to these tasks makes sense. Another CPU, runn<strong>in</strong>g L<strong>in</strong>ux/Android<br />

is well suited to handl<strong>in</strong>g network<strong>in</strong>g, file storage and a<br />

sophisticated user <strong>in</strong>terface.<br />

A well-designed system, with software optimally deployed across<br />

processors, is real progress. Disruption is upon us.<br />

3 September 2009<br />

V-8_2009-DSR-4719<br />

Industrial Workshop<br />

How to develop a <strong>com</strong>plete <strong>in</strong>dustrial<br />

solution <strong>in</strong> less than one hour<br />

This and other questions are answered by experts from<br />

Altera, Intel, MSC and 3S at the Industrial Reference<br />

Platform Workshop hosted by Gleichmann Electronics<br />

Research <strong>in</strong> twelve major <strong>Europe</strong>an cities <strong>in</strong> October/<br />

November this year.<br />

The workshop is based on GE-Researchs’ Industrial Reference<br />

Platform (Hpe_IRP) <strong>com</strong>b<strong>in</strong><strong>in</strong>g an Intel ® Atom<br />

processor with an Altera ® Arria ® GX FPGA. This powerful<br />

<strong>com</strong>b<strong>in</strong>ation offers you the ultimate <strong>in</strong> low power, high performance<br />

<strong>com</strong>put<strong>in</strong>g and confi gurable logic fl exibility. The<br />

Hpe_IRP ® has been designed as a rapid prototyp<strong>in</strong>g platform<br />

for the development and evaluation of systems so that you<br />

save time and money by gett<strong>in</strong>g a system up and runn<strong>in</strong>g<br />

before <strong>com</strong>mitt<strong>in</strong>g to build<strong>in</strong>g your own circuit board.<br />

The workshop <strong>in</strong>cludes hands on technical sessions and<br />

build<strong>in</strong>g your own PCI express based system on a real board.<br />

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

� �����<br />

� ������<br />

� ������<br />

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

� ������<br />

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

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

Further details and registrations under<br />

www.tra<strong>in</strong><strong>in</strong>g-registration.<strong>com</strong><br />

Visit our new ToolGuide-Webshop:<br />

www.msc-toolguide.<strong>com</strong><br />

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

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

� �����<br />

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

MSC Vertriebs GmbH<br />

Tel. +49 7249 910-129 · power-devices@msc-ge.<strong>com</strong><br />

www.hpe-irp.<strong>com</strong>


CONTENTS<br />

Viewpo<strong>in</strong>t 3<br />

Software Development<br />

Design<strong>in</strong>g fail-safe storage systems<br />

for embedded applications 6<br />

MCIF – a systematic approach to<br />

software delivery excellence 8<br />

Microcontrollers<br />

Cortex-M3 software modifications for<br />

ARM7TDMI programmers 12<br />

ARM-based SoCs as alternatives to<br />

embedded board solutions 16<br />

Low-power microcontroller design<br />

us<strong>in</strong>g the ARM Cortex-M0 core 18<br />

16-bit microcontrollers with<br />

new real-time event handl<strong>in</strong>g structure 21<br />

M<strong>in</strong>imiz<strong>in</strong>g ownership cost for motor<br />

applications by energy sav<strong>in</strong>g 24<br />

Test<strong>in</strong>g & Debugg<strong>in</strong>g<br />

New approaches simplify test<strong>in</strong>g and<br />

debugg<strong>in</strong>g of <strong>com</strong>plex MCUs 26<br />

How to perform <strong>in</strong>tegration<br />

test<strong>in</strong>g of embedded software 29<br />

Product News 31<br />

Cover Photo<br />

HCC-<strong>Embedded</strong><br />

September 2009 4<br />

Design<strong>in</strong>g fail-safe storage systems<br />

for embedded applications PAGE 6<br />

This article <strong>in</strong>vestigates the design of <strong>com</strong>plete storage solutions<br />

for embedded systems with particular reference to HDDs, SSDs,<br />

SD and CF cards, and raw flash.<br />

MCIF – a systematic approach to<br />

software delivery excellence PAGE 8<br />

Measured Capability Improvement<br />

Framework (MCIF) was <strong>in</strong>troduced<br />

as a systematic approach to <strong>in</strong>crementally<br />

improv<strong>in</strong>g software and<br />

systems delivery capability. The<br />

iterative approach, illustrated with<br />

a real-life scenario, helps organisations<br />

to stay always focussed on the<br />

next step of improvement which is<br />

clearly def<strong>in</strong>ed and measured.<br />

Cortex-M3 software modifications for<br />

ARM7TDMI programmers PAGE 12<br />

This article expla<strong>in</strong>s some typical modifications that may be<br />

required to port code from the ARM7TDMI processor to the<br />

Cortex-M3 processor, <strong>in</strong> order to execute more efficiently on the<br />

Cortex-M3 or exploit some of its advanced features.<br />

Low-power microcontroller design<br />

us<strong>in</strong>g the ARM Cortex-M0 core PAGE 18<br />

This article discusses the low power characteristics of the ARM<br />

Cortex-M0-based LPC1100 microcontroller series, and the system<br />

design techniques that m<strong>in</strong>imize the amount of energy consumed<br />

from a power source.<br />

M<strong>in</strong>imiz<strong>in</strong>g ownership cost for motor<br />

applications by energy sav<strong>in</strong>g PAGE 24<br />

This article reviews a new generation<br />

of microcontrollers which<br />

enable energy-efficient control of<br />

brushless DC motors, permanent<br />

magnet synchronous AC motors<br />

and AC <strong>in</strong>duction motors,<br />

achiev<strong>in</strong>g major sav<strong>in</strong>gs <strong>in</strong><br />

electricity costs.<br />

New approaches simplify test<strong>in</strong>g and<br />

debugg<strong>in</strong>g of <strong>com</strong>plex MCUs PAGE 26<br />

The IEEE 1149.1 (JTAG) standard<br />

no longer meets all the demands,<br />

<strong>in</strong> terms of speed, p<strong>in</strong>-count and<br />

robustness, for debugg<strong>in</strong>g and<br />

test<strong>in</strong>g modern microcontrollers<br />

and <strong>com</strong>plex SoCs. This article<br />

describes new developments<br />

which promise considerable<br />

improvements for debugg<strong>in</strong>g, flash programm<strong>in</strong>g and system test.


®<br />

The INTEGRITY RTOS<br />

Certified and Deployed Technology<br />

The INTEGRITY RTOS is deployed and certified to:<br />

Avionics: DO-178B Level A, certified: 2002<br />

Industrial: IEC 61508 SIL 3, certified: 2006<br />

Medical: FDA Class III, approved: 2007<br />

Security: EAL6+ High Robustness, certified: 2008<br />

France:<br />

Israel:<br />

Sweden:<br />

Please contact your local office<br />

for your free Certification Information Pack.<br />

+33 (0) 143 143 700<br />

+972 (0)9 9584060<br />

+46 (0)8 750 82 70<br />

www.ghs.<strong>com</strong><br />

Germany:<br />

Netherlands:<br />

UK:<br />

+49 (0)228 43 30 777<br />

+31 (0)33 4613363<br />

+44 (0)1844 267950<br />

Copyright © 2009 Green Hills Software, Inc. Green Hills, the Green Hills logo and INTEGRITY are trademarks of Green Hills Software, Inc. <strong>in</strong> the U.S.and/or<br />

<strong>in</strong>ternationally. All other trademarks are the property of their respective owners.


SOFTWARE DEVELOPMENT<br />

Design<strong>in</strong>g fail-safe storage systems<br />

for embedded applications<br />

By Dave Hughes, HCC-<strong>Embedded</strong><br />

This article <strong>in</strong>vestigates the<br />

design of <strong>com</strong>plete storage<br />

solutions for embedded systems<br />

with particular reference<br />

to HDDs, SSDs, SD and CF<br />

cards, and raw flash.<br />

■ In recent years it has be<strong>com</strong>e much easier to<br />

store large amounts of data even on small embedded<br />

systems, with help from the cont<strong>in</strong>uous<br />

advances <strong>in</strong> flash storage that consistently challenge<br />

Moore’s law. For many developers of embedded<br />

systems the data they store and manipulate<br />

are extremely valuable. It is a <strong>com</strong>plex<br />

task that requires much thought and <strong>in</strong>novationtodesignasystem<strong>in</strong>whichdataarestored<br />

so that they are never lost or damaged, and are<br />

always ma<strong>in</strong>ta<strong>in</strong>ed <strong>in</strong> a consistent state. HCC-<br />

<strong>Embedded</strong> has spent significant time and effort<br />

to analyze, design and test reliable file system<br />

solutions for embedded devices. This article <strong>in</strong>vestigates<br />

the design of <strong>com</strong>plete storage solutions<br />

with particular reference to HDDs, SSDs,<br />

SD and CF cards, and raw flash.<br />

A standard media storage system is shown <strong>in</strong><br />

figure 1. It is important to understand this layered<br />

approach when aim<strong>in</strong>g for a reliable system.<br />

The reliability requirements reach from<br />

the top layer to the bottom layer: The application<br />

requires an adequate level of service from<br />

the file system; the file system requires an adequate<br />

level of service from the drivers; the drivers<br />

require an adequate level of service from the<br />

storage media. Without sufficient reliability <strong>in</strong><br />

any of the three levels, failure be<strong>com</strong>es an option.<br />

And these levels of service need to be clearly<br />

def<strong>in</strong>ed, because it clearly makes no sense to<br />

claim that a file system is fail-safe if the storage<br />

devices are unreliable. Each layer of the system<br />

needs to understand what fail-safety is for that<br />

layer and what it requires of other layers.<br />

Let us start by def<strong>in</strong><strong>in</strong>g the requirements that an<br />

application developer requires for fail-safe<br />

storage. First, we need to know precisely what<br />

fail-safe means. At HCC-<strong>Embedded</strong> this boils<br />

down to two ma<strong>in</strong> features. 1) Any time a file is<br />

written to the system the action of clos<strong>in</strong>g or<br />

flush<strong>in</strong>g the file will atomically switch its state<br />

from the previous consistent state to the new<br />

consistent state. Effectively, this leaves the decision<br />

as to what is consistent to the application<br />

developer. 2) In the event of unexpected reset of<br />

the system at any po<strong>in</strong>t while operat<strong>in</strong>g, when<br />

the system restarts all elements of the file system<br />

will be coherent and all files will be <strong>in</strong> their<br />

pre-restart consistent state.<br />

This po<strong>in</strong>t of consistency needs to be emphasized,<br />

because <strong>in</strong> any file system you need to determ<strong>in</strong>e<br />

when the new added data are valid, and<br />

therefore it is time to update the related metadata.<br />

All writes to the file system rema<strong>in</strong> un<strong>com</strong>mitted<br />

to the storage media until a close or<br />

flush is issued to signal that the new state<br />

should be made valid. In this way the developer<br />

can determ<strong>in</strong>e what a consistent state for the<br />

data is. This does not mean that the data are not<br />

written to the target media; it does mean that<br />

the meta-data of the file still refer to the previ-<br />

September 2009 6<br />

ously chosen consistent state until you decide<br />

otherwise. It also means that if you seek back <strong>in</strong><br />

a file and overwrite someth<strong>in</strong>g, then an orig<strong>in</strong>al<br />

copy must be ma<strong>in</strong>ta<strong>in</strong>ed. This ensures that, <strong>in</strong><br />

case an unexpected event occurs, the orig<strong>in</strong>al<br />

state of the file is valid and consistent. This<br />

rather straightforward description of fail-safety<br />

is the essence of a real, workable approach to<br />

build<strong>in</strong>g fail-safe file systems that are truly<br />

reliable.<br />

HCC-<strong>Embedded</strong> file systems are designed to<br />

achieve the fail-safe requirements def<strong>in</strong>ed, but<br />

only if the underly<strong>in</strong>g drivers and physical<br />

media meet certa<strong>in</strong> requirements. 1) The driver<br />

must write the data <strong>in</strong> the same sequence as<br />

it is received. This rule enforces the proper sequence<br />

even when there is a cache, because<br />

there is no possibility that a sector will be written<br />

when a previously written sector has not<br />

been written. 2) In the event of a physical reset<br />

or power loss, any sector of data must be either<br />

written, or the old sector contents must rema<strong>in</strong><br />

valid. There should be no <strong>in</strong>termediate state <strong>in</strong><br />

which the contents of a sector are effectively<br />

random. The switch from the old state of a sector<br />

to new state must be atomic. It is possible to<br />

design systems with different requirements, but<br />

they must be clearly described and understood<br />

to ensure that the system will meet the fail-safe<br />

design goal. These seem<strong>in</strong>gly simple requirements<br />

are not easy to achieve because of the


Figure 1. Logical structure of a standard<br />

media storage system<br />

design of storage devices. A stable power supply<br />

and a clean reset of power are mandatory, particularly<br />

when us<strong>in</strong>g systems <strong>in</strong>corporat<strong>in</strong>g<br />

flash memory. It is essential to have a brown-out<br />

detection that resets a flash card when power<br />

drops below a specified level. Without power at<br />

an acceptable level, reliable writ<strong>in</strong>g of data cannot<br />

be guaranteed. Various types of problems<br />

can occur. For example, a write may succeed<br />

when a previous one failed or a write or erase<br />

fails, thus creat<strong>in</strong>g bad blocks <strong>in</strong> the system. Several<br />

available flash-based cards experience <strong>com</strong>plete<br />

and permanent failure if you slowly drop<br />

the power to them while writ<strong>in</strong>g. Others <strong>in</strong>clude<br />

<strong>in</strong>ternal brown-out detection to avoid this.<br />

An obvious solution for most of these issues is<br />

to provide reliable power to the device. This is<br />

not necessarily as simple as at first appears. Data<br />

on device behaviour dur<strong>in</strong>g power failure is<br />

often difficult to obta<strong>in</strong> from manufacturers. As<br />

a result, the worst-case time required to store all<br />

outstand<strong>in</strong>g data may be difficult to ascerta<strong>in</strong>.<br />

For devices of some manufacturers, such data<br />

are available, and thus it is possible to design to<br />

the published specifications. But, although<br />

there is a workable solution for these cases, the<br />

choices be<strong>com</strong>e somewhat limited. Unreliable<br />

power will underm<strong>in</strong>e an otherwise fail-safe file<br />

system. Very few manufacturers, with only a few<br />

notable exceptions, state clearly the operat<strong>in</strong>g<br />

■ HCC: <strong>Embedded</strong> USB stacks for<br />

PIC32 MCUs<br />

HCC-<strong>Embedded</strong> releases <strong>com</strong>plete embedded<br />

USB Device, Host and OTG stacks for the Microchip<br />

PIC32 range of microcontrollers.<br />

HCC has ported its entire l<strong>in</strong>e of embedded<br />

USB Device, Host and OTG stacks to the<br />

PIC32 range of microcontrollers. With its release<br />

HCC now offers its<br />

News ID 342<br />

characteristics of the storage devices <strong>in</strong> terms<br />

that are useful to a designer of a genu<strong>in</strong>ely failsafe<br />

system. HCC has applied rigorous tests to<br />

many <strong>com</strong>mercially available solid state memory<br />

cards. The vast majority have been shown<br />

to exhibit non-safe behaviour. Only a small<br />

number of cards that are acceptable for use with<br />

fail-safe file systems are classified.<br />

Hard Disk Drives (HDDs) are uniquely difficult<br />

devices to use <strong>in</strong> reliable systems. The primary<br />

problem is that they all conta<strong>in</strong> an <strong>in</strong>tegrated<br />

data cache that is generally difficult to control.<br />

If the cache were easy to control, do<strong>in</strong>g so<br />

would decimate the disk performance. For all of<br />

the drives we have <strong>in</strong>vestigated, we have not<br />

found one that will clearly state worst case scenarios<br />

at power-off and how much time and<br />

power are required to ensure that the contents<br />

of the cache are safely written. If the safe flush<strong>in</strong>g<br />

of the cache cannot be guaranteed, then you<br />

have worst case scenarios <strong>in</strong> which large<br />

amounts of data are lost, and data that are<br />

written later could be present.<br />

SD cards, <strong>com</strong>pact flash cards and solid state<br />

drives all have similar design characteristics.<br />

They conta<strong>in</strong> arrays of NAND flash that are<br />

managed by a flash translation layer (FTL),<br />

which provides a logical sector <strong>in</strong>terface to the<br />

external system. The operation of FTLs is a<br />

closely guarded secret by most manufacturers,<br />

but it is clear that, to get maximum performance,<br />

many devices employ cach<strong>in</strong>g and parallel<br />

writ<strong>in</strong>g techniques. The result is that, <strong>in</strong> the<br />

event of unexpected reset, sectors can be<br />

written out of sequence.<br />

Integrated flash has a major advantage: the<br />

system design is then entirely under the developer<br />

control. However, care must still be taken.<br />

Look<strong>in</strong>g aga<strong>in</strong> at the diagram if flash is to be <strong>in</strong>terfaced<br />

to the system then some k<strong>in</strong>d of flash<br />

management layer is required between the file<br />

system and the flash. This is typically a flash<br />

translation layer, which is <strong>in</strong>corporated <strong>in</strong>to<br />

SSD, SD card and <strong>com</strong>pact flash card. It is imperative<br />

that the FTL be designed to be fail-safe<br />

and also that power is properly controlled. All<br />

Product News<br />

■ 'First Aid Kit - Edition 2' from EBV and TI<br />

Based on Standard L<strong>in</strong>ear and Logic ICs from<br />

Texas Instruments, the EBV-TI 'First Aid Kit'<br />

consists of a troubleshoot<strong>in</strong>g box conta<strong>in</strong><strong>in</strong>g a<br />

description of various problems, the way to<br />

solve them together with samples and<br />

documentation to accelerate time-tosolution<br />

implementation for R&D eng<strong>in</strong>eers<br />

and technicians.<br />

News ID 369<br />

SOFTWARE DEVELOPMENT<br />

media have their own peculiarities and weaknesses.<br />

However, with proper understand<strong>in</strong>g of<br />

the medium behaviour, which can be very <strong>com</strong>plex<br />

and subtle, fail-safe systems can be built.<br />

What are the primary conditions that can<br />

cause a file system to be damaged? Firstly it is<br />

useful to note that this can happen only when<br />

a write or erase operation is be<strong>in</strong>g performed<br />

on the target device. However, this could also be<br />

the result of a user operation or of a management<br />

function such as background erase or<br />

wear-levell<strong>in</strong>g. The two primary events which<br />

can cause file system failure are: 1) unexpected<br />

reset of the system because of power loss or<br />

other hardware condition; 2) unexpected reset<br />

of the system because of a bug. For example a<br />

HDD typically conta<strong>in</strong>s a large <strong>in</strong>ternal cache (8<br />

Mbytes or more), so if the disk loses power unexpectedly,<br />

then the file system may lose data <strong>in</strong><br />

the cache, and much data could be written out<br />

of sequence. A file system claim<strong>in</strong>g fail-safety<br />

really needs to specify what it can tolerate and<br />

still rema<strong>in</strong> failsafe, and then the design needs<br />

to reflect that.<br />

To ensure the failsafe characteristics of a file<br />

system, and also to understand the issues that<br />

arise, HCC has carried out extensive test<strong>in</strong>g <strong>in</strong><br />

two ma<strong>in</strong> forms. 1) Simulation. The entire file<br />

system and the drivers can be tested <strong>in</strong> simulation<br />

on a PC. Millions of iterations of failure<br />

scenarios can be generated very quickly and it<br />

is possible to verify the design of the file system.<br />

2) Test on an embedded system. Simulation of<br />

course does not test the system with the target<br />

media, and as illustrated it is crucially important<br />

to ensure that it provides the quality of<br />

service required. This is particularly true when<br />

device manufacturers do not provide detailed<br />

<strong>in</strong>formation about how their storage devices<br />

operate. This test<strong>in</strong>g is done by us<strong>in</strong>g an external<br />

circuit to randomly reset the target. On each<br />

reboot a verification program checks to see if<br />

the contents of the system have been damaged.<br />

Intensive test<strong>in</strong>g of many SD cards has shown<br />

that very few meet the requirements of atomicity<br />

and sequential writ<strong>in</strong>g, and as such are not<br />

suitable when data are important. ■<br />

■ Ashl<strong>in</strong>g adds support for TI’s Code<br />

Composer Studio 4<br />

Ashl<strong>in</strong>g Microsystems has added support for<br />

Version 4 of Texas Instruments Code Composer<br />

Studio on its Opella-XDS560 Debug Probe.<br />

Version 4 of Code Composer Studio is based on<br />

the Eclipse open source software framework.<br />

Opella-XDS560 is a high performance JTAG<br />

Debug Probe target<strong>in</strong>g TI DSP Platforms.<br />

News ID 423<br />

7 September 2009


SOFTWARE DEVELOPMENT<br />

MCIF – a systematic approach to<br />

software delivery excellence<br />

By Steven Trevellion, IBM Rational<br />

Measured Capability<br />

Improvement Framework<br />

(MCIF) was <strong>in</strong>troduced as<br />

a systematic approach to<br />

<strong>in</strong>crementally improv<strong>in</strong>g<br />

software and systems delivery<br />

capability. The iterative<br />

approach, illustrated with<br />

a real-life scenario, helps<br />

organisations to stay always<br />

focussed on the next step of<br />

improvement which is clearly<br />

def<strong>in</strong>ed and measured.<br />

■ Nowadays bus<strong>in</strong>ess environment requires<br />

development organisations to cont<strong>in</strong>uously<br />

improve their capability to deliver high quality<br />

systems and software. This is particularly true<br />

for <strong>com</strong>panies develop<strong>in</strong>g embedded systems<br />

because factors such as <strong>in</strong>novation and agility<br />

are key to build<strong>in</strong>g a <strong>com</strong>petitive advantage, <strong>in</strong><br />

addition to the more familiar concerns of cost,<br />

schedule and quality. In address<strong>in</strong>g all these factors,<br />

both economic and eng<strong>in</strong>eer<strong>in</strong>g discipl<strong>in</strong>e<br />

is required. Strategic risk-tak<strong>in</strong>g to explore new<br />

opportunities and good decision-mak<strong>in</strong>g must<br />

rely on objective data to identify real bus<strong>in</strong>ess<br />

value. The IBM Measured Capability Improvement<br />

Framework (MCIF) provides a systematic<br />

approach to <strong>in</strong>crementally improv<strong>in</strong>g software<br />

and systems delivery capability. A capability<br />

<strong>in</strong> this context means the <strong>com</strong>b<strong>in</strong>ation of<br />

process, tools, assets and skills that enable an organisation<br />

to efficiently and effectively execute<br />

an aspect of software development that results<br />

<strong>in</strong> delivered software. Figure 1 provides an<br />

overview of the capabilities addressed with<strong>in</strong><br />

MCIF, grouped <strong>in</strong>to three categories; bus<strong>in</strong>ess<br />

focused, delivery focused and foundation.<br />

Bus<strong>in</strong>ess-focused capabilities apply across one<br />

or more projects and, as a result, are more closely<br />

aligned with the bus<strong>in</strong>ess. Enterprise Architecture<br />

is the ability to def<strong>in</strong>e all aspects of the<br />

enterprise (such as e.g. bus<strong>in</strong>ess strategy, bus<strong>in</strong>ess<br />

processes, <strong>in</strong>formation, <strong>in</strong>frastructure and<br />

applications) as well as any transition plann<strong>in</strong>g<br />

and governance. Product and Portfolio Management<br />

is the ability to manage products<br />

and/or product l<strong>in</strong>es as a portfolio and thereby<br />

<strong>in</strong>crease the predictability of product development<br />

and alignment to bus<strong>in</strong>ess strategy. Delivery-focused<br />

capabilities apply to the execution<br />

of a s<strong>in</strong>gle software development project<br />

that is focused on delivery: Project Management<br />

is the ability to manage projects to agreed<br />

parameters e.g. stakeholder management, plann<strong>in</strong>g,<br />

staff<strong>in</strong>g, execut<strong>in</strong>g, monitor<strong>in</strong>g and risk<br />

management. Requirements Def<strong>in</strong>ition and<br />

Management is the ability to def<strong>in</strong>e, validate<br />

and manage requirements result<strong>in</strong>g <strong>in</strong> improved<br />

collaboration and <strong>com</strong>munication<br />

among bus<strong>in</strong>ess stakeholders and project teams.<br />

Analysis and Design conta<strong>in</strong>s the ability to<br />

transform all requirements <strong>in</strong>to a solution<br />

that has a robust architecture and sufficient<br />

design to govern and guide construction.<br />

Construction is the ability to perform detailed<br />

design tasks, source code organisation, to<br />

implement, unit test and <strong>in</strong>tegrate the code <strong>in</strong>to<br />

an executable system ready for system verification<br />

and quality test<strong>in</strong>g. Quality Management<br />

is the ability to ensure the required level of<br />

quality exists <strong>in</strong> the products or systems. Release<br />

Management is the ability to repeatedly and<br />

reliably build an auditable release of products or<br />

systems.<br />

September 2009 8<br />

Figure 1. Software delivery<br />

capabilities<br />

Foundation capabilities apply to all other capabilities<br />

and are <strong>in</strong> general a prerequisite for<br />

other capabilities. For example, quality management<br />

is of limited use unless the associated<br />

work products are managed with<strong>in</strong> a configuration<br />

and change management capability i.e.<br />

the system under test is of a known, reproducible<br />

state. Lifecycle Processes conta<strong>in</strong> the<br />

ability to follow a def<strong>in</strong>ed process (or method).<br />

Configuration and Change Management is<br />

the ability to uniquely identify and control all<br />

elements of a system that are required to be<br />

under configuration control and control<br />

changes to work products <strong>in</strong>clud<strong>in</strong>g version<br />

track<strong>in</strong>g and audit histories. Asset Discovery,<br />

Management and Re-use is the ability to identify,<br />

create, ma<strong>in</strong>ta<strong>in</strong> and retire re-useable assets<br />

<strong>in</strong> such a fashion as to facilitate easy discovery<br />

and re-use on subsequent products / systems.<br />

Figure 2. Value traceability tree


Measurement and Report<strong>in</strong>g <strong>in</strong>cludes the ability<br />

to provide measurements and reports (based on<br />

mean<strong>in</strong>gful metrics) aligned with bus<strong>in</strong>ess value<br />

to <strong>in</strong>form bus<strong>in</strong>ess and development related<br />

decision mak<strong>in</strong>g. There are <strong>in</strong>ter-relationships<br />

between capabilities which can be as important as<br />

the capabilities themselves. As an example, the<br />

traceability from requirements to design and test<br />

elements provides the ability to perform an impact<br />

analysis of any proposed changes. The MCIF<br />

approach to <strong>in</strong>stantiat<strong>in</strong>g or improv<strong>in</strong>g these<br />

capabilities is to follow a four phase approach:<br />

■ In the Target phase, bus<strong>in</strong>ess stakeholders def<strong>in</strong>e<br />

the set of bus<strong>in</strong>ess objectives (such as rapidly<br />

respond<strong>in</strong>g to market opportunities) before<br />

they work with development specialists to determ<strong>in</strong>e<br />

the associated eng<strong>in</strong>eer<strong>in</strong>g objectives<br />

(such as reduc<strong>in</strong>g product development times).<br />

The objectives are prioritised and over-arch<strong>in</strong>g<br />

strategies to achieve these objectives are def<strong>in</strong>ed.<br />

Each bus<strong>in</strong>ess and eng<strong>in</strong>eer<strong>in</strong>g objective has<br />

success criteria agreed to create a <strong>com</strong>mon view<br />

ofhowwewillknowwhenwehavesucceeded.<br />

■ In the Map phase, eng<strong>in</strong>eer<strong>in</strong>g objectives are<br />

mapped to delivery capabilities with<strong>in</strong> the development<br />

organisation. Dependencies between<br />

capabilities and other <strong>in</strong>terdependencies are<br />

identified and the deployment of capabilities<br />

time ordered result<strong>in</strong>g <strong>in</strong> a roadmap that provides<br />

a clear picture of when the eng<strong>in</strong>eer<strong>in</strong>g objectives<br />

(and, therefore, the bus<strong>in</strong>ess objectives<br />

that they are derived from) will be achieved.<br />

■ In the Adopt phase, the roadmap is executed.<br />

Capabilities are deployed via pilot and roll-out<br />

projects. Self-check<strong>in</strong>g by the development<br />

teams enables monitor<strong>in</strong>g and steerage of the<br />

adoption with<strong>in</strong> an adoption cycle.<br />

■ In the Review phase, progress towards the<br />

bus<strong>in</strong>ess objectives is reviewed and any corrections<br />

<strong>in</strong> the approach applied. Focus then typically<br />

returns to the next adoption phase to address<br />

the next <strong>in</strong>crement of capability deployment.<br />

On occasion, earlier phases may be revisited<br />

if significant refactor<strong>in</strong>g is required due<br />

to market or bus<strong>in</strong>ess changes.<br />

The follow<strong>in</strong>g example illustrates how the<br />

MCIF approach helped a mobile tele<strong>com</strong>munication<br />

<strong>com</strong>pany. The actual case is fictitious<br />

but is based on real-world scenarios and experience<br />

ga<strong>in</strong>ed by IBM Rational Software assist<strong>in</strong>g<br />

customers to improve their software delivery<br />

capability over the last 20 years. The <strong>com</strong>pany,<br />

although successful to date, knows that it<br />

needs to undertake significant change to cont<strong>in</strong>ue<br />

as a market leader. Software and systems<br />

eng<strong>in</strong>eer<strong>in</strong>g discipl<strong>in</strong>es are well established<br />

and mature, but are struggl<strong>in</strong>g to respond to<br />

imprecise or fuzzy demands <strong>in</strong> a highly-charged<br />

and dynamic marketplace. The <strong>com</strong>pany<br />

Figure 3. Self check results<br />

SOFTWARE DEVELOPMENT<br />

W<strong>in</strong>d gone from your sails?<br />

We Won’t Leave You<br />

High and Dry.<br />

Recent consolidations <strong>in</strong> the embedded <strong>in</strong>dustry have left many PowerPC ® users wonder<strong>in</strong>g<br />

where their next real-time or embedded L<strong>in</strong>ux ® operat<strong>in</strong>g system will <strong>com</strong>e from.<br />

At LynuxWorks, we are here to help. Our new PowerPC rescue package<br />

offers an open-standards based RTOS or embedded L<strong>in</strong>ux, and a migration<br />

kit to help PowerPC users stay with their processor of choice.<br />

*limited quantities available<br />

Visit www.lynuxworks.<strong>com</strong>/rescue-me to<br />

request a migration whitepaper and an emergency<br />

hand-crank flashlight-radio*.<br />

Open.Reliable.Safe.Secure.<br />

9 September 2009


SOFTWARE DEVELOPMENT<br />

Figure 4. Trend of risk retirement<br />

decides to undertake an improvement programme<br />

based on a systematic, measurable<br />

approach (MCIF). The l<strong>in</strong>es of bus<strong>in</strong>ess, product<br />

market<strong>in</strong>g and the development organisation<br />

conduct a bus<strong>in</strong>ess value workshop (part<br />

of MCIF phase 1). This determ<strong>in</strong>es the key<br />

bus<strong>in</strong>ess objectives and the measures that will<br />

be used to <strong>in</strong>form steer<strong>in</strong>g. These are identified<br />

as: <strong>in</strong>crease ability to be first <strong>in</strong> the market with<br />

<strong>in</strong>novative features (percentage of market lead<strong>in</strong>g<br />

products), meet market opportunity w<strong>in</strong>dows<br />

(products must meet production deadl<strong>in</strong>es<br />

to hit seasonal market release campaigns,<br />

percentage of product campaigns launched<br />

on time), and ma<strong>in</strong>ta<strong>in</strong> reputation for quality<br />

products (number of customer <strong>com</strong>pla<strong>in</strong>ts,<br />

number of returned products). Note that these<br />

are <strong>in</strong> addition to the exist<strong>in</strong>g revenue, profit<br />

and market share measures the <strong>com</strong>pany uses<br />

to govern and manage the bus<strong>in</strong>ess.<br />

The eng<strong>in</strong>eer<strong>in</strong>g objectives required to support<br />

the bus<strong>in</strong>ess objectives are def<strong>in</strong>ed: improve<br />

bus<strong>in</strong>ess alignment; eng<strong>in</strong>eer<strong>in</strong>g must be “<strong>in</strong>tune”<br />

<strong>in</strong> terms of collaborat<strong>in</strong>g with product<br />

market<strong>in</strong>g on new product features and<br />

requirements (average percentage of product<br />

requirements agreed between stakeholders); <strong>in</strong>crease<br />

product <strong>in</strong>novation, eng<strong>in</strong>eer<strong>in</strong>g must<br />

use its expertise to <strong>in</strong>vent ways of harness<strong>in</strong>g<br />

new technology result<strong>in</strong>g <strong>in</strong> new features and<br />

market opportunities (number of new <strong>in</strong>novations<br />

per quarter year); reduce product development<br />

time, eng<strong>in</strong>eer<strong>in</strong>g must make efficiency<br />

ga<strong>in</strong>s <strong>in</strong> order to deliver products <strong>in</strong><br />

shorter timescales (average project schedule),<br />

reduce project schedule uncerta<strong>in</strong>ty; eng<strong>in</strong>eer<strong>in</strong>g<br />

must <strong>in</strong>crease its ability to deliver product<br />

<strong>com</strong>mitments on schedule (project schedule<br />

variance), and ma<strong>in</strong>ta<strong>in</strong> product quality and reliability;<br />

eng<strong>in</strong>eer<strong>in</strong>g must cont<strong>in</strong>ue to uphold<br />

development rigour <strong>in</strong> terms of product quality<br />

and reliability (escap<strong>in</strong>g defect rate, mean<br />

time between failures, MTBF).<br />

The over-arch<strong>in</strong>g strategy selected is to adopt an<br />

iterative, risk-driven development process <strong>in</strong><br />

which eng<strong>in</strong>eer<strong>in</strong>g rigour is right-sized to<br />

provide the optimum balance between gover-<br />

Figure 5. Trend of the number of checked-out<br />

work items<br />

nance and change stability needed to enable<br />

flexibility to respond rapidly to chang<strong>in</strong>g<br />

market conditions and to get <strong>in</strong>novations <strong>in</strong>to<br />

production. In phase 2 the strategy is used to<br />

steer the selection of capabilities required to<br />

meet the agreed objectives. A high-level view of<br />

the resultant mapp<strong>in</strong>g (value traceability tree)<br />

of bus<strong>in</strong>ess objectives to eng<strong>in</strong>eer<strong>in</strong>g objectives<br />

to capabilities is provided <strong>in</strong> figure 2. In parallel<br />

the measurement system is developed to def<strong>in</strong>e<br />

the metrics to be used to monitor the<br />

improvement programme. A summary of the<br />

eng<strong>in</strong>eer<strong>in</strong>g capabilities and associated metrics<br />

is given below:<br />

Requirements Management: The shared vision<br />

replaces the exist<strong>in</strong>g manual feature and requirement<br />

registers with a shared environment<br />

where all stakeholders have easy access to def<strong>in</strong>itions<br />

and status. Associated metrics: No<br />

measure – this is effectively monitored as a b<strong>in</strong>ary<br />

function (Stakeholders do/do not have access<br />

to shared view) – the impact be<strong>in</strong>g evident<br />

<strong>in</strong> the requirement trend metrics given below.<br />

The story-board elicitation augments the exist<strong>in</strong>g<br />

textual requirements def<strong>in</strong>itions with<br />

story-board<strong>in</strong>g and other elicitation techniques<br />

to aid collaboration and <strong>com</strong>mon understand<strong>in</strong>g<br />

of imprecise needs. Associated metrics:<br />

Trend of requirements outl<strong>in</strong>ed, specified,<br />

agreed. In the Project Management Iterative development<br />

the development project is broken<br />

down <strong>in</strong>to a series of successive iterations. Each<br />

iteration has a fixed plan (budget and schedule)<br />

<strong>in</strong>clud<strong>in</strong>g allocated requirements, development<br />

activities and resources, results <strong>in</strong> a verified,<br />

demonstrable system of <strong>in</strong>cremental functionality,<br />

and has a change gate permitt<strong>in</strong>g requirement<br />

changes <strong>in</strong> the early, requirementsfocussed<br />

part of the iteration (circa 20% of the<br />

schedule), then clos<strong>in</strong>g to provide iteration stability.<br />

Associated metrics are: Iteration burndown<br />

(percentage <strong>com</strong>plete, rema<strong>in</strong><strong>in</strong>g estimate),<br />

Schedule Performance Index (SPI),<br />

Cost Performance Index (CPI), percentage iteration<br />

stable (percentage change gate open,<br />

closed). In the Risk-value lifecycle the content<br />

of iterations is prioritised by risk (to drive risk<br />

www.embedded-control-europe-<strong>com</strong><br />

September 2009 10<br />

Figure 6. Trend of test time (hours per system<br />

test)<br />

resolution as early as possible <strong>in</strong> the lifecycle)<br />

and bus<strong>in</strong>ess value (to deliver more valuable<br />

content first). Prioritisation is reviewed at the<br />

end of each iteration based on results and plann<strong>in</strong>g<br />

for subsequent iterations adjusted as required<br />

(the overall programme is steered to the<br />

optimum out<strong>com</strong>e for all stakeholders). Associated<br />

metrics are trend of risks retired (H, M,<br />

L magnitude), trend of value implemented.<br />

The Configuration and Change Management<br />

<strong>in</strong>cludes formal management and automation.<br />

Formal change management is the formal<br />

process to uniquely identify and control all development<br />

elements of the system (requirements,<br />

design, implementation source code) <strong>in</strong>clud<strong>in</strong>g<br />

version track<strong>in</strong>g and audit histories. Associated<br />

metrics are the trend of the number of<br />

work items configured (check <strong>in</strong>/out), trend of<br />

the number of change requests/status. Automation<br />

conta<strong>in</strong>s tool<strong>in</strong>g support for configuration<br />

and change management workflows.<br />

Provides a fully configured developer workspace<br />

and functionality to draw down (or be<br />

dynamically updated) a <strong>com</strong>plete set of configured<br />

(or latest) work items from across the<br />

development team (local and remote). Associated<br />

metrics are the percentage effort spent on<br />

CCM activities. The Quality Management <strong>in</strong>cludes<br />

cont<strong>in</strong>uous verification which means<br />

<strong>com</strong>plete system test<strong>in</strong>g (functional and performance),<br />

<strong>in</strong>formal dur<strong>in</strong>g iterations and formal<br />

for the end of iteration product. Associates<br />

metrics are the trend of number of defects<br />

(open, closed), mean time between failures<br />

(MTBF). Its Automation conta<strong>in</strong>s tool<strong>in</strong>g support<br />

for automated functional and performance<br />

test<strong>in</strong>g <strong>in</strong>clud<strong>in</strong>g report<strong>in</strong>g and generation of<br />

change requests based on identified defects.<br />

Associated metrics <strong>in</strong>cludes the trend of test<br />

time per build.<br />

With the capabilities and their associated<br />

metrics def<strong>in</strong>ed the next step is to def<strong>in</strong>e the<br />

roadmap, the high-level plan for adoption. Dependencies<br />

between capabilities are identified,<br />

the capabilities time ordered and a roadmap for<br />

a pilot project created. Five capabilities are


<strong>in</strong>stantiated <strong>in</strong> part I, the reason<strong>in</strong>g is provided<br />

by shared vision: provides the shared view of<br />

requirements across the stakeholder <strong>com</strong>munity<br />

that supports the new requirement elicitation<br />

techniques of the story-board elicitation<br />

capability; formal change management and associated<br />

automation provide the mechanism<br />

for control of configuration and change required<br />

by iterative development and the allocation<br />

and management of iteration content<br />

(risk-value lifecycle), and cont<strong>in</strong>uous verification<br />

and associated automation provide the<br />

mechanism for <strong>in</strong>formal and formal system<br />

functional and performance test<strong>in</strong>g required for<br />

the verification of risk removal and value<br />

earned dur<strong>in</strong>g each iteration.<br />

Aliveprojectwasselectedtopilotadoptionof<br />

the new capabilities (MCIF Phase 3). The selection<br />

of a live project ensured that the pilot attracted<br />

a high level of stakeholder visibility and<br />

that the out<strong>com</strong>e (positive or negative) reflected<br />

results <strong>in</strong> a true bus<strong>in</strong>ess context. At the end<br />

of the pilot, after six months, a formal bus<strong>in</strong>ess<br />

review was conducted. As the results were<br />

judged a success and no major refactor<strong>in</strong>g was<br />

required the adoption moved on to propagate<br />

the improvements made across the organisation<br />

via a number of waves. Each wave addressed<br />

one or more projects with<strong>in</strong> the organisation:<br />

Wave 1, three further live projects of approximate<br />

duration 6 months, Wave 2, all new projects,<br />

and Wave 3, selected legacy systems. As<br />

each capability <strong>com</strong>prised a package of process<br />

elements, tool<strong>in</strong>g support, assets and staff enablement,<br />

a central team was setup to manage<br />

the provision of each of these elements to project<br />

teams start<strong>in</strong>g adoption. Enablement was<br />

provided via quick-start workshops and on<br />

project mentor<strong>in</strong>g. Process, assets and support<strong>in</strong>g<br />

tool<strong>in</strong>g were provided as an <strong>in</strong>tegrated,<br />

collaborative development environment<br />

configured to meet the needs of each project.<br />

A self-check tool was used by the teams undertak<strong>in</strong>g<br />

the projects to ascerta<strong>in</strong> their adoption<br />

progress. The example <strong>in</strong> figure 3 shows<br />

the results of one of the project teams <strong>in</strong> wave<br />

1 self-check<strong>in</strong>g their adoption of the new project<br />

management capabilities. The team scored<br />

the adoption as high for iteration plann<strong>in</strong>g, risk<br />

allocation and value allocation to iterations but<br />

low for successive demonstrable systems. In<br />

practice this meant the iterations were not result<strong>in</strong>g<br />

<strong>in</strong> executable, verifiable systems (of <strong>in</strong>crementally<br />

<strong>in</strong>creas<strong>in</strong>g functionality). This was<br />

a serious error <strong>in</strong> the adoption as demonstrable<br />

systems are required for the valid retirement of<br />

risks, value based progress report<strong>in</strong>g and steer<strong>in</strong>g.<br />

A short period of <strong>in</strong>tensive mentor<strong>in</strong>g was<br />

undertaken to re-plan subsequent iterations<br />

and tra<strong>in</strong> the project teams. Subsequent self<br />

checks showed that the capability to deliver<br />

successive demonstrable systems was <strong>in</strong> place.<br />

SOFTWARE DEVELOPMENT<br />

Hav<strong>in</strong>g reached a major adoption milestone<br />

(end of pilot project) a steer<strong>in</strong>g board was convened<br />

(MCIF Phase 4 Review). Figure 4 provide<br />

three examples of the capability level results reviewed.<br />

This chart shows the retirement trends<br />

for risks classified as high and medium magnitude.<br />

In the risk-value lifecycle retirement of a<br />

risk means that there is demonstrable evidence<br />

that the risk has been mitigated. For example,<br />

<strong>in</strong> iteration 1 test<strong>in</strong>g proved that the system<br />

under development had met critical technical<br />

performance requirements identified as high<br />

magnitude risks and therefore those risks were<br />

retired. By the end of iteration 2 the pilot<br />

project had retired all high magnitude risks.<br />

Figure 5 shows the trend of the configuration<br />

state of work items (checked <strong>in</strong>/out) across the<br />

pilot project iterations. The trend shows the efforts<br />

made by the team to put work items under<br />

configuration control (checked-<strong>in</strong>) ready for<br />

formal system test<strong>in</strong>g at the end of each iteration<br />

(the dips towards zero items checked-out<br />

at the end of iterations). By the end of the f<strong>in</strong>al<br />

iteration the project had achieved 100% of<br />

work items under full configuration and change<br />

control.<br />

Figure 6 tracks the time the pilot project spent<br />

per system test. At the start of the project the<br />

<strong>in</strong>itial test<strong>in</strong>g took approximately four days of<br />

effort. This was consistent with historical data<br />

for manually <strong>in</strong>tensive test<strong>in</strong>g on previous<br />

projects. As the test<strong>in</strong>g was automated and<br />

experience of the new test<strong>in</strong>g environment<br />

improved this time was reduced to approximately<br />

six hours. The review board judged the<br />

results as significant improvements. By referr<strong>in</strong>g<br />

to the value traceability tree they were able to<br />

see the l<strong>in</strong>kage from these results to the eng<strong>in</strong>eer<strong>in</strong>g<br />

objectives and therefore the bus<strong>in</strong>ess<br />

objectives.<br />

The board approved cont<strong>in</strong>uation of the programme<br />

to wave 1, adoption on three further<br />

six month duration projects (returned to MCIF<br />

phase 3 for next adoption cycle). Wave 1 delivered<br />

the expected results across two of the three<br />

projects selected. The project that did not deliver<br />

the same level of results was exam<strong>in</strong>ed. The<br />

issue was identified (as described <strong>in</strong> the example<br />

self-check results) and corrective action<br />

taken but the time lost was not fully recovered.<br />

The cause of the issue was identified as <strong>in</strong>sufficient<br />

skills enablement of the project team and<br />

the resources with<strong>in</strong> the central support team<br />

were <strong>in</strong>creased to prevent re-occurrence. Today,<br />

the improved capabilities are adopted as bus<strong>in</strong>ess<br />

as usual for all new projects launched. The<br />

board is now consider<strong>in</strong>g the application of<br />

capabilities to selected legacy systems and the<br />

options for further capability improvement <strong>in</strong><br />

the areas of asset re-use and product and<br />

portfolio management. ■<br />

11 September 2009


MICROCONTROLLERS<br />

Cortex-M3 software modifications for<br />

ARM7TDMI programmers<br />

By Joseph Yiu and Andrew Frame, ARM<br />

This article expla<strong>in</strong>s some<br />

typical modifications that may<br />

be required to port code from<br />

the ARM7TDMI processor to<br />

the Cortex-M3 processor, <strong>in</strong><br />

order to execute more<br />

efficiently on the Cortex-M3<br />

or exploit some of its<br />

advanced features.<br />

■ The Cortex-M3 processor, <strong>in</strong>troduced <strong>in</strong><br />

2006, has some <strong>in</strong>novative and much improved<br />

features and capabilities when <strong>com</strong>pared<br />

with the ARM7TDMI processor. The<br />

richer <strong>in</strong>struction set and improved efficiency<br />

of the Cortex-M3 Thumb <strong>in</strong>struction set architecture<br />

(ISA) technology enables better optimized<br />

program code to be generated, alongside<br />

other code-sav<strong>in</strong>g advantages. S<strong>in</strong>ce the<br />

Cortex-M3 processor can f<strong>in</strong>ish a task quicker<br />

than an ARM7TDMI, more time can be spent<br />

<strong>in</strong> sleep mode, reduc<strong>in</strong>g the active power of the<br />

system and thereby enabl<strong>in</strong>g better system<br />

performance and energy efficiency. Alternatively<br />

the higher performance can be used to<br />

implement more advanced application features.<br />

A number of bit field manipulation <strong>in</strong>structions<br />

are supported by the Cortex-M3 processor<br />

that can improve the performance and code<br />

size when deal<strong>in</strong>g with bit fields, for example, <strong>in</strong><br />

peripheral controls and <strong>com</strong>munication protocol<br />

process<strong>in</strong>g. The Cortex-M3 processor<br />

supports two bit band memory regions, one for<br />

SRAM and one for peripherals. The use of bit<br />

band memory accesses can simplify peripheral<br />

control processes, and can reduce SRAM<br />

usage by convert<strong>in</strong>g Boolean variables <strong>in</strong>to bit<br />

band alias accesses with each Boolean data tak<strong>in</strong>g<br />

only one bit. The nested vectored <strong>in</strong>terrupt<br />

controller (NVIC) <strong>in</strong> the Cortex-M3 processor<br />

is easy to use, and provides flexible <strong>in</strong>terrupt<br />

control with much simpler <strong>in</strong>terrupt handl<strong>in</strong>g<br />

code along with the added benefit of priority<br />

level control to give better <strong>in</strong>terrupt handl<strong>in</strong>g<br />

performance. The fast s<strong>in</strong>gle-cycle multiply and<br />

new hardware divide <strong>in</strong>structions can enable<br />

further optimized ARM7TDMI processor assembly<br />

data process<strong>in</strong>g rout<strong>in</strong>es for DSP and<br />

saturate-like functionality. A number of low<br />

power sleep modes have been <strong>in</strong>troduced <strong>in</strong> the<br />

Cortex-M3 processor which are not available <strong>in</strong><br />

the ARM7TDMI processor. Enter<strong>in</strong>g low power<br />

mode is done by execut<strong>in</strong>g wait for <strong>in</strong>terrupt or<br />

wait for event (WFI/WFE) <strong>in</strong>structions. If the<br />

optional MPU is implemented then it can be<br />

used to improve the robustness of the application<br />

and accelerate the detection of errors<br />

dur<strong>in</strong>g the application development.<br />

The ITM module <strong>in</strong> the Cortex-M3 processor<br />

can be used to provide diagnosis (or debug)<br />

messages through the serial wire viewer (SWV)<br />

us<strong>in</strong>g standard debug hardware. For example, a<br />

retargeted function fputc can be implemented<br />

to write to the ITM stimulus port registers so<br />

that when the pr<strong>in</strong>tf function is executed, the<br />

message is output to the serial wire viewer connection,<br />

captured by the debug hardware and<br />

subsequently displayed <strong>in</strong> the ITM viewer w<strong>in</strong>dow.<br />

The processor provides a number of special<br />

<strong>in</strong>structions to <strong>in</strong>crease the performance <strong>in</strong><br />

September 2009 12<br />

data process<strong>in</strong>g, for example, bit field <strong>in</strong>sert, saturation<br />

and endian conversion for data. Some<br />

of these <strong>in</strong>structions can be generated by the C<br />

<strong>com</strong>piler us<strong>in</strong>g idiom recognitions or <strong>in</strong>tr<strong>in</strong>sic<br />

functions.<br />

The modifications required to enable<br />

ARM7TDMI processor software to run on a<br />

Cortex-M3 processor will depend on the <strong>com</strong>plexity<br />

of the ARM7TDMI software and how it<br />

was written. The rema<strong>in</strong>der of this article is divided<br />

<strong>in</strong>to different sections, based on the<br />

type of software that needs to be ported. Table<br />

1 shows a brief outl<strong>in</strong>e of the modification scenarios<br />

for port<strong>in</strong>g code from the ARM7TDMI<br />

processor to the Cortex-M3 processor.<br />

It is re<strong>com</strong>mended that all C code be re<strong>com</strong>piled<br />

so that it can be optimized for the more<br />

powerful Cortex-M3 Thumb <strong>in</strong>struction set,<br />

and also to ensure that all obsolete state switch<strong>in</strong>g<br />

code (between ARM and Thumb states) is<br />

removed. The ARM7TDMI processor supports<br />

both ARM and Thumb code, and although<br />

Thumb code <strong>com</strong>piled for ARM7TDMI<br />

will work, the Cortex-M3 <strong>in</strong>struction set should<br />

enable higher levels of performance whilst<br />

ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g the <strong>in</strong>dustry-lead<strong>in</strong>g code density<br />

offered by the orig<strong>in</strong>al ARM7TDMI Thumb <strong>in</strong>struction<br />

set. If the C code is purely ANSI C<br />

then no further changes will be required. Non-


Software type Modifications<br />

Part A: Simple applications<br />

written mostly <strong>in</strong> C<br />

Part B: Applications with mixed<br />

C and assembly code.<br />

Part C: Complex application with<br />

embedded OS, 3 rd party software<br />

libraries.<br />

Table 1. Brief outl<strong>in</strong>e of the modification scenarios for port<strong>in</strong>g code from the ARM7TDMI<br />

processor to the Cortex-M3 processor<br />

ANSI C code functions, for example, state<br />

chang<strong>in</strong>g pragma directives (#pragma arm<br />

and #pragma thumb), which are required to<br />

support the two different ARM7TDMI<br />

<strong>in</strong>struction sets, no longer apply and must be<br />

removed. The Cortex-M3 processor requires an<br />

extremely simple start-up sequence which can,<br />

if desired, be written <strong>com</strong>pletely <strong>in</strong> C. This<br />

C code should be re<strong>com</strong>piled for the Cortex-M3 to take<br />

advantage of the more powerful <strong>in</strong>struction set with only<br />

m<strong>in</strong>or modifications be<strong>in</strong>g needed.<br />

Startup code (<strong>in</strong>clud<strong>in</strong>g the vector table) needs to be<br />

simplified.<br />

Interrupt controller setup code needs to be updated to<br />

take advantage of the <strong>in</strong>tegrated <strong>in</strong>terrupt controller<br />

hardware and the removal of the need to provide top level<br />

<strong>in</strong>terrupt handler code.<br />

Interrupt handler wrapper code needs to be simplified.<br />

Sleep mode entry code may need to be added to<br />

implement the Cortex-M3 architected low power modes<br />

for reduc<strong>in</strong>g power consumption.<br />

Stack memory layout may need to be considered due to<br />

the reduction <strong>in</strong> number of stacks that need to be<br />

supported.<br />

All modifications for Part A, plus a possibility of the need<br />

to:<br />

Change any assembler <strong>in</strong>structions to support Thumb-2.<br />

Replace Software Interrupt (SWI) with Supervisor Call<br />

(SVC), and update SWI (SVC) handler.<br />

Add<strong>in</strong>g or adjust<strong>in</strong>g fault handlers.<br />

All modifications for Parts A and B, plus :<br />

Chang<strong>in</strong>g of embedded OS and 3 rd party libraries to<br />

updated versions for Cortex-M3.<br />

Differences ARM7TDMI Cortex�M3<br />

Modes Seven modes : Supervisor,<br />

System, User, FIQ, IRQ, Abort,<br />

Undef<strong>in</strong>ed<br />

Program Status<br />

Registers<br />

Current Program Status Register<br />

(CPSR), and banked Saved<br />

Program Status Register (SPSR)<br />

Two modes: Handler mode and Thread<br />

mode. Thread mode can be privileged or<br />

non privileged.<br />

xPSR : conta<strong>in</strong><strong>in</strong>g Application, Interrupt<br />

and Execution Program Status Registers<br />

(APSR, IPSR, and EPSR). The I and F mode<br />

bits are removed. The SPSR is removed<br />

because xPSR is saved onto the stack<br />

dur<strong>in</strong>g exception entry.<br />

Stack Up to six stack regions Up to two stack regions<br />

States ARM state and Thumb state Thumb state only<br />

MICROCONTROLLERS<br />

Table 2. Brief outl<strong>in</strong>e of differences <strong>in</strong> programmers models between the ARM7TDMI processor<br />

and the Cortex-M3 processor<br />

start-up sequence consists of a vector table with<br />

an <strong>in</strong>itial value for the ma<strong>in</strong> stack po<strong>in</strong>ter<br />

(MSP) followed by a vector address for each exception,<br />

with the possibility to enter ma<strong>in</strong> or C<br />

<strong>in</strong>itialization code directly from the reset vector,<br />

or via optional start-up code. While microcontrollers<br />

based on the ARM7TDMI processor<br />

would generally have a separate <strong>in</strong>terrupt<br />

13 September 2009<br />

AAEON’s Computer On<br />

Module (COM) Service<br />

� From Design to Delivery with AAEON’s<br />

ETX/XTX/COM Express Modules<br />

� Less Design Effort and Less Risk<br />

� Time-to Market Solution with<strong>in</strong> 30 Days<br />

ECB-951D<br />

( (Carrier Board) )<br />

Applications:<br />

» Retail R e t a i l&A & Advertis<strong>in</strong>g d v e r t i s i n g<br />

» Medical<br />

» Test<br />

&<br />

MMeasurement<br />

easurement<br />

» Gam<strong>in</strong>g<br />

& EEnterta<strong>in</strong>ment<br />

nterta<strong>in</strong>ment<br />

» Industrial I n du s t r i a lA Automation u t o ma t i o n<br />

» Military M Military<br />

&G & Government overnment<br />

» Security S Security<br />

AAEON<br />

Technology Tee<br />

chnolog<br />

y GGmbH<br />

mbH<br />

NanoCOM-U15<br />

(Ultra Small Size)<br />

AAEON’s AAEON’ s COM (Computer On Modul Module) le) is a <strong>com</strong>pact CPU board<br />

that <strong>in</strong>tegrates primary primary functions functions <strong>in</strong>to<br />

<strong>in</strong>to a small form factor<br />

factor. .<br />

The three phases for AAEON’ AAEON’s s COM<br />

Services are document<br />

support, technical support, and design-to-delivery(DTD)<br />

ODM<br />

service. With With AAEON’s AAEON’ sCOM COM and <strong>in</strong>n <strong>in</strong>novative ovative service,<br />

AAEON can design the carrier(base) boards by customers’<br />

demands. Customers can thus enjoy the follow<strong>in</strong>g benefits:<br />

1. Professional consultation for carrier carrie er board designs.<br />

2. Faster time to to market.<br />

3. Reliable, high quality products with<br />

h <strong>com</strong>petitive pric<strong>in</strong>g.<br />

4. Directly support /service from R&D R&D. D.<br />

5. Long-term support.<br />

An And<br />

der erT<br />

Trift rift6<br />

65d, 5d,<br />

D-63303 D-63303D<br />

Dreieich, r e eieich,G<br />

Germany ermany<br />

Tel:<br />

+ +49-(0)61033-7479-00<br />

49-(<br />

0)<br />

61033-747<br />

9-00<br />

Email: Email<br />

: saleseurope@aaeon.<strong>com</strong><br />

saleseurope@aaeo<br />

n.<br />

<strong>com</strong><br />

Fax:<br />

+ +49-(0)61033-7479-49<br />

49-(<br />

0)<br />

61033-747<br />

9-49<br />

URL:<br />

http://www.aaeon.eu<br />

http:<br />

/ / www.<br />

aaeon.<br />

eu<br />

www.aaeon.eu<br />

ww<br />

ww.<br />

aa<br />

e eon.<br />

eu


MICROCONTROLLERS<br />

Address<strong>in</strong>g modes Supported <strong>in</strong> ARM7TDMI Supported <strong>in</strong> Cortex-M3<br />

Increment after – address<br />

<strong>in</strong>crement after each access<br />

Increment before – address<br />

<strong>in</strong>crement before each access<br />

Decrement after – address<br />

decrement after each access<br />

Decrement before – address<br />

decrement before each access<br />

controller, the Cortex-M3 processor conta<strong>in</strong>s an<br />

<strong>in</strong>tegrated nested vectored <strong>in</strong>terrupt controller<br />

(NVIC). S<strong>in</strong>ce the address location and the<br />

programmer model for the <strong>in</strong>terrupt controllers<br />

are likely to be different, the setup code<br />

for the <strong>in</strong>terrupt controllers would likely be<br />

different. The use of an assembly code wrapper,<br />

which is normally required with the<br />

ARM7TDMI processor, can be <strong>com</strong>pletely<br />

elim<strong>in</strong>ated on the Cortex-M3 processor because<br />

the exception mechanism automatically handles<br />

nested <strong>in</strong>terrupts, executes the correct<br />

<strong>in</strong>terrupt handler and handles sav<strong>in</strong>g and<br />

restor<strong>in</strong>g of a number of registers so that the<br />

exception handlers can be programmed as C<br />

functions.<br />

It is possible that a program might behave<br />

differently after be<strong>in</strong>g ported from<br />

ARM7TDMI processor to the Cortex-M3<br />

processor due to differences <strong>in</strong> execution speed.<br />

For example, a system that uses software to generate<br />

bit-bang operations like SPI and I²C<br />

might achieve higher speeds when runn<strong>in</strong>g on<br />

a Cortex-M3 processor based microcontroller<br />

and, as a result, it may be necessary to adjust<br />

any software tim<strong>in</strong>g constant for the application<br />

firmware. The Cortex-M3 processor has only<br />

two stack po<strong>in</strong>ters, and unless the software requires<br />

an embedded OS or requires the separation<br />

of privileged and non-privileged levels,<br />

it is possible to use just one stack region for the<br />

whole application. This makes stack memory<br />

plann<strong>in</strong>g much easier and often results <strong>in</strong> the<br />

stack memory size requirement on the Cortex-<br />

M3 processor be<strong>in</strong>g much less. The <strong>in</strong>itialization<br />

of the second stack po<strong>in</strong>ter (PSP – process<br />

LDMIA/STMIA, POP (LDMIA /<br />

LDMFD with SP as base)<br />

LDMIB/STMIB -<br />

LDMDA/STMDA -<br />

LDMDB/STMDB, PUSH<br />

(STMDB / STMFD with SP as<br />

base)<br />

Table 3. Load and store multiple address modes supported by the Cortex-M3 processor<br />

Instruction ARM code Thumb (16-bit) Thumb (32-bit)<br />

B label +/- 32MB +/-2K +/-16MB<br />

stack po<strong>in</strong>ter) can be performed by the start-up<br />

code or by the OS <strong>in</strong>itialization sequence.<br />

Projects with mixed C and assembler code may<br />

require additional modifications due to differences<br />

<strong>in</strong> the model and <strong>in</strong>struction set of the<br />

programmer. Whilst the ARM7TDMI and Cortex-M3<br />

register bank (R0 to R15) registers are<br />

similar, there are a number of modifications required<br />

due to the simplification of the Cortex-<br />

M3 programmer’s model. Table 2 lists the key<br />

differences <strong>in</strong> the programmer models. The<br />

Cortex-M3 programmer model is much simpler<br />

than the ARM7TDMI because the handler<br />

mode manages all types of exception <strong>in</strong> the<br />

same way. Also, fewer banked registers results <strong>in</strong><br />

less <strong>in</strong>itialization before enter<strong>in</strong>g the ma<strong>in</strong><br />

application. In most simple applications, only<br />

a simple vector table is required and then the<br />

rest of the cod<strong>in</strong>g can be done <strong>in</strong> C. The Cortex-M3<br />

processor does not require state chang<strong>in</strong>g<br />

branch veneers which switch the processor<br />

between ARM and Thumb states and so any<br />

state chang<strong>in</strong>g code <strong>in</strong> assembler files should be<br />

removed.<br />

All Thumb <strong>in</strong>structions on the ARM7TDMI<br />

can execute on the Cortex-M3 processor. However,<br />

the legacy SWI (software <strong>in</strong>terrupt) <strong>in</strong>struction<br />

has been renamed to SVC (supervisor<br />

call), and its associated handler will require<br />

modification (See SWI and SVC section). For<br />

ARM assembler files, some care is needed to<br />

avoid the few ARM <strong>in</strong>structions that do not<br />

have a Thumb equivalent and cannot be used<br />

on the Cortex-M3 processor. These are: Swap<br />

(SWP) and Swap Byte (SWPB) <strong>in</strong>structions. In<br />

the Cortex-M3 processor swap has been re-<br />

September 2009 14<br />

LDMIA/STMIA, POP (LDMIA<br />

with SP as base)<br />

LDMDB/STMDB, PUSH<br />

(STMDB with SP as base)<br />

BL label +/- 32MB NA – always 32-bit +/-16MB (was 4MB <strong>in</strong> ARM7TDMI)<br />

B label<br />

(Conditional branch)<br />

+/- 32MB -252 to +258 +/-1MB, or<br />

Table 4. List<strong>in</strong>g of the branch ranges for ARM and Thumb code<br />

+/-16MB when branch <strong>in</strong>struction<br />

is used with IT <strong>in</strong>struction block<br />

placed by load and store exclusive access <strong>in</strong>structions<br />

(LDREX and STREX). Load/Store<br />

<strong>in</strong>structions. The Cortex-M3 processor supports<br />

<strong>com</strong>monly used load and store multiple<br />

address modes. Table 3 shows the load and store<br />

multiple address modes supported by the Cortex-M3<br />

processor. If the software code to be<br />

ported was written for memory address arithmetic<br />

us<strong>in</strong>g ARM <strong>in</strong>structions, the memory offset<br />

value will need to be changed because the<br />

value of PC would be the address of the current<br />

<strong>in</strong>struction plus 4. The Cortex-M3 processor<br />

conditional execution feature is supported by<br />

plac<strong>in</strong>g <strong>in</strong>structions <strong>in</strong>to an IT (If-Then) <strong>in</strong>struction<br />

block with each IT <strong>in</strong>struction block<br />

hav<strong>in</strong>g up to 4 conditional <strong>in</strong>structions. With<br />

the ARM development tools, the assembler automatically<br />

<strong>in</strong>serts IT <strong>in</strong>structions <strong>in</strong>to the<br />

output image result<strong>in</strong>g <strong>in</strong> a simple software<br />

port<strong>in</strong>g process whilst ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g very efficient<br />

code density. Both the ARM7TDMI<br />

processor and the Cortex-M3 processor support<br />

move to register from status (MRS) and<br />

move to status register (MSR) <strong>in</strong>structions but<br />

the effects of these <strong>in</strong>structions differ <strong>in</strong> execution<br />

on each processor.<br />

On the Cortex-M3 processor, the <strong>in</strong>terrupt<br />

enable and disable is handled by a separate<br />

exception mask register called PRIMASK and<br />

the exception model has priority levels assigned<br />

to each <strong>in</strong>terrupt. Change processor state (CPS)<br />

<strong>in</strong>structions allow the <strong>in</strong>terrupt enabl<strong>in</strong>g or disabl<strong>in</strong>g<br />

operation to be done <strong>in</strong> just one <strong>in</strong>struction.<br />

The Cortex-M3 processor <strong>in</strong>terrupt<br />

enable/disable (PRIMASK) is separated from<br />

the PSR so the restoration of PSR status at <strong>in</strong>terrupt<br />

returns does not change the <strong>in</strong>terrupt<br />

enable/disable behaviour. If the ARM7TDMI<br />

application assumed that the <strong>in</strong>terrupt would<br />

be disabled when enter<strong>in</strong>g an exception handler,<br />

and relies on this behavior, then the exception<br />

handler must also be changed. The ARM <strong>in</strong>struction<br />

“MOVS PC, LR” is used <strong>in</strong><br />

ARM7TDMI processor as exception return.<br />

This must be changed to “BX LR” on the Cortex-M3<br />

processor because the move <strong>in</strong>struction<br />

(MOV) is not a valid <strong>in</strong>struction for exception<br />

return.<br />

When port<strong>in</strong>g assembler code from ARM code<br />

to Cortex-M3 Thumb code, some of the branch<br />

and conditional branch <strong>in</strong>structions will need<br />

modification to specify that the larger ranged<br />

32-bit version of the <strong>in</strong>struction is used. This is<br />

done by add<strong>in</strong>g the .W suffix. For example,<br />

BEQ.W label, table 4 lists the branch ranges for<br />

ARM and Thumb code. The SWI <strong>in</strong>struction <strong>in</strong><br />

the ARM7TDMI processor equates to the SVC<br />

<strong>in</strong>struction <strong>in</strong> the Cortex-M3 processor. The<br />

b<strong>in</strong>ary encod<strong>in</strong>g of the <strong>in</strong>struction rema<strong>in</strong>s<br />

unchanged, but the handler code needs modification<br />

if it needs to extract the immediate<br />

value from the SVC/SWI <strong>in</strong>struction. ■


■ STM: STM32 MCUs with Ethernet, USB<br />

OTG and CAN<br />

STMicroelectronics confirms full production<br />

availability of its latest STM32 Connectivity<br />

L<strong>in</strong>e microcontrollers built on the ARM Cortex-M3<br />

processor. The STM32 Connectivity<br />

L<strong>in</strong>e allows developers to take advantage of <strong>in</strong>dustry-standard<br />

32-bit process<strong>in</strong>g <strong>in</strong> designs requir<strong>in</strong>g<br />

simultaneous Ethernet, USB, CAN<br />

and audio-class I2S capabilities. Two variants<br />

are available, <strong>in</strong>clud<strong>in</strong>g the STM32F105 series<br />

<strong>com</strong>b<strong>in</strong><strong>in</strong>g a Full-Speed USB 2.0 Host/Device/OTG<br />

peripheral and two CAN2.0B controllers<br />

with advanced filter<strong>in</strong>g capabilities.<br />

News ID 1531<br />

■ TI: system-on-chip meter<strong>in</strong>g solution<br />

Support<strong>in</strong>g three-phase e-meter<strong>in</strong>g applications,<br />

Texas Instruments announces the new<br />

ultra-low power MSP430F471xx microcontroller<br />

series. The F471xx system-on-chip meter<strong>in</strong>g<br />

solution achieves lead<strong>in</strong>g accuracy results,<br />

and offers simultaneous sampl<strong>in</strong>g of<br />

voltage and current as well as tamper-detection<br />

for efficient and reliable energy measurement.<br />

News ID 1581<br />

■ Microchip: PIC MCUs feature enhanced<br />

mid-range 8-bit core<br />

Microchip announces the first six members of<br />

the PIC16F193X family of microcontrollers,<br />

featur<strong>in</strong>g Microchip’s enhanced mid-range 8bit<br />

core. The <strong>in</strong>creased memory and core capabilities<br />

deliver enhanced support for both C<br />

and Assembly programmers, while the ‘LF’ family<br />

members feature Microchip’s nanoWatt<br />

XLP Technology for extreme low power operation.<br />

News ID 1898<br />

■ Evatronix: 8051 MCU now fully supported<br />

by ARM Keil Vision4 IDE<br />

Evatronix announces full support of its<br />

R8051XC2 microcontroller IP by the ARM Keil<br />

Vision4 Integrated Development Environment.<br />

μVision4 has been designed to enhance<br />

developer’s productivity, enabl<strong>in</strong>g faster, more<br />

efficient program development and verification.<br />

The flexible w<strong>in</strong>dow management system <strong>in</strong>troduced<br />

<strong>in</strong> Vision4 enables developers to use<br />

multiple monitors and provides <strong>com</strong>plete control<br />

over w<strong>in</strong>dow placement anywhere on the<br />

visual surface.<br />

News ID 1973<br />

■ Digi-Key: <strong>com</strong>munity for Freescale<br />

Tower System<br />

Freescale Semiconductor’s new Tower System<br />

and Towergeeks.org, is an onl<strong>in</strong>e <strong>com</strong>munity<br />

created for eng<strong>in</strong>eers by Digi-Key. The Tower<br />

Product News<br />

System is a modular, reconfigurable development<br />

platform for 8-, 16-, and 32-bit microcontrollers<br />

that allows designers to get to market<br />

faster with packaged evaluation boards,<br />

tools, and runtime software. Comprised of<br />

three types of modules (microcontroller, peripheral,<br />

and elevator modules), the Tower System<br />

enables eng<strong>in</strong>eers to reuse tools and rapidly<br />

prototype designs.<br />

News ID 1614<br />

■ Atmel: AVR MCU family with CAN and<br />

LIN connectivity<br />

Atmel announces a new family of AVR microcontrollers<br />

targeted at the <strong>in</strong>dustrial control<br />

market. The ATmega16M1, ATmega32M1, and<br />

ATmega64M1 have been developed to serve the<br />

need for high accuracy pulse width modulation<br />

for advanced motor control applications with<br />

CAN and LIN connectivity. The new family of<br />

devices feature 16, 32, and 64 KB of Flash, general<br />

purpose IO p<strong>in</strong>s, analog to digital converter,<br />

analog <strong>com</strong>parators, Power Stage <strong>Control</strong>ler,<br />

and 8 and 16 bit timers.<br />

News ID 308<br />

■ MSC: 6-p<strong>in</strong> t<strong>in</strong>yAVR features ultra-small<br />

package<br />

MSC announces ATt<strong>in</strong>y10, a new 6-p<strong>in</strong> t<strong>in</strong>yAVR<br />

microcontroller from Atmel. As smallest device<br />

<strong>in</strong> the grow<strong>in</strong>g t<strong>in</strong>yAVR family, it <strong>com</strong>es <strong>in</strong> a 6p<strong>in</strong><br />

SOT-23 package, measur<strong>in</strong>g only 2.9 x 1.6<br />

mm. The device fits <strong>in</strong> a wide range of applications<br />

where size and cost are of high importance.<br />

ATt<strong>in</strong>y10, with p<strong>in</strong> <strong>com</strong>patibility to Microchip’s<br />

PIC10F products, features 16-bit timer/counter,<br />

PWM outputs, <strong>com</strong>b<strong>in</strong>ation of 8-bit ADC and<br />

analog <strong>com</strong>parator, additional SRAM or the AVR<br />

CPU for higher performance.<br />

News ID 1502<br />

■ Atlantik: ZigBee SoCs based on ARM<br />

Cortex-M3<br />

Atlantik Elektronik presents the new EM 300<br />

series first ZigBee SoCs based on the 32-bit<br />

ARM-Cortex-M3-processor. The EM300 Series,<br />

the next generation ZigBee chip family that<br />

packs the <strong>in</strong>dustry´s highest wireless network<strong>in</strong>g<br />

performance and application code space<br />

<strong>in</strong>to the lowest power-consum<strong>in</strong>g chip set to<br />

build sophisticated products for smart energy<br />

and home area networks as well as home and<br />

build<strong>in</strong>g automation.<br />

News ID 1572<br />

■ Renesas: SuperH solution for GUI<br />

and video display applications<br />

Renesas announces the latest members of its<br />

SuperH l<strong>in</strong>e-up, built around the SH-2A core<br />

with its superb realtime process<strong>in</strong>g capability.<br />

MICROCONTROLLERS<br />

The SH7264 and SH7262 have been designed<br />

for visualisation and GUI applications and offer<br />

up to 1MB of on-chip SRAM. This allows video<br />

display capabilities to be implemented without<br />

the need for external RAM, thereby offer<strong>in</strong>g significant<br />

reductions <strong>in</strong> overall system costs and<br />

power consumption.<br />

News ID 345<br />

■ Beck IPC: 32-bit version of IPC@CHIP<br />

controller<br />

With the new IPC@CHIP SC2x3 Beck IPC<br />

moved forwards to the field of 32-bitcontroller.<br />

The IPC@CHIP SC2x3 represents<br />

the consistent upgrad<strong>in</strong>g of the IPC@CHIP serial<br />

for the area of high-end control applications<br />

or fast data transmittal. Equipped with<br />

760 MIPS at 400 MHz clock rate, 32 bits and <strong>in</strong>tegrated<br />

double precision float<strong>in</strong>g po<strong>in</strong>t unit,<br />

the latest SC2x3-modules are predest<strong>in</strong>ed for<br />

demand<strong>in</strong>g tasks <strong>in</strong> the area of control and<br />

<strong>com</strong>munication.<br />

News ID 1590<br />

■ CML: 32-bit MCU for <strong>in</strong>dustrial sens<strong>in</strong>g<br />

and control<br />

CML Microsystems has unveiled a new<br />

RISC/DSP microcontroller product from its<br />

specialist semiconductor and microprocessor<br />

daughter-<strong>com</strong>pany, Hyperstone. The new E2 is<br />

a high-performance, RoHS <strong>com</strong>pliant 32-Bit<br />

RISC/DSP microcontroller, with advanced features<br />

such as a programmable serial <strong>com</strong>munications<br />

eng<strong>in</strong>e, ADC unit, 32kb of on-chip I-<br />

RAM, <strong>com</strong>plemented with an external memory<br />

and peripheral <strong>in</strong>terface controller.<br />

News ID 1538<br />

■ AMD: dual-core processors for<br />

embedded platform<br />

AMD announces availability of two new dualcore,<br />

18W TDP processors for the highly-scalable<br />

ASB1 BGA embedded client platform. The<br />

AMD Turion Neo X2 processor Model L625<br />

and the AMD Athlon Neo X2 processor Model<br />

L325 deliver PC-caliber performance <strong>in</strong> a very<br />

low power envelope and with an embeddedfriendly<br />

ball grid array package.<br />

News ID 302<br />

■ Cyan: new 16-bit microcontroller<br />

achieves 0.71 DMIPS/MHz<br />

Cyan announces the launch of the eCOG16E01.<br />

With Cyan’s new CyCore CPU at its heart, this<br />

16-bit microcontroller outperforms other 16bit<br />

MCUs. In Dhrystone v2.1 benchmarks, the<br />

eCOG16E01 has achieved 0.71 DMIPS/MHz,<br />

which exceeds the performance achieved by<br />

lead<strong>in</strong>g MCU suppliers.<br />

News ID 1484<br />

15 September 2009


MICROCONTROLLERS<br />

ARM-based SoCs as alternatives to<br />

embedded board solutions<br />

By Ruediger Senghaas, MSC-Gleichmann<br />

Thanks to their high<br />

<strong>com</strong>put<strong>in</strong>g power, multimedia<br />

characteristics, and availability<br />

of board-support packages,<br />

e.g. for W<strong>in</strong>dows or L<strong>in</strong>ux,<br />

SoCs such as the S3C6410<br />

from Samsung present serious<br />

<strong>com</strong>petition to SoCs based on<br />

Intel Atom processors, at least<br />

<strong>in</strong> cost-sensitive systems.<br />

■ What do mobile and stationary systems have<br />

<strong>in</strong> <strong>com</strong>mon with TFT displays, media players,<br />

telephone and radio equipment, <strong>in</strong>dustrial<br />

controls and signal process<strong>in</strong>g systems? They all<br />

require a relatively high performance and<br />

should preferably cost noth<strong>in</strong>g. Of course,<br />

ARM-based SoCs are not given away for free,<br />

but at least you usually get an amaz<strong>in</strong>g amount<br />

of performance for a <strong>com</strong>paratively small<br />

amount of money. The follow<strong>in</strong>g example of<br />

the Samsung S3C6410X will show this. The<br />

proven Harvard architecture serves as a basis for<br />

ARM11 controllers. This enables simultaneous<br />

access to program code and data whereby access<br />

to the program code takes place via the 16<br />

Kbyte <strong>in</strong>struction cache and also the 16 Kbyte<br />

<strong>in</strong>struction TCM. S<strong>in</strong>ce the caches are dynamically<br />

managed from the controller, the <strong>in</strong>struction<br />

TCM helps with the process<strong>in</strong>g of <strong>in</strong>structions,<br />

which must be handled determ<strong>in</strong>istically.<br />

This <strong>in</strong>cludes, for example, <strong>in</strong>terrupts.<br />

The provision of the data takes place via the 16<br />

Kbyte data cache and the equally-sized data<br />

TCM. The latter can conta<strong>in</strong> data <strong>in</strong> blocks that<br />

require elaborate process<strong>in</strong>g, e.g. audio or<br />

video data. Both with the data TCM and the <strong>in</strong>struction<br />

TCM, data from other memory areas<br />

is made available via DMA.<br />

Connection between the ARM1178JZF-S CPU<br />

core and peripherals and respective memories<br />

takes place via the level 2 <strong>in</strong>terface. Data is sent<br />

and received <strong>in</strong> <strong>com</strong>pliance with the AMBA<br />

AXI protocol. AMBA, an ARM-developed IP, is<br />

an acronym for advanced microcontroller bus<br />

architecture. Four <strong>in</strong>terface protocols are specified<br />

<strong>in</strong> the AMBA 3 specification: AHB (advanced<br />

high-performance bus), APB (advanced<br />

peripheral bus), ATB (advanced trace bus)<br />

and AXI (advanced eXtensible <strong>in</strong>terface). The<br />

advanced eXtensible <strong>in</strong>terface ensures the supply<br />

of the caches with new data via 64-bit bandwidth<br />

and is an essential element for <strong>in</strong>creas<strong>in</strong>g<br />

the performance of the ARM architecture. It is<br />

based on a master-slave concept. S<strong>in</strong>ce several<br />

masters can be active on the bus, the access is<br />

coord<strong>in</strong>ated by a bus arbiter. Address and control<br />

<strong>in</strong>formation between master and slave are<br />

exchanged before the actual data transfer via<br />

AXI. Therefore, <strong>in</strong> addition to provid<strong>in</strong>g the<br />

dest<strong>in</strong>ation address, <strong>in</strong>formation about data<br />

length, transfer size and transmission characteristics<br />

(burst modes, cach<strong>in</strong>g or buffer<strong>in</strong>g control,<br />

atomic access, etc.) are also provided.<br />

AXI also enables out-of-order transaction <strong>com</strong>pletion.<br />

It this case, it concerns a process <strong>in</strong><br />

which each <strong>in</strong>dividual transaction that takes<br />

place via the <strong>in</strong>terface is furnished with an ID<br />

tag. This enables send<strong>in</strong>g and receiv<strong>in</strong>g of<br />

data, without adherence to the correct sequence.<br />

As a result, for example, data streams<br />

from slow slaves can be <strong>in</strong>terrupted to occasionally<br />

transport the data from fast slaves. Sep-<br />

September 2009 16<br />

Figure 1. Block diagram<br />

ARM1178JZF-S<br />

arate unidirectional read and write channels as<br />

well as the support of unaligned data transfers<br />

also accelerate the <strong>com</strong>munication via AXI. AXI<br />

is def<strong>in</strong>ed for bus widths of up to 1024 bits. In<br />

current systems nowadays, we f<strong>in</strong>d bus widths<br />

of 64 bits. The advanced high-performance bus<br />

also supports large bus bandwidths and a high<br />

data throughput, but offers less flexibility with<br />

the management and control of several masters<br />

as well as with the optimization of data streams<br />

on the bus. The advanced peripheral bus on the<br />

other hand is used to <strong>in</strong>tegrate peripherals with<br />

a low bandwidth requirement and speed <strong>in</strong> the<br />

processor architecture. It relates to a simple bus<br />

system with which only addresses, data and status<br />

of the data transmission are <strong>com</strong>municated.<br />

A further important part of the ARM1176JZF-<br />

S core is its memory management unit (MMU).<br />

The MMU not only monitors the write and<br />

read accesses to the respective memory. Its key<br />

functions also <strong>in</strong>clude the transmission of virtual<br />

memory addresses to physical addresses, a<br />

function that amongst others is needed by the<br />

operat<strong>in</strong>g systems, as well as monitor<strong>in</strong>g and<br />

management of access rights. The latter take<br />

place accord<strong>in</strong>g to the guidel<strong>in</strong>es of the ARM<br />

TrustZone technology. This technology enables<br />

the <strong>in</strong>tegration of applications for which<br />

the privacy of the users must be protected. Mobile<br />

onl<strong>in</strong>e bank<strong>in</strong>g should be mentioned here<br />

as a possible application.


Figure 2. Example AXI system<br />

Figure 3. S3C6410X block diagram<br />

In addition to 32-bit ARM and 16-bit THUMB<br />

<strong>in</strong>struction sets, the ARM1176JZF-S core also<br />

supports 8-bit JAVA byte codes. ARM Jazella<br />

technology is utilized thereby to support Java.<br />

This serves as basis for a multi-task<strong>in</strong>g Java virtual<br />

mach<strong>in</strong>e and enables simple and efficient<br />

implementation of applications written <strong>in</strong> Java.<br />

ARM1176JZF-S core users also benefit from the<br />

ARM <strong>in</strong>struction set that has been enhanced<br />

with several <strong>in</strong>terest<strong>in</strong>g DSP functions. These<br />

<strong>in</strong>clude, <strong>in</strong> addition to multiply-andaccumulate<br />

(MAC) operations or the support<br />

of saturation arithmetic, <strong>in</strong>struction sets for the<br />

process<strong>in</strong>g of multimedia data. This is essentially<br />

due to utilization of SIMD (s<strong>in</strong>gle <strong>in</strong>struction<br />

multiple data) <strong>in</strong>structions. SIMD allows<br />

optimized access to two 16-bit or four 8bit<br />

values, which are jo<strong>in</strong>tly stored <strong>in</strong> a 32-bit<br />

register. The values are processed simultaneously<br />

and <strong>in</strong>dependently of each other. Carryovers<br />

have no effect on the 32-bit register. In addition,<br />

sum of absolute difference (SAD) <strong>in</strong>structions<br />

are provided for the MPEG process<strong>in</strong>g.<br />

A vector float<strong>in</strong>g po<strong>in</strong>t unit was <strong>in</strong>tegrated<br />

<strong>in</strong> the core for additional acceleration of <strong>com</strong>put<strong>in</strong>g<br />

operations. Furthermore, the ARM11<br />

architecture offers the user a high level of debug<br />

and boundary-scan functionality. A powerful<br />

JTAG <strong>in</strong>terface serves as <strong>in</strong>terface to the ARM<br />

debug tools. The <strong>in</strong>tegrated embedded trace<br />

macrocell (ETM) allows trac<strong>in</strong>g of processor<br />

values, without restriction of <strong>com</strong>put<strong>in</strong>g power.<br />

In addition, an <strong>Embedded</strong>ICE-RT logic, which<br />

allows a variety of breakpo<strong>in</strong>ts, is <strong>in</strong>tegrated <strong>in</strong><br />

the core.<br />

What <strong>in</strong> practice can be done with the ARM11<br />

core, such as the ARM1178JZF-S, is clearly<br />

shown <strong>in</strong> the example of the S3C6410 controller.<br />

It has three different AXI buses. The 64bit<br />

wide system bus (AXI_SYS) is operated with<br />

maximum 133 MHz. The other two AXI buses<br />

serve as access to AHB or directly to SFRs. All<br />

peripherals such as memories and sub-bus systems,<br />

which require a high and fast data<br />

throughput, are connected here. A further 32bit<br />

wide AHB serves as <strong>in</strong>terface to an APB for<br />

less high-performance peripheral <strong>com</strong>ponents<br />

such as timers, serial <strong>in</strong>terfaces or I/Os. The<br />

AHB, as with the AXI, is operated with maximum<br />

133 MHz and the APB with 66 MHz. In<br />

addition to serial <strong>in</strong>terfaces such as UART, SPI<br />

and I2C, amongst others, five 32-bit timers with<br />

two PWM outputs <strong>in</strong>clud<strong>in</strong>g dead-time generator<br />

are on the chip. The <strong>in</strong>tegrated watchdog<br />

monitors the functionality of the system, and a<br />

real-time clock plus calendar functionality<br />

with extra voltage supply ensures the correct<br />

time, also <strong>in</strong> the energy save mode. A 2-port<br />

USB 1.1 host controller and a USB 2.0 OTG<br />

controller with high-speed, full-speed and low-<br />

MICROCONTROLLERS<br />

speed support are <strong>in</strong>tegrated as a modern<br />

<strong>com</strong>munication <strong>in</strong>terface to the outside world.<br />

With seven peripheral blocks for memory<br />

management, the S3C6410 storage system supports,<br />

amongst others, NAND-flash, NORflash,<br />

SD-RAM, DDR-RAM and mobile<br />

SDRAMs / DDR-RAMs. Furthermore, the chip<br />

offers a PC card controller and ATA controller.<br />

Portable storage media, such as secure digital<br />

cards (SDCs) and multimedia cards (MMCs),<br />

can also be <strong>in</strong>tegrated directly <strong>in</strong> the application<br />

via the appropriate on-chip controllers. Particularly<br />

worthy of emphasis are the wide range of<br />

audio functions. The <strong>in</strong>tegrated AC97 controller<br />

works accord<strong>in</strong>g to the AC97 V2.0 standard<br />

and has a stereo <strong>in</strong>put, a mono microphone<br />

<strong>in</strong>put and a stereo output. It <strong>com</strong>municates<br />

via the AC-LINK <strong>in</strong>terface with an additional<br />

external analog front end chip such as<br />

Analog Devices’ AD1819. The digital I2S audio<br />

<strong>in</strong>terface supports up to 24-bit audio with a<br />

maximum sampl<strong>in</strong>g rate of 192 kHz. Simple<br />

audio A/D and D/A converters, but also external<br />

systems for audio process<strong>in</strong>g or ICs with <strong>in</strong>tegrated<br />

EQs and amplifiers such as TI’s<br />

TAS5707, can be connected to this <strong>in</strong>terface. In<br />

addition to the standard I2S <strong>in</strong>terface, an I2S<br />

multi-audio <strong>in</strong>terface is also located on the chip,<br />

which enables 5.1 surround sound. It only rema<strong>in</strong>s<br />

to mention the mono PCM send/receive<br />

block, which supports a 16-bit PCM 2-port<br />

audio <strong>in</strong>terface.<br />

Furthermore, for preparation and process<strong>in</strong>g of<br />

<strong>com</strong>plex graphics data, a 2D graphics accelerator<br />

and a 3D graphics accelerator have been<br />

implemented on the S3C6410. The 2D graphics<br />

accelerator supports draw<strong>in</strong>g and pixel operations.<br />

Among other th<strong>in</strong>gs, the 3D graphics<br />

accelerator allows OpenGL ES 1.1 and OpenGL<br />

ES 2.0 render<strong>in</strong>g. Furthermore, especially notable<br />

are the programmable Vertex and Pixel<br />

Shaders and the 32-bit float<strong>in</strong>g-po<strong>in</strong>t pipel<strong>in</strong>e.<br />

The hardware JTAG codec processes image formats<br />

up to a maximum of UXGA. In addition,<br />

the device enables encod<strong>in</strong>g up to YCbCr4:2:2<br />

and decod<strong>in</strong>g up to YCbCr4:4:4. As a result,<br />

image material, irrespective of whether it is generated<br />

from the application or read <strong>in</strong> via the<br />

<strong>in</strong>tegrated camera <strong>in</strong>terface, can be effectively<br />

and quickly processed.<br />

The outputt<strong>in</strong>g of image data can optionally<br />

take place via a TV-out signal or via the <strong>in</strong>tegrated<br />

TFT LCD controller. For this purpose,<br />

the S3C6410 provides a <strong>com</strong>posite video output<br />

and a S-video output. The TFT LCD <strong>in</strong>terface<br />

supports resolutions from 320 x 240 pixels up<br />

to a maximum of 1024 x 1024 pixels, alpha<br />

blend<strong>in</strong>g, overlay, scal<strong>in</strong>g and zoom<strong>in</strong>g. The<br />

<strong>com</strong>mon NTSC and PAL formats are available,<br />

whereby a TV scaler and a preprocessor ensure<br />

optimization of the image data. ■<br />

17 September 2009


MICROCONTROLLERS<br />

Low-power microcontroller design<br />

us<strong>in</strong>g the ARM Cortex-M0 core<br />

By Rob Cosaro, NXP Semiconductors<br />

This article discusses the low<br />

power characteristics of the<br />

ARM Cortex-M0-based<br />

LPC1100 microcontroller<br />

series, and the system design<br />

techniques that m<strong>in</strong>imize the<br />

amount of energy consumed<br />

from a power source.<br />

In order to understand the power consumption<br />

of a microcontroller, it is important to understand<br />

the basic <strong>com</strong>ponents of dissipation of a<br />

CMOS device. There are two major categories<br />

of consumption; dynamic consumption and<br />

static consumption. Dynamic power consumption<br />

of a CMOS device to a first order is<br />

def<strong>in</strong>ed as<br />

Figure 1 shows a diagram of a simple CMOS <strong>in</strong>verter.<br />

When this <strong>in</strong>verter switches, it must<br />

charge or discharge the load capacitance, which<br />

dissipates power. The load capacitance is a <strong>com</strong>b<strong>in</strong>ation<br />

of the <strong>in</strong>terconnect capacitance and the<br />

gate capacitance of all the devices it is driv<strong>in</strong>g.<br />

If the device is not switch<strong>in</strong>g, all that is consum<strong>in</strong>g<br />

power is the leakage current of the device.<br />

Therefore for a given process geometry the<br />

dissipation varies as the square of the voltage<br />

and l<strong>in</strong>early with frequency. The characteristic<br />

that power consumption varies l<strong>in</strong>early with<br />

frequency gives rise to a <strong>com</strong>monly quoted<br />

number for microcontrollers, which is current<br />

consumption per MHz. For low-power devices<br />

this is given as μA/MHz and ranges from<br />

200μA/MHz to over 300μA/MHz. These numbers<br />

are somewhat mislead<strong>in</strong>g s<strong>in</strong>ce there is no<br />

standard on how the measurements are taken.<br />

The key po<strong>in</strong>t is how much work is performed<br />

for the current consumed or, for a more <strong>com</strong>prehensive<br />

measurement, how much energy is<br />

consumed for a given calculation. S<strong>in</strong>ce this<br />

type of measurement is not widely used yet, the<br />

μA/MHz metric is used <strong>in</strong> this discussion.<br />

The amount of current used per MHz by the<br />

digital CMOS structures is not the only aspect<br />

of the current consumed by the device: there<br />

are analog circuits that are required to support<br />

the digital doma<strong>in</strong>. These can be classified <strong>in</strong>to<br />

the tim<strong>in</strong>g <strong>com</strong>ponents, power control <strong>com</strong>ponents,<br />

memories and peripherals. The tim<strong>in</strong>g,<br />

power control and memory <strong>com</strong>ponents<br />

are part of the microcontroller platform and are<br />

not optional, but the analog peripherals are part<br />

of the feature set and will differ across the microcontroller<br />

family. Table 1 shows the tim<strong>in</strong>g<br />

September 2009 18<br />

<strong>com</strong>ponents used <strong>in</strong> the LPC1100. The table is<br />

arranged from lower to higher power consumption.<br />

As with all analog design there is a<br />

trade-off between accuracy and the amount of<br />

current it consumes. The LPC1100 has a flexible<br />

scheme for controll<strong>in</strong>g these <strong>com</strong>ponents<br />

that can trade off consumption versus accuracy<br />

so they can be tailored to the application.<br />

The current consumption for the core is not<br />

just about the slope but also the offset current<br />

that <strong>com</strong>es from the analog <strong>com</strong>ponents that<br />

are required to support the core. This is sometimes<br />

referred to as the zero-Hertz current.<br />

S<strong>in</strong>ce the LPC1100 has a flexible clock<strong>in</strong>g architecture<br />

this current is not fixed. As the frequency<br />

is lowered, switch<strong>in</strong>g off the clock<strong>in</strong>g<br />

<strong>com</strong>ponents that are not required to generate<br />

the required operat<strong>in</strong>g frequency can reduce the<br />

offset current. As an example the LPC1100 can<br />

be operated on the loose low-power oscillator<br />

from 0 to 1MHz and then the more accurate <strong>in</strong>-<br />

Tim<strong>in</strong>g <strong>com</strong>ponents Attributes<br />

Low power <strong>in</strong>ternal osc Low frequency, Low accuracy, Low power<br />

Internal RC oscillator Accuracy better than 1%<br />

Crystal oscillator High accuracy low jitter.<br />

DLL Fast start-up, higher jitter, low consumption<br />

PLL Slow start-up, low jitter. Moderate consumption<br />

Table 1. LPC1100 tim<strong>in</strong>g <strong>com</strong>ponents<br />

Picture by Ernst Rose,<br />

Pixelio


Figure 1. CMOS power dissipation<br />

Figure 2. Average current<br />

MICROCONTROLLERS<br />

ternal RC oscillator can be turned on to provide the frequency from 1<br />

to 12MHz. Leakage consumption is the current that the CMOS junction<br />

draws when the digital logic is not switch<strong>in</strong>g. This current is highly<br />

dependent on the process node and then on how the libraries <strong>in</strong> the<br />

node are optimized. For the LPC1100 the libraries are optimized for low<br />

leakage. Giv<strong>in</strong>g the user different power-down options can further optimize<br />

leakage. Besides the leakage of the CMOS junctions, various analog<br />

features can also be controlled <strong>in</strong> these modes.<br />

Sleep mode turns the clocks off to the core but the user has the option<br />

to leave on peripherals. The power <strong>in</strong> this mode is not just leakage but<br />

dynamic current of the peripherals that are left on. In this mode data<br />

can be still received, but the core reta<strong>in</strong>s its state and can cont<strong>in</strong>ue operation<br />

when required. In power-down mode all clocks to the digital<br />

logic are turned off and the analog sub-systems can be controlled to<br />

have flexible wake-up times depend<strong>in</strong>g on the application requirements.<br />

The lowest power mode is when all the analog clock<strong>in</strong>g elements are<br />

turned off. Wake-up time is determ<strong>in</strong>ed by the selection of the wakeup<br />

clock source. The fastest time is from the low-power oscillator and<br />

the slowest time is from the crystal oscillator and the PLL. In deep<br />

power-down mode power is turned off to the <strong>in</strong>ternals of the microcontroller,<br />

except a small always-on doma<strong>in</strong>. The always-on doma<strong>in</strong> has<br />

a set of registers that can store the <strong>in</strong>formation about what happened<br />

before the microcontroller when <strong>in</strong>to deep power-down mode. Wakeup<br />

from this mode occurs either through a wake-up p<strong>in</strong> or reset.<br />

19 September 2009<br />

Stock around the clock:<br />

Rutronik-Webg@te<br />

é<br />

By means of this modular e-<strong>com</strong>merce platform consist<strong>in</strong>g<br />

of an onl<strong>in</strong>e catalogue, a product change notifi cation (PCN)<br />

database and procurement, you have full 24-hour access to<br />

all technical <strong>in</strong>formation and <strong>in</strong>ventories.<br />

∙ Unrivalled affordability among onl<strong>in</strong>e distributors<br />

∙ Optimal traceability due to a uniquely <strong>com</strong>plete body of<br />

documentation of all key process steps<br />

∙ Personalized consult<strong>in</strong>g<br />

∙ Full access to all technical <strong>in</strong>formation and <strong>in</strong>ventories<br />

∙ A choice of several <strong>com</strong>ponent manufacturers<br />

∙ Simple search for product groups and products<br />

∙ Constant status access and monitor<strong>in</strong>g of current orders<br />

Consult | Components | Logistics | Support<br />

Tel: +44 (0) 1204 602 200<br />

Committed to Excellence<br />

www.rutronik.<strong>com</strong>


MICROCONTROLLERS<br />

Figure 3. Duty cycle effect on battery life<br />

The LPC1100 uses the new Cortex-M0 core<br />

from ARM, which has a big impact both on dynamic<br />

current and as leakage current. Focus<strong>in</strong>g<br />

on a simple <strong>in</strong>struction set reduces dynamic<br />

current. The M0 mostly uses thumb <strong>in</strong>structions.<br />

These are 16-bits wide and are <strong>in</strong>terpreted<br />

by the core as 32-bit <strong>in</strong>structions. The<br />

core also uses a simplified bus <strong>in</strong>terface to reduce<br />

gate count and m<strong>in</strong>imize clock<strong>in</strong>g. In addition,<br />

the core is architected to take advantage<br />

of clock gat<strong>in</strong>g and simplified library elements.<br />

Tak<strong>in</strong>g all this <strong>in</strong>to account the core is<br />

rated at less than 70μA/MHz. As was previously<br />

stated, this number is somewhat mean<strong>in</strong>gless<br />

s<strong>in</strong>ce it does not <strong>in</strong>clude any <strong>in</strong>formation<br />

about how much work can be done with this<br />

current. However, the M0 core is rated at 0.8<br />

DMIPS/MHz, which is a higher rat<strong>in</strong>g than an<br />

ARM7 core. Us<strong>in</strong>g this core further enhances<br />

the leakage current s<strong>in</strong>ce the gate count is<br />

equivalent to 8- and 16-bit cores. S<strong>in</strong>ce leakage<br />

current is proportional to gate count any sav<strong>in</strong>gs<br />

<strong>in</strong> core logic has a big impact.<br />

How the microcontroller power modes are used<br />

depends on the application. If the power source<br />

is always there but has limited capacity, the microcontroller<br />

may be always clocked. The<br />

LPC1100 can change frequency on the fly depend<strong>in</strong>g<br />

on process<strong>in</strong>g demand. The LPC1100<br />

current consumption at 30 MHz is specified at<br />

6mA. This can be reduced to a little over<br />

200μA when runn<strong>in</strong>g at 1 MHz on the lowpower<br />

<strong>in</strong>ternal oscillator. However, many applications<br />

that need to m<strong>in</strong>imize consumption<br />

must rely on the power-down and deep power-<br />

September 2009 20<br />

down modes. These applications spend most of<br />

their time <strong>in</strong> a quiescent state wait<strong>in</strong>g to<br />

process data. The processor must wake up<br />

quickly, process the required data, and then go<br />

back to the quiescent state. Many of these applications<br />

are battery-powered where a low average<br />

current is important to extend battery life.<br />

In order to lower the average current it is important<br />

to be able to process the data as quickly<br />

as possible to reduce the duty cycle. S<strong>in</strong>ce the<br />

M0 is a 32-bit processor it can perform the calculations<br />

much quicker than small-width<br />

processors. Figure 2 shows how process<strong>in</strong>g<br />

performance affects the average current. The<br />

figure assumes the peak current and the powerdown<br />

currents are the same for the various<br />

processor types. The M0 core has the capability<br />

to use one half to one fourth the average current<br />

of processors of lower bit widths. The M0<br />

allows the LPC1100 to achieve peak currents of<br />

200μA/MHz.<br />

Lowaveragecurrentiscriticaltoextendbattery<br />

life. This means low quiescent current and small<br />

duty cycles. The LPC1100 has deep powerdown<br />

current of less than 300nA and peak currents<br />

of 200μA/MHz. Figure 3 shows the effects<br />

duty cycle has on battery life. The battery used<br />

for these calculations is a 230mAh lithium button<br />

cell. This plot shows the effect that quiescent<br />

current has on battery life and the k<strong>in</strong>d of<br />

duty cycles that are required to exceed three<br />

years. The average current assumes a peak current<br />

of 2mA which means the LPC1100 is operat<strong>in</strong>g<br />

at 10 MHz. It also <strong>in</strong>cludes the effects of<br />

start-up time s<strong>in</strong>ce lower<strong>in</strong>g quiescent current<br />

extends start-up time. If the LPC1100 deep<br />

power-down mode is used, then for 1ms of process<strong>in</strong>g<br />

time out of a period of 200ms a 3-year<br />

battery life is possible. ■<br />

FREE SUBSCRIPTION to ECE Magaz<strong>in</strong>e<br />

Information & Know-how for <strong>Embedded</strong> Eng<strong>in</strong>eers<br />

Technical Articles and Product News about:<br />

• Hardware & Software<br />

• Tools<br />

• Technologies<br />

www.embedded-control-europe.<strong>com</strong>/ece_magaz<strong>in</strong>e


16-bit microcontrollers with<br />

■ To meet the requirements of the next generation<br />

of microcontroller applications, Renesas<br />

have developed the new high-performance 16bit<br />

H8ST<strong>in</strong>y microcontroller family. The<br />

H8ST<strong>in</strong>y family achieves new levels of real-time<br />

performance, with many new automated peripheral<br />

functions to remove load from the<br />

CPU. The MCU family will be available first <strong>in</strong><br />

64- and 80-p<strong>in</strong> packages with up to 256 kbytes<br />

of on-chip flash and 16 kbytes of on-chip<br />

SRAM.<br />

Each member of the H8ST<strong>in</strong>y family has a selection<br />

of powerful timers, with up to two<br />

motor control timers, a quadrature decoder<br />

timer for position sens<strong>in</strong>g, an on-chip RTC and<br />

a watchdog timer. Devices are available with up<br />

to two high-speed ADC modules on chip,<br />

each of which can be synchronised and controlled<br />

by the on-chip timers. System <strong>in</strong>tegration<br />

features <strong>in</strong>clude two on-chip oscillators, a<br />

clock halt detection circuit, and an on-chip low<br />

voltage detection (LVD) and power-on-reset<br />

circuit (POR) and a multitude of low-power<br />

options.<br />

With this <strong>in</strong> m<strong>in</strong>d, Renesas has designed a <strong>com</strong>pletely<br />

new real-time event-handl<strong>in</strong>g structure<br />

which has been implemented <strong>in</strong> some of the<br />

latest versions of the H8 micro-controller. This<br />

new structure allows the hardware of the chip<br />

itself to handle many of the real-time events<br />

that <strong>in</strong> the past would have required CPU <strong>in</strong>tervention.<br />

This new structure creates three<br />

types of event <strong>in</strong>side the microcontroller, generated<br />

from any external or <strong>in</strong>ternal <strong>in</strong>terrupt<br />

source. These can <strong>in</strong>clude a wide variety of realtime<br />

stimuli, such as an <strong>in</strong>put p<strong>in</strong> state chang<strong>in</strong>g,<br />

a timer tim<strong>in</strong>g out or a byte arriv<strong>in</strong>g <strong>in</strong> a serial<br />

<strong>in</strong>terface.<br />

The device implements standard <strong>in</strong>terrupts,<br />

us<strong>in</strong>g a 4 priority level <strong>in</strong>terrupt controller,<br />

however as can be seen, you also have a choice<br />

of generat<strong>in</strong>g an automatic data transfer us<strong>in</strong>g<br />

the data transfer controller (DTC) <strong>in</strong>stead of an<br />

<strong>in</strong>terrupt, or an event us<strong>in</strong>g the event l<strong>in</strong>k controller<br />

(ELC). You can choose to generate any<br />

one of these or any <strong>com</strong>b<strong>in</strong>ation of these <strong>in</strong> response<br />

to any real-time event <strong>in</strong> the micro-controller.<br />

However the real benefit of this device<br />

is <strong>in</strong> handl<strong>in</strong>g such events us<strong>in</strong>g either the DTC<br />

or the ELC, as these are then handled without<br />

any software or CPU time, and are thus executed<br />

both faster, and without any software<br />

overhead.<br />

The data transfer controller (DTC), provides<br />

much the same functions as a DMA controller,<br />

as it is designed to allow the transfer of<br />

one or more bytes between memory and a peripheral,<br />

or a peripheral and memory, the<br />

transfer be<strong>in</strong>g triggered by an event on the chip.<br />

However it is designed to be both much cheap-<br />

MICROCONTROLLERS<br />

new real-time event handl<strong>in</strong>g structure<br />

By Graeme Clark, Renesas<br />

This article describes a new<br />

microcontroller family with a<br />

new real-time event-handl<strong>in</strong>g<br />

structure allow<strong>in</strong>g the chip<br />

hardware to handle many of<br />

the reat time events that<br />

would have previouslyrequired<br />

CPU <strong>in</strong>tervention.<br />

er to implement and much more flexible than<br />

a DMA controller. It achieves this by us<strong>in</strong>g the<br />

CPU logic to make the transfer, rather than a<br />

large block of dedicated hardware. The advantage<br />

of this is that it is programmable, it holds<br />

its set-up <strong>in</strong>formation <strong>in</strong> a small block of on<br />

chip SRAM and so the DTC controller can be<br />

used not just to create one or two channels of<br />

data transfer, but 10 or 20 if required. The disadvantage<br />

is that the CPU is stopped for a few<br />

cycles while this transfer takes place.<br />

The DTC can transfer 1 byte or more than one<br />

byte, between a peripheral and memory, or<br />

memory and a peripheral, up to 256 times. The<br />

address <strong>in</strong> memory can be the same address or<br />

it can be <strong>in</strong>cremented or decremented, so creat<strong>in</strong>g<br />

a buffer structure. At the end of the transfer,<br />

the DTC can generate an <strong>in</strong>terrupt, to tell<br />

the CPU the data is ready, or <strong>in</strong> fact, it can trigger<br />

a second DTC transfer, In fact this can be<br />

used to cha<strong>in</strong> a number of transfers together if<br />

required.<br />

The DTC can also be placed <strong>in</strong>to repeat mode,<br />

where it will repeat the transfer an additional<br />

number of times. In this case, we are us<strong>in</strong>g the<br />

ADC <strong>in</strong> scan mode, read<strong>in</strong>g 4 ADC channels<br />

and stor<strong>in</strong>g the result <strong>in</strong> separate result registers.<br />

After the 4th read<strong>in</strong>g is <strong>com</strong>plete, the ADC<br />

module generates an <strong>in</strong>terrupt request, which <strong>in</strong><br />

these cases is used to <strong>in</strong>itiate a DTC transfer.<br />

21 September 2009


MICROCONTROLLERS<br />

Figure 1. A simple example of the use of the event l<strong>in</strong>k controller<br />

Figure 2. Comparison of the process flow of us<strong>in</strong>g the event l<strong>in</strong>k controller aga<strong>in</strong>st the use of<br />

<strong>in</strong>terrupts<br />

After the CPU f<strong>in</strong>ishes execut<strong>in</strong>g the current <strong>in</strong>struction,<br />

the DTC controller will take over<br />

control of the bus. The DTC controller reads<br />

the control data held <strong>in</strong> SRAM correspond<strong>in</strong>g<br />

to the ADC (12 bytes per DTC channel) which<br />

conta<strong>in</strong>s the start and dest<strong>in</strong>ation address of the<br />

data as well as how many bytes and the type of<br />

transfer. Then it <strong>in</strong>itiates the transfer of 8 bytes<br />

<strong>in</strong>to the SRAM, <strong>in</strong>crement<strong>in</strong>g the address for<br />

each transfer.<br />

The DTC controller then writes back the status<br />

<strong>in</strong>to the SRAM and releases the CPU to execute<br />

the next <strong>in</strong>struction. The whole transfer process<br />

<strong>in</strong> this case takes 31 clock states, from start to<br />

f<strong>in</strong>ish. If we made this transfer us<strong>in</strong>g an <strong>in</strong>terrupt,<br />

when you take <strong>in</strong>to account the <strong>in</strong>terrupt<br />

response time, the time required to transfer the<br />

data, and the return from <strong>in</strong>terrupt, the CPU<br />

would take a m<strong>in</strong>imum of 131 cycles to do the<br />

transfer, so the data transfer controller is almost<br />

four times faster. We also have the added<br />

bonus of requir<strong>in</strong>g no software to make the<br />

transfer, so sav<strong>in</strong>g a little code space. For most<br />

applications the flexibility of the DTC provides<br />

a perfect <strong>com</strong>promise, between speed, flexibility<br />

and of course device cost. You can create automated<br />

transfers between any peripheral and<br />

memory almost without limit. The data transfer<br />

controller provides a method for automat<strong>in</strong>g<br />

the transfer of data between peripherals and<br />

memory, while the second new method of handl<strong>in</strong>g<br />

device events uses the event l<strong>in</strong>k controller<br />

(ELC). The event l<strong>in</strong>k controller is designed to<br />

allow device events to automatically cause actions<br />

on the chip. For <strong>in</strong>stance the ELC can start<br />

a timer, or an A/D conversion, or even toggle an<br />

I/O p<strong>in</strong>, <strong>com</strong>pletely automatically.<br />

The event l<strong>in</strong>k controller <strong>com</strong>prises four ma<strong>in</strong><br />

modules, the peripheral event controller for the<br />

peripherals, the timer event <strong>in</strong>put controller, the<br />

port event controller and the event generation<br />

timer. The peripheral event controller allows<br />

the user to choose which peripheral is controlled<br />

by which event. This allows for <strong>in</strong>stance<br />

September 2009 22<br />

the overflow from a 16-bit timer to start the<br />

ADC. The timer event <strong>in</strong>put controller selects<br />

what each timer will do when it is triggered by<br />

an event.<br />

One of the most powerful features of the event<br />

l<strong>in</strong>k controller is the ability to generate events<br />

from the I/O ports. On the H8ST<strong>in</strong>y, I/O ports<br />

3 and 6 have this function. The port p<strong>in</strong>s can be<br />

used <strong>in</strong>dividually or <strong>in</strong> groups of 4 p<strong>in</strong>s. Each<br />

p<strong>in</strong> or group of p<strong>in</strong>s can be used to generate an<br />

event, which then can control other functions<br />

on the chip. However they can also be themselves<br />

controlled by the event l<strong>in</strong>k controller.<br />

When an event is generated, you can for <strong>in</strong>stance<br />

choose to toggle a p<strong>in</strong> or group of p<strong>in</strong>s,<br />

or drive them to a specific logic level. Beh<strong>in</strong>d<br />

each group of p<strong>in</strong>s, there is also a port buffer,<br />

you can use an event to drive the contents of<br />

this buffer onto the p<strong>in</strong>s, and if required, rotate<br />

the buffer ready for the next event. This type of<br />

feature is ideal for generat<strong>in</strong>g output waveforms<br />

of various types, such as for driv<strong>in</strong>g stepper<br />

motors and LCD displays. You can also use this<br />

buffer to latch the <strong>in</strong>put values on the p<strong>in</strong> when<br />

an event occurs.<br />

The f<strong>in</strong>al functional block is the event generation<br />

timer, this is a dedicated 4-channel timer<br />

which allows you to generate up to 4 regular<br />

events, each of which can be used to trigger an<br />

action on the chip. So if you have any function<br />

that requires regular operation, for <strong>in</strong>stance if<br />

you want the ADC to sample every 50msec, or<br />

an I/O p<strong>in</strong> to toggle every 800nsec, then you<br />

can set up the event timer to generate such a<br />

regular event.<br />

The <strong>com</strong>b<strong>in</strong>ation of these features allows the<br />

developer to automate a number of the realtime<br />

elements <strong>in</strong> his system. An event will take<br />

4 clock cycles from the time it is recognised before<br />

the result<strong>in</strong>g action starts, for <strong>in</strong>stance an<br />

I/O p<strong>in</strong> toggl<strong>in</strong>g or a timer mak<strong>in</strong>g a capture.<br />

This feature alone enables the users to handle<br />

many real-time events <strong>in</strong> hardware on the<br />

chip automatically, without the overhead of<br />

CPU <strong>in</strong>tervention.<br />

A simple example of the use of the event l<strong>in</strong>k<br />

controller is shown <strong>in</strong> figure 2. An external <strong>in</strong>terrupt,<br />

causes a timer to start, after the timer<br />

overflows, this then causes the ADC to start a<br />

conversion. When this system is implemented<br />

on a typical microcontroller, it requires 3 <strong>in</strong>terrupts,<br />

one for the external <strong>in</strong>terrupt, one for<br />

the timer overflow <strong>in</strong>terrupt and one for the<br />

ADC end of conversion, with the result<strong>in</strong>g CPU<br />

overhead, and of course the software required<br />

for each Interrupt service rout<strong>in</strong>e. The system<br />

will also experience some jitter, especially if the<br />

system is us<strong>in</strong>g an operat<strong>in</strong>g system, which may<br />

be handl<strong>in</strong>g a higher priority task when one or<br />

more of these <strong>in</strong>terrupts occur. In the H8ST<strong>in</strong>y,


the whole function can be handled by the<br />

event l<strong>in</strong>k controller. After the event l<strong>in</strong>k controller<br />

is <strong>in</strong>itialised the whole process can be<br />

handled automatically, without any CPU <strong>in</strong>volvement<br />

until the <strong>com</strong>plete process is f<strong>in</strong>ished.<br />

We can <strong>com</strong>pare the process flow of us<strong>in</strong>g the<br />

event l<strong>in</strong>k controller aga<strong>in</strong>st the use of <strong>in</strong>terrupts<br />

<strong>in</strong> figure 2.<br />

In a typical microcontroller, after each <strong>in</strong>terrupt<br />

is generated, we have to service each <strong>in</strong>terrupt,<br />

this results <strong>in</strong> a delay, and depend<strong>in</strong>g on the<br />

software some jitter. In the H8ST<strong>in</strong>y with the<br />

event l<strong>in</strong>k controller, each event triggers the<br />

next peripheral automatically. The CPU is<br />

only <strong>in</strong>terrupted after the ADC has f<strong>in</strong>ished. So<br />

<strong>in</strong> this example we have no jitter, as each<br />

■ Atmel expands 6-p<strong>in</strong> picoPower AVR<br />

MCU family<br />

Atmel announces three new 6-p<strong>in</strong> picoPower<br />

AVR microcontrollers. The ATt<strong>in</strong>y4, ATt<strong>in</strong>y5,<br />

and ATt<strong>in</strong>y9 are targeted towards size and cost<br />

constra<strong>in</strong>ed high volume consumer applications<br />

requir<strong>in</strong>g process<strong>in</strong>g power and low current<br />

consumption. These new devices are all<br />

p<strong>in</strong> and code <strong>com</strong>patible, offer<strong>in</strong>g a rich feature<br />

set <strong>in</strong>clud<strong>in</strong>g 512bytes or 1K byte of programmable<br />

Flash memory, 32 bytes of <strong>in</strong>ternal<br />

SRAM, 4-channel 8-bit A/D converter (<strong>in</strong> ATt<strong>in</strong>y5),<br />

analog <strong>com</strong>parator, and a 16-bit timer<br />

with PWM.<br />

News ID 315<br />

■ Toshiba: 8-bit MCU drives LCDs with<br />

up to 2560 pixels<br />

Toshiba Electronics <strong>Europe</strong> has announced a<br />

new 8-bit microcontroller that <strong>com</strong>b<strong>in</strong>es high<br />

performance operation with a variety of <strong>in</strong>tegrated<br />

peripherals and the ability to drive 80<br />

segment LCD displays with up to 2560 pixels.<br />

Based on Toshiba’s TLCS-870/C1 core, the<br />

peripheral starts 4 clock cycles after the generat<strong>in</strong>g<br />

event, and is not affected at all by the condition<br />

of the CPU, whether it is handl<strong>in</strong>g a priority<br />

task or not. We also have the additional<br />

sav<strong>in</strong>g that apart from the <strong>in</strong>itialisation, there is<br />

no software required for this process, so code<br />

space required for the application is reduced.<br />

We could also go even further to automate this<br />

example and reduce CPU load, by us<strong>in</strong>g the<br />

DTC. We could automatically transfer the data<br />

from the ADC <strong>in</strong>to a buffer <strong>in</strong> SRAM. Therefore<br />

we could choose to <strong>in</strong>terrupt the CPU perhaps<br />

only after every 100 or 200 read<strong>in</strong>gs. The <strong>com</strong>b<strong>in</strong>ation<br />

of the data transfer controller and the<br />

event l<strong>in</strong>k controller means that many low-level<br />

tasks, especially those based around the I/O and<br />

timers, can be handled automatically without<br />

FOR THE MOST REWARDING<br />

CUSTOMER EXPERIENCE,<br />

YOU HAD BETTER START ON THE INSIDE.<br />

With high-quality <strong>com</strong>ponents from Toshiba <strong>in</strong>side your products you can actually improve the<br />

consumer experience.<br />

Our newly upgraded display microcontrollers with 32-bit ARM processor, have been designed to<br />

simplify all <strong>in</strong>dustrial, home-appliance, consumer and multimedia applications, enabl<strong>in</strong>g a more<br />

reliable and cost effective human-mach<strong>in</strong>e-<strong>in</strong>terface experience that is perfectly <strong>in</strong> tune with today.<br />

Discover how Toshiba could help improve your product with easy and straightforward prototyp<strong>in</strong>g.<br />

Visit us today at www.toshiba-<strong>com</strong>ponents.<strong>com</strong>/microcontroller<br />

Product News<br />

new MCU is capable of process<strong>in</strong>g one<br />

<strong>in</strong>struction per clock cycle, which helps to<br />

maximize performance and keep power<br />

consumption to a m<strong>in</strong>imum.<br />

News ID 1523<br />

■ TI <strong>in</strong>troduces new femtocell DSP family<br />

Texas Instruments announces a new family of<br />

DSPs enabl<strong>in</strong>g residential and enterprise femtocell<br />

manufacturers and service providers to<br />

reduce development time and deliver new<br />

products to market quickly. TI’s family of<br />

multicore femtocell solutions <strong>in</strong>cludes a full<br />

portfolio of <strong>com</strong>plementary analog solutions,<br />

support for L<strong>in</strong>ux, and software solutions<br />

from TI third parties, Cont<strong>in</strong>uous Comput<strong>in</strong>g<br />

and mimoOn.<br />

News ID 1535<br />

■ Microchip: <strong>Embedded</strong> Designer’s Forums<br />

<strong>in</strong> UK and Ireland<br />

Microchip announces the open<strong>in</strong>g of registration<br />

for its <strong>Embedded</strong> Designer’s Forum, a<br />

worldwide series of technical learn<strong>in</strong>g events<br />

MICROCONTROLLERS<br />

CPU <strong>in</strong>tervention. This both reduces the load<br />

on the CPU and greatly reduces the system reaction<br />

time to external events. In many systems<br />

todaywearebe<strong>in</strong>gaskedtoaddmoreandmore<br />

functions while still ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g and even improv<strong>in</strong>g<br />

the real-time operation of the system.<br />

The H8ST<strong>in</strong>y is the first device from Renesas to<br />

<strong>com</strong>b<strong>in</strong>e the event l<strong>in</strong>k controller and the data<br />

transfer controller, which can be used together<br />

to remove much of the real-time response requirements<br />

of the system, and can automate<br />

many of these low- level and repetitive tasks.<br />

These devices have been aimed at a wide range of<br />

<strong>com</strong>munications and control applications such as<br />

motor control, measurement applications and<br />

low power modems and many others. ■<br />

focused on <strong>in</strong>novative technologies that will<br />

help designers stay ahead <strong>in</strong> today’s <strong>com</strong>petitive<br />

environment. The forums will run from<br />

October 2009 through February 2010 at 120<br />

locations across the world, with 51 forums<br />

located <strong>in</strong> <strong>Europe</strong> and 6 forums across UK<br />

and Ireland runn<strong>in</strong>g <strong>in</strong> November and<br />

December.<br />

News ID 389<br />

■ Freescale: i.MX processor with mixed<br />

signal technology<br />

The i.MX233 applications processor from<br />

Freescale Semiconductor provides an systemon-chip<br />

solution to meet the power and<br />

performance requirements of eBooks, portable<br />

media players and other mobile consumer<br />

electronics applications requir<strong>in</strong>g graphical<br />

user displays. Additional applications <strong>in</strong>clude<br />

VoIP handsets, smart remotes, home<br />

appliances, audio peripherals/accessories and<br />

simple human mach<strong>in</strong>e <strong>in</strong>terface systems for<br />

<strong>in</strong>dustrial applications.<br />

News ID 319<br />

23 September 2009


MICROCONTROLLERS<br />

M<strong>in</strong>imiz<strong>in</strong>g ownership cost for motor<br />

applications by energy sav<strong>in</strong>g<br />

By Josef Limmer, Inf<strong>in</strong>eon Technologies<br />

This article reviews a new<br />

generation of microcontrollers<br />

which enable energy-efficient<br />

control of brushless DC<br />

motors, permanent magnet<br />

synchronous AC motors and<br />

AC <strong>in</strong>duction motors,<br />

achiev<strong>in</strong>g major sav<strong>in</strong>gs <strong>in</strong><br />

electricity costs.<br />

■ In <strong>in</strong>dustrial nations more than half of all<br />

electrical energy is consumed by electric motors.<br />

They account for two-thirds of <strong>in</strong>dustrial<br />

electric consumption and about a quarter of<br />

residential electric use. Improv<strong>in</strong>g the efficiency<br />

of electric motors can therefore save energy<br />

and reduce operat<strong>in</strong>g costs. Because of this,<br />

energy efficiency should be a major consideration<br />

design<strong>in</strong>g a motor drive, <strong>in</strong> place of the<br />

usual “What’s the price of the motor?” A new<br />

generation of microcontrollers enables the energy-efficient<br />

control of brushless DC motors<br />

(BLDC), permanent magnet synchronous AC<br />

motors (PMSM) and AC <strong>in</strong>duction motors,<br />

and delivers a significant contribution to the<br />

overall reduction of energy consumption.<br />

The cost of ownership of an electric motor arises<br />

ma<strong>in</strong>ly as electricity cost. Over the lifetime of<br />

a motor, electricity accounts for more than 90<br />

percent of the total cost, <strong>in</strong>clud<strong>in</strong>g the orig<strong>in</strong>al<br />

purchase price and ma<strong>in</strong>tenance costs. Accord<strong>in</strong>g<br />

to the US Department of Energy<br />

(DoE), us<strong>in</strong>g a motor with about 4 to 6 percent<br />

higher efficiency rat<strong>in</strong>g can pay for itself <strong>in</strong> just<br />

two years, if it is <strong>in</strong> operation for more than<br />

4,000 hours a year. For example the price of a<br />

typical 200W BLDC motor is about 100 euros,<br />

which is about 30 percent more than a <strong>com</strong>parable<br />

but less efficient brushed motor. Even exchang<strong>in</strong>g<br />

an exist<strong>in</strong>g motor is not possible, or<br />

would require a very high <strong>in</strong>vestment, it makes<br />

sense to optimize the driv<strong>in</strong>g controller and/or<br />

algorithms. In a typical <strong>in</strong>dustrial facility the<br />

electrical motors are responsible for approximately<br />

two-thirds of the total electrical energy<br />

consumption. To improve the efficiency and<br />

lower the operat<strong>in</strong>g costs, certa<strong>in</strong> rules need to<br />

be observed. These are: select a high efficiency<br />

motor, select the right size of motor, select the<br />

appropriate motor technology, and use appropriate<br />

control algorithms.<br />

Efficiency drops dramatically when motors<br />

are operated below 40 percent of full rated load.<br />

Therefore the right size of the motor is important<br />

to reduce the operat<strong>in</strong>g costs. Motors<br />

should be sized to operate with a load factor between<br />

65% and 100%. The <strong>com</strong>mon practice of<br />

over-siz<strong>in</strong>g results <strong>in</strong> less efficient motor operation.<br />

Various motor technologies like brushed DC<br />

motors, brushless DC motors (BLDC), stepper<br />

motors or AC <strong>in</strong>duction motors offer different<br />

benefits on purchase costs, control design, operat<strong>in</strong>g<br />

costs and energy efficiency. The type of<br />

motor control used for the application has a big<br />

impact on energy efficiency. For low-power applications,<br />

stepper motors and brushed DC<br />

motors are popular due to their low purchase<br />

price and simple control circuitry, but they provide<br />

somewhat lower energy efficiency and<br />

therefore higher operat<strong>in</strong>g costs. Us<strong>in</strong>g BLDC,<br />

September 2009 24<br />

PMSM or AC <strong>in</strong>duction motors <strong>com</strong>b<strong>in</strong>ed with<br />

powerful motor control algorithms runn<strong>in</strong>g on<br />

optimized microcontrollers offers the most<br />

energy-efficient solutions. For brushless motors,<br />

a wide range of motor control system algorithms,<br />

<strong>in</strong>clud<strong>in</strong>g trapezoidal, s<strong>in</strong>usoidal, and<br />

field-oriented control (FOC), are available.<br />

The simplest but lowest-performance method<br />

is trapezoidal control or block <strong>com</strong>mutation,<br />

also known as six-step control. For each of the<br />

six <strong>com</strong>mutation steps, the motor drive provides<br />

a current path between two w<strong>in</strong>d<strong>in</strong>gs<br />

while leav<strong>in</strong>g the third motor phase disconnected.<br />

This method has performance limitations<br />

<strong>in</strong> the form of torque ripple, which causes<br />

vibration, noise, mechanical wear, and reduced<br />

servo performance. Brushless motor<br />

control requires knowledge of the rotor position<br />

and mechanism to <strong>com</strong>mutate the motor.<br />

Typically Hall effect sensors are used to provide<br />

absolute position sens<strong>in</strong>g of the rotor. This results<br />

<strong>in</strong> more wires and higher cost. Sensorless<br />

BLDC control elim<strong>in</strong>ates the need for Hall effect<br />

sensors, us<strong>in</strong>g the back-EMF of the motor<br />

<strong>in</strong>stead to estimate the rotor position. Sensorless<br />

control is essential for low-cost variable<br />

speed applications such as fans and pumps. Refrigerator<br />

and air condition<strong>in</strong>g <strong>com</strong>pressors<br />

also require sensorless control when us<strong>in</strong>g<br />

BLDC motors


Figure 1. Pr<strong>in</strong>ciple of block <strong>com</strong>mutation, s<strong>in</strong>usoidal <strong>com</strong>mutation and sensorless FOC (from right to left)<br />

S<strong>in</strong>usoidal control, also known as voltage-overfrequency<br />

(V/f) <strong>com</strong>mutation, elim<strong>in</strong>ates some<br />

of the issues with block <strong>com</strong>mutation. A s<strong>in</strong>usoidal<br />

controller drives the three motor w<strong>in</strong>d<strong>in</strong>gs<br />

with currents that vary smoothly. This elim<strong>in</strong>ates<br />

the torque ripple issues and offers smooth rotation.<br />

The fundamental weakness of s<strong>in</strong>usoidal<br />

<strong>com</strong>mutation however is that it attempts to control<br />

time-vary<strong>in</strong>g motor currents us<strong>in</strong>g a basic<br />

proportional-<strong>in</strong>tegral (PI) control algorithm<br />

and does not account for <strong>in</strong>teractions between<br />

the phases. As a result, <strong>in</strong>teraction between the<br />

phases causes performance loss at high speeds.<br />

S<strong>in</strong>usoidal <strong>com</strong>mutation produces smooth<br />

motion at slow speeds, but is <strong>in</strong>efficient at high<br />

speeds. Block <strong>com</strong>mutation can be relatively efficient<br />

at high speeds, but causes torque ripple<br />

at slow speeds. This leads to FOC, which provides<br />

the best of both worlds. Us<strong>in</strong>g FOC the efficiency<br />

of an electrical motor can be <strong>in</strong>creased<br />

by up to 95%, provid<strong>in</strong>g less power consumption,<br />

less noise and excellent torque dynamics.<br />

This results <strong>in</strong> a better efficiency of the <strong>in</strong>verter,<br />

a smaller power stage and smaller motor<br />

dimensions at the same torque.<br />

The FOC algorithm works by remov<strong>in</strong>g time<br />

and speed dependencies and allow<strong>in</strong>g the direct<br />

and <strong>in</strong>dependent control of both magnetic flux<br />

and torque. This is done by mathematically<br />

transform<strong>in</strong>g the electrical state of the motor<br />

<strong>in</strong>to a two-coord<strong>in</strong>ate time-<strong>in</strong>variant rotat<strong>in</strong>g<br />

frame us<strong>in</strong>g mathematical formulas known as<br />

Figure 2. Scalable application kits: a <strong>com</strong>plete portfolio of<br />

reference systems for motor drive applications is available,<br />

support<strong>in</strong>g the whole range of algorithms from block <strong>com</strong>mutation<br />

to FOC.<br />

the Clarke and Park transformations. FOC can<br />

be used on both AC <strong>in</strong>duction and brushless<br />

DC motors to improve their efficiency and<br />

performance. It can be applied also to exist<strong>in</strong>g<br />

motors by upgrad<strong>in</strong>g the control system.<br />

The effective implementation and execution of<br />

the <strong>in</strong>novative motor control concepts needs an<br />

optimized microcontroller architecture and<br />

easy-to-use tools. Inf<strong>in</strong>eon not only offers<br />

powerful 8-, 16- or 32-bit microcontrollers, but<br />

also provides <strong>com</strong>plete solutions with the related<br />

tool cha<strong>in</strong>. In addition a broad portfolio<br />

of application kits, which ease the evaluation<br />

and implementation of hardware and software<br />

solutions for high-efficiency motor drives, is<br />

offered. Depend<strong>in</strong>g on the application a <strong>com</strong>plete<br />

range of MCUs with 8-, 16- and 32-bit<br />

performance up to 400 MIPS is available.<br />

The XC800 MCUs are based on the popular<br />

8051 CPU. It offers scalable solutions with 4<br />

Kbytes to 64 Kbytes flash memory, high-speed<br />

10-bit ADC, PWM unit and packages with 20<br />

to 64 p<strong>in</strong>s. In addition the XC886, XC878 and<br />

XC888 series are equipped with a 16-bit vector<br />

<strong>com</strong>puter support<strong>in</strong>g FOC, as an <strong>in</strong>dustry first<br />

for 8-bit MCUs. Us<strong>in</strong>g the vector <strong>com</strong>puter<br />

only about half of the CPU performance is<br />

needed to implement FOC, which is also<br />

unique <strong>in</strong> the <strong>in</strong>dustry. The XC800 MCUs are<br />

ideal for cost-optimized and energy-efficient<br />

low-end drives <strong>in</strong> fans, pumps, appliances, air<br />

conditioners, etc.<br />

The real-time signal controllers<br />

(RTSC) of the XE166 family are<br />

built around an enhanced C166S<br />

V2 core. High CPU performance<br />

with up to 100 MIPS, a MAC-unit<br />

for DSP functions, enhanced I/O<br />

capabilities, flexible power management<br />

and new peripherals<br />

such as universal serial <strong>in</strong>terface<br />

(USIC) make the XE166 devices<br />

the product of choice for demand<strong>in</strong>g<br />

<strong>in</strong>dustrial applications<br />

such as motor control, power supplies,<br />

transportation and <strong>com</strong>munication.<br />

With features like<br />

standard FOC support, dual<br />

MICROCONTROLLERS<br />

motor control, dynamic load response and zero<br />

speed control, the XE166 family is ideal for<br />

usage <strong>in</strong> <strong>in</strong>verters, servo drives, escalators or<br />

forklifts.<br />

At the high end the 32-bit devices TC1167 and<br />

TC1197 focus on the most demand<strong>in</strong>g <strong>in</strong>dustrial<br />

drives and offer highest performance for<br />

motion control, such as multi-axis systems.<br />

The application kits and tool cha<strong>in</strong> provided<br />

support the fast implementation of the new<br />

motor control techniques on the microcontrollers.<br />

A <strong>com</strong>plete portfolio of reference systems<br />

for motor drive applications is available,<br />

support<strong>in</strong>g the whole range of algorithms<br />

from block <strong>com</strong>mutation to FOC. All application<br />

kits offered conta<strong>in</strong> a free tool cha<strong>in</strong><br />

(<strong>com</strong>piler, real time debugg<strong>in</strong>g environment,<br />

etc) and offer plug-and-play design, as all related<br />

hardware and software parts are provided.<br />

A <strong>com</strong>plete solution with microcontrollers,<br />

power semiconductors and passive <strong>com</strong>ponents<br />

is provided. Complementary <strong>com</strong>prehensive<br />

documentation with hardware design examples<br />

is <strong>in</strong>cluded, the application kits serv<strong>in</strong>g a voltage<br />

range from 12V to 230V and drive currents<br />

from 200mA to 20A for motors such as stepper,<br />

BLDC and PMSM.<br />

The kits are ready to be used with DAvE Drive,<br />

a unique auto code generator for motor drives.<br />

DAvE Drive is an application code generator<br />

available for the 8-bit MCU families of the<br />

<strong>com</strong>pany - support for XE166 is under development.<br />

It helps to reduce the software development<br />

time for motor drives due to fast and<br />

easy configuration of <strong>com</strong>plex control algorithms<br />

like FOC. Designers of motor controls<br />

can quickly focus on application-specific software,<br />

such as the programm<strong>in</strong>g of drive functions.<br />

The DAvE Drive software tool generates<br />

<strong>com</strong>plete algorithms with documented source<br />

code and does not derive from pre<strong>com</strong>piled<br />

libraries. It also enables fast adaption for customer-specific<br />

motors. The motor type can be<br />

selected from a library or def<strong>in</strong>ed by sett<strong>in</strong>g the<br />

key characteristics such as nom<strong>in</strong>al voltage,<br />

phase <strong>in</strong>ductivity or resistance. Us<strong>in</strong>g DAvE<br />

Drive the parameters for speed and current<br />

control can be easily adapted. ■<br />

25 September 2009


TESTING &DEBUGGING<br />

New approaches simplify test<strong>in</strong>g and<br />

debugg<strong>in</strong>g of <strong>com</strong>plex MCUs<br />

By Heiko Riessland, pls<br />

The IEEE 1149.1 (JTAG)<br />

standard no longer meets all<br />

the demands, <strong>in</strong> terms of<br />

speed, p<strong>in</strong>-count and<br />

robustness, for debugg<strong>in</strong>g and<br />

test<strong>in</strong>g modern microcontrollers<br />

and <strong>com</strong>plex SoCs. This<br />

article describes new developments<br />

which promise considerable<br />

improvements for<br />

debugg<strong>in</strong>g, flash programm<strong>in</strong>g<br />

and system test.<br />

■ Microcontroller systems usually need to be<br />

accessed dur<strong>in</strong>g the total lifecycle, and the hardware<br />

and software tools requirements certa<strong>in</strong>ly<br />

differ <strong>in</strong> each phase. Dur<strong>in</strong>g the development<br />

phase, fastest possible <strong>com</strong>munication with the<br />

target, effective use of on-chip debug resources<br />

and use of the debug <strong>in</strong>terface also for flash<br />

programm<strong>in</strong>g, automated test<strong>in</strong>g, calibration,<br />

profil<strong>in</strong>g, etc are at the forefront. Dur<strong>in</strong>g the<br />

production phase, system access is primarily required<br />

for flash programm<strong>in</strong>g and test<strong>in</strong>g.<br />

Fast programm<strong>in</strong>g algorithms for short production<br />

times, a high level of safety through<br />

various steps of verification, and flexible <strong>in</strong>tegration<br />

<strong>in</strong> typical production and test environments<br />

are decisive here. Dur<strong>in</strong>g the field<br />

ma<strong>in</strong>tenance phase, <strong>in</strong> addition to safety aspects,<br />

an application-specific user <strong>in</strong>terface as<br />

simple as possible for the service personnel is<br />

particularly important.<br />

Optimally meet<strong>in</strong>g all the different requirements<br />

is <strong>in</strong> practice difficult. Even the popular<br />

IEEE 1149.1 (JTAG) for debugg<strong>in</strong>g microcontrollers<br />

shows <strong>in</strong>creas<strong>in</strong>g weaknesses. The IEEE<br />

1149.1 standard that has been <strong>in</strong> use for almost<br />

twenty years no longer meets all the demands,<br />

<strong>in</strong> terms of speed, p<strong>in</strong> count and robustness, for<br />

debugg<strong>in</strong>g and test<strong>in</strong>g of modern microcontrollers<br />

and highly <strong>com</strong>plex SoCs. Reduc<strong>in</strong>g the<br />

number of p<strong>in</strong>s necessary for debugg<strong>in</strong>g is a<br />

motivation for manufacturers to look for new<br />

solutions. With JTAG, we are talk<strong>in</strong>g here<br />

about a m<strong>in</strong>imum of five signal p<strong>in</strong>s (TDI,<br />

TDO, TCK, TMS and TRST). Furthermore, a<br />

<strong>com</strong>plete debug <strong>in</strong>terface specification conta<strong>in</strong>s<br />

additional signals for target reset, target reference<br />

voltage and manufacturer-specific signals<br />

for the on-chip debug system. Each additional<br />

p<strong>in</strong> causes costs and is no longer available for<br />

the actual function of the microcontroller.<br />

The frequently offered option to use p<strong>in</strong>s functionally<br />

or alternatively as debug <strong>in</strong>terface is,<br />

however, only a <strong>com</strong>promise that often proves<br />

to be impractical. Incidentally, the user also<br />

benefits from the reduction of necessary signals<br />

for debug access. The usually tight space on the<br />

production board and costs for the necessary<br />

connectors have, up to now, mostly resulted <strong>in</strong><br />

omitt<strong>in</strong>g the debug <strong>in</strong>terface <strong>com</strong>pletely or provid<strong>in</strong>g<br />

it only as an option. However, fewer signal<br />

p<strong>in</strong>s generally also mean reduced space requirement<br />

and smaller connectors.<br />

Another reason for the search for new approaches<br />

is the problem, particularly <strong>in</strong> field<br />

use, of the connect<strong>in</strong>g cable between the microcontroller<br />

target and the debug tool frequently<br />

be<strong>in</strong>g too short. JTAG clock frequencies<br />

of up to 100MHz are possible with modern 32bit<br />

microcontrollers. For that reason, signal<br />

condition<strong>in</strong>g is necessary after 25 to 30cm. Indeed,<br />

this can ideally take place, as also with the<br />

JTAG-extender of the pls universal access device<br />

September 2009 26<br />

Figure 1. Universal access<br />

device 2+ with JTAG-extender<br />

2+ (UAD2+), with a small converter close to the<br />

target and subsequent forward<strong>in</strong>g of the reconditioned<br />

signals over differential signal<br />

l<strong>in</strong>es (figure 1). In any case, <strong>in</strong>itial hardware belong<strong>in</strong>g<br />

to the debug solution is needed close to<br />

the target. Hence, the familiar picture of debug<br />

Figure 2. Block diagram of device access port (DAP)


solutions from different manufacturers with<br />

very short ribbon cable close to the enclosure.<br />

A third important aspect that plays a major role<br />

<strong>in</strong> manufacturers’ current considerations is<br />

the enhancement of stability and ruggedness<br />

with <strong>in</strong>creas<strong>in</strong>g transmission frequency and<br />

bandwidth. With the classic IEEE 1149.1 JTAG<br />

standard there is no protection of the protocol<br />

aga<strong>in</strong>st disturb<strong>in</strong>g <strong>in</strong>fluences on the transmission<br />

l<strong>in</strong>es. Provision for this was not made<br />

when the standard was developed, because at<br />

that time the transmission rate was limited to<br />

40MHz and it was assumed that the <strong>com</strong>ponents<br />

to be tested were always housed on a<br />

board. It is not surpris<strong>in</strong>g therefore that an <strong>in</strong>creas<strong>in</strong>g<br />

number of processor and tool manufacturers<br />

are look<strong>in</strong>g for new approaches. It appears<br />

that Inf<strong>in</strong>eon’s device access port (DAP),<br />

ARM’s serial wire debug (SWD) <strong>in</strong>terface and<br />

the vendor-<strong>in</strong>dependent IEEE 1149.7 (<strong>com</strong>pact<br />

JTAG) standard are particularly promis<strong>in</strong>g.<br />

With device access port, used by Inf<strong>in</strong>eon <strong>in</strong> all<br />

new microcontroller designs of the<br />

XC2000/XE166, TriCore and XC800 families,<br />

the number of p<strong>in</strong>s necessary for the transmission<br />

of the debug protocol has been reduced<br />

as standard with respect to JTAG from five to<br />

two. Consequently at present the implementation<br />

takes place <strong>in</strong> parallel to the still existent<br />

JTAG <strong>in</strong>terface. These two p<strong>in</strong>s are a clock l<strong>in</strong>e<br />

(DAP0) as well as a bidirectional signal l<strong>in</strong>e<br />

(DAP1). The JTAG p<strong>in</strong>s TMS and TCK are<br />

thereby alternatively used between JTAG and<br />

DAP (figure 2).The other three JTAG p<strong>in</strong>s that<br />

are no longer necessary can be functionally<br />

used by the application, for example, as port<br />

p<strong>in</strong>s. In this way, the user gets a high flexibility<br />

for the changeover to DAP. In addition, for situations<br />

<strong>in</strong> which high-speed transmission via<br />

differential l<strong>in</strong>es (LVDS) is needed, Inf<strong>in</strong>eon can<br />

optionally resort to a 3-p<strong>in</strong> variant with one<br />

clock l<strong>in</strong>e (DAP0) and two unidirectional signal<br />

l<strong>in</strong>es (DAP1 and DAP2). Furthermore, for<br />

microcontrollers with a very low p<strong>in</strong> count, another<br />

variant with only one signal l<strong>in</strong>e (s<strong>in</strong>gle<br />

p<strong>in</strong> DAP – SPD) is specified. This, however,<br />

only covers a reduced transmission bandwidth.<br />

A <strong>com</strong>b<strong>in</strong>ation of DAP and SPD on one chip as<br />

well as a parallel implementation of JTAG and<br />

DAP is also possible. This provides the user<br />

with a high level of flexibility.<br />

For safety reasons, the debug <strong>in</strong>terface with previous<br />

implementations is normally switched off<br />

after a power on reset. Switch<strong>in</strong>g on is possible<br />

via applicable reset circuitry or also via the<br />

start-up software. The required reset circuitry<br />

can be realized on the target itself or on the<br />

debug connector. The choice of the required<br />

debug mode (2-p<strong>in</strong> DAP, 3-p<strong>in</strong> DAP or JTAG)<br />

is possible by means of the p<strong>in</strong>s via the debug<br />

tool or aga<strong>in</strong> via the start-up software. The<br />

maximum DAP clock rate can be up to 80<br />

MHz. Thus despite the reduced p<strong>in</strong> count, at<br />

least the same transmission performance is possible<br />

as with classic JTAG. In addition, the DAP<br />

<strong>in</strong>terface has a low latency, <strong>in</strong> the microseconds<br />

range, and the <strong>com</strong>munication is very robust.<br />

On the one hand, this is achieved by a 6-bit<br />

checksum (CRC) <strong>in</strong>tegrated <strong>in</strong> the protocol. On<br />

the other hand, the protocol is constructed so<br />

that, for example, a write operation from the<br />

host to the target is acknowledged from it. Unexpected<br />

changes <strong>in</strong> the target condition or<br />

transmission disturbances can therefore be reliably<br />

recognized by the tool. DAP and JTAG are<br />

pure <strong>in</strong>terfaces that are essentially, especially<br />

with microcontrollers from Inf<strong>in</strong>eon, for<br />

One Size<br />

Doesn’t Fit All<br />

• File Systems<br />

• USB Stacks<br />

• Bootloaders<br />

• W<strong>in</strong>dows Drivers<br />

• <strong>Embedded</strong> Development<br />

Services<br />

HCC-<strong>Embedded</strong><br />

FILE SYSTEMS WITH A DIFFERENCE<br />

www.hcc-embedded.<strong>com</strong> • <strong>in</strong>fo@hcc-embedded.<strong>com</strong><br />

TESTING &DEBUGGING<br />

debugg<strong>in</strong>g and test<strong>in</strong>g of <strong>com</strong>plex automotive<br />

and <strong>in</strong>dustrial applications with the high realtime<br />

demand optimized on-chip debug system<br />

(OCDS), whereby its functionality via both<br />

ports is fully usable. For example, unrestricted<br />

read and write accesses to the memory, also<br />

dur<strong>in</strong>g the run-time. This enables periodical<br />

record<strong>in</strong>g of application data or of the <strong>in</strong>struction<br />

po<strong>in</strong>ter to the run-time. In addition,<br />

the implemented debug logic allows code<br />

breakpo<strong>in</strong>ts and data breakpo<strong>in</strong>ts with <strong>com</strong>plex<br />

trigger conditions. Furthermore, for code trace<br />

and data trace, special emulation devices can be<br />

used, whose footpr<strong>in</strong>t and functionality do not<br />

differ from the production device, but conta<strong>in</strong><br />

With HCC, you can choose a file system that’s<br />

right for your application. HCC products run<br />

with the broadest range of CPUs and memory<br />

devices, with or without an operat<strong>in</strong>g system.<br />

THE MOST COMPREHENSIVE PORTFOLIO OF FILE<br />

SYSTEMS FOR EMBEDDED APPLICATIONS<br />

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

27 September 2009


TESTING &DEBUGGING<br />

Figure 3. Function profil<strong>in</strong>g based on <strong>in</strong>struction po<strong>in</strong>ter trace<br />

Figure 4. DAP and SWD adapter (opened)<br />

additional on-chip emulation logic. In <strong>com</strong>b<strong>in</strong>ation<br />

with special tools, e.g. pls universal emulation<br />

configurator, <strong>com</strong>plex measurements<br />

such as performance analysis, profil<strong>in</strong>g and<br />

code coverage, can be carried out with these<br />

"emulation devices".<br />

ARM has pursued an <strong>in</strong>terest<strong>in</strong>g route with the<br />

serial wire debug (SWD) <strong>in</strong>terface. SWD is part<br />

of a <strong>com</strong>plete package of new debug and trace<br />

techniques, <strong>com</strong>piled under the name Core-<br />

Sight. There are already the first implementations<br />

<strong>in</strong> Lum<strong>in</strong>ary Micro (now Texas Instruments)<br />

devices with Stellaris Cortex-M3 core<br />

and <strong>in</strong> the STM32 family from STMicroelectronics.<br />

However, the CoreSight IP can also be<br />

used <strong>in</strong> all other ARM and Cortex cores. Due to<br />

its wide range of advantages, a further expansion<br />

of its use is very probable. In addition to<br />

the classic JTAG port, which here also rema<strong>in</strong>s<br />

available as an alternative, the serial wire mode<br />

offers a 2-p<strong>in</strong> debug <strong>in</strong>terface. The established<br />

strict separation of debug port by ARM, optionally<br />

JTAG or SWD, and the actual access<br />

port, <strong>in</strong> other words the access to on-chip<br />

debug hardware, enables a simple exchange<br />

while ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g all functions. A feature is the<br />

<strong>com</strong>b<strong>in</strong>ed serial wire JTAG debug port (SWJ-<br />

DP), which is available to both <strong>in</strong>terfaces via p<strong>in</strong><br />

multiplex<strong>in</strong>g. In the serial wire mode, TCK<br />

functions as clock l<strong>in</strong>e and bidirectional data<br />

are exchanged via TMS. The changeover takes<br />

place via def<strong>in</strong>ed TMS sequences.<br />

Provided that a SWJ-DP is implemented by the<br />

MCU manufacturer, the TDO signal can be<br />

used for the output of different trace results via<br />

a s<strong>in</strong>gle p<strong>in</strong>, which <strong>in</strong> turn results <strong>in</strong> m<strong>in</strong>imum<br />

chip costs. Via the so-named serial wire viewer<br />

(SWV), among other th<strong>in</strong>gs <strong>in</strong>strumentation<br />

trace (pr<strong>in</strong>tf-like Debugg<strong>in</strong>g), watchpo<strong>in</strong>t trace,<br />

<strong>in</strong>struction po<strong>in</strong>ter trace (figure 3) and event<br />

trace (Interrupt) can be displayed, for which<br />

reason this type of low-cost trace is ma<strong>in</strong>ly<br />

found with Cortex-M based microcontrollers.<br />

The maximum possible speed of the SWD <strong>in</strong>terface<br />

is <strong>in</strong>dependent from the core clock used<br />

and virtually only limited by the basic technology.<br />

The <strong>in</strong>tegrated parity check of the telegram<br />

guarantees a reliable transmission. An additional<br />

acknowledge field (ACK) conta<strong>in</strong>ed <strong>in</strong><br />

the SWD protocol ensures correct execution of<br />

the operation. The new vendor-<strong>in</strong>dependent<br />

IEEE 1149.7 (<strong>com</strong>pact JTAG or cJTAG) standard<br />

was ultimately developed to meet current<br />

and future demands of board and system tests.<br />

September 2009 28<br />

IEEE 1149.7 offers additional new features to<br />

support power management, application debug<br />

and device programm<strong>in</strong>g while ma<strong>in</strong>ta<strong>in</strong><strong>in</strong>g<br />

full backward <strong>com</strong>patibility with the exist<strong>in</strong>g<br />

IEEE1149.1. A total of 6 classes are def<strong>in</strong>ed,<br />

which can be implemented by IEEE 1149.7<br />

<strong>com</strong>patible TAP controllers (TAP.7). Class 0 def<strong>in</strong>es<br />

the adherence to 1149.1 <strong>com</strong>patibility,<br />

Class 1 enables additional <strong>com</strong>mand protocol<br />

for reset and power management, Class 2 offers<br />

the capability of BYPASS for chip <strong>in</strong>ternal TAPs<br />

for optimization of the shift cha<strong>in</strong>, Class 3 def<strong>in</strong>es<br />

the capability of star coupl<strong>in</strong>g several<br />

TAP.7 controllers, Class 4 provides new scan<br />

protocols on the basis of only two signal l<strong>in</strong>es,<br />

and Class 5 allows the use of up to two application-specific<br />

data l<strong>in</strong>es e.g. for real-time<br />

trace. Classes 4 and 5 are especially <strong>in</strong>terest<strong>in</strong>g<br />

for embedded applications where cost and<br />

performance are particularly important. On the<br />

one hand here also, as with both of the other solution<br />

approaches presented, only two p<strong>in</strong>s are<br />

needed for the <strong>com</strong>munication. On the other<br />

hand, the data throughput is considerably <strong>in</strong>creased<br />

by various optimized scan protocols.<br />

The IEEE1149.7 standard is still new and correspond<strong>in</strong>g<br />

implementations are rare.<br />

Accord<strong>in</strong>g to this writer's understand<strong>in</strong>g, a<br />

<strong>com</strong>plete synthesizable IP core for cJTAG is so<br />

far only available from IPextreme. Other various<br />

<strong>com</strong>mittees <strong>in</strong>clud<strong>in</strong>g NEXUS and MIPI,<br />

which are also <strong>in</strong>volved with debug <strong>in</strong>terfaces,<br />

will certa<strong>in</strong>ly take the cJTAG standard <strong>in</strong>to account.<br />

Meanwhile, most microcontroller users<br />

agree that the almost twenty-year old JTAG<br />

standard is only suitable to a limited extent to<br />

meet today’s demands for speed, p<strong>in</strong> count and<br />

robustness. However, the question rema<strong>in</strong>s;<br />

what is the ideal future solution?<br />

As the described examples show, different manufacturers<br />

and <strong>in</strong>terest groups are follow<strong>in</strong>g similar<br />

fundamental pr<strong>in</strong>ciples <strong>in</strong> the search for an<br />

answer, but there is certa<strong>in</strong>ly no real standardization.<br />

Therefore, the challenge for debug and<br />

test tools consists of support for all new <strong>in</strong>terfaces.<br />

A prerequisite for such universally usable<br />

and at the same time <strong>com</strong>mercially acceptable<br />

solutions is certa<strong>in</strong>ly, <strong>in</strong> addition to a modular<br />

adapter concept for different connectors (figure<br />

4), also a flexible tool architecture. With special<br />

FPGA equipped debug devices, such as pls universal<br />

access device 2 (UAD2), it is already today<br />

possible to implement nearly all debug protocols<br />

without much additional effort. ■<br />

www.embedded-control-europe.<strong>com</strong><br />

The Onl<strong>in</strong>e Information Source for <strong>Europe</strong>`s <strong>Embedded</strong> Eng<strong>in</strong>eers<br />

• Product News • Technical Articles • Company Profiles • Events


How to perform <strong>in</strong>tegration<br />

test<strong>in</strong>g of embedded software<br />

By Frank Büchner, Hitex<br />

With temporal <strong>com</strong>ponent<br />

test<strong>in</strong>g, Tessy provides a<br />

powerful and flexible way to<br />

perform <strong>in</strong>tegration test<strong>in</strong>g of<br />

embedded software.<br />

Paramount is the possibility to<br />

specify time <strong>in</strong> the natural<br />

units of the specification.<br />

■ What does <strong>in</strong>tegration test of embedded<br />

software mean exactly? To get <strong>in</strong>side this term,<br />

we need to specify the objects to be <strong>in</strong>tegrated.<br />

As we are talk<strong>in</strong>g about embedded software, we<br />

can assume functions <strong>in</strong> the sense of C as objects.<br />

It is trivial to do <strong>in</strong>tegration test<strong>in</strong>g of two<br />

functions <strong>in</strong> a call<strong>in</strong>g hierarchy, but what about<br />

two functions that do not call each other? A<br />

simple example of two functions which are not<br />

<strong>in</strong> a call<strong>in</strong>g hierarchy but should be tested <strong>in</strong>tegrated<br />

together are push() and pop() of the<br />

abstract data type stack. The isolated test<strong>in</strong>g of<br />

push() or pop() is unit test<strong>in</strong>g but that is not<br />

sufficient here - <strong>in</strong>tegration test<strong>in</strong>g is needed.<br />

Integration test<strong>in</strong>g would consist of a sequence<br />

of push() and pop() calls. The <strong>in</strong>put for such a<br />

test case is formed by the parameter values of<br />

push() and the <strong>in</strong>itial contents of the stack. The<br />

results are the return values of pop() and the<br />

f<strong>in</strong>al state of the stack. In the case where calls to<br />

push() and pop() could result <strong>in</strong> additional<br />

calls, e.g. to error-handl<strong>in</strong>g functions, such calls<br />

also belong to the expected results of an <strong>in</strong>tegration<br />

test case.<br />

In the follow<strong>in</strong>g, we use the term <strong>com</strong>ponent to<br />

denote the set of functions that we want to test<br />

<strong>in</strong> an <strong>in</strong>tegrated form. This <strong>in</strong>cludes also the<br />

data on which the functions jo<strong>in</strong>tly operate. IEC<br />

61508 uses the term module for such a <strong>com</strong>ponent.<br />

A <strong>com</strong>ponent test case, as described for<br />

the stack, is called a scenario. In the case where<br />

we know that one of the functions of a <strong>com</strong>ponent<br />

is called at equidistant po<strong>in</strong>ts <strong>in</strong> time,<br />

we are able to use these calls as a basis for a simulation<br />

of time. Then temporal conditions<br />

can be tested <strong>in</strong> a scenario. This is called<br />

temporal <strong>com</strong>ponent test<strong>in</strong>g.<br />

Figure 1 depicts a <strong>com</strong>ponent with its functions<br />

and its data. Some of the functions (depicted <strong>in</strong><br />

dark blue) can be called from the outside of the<br />

<strong>com</strong>ponent (<strong>in</strong>dicated by the green arrows);<br />

calls to these functions form the stimulat<strong>in</strong>g<br />

part of a scenario. These functions are designated<br />

<strong>com</strong>ponent functions. There might be<br />

other functions <strong>in</strong>side the <strong>com</strong>ponent (depicted<br />

<strong>in</strong> light blue), that are not visible outside the<br />

<strong>com</strong>ponent. The functions <strong>in</strong> a <strong>com</strong>ponent do<br />

not need to be <strong>in</strong> a (s<strong>in</strong>gle) call<strong>in</strong>g hierarchy. A<br />

<strong>com</strong>ponent can <strong>com</strong>prise data, which is accessible<br />

from outside the <strong>com</strong>ponent. Hence,<br />

Figure 2. Interface of the <strong>com</strong>ponent<br />

TESTING &DEBUGGING<br />

Figure 1. Example of a<br />

<strong>com</strong>ponent<br />

dur<strong>in</strong>g a scenario execution, data can be written<br />

(i.e. supplied as test <strong>in</strong>put) or read (i.e. retrieved<br />

as test result). The result of a scenario<br />

execution can consist of calls to functions <strong>in</strong><br />

other <strong>com</strong>ponents, i.e. calls to functions outside<br />

the <strong>com</strong>ponent (<strong>in</strong>dicated by the red arrows).<br />

The red heart <strong>in</strong> figure 1 marks one of the <strong>com</strong>ponent<br />

functions as the heartbeat function. Obviously,<br />

<strong>com</strong>ponent test<strong>in</strong>g is a good <strong>in</strong>tegration<br />

test for the functions <strong>in</strong>side the <strong>com</strong>ponent. In<br />

the next application, a car <strong>in</strong>terior light, we take<br />

the <strong>in</strong>terior light of a car as example for <strong>com</strong>ponent<br />

test<strong>in</strong>g and use Tessy to execute the tests.<br />

Tessy is a tool to automate the unit, module,<br />

and <strong>in</strong>tegration test<strong>in</strong>g of embedded software.<br />

The <strong>in</strong>terior light is controlled by two sensors.<br />

Firstly a sensor <strong>in</strong>dicat<strong>in</strong>g if the door is closed<br />

or open, secondly a sensor <strong>in</strong>dicat<strong>in</strong>g if the ignition<br />

is on or off. The (very rudimentary)<br />

specification for the behaviour of the <strong>in</strong>terior<br />

lightrequiresittogoonassoonasthedooris<br />

closed. If noth<strong>in</strong>g else happens, it must go off<br />

automatically after 5 seconds at the latest.<br />

However, should the ignition be switched on<br />

dur<strong>in</strong>g these 5 seconds, the <strong>in</strong>terior light should<br />

go off immediately.<br />

As a start, Tessy determ<strong>in</strong>es automatically the<br />

<strong>in</strong>terface of the <strong>com</strong>ponent by analyz<strong>in</strong>g the<br />

source code of the <strong>com</strong>ponent (figure 2). The<br />

upper part of figure 2 lists all the functions of<br />

the <strong>com</strong>ponent that can be called from outside<br />

29 September 2009


TESTING &DEBUGGING<br />

Figure 3. Scenario with result (left hand side) and call trace (right hand side)<br />

Figure 4. Another scenario and result (left hand side) and call trace (right hand side)<br />

the <strong>com</strong>ponent and thus can be part of a scenario<br />

(<strong>com</strong>ponent functions). The function<br />

<strong>in</strong>it() <strong>in</strong>itializes the <strong>com</strong>ponent. The two functions<br />

set_sensor_door() and set_sensor_ignition()<br />

pass the state of the respective sensors to<br />

the <strong>com</strong>ponent. The function tick() forms the<br />

heartbeat function of the <strong>com</strong>ponent. This was<br />

manually set by the user; it is <strong>in</strong>dicated by a<br />

special icon placed before tick(). The middle of<br />

figure 2 depicts the function calls from the<br />

<strong>com</strong>ponent to functions <strong>in</strong> other <strong>com</strong>ponents<br />

(external function calls). These are the two<br />

functions LightOn() and LightOff(), which<br />

switch the <strong>in</strong>terior light on and off, respectively.<br />

Dur<strong>in</strong>g <strong>com</strong>ponent test<strong>in</strong>g, Tessy replaces<br />

LightOn() and LightOff() by stub functions, i.e.<br />

we do not need implementations of these two<br />

functions for test<strong>in</strong>g. The lower part of figure 2<br />

(variables) depicts the variables of the <strong>com</strong>ponent<br />

which are accessible dur<strong>in</strong>g a scenario<br />

execution. The arrows <strong>in</strong>dicate if a variable can<br />

be <strong>in</strong>put, or output, or both. Now the desired<br />

<strong>in</strong>tegration test cases (or scenarios) are created.<br />

In Tessy this is done <strong>in</strong> the so-called scenario<br />

editor (SCE). Interface elements (figure 2) are<br />

dragged to a time scale and dropped on the desired<br />

po<strong>in</strong>t <strong>in</strong> simulated time. If needed, values<br />

for parameters of functions or for variables can<br />

be specified. The scenario <strong>in</strong> figure 3 tests that<br />

the <strong>in</strong>terior light is switched on immediately<br />

after the door was closed. Because ignition is<br />

not operated <strong>in</strong> this scenario, it is expected that<br />

the <strong>in</strong>terior light is switched off after 5 seconds<br />

at the latest. For the example at hand, we and<br />

the <strong>com</strong>ponent assume that tick() is called<br />

every 10 ms. This gives us a basis for the simulation<br />

of time. Prior to the first call to tick(), i.e.<br />

before 0ms of simulated scenario time, <strong>in</strong>it() is<br />

called. This call arranges for a def<strong>in</strong>ed <strong>in</strong>itial<br />

state, <strong>in</strong> our case door open, ignition off, and<br />

September 2009 30<br />

light off. After the third call of tick(), i.e. at 30<br />

ms of simulated scenario time,<br />

set_sensor_door() is called with the parameter<br />

value closed. This <strong>in</strong>dicates for the <strong>com</strong>ponent<br />

that the door is closed, which should cause<br />

some actions. Two expected actions are specified<br />

<strong>in</strong> the scenario. Firstly, LightOn() must be<br />

called after the next call to tick(), i.e. at 40 ms<br />

simulated time. Secondly, LightOff() must be<br />

called after 5 seconds at the latest, i.e. between<br />

30 ms and 5030 ms of simulated scenario time.<br />

The execution of the scenario yields the expected<br />

results. This is <strong>in</strong>dicated by the green tick<br />

marks <strong>in</strong> the scenario (left hand side of figure<br />

3) and is also illustrated by the call trace (right<br />

hand side of figure 3).<br />

In this scenario, the distance between two subsequent<br />

calls to tick() is specified to be 10 ms.<br />

This allows Tessy to calculate the distance <strong>in</strong><br />

time, given <strong>in</strong> natural units (e.g. seconds) for<br />

the correspond<strong>in</strong>g number of calls to tick().<br />

Should the distance change, Tessy automatically<br />

recalculates the number of calls. This is especially<br />

useful, if the distance is changed <strong>in</strong> the<br />

courseoftheproject,e.g.from10msto20ms,<br />

e.g. because 10 ms is not longer sufficient for all<br />

the work to be done <strong>in</strong> that time frame. With<br />

Tessy, time always is specified <strong>in</strong> the natural<br />

units of the specification and not <strong>in</strong> implementation-dependent<br />

values.<br />

The scenario <strong>in</strong> figure 4 tests if the <strong>in</strong>terior light<br />

is switched off after the ignition was switched<br />

on. Different to the scenario <strong>in</strong> figure 4, <strong>in</strong>it() is<br />

not called. This can rema<strong>in</strong> undone because<br />

Tessy is able to set/check the value of a variable<br />

prior, dur<strong>in</strong>g and after a test. This feature is<br />

used to mimic the <strong>in</strong>it() call. This feature<br />

would also allow start<strong>in</strong>g a scenario from an<br />

<strong>in</strong>valid state or check<strong>in</strong>g that <strong>in</strong>it() works correctly.<br />

Another difference to the first scenario is<br />

that the operation of the ignition is <strong>in</strong>dicated<br />

us<strong>in</strong>g a variable (and not by call<strong>in</strong>g set_sensor_ignition(),<br />

as one might assume from the<br />

first scenario). Furthermore, the second scenario<br />

specifies that the <strong>in</strong>terior light shall go on<br />

after the door is closed and shall go off immediately<br />

after the ignition is switched on. Tessy<br />

determ<strong>in</strong>es the code coverage achieved by the<br />

execution of the scenario(s). ■<br />

October 8, 2009 – 10h00 to 17h00 CET<br />

(Central <strong>Europe</strong>an Time)


PRODUCT NEWS<br />

■ MSC: new variations of Qseven platform<br />

MSC has announced new variations of its Qseven platform MSC Q7-<br />

US15W. The ma<strong>in</strong> features of all three versions like graphics, high def<strong>in</strong>ition<br />

audio and the <strong>in</strong>terface offer<strong>in</strong>g, e.g. USB and Gbit Ethernet, are<br />

identical. The high end version <strong>com</strong>es with the 1.6GHz Intel Atom<br />

Z530 processor, 1024MB of SDRAM, two SATA-300 ports and three<br />

PCI Express x1 lanes.<br />

News ID 1617<br />

■ Avalue: multiple IPC chassis for M<strong>in</strong>i-ITX boards<br />

Avalue br<strong>in</strong>gs out a series of chassis for hous<strong>in</strong>g the <strong>com</strong>ponents of IPCs<br />

which allow secure mount<strong>in</strong>g and protect from vibration, static and<br />

other harmful elements. Avalue offers a range of <strong>in</strong>dustrial chassis types<br />

from VESA <strong>com</strong>pliant rack-mount chassis, wall-mount chassis to desktop<br />

chassis.<br />

News ID 1622<br />

■ Bra<strong>in</strong>boxes launches range of USB to serial products<br />

Bra<strong>in</strong>boxes launches its new range of USB to Serial connectivity devices,<br />

releas<strong>in</strong>g two new products. The RS232 and RS422/485 serial devices<br />

provide a highly efficient and robust serial port extension suitable for<br />

office and laboratory environments. This will ensure that desktops and<br />

laptops supplied with limited or no serial ports cont<strong>in</strong>ue to have connectivity<br />

to a wide range of RS 232 and RS 422/ 485 devices via USB.<br />

News ID 382<br />

■ Kontron: evaluation kit for <strong>com</strong>pact COM Express class<br />

The Kontron microETXexpress evaluation kit offers developers a fast<br />

<strong>in</strong>troduction <strong>in</strong>to the <strong>com</strong>pact class of COM Express. The Kontron microETXexpress<br />

Starterkit is an all-round development platform for a<br />

wide range of embedded applications that require high-performance<br />

and process<strong>in</strong>g density on a <strong>com</strong>pact footpr<strong>in</strong>t with low-power consumption.<br />

It is ideal for evaluat<strong>in</strong>g applications that are to be operated<br />

on small mobile devices which are battery-powered or even solarpowered<br />

and small embedded devices which have a <strong>com</strong>pact format<br />

while offer<strong>in</strong>g a high level of features.<br />

News ID 1602<br />

■ ADLINK: EBX SBC based on 1.6 GHz Intel Atom N270 processor<br />

ADLINK announces the LittleBoard 735 EBX SBC based on the ultra<br />

low power Intel Atom N270 processor at 1.6 GHz, code name ‘Diamondville’.<br />

The LittleBoard 735 supports the 1.6 GHz Atom’ N270<br />

processor with Intel 945GSE chipset (‘Navy Pier’ platform) and provides<br />

a DDR2 533 SODIMM socket for up to 2 GB of RAM. Independent<br />

10/100BaseT and 10/100/1000BaseT Ethernet ports give system OEMs<br />

flexibility.<br />

News ID 304<br />

■ AAEON: ETX CPU module with VIA C7/Eden processors<br />

AAEON announces the new <strong>Embedded</strong> Technology eXtended product<br />

ETX-CX700M, which is based on the VIA C7/ Eden (V4) series<br />

processors <strong>com</strong>b<strong>in</strong>ed with the VIA CX700M chipset. The ETX-<br />

CX700M provides support for a multitude of expansion and storage <strong>in</strong>terfaces<br />

that will allow for numerous options to be designed onto the<br />

baseboard.<br />

News ID 1560<br />

■ W<strong>in</strong>d River adds virtualization to multicore software solution<br />

W<strong>in</strong>d River announces the immediate availability of W<strong>in</strong>d River Hypervisor,<br />

a key pillar of W<strong>in</strong>d River’s <strong>com</strong>prehensive Multicore Software<br />

Solution for device development. W<strong>in</strong>d River Hypervisor is a high-performance<br />

Type-1 hypervisor, which supports virtualization on s<strong>in</strong>gle<br />

and multicore processors.<br />

News ID 1482<br />

31 September 2009


PRODUCT NEWS<br />

■ DFI: Atom-based micro COM Express<br />

module<br />

DFI announces a new fanless Micro COM Express<br />

module, the NP905-B16C, conform<strong>in</strong>g to<br />

COM Express Type 2 Basic form factor standard,<br />

but with a smaller size of 95 x 95 mm. The<br />

Micro COM Express form factor uses the same<br />

220-p<strong>in</strong> high-speed SMT connectors and signal<strong>in</strong>g<br />

of the COM Express Type 2 Basic module,<br />

mak<strong>in</strong>g it a drop-<strong>in</strong> replacement. The DFI<br />

NP905-B16C module is based on the Intel<br />

Atom N270 processor with 533MHz FSB and<br />

Intel 945GSE Express chipset with ICH7M I/O<br />

controller hub.<br />

News ID 1529<br />

■ Quadros supports Atmel SAM9<br />

microcontrollers<br />

Quadros Systems announces support for the<br />

AT91SAM9G20 and SM9XE microcontrollers<br />

from Atmel. Quadros Systems’ offers one-stop<br />

development and run-time solutions for Atmel<br />

SAM9 microcontrollers <strong>com</strong>b<strong>in</strong><strong>in</strong>g RTXC<br />

RTOS and <strong>in</strong>tegrated software with MDK-<br />

ARM development tools from Keil, an ARM<br />

<strong>com</strong>pany.<br />

News ID 311<br />

■ Logic Technology: file system for W<strong>in</strong>dows<br />

CE, W<strong>in</strong>dows Mobile and VxWorks<br />

Logic Technology announced availability of<br />

Datalight’s Reliance Nitro fault-tolerant embedded<br />

file systems. Reliance Nitro is now<br />

available for W<strong>in</strong>dows CE and W<strong>in</strong>dows Mobile<br />

as well as VxWorks, and is reported to boost<br />

sequential and random write speeds as much as<br />

five times faster than the default file systems.<br />

News ID 1555<br />

■ Keil supports STM32 Connectivity L<strong>in</strong>e<br />

Keil announces support for the STM32 Connectivity<br />

L<strong>in</strong>e <strong>in</strong> the Keil MDK-ARM Microcontroller<br />

Development Kit and RL-ARM Real-<br />

Time Library. Keil has also <strong>in</strong>troduced the new<br />

MCBSTM32C evaluation board and starter kit.<br />

The STM32 Connectivity L<strong>in</strong>e is based on the<br />

ARM Cortex-M3 processor and features fullspeed<br />

USB OTG, dual CAN2.0B <strong>in</strong>terfaces, and<br />

10/100 Ethernet <strong>in</strong>clud<strong>in</strong>g hardware support<br />

for IEEE1588 Precision Time Protocol. The devices<br />

share <strong>com</strong>mon peripherals with other<br />

STM32 families, thereby allow<strong>in</strong>g easy project<br />

migration, and have up to 256KB Flash and<br />

64KB SRAM.<br />

News ID 1652<br />

■ pls: Eclipse plug-<strong>in</strong> for Universal Debug<br />

Eng<strong>in</strong>e<br />

A special plug-<strong>in</strong>, now provided with the Universal<br />

Debug Eng<strong>in</strong>e 2.6 from pls Programmierbare<br />

Logik & Systeme at no extra cost, enables<br />

a separate debug perspective for Eclipsebased<br />

platforms. The tool, offered as a feature<br />

<strong>in</strong>stallation package, offers the advantage that<br />

the <strong>com</strong>plete functionality of the UDE as cross<br />

debugger under Eclipse is reta<strong>in</strong>ed without hav<strong>in</strong>g<br />

to <strong>com</strong>promise. It can be simply <strong>in</strong>stalled<br />

with Eclipse’s own mechanism. Operation <strong>in</strong><br />

"RCP stand-alone application mode" is also<br />

possible.<br />

News ID 357<br />

■ IAR: KickStart Kit for NXP Cortex-M3<br />

devices<br />

IAR Systems has <strong>in</strong>troduced a KickStart Kit for<br />

NXP’s ultra-low power ARM Cortex-M3 device,<br />

the LPC1768. The kit, which <strong>in</strong>cludes IAR<br />

<strong>Embedded</strong> Workbench for ARM and example<br />

applications to speed up development of<br />

LPC1768 designs, consists also of a development<br />

board fitted with the microcontroller,<br />

evaluation editions of IAR PowerPac for ARM,<br />

IAR visualSTATE, and a separate IAR J-L<strong>in</strong>k<br />

debug probe for ARM.<br />

News ID 1648<br />

■ Lauterbach supports Intel Atom processors<br />

Lauterbach announces support for the Intel<br />

Atom processor core based platforms for MID<br />

Menlow, Moorestown and Medfield. The exist<strong>in</strong>g<br />

TRACE32PowerDebug system has been<br />

enhanced for the new processor architecture,<br />

br<strong>in</strong>g<strong>in</strong>g a mature high end debugg<strong>in</strong>g solution<br />

to the Intel Atom architecture.<br />

News ID 1656<br />

■ Data Modul: 7.6 <strong>in</strong>ch active-matrix OLED<br />

Data Modul offers active matrix OLEDs from<br />

CMEL with high optical performance, even<br />

under extreme view<strong>in</strong>g angles, characterize<br />

OLEDs.With an active area of 165x99mm the 7.6’<br />

P0760WVLB-T (CM02013) is currently the<br />

largest available active-matrix OLED from CMEL.<br />

News ID 386<br />

■ NXP and Trusted Logic: NFC middleware<br />

<strong>in</strong>tegration<br />

NXP and Trusted Logic announce a partnership<br />

<strong>in</strong> which Trusted Logic will distribute and market<br />

the NFC middleware, which embeds the<br />

NXP Reference Implementation. Under this<br />

More <strong>in</strong>formation about each news is available on<br />

www.<strong>Embedded</strong>-<strong>Control</strong>-<strong>Europe</strong>.<strong>com</strong>/ece_magaz<strong>in</strong>e<br />

• You have to type <strong>in</strong> the “News ID”. —<br />

September 2009 32<br />

agreement, Trusted Logic will license the NXP<br />

Reference Implementation, which has been<br />

validated with the latest NXP NFC controller<br />

PN544. Trusted Logic will enhance the solution<br />

with their Java Specification Request 257 implementation<br />

to enable NFC technology <strong>in</strong> Java<br />

Micro Edition environments. Furthermore,<br />

this partnership will enable NFC middleware<br />

<strong>in</strong>tegration with the most <strong>com</strong>mon mobile operat<strong>in</strong>g<br />

systems and facilitate <strong>in</strong>tegration services<br />

to handset manufacturers.<br />

News ID 1870<br />

■ Actron: SoC NAPs support PCIe and<br />

Gigabit Ethernet<br />

Actron announces two new network appliance<br />

processors from MosChip support<strong>in</strong>g PCI Express,<br />

Gigabit Ethernet and display <strong>in</strong>terfaces <strong>in</strong><br />

a s<strong>in</strong>gle solution. With MosChip’s MCS8142,<br />

system eng<strong>in</strong>eers can target a variety of well<br />

suited applications that <strong>in</strong>clude consumer network<br />

attached storage, PC and media dock<strong>in</strong>g<br />

stations, SOHO, home network automation,<br />

media servers, and more.<br />

News ID 1940<br />

■ GLYN adds USB solutions from FTDI<br />

to l<strong>in</strong>ecard<br />

GLYN has extended its product portfolio with<br />

a l<strong>in</strong>e of high quality products from FTDI to<br />

<strong>com</strong>plement exist<strong>in</strong>g applications with USB.<br />

FTDI is specialised <strong>in</strong> develop<strong>in</strong>g quick and<br />

easy solutions for USB applications.<br />

News ID 1446<br />

■ Innovasic: Intel CAN controller replacement<br />

Innovasic Semiconductor has announced production<br />

units are shipp<strong>in</strong>g for the IA82527.<br />

The IA82527 is a form, fit, and function replacement<br />

for the orig<strong>in</strong>al Intel 82527 Serial<br />

Communications <strong>Control</strong>ler. The Innovasic replacement<br />

supports the same CAN 2.0 Specification<br />

as the orig<strong>in</strong>al device, <strong>in</strong>clud<strong>in</strong>g standard<br />

and extended message frames.<br />

News ID 1456<br />

■ MSC: DDR3 DRAM modules from Samsung<br />

MSC opens the ‘green world’ by launch<strong>in</strong>g the<br />

new DDR3 DRAM modules from Samsung.<br />

The Samsung DDR3 delivers a <strong>com</strong>b<strong>in</strong>ation of<br />

maximum bandwidth and density at the lowest<br />

power consumption. This high performance,<br />

energy-efficient memory is perfectly suited<br />

when energy efficiency be<strong>com</strong>es a criteria.<br />

News ID 1676


■ MIPS jo<strong>in</strong>s Open <strong>Embedded</strong> Software<br />

Foundation<br />

MIPS Technologies announces it has jo<strong>in</strong>ed the<br />

Open <strong>Embedded</strong> Software Foundation (OESF),<br />

an organization focused on standardization and<br />

development of Android platforms for embedded<br />

devices beyond mobile handsets.<br />

News ID 1562<br />

■ Evatronix and Soft-Mixed Signal: IP<br />

solution for USB 2.0<br />

Evatronix and Soft Mixed Signal announce the<br />

availability of the <strong>com</strong>plete USB 2.0 solution<br />

that <strong>in</strong>tegrates USB 2.0 <strong>Control</strong>ler IP from Evatronix<br />

and the USB 2.0 PHY IP from Soft<br />

Mixed Signal.The USB <strong>Control</strong>ler IP implements<br />

configurable amount of memory for<br />

each endpo<strong>in</strong>t, which could also be turned off<br />

for even less power usage, while a <strong>com</strong>mon<br />

buffer for OUT type endpo<strong>in</strong>ts saves power by<br />

tak<strong>in</strong>g less silicon area.<br />

News ID 1899<br />

■ Ericsson expands distribution agreement<br />

with Mouser Electronics<br />

Ericsson Power Modules has extended its distribution<br />

agreement with Mouser Electronics to<br />

<strong>in</strong>clude the APAC regions. Mouser is an electronic<br />

<strong>com</strong>ponent distributor, focused on the<br />

rapid <strong>in</strong>troduction of new products and technologies<br />

to electronic design eng<strong>in</strong>eers. Customers<br />

throughout the APAC regions now can<br />

order Ericsson's <strong>com</strong>plete DC/DC converter<br />

range <strong>in</strong>clud<strong>in</strong>g its latest digitally controlled<br />

converters from Mouser. Mouser currently has<br />

branch locations throughout Asia <strong>in</strong> countries<br />

such as S<strong>in</strong>gapore, Hong Kong, and Ch<strong>in</strong>a.<br />

Mouser has launched websites and pr<strong>in</strong>ted catalogs<br />

<strong>in</strong> multiple currencies and languages.<br />

News ID 1913<br />

■ GLYN is new distributor for RF<br />

modules from Radiocrafts<br />

Radiocrafts appo<strong>in</strong>ts GLYN as new distributor<br />

<strong>in</strong> Germany, Switzerland, Austria and the<br />

BeNeLux area. GLYN is a distributor of hightech<br />

microelectronics and has been <strong>in</strong> the<br />

market s<strong>in</strong>ce 1980. The distributor is sell<strong>in</strong>g <strong>in</strong>tegrated<br />

circuits from lead<strong>in</strong>g semiconductor<br />

manufacturers, particularly microcontrollers,<br />

microprocessors, memory <strong>com</strong>ponents, optoelectronics<br />

and power electronics.<br />

News ID 1601<br />

■ Toshiba: <strong>in</strong>dustrial LCD panels with<br />

LED backlight system<br />

Toshiba Electronics <strong>Europe</strong> has announced<br />

the development of the latest range of activematrix<br />

colour TFT liquid crystal displays for the<br />

<strong>in</strong>dustrial market. The new display modules <strong>in</strong>corporate<br />

light-emitt<strong>in</strong>g diode backlight technology<br />

offer<strong>in</strong>g long life performance with<br />

100,000 hours mean time between failure.<br />

News ID 354<br />

PRODUCT NEWS<br />

■ Mouser and Multi-Tech: distribution<br />

agreement <strong>in</strong>cludes <strong>Europe</strong> and Asia<br />

Mouser Electronics announces its distribution<br />

authorization with Multi-Tech Systems has been<br />

expanded <strong>in</strong>to a global agreement. Multi-Tech<br />

Systems manufactures telephony, <strong>in</strong>ternet, remote<br />

access, and device network<strong>in</strong>g products<br />

that connect voice and data over IP networks.<br />

News ID 1875<br />

■ SEGGER: RTOS supports Freescale’s<br />

<strong>Control</strong>ler Cont<strong>in</strong>uum<br />

SEGGER announces that embOS RTOS, is<br />

now available for the 8-bit HCS08 and 32-bit<br />

ColdFire V1 MCUs from Freescale. embOS<br />

<strong>com</strong>es with a premium feature set such as the<br />

embOSView task-level profil<strong>in</strong>g tool, an unlimited<br />

number of tasks and no need for preconfiguration.<br />

By support<strong>in</strong>g both cores, SEG-<br />

GER helps developers to easily transfer from the<br />

8-bit to 32-bit world us<strong>in</strong>g the Freescale <strong>Control</strong>ler<br />

Cont<strong>in</strong>uum.<br />

News ID 1979<br />

■ Evatronix C68000 IP core implemented<br />

by HAPA<br />

Evatronix announces that its C68000 IP core<br />

has been successfully implemented <strong>in</strong> the<br />

HAPA 100 <strong>Control</strong>ler series for pr<strong>in</strong>ters of the<br />

Swiss <strong>com</strong>pany HAPA. The HAPA 100 controller<br />

series supports 3- and 5-phase stepper<br />

motors <strong>in</strong> their pr<strong>in</strong>ters s<strong>in</strong>ce 15 years. The<br />

pr<strong>in</strong>ters are used <strong>in</strong> the pharmaceutical <strong>in</strong>dustry<br />

to pr<strong>in</strong>t by flexographic or drop on demand<br />

technology alum<strong>in</strong>um foil, blisters and cartons<br />

<strong>in</strong> l<strong>in</strong>e just before packag<strong>in</strong>g.<br />

News ID 1871<br />

■ Eremex: topological router and layout<br />

editor<br />

Eremex presents the TopoR - high-performance<br />

topological router and layout editor<br />

which provides high-quality PCB design of any<br />

<strong>com</strong>plexity with lightn<strong>in</strong>g speed as a result of<br />

unique algorithms implementation.<br />

News ID 1675<br />

■ pls: debug tool now available<br />

for Freescale’s i.MX25 family<br />

pls Programmierbare Logik & Systeme now offers<br />

its Universal Debug Eng<strong>in</strong>e, which is currently<br />

available for a variety of different ARM7<br />

and ARM9 derivates, also for Freescale’s<br />

ARM926EJ-S core based i.MX25 family of<br />

multimedia applications processors. The <strong>in</strong>tuitive<br />

and configurable user <strong>in</strong>terface of the UDE<br />

provides i.MX25 users with unrestricted C/C++<br />

support, a powerful symbol browser, freely configurable<br />

toolbars, extensive context related<br />

menus and HTML as description language for<br />

application-specific w<strong>in</strong>dows. In addition, the<br />

use of standard script languages guarantees a<br />

high level of automation.<br />

News ID 1536<br />

33 September 2009<br />

You CAN get it...<br />

Hardware & software for<br />

CAN bus applications…<br />

PCAN-Explorer 5<br />

Universal CAN monitor,<br />

symbolic representation, VBS<br />

<strong>in</strong>terface, <strong>in</strong>tegrated data logger,<br />

functionality upgrades with add<strong>in</strong>s<br />

(e.g. Plotter & J1939 Add-<strong>in</strong>).<br />

High-speed<br />

USB 2.0<br />

Hub<br />

PCAN-USB Hub<br />

PCAN-cPCI<br />

CAN <strong>in</strong>terface for CompactPCI slots<br />

with galvanic isolation. Available<br />

as 2-channel or 4-channel version.<br />

All-<strong>in</strong>-one USB adapter for<br />

<strong>com</strong>munication through USB, CAN,<br />

and RS-232.<br />

www.peak-system.<strong>com</strong><br />

Otto-Roehm-Str. 69<br />

64293 Darmstadt / Germany<br />

Phone: +49 6151 8173-20<br />

Fax: +49 6151 8173-29<br />

<strong>in</strong>fo@peak-system.<strong>com</strong>


PRODUCT NEWS<br />

■Atlantik: RoadTunes ROM solution<br />

for portable navigation devices<br />

Atlantik Elektronik presents the new Road-<br />

Tunes ROM solution from CSR for portable<br />

navigation devices and aftermarket <strong>in</strong>-car devices,<br />

such as Bluetooth-enabled vehicle <strong>in</strong>fota<strong>in</strong>ment<br />

and car radio platforms. The Road-<br />

Tunes ROM chipset is a <strong>com</strong>plete embedded<br />

Bluetooth solution <strong>in</strong> a QFN package which requires<br />

m<strong>in</strong>imal external <strong>com</strong>ponents.<br />

News ID 1667<br />

■ Digi-Key and Fujitsu Microelectronics:<br />

worldwide distribution agreement<br />

Digi-Key has signed a new agreement with Fujitsu<br />

Microelectronics for the worldwide distribution<br />

of Fujitsu's new low-power, lowp<strong>in</strong>-count,<br />

8-bit microcontrollers and digital<br />

touch-screen sensor ICs. Fujitsu products<br />

stocked by Digi-Key are now available for immediate<br />

shipment via Digi-Key's global websites.<br />

News ID 1882<br />

■ Microchip: 100Mbps Ethernet controllers<br />

with <strong>in</strong>tegrated security eng<strong>in</strong>es<br />

Microchip announces the ENC624J600, a low<br />

cost standalone IEEE 802.3TM <strong>com</strong>pliant<br />

100Mbps Ethernet <strong>in</strong>terface controller. These<br />

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

�����<br />

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

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

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

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

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

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

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

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

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

Ethernet controllers <strong>com</strong>b<strong>in</strong>e a 10/100Base-TX<br />

physical <strong>in</strong>terface and a Media Access <strong>Control</strong>ler<br />

with a hardware cryptographic security<br />

eng<strong>in</strong>e, and can connect to any PIC microcontroller<br />

via an <strong>in</strong>dustry-standard Serial Peripheral<br />

Interface or a flexible parallel <strong>in</strong>terface.<br />

News ID 1953<br />

■ Inf<strong>in</strong>eon: Gigabit PHY <strong>com</strong>plies with<br />

EEE guidel<strong>in</strong>es<br />

Inf<strong>in</strong>eon announces an energy efficient Gigabit<br />

Ethernet Physical Layer IC. The new XWAY<br />

PHY11G is <strong>com</strong>pliant with EEE guidel<strong>in</strong>es for<br />

energy efficiency, and it is the <strong>in</strong>dustry’s smallest<br />

footpr<strong>in</strong>t IC for Gigabit home network<strong>in</strong>g<br />

applications. The new IC targets all major<br />

broadband applications, <strong>in</strong>clud<strong>in</strong>g xDSL and<br />

PON Routers <strong>in</strong> home gateway solutions, IP<br />

phones, PC motherboards, and consumer applications<br />

like IP-TVs, IP set-top boxes, game<br />

consoles and pr<strong>in</strong>ters.<br />

News ID 1946<br />

■ Yamaichi: SD card reader with push/push<br />

system<br />

Yamaichi Electronics now offer the FPS009-<br />

2409-0, a new push/push SD/MMC card connector<br />

replac<strong>in</strong>g the top mount <strong>com</strong>ponent<br />

FPS009-2405-0. The PCB layout is unmodified<br />

<strong>com</strong>pared to the old version which means that<br />

the new card reader can be used with the exist<strong>in</strong>g<br />

layout. The low profile design with its 2.8<br />

mm has almost the same height as the SD card<br />

itself.<br />

News ID 1533<br />

■ Xil<strong>in</strong>x: Virtex-6 and Spartan-6 evaluation<br />

kits<br />

Xil<strong>in</strong>x releases the Xil<strong>in</strong>x Base Targeted Design<br />

Platform aimed at accelerat<strong>in</strong>g the development<br />

of SoC solutions with Xil<strong>in</strong>x Virtex-6 and<br />

Spartan-6 FPGAs. This base-level targeted design<br />

platform <strong>com</strong>b<strong>in</strong>es the 11.2 release of the<br />

ISE Design Suite, expanded <strong>in</strong>tellectual property<br />

portfolio, and pre-verified reference designs<br />

target<strong>in</strong>g Virtex-6 or Spartan-6 FPGAs with<strong>in</strong><br />

fully <strong>in</strong>tegrated evaluation kits that enable design<br />

teams to dramatically shorten development<br />

cycles and focus eng<strong>in</strong>eer<strong>in</strong>g resources on creat<strong>in</strong>g<br />

greater product differentiation.<br />

News ID 1551<br />

■ Mouser: Actel IGLOO nano FPGAs<br />

and ProASIC3 nano FPGAs<br />

Mouser Electronics announced that it is stock<strong>in</strong>g<br />

Actel’s IGLOO nano FPGAs and ProASIC 3<br />

nano FPGAs. Designed for high-volume applications<br />

where power and size are key decision<br />

criteria, Actel’s IGLOO nano FPGAs are perfect<br />

ASIC or ASSP replacements, yet reta<strong>in</strong> the historical<br />

FPGA advantages of flexibility and<br />

quick time-to-market <strong>in</strong> low-power and small<br />

footpr<strong>in</strong>t profiles.<br />

News ID 1552<br />

September 2009 34<br />

■ Rutronik and FCI sign pan-<strong>Europe</strong>an<br />

franchise agreement<br />

Rutronik Elektronische Bauelemente and FCI<br />

are extend<strong>in</strong>g their partnership to the whole of<br />

<strong>Europe</strong>. The two <strong>com</strong>panies have been work<strong>in</strong>g<br />

together for more than ten years. Up until now,<br />

the distribution cooperation covered Northern<br />

and Eastern <strong>Europe</strong> as well as France, Italy and<br />

Belgium.<br />

News ID 412<br />

■ NI: open environment for real-time<br />

test system development<br />

National Instruments announces NI VeriStand<br />

2009, an open, configuration-based software<br />

environment for creat<strong>in</strong>g real-time test<strong>in</strong>g<br />

applications such as hardware-<strong>in</strong>-the-loop and<br />

controlled environmental tests. All of the <strong>com</strong>mon<br />

functionalities of a real-time test system<br />

are implemented and optimized <strong>in</strong>side NI<br />

VeriStand <strong>in</strong> a ready-to-use format, mak<strong>in</strong>g it<br />

possible for real-time test system developers to<br />

<strong>com</strong>plete their test application development<br />

more efficiently.<br />

News ID 415<br />

■ Toshiba: low-power ARM9 MCU supports<br />

MMI functionality<br />

The latest addition to Toshiba’s family of scalable,<br />

low-power ARM-based microcontrollers<br />

allows designers to quickly and easily add<br />

man-mach<strong>in</strong>e <strong>in</strong>terface functionality to their<br />

embedded designs. The TMPA912CMAXBG is<br />

based on the 32-bit ARM926EJ-S core and is<br />

ideal for embedded systems that require <strong>in</strong>tegrated<br />

display control and graphic process<strong>in</strong>g<br />

capabilities but do not need all of the performance,<br />

memory and functionality offered by<br />

previous models <strong>in</strong> the Toshiba ARM9 family.<br />

News ID 1475<br />

■ Altera: low-power FPGA family with<br />

security features<br />

Altera announces a new low-power FPGA<br />

family with security features. The new Altera<br />

Cyclone III LS FPGAs offer the highest logic,<br />

memory, and DSP density per board area.<br />

These devices are the lowest power FPGAs at<br />

less than 0.25W of static power for 200K logic<br />

elements. The Cyclone III LS FPGAs, which are<br />

shipp<strong>in</strong>g now, target power and board-spacesensitive<br />

applications <strong>in</strong> all market segments <strong>in</strong>clud<strong>in</strong>g<br />

military and <strong>in</strong>dustrial.<br />

News ID 1577<br />

■ RS: product range for surveillance<br />

system design<br />

RS Components launches a new product range<br />

for electronic design eng<strong>in</strong>eers work<strong>in</strong>g on develop<strong>in</strong>g<br />

surveillance systems. Over 400 products<br />

have been <strong>in</strong>troduced <strong>in</strong>to the RS portfolio,<br />

cover<strong>in</strong>g a wide range of technologies that are<br />

used when creat<strong>in</strong>g a new surveillance system.<br />

News ID 1612


■ W<strong>in</strong>d River enables multilevel secure<br />

systems<br />

W<strong>in</strong>d River has <strong>in</strong>troduced the VxWorks MILS<br />

Platform 2.0. The platform <strong>in</strong>cludes a VxWorks<br />

runtime environment, allow<strong>in</strong>g W<strong>in</strong>d River<br />

customers to leverage their <strong>in</strong>-house VxWorks<br />

experts as well as legacy VxWorks application<br />

code with<strong>in</strong> new multilevel secure systems, and<br />

a high-assurance runtime environment for development<br />

of guards, downgraders, and other<br />

<strong>com</strong>ponents requir<strong>in</strong>g the highest security.<br />

News ID 1503<br />

■ Micro Digital: smxUSB 2.0 stacks for<br />

synopsys USB controllers<br />

Micro Digital has announced the port of Micro<br />

Digital’s smxUSB 2.0 stacks to the Synopsys DesignWare<br />

USB 2.0 OTG host and device controllers.<br />

This makes available to Synopsys’customers<br />

the full arsenal of Micro Digital USB<br />

products, which <strong>in</strong>clude, on the device side:<br />

audio, <strong>com</strong>posite, Ethernet over USB, mass<br />

storage, mouse, serial, and multiport serial; on<br />

the host side: audio, CDC ACM, HID, Hub,<br />

mass storage, pr<strong>in</strong>ter, RFID, serial, USB to Ethernet,<br />

USB to serial, and WiFi with WEP and<br />

WPA. These products <strong>in</strong>terface with Micro Digital<br />

file system and network<strong>in</strong>g products.<br />

News ID 1593<br />

■ CMX: RTOS and file systems for<br />

SAM3U Cortex-M3 processors<br />

CMX Systems announces the availability of its’<br />

CMX-RTX and CMX-TINY+ RTOSes and<br />

CMX-FFS file systems for Atmel’s SAM3U<br />

Cortex-M3 series processors. CMX-RTX is a<br />

truly preemptive, multi-task<strong>in</strong>g RTOS support<strong>in</strong>g<br />

a wide variety of 8-, 16-, 32-bit micro<strong>com</strong>puters,<br />

microprocessors, and DSP's. CMX-<br />

RTX offers the smallest footpr<strong>in</strong>t, the fastest<br />

context switch<strong>in</strong>g times, and the lowest <strong>in</strong>terrupt<br />

latency times available on the market<br />

today.<br />

News ID 388<br />

■ SEGGER tools fully support STM32<br />

Connectivity l<strong>in</strong>e<br />

SEGGER Microcontroller has released middleware<br />

and debugg<strong>in</strong>g products for the STM32<br />

Connectivity L<strong>in</strong>e of ARM Cortex-M3 based<br />

microcontrollers from ST Microelectronics.<br />

SEGGER’s <strong>com</strong>plete middleware set <strong>in</strong>cludes<br />

embOS RTOS, embOS/IP TCP/IP stack,<br />

emW<strong>in</strong> GUI, emFile and emUSB. Debugg<strong>in</strong>g<br />

solutions <strong>in</strong>clude the J-L<strong>in</strong>k emulator and the<br />

brand new J-Trace for Cortex’M3, which enables<br />

<strong>in</strong>struction trac<strong>in</strong>g via ARM's embedded<br />

trace macrocell.<br />

News ID 1972<br />

Nuremberg<br />

SPS/IPC/DRIVES/<br />

Electric<br />

Automation<br />

PRODUCT NEWS<br />

■ Atmel: evaluation kit for Cortex M3-based<br />

MCUs<br />

Atmel announces the availability of the SAM3U-<br />

EK Evaluation Kit for rapid application development<br />

on ARM Cortex -M3 based Flash microcontrollers<br />

with high-speed 480 Mbps USB + Phy.<br />

In addition to a plug-and-play socket for the highspeed<br />

USB device it features a high speed<br />

SDIO/SDCard/MMC slot, two UART connectors,<br />

a ZigBee radio header, two analog <strong>in</strong>puts, audio<br />

<strong>in</strong>- and outputs and a JTAG-ICE debug port.<br />

News ID 1665<br />

■ ADLINK: CoreModule 730 embedded<br />

processor based Atom Z510 and Z530<br />

ADLINK has announced the new CoreModule<br />

730 embedded processor, based on the ultra low<br />

power Intel Atom Z510 and Z530 processors at<br />

1.1 and 1.6 GHz, respectively, which sets a new<br />

efficiency standard for t<strong>in</strong>y rugged <strong>com</strong>puters<br />

by us<strong>in</strong>g the new SUMIT expansion <strong>in</strong>terface.<br />

It re<strong>in</strong>vents stackable and mezzan<strong>in</strong>e architectures<br />

by pack<strong>in</strong>g an enormous amount of data<br />

bandwidth and easy connectivity ‘ <strong>in</strong>clud<strong>in</strong>g<br />

multiple PCI Express lanes, USB 2.0 <strong>in</strong>terfaces,<br />

LPC bus, I2C bus, and SPI bus ‘ <strong>in</strong>to a fraction<br />

of the space previously occupied by only the 33<br />

MHz parallel PCI-104 bus.<br />

News ID 1891<br />

Systems and Components<br />

Exhibition & Conference<br />

24 – 26 Nov. 2009<br />

Experience electric automation at its best!<br />

Come and see it all!<br />

<strong>Control</strong> Technology<br />

IPCs<br />

Drive Systems and Components<br />

Human-Mach<strong>in</strong>e-Interface Devices<br />

Industrial Communication<br />

Industrial Software<br />

Interface Technology<br />

Electromechanical Components and Peripheral Equipment<br />

Sensor Technology<br />

www.mesago.<strong>com</strong>/sps<br />

Mesago Messemanagement GmbH, Postfach 10 32 61, 70028 Stuttgart, Germany, sps@mesago.<strong>com</strong>, phone +49 711 61946-828


PRODUCT NEWS<br />

■ HCC supports Micron’s 1Gb serial<br />

NAND Flash<br />

HCC-<strong>Embedded</strong> announces that the entire<br />

HCC product l<strong>in</strong>e now supports and <strong>in</strong>teroperates<br />

with Micron Technology’s 1-gigabitbased<br />

serial NAND Flash.The Micron device<br />

used <strong>in</strong> HCC’s port<strong>in</strong>g and test<strong>in</strong>g work is a<br />

1Gb-based chip provid<strong>in</strong>g embedded applications<br />

with the flexibility to easily upgrade their<br />

storage capacity.<br />

News ID 1642<br />

■ MSC presents MachXO control<br />

development kit<br />

MSC announced a new development kit from<br />

Lattice, referred to as the MachXO <strong>Control</strong> Development<br />

Kit and 6 new reference designs that<br />

will provide a foundation platform for system<br />

control demos scheduled to be released dur<strong>in</strong>g<br />

the rema<strong>in</strong>der of this year. The kit features the<br />

MachXO LCMXO2280 device, the Power Manager<br />

II ispPAC-POWR1014A device, 2Mbit<br />

SPI Flash memory, 1 Mbit SRAM, <strong>in</strong>terface to<br />

a16x2LCDpanel,SDandCompactFlash<br />

memory sockets, fan circuit, current and voltage<br />

sensor circuits, USB connector, several<br />

LEDs and switches.<br />

News ID 1643<br />

■ SMH: signal multiplexer for device<br />

<strong>in</strong>-system programm<strong>in</strong>g<br />

SMH Technologies unveils a new signal multiplexer<br />

for device <strong>in</strong>-system programm<strong>in</strong>g (MicroPlexer).<br />

Microplexer allows the ISP connection<br />

<strong>com</strong><strong>in</strong>g from the programmer/tester to<br />

be switched to one of the available output channels.<br />

In this way, a s<strong>in</strong>gle programmer/tester can<br />

easily handle multiple device programm<strong>in</strong>g,<br />

whether on a s<strong>in</strong>gle board or distributed across<br />

multiple boards <strong>in</strong> a panel assembly.<br />

News ID 1513<br />

■ Vector simplifies optimization of ECU<br />

parameters<br />

Vector has released CANape 8.0 ‘ the latest version<br />

of its development software for ECU calibration.<br />

It accelerates optimal calibrat<strong>in</strong>g of<br />

ECUs <strong>in</strong> the vehicle by extended measurement<br />

data acquisition, optimized calibration data<br />

management and new data m<strong>in</strong><strong>in</strong>g functions<br />

for automated data evaluation. The new<br />

‘Simul<strong>in</strong>k XCP Server’ option will benefit both<br />

functional and software developers with convenient<br />

parameter sett<strong>in</strong>g as well as quick access<br />

to measurement variables of the Simul<strong>in</strong>k<br />

model directly <strong>in</strong> CANape.<br />

News ID 306<br />

■ SMSC: power management solution for<br />

MOST network devices<br />

SMSC announces the MPM85000, a low-cost,<br />

s<strong>in</strong>gle-chip solution for power management of<br />

MOST devices. See<strong>in</strong>g the need to elim<strong>in</strong>ate<br />

several discrete electronic <strong>com</strong>ponents, SMSC's<br />

MPM85000 <strong>com</strong>b<strong>in</strong>es all necessary peripheral<br />

functions to implement a MOST network <strong>in</strong>terface<br />

such as diagnostics, status monitor<strong>in</strong>g<br />

and power supply.<br />

News ID 1969<br />

■ iC-Haus: 8-channel fail-safe FET<br />

driver with AEC Q100 qualification<br />

iC-MFL from iC-Haus is a monolithically <strong>in</strong>tegrated,<br />

8-channel level shifter to drive Logic<br />

FETs. The <strong>in</strong>ternal circuit blocks have been designed<br />

<strong>in</strong> such a way that with s<strong>in</strong>gle errors,<br />

such as open p<strong>in</strong>s or the short-circuit<strong>in</strong>g of two<br />

outputs, the iC-MFL output stages switch to a<br />

predef<strong>in</strong>ed, safe state. Externally connected<br />

FETsthereforeshutdownsafely<strong>in</strong>theeventof<br />

a s<strong>in</strong>gle error.<br />

News ID 385<br />

■ Enea launches Android <strong>com</strong>petence center<br />

Enea is establish<strong>in</strong>g a <strong>com</strong>petence center based<br />

<strong>in</strong> Lund, Sweden which will offer professional<br />

software development services, as well as a variety<br />

of tra<strong>in</strong><strong>in</strong>g programs for developers of<br />

mobile phones, netbooks and mobile <strong>in</strong>ternet<br />

devices who are consider<strong>in</strong>g us<strong>in</strong>g the emerg<strong>in</strong>g<br />

open source platform or are actively develop<strong>in</strong>g<br />

devices.<br />

News ID 401<br />

■ Inf<strong>in</strong>eon: s<strong>in</strong>gle-chip WLAN ICs for<br />

home gateways<br />

Inf<strong>in</strong>eon has <strong>in</strong>troduced a new family of s<strong>in</strong>glechip<br />

WLAN <strong>in</strong>tegrated circuits. The new XWAY<br />

WAVE100 ICs provide a solution for wireless<br />

network access po<strong>in</strong>ts that are <strong>com</strong>pliant to the<br />

802.11n draft standard for data rates up to<br />

150Mbit/s as well as the 802.11 b/g standard.<br />

The s<strong>in</strong>gle-chip XWAY WAVE100 family <strong>in</strong>tegrates<br />

the WLAN Baseband, Media Access<br />

<strong>Control</strong>ler, RF, Low Noise Amplifier and Power<br />

Amplifier functionalities. The XWAY WAVE100<br />

s<strong>in</strong>gle-chips are available with either SDIO or<br />

PCI <strong>in</strong>terface.<br />

News ID 140<br />

■ TI: high-voltage bipolar DACs for<br />

high-precision test equipment<br />

Texas Instruments <strong>in</strong>troduces a four-channel,<br />

high-voltage, bipolar digital-to-analog converter.<br />

Developed on TI’s HPA07 analog CMOS<br />

process technology, the 16-bit DAC8734 is<br />

part of a new family of high-performance,<br />

bipolar DACs, <strong>in</strong>clud<strong>in</strong>g p<strong>in</strong>-<strong>com</strong>patible 12and<br />

14-bit family members featur<strong>in</strong>g up to six<br />

times lower drift than <strong>com</strong>pet<strong>in</strong>g devices along<br />

with the widest operat<strong>in</strong>g temperature range<br />

and the highest <strong>in</strong>itial accuracy.<br />

News ID 392<br />

■ Microchip: analogue resistive touch-screen<br />

controllers<br />

Microchip announces the mTouch AR1000<br />

resistive touch-screen controllers. By provid<strong>in</strong>g<br />

September 2009 36<br />

built-<strong>in</strong> decod<strong>in</strong>g and advanced filter<strong>in</strong>g, as well<br />

as controller-driven calibration, the AR1000<br />

controllers lower costs and reduce time to<br />

market for any embedded resistive-touch design.<br />

The AR1000 provides proprietary touchscreen<br />

decod<strong>in</strong>g algorithms that enable applications<br />

to receive fully processed, reliable touch<br />

coord<strong>in</strong>ates.<br />

News ID 1938<br />

■ Avnet Memec: 16-bit, <strong>in</strong>dustrial DAC<br />

with high-voltage output circuits<br />

Avnet Memec <strong>in</strong>troduces the new MAX5661 of<br />

MaximIntegratedProducts.Thedeviceisa16bit,<br />

<strong>in</strong>dustrial DAC with two precision, highvoltage<br />

output circuits <strong>in</strong>tegrat<strong>in</strong>g a voltageoutput<br />

amplifier, current-output amplifier,<br />

and pass transistors on the same silicon. The<br />

dual-range voltage-output amplifier provides a<br />

voltage proportional to the DAC value and provides<br />

either a 0 to 10V or -10V to +10V output.<br />

News ID 323<br />

■ NatSemi: dual 16-bit, 160-MSPS pipel<strong>in</strong>e<br />

A/D converter<br />

National Semiconductor <strong>in</strong>troduces a dualchannel<br />

16-bit, 160 mega-samples per second<br />

pipel<strong>in</strong>e ADC. With two high-speed channels,<br />

the ADC16DV160 offers small footpr<strong>in</strong>t of 10<br />

x 10 mm and is targeted at multi-carrier,<br />

multi-standard GSM/EDGE, WCDMA, LTE<br />

and WiMAX wireless basestations. The<br />

ADC16DV160 consumes less than half the<br />

power per ADC channel (650 mW) <strong>com</strong>pared<br />

to <strong>com</strong>pet<strong>in</strong>g s<strong>in</strong>gle-channel 16-bit 160-MSPS<br />

pipel<strong>in</strong>e ADCs, while offer<strong>in</strong>g a large <strong>in</strong>putbandwidth<br />

(1.4 GHz).<br />

News ID 309<br />

■ CMX: extended support for RENESAS<br />

SH-2A family<br />

CMX Systems announces the availability of the<br />

CMX-RTX, CMX-MicroNet and CMX-FFS<br />

file systems for the Renesas SH-2A processor<br />

family. SH-2A support is <strong>in</strong> addition to current<br />

CMX product availability for the SH-1, SH-2<br />

and SH-3 processor families. CMX software<br />

supports SH-2A derivatives with and those<br />

without float<strong>in</strong>g po<strong>in</strong>t units.<br />

News ID 1478<br />

■ Lauterbach: TRACE32 PowerProbe for<br />

the NEC’s 78K0R/Kx3<br />

Lauterbach has launched a new high performance<br />

debug probe for NEC Electronics 16-bit<br />

microcontroller family 78K0R/Kx3. Lauterbach’s<br />

TRACE32 PowerDebug for 78K0R provides<br />

an ultra-high-speed <strong>in</strong>terface accelerat<strong>in</strong>g<br />

the entire debug process <strong>in</strong>clud<strong>in</strong>g code download,<br />

flash programm<strong>in</strong>g and source code debugg<strong>in</strong>g.<br />

The tools can be connected to either<br />

W<strong>in</strong>dows or L<strong>in</strong>ux hosts via USB 2.0 or Ethernet<br />

10/100/1000.<br />

News ID 429


■ iSYSTEM: version 2009 of w<strong>in</strong>IDEA IDE<br />

and debugger<br />

iSYSTEM has released its 2009 version of their<br />

<strong>in</strong>tegrated development environment called<br />

w<strong>in</strong>IDEA. The new release <strong>in</strong>tegrates a lot of<br />

new hardware and software related features<br />

such as support for new microcontroller families<br />

and their newest derivates, new hardware<br />

and software manuals. Last but not leastw<strong>in</strong>IDEA<br />

2009 <strong>in</strong>cludes iSYSTEM’s Software<br />

Development Kit with support for script languages<br />

such as Phython, TCL, Perl, Automation<br />

Server, LabVIEW, and more for a seemless <strong>in</strong>tegration<br />

of iSYSTEM tools <strong>in</strong> the software development<br />

and test process.<br />

News ID 1500<br />

■ Digi-Key and IAR announce global<br />

distribution agreement<br />

Digi-Key and IAR Systems have entered <strong>in</strong>to an<br />

agreement for the distribution of IAR Systems<br />

development tools for embedded systems. IAR<br />

Systems products stocked by Digi-Key <strong>in</strong>clude:<br />

IAR <strong>Embedded</strong> Workbench ‘ a set of<br />

highly sophisticated and easy-to-use development<br />

tools for embedded applications. It <strong>in</strong>tegrates<br />

the IAR C/C++ Compiler, assembler,<br />

l<strong>in</strong>ker, librarian, text editor, project manager,<br />

and C-SPY Debugger <strong>in</strong>to an <strong>in</strong>tegrated development<br />

environment.<br />

News ID 1489<br />

■ Micro Digital: smxUSB 2.0 for<br />

Synopsys USB controllers<br />

Micro Digital announces the port of Micro Digital's<br />

smxUSB 2.0 stacks to the Synopsys DesignWare<br />

USB 2.0 OTG host and device controllers.<br />

This makes available to Synopsys'customers<br />

the full arsenal of Micro Digital USB<br />

products, which <strong>in</strong>clude, on the device side:<br />

audio, <strong>com</strong>posite, Ethernet over USB, mass storage,<br />

mouse, serial, and multiport serial; on the<br />

host side: audio, CDC ACM, HID, Hub, mass<br />

storage, pr<strong>in</strong>ter, RFID, serial, USB to Ethernet,<br />

USB to serial, and WiFi with WEP and WPA.<br />

These products <strong>in</strong>terface with Micro Digital file<br />

system, network<strong>in</strong>g products, and RTOS.<br />

News ID 1563<br />

■ Green Hills enhances Platform for<br />

Industrial Safety<br />

Green Hills has announced major enhancement<br />

to its Platform for Industrial Safety, add<strong>in</strong>g support<br />

for the Green Hills Secure Virtualization Architecture<br />

and expand<strong>in</strong>g the exist<strong>in</strong>g network<strong>in</strong>g,<br />

file system and target hardware options. The<br />

certified INTEGRITY OS technology forms the<br />

core of the Green Hills Platform for Industrial<br />

Safety, a <strong>com</strong>prehensive solution that also <strong>in</strong>cludes<br />

tools, secure guest OS virtualization,<br />

services, and middleware aimed at reliabilitycritical<br />

<strong>in</strong>dustrial control, transportation, railway,<br />

nuclear control and automation systems.<br />

News ID 243<br />

■ HCC: SD card validation test<strong>in</strong>g supports<br />

SafeFAT<br />

SafeFAT, HCC’s failsafe FAT12/16/32 file system,<br />

is now supported by HCC-<strong>Embedded</strong>’s SD card<br />

validation program. Under this program, HCC<br />

ensures that any card that passes the validation<br />

tests is suitable for use with the SafeFAT file system.<br />

SD cards (<strong>in</strong>clud<strong>in</strong>g MMC, SDv2 and<br />

SDHC cards) are hugely successful storage devices;<br />

they are available everywhere.<br />

News ID 428<br />

■ Xil<strong>in</strong>x: PCIe FPGA block achieves<br />

PCI-SIG 1-8 lane <strong>com</strong>pliance<br />

Xil<strong>in</strong>x announces that its newest generation<br />

Virtex-6 FPGA family is <strong>com</strong>pliant with the<br />

PCI Express 2.0 specification, deliver<strong>in</strong>g up to<br />

50 percent lower power than previous generations.<br />

The second-generation PCIe block <strong>in</strong>tegrated<br />

<strong>in</strong> Xil<strong>in</strong>x Virtex-6 FPGAs has passed<br />

PCI-SIG PCI Express version 2.0 <strong>com</strong>pliance<br />

and <strong>in</strong>teroperability test<strong>in</strong>g for 1 to 8-lane configurations.<br />

News ID 1926<br />

■ The MathWorks: tools qualified accord<strong>in</strong>g<br />

to ISO 26262 standard<br />

The MathWorks announces that its Real-Time<br />

Workshop <strong>Embedded</strong> Coder 5.3, PolySpace<br />

Client for C/C++ 7.0.1, and PolySpace Server for<br />

C/C++ 7.0.1 products are qualified accord<strong>in</strong>g to<br />

the ISO/DIS 26262-8 standard. The TÜV SÜD<br />

qualification assessment provides evidence to<br />

automotive eng<strong>in</strong>eers us<strong>in</strong>g Model-Based Design<br />

with def<strong>in</strong>ed verification and validation<br />

measures that the tools are suitable for develop<strong>in</strong>g<br />

safety-related software for ISO 26262.<br />

News ID 427<br />

■ Actel: radiation-tolerant FPGAs for<br />

space-flight systems<br />

Actel announces the availability of RTAX-DSP<br />

prototype FPGAs, enabl<strong>in</strong>g hardware demonstration<br />

and tim<strong>in</strong>g validation of designs targeted<br />

to Actel’s RTAX-DSP space-flight FPGAs.<br />

The RTAX-DSP prototype devices have the<br />

same p<strong>in</strong> assignment, mechanical footpr<strong>in</strong>t and<br />

identical tim<strong>in</strong>g properties across the full military<br />

temperature range as their space-qualified<br />

counterparts. RTAX-DSP space-flight FPGAs<br />

add embedded radiation-tolerant multiplyaccumulate<br />

blocks to the tested and proven <strong>in</strong>dustry-standard<br />

RTAX-S product family.<br />

News ID 368<br />

■ NI: new version of DIAdem <strong>in</strong>cludes<br />

advanced data visualization<br />

National Instruments announces DIAdem 11.1,<br />

a new version of the <strong>in</strong>teractive software for<br />

manag<strong>in</strong>g, analyz<strong>in</strong>g, visualiz<strong>in</strong>g and report<strong>in</strong>g<br />

test data that <strong>in</strong>cludes new features and filter<strong>in</strong>g<br />

capabilities for advanced development and<br />

automated analysis.<br />

News ID 1631<br />

Editors<br />

Jürgen Hübner<br />

phone +49(0)8092-2477413<br />

fax +49(0)8092-2477429<br />

jh@iccmedia.<strong>com</strong><br />

Wolfgang Patelay<br />

wp@iccmedia.<strong>com</strong><br />

PRODUCT NEWS<br />

Tony Devereux<br />

devrex@teyboyz.freeserve.co.uk<br />

For Reader Inquiries and Address Changes<br />

please contact:<br />

<strong>in</strong>fo@iccmedia.<strong>com</strong><br />

Sales & Market<strong>in</strong>g Director<br />

Manfred Blumoser<br />

phone +49(0)8092-2477411<br />

fax +49(0)8092-2477429<br />

mb@iccmedia.<strong>com</strong><br />

Claudia Melle<strong>in</strong><br />

cm@iccmedia.<strong>com</strong><br />

Christiane Lockner<br />

cl@iccmedia.<strong>com</strong><br />

Sales Office - UK and USA, Benelux,<br />

Scand<strong>in</strong>avia<br />

Blue Sky Communications<br />

Malcolm Cameron<br />

Kent Innovation Centre<br />

Thanet Reach Bus<strong>in</strong>ess Park<br />

Millennium Way<br />

Broadstairs Kent CT10 2QQ UK<br />

phone +44 (0)1843 609357<br />

fax +44 (0)1843 609358<br />

mc@blue-sky-<strong>com</strong>munications.<strong>com</strong><br />

Sales Office - Asia<br />

Jean Cheng, jean@i-media.<strong>com</strong>.tw<br />

Vivian Hung, vivian@i-media.<strong>com</strong>.tw<br />

Innovative Media Information & Services<br />

7F-3, No. 26, Sec. 2, M<strong>in</strong>g-Quan East Rd.<br />

Taipei 104 Taiwan<br />

phone +886 2 2563 1186<br />

Head Office<br />

ICC Media GmbH<br />

Rauwagnerstr. 5<br />

85560 Ebersberg / Germany<br />

Editorial Office UK<br />

36a Blackacre Road<br />

Theydon Bois<br />

Essex, CM16 7LU<br />

Copyright© All rights reserved.<br />

No part of this publication may be reproduced or transmitted<br />

<strong>in</strong> any form or by any means without the prior express written<br />

permission of ICC Media.<br />

Although we make every effort to present up-to-date, accurate<br />

<strong>in</strong>formation, boards&solutions will not be responsible for any<br />

errors or omissions or for any results obta<strong>in</strong>ed from the use of<br />

such <strong>in</strong>formation. The magaz<strong>in</strong>e will not be liable for any loss<br />

caused by the reliance on <strong>in</strong>formation obta<strong>in</strong>ed on this site.<br />

Furthermore, ece does not warrant the accuracy or<br />

<strong>com</strong>pleteness of the <strong>in</strong>formation, text, graphics <strong>in</strong> this magaz<strong>in</strong>e.<br />

The op<strong>in</strong>ions expressed <strong>in</strong> the articles are those of the<br />

authors and not necessarily the op<strong>in</strong>ions of the publisher.<br />

37 September 2009


PRODUCT NEWS<br />

■ HCC: embedded USB stacks for<br />

STM32 MCUs<br />

HCC-<strong>Embedded</strong> releases <strong>com</strong>plete embedded<br />

USB Device, Host and OTG stacks for the<br />

STMicroelectronics STM32 range of Cortex-<br />

M3 microcontrollers. The STM32 family of 32bit<br />

microcontrollers is based on the advanced<br />

ARM Cortex-M3 core, which was developed<br />

specifically for embedded applications. The<br />

STM32 family uses the Cortex-M3 architectural<br />

enhancements, <strong>in</strong>clud<strong>in</strong>g the Thumb-2 <strong>in</strong>struction<br />

set.<br />

News ID 131<br />

■ Lauterbach: TRACE32 supports<br />

Fujitsu’s FAMOS RTOS<br />

Lauterbach announces, that its TRACE32 debuggers<br />

support the Real-Time Operat<strong>in</strong>g System<br />

FAMOS of Fujitsu Microelectronics.<br />

FAMOS was developed specifically for the<br />

ARM11 based HDTV decoder chipsets of the<br />

series MB86H6x for set top boxes. The FAMOS<br />

awareness is <strong>in</strong>tegrated immediately <strong>in</strong> all new<br />

TRACE32 software versions for the ARM architecture.<br />

News ID 300<br />

■ SEGGER: middleware and debugg<strong>in</strong>g<br />

support for AT91SAM3U-EK<br />

SEGGER has released middleware and debugg<strong>in</strong>g<br />

products for the AT91SAM3U-EK, Atmel’s<br />

evaluation kit based on the ARM Cortex- M3<br />

based microcontroller AT91SAM3U. SEGGER’s<br />

<strong>com</strong>plete middleware set <strong>in</strong>cludes embOS,<br />

embOS/IP, emW<strong>in</strong>, emFile, emUSB device and<br />

emUSB host. Debugg<strong>in</strong>g solutions <strong>in</strong>clude the<br />

J-L<strong>in</strong>k emulator and the brand new JTrace for<br />

Cortex’M3, which enables <strong>in</strong>struction trac<strong>in</strong>g<br />

via ARM's embedded trace macrocell.<br />

News ID 1657<br />

■ STM: 1.5V op-amps with power-sav<strong>in</strong>g<br />

features<br />

STMicroelectronics has unveiled three new<br />

families of precision op-amps target<strong>in</strong>g lowpower<br />

and portable products, with powersav<strong>in</strong>g<br />

features that <strong>in</strong>clude high-speed performance<br />

at low supply current, operation<br />

from a 1.5V supply, and device-shutdown capability.<br />

Offer<strong>in</strong>g low power consumption,<br />

high bandwidth and good accuracy, the TSV6xx<br />

families serve applications such as portable<br />

medical equipment, <strong>in</strong>strumentation, signalcondition<strong>in</strong>g<br />

systems, sensor <strong>in</strong>terfaces, and active<br />

filter<strong>in</strong>g.<br />

News ID 1444<br />

■ Hitex: programm<strong>in</strong>g solution for<br />

XC2000-based designs<br />

Hitex has launched SpeedFlash-XC, a programm<strong>in</strong>g<br />

solution address<strong>in</strong>g users who will<br />

start the production of their Inf<strong>in</strong>eon 16-bit<br />

microcontroller-based design. SpeedFlash-XC<br />

can be <strong>in</strong>tegrated easily <strong>in</strong> the production environment.<br />

The system allows to connect up to<br />

8 SpeedFlash-XC probes to a needle bed production<br />

equipment via JTAG or DAP.<br />

News ID 1670<br />

■ Green Hills enhances Platform for<br />

Medical Devices<br />

Green Hills announced major enhancements to<br />

its Platform for Medical Devices by add<strong>in</strong>g support<br />

for Secure Guest OS virtualization and expand<strong>in</strong>g<br />

the exist<strong>in</strong>g network<strong>in</strong>g, file system<br />

and target hardware options. The Platform for<br />

Medical Devices significantly reduces the cost<br />

and risk of Class II and Class III medical product<br />

approval while provid<strong>in</strong>g faster time-tomarket<br />

for customers.<br />

News ID 1889<br />

QNX: enhanced support for OMAP35x processors<br />

from TI<br />

QNX Software Systems announces software and<br />

tools support for automotive, <strong>in</strong>dustrial automation,<br />

and consumer device customers creat<strong>in</strong>g<br />

products based on TI OMAP35x processors.<br />

Designed for products that require rich HMI,<br />

multimedia, and audio capabilities, the support<br />

<strong>in</strong>cludes the QNX Neutr<strong>in</strong>o RTOS, the QNX Aviage<br />

Multimedia Suite, the QNX Aviage HMI Suite,<br />

the QNX Aviage Acoustic Process<strong>in</strong>g Suite, and<br />

the QNX CAR reference designs for automotive<br />

<strong>in</strong>fota<strong>in</strong>ment systems and digital clusters.<br />

News ID 1621<br />

■ Microsoft: W<strong>in</strong>dows <strong>Embedded</strong> technology<br />

preview<br />

Microsoft has released the W<strong>in</strong>dows 7-based<br />

W<strong>in</strong>dows <strong>Embedded</strong> Standard 2011 Community<br />

Technology Preview to orig<strong>in</strong>al equipment<br />

manufacturers and developers of specialized devices<br />

worldwide through its immediate public<br />

availability. W<strong>in</strong>dows <strong>Embedded</strong> Standard 2011<br />

delivers the power, familiarity and reliability of<br />

the W<strong>in</strong>dows 7 operat<strong>in</strong>g system <strong>in</strong> a highly<br />

customizable and <strong>com</strong>ponentized form, enabl<strong>in</strong>g<br />

OEMs <strong>in</strong> <strong>in</strong>dustrial automation, enterta<strong>in</strong>ment,<br />

consumer electronics and other<br />

markets to focus on their core <strong>com</strong>petencies<br />

and create product differentiation.<br />

News ID 398<br />

FREE Subscription to boards & solutions magaz<strong>in</strong>e<br />

September 2009 38<br />

Advertisers Index<br />

COMPANY PAGE<br />

AAEON 13<br />

Digi-Key 2<br />

Eurotech Ltd. 31<br />

Express Logic 40<br />

Green Hills Software 5<br />

HCC-<strong>Embedded</strong> 27<br />

Hitex 34<br />

LynuxWorks 9<br />

Mentor Graphics 11<br />

Mesago 35<br />

MSC 3<br />

PEAK-System-Technik 33<br />

Rutronik 19<br />

Toshiba 23<br />

Ensure gett<strong>in</strong>g your personal copy of B&S magaz<strong>in</strong>e free of charge by <strong>com</strong>plett<strong>in</strong>g the onl<strong>in</strong>e form at:<br />

• www.embedded-control-europe.<strong>com</strong>/bs_magaz<strong>in</strong>e


presents<br />

Small form factor <strong>com</strong>put<strong>in</strong>g has evolved from low perform<strong>in</strong>g embedded platforms to robust, standardized<br />

and scalable solutions for a wide spectrum of <strong>in</strong>dustries. And the Intel Atom processors are push<strong>in</strong>g Small<br />

Form Factor Boards even further <strong>in</strong>to new application areas.<br />

Scope of the SFF Boards Virtual Conference<br />

(The content of Virtual Conference is based on a real life conference<br />

which took place recently <strong>in</strong> Munich.)<br />

>> Latest Trends with SFF Boards<br />

>> Overview about Pros and Cons of the different form factors<br />

>> Technologies, Applications, Product & Services<br />

>> Intel Technologies for the <strong>Embedded</strong> Market<br />

Conference Programme<br />

(The Presentations and Videos are archived and therefore available<br />

at any time dur<strong>in</strong>g the whole day)<br />

Keynote<br />

>> Small Form Factor Boards: Overview and Technical Trends<br />

Technology Presentations<br />

>> Intel´s Technology and Technical Trends Outlook<br />

>> <strong>Embedded</strong> Real-Time Virtualization and Partition<strong>in</strong>g<br />

>> Computer-on-Module Overview and Trends<br />

>> S<strong>in</strong>gle Board Computers Overview and Trends<br />

>> Make or Buy<br />

Workshops & Demos<br />

>> Presentations and Demos of x86-based Modules and SBCs<br />

>> Thermal connection of ESMexpress/ESM<strong>in</strong>i to a hous<strong>in</strong>g<br />

>> CoreExpress - the next generation, COM Technology<br />

>> Optimize your Design Cycles by us<strong>in</strong>g COM Technology<br />

>> Conception of COMs and SBCs with latest Intel processors<br />

>> Demo of the Qseven Mobility Starter Kit<br />

Product Presentations<br />

>> Short presentations where boards <strong>com</strong>panies are <strong>in</strong>troduc<strong>in</strong>g<br />

their latest Small Form Factor products, services and strategies<br />

Video Interviews<br />

>> Short Video Interviews with Intel and major Boards Vendors about their<br />

strategies, technologies and product focus <strong>in</strong> the Small Form Factor arena.<br />

REGISTER NOW for FREE ATTENDANCE!<br />

October 8, 2009 – 10h00 to 17h00 CET<br />

(Central <strong>Europe</strong>an Time)<br />

www.sffbvcon.<strong>com</strong><br />

Technology Sponsor<br />

Ma<strong>in</strong> Sponsors


MAKING ONE OF THESE?<br />

...THEN YOU NEED THREADX<br />

ThreadX is Express Logic's small, fast,<br />

T H R<br />

E A<br />

D royalty-free RTOS that powers over<br />

500 million electronic devices, with<br />

millions more produced each month. That's because ThreadX is easy-to-use,<br />

mak<strong>in</strong>g your development job easier and more likely to f<strong>in</strong>ish on time or even<br />

ahead of schedule. Developers of consumer, medical, network<strong>in</strong>g, <strong>in</strong>dustrial,<br />

aerospace, and automotive electronics products rely on ThreadX for their<br />

RTOS. Call today to f<strong>in</strong>d out how ThreadX can help you br<strong>in</strong>g your next<br />

electronic product to market faster. Make it better - make it with ThreadX.<br />

For a free evaluation copy, call one of our <strong>Europe</strong>an<br />

Offices or visit www.rtos.<strong>com</strong><br />

Express<br />

Logic ( (UK) UUK)Ltd<br />

Ltd<br />

4b Empire<br />

Court Cour t<br />

Prospect<br />

Hill<br />

Redditch B97 4DA 4D DA<br />

UK<br />

Tel: Teel:<br />

+44 (0) 152 1527 27 597007<br />

Fax: +44 (0) 1527 15227<br />

597701<br />

Email: <strong>in</strong>fo@expresslogic.co.uk<br />

<strong>in</strong>fo@exprr<br />

esslogic.co.uk<br />

Express<br />

Logic GmbH G GmbH<br />

Hanover Office:<br />

Am Saegewerk 2a<br />

D-29308 DD-29308 29308 W WW<strong>in</strong>sen<br />

<strong>in</strong>se en<br />

Germany<br />

Tel: Teel:<br />

+49 5143 911-303 9<br />

Fax: +49 5143 911-305<br />

Email <strong>in</strong>fo@expresslogic.de<br />

Express<br />

Logic<br />

GGmbH<br />

mmbH<br />

Munich Office:<br />

Eichbaumstr<br />

Eichbaumstr. .80 80<br />

DD-85635 D-85635 85635 Sieger Siegertsbrunn ts sbr unn<br />

Ger Germany many<br />

Te Tel: el: +49 8102 78 784-5865 84-5865<br />

Fax: +49 8102 78 784-5866 84-5866<br />

Email: sales@exp sales@expresslogic.de<br />

resslogic.de<br />

• Small S Small<br />

footpr<strong>in</strong>t<br />

• Low LLow<br />

over overhead head<br />

• Full F Full<br />

source<br />

code<br />

• Easy-to-use<br />

E Easy-to-use<br />

• Field-proven<br />

F Field-proven<br />

• Low L cost<br />

• Royalty-free<br />

R Royalty-free<br />

Copyright © 2008, Expr Express ess Logic, , Inc.<br />

ThreadX Thr readX<br />

is a rregistered<br />

egistered<br />

trademark of Ex Express xpress<br />

Logic, Inc. All other trademarks trademar rks are<br />

the property<br />

of their respective<br />

owners.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!