Sei sulla pagina 1di 60

Firmware

FEBBRAIO 2011 L’OFFERTA


FUJITSU PER
CORETX-M3

SVILUPPO DI
APPLICAZIONI
PER ARM
CON LABVIEW

LA FAMIGLIA
LPC4000
DI NXP

ARCHITETTURE ARM
Freescale - microcontrollori
Firmware FEBBRAIO 2011

ARM o non ARM? EDITORIALE


Programmazione
4 TIPS’n tricks

questo è il problema... E’ vero che i


microcontrollori ad 8 bit 8 News
ancora oggi sono
impiegati in numerosissime applicazioni. Per le loro ridotte dimensioni e il FOCUS on
loro basso costo, sono spesso utilizzati per svolgere task ben definiti 10 Microprocessori ARM NXP
all’interno di progetti molto ampi o vengono impiegati come glue-logic
ovvero come punto di contatto tra diversi sottosistemi. Nonostante la vita SKILLs
degli 8 bit sia ancora lunga, si intravede una minaccia all’orizzonte: gli ARM. 15 Programmazione multicore

Anche se l’architettura ARM è molti più complessa, l’evoluzione delle 21 MCU basate su
tecnologie costruttive ha ridotto costi e dimensioni al punto tale da essere ARM Cortex-M3

confrontate con quelli dei microcontrollori a 8 bit, ma con il vantaggio di una 24 Micro a 8-bit o ARM?
maggiore ottimizzazione ed una maggiore portabilità del codice. Questo
29 Guida al porting
numero è interamente dedicato agli ARM, alle loro caratteristiche, i loro di LabVIEW Embedded per ARM
impieghi ed al confronto con i micro a 8 bit in modo da fornirvi tutte le
informazioni necessarie a determinare il vostro criterio di scelta per il INside
La sempre più prepotente
prossimo progetto: ARM o microcontrollore a 8 bit? 37 DSP high-performance
diffusione di sistemi multicore
pone in evidenza il problema di
TOOLS
Microprocessori una programmazione dedicata,
la domanda è: sarà facile o
41 Embedded PC

difficile scrivere software per SPOTlight


sistemi multicore? 46 ZigBee facile

Proviamo a rispondere.
ANALOG
48 L’impiego
dei convertitori DAC

52 Progettazione secondo
normative (parte seconda)
Le caratteristiche dei microprocessori ARM; in particolare Diventa fan di Firmware
ci soffermeremo su quelli della NXP Semiconductors su Facebook!
60 EVENTS zapping
pio, elenca 14 famiglie diverse con 4

Traslatori di Livello tensioni di alimentazioni nominali, tra


1,8V e 5V. La presenza di famiglie di-
verse e la necessità di mantenere l’inte-
roperabilità con le apparecchiature pree-
sistenti, ha promosso la nascita di
componenti di interfaccia tra i mondi ad
alimentazione diversa. Già la famiglia
Interfacce digitali nella Babele valenti alle TTL disponibili, ma con con- funzionalmente compatibili, spesso pin- CMOS 4000 comprendeva alcuni com-
delle tensioni di alimentazione sumi molto inferiori e tensioni di alimenta- to-pin, ma con tensioni di alimentazione ponenti usabili come interfacce con gli
zione che andavano da circa 4V a 18V (20V sempre più basse. Oggi sembra di poter allora onnipresenti TTL. Tipici casi di
dei moderni circuiti logici
offerti da alcuni costruttori). La velocità dire che il limite reale nell’integrazione di circuiterie logiche funzionanti ad ali-
di MARIO ROTIGNI era inizialmente assai inferiore rispetto al- funzioni su silicio non sia tanto imposto mentazioni diverse sono oggi connes-
le famiglie TTL ma i vantaggi in termini di direttamente dalle tecnologie di fabbri- sioni tra i microprocessori o FPGA delle
erano una volta i Circuiti Logici
C’ TTL, realizzati completamente con
transistor bipolari. All’epoca, parliamo
consumi ed immunità alle interferenze ne
consentivano l’uso in molte applicazioni. La
cazione di strutture sempre più piccole,
quanto dalla dissipazione del calore ge-
ultime generazioni e chipset o periferiche
parallele a bassa velocità oppure seria-
spinta, che continua ancora oggi, verso nerato e dal costo dei processi di diffu- li quali I2C, SMBus. Si possono trovare
degli anni ’60, dire “circuito logico” im- maggiore velocità, maggiore integrazione e sione. Oggi sono disponibili molte di- anche necessità di interfacce di segna-
plicava avere a che fare con compo- consumi sempre più bassi, generarono un verse famiglie logiche. La brochure li di controllo, come POWER-OK, verso la
nenti a bassa e media integrazione, con proliferare di famiglie di circuiti logici CMOS Philips Logic Family Guide, ad esem- logica, con esigenze limitate in velocità
consumi relativamente alti (visti con oc-
oppure anche bus paralleli funzionanti a
chi moderni) e tensioni di alimentazioni
qualche centinaio di megahertz. Altra
nominali invariabilmente pari a 5.1V. Esi-
importante funzione da realizzare è la
steva un’altra tecnologia con velocità e
protezione da ESD dei circuiti integrati a
consumi maggiori, ancora basata su bi-
polari, chiamata ECL (Emitter Coupled bassa tensione.
Logic). In questo caso la tensione di ali- Essendo realizzati in tecnologie sub-mi-
mentazione era negativa e pari a -5.2V. crometriche, questi rischiano di essere
La ricerca di minori consumi condusse più facilmente danneggiati da scariche
alla diffusione della tecnologia MOS e poi elettrostatiche ed integrare le opportune
CMOS. Inizialmente venne introdotta la protezioni nei traslatori di livello si rive-
famiglia logica 4000 con funzioni equi- Figura 1: Interfaccia bidirezionale a due linee (da Philips AN10145).  la quindi conveniente.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


plicazione. Il calcolo dei tempi di pro-
pagazione è spiegato nell’application
note a pag. 8. Esistono componenti fun-
CIRCUITI INTEGRATI GTL-TVC
zionalmente equivalenti, anche se rea-
La famiglia di traslatori bidirezionali GTL- lizzati in tecnologia CMOS, nella famiglia
TVC di NXP (ex Philips Semiconduc- TVC di Texas Instruments.
tors), tra le altre, copre con vari compo-
nenti molte delle necessità di interfaccia CIRCUITI INTEGRATI 5V
cui si è accennato. L’Application Note TOLERANT LOGIC
"AN10145 Bi- directional low voltage Un modo semplice per ottenere l’inter-
translators GTL" presenta nel dettaglio Figura 2: Struttura interna del dispositivo Figura 4: Tipico schema di applicazione di facciamento tra logiche ad alta tensione
schemi e precauzioni da adottare nel- (da Philips AN10145). componenti IsoLoop (da NVE Application (fino a 5V) e logiche a bassa tensione,
l’uso dei componenti della famiglia. I Bulletin 20). consiste nell’uso di famiglie quali LVX
componenti Gunning Transceiver Logic ed LVT, che tollerano sugli ingressi ten-
Translator Volta Clamp (da cui GTL-LVC), l’Application Note che le connessioni sioni superiori all’alimentazione, in par-
sono sostanzialmente arrays di transi- sono molto semplici, massa, tensione ticolare sono garantiti essere 5V tole-
stori NMOS con il gate in comune. Essi di pilotaggio delle gate, connessioni di un rant. Traslatori 5V -> 1,8V sono cosi
realizzano le funzioni di traslazione di trasnsistor di riferimento e le coppie semplicemente realizzabili ad esempio
livello tra tensioni di ingresso comprese Dn/Sn, input ed output del traslatore di li- usando le funzioni inverter delle fami-
nella gamma 1V e 5.5V verso tensioni velli. Il routing del pcb è semplificato glie citate.
di uscita pure comprese tra 1V e 5.5V e dal fatto che qualsiasi transistor è usabile
sono inoltre in grado di limitare (clamp) la come riferimento, inoltre Drain e Source OPTOISOLATORI
tensione trasmessa in uscita e limitare di ogni coppia sono affacciati sui lati op- Applicazioni a bassa velocità possono
l’energia trasmessa a valle in caso di posti del package. Non c’è alcun se- anche servirsi di traslatori di livelli rea-
Figura 3: Tipico schema di applicazione
ESD. La connessione è sostanzialmente gnale di controllo che stabilisca la dire- lizzati con optoisolatori, vedi figura 3. Le
di optoisolatori (da NVE Application
quella tipica di pass transistors. Quando zione del flusso dati. Trattandosi inoltre frequenze massime raggiungibili con
Bulletin 20).
i dispositivi lavorano come traslatori di li- di un circuito passivo, praticamente un componenti a transistor o darlington so-
vello, i gate sono tenuti ad una tensione al lato a tensione minore, con un margi- array di transistori NMOS, non è richiesta no limitate a poche decine di kilohertz
di alimentazione almeno 1,5V maggiore ne di sicurezza. La conversione di livel- una alimentazione sul package, essendo ma possono salire fino a qualche me-
della tensione di polarizzazione del pin lo può essere bidirezionale, in questo questa gestita a livello board. Non aven- gahertz usando optoisolatori integranti
Reference Source (vedi figura 1). I di- caso lavoriamo da ambo i lati con open do un driver attivo che separa ingresso funzioni logiche ed appositamente pro-
spositivi potranno quindi lavorare co- collector. I pull-up necessari in tale con- da uscita, diventa impossibile isolare la gettati per applicazioni digitali.
me traslatori tra logiche ad 1,8V e logiche figurazione, per limitare le correnti mas- capacità di carico dall’ingresso. Que-
a 3,3V, ma non come traslatori tra 1,8V e sime circolanti nei pass transistor, an- sto fa si che i tempi di propagazione COMPONENTI ISOLOOP
2,5V. Questo requisito della tensione di dranno calcolate in funzione della non siano completamente definibili a NVE Corporation ha sviluppato una sua
gate è necessario per garantire che non tensione di lavoro, con le formule forni- priori ma vadano calcolati in funzione famiglia di isolatori digitali chiamati Iso-
vi sia degrado nel livello alto trasmesso te nell’Application Note. Notiamo nel- del carico specifico di ogni linea in ap- Loop, valida alternativa agli optoisola-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Digikey - Distribuzione componenti elettronici

Varie famiglie di componenti sono di-


sponibili, offrendo fino a cinque canali
completamente isolati gli uni dagli altri
e componenti in grado di realizzare in-
tori. I componenti IsoLoop sono basati terfacce isolate per quasi tutti i proto-
sull’effetto GMR (Giant Magneto Resi- colli seriali e bus di uso comune in au-
stive), i cui scopritori hanno vinto il Pre- tomazione. Il sito web NVE contiene un
mio Nobel per la Fisica nel 2007. GMR interessante “Isolator Application Cen-
risulta in un’ampia variazione di resi- ter” che indirizza verso la famiglia più
stenza elettrica in film sottili di materiali adatta in funzione del campo applicativo
artificiali, sottoposti a campi magnetici. ed offre supporto sottoforma di una
I grandi vantaggi verso altre tecnologie ventina di Application Notes. I campi
di isolamento consistono nell’ampio applicativi previsti comprendono iso-
segnale ricavabile e nella compatibilità lamento di ingressi/uscite digitali, in-
con la tecnologia dei circuiti integrati. Le terfacce isolate I2C, I2S, SPI, RS232,
caratteristiche principali che li rendono bus isolati RS422, RS485, USB, PRO-
vantaggiosamente competitivi con gli FIBUS e CAN. Le note applicative de-
optoisolatori sono: scrivono in dettaglio il principio di fun-
• Dimensioni molto ridotte. zionamento, gli standard secondo cui i
• Elevata velocità, fino a 150 Mbit/sec componenti sono qualificati, le prove
• Bassa distorsione dell’impulso tra- cui sono sottoposti.
smesso. Le applicazioni proposte per isolatori lo-
• Elevata reiezione di modo comune. gici in senso stretto comprendono la
traslazione di livello tra famiglie logi-
• Ampia gamma di tensioni di alimen-
che diverse, l’efficace isolamento delle
tazione.
sezioni digitali di convertitori ADC, sta-
• Ampia gamma di temperatura opera-
di di ingresso per PLC, riduzione di ru-
tiva, -55 °C … 125 °C.
more in sistemi audio digitali, efficiente
• Ottime caratteristiche EMC, in parti-
pilotaggio di MOSFET in applicazioni
colare ottima immunità.
di potenza grazie ai ridotti tempi di
• Elevata tensione di isolamento in- commutazione. Potendo lavorare con
gresso/uscita (2500 V) ma anche cana- segnali in ingresso a partire da 1,6V,
le/canale (800 V.). questi interessanti componenti posso-
• Elevata tensione sopportabile per pe- no trovare applicazione anche come
riodi indeterminati, senza degradazione traslatori di livello. Un possibile pro-
di affidabilità. blema è l’assenza al momento di una
• Costo competitivo con le soluzioni seconda sorgente.
alternative. Codice MIP 2801116

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


PRODUCT NEWS Da RF a digitale
Ricevitori µModule da RF a digitale riducono le dimensioni, il costo
e il time-to-market dei progetti delle stazioni base

Linear Technology presenta


l’LTM9004 e l’LTM9005, due
ricevitori µModule® da RF a
digitale che integrano i principali componenti richiesti
dai ricevitori di stazioni radio base 3G/4G (WCDMA, TD-
SCDMA, LTE, ecc.) e dalle stazioni radio base WiMAX
con antenne intelligenti. I ricevitori µModule consentono
una significativa riduzione dello spazio occupato
sulla scheda, integrando mixer/demodulatore RF,
amplificatori, filtri passivi e convertitori analogico-digitali
(ADC) a 14 bit da 125 Msps in un package compatto
e conveniente. L’LTM9004 implementa un’architettura a
conversione diretta con un demodulatore I/Q, un filtro
passa-basso e un ADC a due canali. L’LTM9005 si basa
invece su un’architettura di campionatura IF con un I ricevitori completi µModule® semplificano la progettazione
segnale viene demodulato nel dominio digitale. Il filtraggio
mixer downconverter, un filtro SAW e un ADC singolo.
L’elevato livello di integrazione consente di ridurre le del segnale a 20 MHz viene eseguito con un filtro SAW delle Base Station
dimensioni della scheda e supporta sistemi a più canali, (Surface Acoustical Wave) integrato nell’LTM9005. Sono
risolvendo i problemi di separazione/indirizzamento dei disponibili altre larghezze di banda del filtro. I ricevitori µModule LTM®9004 (conversione diretta) e LTM9005 (campionamento-IF) offrono un’integrazione senza precedenti
segnali e riducendo i tempi di progettazione e debug. L’LTM9004 e l’LTM9005 sono forniti in un package LGA per Base Station più piccole con minor consumo di potenza e un time-to-market più rapido. Integrando stadi di guadagno,
Questi ricevitori sono il frutto di anni di esperienza nella da 22 × 15 mm con un substrato a più livelli che protegge filtraggio del segnale RF e ADC ad alta velocità, questi ricevitori riducono il tempo e il lavoro necessari per ottimizzare il design
progettazione di catene di segnale e offrono questa le linee analogiche sensibili dalle tracce digitali per ridurre e il layout e comportano un minor numero di componenti da trovare per realizzare sistemi di comunicazione altamente performanti.
funzionalità in un package µModule da 22 x 15 mm al minimo il feedback digitale. La capacità di bypass Sono in grado di supportare macrocelle ad alta densità e con elevato numero di canali, così come unità RRH (remote radio heads),
semplice da utilizzare. di alimentazione e riferimento è integrata nel package senza compromessi in termini di prestazioni.
I provider di servizi cellulari si stanno impegnando per µModule, accoppiata al die, e assicura una soluzione
cercare di ridurre le spese in conto capitale e quelle compatta, ad alte prestazioni e più conveniente rispetto
ai package tradizionali.
Caratteristiche Scheda demo LTM9004 Info e campioni gratuiti
operative. Il supporto oggi richiede base station più
piccole, più leggere e con meno potenza, come ad • Ricevitori RF-digitali completamente www.linear.com/9004
integrati Tel.: +39-039-596 50 80
esempio le unità RRH (Remote Radio Heads) che
Riepilogo delle caratteristiche: • ADC a bassa potenza a 14 bit e 125Msps Fax: +39-039-596 50 90
possono essere montate sulla torre con l’antenna; base
LTM9004 e LTM9005 • Architettura a conversione diretta
station macrocella ad alta densità, con un elevato numero (LTM9004)
di canali, maggiore efficienza e l’uso di piccoli ripetitori - Range ingresso RF da 800MHz a 2,7GHz
digitali. I ricevitori µModule soddisfano queste tendenze • Ricevitori RF-digitale completamente integrati - Demodulazione I/Q e ADC velocità
per applicazioni con stazioni base veloci duali
in modo diretto. Utilizzando solo il 25% dell’area sulla Brochure gratuita
• ADC a basso consumo a 14 bit e 125 Msps - Alimentazione a 5V e 3V, consumo di soluzioni wireless
scheda discreta, l’LTM9004 e l’LTM9005 consentono di corrente totale 1,8W
risparmiare spazio e riducono anche il tempo e il lavoro • Architettura a conversione diretta (LTM9004) • Architettura di campionamento-IF
necessari per ottimizzare il design e il layout di decine di a. Range ingresso RF da 800 MHz a 2,7 GHz (LTM9005)
- Range ingresso RF da 400MHz a 3,8GHz www.linear.com/wireless
componenti ad alta frequenza. Questo comporta costi b. Demodulazione I/Q e ADC a doppia velocità
di sviluppo inferiori, un minor numero di componenti c. LPF con accoppiamento DC, guadagno - Filtro SAW da 20MHz, IF da 140MHz
fisso, cut-off fisso - Alimentazione a 3,3V, consumo di
da scegliere e gestire in BOM e un time to market più
corrente totale 1,3W , LT, LTC, LTM, Linear Technology, il logo Linear e µModule
rapido. d. Alimentazione a 5 V e 3 V, consumo di sono marchi registrati di Linear Technology Corporation.
• Package LGA da 22 x 15mm Tutti gli altri marchi sono di proprietà dei rispettivi titolari.
Sono due le architetture dei ricevitori prevalenti nel corrente totale di 1,8 W
design delle stazioni base: conversione diretta e • Architettura di campionamento IF (LTM9005)
campionamento IF. La conversione diretta demodula il a. Range ingresso RF da 400 MHz a 3,8 GHz
segnale RF e lo converte in DC (0 MHz nel dominio della b. Range continuo di attenuazione da 20 dB
frequenza). Ciò semplifica il filtro e consente l’uso di filtri c. Filtro SAW da 20 MHz, IF da 140 MHz
passa-basso con una frequenza di cut-off di 10 MHz d. Alimentazione a 3,3 V, consumo di corrente
(larghezza di banda sul segnale di 20 MHz). L’LTM9004 totale 1,3 W
implementa questa architettura. Sono disponibili diverse • Package LGA da 22 x 15 mm
opzioni per larghezze di banda del segnale diverse. Il
campionamento IF esegue la conversione in una Distributori
Arrow +39-02-661251
frequenza intermedia (IF), in questo caso 140 MHz, e il Per ulteriori info: www.linear.com/9004 Linear Technology Italy Srl +39-039-5965080 Farnell Italia +39-02-93995200
National instruments - labview

Tektronix presenta un nuova gamma


di oscilloscopi
Tektronix, il produttore di oscilloscopi leader nel mondo,
annuncia oggi una significativa espansione della sua
offerta, introducendo una nuova “piattaforma” di
oscilloscopi per segnali misti: la Serie MSO/DPO5000.
Tektronix svela anche le nuove e rivoluzionarie sonde
passive a larga banda e bassa capacità, per misure di tensione, che offrono delle prestazioni tali da
segnare una vera e propria “svolta” tecnologica. Considerati assieme, i nuovi strumenti e le nuove
sonde mettono a disposizione dei progettisti di sistemi integrati, o “embedded” che dir si voglia,
prestazioni impareggiabili ed efficaci strumenti di analisi per le attività di verifica, “debug” e
validazione, il tutto a livelli di prezzo estremamente competitivi.
www.tektronix.com

Tre nuovi Simple Switcher


da National Semiconductor
National Semiconductor Corp. ha annunciato l’introduzione di tre nuovi moduli di potenza della famiglia
SIMPLE SWITCHER: si tratta dei primi componenti esplicitamente ideati per applicazioni caratterizzate
da elevate tensioni di uscita che possono essere utilizzati nei più diversi settori, compresi quelli
industriale, medicale, dei sistemi di comunicazione e aereonautico. Di uso semplicissimo, i nuovi
LMZ14201H, LMZ14202H e LMZ14203H abbinano l’efficienza di un regolatore a commutazione sincrono
alla semplicità di un regolatore lineare, eliminando il ricorso a un induttore esterno e le complesse
problematiche legate alla stesura del layout tipiche di questi progetti. LMZ14201H, LMZ14202H e
LMZ14203H accettano una tensione di ingresso
compresa tra 6 e 42V e forniscono una tensione di
uscita più bassa di quella in ingresso regolabile e
molto accurata, da 5V a 24V. La possibilità di regolare
la frequenza di commutazione con un singolo resistore
conferisce maggiore flessibilità in fase di progetto.
www.national.com

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Mathworks - simulink

Nuovi microcontrollori dual core


Cortex-M4 e M0 di NXP
NXP Semiconductors N.V. ha presentato la famiglia LPC4000, la prima architettura di
controller dual-core asimmetrici dei segnali digitali al mondo che incorpora i processori
ARM Cortex-M4 e Cortex-M0. La famiglia di controller LPC4000 offre tutti i vantaggi
derivanti dalla possibilità di sviluppare applicazioni DSP e MCU all’interno di un’unica
architettura e di un solo ambiente di sviluppo. Grazie alla sua architettura dual-core e a
un set di esclusive periferiche
configurabili, la famiglia di controller
LPC4000 facilita lo sviluppo di un’ampia
gamma di applicazioni quali controllo
motore, sistemi di gestione
dell’alimentazione, dispositivi di
automazione industriale sistemi robotici, apparecchiature medicali, accessori per il
settore automotive e dispositivi audio embedded. “L’architettura LPC4000 non è
semplicemente un’altra “incarnazione” del processore Cortex-M4, ma introduce
l’elaborazione multi-core nei microcontrollori e nelle applicazioni DSP”, ha affermato
Geoff Lees, Vice President e General Manager, Microcontroller Product Line di NXP
Semiconductors. “Non meno importante è però la disponibilità di periferiche configurabili
che consentono agli utenti LPC4000 di ridurre il numero di component ASIC esterni”. I
progettisti di microcontrollori alla ricerca di metodi più efficienti per gestire algoritmi
matematici complessi e i designer di DSP non disposti a sottostare alle limitazioni
imposte dalle periferiche beneficeranno in eguale misura dell’esclusiva architettura che
caratterizza la famiglia di controller LPC4000. Questi sistemi sono ideali anche per i
progettisti che desiderano effettuare l’upgrade da un processore DSC esistente.

www.nxp.com/microcontrollers

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Microprocessori

di MAURIZIO DI PAOLO EMILIO architettura ARM (precedentemente

Vediamo le caratteristiche
L’ Advanced RISC Machine, prima
ancora Acorn RISC Machine) indica una
dei microprocessori ARM. famiglia di microprocessori RISC a 32-
In particolare ci soffermeremo bit utilizzata in una moltitudine di si-
stemi embedded (figura 1). Grazie alle
su quelli della NXP
sue caratteristiche di basso consumo
Semiconductors (rapportato alle prestazioni) l’architettura
ARM domina il settore dei dispositivi
mobili dove il risparmio energetico del-
le batterie è fondamentale. Attualmen-
te la famiglia ARM copre il 75% del
mercato mondiale dei processori a 32
bit per applicazioni embedded ed è una
delle più diffuse architetture a 32 bit
del mondo. I processori ARM vengono
utilizzati in PDA, cellulari, lettori multi-
mediali, videogiochi portatili e periferi-
che per computer. Importanti rami del-
la famiglia ARM sono i processori
XScale e i processori OMAP prodotti
da Texas Instruments. I dispositivi ARM
presentano un’architettura RISC ‘load
and store’ per parole di 16 e 32 bit, un
set di istruzioni ortogonali, 37 registri di
interi a 32-bit (6 registri di stato e 31 di

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


uso generale) e 7 modi di operare (USR, ARM DELLA NXP
FIQ, IRQ, SVC, ABT, SYS, UND). La novità annunciata da NXP nel 2009 è
Una caratteristica curiosa dei processori costituita dalla prima implementazio-
ARM è che, con il tempo, il set di istru- ne dell’architettura Cortex-M0, che si
zioni incrementa. I primi processori caratterizza per le piccole dimensioni e
ARM (prima dell’ARM7TDMI) per esem- la semplicità, doti che si traducono in
pio non avevano istruzioni per caricare consumi bassi, alte prestazioni e facili-
quantità a due bit. E quindi non erano in tà di programmazione. Nell’implemen-
grado di gestire direttamente tipi di da- tazione realizzata da NXP con il dispo-
ti corti. I primi processori ARM di largo sitivo LPC1100, la riduzione dei consumi
consumo come gli ARM7 erano basati è ottenuta anche tramite un largo ri-
su un disegno con pipeline a 3 stadi: corso alla modalità sleep, che deter-
fetch, decode e execute. I processori mina un assorbimento medio di cor-
più moderni, come l’ARM11, per incre- rente inferiore a quello dei micro a 16
mentare le prestazioni, sono passati a bit. A ciò contribuisce anche l’alta ve-
pipeline a 5 stadi. Altri cambiamenti locità di elaborazione: dopo aver com-
per incrementare le prestazioni inclu- pletato rapidamente il proprio compito,
dono un sommatore veloce e un sistema il dispositivo può infatti rimettersi subito
di predizione dei salti. Altra interes- “a dormire”. L’architettura Cortex-M0
santissima caratteristica dei processo- Figura 1: si caratterizza inoltre per varie parti-
ri ARM riguarda le instrunction set pre- microprocessore colarità che facilitano la programma-
senti. Oltre al nativo ARM a 32 bit ne ARM.  zione: le routine degli interrupt possono
esistono altri due molto interessanti: il essere codificate in C, i trasferimenti
Thumb e il Jazelle. Il codice Thumb, con 32 bit spesso si utilizzano indiriz- famiglie successive (incluso gli XScale) di dati a 8, 16 e 32 bit sono ottenuti
avente istruzioni di 16 bit, è più leggero zamenti a 16 bit o simili. In queste si- sono dotati di Thumb. Il codice Jazelle tramite singole istruzioni, il numero del-
del classico ARM ma è dotato di meno tuazioni conviene creare codice Thumb permette al processore di eseguire il le istruzioni assembler è limitato a ses-
funzionalità. Per esempio solo i salti per la maggior parte del programma e Java byte code in modo nativo. Questa santa ecc. Tutta la complessità tipica
possono essere condizionati e alcuni ottimizzare le parti di codice che ri- tecnologia è totalmente compatibile dei 32 bit, inoltre, è stata eliminata. Il
opcode non possono essere utilizzati da chiedono molta potenza di calcolo uti- con il codice ARM standard e il Thumb. chip impiega un core semplificato fun-
tutte le istruzioni. Nonostante queste lizzando il set di istruzioni completo. Il primo processore dotato di Jazelle è zionante a 50 MHz ed è dotato di DAC a
limitazioni, nel caso di sistemi dotati Esistono anche due varianti del codice stato l’ARM926J-S, utilizzato sui telefoni 10 bit, una sofisticata unità per la ge-
di limitata larghezza di banda verso la Thumb: il Thumb-2 il quale contiene cellulari per velocizzare l’esecuzione stione dell’alimentazione, un clock in
memoria, il Thumb fornisce prestazioni particolari istruzioni a 32 bit, e il Thumb- del software e dei giochi Java. Il Ja- tempo reale realizzato in hardware che
migliori del set di istruzioni completo. 2EE specificamente progettato per ge- zelle aumenta per oltre il 95% le pre- non richiede aggiornamenti periodici
Molti sistemi embedded sono dotati di stire codice per applicazioni real time. Il stazioni del codice java supportando in modalità sleep. Attualmente NXP Se-
un bus verso la memoria limitato e seb- primo processore dotato di Thumb è 140 istruzioni java ed emulando le re- miconductors (figura 2) ha presentato
bene il processore possa indirizzare stato l’ARM7TDMI. Tutti gli ARM9 e le stanti 94 con routine ARM. la famiglia LPC4000, la prima architet-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Farnell - Distribuzione componenti elettronici

crocontrollori alla ricerca di metodi più


efficienti per gestire algoritmi matema-
tici complessi e i designer di DSP non
disposti a sottostare alle limitazioni im-
poste dalle periferiche beneficeranno
in eguale misura dell’esclusiva archi-
tettura che caratterizza la famiglia di
controller LPC4000. Questi sistemi so-
no ideali anche per i progettisti che de-
siderano effettuare l’upgrade da un pro-
cessore DSC esistente. La famiglia NXP
LPC4000 comprende i seguenti ele-
menti:
• Processore Cortex-M4
Il processore Cortex-M4 unisce i van-
taggi tipici di un microcontrollore, ov-
Figura 2: Cortex A15.  vero controllo integrato degli interrupt,
low power mode, bassi costi di debug-
tura di controller dual-core asimmetrici
ging e facilità d’impiego, con funzio-
dei segnali digitali al mondo che incor-
nalità DSP avanzate quali MAC single-
pora i processori ARM Cortex-M4 e cycle, tecniche SIMD (Single Instruction
Cortex-M0. La famiglia di controller Multiple Data), aritmetica saturata e
LPC4000 offre tutti i vantaggi derivanti unità di calcolo in virgola mobile (FPU,
dalla possibilità di sviluppare applica- Floating Point Unit).
zioni DSP e MCU all’interno di un’unica •Architettura di memoria ottimizzata
architettura e di un solo ambiente di La famiglia di controller LPC4000 è ba-
sviluppo. Grazie alla sua architettura sata su un’architettura Flash con ac-
dual-core e a un set di esclusive peri- cesso a 256 bit che riduce i consumi di
feriche configurabili, la famiglia di con- corrente attraverso fetch di memoria
troller LPC4000 facilita lo sviluppo di ridotti al minimo, ottimizzando nel con-
un’ampia gamma di applicazioni quali tempo le performance del processore
controllo motore, sistemi di gestione Cortex-M4. I controller LPC4000 adot-
dell’alimentazione, dispositivi di auto- tano un’architettura dual bank che for-
mazione industriale sistemi robotici, nisce fino a 1MB di Flash per la ripro-
apparecchiature medicali, accessori grammazione e il partizionamento
per il settore automotive e dispositivi flessibile della memoria in totale sicu-
audio embedded. I progettisti di mi- rezza. I dispositivi LPC4000 offrono

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


inoltre 264 KB di SRAM, il valore più un controller Ethernet 10/100T con cal-
elevato di qualunque microcontrollore colo del checksum TCP/IP via hardware
Cortex-M. e un controller LCD a colori ad alta riso-
•Co-processore Cortex-M0. luzione.
Un sottosistema di elaborazione Cortex-
M0 effettua in larga misura le opera- FUNZIONALITÀ STANDARD
zioni di gestione dati e I/O che possono Tra le funzionalità standard comuni a tut-
consumare preziosa capacità compu- ti i componenti della famiglia LPC4000 fi-
tazionale del core Cortex-M4. In questo gurano 32 KB di ROM contenente boot
modo il core può dedicarsi integral- code e driver software on-chip, critto-
mente al supporto delle applicazioni di grafia AES-128 (soltanto su alcuni com-
elaborazione dei segnali digitali. La di- ponenti della famiglia), controller GPDMA
sponibilità di una piattaforma dual-co- (General-Purpose DMA) a otto canali,
re asimmetrica offre agli sviluppatori i due ADC a 10 bit e un DAC a 10 bit con
vantaggi - in termini di consumi, costi e rate di conversione dati di 400k sam-
complessità minori-che sono propri di ple/s, una unità controllo motore PWM ed
una soluzione basata su chip unico, interfaccia per encoder in quadratura, 4
permettendo di partizionare più facil- UART, 2 interfacce I2C Fast-mode Plus,
mente il software. interfaccia I2S, 2 interfacce SSP/SPI,
un’interfaccia smart card, 4 timer, un wat-
ESCLUSIVE PERIFERICHE chdog timer “windowed”, un alarm ti-
CONFIGURABILI mer, un RTC ultra-low power con 256 by-
Le esclusive periferiche configurabili te di register di backup alimentato a
NXP disponibili sulla famiglia di control- batteria e fino a 146 pin I/O general pur-
ler LPC4000 includono uno State Confi- pose.
gurable Timer, una Interfaccia SPI se-
riale (SPIFI) e una Serial GPIO Interface. SVILUPPI FUTURI DEL ARM
Il State Configurable Timer Subsystem è ARM (figura 2 e 4) ha presentato l’ar-
composta da un array di timers e da una chitettura multi-core Cortex A15 (Ea-
macchina a stati che supporta funzio- Figura 3: ARM della NXP LPC4000.  gle), in grado di lavorare fino a una fre-
nalità complesse quali generazione di quenza 2,5 GHz in configurazione
forme d’onda PWM pilotate da eventi, produttore di flash seriali attualmente pure di emulare molteplici interfacce se- quad-core, ma saranno possibili anche
sincronizzazione ADC e controllo dead- sul mercato. La Serial GPIO Interface di riali standard (quali I2S, TDM per l’audio soluzioni a 8/16 core a seconda del-
time. L’interfaccia SPI seriale SPIFI for- NXP, disponibile per la prima volta sulla multicanale, I2C e altre). Altre periferi- l’ambito in cui verranno implementati i
nisce una connessione trasparente me- famiglia LPC4000, offre agli sviluppato- che disponibili su alcuni componenti del- chip. Secondo l’azienda il nuovo sy-
mory-mapped ad alta velocità ri la possibilità di collegarsi con qualun- la famiglia LPC4000 comprendono due stem on chip è cinque volte più poten-
compatibile con SPI e quad-SPI di ogni que interfaccia seriale non standard op- controller HS USB, un HS PHY on-chip, te di dual-core Cortex A8 a 1 GHz. Al

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


RS components - design spark

Figura 4: performance. 

centro dei questa architettura c’è Amba la per gli home server tra 1,5 e 2,5 GHz
4, bus integrato nel chip che permette a in versione quad-core. La differenza è
cluster di quattro core di comunicare tra chiaramente dovuta ai limiti di consumo
loro. L’architettura integrerà diversi mi- imposti dagli smartphone. ARM a tal
glioramenti nell’ambito della virtualiz- proposito non ha comunicato dati. Al-
zazione e nella gestione della memoria. cuni dirigenti si sono limitati a dire che
I possessori di smartphone potranno A15 avrà “un’impronta energetica com-
così passare, se lo vorranno, tra due
parabile a quella degli attuali design”.
ambienti operativi, uno casalingo e uno
Cortex A15 è la vera architettura ARM
lavorativo. Per quanto concerne la me-
che punta a entrare nei server, come
moria l’architettura supporta fino a 1
quelli per la stampa o quelli casalin-
terabyte di memoria fisica contro i 4
GB attuali. Il nuovo chip sarà piena- ghi. Tuttavia ha un punto negativo: si
mente compatibile con Android, Flash tratta di un’architettura a 32 bit e non a
Player, Java Platform Standard Edition 64 bit. I primi chip ARM Cortex A15 so-
(Java SE), JavaFX, Linux, Windows Em- no attesi tra il 2012 e il 2013, prodotti da
bedded Compact 7, Symbian e Ubuntu. Texas Instruments, Samsung e ST Erics-
La versione per smartphone di Eagle son. I chip saranno realizzati con i pro-
dovrebbe lavorare tra 1 e 1,5 GHz in cessi a 32 o 28 nanometri.
configurazione dual-core, mentre quel- Codice MIP 2801694

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


+ Skills PROGRAMMAZIONE
MCU BASATE SU ARM
CORTEX-M3
Fujitsu Semiconductor di LUCA STANZANI o sviluppo crescente di piattaforme core non utilizzato, la potenza consu-
Europe entra nel
mercato dei
La sempre più prepotente
L multicore rappresenta per l’industria
del software un’opportunità e allo stes-
mata diminuisce notevolmente. Per per-
mettere dunque che alla stessa fre-
diffusione di sistemi
microcontroller so tempo un problema. C’è chi ritiene quenza di clock il numero di applicazioni
multicore pone in evidenza che tutto il codice vada revisionato e ria- elaborate aumenti è necessario un in-
embedded basati sul
core ARM. il problema di una dattato, chi invece sostiene che il codice tervento sul codice. Il sistema operati-
programmazione dedicata. già scritto venga correttamente inter- vo semplifica la vita fornendo un sup-
La domanda è: sarà facile pretato dai moderni sistemi operativi porto consolidato al multithread e delle
MICRO 8-BIT
SMP (Symmetric Multi-Processing) e API (in particolare le POSIX Threads,
O ARM? o difficile scrivere software
dalle librerie di threading. Pthreads) che permettono agli inge-
Visti i livelli raggiunti per sistemi multicore? La promessa delle piattaforme multi- gneri di parallelizzare agevolmente del
dalla tecnologia le Proviamo a rispondere core per i sistemi embedded è quella di codice sequenziale oltre ad accedere a
architetture ARM portare una riduzione dei consumi di tutte i benefici delle applicazioni multi-
stanno soppiantando potenza; tuttavia ciò può essere otte- thread disponibili come open-source.
l’uso dei nuto solo se le applicazioni sequenzia- Una volta che il programma è stato pa-
li attualmente esistenti vengono ripro- rallelizzato, il sistema operativo si pre-
microcontrollori a 8
gettare per sfruttare i vantaggi del occuperà di distribuire a runtime i thre-
bit. Ecco i motivi.
parallelismo. La maggior parte delle ad ai core disponibili, senza intervento
piattaforme multicore attualmente sul dello sviluppatore.
GUIDA AL PORTING DI mercato (ARM, MIPS) hanno da 2 a 4 co-
LABVIEW EMBEDDED re, sfruttati adeguatamente da sistemi PORTING DI UN CODICE
PER ARM operativi full SMP come Linux. Questo SEQUENZIALE SU PIATTAFORMA
Questo articolo offre permette agli ingegneri di sfruttare im- MULTICORE

una linea generale per mediatamente il vantaggio dei core ag- La difficoltà di rielaborare il codice per
giuntivi, semplicemente facendo lavo- sfruttare a pieno il parallelismo dipende
indirizzare il codice
rare più di un programma alla volta, dalla singola applicazione. Parecchie
LabVIEW su un target
lasciando al sistema operativo i dettagli. applicazioni si possono tuttavia con-
ARM custom. Combinando questo con tecniche di siderare facilmente modificabili, per
clock scaling o di power gating su ogni esempio quelle riguardanti comunica-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


zioni o networking, applicazioni dove Figura 3:
un singolo programma deve dialogare codice
con molti e diversi canali di iterazione. parallelizzato
Un esempio potrebbe essere il softwa- ma inefficiente.
re riportato di seguito (figura 1), tipico
top level per un’applicazione server. Il
codice mostra come la gestione del
multithread possa essere semplice, ogni
connessione in entrata genera un thre-
ad che permane per tutta la durata del-
la connessione, i thread non hanno ne- con pthread_join prima di proseguire prio tempo di esecuzione (probabil-
cessità di comunicare tra loro, così il con l’iterazione successiva. Quando mente non tutti i dati sono trattati allo
sistema operativo li assegna ad un pro- andiamo ad applicare questo codice stesso modo). Infine si evidenzia il pro-
cessore e ne pianifica l’esecuzione. Fin
su un target multicore, le performance blema del bilanciamento del lavoro do-
qui tutto bene, tuttavia non sempre ca-
sono inferiori a quelle che ci si atten- vuto alla presenza di soli quattro thread,
pita di avere un’applicazione che utilizza Figura 1: listato del top level di una
deva, comunque superiori all’imple- quando un core ha finito il compito as-
le API multithreading senza scambio di applicazione server.
mentazione sequenziale ma non di mol- segnato rimane in attesa senza niente
dati tra i thread, anzi spesso capita il
to. Questa è la tipica situazione che da fare. Il primo problema è abbastan-
contrario.
giustifica la reputazione attribuita alla za comune per chi è agli inizi ma può
In applicazioni come la processazione di
programmazione multicore particolar- essere facilmente identificato da chi è
segnale i tread sono frequentemente
mente difficile. Infatti è necessario spen- più esperto, verificando il numero di
intrecciati e la richiesta di ridurre i con- Figura 2: esempio di codice facilmente
dere tempo per indagare la causa del thread che si creano. Una crescita esa-
sumi di potenza, e di conseguenza la parallelizzabile.
frequenza di clock, è sentita. Soprat- problema, sarà un’inefficienza della li- gerata del numero di thread diventa un
una velocizzazione del processo di al- breria di threading o una non corretta problema. La soluzione è di creare un
tutto per bilanciare il consumo di area
dovuto alla presenza di più di un core. meno un 3x. Il limite terorico di 4x non è comprensione della sequenzialità de- numero fisso di thread elaboratori det-
Convertire codice gia altamente otti- raggiungibile per gli overhead che ac- gli eventi? ti spesso thread pool, l’implementazio-
mizzato in sottoattività destinate a sin- compagnano la gestione dei thread. Per fortuna ci aiutano i software di ana- ne è legata alla singola applicazione,
goli thread può non essere facile. Il li- Il listato di figura 3 mostra come sia lisi per i sistemi multicore. La possibili- in generale comunque questi conti-
stato in figura 2 mostra un codice che possibile parallelizzare l’implementa- tà di catturare e rappresentare grafi- nuano ad esistere e lavorano in coo-
processa un insieme di dati complessi. zione utilizzando Pthreads. Il codice è camente l’esecuzione dei thread perazione o sotto il controllo di un thre-
Ogni iterazione del ciclo è indipenden- piuttosto illeggibile, tuttavia qualcosa è evidenzia subito tre problemi (figura ad gestore, finché determinate
te dalla successiva poiché la chiamata comprensibile, il main loop ora elabora 4). Per prima cosa buona parte del tem- condizioni non si verificano. A questo
della funzione process(...) accede al i dati a passi di PROCESSOR_COUNT po di esecuzione viene dedicato alla punto il gestore può chiuderli e il pro-
singolo dato dell’array ma non agli altri. (in questo caso 4). chiamata della libreria di gestione dei gramma principale proseguire. Per il
In questo caso con una piattaforma a Ogni iterazione genera un insieme di thread, poi la durata della funzione uten- secondo problema individuato, ossia
quattro core ci aspetteremmo almeno thread e attende la loro conclusione te di processazione dei dati varia il pro- la variabilità del tempo di esecuzione

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Repcom sensori sensirion

della processazione dei dati, probabil- viene attualmente la chiamata della


mente si può ipotizzare che alcuni ela- pthread_join(...). Abbinare il numero di
borazioni sui dati siano state ottimizzate thread al numero di core raramente è
e quindi risultino più veloci. Per esem- una buona idea, sia per i problemi visti
pio utilizzando lookup tables che ve- nell’esempio, sia perché si limita la sca-
locizzano il codice anche se ne incre- labilità dell’applicazione. In figura 5 è
mentano le dimensioni. Questo può possibile osservare le variazioni operate
essere un bene per sistemi sequenzia- sul codice per ottimizzare la proces-
li ma nei sistemi multicore risulta spes- sazione. Il cambiamento più drastico
so un problema, possiamo vedere dal- è la rimozione del loop di controllo ad
la figura 4 che tre core rimangono in alto livello, sostituito da un loop nella
attesa che il quarto completi le opera- funzione wrapped_process(..). Questo si
zioni. La soluzione è fornire del lavoro ai traduce in un incremento delle variabi-
core in attesa, gli sviluppatori devono li coinvolte nel loop tra i thread, con la
permettere ad ogni thread di procedere conseguente necessità di aggiornare
con ulteriori dati appena terminati quel- gli indici correttamente. Attraverso la
li elaborati, senza attendere come av- variabile condivisa gDataIndex sap-

Figura 4: rappresentazione grafica dell’esecuzione dei thread del codice di figura 3.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


piamo gli indici dei dati processati, tut- codice venga eseguito nell’ordine in Figura 5:
tavia è necessario proteggere la varia- cui è scritto, quando le attività sono codice di figura 3
bile da accessi multipli per evitare data divise tra più processori questa assun- ottimizzato.
race. Si realizza tutto ciò attraverso zione non è più valida. Si consideri la si-
una variabile mutex incapsulata in una tuazione dove una parte di program-
funzione fetchAndIncrementIndex(...). ma che lavora su un processore
Il risultato è visibile in figura 6, adesso modifichi il valore di una variabile. Ora
ci si avvicina ad un accelerazione delle si immagini un secondo processore che
operazioni di 4x. Ovviamente quelli ri- legga questa variabile, che valore verrà
portati in precedenza sono esempi, lo letto? Dipenderà dal momento della let-
sviluppo di un software multicore è mol- tura, se precedente o posteriore al pro-
to più complesso e problematico. In un cesso di scrittura operato dal primo
ciclo semplice come quello descritto processore. Questa situazione è detta Figura 6:
in precedenza è stato necessario ap- data race, entrambi i processi sono in rappresentazione
portare delle modifiche per sfruttare a competizione per accedere alla varia- grafica
dell’esecuzione
pieno il multicore, figuriamoci con un ci- bile. Questo problema è ben conosciu-
dei thread del
clo dove le variabili dipendono dall’ite- to da chi abitualmente programma in
codice di figura 5.
razione precedente. multithread, tanto che esistono molte
tecniche per controllare gli accessi ad
FUNZIONERÀ DAVVERO? una variabile ed evitare che più thread
Ogni volta che si modifica un codice accedano contemporaneamente. In ogni
funzionante esiste la possibilità di in- caso sarà sempre il programmatore che
trodurre degli errori, e questo è tanto più dovrà implementare una qualsiasi di
vero quanto più l’intervento è esteso. La queste tecniche e non sempre è imme-
ricerca del parallelismo porta alla pos- diato valutare su quali variabili utiliz-
sibile introduzione di errori, quando un zarle e ancor meno individuare un pro-
programma è sequenziale certe consi- blema generato da un problema di data
derazioni vengono prese per scontate. race. Ritornando all’esempio di figura
La più importante di queste, è che il 5, il codice protegge l’accesso alla va-

- http://it.wikipedia.org/wiki/Multi_core
- http://it.wikipedia.org/wiki/Mutex
- http://it.wikipedia.org/wiki/Multiprocessore_simmetrico

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


riabile globale gDataIndex con una fun-
zione che garantisce un accesso sicuro
dei thread attraverso un mutex. In più
viene restituita una copia della variabi-
le in maniera che ogni modifica non al-
teri l’originale.
Questo modo di operare è alla base di
una buna programmazione in ambito
multithread per arrivare a minimizzare la
possibilità di inserire bug nel codice.
In aiuto al programmatore esistono dei
tool software che consento di identifi-
care possibili problemi di data race.
Questi tool rimangono ad osservare gli
accessi in memoria eseguiti dal pro- zioni nello stesso istante allora diventa
gramma a run time (figura 7). Se sono un problema. Entrambi i thread ese-
individuati conflitti di accesso tra thre- guono la prima protezione, ma quando
ad diversi, sono subito segnalati come procedono con la seconda entrambi si
possibili problemi sempre che non ven- accorgono che l’altro processo sta la-
gano identificati meccanismi di sincro- vorando sulla variabile e nessun thread
nizzazione (tipo mutex). viene portato a conclusione, bloccando
Sfortunatamente non tutti i casi di data codice. L’altro problema enorme della thread diversi. Se un thread raggiunge l’intero sistema.
race sono rilevati dai tool di analisi per- programmazione a thread sono i dea- function_in_thread_1 per prima ed ese- Anche in questo caso i tool ci vengono
ciò la soluzione migliore è utilizzare un dlocks. Possono capitare quando due gue entrambe le protezioni prima che il in aiuto evidenziando possibili problemi
approccio metodico, individuando le risorse protette hanno un accesso nel- secondo thread esegua la protezione di deadlock ma è difficile dare per cer-
variabili condivise e analizzandone il lo stesso istante, tutto funziona se la in function_in_thread_2, allora tutto la- to se una determinata sequenza può
contenuto per stabilire se devono es- protezione è richiesta nell’ordine giusto, vora correttamente. Il secondo thread provocare un blocco oppure no.
sere protette da un mutex (per garanti- nel caso di ordine sbagliato il sistema si sarà in attesa sulla risorsa in attesa che La soluzione è puntare su una pro-
re l’atomicitità delle operazioni), o se ri- ritrova in una situazione di halt (listato di diventi disponibile. Se invece entrambi grammazione il più standardizzata pos-
chiedono cambiamenti più radicali nel figura 8). Due funzioni sono eseguite da i thread raggiungono le rispettive fun- sibile, scegliendo di utilizzare librerie
dette di lock management per fornire
delle API a tutti i programmatori che
lavorano su un progetto.

Figura 7: strumento software che


evidenzia un possibile data race.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Figura 8:
codice passibile
di deadlock. 

CONCLUSIONI Questi tool però necessitano di adde-


Da quanto discusso appare chiaro che stramento e soprattutto deve cambiare
i multicore sottopongono nuove sfide ai la mentalità del programmatore che de-
programmatori software. Esiste codi- ve imparare ad utilizzare API pensate
ce facilmente portabile, per tipologia, su per il multicore. Un numero sempre
multicore, altro che necessita di un in- maggiore di risorse diventano dispo-
tervento più sostanzioso. Nel caso em- nibili per il mondo del multicore, questo
bedded la maggior parte di software contribuisce ad evitare che i program-
richiede delle modifiche. matori soccombano nella gestione dei
Tutto il codice pensato per sistemi se- loro sistemi multithread.
quenziali è stato nel corso degli anni A questo punto la domanda conclusiva,
ottimizzato per aumentarne la velocità, programmazione multicore, facile o dif-
un porting su sistemi multicore ne mina ficile? La risposta è, sicuramente, di-
sia la correttezza che la sicurezza. Per pende, pero grazie agli strumenti e alle
fortuna gli strumenti software a sup- metodologie gia esistenti ed in sviluppo
porto dei programmatori aiutano ad in- almeno non è impossibile.
dividuare possibili problemi. Codice MIP 2801154

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


+ Skills
PROGRAMMAZIONE
MULTICORE
Sarà facile o difficile
basate su ARM Cortex-M3
scrivere software per Fujitsu Semiconductor Europe entra nel mercato dei microcontroller embedded basati sul core ARM®
sistemi multicore? con la sua nuova famiglia a 32 bit ‘FM3’ di MCU basate su ARM® Cortex™-M3
Proviamo a
di DIRK FISCHER
rispondere.
hiunque operi nel settore dei mi-
MICRO 8-BIT
C crocontroller è concorde nel rico-
noscere che, soprattutto nel segmento
O ARM? dei dispositivi a 32 bit, il mercato è stato
Visti i livelli raggiunti ampiamente dominato per un certo pe-
dalla tecnologia le riodo di tempo da controller costruiti in-
torno all’architettura ARM. E’ quindi le-
architetture ARM gittimo chiedersi perchè un altro fornitore
stanno soppiantando dovrebbe entrare nell’arena con l’enne-
l’uso dei simo prodotto nuovo basato sullo stesso
core e in che modo potrebbe differenziare
microcontrollori a 8
questa “new entry” e farla diventare ve-
bit. Ecco i motivi. ramente insuperabile in un mercato così
concorrenziale. Questa riflessione su-
GUIDA AL PORTING DI scita un’altra domanda interessante, cioè
quali sono le caratteristiche principali
LABVIEW EMBEDDED che distinguono un’implementazione
PER ARM media da una di prima classe. Ed è pro-
Questo articolo offre prio basandosi su questa riflessione che
Fujitsu Semiconductor ha creato la nuo-
una linea generale per
va famiglia ‘FM3’ di MCU basate su ARM
indirizzare il codice Cortex-M3. Fujitsu è riuscita alla perfe-
LabVIEW su un target zione a distinguersi dalla concorrenza:
ARM custom. possiede ottime tecnologie proprietarie
e alcune delle migliori sono state op-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


portunamente combinate con l’ormai fondamentale importanza. La linea com- CLOCK A 144MHZ
consolidata architettura ARM per pro- prende modelli specifici da utilizzare Le velocità di clock a 144MHz della linea
durre la nuova gamma di prodotti FM3. nei casi più disparati, dalle applicazio- ad alte prestazioni sono una caratteri-
L’architettura ARM Cortex-M3 colma il di- ni ad alte prestazioni che richiedono stica di eccellenza; combinate con la
vario esistente tra i core delle CPU CISC un controllo avanzato (es. sistemi di memoria flash ad alta velocità, queste
a 16 bit e quelli delle CPU RISC a 32 bit. automazione industriale) fino agli elet- due tecnologie sono in grado di garan-
Verranno mantenute le due famiglie di trodomestici, ai dispositivi di consumo tire prestazioni molto elevate nelle ap-
MCU proprietarie di Fujitsu, la 16FX e la digitali e alle apparecchiature per l’office plicazioni embedded industriali. Un’al-
FR. Fujitsu possiede un IP avanzato che automation. tra caratteristica che contraddistingue
nasce da anni di investimenti e di espe- questi dispositivi è la capacità di sup-
rienza ed è stato combinato con la fa- MEMORIA FLASH portare applicazioni che operano sia a
mosa architettura ARM, con tutti i van- ALL’AVANGUARDIA 3,3V che a 5V: la maggior parte dei mi-
taggi ampiamente riconosciuti e il Questi dispositivi sono dotati di una crocontroller che usano core Cortex-
supporto di terzi garantito dalla comunità presenta un set limitato delle periferi- memoria flash NOR ad alta velocità e al- M3 operano da un’alimentazione di 3,6V
di progettisti ARM. A destra sono illu- che avanzate disponibili nella serie ad ta affidabilità che può conservare i da- o inferiore e non è adatta per i sistemi a
strate le caratteristiche principali della alte prestazioni ed è ottimizzata soprat- ti per 20 anni ed è stata progettata per 5V. La famiglia FM3 può invece soddi-
nuova linea di prodotti FM3. Di seguito tutto per i principali tipi di elettrodome- 100.000 cicli di scrittura/cancellazio- sfare la forte richiesta di supporto per le
descriveremo nel dettaglio alcune ca- stici (condizionatori dell’aria, frigoriferi, la- ne. E’ in grado di offrire l’accesso più MCU a 5V del settore dei dispositivi di
ratteristiche specifiche che contraddi- vatrici, dispositivi di consumo digitali e veloce della classe Cortex M3 (senza controllo industriale, per cui questo ti-
stinguono prestazioni e applicazioni e apparecchiature per l’office automation); stati di attesa fino a 60MHz). Questa po di alimentazione flessibile è molto
spiegheremo in che modo tali caratteri- le prestazioni di questa serie sono mag- memoria flash è probabilmente la più apprezzata da progettisti, project ma-
stiche possono aiutare i progettisti a giori rispetto a quelle dei microcontroller avanzata tecnologicamente per appli- nager e acquirenti che mirano a ridurre
scegliere il prodotto FM3 più adatto alla a 16 bit tradizionali. cazioni embedded. I sistemi di control- i costi di progettazione, il numero di
propria applicazione. La famiglia FM3 di lo industriali possono restare in servizio componenti e la gestione delle scorte.
MCU basate su ARM Cortex-M3 è costi- POSIZIONAMENTO per molti anni, monitorando linee di Naturalmente esiste anche una forte
tuita da due vaste categorie di prodotti CONCORRENZIALE produzione in cui la lunga durata è un domanda di dispositivi a bassa tensio-
(base e ad alte prestazioni) e i 44 dispo- La FM3 è la prima famiglia di MCU a aspetto fondamentale, inoltre gli elet- ne (1,8-3,6V) molto funzionali per ap-
sitivi nuovi inclusi in tali categorie, pre- 32 bit basate su ARM® Cortex lanciata trodomestici ormai richiedono la con- plicazioni a bassissimo consumo, ali-
sentati inizialmente, sono chiaramente da Fujitsu; la serie, che è stata creata servazione degli schemi d’uso e dei da- mentate solo a batteria; per questo
destinati ad applicazioni industriali em- appositamente per il settore industria- ti prestazionali in una memoria non segmento di mercato molto importante
bedded. La serie MB9B500/400/300/100 le, va a completare la linea esistente volatile, in vista, ad esempio, di even- è previsto un altro gruppo di prodotti
ad alte prestazioni offre eccellenti pre- di MCU a 16 bit che sono molto utiliz- tuali guasti all’alimentazione. della famiglia FM3 che verrà offerto a
stazioni di elaborazione; presenta varie zate nelle applicazioni automotive e in- In questi due settori i 100.000 cicli di partire dalla seconda metà del 2011.
funzioni periferiche che sono state col- dustriali. La serie ad alte prestazioni è scrittura fanno la differenza e questa Capacità di I/O e supporto periferico.
tivate nella famiglia di microcontroller destinata al mercato dei dispositivi a tecnologia flash, usata al posto della La famiglia FM3 garantisce ai progetti-
FR e ottimizzate per l’uso nei servomotori 32 bit che richiedono prestazioni ad al- E2PROM, è in grado di offrire le due sti di applicazioni industriali un sup-
per applicazioni di automazione indu- ta velocità, mentre la serie base è orien- caratteristiche più importanti: affidabi- porto periferico un po’ più inusuale, in
striale, connettività e diverse applica- tata al mercato dei dispositivi a 16 bit in lità sul lungo periodo e riduzione dei aggiunta a quello standard tipo USB,
zioni industriali. La serie MB9A100 base cui il rapporto prezzo/prestazioni è di costi. Ethernet e CAN I/O. La cosa probabil-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Millennium dataware - produzione circuiti stampati

mente più importante per le applica- pa Settentrionale e Orientale. Fujitsu


zioni industriali sono i tre ADC a 12 bit, sta ampliando i suoi rapporti di colla-
alta velocità e 16 canali (conversione borazione e fornisce già assistenza per
1,0 s) e i timer avanzati per la genera- la famiglia FM3 grazie a vari fornitori di
zione di forme d’onda per servomotori tool ARM (es. IAR Systems e Keil MDK);
ad alta velocità e alta precisione e con- sono già disponibili gli ‘starter kit’ per la
trollo motori trifase. Questi dispositivi famiglia FM3 ai quali seguiranno varie
possono inserire automaticamente tem-
toolchain basate su GNU/Eclipse. Da-
pi di inattività per evitare cortocircuiti in
to che la linea di prodotti FM3 è desti-
caso di guasti all’alimentazione e atti-
nata ad applicazioni industriali em-
vare gli ADC per misurare le correnti
bedded, Fujitsu dà molta importanza
nel motore con i tempi giusti. In com-
binazione con segnali di feedback per il anche alla formazione e all’assistenza
rilevamento della posizione del rotore, è dei suoi distributori che rappresentano
possibile implementare sistemi di co- il canale principale attraverso il quale
mando sofisticati con i microcontroller garantire l’assistenza ai clienti. Produ-
FM3. Le interfacce USB e CAN sono cendo i dispositivi FM3 nei suoi stabi-
disponibili in tutta la linea, con Ethernet limenti, Fujitsu ha pieno controllo sui
per le parti ad alte prestazioni. processi e sui volumi di produzione e
può garantire un’ottima qualità, lead
SUPPORTO INTERNAZIONALE. time contenuti e forniture costanti. Per
Affinché la nuova famiglia FM3 sia il le società che sviluppano dispositivi di
più possibile accessibile a tutti i clien- controllo industriali questo è un grande
ti, è indispensabile avere tool di svi- vantaggio perché affidabilità e dispo-
luppo affidabili e il tradizionale sup- nibilità a lungo termine possono esse-
porto di qualità di AE/FAE (Applications re aspetti fondamentali per ottenere un
& Field Applications Engineering). Per
successo duraturo. Oltre ad avere pie-
quanto riguarda il software, appositi
no controllo sulla produzione, Fujitsu ha
team stanno sviluppando soluzioni di si-
anche grande influenza sulla disponi-
stema con alcuni partner (es. software
bilità. La società ritiene che questo ap-
stack per clienti con bus nuovi, ecc. o
assistenza specifica per applicazioni proccio sia un importante elemento di
di controllo/comando motori) e fornen- distinzione, pur non essendo un con-
do ‘software porting’ e ‘software de- cetto nuovo perchè sono più di dieci an-
sign’ come veri e propri prodotti. Per Fu- ni che l’azienda fornisce ai suoi princi-
jitsu Semiconductors Europe questo pali clienti MCU a 16 bit per applicazioni
tipo di assistenza esiste già ed è loca- industriali e continuerà a farlo in volumi
lizzata in Germania, inoltre ha altri FAE molto elevati.
per Italia/Spagna e Regno Unito/Euro- Codice MIP 2801162

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


+ Skills MICRO
MCU BASATE SU ARM
CORTEX-M3
Fujitsu
Semiconductor
Europe entra nel
o ARM?
a cura della REDAZIONE ggi le nostre vite sono intrise di mi-
mercato dei
microcontroller
O crocontrollori. Li troviamo nelle au-
tomobili, nei cellulari, nei giocattoli, ne-
esempio la cache di primo e secondo li-
vello, fa sì che non si aggiungano ri-
tardi nell’esecuzione dell’interruzione.
Visti i livelli raggiunti
embedded basati sul gli elettrodomestici che usiamo Tuttavia, le limitazioni dei microcon-
dalla tecnologia
core ARM quotidianamente. Dalla loro prima in- trollori a 8 bit costituiscono spesso le
le architetture ARM stanno
troduzione, 30 anni fa, l’uso dei micro- sfide di sviluppo e di progettazione:
soppiantando l’uso dei controller è aumentato fino ai miliardi di • Limitazioni nelle prestazioni. Per ra-
PROGRAMMAZIONE
microcontrollori a 8 bit. unità all’anno confermando la presenza gioni di costo, i microcontrollori a 8 bit
MULTICORE
Ecco i motivi in quasi tutti i dispositivi elettronici e, tra continuano ad essere impiegati nelle
Sarà facile o difficile le varie architetture, gli 8 bit sono quel- applicazioni come sottosistemi atti a
scrivere software per li più utilizzati. Ma che cosa rende i mi- svolgere funzioni specifiche. L’alterna-
sistemi multicore? cro a 8 bit così utili ad una così vasta tiva sarebbe la migrazione verso archi-
Proviamo a gamma di applicazioni? Due sono le tetture più complesse e comunque non
rispondere. considerazioni importanti: compatibili con il software attualmente
• Basso costo. Le applicazioni che ri- sviluppato per gli 8 bit.
chiedono i micro a 8 bit, quasi per defi- • Limitazioni dello spazio di indirizza-
GUIDA AL PORTING DI
nizione, richiedono un basso costo di si- mento. Lo spazio per l’indirizzamento è li-
LABVIEW EMBEDDED stema. mitato rispetto ai 4 GB disponibili nelle ar-
PER ARM • Determinismo, Performance di inter- chitetture a 32 bit. In molte architetture a
Questo articolo offre ruzione in tempo reale. In molte appli- 8 bit tale spazio è limitato a soli 64 Kb.
una linea generale per cazioni i microcontrollori devono assi- • Predominanza del linguaggio assem-
indirizzare il codice stere le interruzioni in un ben determinato bler. Le applicazioni sono comunemente
LabVIEW su un target periodo temporale e uno dei benefici programmate in linguaggio assembler
ARM custom. di un’architettura semplice come quel- che in alcuni casi è l’unico linguaggio in
la a 8 bit, sta proprio nel soddisfare a grado di soddisfare i requisiti di pre-
pieno questi vincoli temporali. L’assen- stazione e gestire le limitazione dello
za di gerarchie di memoria, come ad spazio di indirizzamento.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Farnell - Distribuzione componenti elettronici

Figura 1: struttura dati con dati allineati. 

Figura 2: struttura dati con dati non allineati. 

biare microcontrollore spesso signifi- Oggi, con le nuove tecnologie, in un


ca riprogettare l’intero sistema. circuito integrato vi possono stare oltre
• Strumenti di sviluppo limitati. La fram- un milione di transistori per cui le ar-
mentazione del mercato dei micro a 8 chitetture implementate negli anni ’70
bit rende difficoltoso l’utilizzo di uno spesso non hanno senso se implemen-
standard e questo limita il proliferare tate sui moderni circuiti integrati. Con il
di strumenti di sviluppo hardware e Cortex-M3, ARM ha permesso una tran-
software. sizione dai vincoli delle architetture a 8
Quando negli anni ‘70 sono stati intro- bit verso architetture più moderne, ef-
dotti microcontrollori a 8 bit (come gli ficienti, ottimizzate e a costi talmente
8051), un circuito integrato tipico era in contenuti da essere impiegate in tutte le
grado di contenere 10.000 transistori. applicazione dominate dagli 8 bit.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


ARM CORTEX-M3 BIT-BANDING
Il processore ARM Cortex-M3 fornisce L’ARM Cortex-M3 ha uno spazio di me-
una piattaforma ad alto rendimento e a moria di 4 GB, così, in teoria, potrebbe
basso costo che soddisfa le esigenze di sostenere un sistema con un gigabyte
minimi requisiti di memoria, minimo in- di RAM. In pratica nessun microcon-
gombro e basso consumo, e garanti- trollore utilizza completamente lo spa-
sce al contempo eccezionali presta- zio di indirizzamento, quindi come uti-
zioni di calcolo ed una veloce risposta lizzare al meglio il bus indirizzi a 32
alle interruzioni. bit? La risposta di ARM a questo que-
sito è il bit-banding. Il bit-banding usa
PICCOLO CORE indirizzi che sono alias di indirizzi di pe-
AD ALTRE PRESTAZIONI riferiche o di celle SRAM consentendo
L’unità di elaborazione dell’ARM Cortex- la manipolazione di un singolo bit di
M3 è il più piccolo core a 32 bit pro- una word mediante un riferimento ad
gettato da ARM, con appena 33.000 un byte ad un indirizzo alias.
gate. Questo design riduce gli ingombri Ad esempio, una scrittura all’indiriz-
in termini di area su silicio, consenten- Figura 3: Bit-banding. zo 0x02000000 modifica la parola a 32
do l’uso di package molti compatti e bit in SRAM a quell’indirizzo, ma la
l’impiego di processi di fabbricazione a con le implementazioni Thumb esistenti SUPPORTO DI DATI NON ALLINEATI scrittura a 0x02800000 modifica sol-
basso costo, quali 0.35μ e 0.25μ. Anche ma prevede l’esecuzione di più istru- Molte unità di elaborazione a 32 bits tanto il bit 0 all’indirizzo 0x02000000
con core così piccolo, sono garantiti zioni in un singlo ciclo di clock otte- richiedono che i dati siano allineati su (figura 3). Questo funzionamento fa-
alti livelli in termini di prestazioni del- dimensioni standard (bit, byte, word,…). cilita notevolmente le manipolazioni
nendo così prestazioni tipiche dei DSP
l’ordine di 1.2 MIPS per MHz, un rendi- Ciò implica che le parole a 32 bit devo- di bit: anziché leggere l’intera word,
ed impensabili sui microcontrollori tra-
mento comparabile, se non addirittura no necessariamente trovarsi ad indi- fare l’AND per modificare il singolo bit,
dizionali a 8bit. Queste istruzioni, unite rizzi multipli di quattro.
superiore, ad altre CPU a 32 bit. quindi riscrivere la word modificata al-
a quelle a 32 bit di ARM, costituiscono Analogamente, i dati a 16 bit devono l’indirizzo originale, il bit-banding con-
SET DI ISTRUZIONI THUMB-2 un set di istruzioni che può essere ge- trovarsi ad indirizzi multipli di due. In sente di fare questa operazione con
Il set di istruzioni Thumb è una tecno- stito efficientemente anche dai lin- pratica questo allineamento implica una una singola istruzione. Quella singola
logia innovativa di ARM per ridurre le di- guaggi ad alto livello, un beneficio im- frammentazione della memoria con mol- istruzione ha inoltre un altro benefi-
mensioni del codice. La tecnologia portante nell’uso di una architettura a ti spazi inutilizzati soprattutto nel caso cio: è una operazione atomica, ese-
Thumb aggiunge le istruzioni a 16 bit al- di dati non allineati (figura 1). L’ARM guita come singola operazione per cui
32 bit. L’ARM Cortex-M3 esegue solo
l’architettura a 32 bit RISC. L’uso di Cortex-M3 rimuove quella limitazione si evita il problema che eventuali in-
istruzioni Thumb-2 ed il conseguente ri-
queste istruzioni a 16 bit riduce so- supportando la memorizzazione di da- terruzioni vadano a modificare la stes-
stanzialmente le dimensioni del codice sparmo di spazio in termini di dimen- ti non allineati, permettendo così di uti- sa word oggetto dell’operazione, cosa
una volta compilato. L’insieme delle sioni del codice, rende più semplice lizzare tutta la memoria disponibile (fi- che invece può accadere utilizzando il
istruzioni Thumb-2 è binario-compatibile l’uso di sistemi operativi. gura 2). metodo tradizionale.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Pcb pool - Produzione circuiti stmpati

Figura 4: tail-chaining.

GESTIONE DETERMINISTICA tuali operazioni di POP e PUSH ridon-


DELLE INTERRUZIONI danti (figura 4 e 5). Questo garanti-
Molte applicazioni attualmente domi- sce che tra due routine di interruzione
nate dai mirco a 8 e 16 bit, come ad successive, non trascorrano più di sei
esempio il controllo motore, richiedono cicli di clock.
un comportamento molto deterministi- • Late arrival Preemption. Il micro può
co. L’ARM Cortex-M3 è dotato di parti- commutare verso una routine di inter-
colari ottimizzazioni nella gestione del- ruzione a più elevata priorità durante
le interruzioni volte a ridurre la latenza l’esecuzione di una routine a priorità
delle interruzioni stesse e garantirne il più bassa.
servizio in un tempo ben definito. Que-
ste caratteristiche comprendono: SISTEMI DI SVILUPPO
• Gestione hardware dell’interrupt. La disponibilità di sistemi di sviluppo è
L’hardware della CPU salva automati- considerata dai progettisti di fonda-
camente i valori dei registri nello stack. mentale importanza, come conferma
• Supporto alla preemption. Una inter- anche una recente indagine effettuata
ruzione di priorità più alta rispetto a dalla Embedded Systems Programming.
quella attualmente gestita, può essere Hanno chiesto ai progettisti che cosa
immediatamente soddisfatta senza at- fosse importante per loro nella scelta di
tendere la fine della routine di servizio un microprocessore. Prestazioni e prez-
dell’interruzione corrente. zo sono risultate al secondo e terzo
• Tail-chaining. Prima di uscire da una posto, mentre al primo posto si collo-
routine di servizio di una interruzione, il cano proprio gli strumenti di sviluppo
Cortex-M3 controlla eventuali interru- (figura 5). Le aziende possono fare in-
zioni ancora pendenti per evitare even- vestimenti significativi negli strumenti di

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Figura 5: i risultati della ricerca dell’Embedded Systems Programming. 

sviluppo e non solo per l’acquisto dei si- gior parte delle applicazioni sviluppate
stemi, ma anche per l’accrescimento per microcontrollori a 8 bits sono scrit-
delle conoscenze e nella esperienza te in assembler, che, come già accen-
nell’uso di questi strumenti. nato, è una scelta quasi obbligatoria
Oltre ai tools che ARM assicura diret- per soddisfare il compromesso presta-
tamente, sono disponibili numerosi to- zioni/spazio. L’ARM Cortex-M3 è stato
ols di terze parti. Questa ampia offerta ottimizzato in modo da poter utilizzare
di strumenti di sviluppo e supporto per direttamente compilatori C/C++ con
i microcontrollori ARM ha contribuito benefici evidenti in termini di tempo di
significativamente alla diffusione di que- sviluppo, ricerca degli errori e portabi-
sti dispositivi che, a differenza dei mi- lità del codice. L’uso molto diffuso dei
crocontrollori a 8 bit, consentono una core ARM ha creato una vasta asso-
migrazione verso architetture più com- ciazione di utenti/sviluppatori che, gra-
plesse e di prestazioni più performanti zie ai compilatori open source, hanno
senza necessariamente dover ripro- potuto rendere disponibili le proprie li-
gettare l’intera applicazione. Le consi- brerie e i porting dei sistemi operativi re-
derazioni sui tools vanno comunque al-time all’intera comunità.
ben al di là dei tools di debug. La mag- Codice MIP 2801983

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Guida al porting
+ Skills
MCU BASATE SU
ARM CORTEX-M3
EMBEDDED
Fujitsu Semiconductor
Europe entra nel
mercato dei
PER
microcontroller
on NI LabVIEW Embedded Module mostra un microcontrollore Philips NXP
embedded basati sul
core ARM
L’architettura del processore
ARM RISC a 32-bit sviluppata da C for ARM Microcontrollers è possibile
migrare il software LabVIEW su qua-
LPC3180 ARM9 sulla scheda di valu-
tazione phyCORE-ARM9/LPC3180. Ge-
ARM Limited è ampiamente
lunque microntroller 260 ARM7, ARM9 e neralmente, il processo per incorpora-
PROGRAMMAZIONE utilizzata in diversi progetti
Cortex-M3 e molti altri per la replica re un nuovo target ARM segue questa
MULTICORE embedded per via del prezzo del sistema. Utilizzando un unico stru- procedura:
Sarà facile o difficile contenuto, basso consumo e per mento di sviluppo, dall’idea al prodotto • Migrare il Kernel RTX Real-Time
la vasta gamma di periferiche finito, è possibile semplificare il pro- • Integrare il modulo Real-Time Agent
scrivere software per
cesso di sviluppo e ottimizzare la qualità per il debug
sistemi multicore? adatte ai maggiori produttori di
finale riducendo il time to market. • Creare il target in LabVIEW e incor-
Proviamo a silicio. Oggi, la famiglia ARM
porare la toolchain di Keil
rispondere. rappresenta oltre il 75 percento PORTARE LA PROGETTAZIONE • Sviluppare periferiche e driver di I/O.
di tutte le CPU RISC a 32-bit. GRAFICA SU UN NUOVO MICRO Pur mostrando le procedure specifiche
È possibile utilizzare NI LabVIEW CONTROLLER ARM necessarie a incorporare la scheda di
MICRO 8-BIT
Sebbene LabVIEW Embedded Module valutazione Phytec LPC3180, questo
Embedded Module for ARM
O ARM? for ARM include diversi target di esempio tutorial fornisce delle linee guida ge-
Visti i livelli raggiunti Microcontrollers per la
tra cui le schede di valutazione Keil neriche per ciascun processo applica-
dalla tecnologia le programmazione dei MCB2300 e Luminary Micro EK- bile a qualsiasi target. Per incorporare
architetture ARM microcontrollori ARM con i LM3S8962, esistono diversi microcon- un microcontroller ARM arbitrario, è
stanno soppiantando sistema operativo embedded trollori ARM sui quali LabVIEW è inseri- necessario personalizzare molte delle
RTX. Questo articolo offre una bile. Questo articolo fornisce delle linee procedure mostrate sotto per lo speci-
l’uso dei
guida generali per incorporare un nuo- fico microcontroller. Quando è stato
microcontrollori a 8 linea generale per indirizzare il
vo target ARM dopo averne verificato la scritto questo articolo, il Kernel RTX
bit. Ecco i motivi. codice LabVIEW su un target conformità con i requisiti hardware e Real-Time e il modulo Real-Time Agent
ARM custom. software. Questo esempio specifico non erano ancora stati sviluppati per

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


LPC3180. Pertanto, questo tutorial mo- • Trova e apri il file TgtSupp.xml.
stra tutti i quattro processi. Tuttavia, • Tasto destro sull’icona Other e rino-
questa procedura potrebbe non essere minala LPC3180.
necessaria per tutti i target. In questo • Tasto destro su Applications e sele-
tutorial si suppone che LabVIEW Mi- ziona Properties.
croprocessor SDK sia installato. • Nella pagina Category, seleziona Ma-
nage Interrupts e cancella questa voce
INTEGRARE LABVIEW cliccando sulla X rossa Remove Pro-
E LE TOOLCHAIN DI KEIL perty Page Button (figura 1).
Per migrare un target ARM su LabVIEW, • Clicca OK per tornare sul Target Edi-
il target deve essere in grado di sup- tor.
portare il RTX Real-Time Kernel. Per • Seleziona File»Save, ed esci dal Target
far sì che un target ARM supporti il de- Editor. Adesso hai creato il target.
bug del front panel, il target deve esser • Riavvia LabVIEW in modo che i target
compatibile con il modulo Real-Time disponibili siano rinumerati.
Agent. Per stabilire se il target suppor-
ta il RTX Real-Time Kernel, cerca nella PREPARARE I FILE DI TEMPLATE
cartella \Keil\ARM\Startup il file corri- Figura 1. LabVIEW si affida a un project µVision
spondente al produttore del microcon- correttamente configurato che definisce
UTILIZZO DEL TARGET EDITOR gets\Keil\Embedded\RealView.
trollore ARM. Se la cartella contiene un la posizione dei vari file di driver spe-
PER GESTIRE I TARGET EMBEDDED • Copia la cartella Generic e richiamala
file RTX_Conf*.c per il target, significa cifici per il target. Poiché i driver sono
che il Kernel RTX Real-Time è suppor- Questa parte del tutorial richiede la pre- LPC3180. specifici per ciascun target, alcuni di
tato dal dispositivo ARM. senza di LabVIEW Microprocessor SDK. • Cerca la cartella LabVIEW \Targets questi inclusi nel template generico so-
Per stabilire se il target supporta il mo- Tutti i target ARM per LabVIEW utiliz- \Keil\Embedded\RealView\LPC3180\LP no riutilizzabili, mentre altri non lo sono.
dulo Real-Time Agent, cerca nella car- zano gli stessi VI plug-in. Pertanto, per C2378 e copia tutti i file al suo interno. Segui questa procedura per preparare i
tella \Keil\ARM\RT Agent\RTX, e trova il facilitare l’aggiunta di un nuovo target driver corretti per LPC3180.
• Cerca la cartella LabVIEW \ Tar-
dispositivo corrispondente al micro- ARM su LabVIEW, è stato fornito un • Cerca la cartella LabVIEW \Tar-
gets\Keil\Embedded\RealView\LPC3180
controllore ARM. Se il dispositivo è pre- template target che contiene un file gets\Keil\Embedded\RealView\LPC3180
\ e incolla i file copiati dalla cartella
sente nella cartella, significa che il mo- TgtSupp.xml configurato con i corretti VI \eio e cancella tutti i file al suo interno.
LPC2378.
dulo Real-Time Agent è già stato plug-in, strutture di cartelle e il simbo- In seguito potrai copiare driver di I/O
• Cancella le cartella LM3Sxxxx e
configurato per il dispositivo. lo dei file del driver. La creazione di un elementari per il target.
nuovo target per LabVIEW richiede una LPC2378.
La creazione del target implica la mo- • Sfoglia la cartella LabVIEW\Tar-
difica del template Vision project per far copia di questo target template con un • Apri LabVIEW e seleziona Tools»Em- gets\Keil\Embedded\RealView\LPC3180
sì che venga riconosciuto da LabVIEW, nome univoco che ne identifichi la ti- bedded»Target Editor. \interrupt\. Cancella tutti i file in questa
incorporando tutto il codice sorgente pologia. • Seleziona File»Open, e cerca la car- cartella tranne il file interrupt.xml. Il file
del driver per le periferiche essenziali e Ecco i passi da seguire: tella LPC3180 rinominata nella passo interrupt.xml per LPC2378 serve a con-
integrando le toolchain di Keil. • Sfoglia la cartella LabVIEW\Tar- precedente. figurare il modo in cui LabVIEW genera

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Figura 2.  Figura 3. 
il codice quando utilizza gli interrupt. <Dimsize>0</Dimsize> • Apri LPC3000.s in un editor di testo ed \Template\Project.
Dato che gli interrupt per LPC2378 so- <Array> inserisci le seguenti linee dal file di star- Copia i file Ext_RAM.ini e Clock.ini.
no incompatibili con quelli per LPC3189, • Salva interrupt.xml ed esci dall’editor tup: • Apri Ext_RAM.ini in un editor di te-
non usare gli interrupt. L’integrazione di testo. + Undef_Handler B Undef_Handler sto e modifica la linea:
degli interrupt non è contemplate nel • Sfoglia la cartella LabVIEW\Tar- + PAbt_Handler B PAbt_Handler LOAD Ext_SDRAM\Blinky.axf INCRE-
documento, pertanto consulta LabVIEW + IMPORT Undef_Handler MENTAL
gets\Keil\Embedded\RealView\LPC3180
Embedded Module for ARM Help per + IMPORT PAbt_Handler con:
\Template\System e cancella I file
maggiori informazioni. quindi salva e chiudi il file LPC3000.s. LOAD Obj\LabVIEW.axf INCREMENTAL
RTX_Config.c e LPC2300.s.
• Apri interrupt.xml in un editor di testo, Queste modifiche permettono a Lab- Salva e chiudi Ext_RAM.ini.
aancella il testo in questo file e sosti- • Apri RTX_Config.c in un editor di testo VIEW di impostare i bit di errore appro- Il template Vision project è configurato
tuiscilo con il seguente: e aggiungi il seguente file di header: priati quando viene lanciato un handler di default per compilare l’applicazione
<Version>1</Version> #include <LVConfig.h> Undefined IRQ. in un eseguibile chiamato LabVIEW.axf
<Array> /* LV Config header */ • Sfoglia la cartella LabVIEW \Tar- nella cartella Obj; pertanto, questa mo-
<Name>ProvidedInterruptData</Name> quindi chiudi e salva RTX_Config.c. gets\Keil\Embedded\RealView\LPC3180 difica assicura che il file corretto sia

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Abacom software progetti elettronici

Figura 4. 
caricato nella memoria dopo l’esecu- • Sfoglia la cartella LabVIEW\Tar-
zione. gets\Keil\Embedded\RealView\LPC318.
• Sfoglia la cartella LabVIEW\Tar- Apri TargetConfig.ini in un editor di
gets\Keil\Embedded\RealView\LPC3180 testo.
\Template\Drivers. Cancella le cartelle • Cancella tutto il testo sotto la linea che
indica “[Files].”
Ethernet, Interrupt, I2C ed SPI.
• Nella sezione [Define], aggiungi la li-
• Sfoglia la cartella LabVIEW\Tar-
nea: SocketSupport = 0.
gets\Keil\Embedded\RealView\LPC3180
\Template\Drivers\RTClock.
MODIFICARE IL TEMPLATE
Apri ARM_RTClock.c in un testo e can- PROGETTO uVISION
cella il codice per entrambe le funzioni, Quando LabVIEW compila un VI, effet-
ARM_rtc_gettime() and ARM_init_rtc(); tua delle chiamate al Vision, chiedendo
• Salva ARM_RTClock.c ed esci dal- di aprire un project preconfigurato che
l’editor di testo. è stato personalizzazto per un target

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


specifico. Questo project preconfigura- • Configura le impostazioni del Target
to definisce il modo in cui Vision compila come mostrato.
il codice. Il project definisce inoltre come • Assicurati che il sistema operativo
scaricare ed eseguire il codice sul target. sia impostato per l’utilizzo del RTX Ker-
• Apri l’ambiente Vision 3. nel.
• Apri il menu Project e seleziona Open • Imposta il Code Generation for
Project…. Thumb-Mode, assicurati di spuntare il
• Apri la cartella LabVIEW \ Targets Cross-Module Optimization e assicu-
\Keil\Embedded\RealView\LPC3180\Te rati di NON spuntare il Use MicroLIB.
mplate\Project e apri il project Lab- • Assicurati di spuntare Xtal sia impo-
VIEW.uV2. stata a 13.0 MHz e che le aree di me-
• Nel Project Workspace, sotto la car-
moria Read/Only off-chipROM1 Re-
tella Target Startup, rimuovi il file
ad/Write off-chip RAM1. Imposta l’avvio
LPC2300.s con tasto destro sui singoli
e le dimensioni delle aree di memoria
file e selezionando Remove File.... Ri-
come mostrato in figura 3.
muovi inotlre i file LPC23_EMAC.c, Figura 5. 
• Mantieni tali le impostazioni sul tab
ARM_irq.c, ARM_I2C.c, e ARM_SPI.c
Output e Listing. Il nome dell’eseguibi-
dalla cartella dei Target Driver.
le DEVE essere LabVIEW.
• Tasto destro sulla cartella Target Star-
• Passa al tab Asm. Nella Conditional
tup e seleziona Add Files to Group “Tar-
get Startup.” Sfoglia la cartella Lab- assembly control Symbols, nel campo
VIEW\Targets\Keil\Embedded\RealView\ Define, scrivi RAM_INTVEC, REMAP (fi-
LPC3180\Template\System e aggiungi i gura 4). Fatto questo, il codice di avvio
file LPC3000.s e Retarget.c copiati in copia i vettori di eccezione da una me-
questa cartella nel passo precedente. moria flash a bordo chip a una RAM a
• Configura le opzioni del project sele- bordo chip e ad una RAM a bordo chip
zionando l’icona Options for Target nel- all’indirizzo 0. Per la documentazione
la build toolbar. sui vari simboli SET, guarda l’inizio del
• Sul Device tab, seleziona NXP file di avvio del dispositivo (LPC3000.s).
LPC3180 nella lista dei produttori di • Nel tab Debug, seleziona Use: ULINK
CPU (figura 2). ARM Debugger.

- Tutti i file necessari al tutorial sono disponibili su www.fwonline.it

- per ulteriori approfondimenti visitare www.ni.com/info e inserire il codice ex75x6.


Figura 6. 

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Elettroshop iLCD demmel

Figura 7.

• Configura il Setup ARM Target Driver • Il tab Debug dovrebbe apparire come
cliccando sul pulsante Settings. Le im- in figura 6.
postazioni del Setup ARM Target Driver
• Nel tab Utilities, configura il Target
devono avere il Clock Max JTAG impo-
Driver per la programmazione Flash
stato su RTCK e tutte le opzioni di De-
Programming cliccando sul pulsante
bug spuntate (Cache Options, Downlo-
Setting.
ad Options, e Misc Options) come in
• Seleziona LPC2000 IAP2 512kB Flash
figura 5.
• Clicca OK per tornare sulla finestra e clicca sul pulsante Remove.
Options for Target. • Clicca sul pulsante Add. Nella nuova
• Assicurati che il comando Load Ap- finestra, evidenzia LPC3180 NAND Flash
plication at Startup sotto l’impostazio- SP e clicca su Add per tornare alla fi-
ne ULINK ARM Debugger, sia spuntato. nestra precedente.
• Aggiungi il file corretto di Initialization • Configura le restanti opzioni Flash
cliccando sul bottone sfoglia e sele- Download Setup come in figura 7 e
zionando il file Ext_RAM.ini preceden- clicca OK. Assicurati di impostare cor-
temente copiato nella stessa cartella rettamente i valori RAM for Algorithm
come project. Start e Size.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


• Torna sul tab Utilities e aggiungi il file • Clicca OK per tornare sul Project Wor-
corretto di inizializzazione, cliccando sul kspace.
bottone sfoglia e selezionando il file • Realizza la libreria selezionando l’ico-
Clock.ini precedentemente copiato nel- na Build Target sulla build toolbar op-
la stessa cartella come project. pure il Project»Build target sulla barra
• Clicca OK per tornare sul Project Wor- del menu principale.
kspace. Salva il progetto ed esci da Vi- • Quando la realizzazione è completa,
sion. un file LVAnalysis.lib apparirà Lab-
VIEW\Targets\Keil\Embedded\Real-
AGGIUNGERE SUPPORTO PER LE View\LPC3180\lib.
LIBRERIE DI ANALISI AVANZATA • Sfoglia la cartella LabVIEW\Tar-
• Sfoglia la cartella LabVIEW \ Tar- gets\Keil\Embedded\RealView\LPC3180
gets\Keil\Embedded\RealView\MCB2300. \ e apri TargetConfig.ini in un editor di
Copia la cartella e incollala su Lab- testo.
VIEW\Targets\Keil\Embedded\Real- • Sotto la riga che indica [FILES], ag-
View\LPC3180. Sotto la cartella LPC3180, giungi:
crearne una nuova chiamata “lib”. <LABVIEW>\Targets\Keil\Embed-
• Sfoglia la cartella LabVIEW\Tar- ded\RealView\LPC3180\lib\LVAnaly-
gets\Keil\Embedded\RealView\LPC3180 sis.lib = lib
\build e apri LVAnalysis.Uv2 nell’abien- salva e chiudi TargetConfig.ini.
te Vision.
• Configura le opzioni del project sele- SCARICARE ED ESEGUIRE
Figura 8.
zionando l’icona Options for Target nel- UN PROGRAMMA SUL TARGET
la build toolbar. Dopo aver modificato il template µVision
• Sul Device tab, seleziona NXP moria Read/Only off-chipROM1 Re- project, il prossimo passo prevede la
LPC3180 nella lista dei produttori di ad/Write off-chip RAM1. creazione di un LabVIEW Project, indi-
CPU. • Nel tab Output, clicca sul pulsante Se- rizzare il dispositivo e verificare che un
• Configura le impostazioni del Target lect Folder for Objects e cerca la cartella semplice VI sia compilato, scaricato ed
come mostrato in figura 8. LabVIEW\Targets\Keil\Embedded\Real- eseguito sul target. Prima di farlo, as-
• Assicurati che il sistema operativo sia View\LPC3180\build e clicca OK. sicuratevi di aver scaricato il boot loa-
impostato per l’utilizzo del RTX Kernel. • Nel tab Listing, clicca sul pulsante Se- der secondario per LPC3180 sul tar-
• Imposta il Code Generation for lect Folder for Objects e cerca la cartella get. L’esecuzione della memoria flash
Thumb-Mode, assicurati di spuntare il LabVIEW\Targets\Keil\Embedded\Real- non funziona correttamente senza il bo-
Cross-Module Optimization e assicu- View\LPC3180\build e clicca OK. ot loader secondario. Crea un nuovo
rati di NON spuntare il Use MicroLIB. Project:
• Assicurati di spuntare Xtal sia impo- • Apri LabVIEW e crea un nuovo pro-
stata a 13.0 MHz e che le aree di me- Figura 9. getto selezioando File»New Project.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Elettroshop - Parallax sensori

Figura 10.

• Nella finestra Project, salva il proget- • Per abilitare le funzioni di debug, se-
to selezionando File»Save As. Selezio- leziona Application Information sotto
na una cartella per il project che chia- la Category ed assicurati di aver spun-
merai LPC3180. tato l’opzione “Enable debugging”.
• Tasto destro sul project LPC3180. • Dopo, seleziona Advanced Debug-
lvproj e seleziona New » Targets and ging Options sotto la finestra Category
Devices. ed assicurati che il JTAG USB ULINK2
• Sotto Targets and Devices, espandi la sia selezionato in Debugging Mode.
cartella Embedded, seleziona il target • Seleziona i file Source sotto la finestra
LPC3180 e clicca OK.
di Category e seleziona Main.vi come
• Tornando sul Project Explorer, tasto
Top-level VI.
destro sul target LPC3180 e seleziona
• Clicca OK per tornare sul Project Ex-
New»VI.
plorer.
• Nel VI appena creato, ricrea il se-
• Vai sul front panel del Main.vi.
guente codice sostituendo un ciclo whi-
le e creando un indicatore sul loop ite- • Clicca sulla freccia di Run per com-
ration terminal. Inserisci un Wait (ms).VI pilare il VI, scaricalo sulla memoria flash
nel ciclo while e connetti una costante ed esegui il programma.
100 ai millisecondi nell’input wait (fi- • L’esecuzione corretta del VI dovrebbe
gura 9). incrementare l’indicatore numerico ap-
• Salva il VI come Main.vi. prossimativamente una volta ogni 100
• Nel Project Explorer, tasto destroy su ms per indicare il valore dell’iterazione
Build Specifications e seleziona terminale (figura 10).
New»Application. Codice MIP 2801985

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


di MARIANO SEVERI

high-performance
Un’introduzione all’architettura dei DSP TMS320C64x+ di Texas Instruments

a crescente diffusione di applica- ta path distinti, porta di configurazio-


L zioni di imaging e infrastrutture wi- ne, controller DMA interno, reset/boot
reless nel mercato consumer ed indu- controller (sono supportate le modalità
striale richiede lo sviluppo di soluzioni public e secure), interrupt/exception
hardware ad elevate prestazioni. Il controller, power-down controller e ti-
TMS320C64+, in particolare, è il mo- mer free-running a 32-bit; una descri- rial Specification V1.2 adottando un li- spositivi, ad esempio, AC’97, SPI, IIS
dello di punta della famiglia C6000 di zione dettagliata della struttura della vello di segnale CML differenziale e sup- ed IOM-2 supporta fino a 128 canali e lar-
processori DSP fixed-point di Texas In- CPU e delle sue funzionalità è riportata portando un data rate di fino a 3.125 ghezze di parola da 8 a 32 bit. Tre co-
strument. Basato sulla terza genera- nel paragrafo seguente. Tra le periferiche Gbps nelle modalità 1x/4x. Sono sup- processori dedicati presenti nei DSP
zione dell’architettura VLIW VelociTI di principali presenti a bordo dei DSP portate (come unità slave) le operazioni TMS320C64+ assicurano prestazioni
TI, realizzato in tecnologia a 65 nm e do- TMS320C64+, vi sono poi un controller di read, write, write con risposta, strea- elevate per le funzionalità di decodifica
tato di una capacità di calcolo di 9600 EMAC/MDIO con interfaccia SGMII per ming write ed atomiche previste dallo di canale nelle applicazioni in ambito
milioni di istruzione per secondo ad applicazioni Gigabit Ethernet, una porta standard con device ID ad 8 e 16-bit, telecomunicazioni, audio/video e wire-
una frequenza di clock di 1.2 GHz, di- UTOPIA, interfaccia Serial RapidIO, due indirizzamento a 34 bit e payload dati di less. VCP2 è un decoder Viterbi con
sponibile in range di temperatura este- porte seriali multi-canali McBSP, una fino a 256 byte. La porta UTOPIA (com- supporto per lunghezze di vincolo k =
so [-40;+100] °C, costituisce una solu- porta I2C, un controller EMIFA a 64 bit patibile con la specifica Level 2) imple- 5,6,7,8, 9 e rate R= 3/4, 1/2, 1/3, 1/4 ed
zione interessante ed economica per per dispositivi di I/O asincroni e sincro- menta invece un controller ATM con 1/5 in grado di decodificare in tempo
applicazioni DSP high-end. ni, una porta HPI configurabile per l’ac- supporto per funzionalità slave con in- reale oltre 694 canali audio adattativi
cesso di un processore host esterno al- terfaccia ad 8-bit e clock di 50 MHz per multi-rate a 7.95 Kbps. TCP2_A e
ARCHITETTURA INTERNA le risorse interne del dispositivo, un applicazioni di trasmissione e ricezio- TCP2_B sono invece decoder Turbo con
La figura 1 mostra uno schema di prin- controller per memoria DDR2 a 32 bit. ne dati high-speed. L’interfaccia McBSP supporto per applicazioni 3GPP e
cipio dell’architettura dei DSP L’interfaccia Serial RapidIO, in partico- supporta comunicazione sincrona full- 3GPP2. La memoria on-chip dei DSP
TMS320C64+. Il cuore del dispositivo è lare, è compatibile con le specifiche Ra- duplex, con schemi di framing e clocking TMS320C64+ include due cache (confi-
la CPU C64x+, dotata di otto unità di pidIO Interconnect Specification V1.2 indipendenti per le sezioni di trasmis- gurabili anche come RAM mapped) di
processing, due register files e due da- (Errata 1.2) e Physical Layer 1x/4x LP-Se- sione e ricezione; compatibile con i di- livello 1 di 32 Kbyte, distinte per dati e

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


programma, accessibili alla sola CPU; la
prima è di tipo 2-way set-associativa
mentre la seconda di tipo direct-mapped.
La cache di livello 2 di capacità 2048
Kbyte è invece comune ed accessibile
anche alle altre periferiche, come pure
una ROM L3 da 64 Kbyte. Un controller
DMA dedicato EDMA con supporto per
fino a 64 canali indipendenti assicura
trasferimenti memoria-memoria senza
intervento della CPU. Periferiche, unità di
elaborazione e banchi di memoria sono
connessi mediante una matrice di routing
on-chip che assicura trasferimenti dati
concorrenti, ridotta latenza, arbitraggio
nell’accesso alle risorse. La matrice,
che opera a una frequenza pari ad un ter-
zo di quella della CPU, consiste di una
Data SCR (Switched Central Resource)
bus ed un Configuration SCR bus. Il pri-
mo, con parallelismo di 128 bit, è usato
prevalentemente per trasferimenti dati
mentre il secondo, a 32-bit, per la con-
figurazione delle periferiche. La CPU
C64x+, i controller Serial RapidIO, HPI,
EMAC ed EDMA3 accedono alla matrice
SCR come master, mentre le restanti
periferiche dispongono di sola interfac-
cia slave.

CPU MEGAMODULE C64X+


La figura 2 mostra uno schema di det-
taglio della struttura interna della Me-
gamodulo C64x+ dei DSP TMS320C64+. Figura 1:
La CPU C64x+ include due sezioni, ognu- architettura dei
na avente quattro distinte unità funzionali DSP TMS320C64+.
ed un register file indipendente. I due 

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Figura 2: dettaglio dell’architettura della CPU Megamodule C64x+.

register file sono quindi connessi me- di bit. I dati supportati sono di tipo 8-bit
diante un cross path che consente ad packed, 16-bit packed, 32-bit, 40-bit e
una qualsiasi unità in una sezione di ac- 64-bit; per i tipi a 32/64 bit è consentito
cedere ad un operando sorgente cor- accesso in memoria in modalità non al-
rentemente presente nel register file del- ligned. La CPU dispone di porta a 256 bit
la seconda. Ogni register file consiste per l’accesso in sola lettura alla memoria
di 32 registri a 32-bit. programma interna e di due porte a 256
E’ implementato un insieme VLIW di istru- bit per l’accesso in lettura ed in scrittura
zioni a 32-bit che include operazioni arit- alla memoria dati.
metiche fixed-point su tipi con risolu- Integra un buffer dedicato per la gestio-
zione fino a 40 bit, istruzioni dedicate a 64 ne del pipeling in software dei loop del-
bit, operazioni di moltiplicazione com- l’applicativo che permette l’esecuzione in
plessa, packing, sorting e manipolazione parallelo delle diverse istruzioni del ciclo.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


La pipeline è strutturata in tre stadi : un agente monopolizzi l’accesso alla ri-
fetch, decode ed execute. Gli stadi di sorsa) e di protezione della memoria. La
fetch e decode richiedono, rispettiva- memoria è partizionata in pagine ad
mente, quattro e due cicli per una qual- ognuna delle quali è associato un insie-
siasi istruzione mentre il tempo di ese- me di permessi che ne determinano le
cuzione della stessa (fino ad un massimo modalità di accesso; i diversi processi
di 5 cicli) dipende dalla particolare ope- software possono essere quindi esegui-
razioni. Le unità funzionali possono co- ti in modalità supervisor od utente. Nel-
munque eseguire istruzioni in parallelo. la particolare modalità freeze, poi, è in ge-
Sono di tipo .M, .L, .D ed .S. Le unità di ti- nerale preclusa l’allocazione di nuove
po .M, ad esempio, supportano istruzio- linee in memoria cache in caso di read
ni standard per l’esecuzione di una sola miss ed è inibita l’invalidazione di linee Figura 3: la scheda di sviluppo TMS320C6457 Lite.
moltiplicazione tra operandi a 32 bit (o di presenti nella cache stessa; tale funzio-
fino a 4 moltiplicazioni in parallelo tra eccezione, anch’essa associabile a com- ra 3). Realizzata con fattore di forma
nalità è spesso utile in applicazioni real-
operandi a 16 bit) ed istruzioni dedicate binazioni di eventi nell’Interrupt Con- AMC single wide, il kit include il proces-
time, ad esempio, nel contesto della ge-
di moltiplicazione sui campi di Galois troller. sore DSP C6457 (nella versione con fre-
stione delle interruzione. A livello 1, la
per applicazioni nel settore della comu- Il power-down controller assicura una quenza di clock massima 1 GHz) con
cache istruzioni supporta operazioni di
nicazione digitale. gestione dinamica della potenza assor- 256 MByte di memoria DDR2 ed emula-
coerenza program-initiated; la cache da-
Oltre alla CPU C64x+, come si vede dal- bita dal DSP TMS320C64+, consentendo tore JTAG on-board (accessibile me-
ti risulta invece sempre coerente con
la figura 2, il Megamodulo C64x+ dei di disabilitare sezioni del Megamodulo diante connettore mini-USB). Sono di-
l’attività del controller DMA sulla RAM
DSP TMS320C64+ di TI include il con- non utilizzate; ovviamente, le periferi- sponibili, per connessioni esterne, le
L2. La cache di livello 2 è di tipo 4-way
troller delle cache di livello 1 e 2, un con- che presenti nel dispositivo possono a lo- porte Ethernet, McBSP e GPIO, oltre ad
set-associative. L’Interrupt Controller
troller DMA interno per i trasferimenti ro volta essere disabilitate mediante un header per Trace Pod. Il kit è distri-
supporta fino a 128 diverse sorgente di
dati tra queste e verso la porta di confi- istruzioni dedicate. La memoria cache buito unitamente ad una versione spe-
interruzioni, vettorizzate e mascherabili
gurazione, l’interrupt controller, un con- L1 è disabilitabile in fase di configura- cifica per esso dell’IDE Code Compo-
oltre agli eventi non mascherabili e di
troller per la modalità di power-down e zione hardware ed è disabilitata dina- ser. Una libreria di supporto software
reset. La CPU C64x+ dispone di 12 li-
l’Extended Memory Controller per l’ac- micamente durante l’esecuzione del- consente lo sviluppo di applicazioni in
nee di interruzione associabili diretta-
cesso alle restanti periferiche presenti l’istruzione SPLOOP. La memoria cache breve tempo; la disponibilità degli sche-
mente ad altrettanti ingressi dell’Interrupt L2 è disabilitabile mediante istruzione
all’interno del dispositivo. I controller di mi elettrici e dei file gerber del circuito
controller od a combinazioni di questi software come lo sono pure la sola CPU
memoria cache supportano funzionalità stampato semplifica la realizzazione di
(fino ad un massimo di 4 combinazioni di- e l’intero Megamodulo.
di controllo di banda (al fine di evitare che schede proprietarie.
verse di 32 interruzioni) e di una linea di
Per applicazioni più complesse è anche
PIATTAFORME DI SVILUPPO disponibile la versione TMDXEVM6457
Per valutare prestazioni e caratteristi- EVM, che dispone a bordo di due dispo-
che dei DSP TMS320C64+, TI rende di- sitivi DSP C6457 interconnessi median-
sponibili a costi contenuti la scheda di te interfaccia Ethernet e Serial RapidIO.
- [1] http://focus.ti.com/docs/prod/folders/print/tms320c6457.html
sviluppo TMS320C6457 Lite EVM (figu- Codice MIP 2801158

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


ster Boot Record contiene una tabella di 0000:7C00 e l’INT 19 esegue un salto

Embedded
quattro 4 entry denominata partition assoluto a questo indirizzo. Nel caso
table. Dopo l’accensione, e terminata la invece che non venga trovato un setto-
fase di POST (power on self test), il re di boot il codice contenuto all’interno
BIOS effettua la chiamata all’INT 19. dell’ INT 19 cerca di leggere l’MBR del
La INT 19 è stata realizzata, ed è di- primo hard disk rilevato. Una volta tro-
sponibile a livello applicativo, per gestire vato, il master boot record è copiato
la sequenza di boot; infatti, la INT 19 alla locazione di memoria 0000:7C00. Il
legge, solitamente, il settore di boot programma che viene eseguito all’in-
all’interno del floppy disk. Ad ogni mo- terno dell’MBR legge la propria partition
do, è opportuno ricordare che anche table alla ricerca di una partizione atti-
con la pressione della combinazione va (bootable).Se la ricerca ha esito po-
L’open source, o meglio l’open hardware, è stato pensato anche per le carattere CTRL-ALT-Del si richiama sitivo, il boot sector di questa partizio-
piattaforme PC? ZF Micro Solutions intende rispondere a questa domanda l’esecuzione dell’ INT 19, ma in questo ne viene copiato alla locazione di
suggerendo il suo ZFx86: un progetto realizzato con l’intento di suggerire caso viene eseguita a seguito di un memoria 0000:7C000 e il codice del-
POST ridotto. Se durante la lettura del l’MBR esegue un salto a all’indirizzo
una piattaforma low cost e low power per piattaforme Intel
floppy viene rilevato un boot sector, relativo. Al contrario, se non viene tro-
di FRANCESCO PENTELLA questo viene copiato all’indirizzo vata nessuna partizione attiva allora

i certo non è Arduino, ma ZF Mi-


D cro Solutions vuole iniziare una nuo-
va fase suggerendo la sua piattaforma
stema operativo, o un’applicazione re-
sidente in memoria, in luogo di quello di
casa Microsoft. A questo proposto può
di lavoro pensata e realizzata per il seg- essere opportuno spendere alcune pa-
mento embedded PC. Non solo, l’ar- role sul Master Boot Record (MBR).
chitettura così definita da ZF è anche Li-
nux compatibile; infatti, il suo ZFx86 MASTER BOOT RECORD
Easy Embedded PC System (EEPC) è Il Master Boot Record (MBR) si trova
stato realizzato utilizzando la tecnologia posto all’interno del primo settore di
SoC e dissipa solo 5W offrendo diverse un disco rigido. In particolare, l’MBR
interfacce, oltre a garantire la compa- si trova a cylinder 0, head 0, sector 1.
tibilità verso differenti sistemi operativi. L’utilizzatore può accedere a questa
Le figure 3 e 4 mostrano la board EEPC particolare configurazione con una del-
di ZF Micro Solutions. Il prodotto di ca- le utility presenti in commercio o, in al-
sa ZF è davvero flessibile perché per- ternativa, può utilizzare benissimo un
mette di aggiungere diverse opzioni di programma open source. Secondo lo
boot al fine di eseguire un diverso si- standard di casa Microsoft, ogni Ma- Figura 1: Master Boot Record. 

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


re sono composti da codice eseguibile,
i sucessivi 80 bytes (da 8Bh a DAh)
contengono messaggi di errore. Gli ul-
timi 66 byte del settore contengono i 64
byte della tabella di partizione (da 1BEh
a 1FDh). I dati contenuti all’interno del-
l’area della tabella dipenderanno dalle
dimensioni, dal tipo di partizione e dal
tipo di file system all’interno della par-
tizione.
Il settore termina con l’identificatore
Figura 2: zfx86.  AA55h, chiamato anche magic number.
Durante il POST il bios fa una ricerca del
viene eseguito una chiamata a INT 18 e
magic number e, nel caso non venga
il sistema si ferma. È opportuno ricor-
dare che ogni sistema operativo ha il
- [1] www.zfmicro.com, sito del progetto EEPC dov’è
proprio formato di boot sector. Gene- possibile recuperare la documentazione associata e il
ralmente il piccolo programma all’in- Figura 3: zfmicro eepc.  codice sorgente del lavoro di ZF.
terno del boot sector localizza la prima
parte del loader del kernel del sistema
operativo oppure direttamente il ker- TABELLA 1 – SPECIFICHE DELLA EEPC BOARD NETWORKING:

nel stesso o, ancora, un programma 10/100 integrated MAC/PHY (Realtek RTL8139DL)


gestore di boot, e lo copia in memoria. PROCESSOR:
ZFx86 @ 100MHz with ZF BIOS; 486 DX4 with FPU and 8K L1 cache EXPANSION:
Ricordiamo che la sequenza di ricerca
PCI 32-bit // ISA 16-bit
del boot sector, chiamata anche se-
quenza di boot, generalmente è confi- MEMORY:
gurabile tramite il setup del Bios. OTHER I/O:
128MB of 32-bit SDRAM (quad 2M x 32 DRAM)
Ricordiamo che il codice del master 1 x VGA ,1 x RS232, 1 x parallel, 1 x Ethernet (RJ45 connector), RS232 10-pin
boot record inizia all’offset 0000, i mes- (COM2), LCD 40-pin, PS2 keyboard/mouse, 2 x USB, 2 x IDE 40-pin, Floppy 34-
STORAGE:
saggi del Master Boot Sector iniziano, al pin, Z-tag header
contraro, all’offset 008b. Non solo, la 128MB SSD with IDE interface (either Apacer ADC II or SST NAND Drive
partition table inizia all’offset 01be, SST85LD0128); DR DOS 7.03 pre-installed OTHER FEATURES:
mentre la segnature si trova all’offset 56Kbps Radicom modem; uses one COM2 RS232 port
01fe. La figura 1 mostra il contenuto di DISPLAY:
un Master Boot Sector tipico. In effetti,
Silicon Motion SM712 video controller with integrated memory (4MB), OPERATING SYSTEM:
dalla figura si nota che i primi 139 bytes
supporting up to 1024 x 768 resolution and dual VGA and LCD display Linux & Windows CE
(da 00h a 8Ah) dei 512 bytes del setto-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


trovato, visualizza un messaggio di er- ZFX86 DI ZF
Listato 1 – Hello World con boot.asm 
rore del tipo “Drive not ready” Il progetto è basato sulla piattaforma
I rimanenti 227 bytes (da DBh a 1BDh) ZFx86 SoC con una frequenza di lavoro ; code located at 0000:7C00, adjust segment registers
sono messi tutti a zero. di 100 MHz e rappresenta l’evoluzione cli
del precedente MachZ. Il SoC ZFx86, fi- mov ax, 0x07C0
mov ds, ax
HELLO WORLD gura 2, si basa su un’architettura da 32
mov es, ax
Ecco il solito esempio fatto per com- bit con la compatibilità verso il modulo
mov fs, ax
prendere meglio ciò che si dice. Il li- 486. La piattaforma permette di gestire mov gs, ax
stato 1 mostra un esempio su come interfacce PCI e ISA bus controller, por- ; create stack
realizzare una utility di boot utilizzando te USB, seriali e porte parallele. Non mov ax, 0x0000
NASM. Così si crea un file binario: solo, stando alle specifiche, il compo- mov ss, ax
nente permette di utilizzare le cosid- mov sp, 0xFFFF
sti
NASM boot.asm -o boot.bin -f bin dette le I/O general purpose. Il proget-
; post message
to è stato a anche così realizzato per
mov si,msgHello
Successivamente, occorre disporre di garantire la compatibilità con le piatta- call DisplayMessage
un floppy disk, cosa difficile oggi gior- forme PC al fine di utilizzare i vari di- mov si, msgEnd
no, per realizzare un disco di boot at- spositivi esterni quali keyboard, mouse, call DisplayMessage
traverso il programma format con il co- IrDA, floppy e interfacce hard drive. ZF hlt
mando: assicura anche la presenza di interfac- ; Display Message
ce video e di rete senza avere la ne- DisplayMessage:
lodsb ; load next character
format a: /q cessità di utilizzare chipset esterni. A
or al, al ; test for NUL character
questo proposito la figura mostra la
jz .DONE
In seguito con il programma Debug.exe sua architettura e la tabella 1 pone in mov ah, 0x0E ; BIOS teletype
copiamo il nostro programma: evidenza le caratteristiche tecniche del mov bh, 0x00 ; display page 0
prodotto. ZF utilizza il suo ZF BIOS che mov bl, 0x07 ; text attribute
debug boot.bin sovrintende alla gestione di tutte le pe- int 0x10 ; invoke BIOS
-W 100 0 0 1 riferiche. Il Bios di casa ZF è basato jmp DisplayMessage
-Q sul prodotto della Phoenix Technolo- .DONE:
ret
gies. ZF, per garantire il boot con diffe-
; data section
Al termine, una volta inserito il floppy nel renti sistemi operativi, ha definito un
msgHello db 0x0D, 0x0A, “Ciao Gente”, 0x0D, 0x0A, 0x00
driver e riavviato il computer, possiamo nuovo gestore dell’eccezione Int19 in- msgEnd db 0x0D, 0x0A, “Questo funzione!!!”, 0x0D, 0x0A, 0x00
vedere il seguente messaggio sul mo- tegrato perfettamente con il BIOS al fi-
nitor: ne di garantire un multiple option-ROM ;ASM Signature
o Extension-Rom di immagini binarie TIMES 510-($-$$) DB 0
Ciao Gente che risiedono nella stessa flash del DW 0xAA55
BIOS. In questo modo tutte le immagi-
CLICCA QUI PER SCARICARE I LISTATI
Questo funziona!! ni binarie che costituiscono un’appli-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Figura 5:
flusso di esecuzione. 

cazione, definita embedded, potrebbe-


ro utilizzare la stessa memoria flash.
Con il gestore Int19handler è possibile
intromettersi nel flusso di esecuzione
poco prima che il sistema operativo
venga avviato per gestire le diverse
modalità di funzionamento. Al termine
del processo di boot tutti i componen-
ti presenti risultano già inizializzati e, in
base alle differenti Option-Rom iden- Figura 4: EEPC.
tificati in questa fase, il modulo funzio-
nale ZFx86 può mettere in esecuzione i fase di boot originale. Così, quando il
diversi programmi applicativi o i diver- BIOS è pronto di fare il boot da disco,
si sistemi operativi presenti in flash. questo invoca il vettore 19 e il control-
Abbiamo già scritto che il vettore INT19 lo è trasferito al gestore ZF dell’int19. Le
è utilizzato dal BIOS subito dopo la fa- modifiche introdotte da ZF permettono
se di POST al fine di caricare ed ese- di gestire in modo più flessibile le di-
guire qualsiasi codice di Boot presente verse opzioni di boot. In effetti, il nuovo
in memoria, su hard drive o disco. L’im- ZF int19 inizializza i registri di segmen-
plementazione fatta sul BIOS del ZF si to (DS e ES), oltre a definire il nuovo
basa sull’opportunità di gestire diverse stack verso la nuova area di memoria.
sequenze di boot: il vettore int19 inter- Il vettore int19 si pone alla ricerca del-
cetta qualsiasi richiesta del BIOS e va le zone di memoria secondo il parame-
alla ricerca di sequenze addizionali di tro imposto a mem_cs0 definito dal
boot Rom utilizzando le diverse imma- Bios della Phenix attraverso l’utility pre-
gini presenti in memoria attraverso sente sulla board dal menu:
un’opportuna gestione del chip select. Advanced > Advanced Chipset Control
Se, in base alle richieste operate, il vet- > ISA Memory Chip Select setup
tore 19 trova una nuova sequenza di Per fare questo è necessario leggere
boot, allora si trasferisce il controllo le pagine Flash PAGE, Window BASE,
verso l’immagine presente in memoria. Window SIZE, e Full ISA dai registri ZF-
Il programma così attivato assume il Logic.
pieno controllo del PC non cedendo Se il gestore int19 trova solo i valori
più il controllo al chiamante. Al contra- imposti per default allora non è richesta
rio, se il vettore non trova nessuna im- nessun tipo di controllo e il gestore non
magine allora si restituisce il controllo al si discosta dalla sequenza tradizionale.
processo chiamante per continuare la In caso contrario, il gestore si pone in

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Elettroshop - oscilloscopio usb poscope

Figura 6:
Loader Linux.

modalità option-ROM e utilizza il con- l’estensione, la routine associata del


tenuto del registro ES che determina il vettore int19 assegna una firma digi-
segmento che deve essere analizzato. tale nel registro EDX. L’estensione uti-
Prima di invocare l’estensione del co- lizza questa firma per determinare la
dice, il gestore deve verificare che il sequenza di chiamata. Esiste una va-
valore del checksum sia corretto. riabile di sistema che contiene il limite
Il checksum è calcolato per ogni blocco per la scansione, raggiunto il limite
e la somma di tutti i blocchi si trova l’estensione passa il controllo alla rou-
nel registro DH. A questo punto esisto- tine int19 originale. La figura 5 mostra
no due possibili alternative. Quando il flusso di esecuzione dell’estensione
tutti i blocchi sono stati verificati e il implementato da ZF su BIOS Phoenix.
valore del checksum in DH è uguale a Il nuovo gestore del vettore int19 offre
zero, il gestore comprende che l’op- una differente e originale sequenza di
tion-ROM è corretto. Al contrario, quan- boot estremamente flessibile: basta
do il checksum non è uguale a zero al- modificare il valore di mem_cs0 per in-
lora, in questo caso, l’esecuzione della dirizzare regioni diverse. La figura 6, al
parte opzionale è terminata e si conti- contrario, mostra le diverse zone di me-
nua a ricercare nell’area successiva. moria utilizzate dal loader di Linux con
Prima però di chiamare il codice del- la modalità opzionale.
Codice MIP 2783919

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


facile
Con i moduli Sena
a tecnologia Zigbee sta penetran-
Technologies,
integrare Zigbee
L do sempre di più nel mercato so-
prattutto in applicazioni di domotica,
nella propria telemetria e in tutte quelle situazioni in
applicazione diviene cui è richiesto lo scambio di una esigua CARATTERISTICHE

un’operazione quantità di dati a velocità piuttosto ele- - supporto della connettività wireless Zigbee®/Zigbee Pro 2007

semplice, veloce e vate. Aggiungere la connettività Zig- - Coprocessore integrato 2.4GHz, IEEE 802.15.4-compliant
bee ad una applicazione esistente non - Diversi tipi di opzioni di antenna per le varie necessità, per coprire distanze fino a 1.6km con l’anten-
poco costosa
è però cosa semplice, sia per le diffi- na opzionale 5 dBi dipolare
coltà progettuali (soprattutto nel layout - Potenza in trasmissione: +20dBm E.I.R.P (max.)
del circuito stampato), sia per le pro- - Sensibilità del ricevitore: -102dBm @1% BER
blematiche relative alle certificazioni di - Corrente TX: 190mA @3.3V (max.)
prodotto.
- Corrente RX: 45mA @3.3V (max.)
Queste difficoltà possono essere facil-
- Corrente Sleep: = 2uA
mente superate grazie all’impiego dei
- Segnali Full UART supportati: UART_TXD/RXD, RTS/CTS, DTR/DSR
moduli OEM ProBee-ZE di Sena che
- 4 Ingressi analogici, 13 Inputs/Outputs digitali
operano una conversione UART/Zig-
- Supporto di varie funzionalità di auto gestione in modalità wireless come l’aggiornamento del firmwa-
bee consentendo di gestire le trasmis-
sioni dati semplicemente attraverso la re e la configurazione del sistema mediante set di comandi AT

porta UART del microcontrollore già - Tool Windows per la configurazione facile da usare
impiegato nell’applicazione.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


ZigBee e pienamente certificato sotto
l’ultimo standard ZigBee Pro 2007 per la
massima compatibilità. Nonostante il
suo basso costo in termini economici ed
energetici, ZE10 fornisce alte presta-
zioni e una robusta capacità di trasfe-
rimento dati per un vasto numero di
applicazioni. ZE10 può trasferire i dti
Figura 3: la versione fino a 250 kbps e raggiungere fino a
con antenna esterna. 1.6 km (1 miglio) di copertura wireless in
campo aperto.
In figura 1 è riportato il pinout del di-
spositivo. Le dimensioni sono di 52mm
x 23mm x 11mm.

VERSIONI DISPONIBILI
Figura 4:
I moduli Zigbee di Sena Technologies
versione con
sono distribuiti in Italia da Elettroshop
connettore
MMCX. (www.elettroshop.com) nelle seguenti
versioni:
MODULO PROBEE-ZE10 • ZE10C-00 Modulo ProBee ZE10
ProBee-ZE10 è un modulo OEM Zig- ZigBee OEM
Bee integrato con core ZigBee e cir- con Chip Antenna
cuiti radio/antenna integrati e viene for- • ZE10U-00 Modulo ProBee ZE10
nito con una libreria software di alto ZigBee OEM con
livello, in modo che i produttori OEM connettore mmcx
possano integrare in modo semplice, • ZE10S-00 Modulo ProBee ZE10
Figura 1: pinout del modulo ProBee-ZE10. ZigBee OEM con
rapido ed economico la funzionalità
ZigBee nei propri prodotti target. Il mo- connettore RPSMA
dulo OEM ZE10 è progettato per sod- E’ disponibile inoltre uno starter kit
disfare richieste specifiche per appli- che contiene un pezzo di ciascuno dei
cazioni wireless low-cost e low-power tre moduli, una scheda di sviluppo,
Figura 2: i moduli Zigbee quali automazione domestica o smart tre antenne dipolari, il Cdrom con tut-
sono disponibili anche boxati con energy adottando la tecnologia ZigBee. ta la documentazione, il cavo seriale e
interfaccia RS232.
ZE10 è basato sul core Ember EM250 il cavo USB.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


L’impiego
bassa velocità e quelli per la genera-

+Analog zione di forme d’onda ad alta velocità.


Questo articolo si occupa dei DAC per
applicazioni a bassa velocità, sia ad

PROGETTAZIONE
dei convertitori alta che a bassa risoluzione, regola-
zione approssimativa o di precisione.
Quando si sceglie un DAC a bassa ve-
locità è importante definire se il pro-
SECONDO getto riguarda un sistema a loop chiu-
NORMATIVE so, a loop aperto o di tipo “set and
(seconda parte) forget”. Ognuno di questi sistemi ri-
Affinché un sistema chiede un DAC con determinate ca-
di MARK THOREN ratteristiche.
elettronico sia
certificato, è SISTEMI A LOOP CHIUSO
necessario il I sistemi a loop chiuso hanno un per-
rispetto, in fase di corso di feedback per individuare e
progettazione, di correggere eventuali errori. Un sensore
numerose controlla l’uscita da un parametro fisico,
ad esempio un servomotore, una valvola
normative. Ecco un
di scarico o un elemento di rilevamento
esempio pratico di
della temperatura. Quindi il sensore tra-
progettazione. smette i dati a un controller che utilizza
queste informazioni per stabilire se oc-
corre o meno una correzione. I DAC e i
convertitori analogici-digitali (ADC) co-
Figura 1: esempio di sistema a loop chiuso. 
stituiscono il cuore di un sistema a loop
chiuso. Il DAC viene usato nel percorso
di feedforward per eseguire regolazio-
I convertitori uando si tratta di scegliere un con-
digitali-analogici Q vertitore digitale-analogico (DAC),
ni nel sistema, mentre l’ADC viene usa-
to nel percorso di feedback per verifi-
costituiscono il cuore i progettisti hanno a disposizione una care l’effetto di tali regolazioni. Insieme
vasta gamma di circuiti integrati. I DAC i due dispositivi forzano e rilevano i se-
dei sistemi a loop aperto,
possono essere suddivisi in varie cate- gnali di controllo analogici per esegui-
chiuso e di tipo “set
gorie per applicazioni specifiche. Si re regolazioni reali al parametro che
and forget” può restringere il campo distinguendo stanno controllando. Il controllo di un
tra quelli adatti per regolazioni DC o a motore è un esempio di sistema a loop

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


chiuso (figura 1). Prima viene applicata fornire al motore la corrente di aziona- feedforward, il suo errore di non linearità
l’uscita desiderata (setpoint) al controller mento necessaria. Nello stadio succes- integrale (INL) viene compensato auto-
che la confronta con il segnale di feed- sivo di questo sistema a loop chiuso vie- maticamente. L’errore INL è lo scosta-
back. In caso sia necessaria una corre- ne usato un tachimetro per misurare la mento dell’effettiva funzione di trasferi-
zione, il controller regola il codice di input velocità di rotazione del motore. Il se- mento all’uscita del DAC dalla funzione di
del DAC che a sua volta produce una gnale della rotazione è l’uscita effettiva, o trasferimento ideale. Il DAC deve tuttavia
tensione analogica sulla sua uscita. La variabile di processo, del sistema a loop avere una buona non linearità differenziale
tensione di uscita del DAC viene amplifi- chiuso. Un ADC digitalizza l’uscita del (DNL) ed essere monotonico rispetto al
cata con un apposito amplificatore per tachimetro e trasmette i dati al controller numero di bit specificati nella scheda
dove un algoritmo determina se è ne- tecnica. L’errore DNL è la differenza tra la
cessario effettuare una correzione al- variazione di tensione effettiva all’uscita
l’uscita del DAC e, quindi, al motore. In analogica del DAC e il gradino di tensio-
questo modo l’errore viene ridotto a un li- ne ideale uguale a 1 LSB (Least Signifi-
vello accettabile. Il feedback in teoria cant Bit) nel codice di input del DAC.
consente al sistema a loop chiuso di Con un DAC monotonico l’uscita analo-
compensare tutti gli errori, limitando gli ef- gica aumenta sempre o rimane uguale
fetti derivanti da eventuali fonti casuali di con un aumento del codice digitale (e
rumore, temperatura, coppie o forze di di- viceversa). Un dato DNL sempre mag-
sturbo o altri segnali indesiderati. Le giore di -1LSB comporta monotonicità. La
prestazioni di un sistema a loop chiuso di- figura 2 descrive la funzione di trasferi-
pendono dalla precisione del percorso mento della tensione di uscita analogica
di feedback, inclusi il sensore e l’ADC. In e il codice di input del DAC. Se il DAC non
è monotonico, vi è una regione in cui il fe-
pratica il percorso di feedback compen-
edback negativo diventa positivo, il che
sa gli errori nel percorso di feedforward.
può provocare un’oscillazione che alla
Figura 2: funzione di trasferimento DNL. Dato che il DAC si trova nel percorso di
fine potrebbe distruggere il motore.

SISTEMI A LOOP APERTO


I sistemi a loop aperto non hanno un
percorso di feedback, il sistema cioè
deve essere preciso in modo autonomo.
Il controllo a loop aperto è utile per i si-
stemi ben definiti in cui è noto il rappor-
Figura 3: to tra il codice di input e l’azione risul-
esempio di tante sul carico. Se il carico non è
sistema a prevedibile, è meglio usare un controllo a
loop aperto. loop chiuso. Nella figura 3 è illustrato un

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


esempio di sistema a loop aperto. In 5V ha un LSB di 1,2mV e un DAC a 16 bit SISTEMI “SET AND FORGET”
questo esempio il DAC comanda il pin ha un LSB di 76mV. Questo significa che, Una terza applicazione in cui la lineari-
della tensione SET del regolatore lineare per un DAC ideale, ogni aumento del co- tà del DAC riveste un ruolo importante
LT3080. Il pin SET è l’entrata dell’ampli- dice digitale deve comportare un au- sono i sistemi “set and forget”. In que-
ficatore di errore e il setpoint di regola- mento dell’uscita analogica 76mV. Altri sti sistemi la regolazione o taratura vie-
zione per la tensione di uscita. La ten- parametri importanti del sistema a loop ne eseguita una volta sola, probabil-
sione di uscita dell’LT3080 va da 0 volt aperto sono l’offset, l’errore di guadagno, mente al momento della produzione o
alla tensione nominale di uscita massima l’errore della tensione di riferimento e la durante l’installazione. Il sistema inizia
assoluta. stabilità di questi parametri rispetto a
così a operare a loop chiuso, poi passa
La risoluzione del DAC determina l’enti- tempo e temperatura. L’INL è partico-
al loop aperto.
tà delle regolazioni del pin SET. Ad esem- larmente importante perchè, diversa-
Pertanto qualsiasi parametro associato
pio, un DAC a 8 bit con un riferimento di mente dal sistema a loop chiuso, ha
alla precisione iniziale (offset, errore di
Figura 4: esempio di sistema “set and 5V ha un LSB di 5V / 28 = 19,5mV. Un un’attinenza diretta con la linearità ge-
guadagno, INL) non è essenziale in
forget”. DAC a 12 bit con lo stesso riferimento di nerale del sistema.
quanto viene compensato durante la
regolazione. Ma, una volta eliminato il
feedback, la stabilità diventa fonda-
mentale. I dati tecnici che indicano sta-
bilità sono la deriva dell’errore di gua-
dagno, la deriva di offset e la deriva di
riferimento. La figura 4 mostra un
esempio di applicazione “set and for-
get”. In questa figura un DAC a risolu-
zione più bassa comanda un amplifi-
catore a guadagno programmabile che
imposta la tensione in un pin di regola-
zione dell’offset per un DAC di preci-
sione. Il DAC a bassa risoluzione viene
usato per tarare l’offset del guadagno
dal DAC di precisione durante la tara-
tura iniziale del sistema. Questo codice
di regolazione può essere salvato in
una memoria non volatile e caricato
ogni volta che il sistema viene acceso.

Figura 5: confronto tra LTC2656 e LTC2600.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


DNL ±1LSB consentono un controllo di L’LTC2656 offre un errore di offset mas- Linear Technology offre una gamma di
precisione nel percorso di feedforward. simo molto basso, ±2mV. L’errore di DAC singoli, a due e quattro uscite che
Come già spiegato, l’errore feedfor- guadagno indica in che modo la pen- forniscono fino a ±10V alle uscite.
ward non è importante nei sistemi a lo- denza della funzione di trasferimento L’LTC1592 è un esempio di DAC a 16 bit
op chiuso purché il DAC sia monotoni- reale corrisponde alla pendenza della singolo che include due range di ten-
co. Invece il nuovo LTC2656 è un DAC funzione di trasferimento ideale. A vol- sioni di uscita programmabili unipolari e
ottale che offre 16 bit di monotonicità e te l’errore di guadagno e l’errore di fon- quattro bipolari. Tali range includono
un ottimo errore INL ±4LSB per gli otto doscala vengono usati in modo inter- tensioni di uscita da 0V a 5V, da 0V a
DAC, il che lo rende una potenziale so- cambiabile, ma l’errore di fondoscala 10V, ±2,5V, ±5V, ±10V e da -2,5V a 7,5V.
luzione per i sistemi sia a loop chiuso comprende sia l’errore di guadagno che Pertanto lo stesso DAC può essere usa-
che a loop aperto. L’INL tipico e il co- l’errore di offset. to per sistemi sia unipolari che bipola-
Figura 6: diagramma a blocchi
dell’LTC2656. 
dice dell’LTC2656 sono indicati nella L’LTC2656 offre il massimo errore di ri, senza dover riprogrammare comple-
figura 5 per tutti gli 8 DAC del package. guadagno ±64LSB che equivale a un tamente il controller. Ad esempio, per
MASSIMA ATTENZIONE L’LTC2656 offre l’INL migliore della sua massimo molto basso dello 0.098% del cambiare il range di tensioni in uscita
ALLE SPECIFICHE DC DEL DAC categoria di DAC ottali a 16 bit. fondoscala (64/ 65,536). Un DAC con del DAC da 0V-5V a ±10V basta cam-
Una volta stabilito il tipo di sistema (a lo- Non è facile ottenere una linearità ele- errori di offset e di guadagno molto biare un paio di bit nel bitstream se-
op chiuso, a loop aperto o “set and for- vata su otto DAC in un unico package. buoni consente al sistema di eliminare riale verso il DAC.
get”), si deve scegliere il DAC migliore La progettazione deve tener conto del- il ciclo di taratura del software nel con-
per il caso in questione. Come spiega- le sollecitazioni e delle variazioni di ten- troller o nell’FPGA. CONCLUSIONI
to in precedenza, alcune applicazioni ri- sione con la temperatura. Anche un DAC che devia pochissimo I DAC sono elementi fondamentali dei
chiedono una regolazione approssima- E’ molto più facile per un solo DAC rag- in termini di tempo e temperatura sem- sistemi a loop chiuso,a loop aperto o
tiva, per cui al sistema serve solo un giungere specifiche INL più rigorose. plifica il progetto perchè il progettista “set and forget”. Ognuno di questi si-
numero limitato di impostazioni variabili. Ad esempio, l’LTC2641 di Linear Te- non ha bisogno di effettuare spesso la stemi necessita di DAC con livelli di-
In questo caso è sufficiente un DAC chnology è un DAC a 16 bit singolo che taratura. versi di precisione e risoluzione. Per
con 8 o 10 bit di risoluzione. Il DAC a 12 offre il massimo in fatto di specifiche DC una determinata risoluzione vi sono an-
bit offre la risoluzione adeguata per i si- di INL ±1LSB e DNL. Oltre a INL e DNL, DAC CON USCITA A ±10V che compromessi su fattori quali prez-
stemi che richiedono una regolazione le altre specifiche DC da prendere in I DAC citati in precedenza sono utili zo, dimensioni del package, precisione
più precisa. La risoluzione più precisa considerazione sono l’errore di offset (o per sistemi da 0 a 5 V ad alimentazione di riferimento e impedenza di uscita.
per LSB è garantita dai DAC a 16 e 18 errore di scala zero) e l’errore di gua- singola, o unipolare. Invece alcuni si- Per i sistemi ad altissima precisione è
bit. L’LTC2600 è un DAC ottale a 16 bit dagno (o errore di fondoscala). L’errore stemi a loop chiuso, a loop aperto o importante che la scelta del DAC non
progettato per sistemi a loop chiuso, di offset indica in che modo la funzione “set and forget” richiedono DAC a ±10V. venga fatta solo in base al numero dei
il che si evince dalle sue specifiche DC. di trasferimento reale corrisponde alla Per questi sistemi ad alta tensione i bit indicati nella prima pagina della
L’INL tipico è ±12LSB, con un massimo funzione di trasferimento ideale in cor- progettisti possono usare un DAC da 0 scheda tecnica, ma anche in base al
di ±64LSB. Questi dati, insieme alla ti- rispondenza o vicino al codice di input a 5 V unipolare con amplificatore a gua- grado di precisione delle specifiche DC
pica curva INL e il codice di input, sono a scala zero. L’errore di offset è molto dagno programmabile per commutare il come INL, DNL, errore di offset e di
indicati nella riga in basso della figura importante per le applicazioni che ri- guadagno e il livello oppure il DAC può guadagno.
5. La monotonicità a 16 bit e l’errore chiedono un controllo di precisione. fornire direttamente un segnale a ±10V. Codice MIP 2801148

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


51
+ Analog PROGETTAZIONI SECONDO
L’IMPIEGO DEI
CONVERTITORI
DAC
SECONDA PARTE el numero precedente sono state e d’uscita. Comunque saranno forniti i
I convertitori
digitali-analogici N analizzate le varie normative e i pri-
mi stadi del sistema di alimentazione
dati costruttivi del trasformatore pre-
sente sul prototipo che, essendo stato
costituiscono il di PAOLO NARCISI
preso come esempio di progettazione. sottoposto a test e verifiche, sono di si-
cuore Affinché Proseguiremo in questa seconda parte cura affidabilità. Prima di arrivare a
dei sistemi a loop un sistema elettronico qualsiasi considerazione progettuale è
con l’analisi e il dimensionamento del
aperto, chiuso e di trasformatore flyback e dello stadio di bene soffermarsi sul diagramma della
sia certificato,
tipo “set uscita. corrente in ingresso, ovvero quella che
è necessario il rispetto,
and forget”. transita sull’avvolgimento primario di
in fase di progettazione, un trasformatore flyback. Essa è mo-
IL TRASFORMATORE FLYBACK
di numerose normative. In un alimentatore switching la proget- strata in figura 1. In particolare, la fi-
Ecco un esempio pratico tazione del trasformatore e la sua veri- gura 1-A mostra l’andamento della cor-
di progettazione per un fica funzionale occupano un 50%÷60% rente in Discontinuous Conduction

sistema di alimentazione del tempo di sviluppo complessivo.


Questo dato può dare un’idea della
per LED
complessità dell’argomento. Esula da-
gli scopi di questo articolo fornire una
trattazione esaustiva e completa di co-
me arrivare, seguendo un percorso teo-
rico-pratico, all’ideazione di un induttore
adatto alle nostre necessità. Del resto,
gli stessi spazi concessi dalla rivista
non lo consentirebbero. Ci limiteremo,
quindi, ad uno studio di massima con
particolare attenzione alle normative
che, in questo caso, riguardano l’isola- Figura 1: forma d’onda della corrente nelle
mento fra gli avvolgimenti d’ingresso modalità DCM (A) e CCM (B).

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


gura 1-B). Il discorso appena fatto an- massimo di 12. Questo significa che la Inoltre, la Vp è soggetta alle variazioni di
drebbe interpretato dinamicamente, in- tensione ai capi di Co può avere una va- rete che, nella definizione dei parametri
fatti è possibile che un alimentatore fly- riazione massima del 50%, in accordo progettuali, è stata posta a ± 15%. Fat-
back non ottimizzato e posto in con il numero dei LED scelti dall’utente. te queste doverose considerazioni pos-
condizioni limite, ad esempio con ten- Non dimentichiamo, infatti, che una se- siamo dedurre, in base alla relazione
sioni di rete molto basse e a pieno ca- rie di LED possono assimilarsi ad un enunciata, che il convertitore flyback
rico, passi dalla modalità DCM a quella solo enorme diodo ZENER avente ten- può fornire la sua regolazione agendo
CCM. La quasi totalità dei convertitori sione pari al numero dei LED moltipli- su un solo parametro: il duty-cicle. Es-
flyback con potenze inferiori a 60 W cato per la Vf (tensione di caduta diret- so, convenzionalmente indicato con la
funzionano nella modalità DCM e, se ta) di un singolo emettitore lettera “D”, è infatti dato da:
tutto va bene, non dovrebbero mai pas- (vedi figura 2).
Figura 2: modello per definire sare in modalità CCM. Questa ultima D = ton / T in cui T = ton + toff
una serie di LED. condizione pone infatti problemi di sta-
bilità e di dimensionamento dei com- Nel nostro caso il chip scelto, proprio
ponenti (ad esempio lo stesso trasfor- Figura 4: per evitare passaggi non voluti da DCM
matore) che devono essere risolti con seminucleo a CCM, non può fornire un D maggiore
diverso approccio progettuale. Per man- tipo E20.  del 50% (ovvero di un fattore 0,5). I mo-
tenere il convertitore in modalità DCM
occorre che la corrente sul secondario
si esaurisca completamente prima di
un nuovo periodo di circolazione di cor-
rente nel primario. In termini matemati-
ci occorre che sia rispettata la seguen-
te relazione:

Vp x ton = Vfly x toff


Figura 3: avvolgimenti mutuamente
accoppiati.  In cui Vp (tensione primaria) è la ten-
sione ai capi di Ci, e Vfly è la tensione ai
Mode (abbreviato in DCM) ove, come si capi di Co (vedi figura 3 nella puntata
può notare dal grafico, la corrente nel precedente). Occorre tuttavia fare al-
primario si annulla dopo l’istante di toff. cune considerazioni importanti legate
Nell’altra modalità di funzionamento, alla modalità di funzionamento. Il nostro
definita Continuous Conduction Mode convertitore, lo ricordiamo, è destinato
ed abbreviata in CCM, la corrente man- ad alimentare un carico a corrente co-
tiene invece un piedistallo, ovvero non stante che può essere costituito da un
si annulla mai completamente (vedi fi- numero minimo di 6 LED fino ad un Figura 5: nucleo con gap centrale e con traferro su colonne laterali. 

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


tivi sopraesposti, oltre a richiedere ad 1. In realtà le cose devono essere un Nella formula è stata inserita la caduta In cui Np ed Ns sono rispettivamente il
un’accurata messa a punto di tutte le po’ diverse, infatti la massima tensione di tensione sul diodo raddrizzatore (cir- numero di spire al primario ed al se-
componenti, impongono di non scen- continua presente su Co, ovvero la no- ca 0,7 V). condario. In termini meno matematici la
dere sotto il numero di 6 LED. In questo stra Vfly, deve essere pari alla Vf mas- Il valore ottenuto, 47,5 V, è ben diverso relazione ci dice che la tensione pri-
caso la dinamica di regolazione non sima di un singolo LED moltiplicata per dalle elevate tensioni presenti sul pri- maria Vp è il risultato della riflessione
riuscirebbe a sopperire a tensioni il massimo numero di LED che il con- mario, per adattarlo alla bisogna è ne- della tensione secondaria, la nostra
d’uscita troppo basse. Ritorniamo ora vertitore può alimentare. La Vf di un cessario intervenire sul rapporto spi- Vfly, moltiplicato per il rapporto spire. Il
alla relazione che lega fra loro Vp e Vfly. LED da 1 W non è mai superiore a 3,9 V, re. Quindi, la relazione tra Vfly e Vp termine “riflessione”, in questo caso,
La formula enunciata non teneva conto da cui si ricava: diventerà: indica la mutua induzione fra avvolgi-
del rapporto spire, ovvero, per sempli- mento primario e secondario. E’ questo
cità, si considerava questo ultimo pari Vflymax = (3,9 x 12) + 0,7 = 47,5 V Vp x ton = Vfly x (Np / Ns) x toff un concetto molto importante per capire

Emissione di disturbi Immunità ai disturbi

Sigla Applicazione Sigla Applicazione


EN55022 Apparecchiature per tecnologie informative. EN61000-4-2 Immunità a scarica elettrostatica.
Caratteristiche di radiodisturbo. Limiti e metodologie di misura.

EN55011 Apparecchi a radiofrequenza per industria, scientifici e medicali. EN61000-4-3 Immunità a campi elettromagnetici irradiati
Caratteristiche di radiodisturbo. Limiti e metodologie di misura. a radiofrequenza.

EN55014 Elettrodomestici, utensili elettrici e derivati. EN61000-4-4 Immunità a transitori elettrici veloci (burst).

EN61000-3-2 Limiti per emissioni armoniche di corrente per apparecchiature con corrente massima di 16 A. EN61000-4-5 Prove di immunità a impulso singolo.

EN61000-3-3 Limitazioni delle fluttuazioni di tensione e di flicker EN61000-4-6 Prove di immunità a disturbi condotti e indotti .
per equipaggiamenti a bassa tensione con corrente massima di 16 A da campi a radiofrequenza

EN61000-4-8 Immunità a campi elettromagnetici a frequenza di rete.

EN61000-4-11 Immunità a buchi di tensione e brevi interruzioni.


Immunità a variazioni di tensione.

Tabella 4: norme di base e relativa descrizione.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


il funzionamento di un trasformatore efficiente che dipende dal grado di ac-
flyback. In altri termini, l’avvolgimento coppiamento. Esso può assumere un
primario non è soggetto solo alla cir- valore compreso fra 0 ed 1, ovvero:
colazione della corrente durante il ton
ma anche alla corrente indotta dal se- k = 0: quando gli avvolgimenti sono
condario durante il toff. Questo fattore, completamente disaccoppiati
causando una deformazione della forma 0 < k < 1: con gradi di accoppiamento
d’onda presente sul drain del MOSFET, intermedi (caso reale)
può essere causa di instabilità o perdi- k = 1: accoppiamento perfetto, senza al-
te di energia durante gli istanti di com- cun flusso disperso (caso teorico)
mutazione. Esso deve essere contra-
stato con l’adozione di reti clamp di Considerato che la Vs dipende dalle
tipo RCD (diodo, condensatore e resi- variazioni della corrente ip nel tempo e
stenza) poste in parallelo all’avvolgi- che gli avvolgimenti sono mutuamente
mento primario del trasformatore di fly- accoppiati, è possibile scrivere la se-
back. Un altro fattore che può causare guente relazione:
i problemi sopraccitati è la cosiddetta
induttanza dispersa. Cerchiamo di ca- Vs = M dip / dt
pire meglio questo fenomeno in quanto
dipende essenzialmente dalla costitu- Essendo M legata al coefficiente k pos-
zione fisico-elettrica del trasformatore siamo dedurre che eventuali dispersio-
e, ovviamente, ne influenza le scelte ni di flusso si ripercuotono direttamen-
costruttive. Osserviamo la figura 3. In te sulla tensione al secondario. In realtà,
essa appare un trasformatore composto più che di flusso disperso, si preferi-
da due avvolgimenti mutuamente ac- sce parlare d’induttanza dispersa es-
coppiati, ovvero interessati dallo stes- sendo la misura di questa ultima più
so flusso. Questo ultimo scorre nel cir- facile e diretta. Per diminuire l’indut-
cuito magnetico costituito dal nucleo. E’ tanza dispersa, ovvero portare il coef-
possibile individuare un coefficiente di ficiente k il più possibile prossimo al-
mutuo accoppiamento, definito indut- l’unità, si possono usare i seguenti
tanza mutua e indicato con la lettera metodi:
“M”, esso è espresso dalla relazione: • Diminuire il traferro (gap) nei limiti del
possibile.
• Avvolgere il secondario il più vicino
possibile al nucleo.
Ove Lp ed Ls sono le induttanze di pri- • Non usare rocchetti con gole, gli av-
mario e secondario mentre K è un co- volgimenti devono essere l’uno sull’altro.

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


• Se le spire non coprono interamente pregnato di resina. Il filo usato per l’av-
una sezione, nel senso della lunghezza, volgimento secondario dovrà necessa-
avvolgerle facendo in modo che occu- riamente essere tipo LITZ da 10 capi
pino tutta la lunghezza disponibile. Que- per 0,05 mm di diametro con isolamen-
sto potrebbe comportare spazi vuoti to in classe G1 e rivestito con un solo
fra spire adiacenti ma ciò è irrilevante. strato di seta. Altri tipi di isolanti ester-
• Mantenere frequenze di switching non ni, ad esempio il poliestere, pur essen-
elevate (nei limiti del progetto). do ottimi rendono il filo non facile da av-
Nella nostro trasformatore flyback sono volgere. L’uso di fili LITZ multipolari,
messe in pratica tutte le contromisure com’è noto, riduce le perdite in alta fre-
sopra descritte. Il nucleo scelto, adatto quenza (la frequenza di switching è cir-
per le sue dimensioni ad applicazioni ca 75 KHz) ed oltre a migliorare il ren-
con ingombri contenuti, è un E20/10/6- dimento evita eccessivi surriscaldamenti
A100 con ferrite tipo 3C90. Si tratta di dell’avvolto. Questi ultimi sicuramente
un formato abbastanza comune, quindi da evitare in caso di elevata miniatu-
reperibile ed economico, il cui volume è rizzazione dell’insieme. Viste le correnti
assolutamente adatto per le potenze molto modeste circolanti, negli avvol-
che ci occorrono (vedi figura 4). Per gimenti primario ed ausiliario è invece
evitare saturazioni del nucleo in condi- possibile usare del normale filo smaltato
zioni limite (ad esempio con tensioni in classe G1 con diametro compreso
d’ingresso basse e massimo carico) e fra 0,25 e 0,28 millimetri. In figura 6 vi è
per far lavorare lo stesso con minori Figura 6: dati costruttivi del trasformatore flyback. il piano costruttivo completo del tra-
perdite, la colonna centrale è dotata di sformatore, esso contiene tutti i dati
un traferro. La presenza di quest’ultimo, sulla colonna centrale (codice E20/10/6) necessari all’avvolgitore. Proviamo ora
tra l’altro, evita che in particolari cir- decisamente più comuni. In questo ca- ad approfondire alcune scelte fatte nel-
costanze si formino sub-armoniche in so si avrà cura di interporre, sulle co- la progettazione dell’avvolto. L’isola-
grado di rendere il nostro trasformato- lonne laterali, due spessori da 0,17 mm mento fra primario e secondario dovrà
re rumoroso. Infatti, la riduzione del circa in materiale non comprimibile e essere tale da sostenere una tensione
flusso induttivo comporta sempre una non metallico. Per distanze inferiori al pari a 3750 VDC oppure, in alternati-
riduzione dei fenomeni di magnetostri- millimetro la permeabilità magnetica di va, 2660 VCA a 50 Hz. Questa tensione,
zione, primi responsabili di piccoli ma qualsiasi materiale sarà abbastanza in fase di test, sarà fornita nelle moda-
fastidiosi fenomeni acustici. Il gap sarà equivalente a quella dell’aria (vedi fi- lità rappresentate in figura 7 e può es-
pari a 0,52 mm in aria sulla colonna gura 5). Per mantenere fermi i due se- sere erogata con gradualità, se l’appa-
centrale. Questo valore è standard ed minuclei si potrà usare nastro (ad esem- recchiatura di prova lo consente, fino al
indicato nel codice stesso della ferrite pio il KAPTON) ad alta resistenza raggiungimento della massima tensione
(suffisso A100). Per le prime prove si Figura 7: test per la verifica termica. Tuttavia, per una produzione di prevista. Le normative impongono che
potranno usare anche nuclei senza gap dell’isolamento. serie, il trasformatore dovrà essere im- quest’ultima sia mantenuta per almeno

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


60 secondi. In realtà parlare d’isola- Figura 9:
mento non è propriamente esatto, le effetti della
modalità del test, infatti, sono più simili presenza
ad una prova di rigidità dielettrica. Se il dell’ESR sul
convertitore è provvisto di involucro ripple. 

metallico esso dovrà essere connesso


elettricamente sui morsetti d’uscita (ve-
di figura 7). Per tutta la durata della
prova non devono avvenire scariche ed
il milliamperometro non deve segnalare
significativi passaggi di corrente. Dopo
la prova, se il convertitore è in grado di
Figura 8: disposizione degli avvolgimenti e
funzionare a pieno carico rispettando i
dell’isolante.
suoi valori limite, si può considerare il
test passato con successo. Osservan-
e per ogni componente presente nelle
do lo schema elettrico (vedi figura 5
stesse, si attesterà tutta la DDP fornita.
nella puntata precedente), si può nota-
A proposito del condensatore posto fra
re che i componenti interessati a forni-
le due masse, valgono le stesse consi-
re l’isolamento e la rigidità dielettrica piste fra le due sezioni del trasformatore STADIO D’USCITA
derazioni fatte per il circuito d’ingresso,
necessarie sono di colore rosso. Elen- e, in aggiunta, le uscite dei fili degli av- Ci occuperemo adesso del circuito rad-
esso sarà quindi di tipo Y1 a doppio
chiamoli: volti non effettueranno pericolosi (per drizzatore e filtro, esso ha il compito
isolamento. Riguardo al fotoaccoppia-
• Il trasformatore flyback. l’isolamento) incroci prima di saldarsi di trasformare l’energia fornita dal se-
tore possiamo solo scegliere un mo-
• Il fotoaccoppiatore. sui pin del rocchetto. Fra primario e condario del trasformatore flyback in
• Il condensatore posto fra la massa dello avente una tensione d’isolamento
secondario andranno interposti due gi- corrente continua. In realtà, le celle co-
d’ingresso e quella d’uscita. superiore a quella richiesta dalla prova
ri d’isolante, ad esempio il NOMEX, stituite da raddrizzatore e filtro sono
Il motivo per cui ad essere interessati di rigidità, in questo senso il TLP621
avente almeno 0,20 mm di spessore, due. E’ infatti necessaria una tensione
sono solo questi elementi è semplice. risponde in pieno a tale requisito (iso- stabilizzata di servizio, nel nostro caso
facendo bene attenzione che nessuna
Durante la somministrazione della ten- lamento pari a 5000 VAC). spira fuoriesca dalla superficie coperta di 12 V, che dovrà alimentare i vari ope-
sione di test, tutti i componenti della Il trasformatore flyback per poter “sop- dall’isolante. In figura 8 è mostrato razionali, regolatori shunt, ecc... Questa
sezione d’ingresso (MOSFET, ponte rad- portare” una tensione di 3750 VDC de- schematicamente il rocchetto con gli tensione, pur prelevata dallo stesso se-
drizzatore, circuito integrato, primario ve invece essere avvolto con alcuni ac- avvolti e l’isolamento in NOMEX. Seb- condario, ha una sua propria cella di
del trasformatore, ecc...) diventano corgimenti. Per prima cosa è opportuno bene per piccole serie, e ancor meno raddrizzamento e filtro. Sebbene, in li-
equipotenziali e lo stesso si può dire che le uscite del primario e dell’avvol- per i prototipi, non sia strettamente ne- nea teorica, sarebbe stato possibile
per i componenti presenti a valle del gimento ausiliario siano sul lato oppo- cessaria l’impregnatura dell’avvolto con usare il raddrizzatore principale, ovve-
trasformatore flyback. Naturalmente sto a quelle della tensione che alimen- apposita resina, questa è indispensabile ro quello dedicato al carico, tale scelta
questi ultimi presenteranno una polari- terà il carico. In tal modo sarà possibile nel caso di prodotti destinati al consu- si è rivelata nel corso delle prove forie-
tà opposta cosicché, fra le due sezioni lasciare uno spazio sul PCB privo di mer o al mercato professionale. ra d’instabilità. Ciò era dovuto, in buo-

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


na parte, alle diverse costanti di tempo In cui: In è la corrente nominale di cari- picco (vedi figura 9). Tutti i costruttori spetto al valore di ESR e tanto migliore
(in fase di scarica libera) dei conden- co, ton il tempo massimo di conduzione di condensatori specificano questo pa- sarà il comportamento della capacità.
satori di filtro. La scelta del diodo rad- corrente sul lato primario del trasfor- rametro oppure, in alternativa, viene Tuttavia si ricordi che il valore di ESR
drizzatore sul ramo carico è caduta su matore e Vripple la tensione d’ondula- fornito il valore di tan (fattore di dissi- non è costante, in particolare:
un elemento “ultrafast” che dovrà es- zione espressa in valore picco-picco. Si pazione) per alcune frequenze. Questi • Aumenta con il diminuire della tem-
sere saldato lasciando almeno 12 mm di ricordi, tra l’altro, che nel nostro caso il dati sono solitamente rilevati ad una peratura.
reoforo libero su entrambe le termina- ton non può essere superiore al 50% del temperatura ambiente di 20° che, è be- • Aumenta con il diminuire della fre-
zioni. In alternativa, se deve essere sal- periodo di un ciclo di clock (la frequenza ne sottolinearlo, è generalmente infe- quenza.
dato a contatto con il PCB, è possibile di questo ultimo è di circa 75 KHz). Il va- riore alla temperatura interna di qua- • Aumenta con l’invecchiamento del
aumentare le dimensioni delle piazzole lore di capacità calcolato deve tutta- lunque convertitore. La relazione che componente.
che non dovranno scendere sotto 0,9 via tenere conto della tolleranza che, lega ESR al fattore di dissipazione è la La variabilità legata alla temperatura
cmq (per anodo e catodo). Sono queste in taluni casi, è del -20% e delle perdi- seguente: può essere causa di malfunzionamenti
precauzioni necessarie, nonostante la te di tipo resistivo che possono rias- durante i test di refrigerazione in caso
corrente di carico non elevata, in quan- sumersi nei seguenti punti: ESR = (tanδ x f) / (6,28 x f x C) questi fossero richiesti. Infatti, durante
to il componente lavora con transitori ad • Resistenza dei terminali e delle giun- questo tipo di prove, l’apparecchiatura
elevata frequenza che provocano per- zioni elettriche interne. In cui C è la capacità del condensatore è portata a temperature prossime a -20°
dite soprattutto negli istanti di com- • Impedenza serie dovuta alla tecnolo- ed f la frequenza di switching. In prima per un certo tempo e poi riavviata re-
mutazione da on ad off. Il risultato fisi- gia costruttiva degli elettrolitici. approssimazione è possibile usare una pentinamente a temperatura ambiente
co di ciò è un’ovvia elevazione di • Variazioni di resistenza dovute alle formula empirica per capire se l’ESR (a carico massimo).
temperatura del diodo stesso. Il con- variazioni chimico-fisiche dell’elettroli- della nostra capacità è sufficiente. Una Per avere un’idea della severità del test,
densatore di filtro dovrà essere neces- ta con l’aumento della temperatura. volta definito il valore di ripple deside- si consideri che l’aumento dell’ESR con
sariamente di ottima qualità, con tem- Tali perdite sono rappresentate da una rato è possibile porre: la diminuzione della temperatura è ad-
peratura di lavoro non inferiore a 105° resistenza, definita ESR (Equivalent Se- dirittura quasi esponenziale dopo i 0°. In
ed a basso ESR. Sarà opportuno sof- ries Resistance), che si pone in serie ESR < Vripple / (3 x Io) altri termini possiamo aspettarci un in-
fermare un po’ la nostra attenzione su alla capacità in oggetto. La presenza di cremento anche di 5÷6 volte il suo va-
questo componente che determina, fra questo resistore modifica la geometria In cui Io è la nostra corrente sul carico. lore a 20°. Tutte queste considerazioni
l’altro, l’ampiezza del ripple in uscita. Ri- del ripple e ne esalta l’ampiezza picco- Maggiore sarà il valore calcolato ri- che, a prima vista, possono sembrare
guardo questo ultimo parametro oc-
corre osservare che alcune normative
impongono valori ben precisi in ogni
circostanza di funzionamento. Gene-
ralmente, per un calcolo approssimati-
- ON Semiconductor: How to deal with leakage elements in flyback converters, AN 1679/D, C. Basso
vo del condensatore di filtro, viene
spesso usata la relazione: - Farchild Semiconductor: Design guideline for RCD snubber of flyback converters, AN4147

- Appunti sulle ferriti, GIEFFE, Sandit libri L’alimentatore flyback, M. Frutter, Sandit libri
C = (In x ton) / Vripple - National Semiconductor: www.national.com/ds/LM/LM5021.pdf

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Tecno imprese - solar expo bologna

eccessive devono invece indurci a sce- state idealmente ordinate in due cate-
gliere una capacità di filtro adeguata- gorie e quelle riguardanti in particolare
mente sovradimensionata e di ottima la realizzazione presentata in queste
qualità. Meglio se al posto di un solo pagine sono a sfondo rosso.
condensatore se ne disporranno due Accanto alle norme di base possiamo
in parallelo di capacità dimezzata, in- trovare altre due categorie di prescri-
gombro permettendo naturalmente. zioni:
• Norme specifiche per prodotto.
RIASSUNTO NORMATIVE • Norme generiche.
E CONCLUSIONI Le prime, che riguardano apparecchia-
Nelle scorse pagine si è voluto dare ture prodotte per scopi particolari, so-
molto risalto al condizionamento im- no spesso estensioni delle norme di
posto dalle normative nella stesura di un base ed hanno la precedenza su queste
progetto e nelle scelte circuitali che ne
ultime.
derivano. In realtà l’argomento è va-
Le seconde sono invece destinate a
stissimo e lo scopo di queste pagine
prodotti non ancora sufficientemente
era semplicemente introduttivo.
affermati o riguardano normative in fa-
L’osservanza delle normative, tra l’altro,
se di ulteriore sviluppo.
impone al progettista un continuo ag-
E’ questa la “foresta” di prescrizioni e
giornamento in quanto le varie dispo-
norme in cui deve muoversi il progetti-
sizioni sono continuamente soggette
sta! In suo aiuto vi sono le raccolte
ad integrazioni ed aggiunte.
emesse dai vari enti o editori privati
A volte a cambiare è solo la sigla della
normativa a causa, ad esempio, di un che, seppure acquistabili con facilità
adeguamento a delibere europee. Anche anche in versione digitale, hanno prez-
questa condizione, apparentemente fa- zi non esattamente economici.
vorevole, crea però qualche difficoltà. Tuttavia è bene ribadire ancora una vol-
Un utile strumento di consultazione per ta che un buon progetto è la risultante
il progettista è la Gazzetta Ufficiale del- di una serie di compromessi riusciti.
la Comunità Europea, in essa è possibile Occorre quindi inserire fra le compo-
avere una visione abbastanza comple- nenti e variabili già note al progetti-
ta dei cambiamenti in atto e delle sca- sta un ulteriore aspetto, confidando
denze delle normative già in uso. più che mai sulla completezza ed esat-
Nella tabella 1 sono riportate, a titolo tezza delle informazioni in nostro pos-
puramente indicativo, l’elenco delle sesso.
normative che possono interessare il
progettista di convertitori. Esse sono Codice MIP 2801685

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO


Firmware
www.fwonline.it

EVENTS zapping
DIRETTORE RESPONSABILE Ufficio Abbonamenti
EMBEDDED WORLD 2011 Dove: San Jose (California) fieristiche analizzate a livello Network ed i relativi progetti
Maurizio Del Corso INWARE Edizioni srl
L’embedded world, la più Quando: 2-5 maggio 2011 mondiale. Ogni evento per dotare il nostro Paese di Via Cadorna, 27/31

grande e più importante info: Fortronic si basa su una una infrastruttura diffusa DIRETTORE MARKETING 20032 Cormano (MI)
Antonio Cirella
manifestazione del suo www.multicore-expo.com giornata d’incontri basata su fibra.
Per informazioni, sottoscrizione o rin-

novo dell’abbonamento:
genere, dà il via ogni anno /conferenze incisivi per
Dove: Roma Segreteria di redazione

alla serie di saloni dell’high TUNISIA FORTRONIC contenuto e tempistiche; Giorgia Generali
abbonamenti@inwaredizioni.it

Quando: 30-31 Marzo 2011 Tel. 02.66504755

tech e di eventi altamente Fortronic (Electronics Forum) d’interventi aziendali Fax. 02.66508225
creato da Assodel, ha info: www.expocommitalia.it Comitato Scientifico
specializzati e carichi di (workshop e tutorial); di Simone Masoni (Microtest), France- L'ufficio abbonamenti è disponibile
sco Picchi (Microtest), Massimo Ro-
know-how che si svolgono l’obiettivo di realizzare il business e di relazione tra le vini (Università degli Studi di Pisa).
telefonicamente dal lunedì al vener-

alla fiera di Norimberga. ‘matching’ tra la domanda e imprese in aree dedicate alla EMBEDDED SYSTEM Art Director
dì dalle 14,30 alle 17,30.

Come ogni anno, anche nel l’offerta in Paesi terzi socializzazione e alle demo. CONFERENCE Patrizia Villa
Tel. 02.66504755

Fax 02.66508225

2011, stabilirà nuovi attraverso incontri Dove: Tunisi Evento di riferimento per Autorizzazione alla pubblicazione
Hanno collaborato
parametri di riferimento e focalizzati, rapidi ed Quando: 8-9 marzo 2011 progettisti, sviluppatori e in questo numero:
Tribunale di Milano n. 20

del 16/01/2006
best mark. Per quanto essenziali. Soluzioni di info: www.fortronic.it ricercatori del mondo Maurizio Di Paolo Emilio, Paolo
Narcisi, Francesco Pentella, Mario
riguarda l’internazionalità gruppo di un giorno e a meno embedded. L’edizione 2011 Rotigni, Mariano Severi, Luca © Copyright

degli espositori, il Numero 1 di un quarto del costo che EXPO COMM ITALIA prevede 5 tematiche di Stanzani. Tutti i diritti di riproduzione o di tra-

dell’embedded registra un richiederebbe una qualsiasi Quest’anno EXPO COMM duzione degli articoli pubblicati sono
riferimento: Applications,
aumento superiore al 17%. partecipazione diretta o ITALIA si avvarrà del riservati. Manoscritti, disegni e foto-
Embedded Software, Direzione Redazione
grafie sono di proprietà di Inware Edi-
Inoltre parteciperanno indiretta; impegnandosi supporto di Confindustria INWARE Edizioni srl

direttamente, con gli Enti e le Servizi Innovativi, che terrà Hardware for Embedded Via Cadorna, 27/31
zioni srl. È vietata la riproduzione an-
all’evento saliente del settore che parziale degli articoli salvo

anche molte nuove aziende. associazioni locali, uno dei suoi più importanti Systems, Tools and Best 20032 Cormano (MI)
espressa autorizzazione scritta del-
Tel. 02.66504755

Dove: Norimberga all’incoming (coinvolgimento eventi congressuali proprio Practices, Topics in Fax 02.66508225 l’editore. I contenuti pubblicitari sono

info@inwaredizioni.it riportati senza responsabilità, a pu-


Quando: 1-3 marzo 2011 e partecipazione) delle loro all’interno della Embedded-System Design.
www.inwaredizioni.it ro titolo informativo.
info: http://www.embedded- imprese. La capacità di manifestazione. Da segnalare Giovedì 3 Redazione: fw@inwaredizioni.it Collaborare con
world.de/en/ Fortronic di fornire contenuti EXPO COMM 2011 ha maggio la conferenza FIRMWARE

validi e strutturati in preparato un programma di “Fireside Chat” di Steve Pubblicitá per l’Italia Le richieste di collaborazione vanno

MULTICORE EXPO workshop e conferenze in un conferenze di alto livello con


Wozniak co-fondatore della
Agostino Simone indirizzate all’attenzione di Maurizio

Tel. 347 2230684 Del Corso (m.delcorso@inwaredi-


Evento mondiale dedicato ai format che la stessa la presenza di relatori
Apple con Steve Jobs nel media@inwaredizioni.it zioni.it) e accompagnate, se possi-
sistemi embedded multicore. associazione inglese Intellect nazionali e internazionali bile, da una breve descrizione delle
1976.
Due giornate di sessioni (oltre 800 aderenti pronti ad affrontare i temi di International Advertisement
vostre competenze tecniche e/o edi-

tecniche e business con la www.intellect.uk) ha maggiore attualità legati al Dove: San Jose (California) Elisabetta Rossi toriali, oltre che da un elenco degli ar-

possibilità di seguire training identificato come la migliore mondo delle tecnologie ed in Quando: 2-5 maggio 2011 Tel. 328 3245956 gomenti e/o progetti che desiderate

international@inwaredizioni.it proporre.
formativi con esperti del soluzione tra un centinaio di particolare sullo sviluppo info: http://esc-
settore. alternative promozionali e della Next Generation sv.techinsightsevents.com

10 FOCUS ON 15 SKILLS 37 INSIDE 41 TOOLS 48 ANALOG

4 TIPS’N TRICKS 8 MARKET NEWS 46 SPOTLIGHT 60 EVENTS ZAPPING ABBONAMENTO