Sei sulla pagina 1di 87

Firmware

LUGLIO/AGOSTO 2011
CONTROLLER
PER SENSORI
TOUCH

LO STANDARD
OBD-II

SOLUZIONI
HUMAN
INTERFACE

IL DEBUG
di Linux REALOS
UN SISTEMA
OPERATIVO
REAL-TIME
Firmware
La scelta E D I T O R I A L E
LUGLIO/AGOSTO 2011

News
Debugging
3

Uno dei primi quesiti


del sistema operativo che un progettista si
trova di fronte, all’inizio avanzato 6 TIPS’n tricks

di un nuovo progetto è la scelta del sistema operativo: meglio uno FOCUS on


proprietario o uno open source come Linux? Ovviamente non esiste un 11 Il debug di Linux con JTAG
criterio universale che consente di motivare la scelta dell’una o dell’altra
soluzione, ma la risposta dipende dal tipo di applicazione, dai requisiti SKILLs
richiesti in termini di velocità di risposta del sistema, della tolleranza ai 17 Clock Recovery
guasti e da molti altri fattori. E’ bene ricordare che “open source” non è
20 Debugging avanzato
sinonimo di “gratuito” per cui la scelta di una distribuzione Linux Linux embedded
Embedded non necessariamente è dettata da motivi di costi. Il vantaggio
25 Advanced debugging
dell’open source è disporre di un sistema aperto in cui tutti gli utenti
su MSP430
possono contribuire al miglioramento, ma soprattutto un sistema
personalizzabile a seconda delle proprie esigenze. Un sistema
proprietario può invece risultare meno flessibile, ma potrebbe essere la INside
30 Standard OBD II
scelta ottimale per applicazioni mission-critical in cui il real-time è uno
dei requisiti fondamentali e le risorse hardware sono limitate. Nel caso 33 Un controller
abbiate optato per Linux, in questo numero di Firmware troverete molte per touch sensor capacitivi
utili informazioni sul debug del sistema operativo, con tecniche e
strumenti per rendere perfetta la vostra applicazione. TOOLS
Soluzioni per il debug di sistemi 36 Microchip FilterLab 2.0
Linux multicore e Android. 47 RealOs di Fujitsu

51 Code Warrior

MICROCHIP FilterLab 2.0 inserto


SPOTlight
54 Gli ADC SAR
controllano il mondo
LAUTERBACH NEWS 2011
FilterLab è un CAD di Microchip che qualunque ANALOG
appassionato di elettronica può utilizzare per progettare e 58 Regolatore low-dropout
a bassissimo rumore
dimensionare filtri analogici attivi basati su celle ad
Diventa fan di Firmware 61 Soluzioni Human Interface
operazionali. In questo articolo ne illustriamo le principali
su Facebook!
caratteristiche applicative e le principali funzionalità.
66 EVENTS zapping
National instruments labview

Toyota e Denso
adottano Mathworks Release R2010B
MathWorks ha annunciato oggi che Toyota e DENSO
CORPORATION, il principale fornitore di Toyota per quanto
riguarda i componenti elettronici automobilistici, hanno
scelto di adottare MathWorks release R2010b per i loro programmi di produzione di massa. Questa
release delle famiglie di prodotti MATLAB e Simulink rende più efficiente la generazione di codice
ROM e RAM per i sistemi di controllo a virgola fissa del settore automobilistico, con conseguente
riduzione dei costi di produzione. La transizione si basa sul comune impiego, da parte di Toyota e
DENSO, della progettazione model-based, che integra la tecnologia per la generazione automatica
di codice. Entrambe le aziende utilizzano i prodotti di modellazione, simulazione e generazione di
codice di MathWorks all’interno dei loro programmi di sviluppo del software di produzione. La
R2010b consente agli ingegneri di Toyota e DENSO di applicare la progettazione model-based ai
programmi di produzione dei veicoli attuali e futuri, oltre che di usare codice C a virgola fissa,
generato automaticamente, per complessi sistemi embedded in tempo reale.
www.mathworks.com

Da Erni, connettori per applicazioni ad alta velocità


Con l’introduzione della nuova famiglia ERmet ZDHD ERNI Electronics mette a disposizione una linea di
connettori ad alta velocità espressamente progettata per applicazioni che richiedono velocità di
trasferimento dati fino a 25 Gbps. Nello sviluppo di questa nuova famiglia ERNI ha sfruttato
l’esperienza acquisita nella realizzazione della serie ERmet ZD e del sistema di connettori ERmet
ZDplus, una versione migliorata di ERmet ZD con la quale risulta compatibile a livello di layout. Nel
caso dei componenti ZDHD, il suffisso HD sta per alta densità: questi nuovi connettori a elevata velocità
rendono infatti disponibili 84 coppie di segnali differenziali per pollice, contro le 40 delle precedenti
serie. Con questa nuova offerta ERNI è in grado di soddisfare l’esigenza di una sempre maggiore
densità di segnale abbinata a prestazioni molto elevate.
www.erni.com

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Lauterbach debug linux trace

Omron Electronics rivela


un nuovo interruttore tattile in SMD
Omron Electronic Components B.V ha presentato il nuovo interruttore SMD ad azionamento manuale
B3AL, rivolto ad applicazioni OEM, quali automotive, gli apparati medicali e le applicazioni di controllo di
processo; il dispositivo è dotato di due terminali e si caratterizza per l’elevata vita elettrica, nonché per
l’alta forza di scatto. Il B3AL, che viene azionato tramite una pressione esercitata verticalmente, offre
un’elevata resistenza all’ingresso della polvere; la sua vita elettrica raggiunge un milione di cicli, una
durata tale da assicurare un funzionamento prolungato ed affidabile anche in condizioni operative
estreme. Disponibile in quattro versioni con forze operative di 1,96N, 2,45N, 3,00N e 3,50N, l’interruttore
ha una precorsa di 1,3mm ottenuta utilizzando un attuatore in gomma. Dotato di una struttura
compatta, con dimensioni di soli 6,9x6,0x5,0mm, il dispositivo B3AL può commutare correnti di segnale
comprese tra 1mA a 5VDC e 50mA a 16VDC su carico resistivo; il componente può operare in un range di
temperatura compresa tra –40°C e +90°C, che lo rende adatto alle più svariate applicazioni.
www.components.omron.eu

Nuovi connettori per circuiti stampati


In previsione delle crescenti esigenze di un’utenza molto diversificata nel mercato dei dispositivi
consumer, TE Connectivity (TE) ha sviluppato due nuovi tipi di connettori per circuiti stampati
flessibili (FPC) con passo di 0,3 mm, che arricchiscono la famiglia dei connettori FPC prodotti
dall’azienda. I due nuovi modelli sono: un connettore FPC con passo di 0,3 mm con dispositivo di
blocco posteriore (back-flip) scatolato con contatto inferiore; un connettore FPC con passo di 0,3 mm
con dispositivo di blocco back-flip con contatto superiore. La caratteristica più importante che questi
due nuovi modelli hanno in comune è che sono entrambi connettori con blocco di tipo back-flip. I
modelli di connettori con blocco front-flip ospitano sedi per il ‘pick and place’, sono facili da azionare
e presentano una migliore ritenzione del circuito stampato. La caratteristica unica del modello di
connettore back-flip con dispositivo di blocco scatolato è che il robusto dispositivo, non soltanto
protegge meglio il connettore, ma ne facilita il funzionamento.
www.tycoelectronics.com

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Repcom sensori industriali

Un Mosfet in un package 3-mm x 3-mm


Texas Instruments Incorporated ha introdotto il nuovo dispositivo NexFET Power Block in un
package SON salva spazio 3-mm x 3-mm. Il nuovo package CSD86330Q3D Power Block raggiunge
un’efficienza del 90% a 15 A a metà della zona di soluzioni competitive che richiedono due
discrete potenze MOSFET in packages QFN 3-mm x 3-mm. Power Block ha un vantaggio
significativo nella perdita di energia e nella capacità di corrente in uscita su soluzioni
competitive, e supporta applicazioni quali server, desktop e notebook PCs, attrezzature di rete,
infrastrutture per i cellulari, applicazioni di fascia alta per clienti e commercianti che forniscono
corrente. CSD86330Q3D si associa alla famiglia del dispositivo NexFET Power Block, già premiata
e vincente. Nel 2010, Power Block ha ottenuto il prestigioso premio di Prodotto dell’anno 2010 da
Electronic Products Magazine.
www.ti.com/powerblock-preu

Rutronik e Intersil rafforzano la loro collaborazione


Rutronik e Intersil, stanno intensificando la loro cooperazione in Europa.
Nel corso della riorganizzazione della sua rete di distribuzione, Intersil
potrà contare ancora di più su Rutronik, ed inoltre ha rafforzato la sua
cooperazione con le linee estere in Europa. Per gestire questa relazione
già stretta in precedenza, Rutronik ha reclutato un nuovo staff per i
team product marketing del Power Management e Analog Mixed Signal,
che lavoreranno in stretto contatto con gli specialisti del prodotto di
Intersil. L’accordo di franchising fra le due aziende esiste dal 2009. Il
portfolio di Intersil Analogue & Mixed Signal, basato su specifiche
applicazioni (ASSP) e su prodotti standard per un’ampia gamma di applicazioni insieme ai suoi
componenti Power Management a bassa tensione, sono ideali con il portfolio analogico di
Rutronik. Inoltre, i prodotti Intersil offrono punti vendita unici: grazie alla sua strategia di
produzione differenziata, i componenti ad alta velocità e alta precisione dell’azienda presentano
livelli estremamente alti di innovazione.
www.rutronik.com

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


5
pedenze di sorgenti e carichi. Tali di- coinvolgimento di un EMC Engineer
verse condizioni rendono un suggeri- nelle varie fasi del progetto. Anche in
mento più o meno significativo nell’ap- questo caso è importante che gli altri
plicazione specifica, quando non membri del team abbiano almeno una

Basics
addirittura controproducente. Lo scopo infarinatura che consenta loro di pre-
di questi due articoli è, invece, identifi- venire i problemi maggiori ed interagire
care alcune regole e concetti di base, in modo più efficace con esperti e la-
presenti in ogni applicazione elettroni- boratori.
ca moderna, fornendo anche una sin-
Probabilmente il lettore sarà sorpreso nel vedere un argomento tetica descrizione del know-how che BREVE RICHIAMO DI ALCUNI
cosi complesso trattato qui, in Tips & Trick, ma scopriremo insieme detta la singola regola. L’autore trova CONCETTI FONDAMENTALI
assai fastidiose le “liste di prescrizioni” Molto brevemente, ricordiamo alcuni
che ci sono delle valide ragioni. Non facciamoci intimorire dalla presenza
senza alcuna spiegazione dei concetti concetti fondamentali del mondo EMC.
di formule, ne faremo un uso veramente elementare alla base di ogni singolo consiglio. Ricordiamo che con ‘Compatibilità Elet-
collezione di “Guidelines EMC”, e non è L’ambizioso scopo è contribuire a dif- tromagnetica’ (EMC o CE) intendiamo la
di MARIO ROTIGNI fondere una cultura di base sulle pre-
detto che l’autore non decida di rea- capacità per un apparato di funzionare
pesso si leggono raccomandazioni cauzioni da prendere in ambito EMC. correttamente in presenza di interfe-
S a proposito del fatto che la cura dei
lizzarne una veramente, prima o poi. È
particolarmente interessante notare co-
Applicazioni complesse o fortemente
ottimizzate richiederanno comunque il
renze elettromagnetiche senza subire
malfunzionamenti o danni e, a sua vol-
problemi di compatibilità elettroma- me a volte le indicazioni fornite siano
gnetica debba iniziare insieme al pro- ta, non perturbare l’ambiente influen-
opposte. Il lettore curioso potrebbe ad
zando il normale svolgimento delle ope-
getto e di come poche precauzioni pre- esempio fare una ricerca circa l’uso di
razioni di altre apparecchiature.
se evitino costosi rifacimenti più tardi. piani di alimentazione, oppure una ri-
Distinguiamo quindi Emissioni Elettro-
Ebbene, si vogliono qui indicare alcune cerca su decoupling realizzato con con-
Magnetiche (EME) e Suscettibilità Elet-
Guidelines fondamentali da seguire sin densatori di eguale valore o valori di- troMagnetica (EMS).
dall’inizio di ogni nuovo progetto a pro- versi. Questo è dovuto in parte a “copia Un insieme di normative nazionali ed
posito di tali precauzioni basilari. Sono e incolla”, che favorisce il propagarsi di internazionali si preoccupa di quantifi-
certamente reperibili molte Guidelines in miti, più che di soluzioni sperimentate e care i livelli massimi di emissione tolle-
internet, testi, Application Notes, rela- verificate in pratica. Il moltiplicarsi di rati ed i livelli di suscettibilità per ogni
zioni e raccolte di lavori presentati a Guidelines è però anche causato da campo applicativo, descrivendo in det-
conferenze, dispense universitarie e ambiti applicativi diversi, caratterizza- Figura 1: aggressore e vittima nelle taglio anche le procedure di misura da
cosi via. Si potrebbe organizzare una ti da parametri diversi, si pensi alle im- interazioni EMC.  impiegare nelle prove di compatibilità.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Figura 2: segnale di dove A è l’area del loop, f è la frequen-
clock e suo spettro in za, I è la corrente circolante nel loop.
frequenza.  Come possiamo vedere, l’intensità del
Superando i livelli definiti dalle norma- campo emesso varia con il quadrato
tive, è spesso impossibile ottenere la della frequenza; da qui nasce la prima
correnti alternate o
certificazione di Compatibilità Elettro- regola. Limitiamo le frequenze operati-
transitorie.
magnetica e, di conseguenza, non si ve al valore minimo indispensabile.
Introduciamo ora le
può commercializzare il prodotto in una Questa regola può ben applicarsi, ad
linee guida veramen-
certa regione del mondo. esempio, nella scelta della frequenza
te di base, da rispet-
Ogni problema EMC può essere scom- fondamentale di clock per un micro-
tare in ogni nostro
posto in aggressore (sorgente del cam- processore. Il classico esempio del ter-
progetto.
po elettromagnetico indesiderato), per- mostato per appartamento ben illustra
Lavorare sulla sor-
corso di accoppiamento (coupling path) gente: limitare la fre- il concetto. È del tutto inutile eseguire
e vittima, vedi figura 1. quenza al valore mi- un programma a frequenze di decine
La corretta assegnazione del ruolo ag- nimo indispensabile. di MHz quando si debbano tenere sot-
gressore/vittima ed il riconoscimento Banalizzando il con- to controllo grandezze fisiche che va-
dei meccanismi di accoppiamento sono cetto, potremmo di- riano su scale temporali di minuti. La-
fondamentali per la prevenzione e per re che “prevenire è vorare a frequenze inferiori ha anche
l’eventuale debug. meglio che curare”. un benefico effetto sulla riduzione del-
Grazie al principio di reciprocità, molte Un elementare ragio- la potenza assorbita nelle tecnologie
delle precauzioni prese per ridurre le namento logico ci in- CMOS, per le quali il consumo è pro-
emissioni rendono anche più robusto dica come sia più porzionale alla frequenza di commuta-
il nostro apparato verso interferenze. siamo ad un pacchetto di dati tra- semplice lavorare su un solo oggetto, la zione.
Distinguiamo tra emissioni volontarie, smesso su una linea seriale). sorgente di disturbo (aggressore), piut-
indispensabili alla funzionalità dell’ap- Ricordiamo inoltre che le correnti va- tosto che inseguirne gli effetti appli- LAVORARE SULLA SORGENTE:
parecchiatura in esame, ed emissioni in- riabili sono prevalenti nel ruolo di sor- cando correttivi a tutti gli oggetti pre- LIMITARE LA BANDA PASSANTE
desiderate, completamente superflue genti di campi e disturbi indesiderati. Le senti nello stesso ambiente (vittime). Osserviamo in figura 2 la forma d’onda
per l’espletamento della funzione. Come tensioni sono importanti come gene- Se consideriamo un circuito chiuso ele- di un segnale ad onda quadra, con se-
esempio del primo caso, consideriamo ratori in grado di far circolare correnti mentare (loop) percorso da corrente miperiodo t e tempi di commutazione tr,
il caso ovvio di un trasmettitore RF. che creano campi elettromagnetici nel- variabile, l’intensità del campo elettrico insieme al suo inviluppo in frequenza,
Rientrano nel secondo caso tutti i se- lo spazio circostante. Circuiti integrati, emesso e misurato alla distanza r è da- ovvero la banda passante che ne per-
gnali aventi banda passante maggiore interruttori di potenza, alimentatori swit- to dalla formula (1): mette la fedele trasmissione. Questo
del minimo indispensabile ad una cor- ching, contatti elettromeccanici sono segnale può rappresentare un tipico
retta decodifica dell’informazione rap- tutti sede di emissioni elettromagneti- clock per microprocessori o ogni altra
presentata dal segnale in oggetto (pen- che, non di per sè ma in quanto sede di circuiteria logica. Notiamo che l’esten-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Microchip PIC32

mettere la compatibilità dell’apparato.


Un compromesso è quindi indispensa-
bile. La cattiva notizia è che controllare
sione della banda di frequenze occupata in modo accurato i fronti di commuta-
dipende dal semiperiodo, quindi dalla zione è difficile. Tutte le applicazioni
frequenza del segnale, ma soprattutto digitali sincrone dipendono da fronti ri-
dai tempi di salita e discesa. Corollario pidi per garantire la corretta trasmis-
e completamento della guideline pre- sione ed elaborazione delle informa-
cedente è, quindi, la raccomandazione zioni in forma di segnali logici (setup
di ridurre i tempi di commutazione al ed hold time).
minimo indispensabile ed ottenere una Le applicazioni digitali tendono ad es-
affidabile funzionalità (conservando sere realizzate come reti sincrone con
quindi un certo margine di sicurezza). un clock, in virtù della loro robustez-
Notiamo che in questo caso Compati- za, affidabilità e testabilità.
bilità Elettromagnetica e Signal Inte- Qualcosa si può fare giocando sulla
grity tendono a divergere e produrre scelta della famiglia logica che abbia
raccomandazioni opposte. Mentre per caratteristiche temporali più vicine alle
SI e timing i fronti ripidi sono i benve- esigenze funzionali dell’applicazione.
nuti, questi causano maggiori emissio- Lavorando con tecnologie CMOS, si
ni e possono potenzialmente compro- può a volte trarre profitto dalla dipen-

Figura 3: schema elettrico di porte logiche con carichi capacitivi generici. 

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


‘A’ nella formula (1) ed aumentare l’in-
duttanza associata alla connessione.
Si stabiliscono inoltre percorsi non bi-
lanciati, sede di correnti di modo co-
denza dei timing dalla tensione di ali- mune, come vedremo nella seconda
mentazione, riducendola opportuna- parte.
mente per avere una logica leggermente È quindi importante garantire ai segna-
più lenta. Anche in questo caso, come li ed alimentazioni ad alta frequenza
spesso accade nelle misure prese per percorsi di ritorno adiacenti, quanto
garantire il rispetto di Compatibilità più omogenei possibili, anche, e so-
Elettromagnetica, abbiamo anche un prattutto, quando non si ritenga ne-
beneficio sul consumo. cessaria la costruzione di una vera e
Ove non sia possibile agire altrimenti, è propria linea di trasmissione ad impe-
possibile prevedere, almeno come op- denza controllata (vedi a tal proposito
zioni, filtri passa basso realizzati con re- Videoguida sulle EMC
Tips&Trick tips & triks: Signal Integrity,
ti RC o ferriti sul percorso di segnale. cosa è e quando preoccuparsene, Fir-
Nei casi più semplici, un resistore di modifiche di processo nella produzione segnale sulle nostre schede. Anche nel- mware n. 62).
piccolo valore è sufficiente a realizzare dei semiconduttori impiegati). Nel caso lo schema, il percorso dall’uscita del Le raccomandazioni circa l’uso di un
il filtraggio voluto, agendo insieme alla delle interfacce di comunicazione più driver al carico capacitivo è disegnata, piano di massa solido derivano dalle
capacità parassita di connessioni e cir- diffuse (USB, CAN, Ethernet ecc...) si mentre il percorso di ritorno generica- considerazioni sopra svolte. Anche
cuiti di ingresso. possono trovare in commercio com- mente è indicato con il simbolo di mas- quando non sia possibile per ragioni di
Naturalmente in questi casi occorrono patti filtri progettati in modo da atte- sa. Poiché ogni corrente scorre in un lo- costo una distribuzione dell’alimenta-
una attenta progettazione e verifica al nuare le bande fuori dalla gamma defi- op chiuso e la dimensione fisica del zione con coppie di piani dedicati, la
fine di garantire un buon margine di nita come funzionale dallo standard loop è importante ai fini EMC (vedi for- ‘massa’ dovrebbe essere realizzata da
funzionamento, ovvero evitare di filtra- specifico. mula 1), è invece fondamentale dedi- un piano con il minimo di aperture pos-
re porzioni di segnale utile. Fidarsi dei care al percorso di ritorno la stessa cu- sibili, in modo da costituire un ritorno
parametri parassiti per implementare LAVORARE SULLA SORGENTE: ra. Ogni discontinuità nel percorso di solido per i segnali ed un percorso a
una funzione può inoltre essere ri- PROGETTARE IL PERCORSO ritorno costituisce una variazione di im- bassa impedenza per le alimentazioni.
schioso e può essere desiderabile im- DI RITORNO INSIEME pedenza che causa riflessioni di porzioni Nella seconda parte vedremo come al-
porre una piccola capacità con un con- AL PERCORSO DI SEGNALE del segnale verso la sorgente. cuni oggetti, parte del nostro sistema,
densatore discreto. Pensandoci un attimo, ed osservando Queste riflessioni costituiscono segnali abbiano proprietà del tutto indeside-
In questo modo si riduce la dipendenza un qualsiasi schema elettrico (vedi fi- indesiderati che vanno ad aumentare rate e come evitare che causino pro-
da parametri soggetti a variazioni sen- gura 3), possiamo convincerci che la la rumorosità elettrica del sistema. At- blemi di compatibilità.
za controllo durante la vita del prodot- maggior parte delle volte progettiamo traversare aperture implica aumentare la
to (si pensi ad esempio all’effetto di solo metà del percorso elettrico di ogni lunghezza dell’anello, quindi il termine Codice MIP 2803342

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Solo filosofia o necessità?
In effetti, esistono differenti
strumenti per seguire
una sessione di test utilizzando
l’ambiente di lavoro GNU
Il debug di Linux
con Linux: si parte da una banale
comunicazione seriale fino
ad arrivare ad una connessione
di tipo JTAG e, grazie a questi
accorgimenti, è pensabile Figura 1: PEEDI, JTAG – LO STANDARD
codice sviluppato an-
condurre sessioni di debug che a livello kernel. che fornisce Il JTAG (Joint Test Action Group) è sta-
sul kernel di Linux Storicamente Linux na- anche funzionalità to inizialmente sviluppato come un mo-
sce su un’architettura di Flash do per testare la connessione elettri-
Intel x86 dove l’ambiente programmer, ca dei circuiti, anche oggi è più
di FRANCESCO PENTELLA
anche su memorie comunemente utilizzato per le attività di
host e target di norma coin-
NAND. 
cidono, ma solo in seguito, debug dei sistemi embedded. Un adat-
sistono, come molti sviluppatori
E software e hardware hanno posto
in evidenza, differenti sistemi di test
grazie alla sua diffusione in ogni
ambiente e applicazione, sorse anche macchina. La connessione seriale si
tatore JTAG, a volte indicato come in-
circuit emulator (ICE), è utilizzato per ac-
l’esigenza di disporre di strumenti più basava su una banale RS232 utilizzan- cedere ai moduli di debug on-chip
che rispondono a precise esigenze di ti- flessibili, tanto che il principale ispira- all’interno della CPU di destinazione.
do una configurazione null modem o
po commerciale con prerogative legate tore di Linux, Torvalds, decise di inserire Il proposito di realizzare uno standard
ricorrendo ad un’interfaccia di rete con
all’aspetto tecnico. Non solo, l’offerta una patch KGDB (debugger del kernel di per il test dei circuiti è un’idea che vie-
UDP/IP (a volte chiamata anche come
open source è notevolmente variegata Linux) nella struttura principale di Li- ne da lontano; in effetti, il boundary-
KGDB over Ethernet o KGDBoE).
e offre tutto il necessario per condurre nux fino a quando, dalla versione 2.6.26 scan JTAG fu pubblicato per la prima
un lavoro d’integrazione e di test, anche Di certo, una decisione del genere de-
venne presentata una variante più snel- volta nel 1990 con il riferimento di IEEE
se poi le aziende, nella maggior parte riva dal fatto che, per un sistema em-
la del KGDB. 1149.1 noto anche come TAP (Test Ac-
dei casi, preferiscono utilizzare sistemi bedded, diventa pressoché necessa- cess Port) o anche BSA (Boundary Scan
Per inciso possiamo ricordare che con
di tipo commerciale per via del possibile rio disporre di uno strumento flessibile Architecture). Questo particolare stan-
la versione 2.6.35 del kernel il KGDB
supporto e di una certificazione finale poteva essere usato come front-end che consenta di fare il debugging del dard definisce la logica di test da in-
del loro prodotto. del gdb sullo stesso computer in luogo kernel anche se poi, con l’introduzione cludere nei circuiti integrati che può
Una delle ragioni fondamentali che spin- dei due originariamente previsti. In ef- del JTAG, l’approccio è sostanzialmente essere utilizzata a livello di scheda per
gono le aziende a preferire soluzioni di fetti, la versione originaria del KGDB mutato per via della maggiore flessibi- effettuare collaudi strutturali precisi e la
tipo commerciali è la possibilità di uti- prevedeva la presenza di due macchine lità offerta e di una minore invasività programmazione dei componenti diret-
lizzare degli strumenti cosiddetti affi- tra loro connesse attraverso una linea delle patch del kernel come ci si era tamente su target. Nel tempo, seppur
dabili che permettono di verificare il seriale con due istanze di GDB su ogni abituati con KGDB. siano stati inseriti nuovi aggiornamen-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


ti, le sue funzioni messe a punto nella sario utilizzare anche un debugger soft-
versione iniziale non sono state modi- ware. Alcuni fornitori di adattatori JTAG
ficate ma, al contrario, sono state in- offrono anche strumenti software (6),
trodotte nuove funzioni di tipo opzio- mentre altri si basano su pacchetti open
nale. source. Anche se la maggior parte de-
L’idea dello standard, in sostanza, è bugger JTAG al giorno d’oggi suppor-
molto semplice: si intende finalmente tano Linux, è necessario al momento
standardizzare il controllo dell’inter- dell’acquisto di un dispositivo a bas-
faccia utilizzando, a questo scopo, un Figura 2: esito positivo con il target.  so costo chiedere l’eventuale compati-
sottoinsieme di pin fisici (quattro fon- bilità con Linux, la MMU, il formato bi-
damentali e uno opzionale) e, aspetto nario dei file di Linux ed il supporto dei
molto interessante, è anche possibile debug particolarmente moduli caricabili. Se supporta a di-
verificare le connessioni sul circuito - [1] http://www.ronetix.at – Ronetix website economico e perfetta- stanza GDB (GNU debugger) e proto-
stampato prima della programmazione - [2] http://www.olimex.com/dev/arm-usb-ocd.html mente comparabile con i collo, si può essere sicuri che si tratta di
per accertarsi che non vi siano dei cor- - [3] http://www.segger.com/cms/j-link-edu.html costosi emulatori. In ef- andare a lavorare. Il PEEDI, ad esempio,
ti indesiderati che potrebbero danneg- fetti, il BDM offre il van- è un tipico debugger hardware su JTAG
- [4] http://openocd.berlios.de/web/
giare il dispositivo in modo irreparabile. taggio che non vengono con la piena disponibilità di lavorare
Un sistema di questo tipo utilizza i pin - [5] http://www.putty.org/ con GDB e Linux. In effetti, per le sue
richiesti ulteriori circuiti
TDI (Test Data In), TDO (Test Data Out), - [6] www.macraigor.com da integrare con il micro- caratteristiche, PEEDI è la soluzione ot-
TCK (Test Clock), TMS (Test Mode Se- - [7] OpenOCD User’s Guide controllore di cui si vuole timale per il debugging hardware di
lect), TRST (Test Reset). I primi due so- realizzare il debug: in so- schede con interfaccia JTAG. È molto
no utilizzati per il transito dei dati, men- stanza si utilizza uno spe- veloce, economico e con buoni possi-
tre gli altri tre sono segnali di controllo ciale hardware all’interno bilità prestazionali, tanto che può rap-
con il segnale TRST definito opzionale lo (TCK, TMS, TRST) sono connessi in del microcontrollore stesso. In partico- presentare l’abbinamento ideale per un
nello standard IEEE 1149.1. Non solo, parallelo su tutti i dispositivi della ca- lare nella tabella 1 si mostrano i co- sistema linux embedded. Non solo,
nel caso in cui in uno schema elettrico tena ed in questo modo il numero di mandi disponibili del BDM per un even- PEEDI fornisce anche funzionalità di
siano presenti più dispositivi, l’utilizzo pin rimane costante, indipendentemente tuale sistema di test. Flash programmer (anche su memorie
del sistema JTAG consente di collegarli dal numero di dispositivi presenti nella Dalla tabella possiamo vedere che il NAND), figura 1. Il prodotto di casa
in modo seriale: l‘ingresso per l’intero catena JTAG. BDM offre le capability di un tipico de- Ronetix offre interessanti caratteristiche
schema elettrico rimane uno e coincide Utilizzare la tecnologia JTAG per verifi- bug monitor: scrittura e lettura di registri che permettono un suo utilizzo per un
con il segnale TDI del primo dispositivo care il codice è un’attività interessante insieme alla capacità di poter interagi- ampia possibilità di processori con un
della catena, mentre l’uscita diventa il e consente anche di ottenere enormi re con la memoria. buon supporto di prodotti open-source.
segnale TDO dell’ultimo. Il collegamento flessibilità: in passato si utilizzavano Attraverso il Jtag possiamo interrom- Ronetix (2), il costruttore del sistema
tra un dispositivo e il successivo è ef- anche altri sistemi quali il BDM di Mo- pere la CPU, ispezionare i suoi registri e di test, garantisce anche la possibilità di
fettuato cortocircuitando il segnale TDO torola, ora Freescale utilizzato in am- la memoria e definire punti di interru- poter fare il download di immagini fir-
di un dispositivo con il segnale TDI di biente ColdFire e68k like. zione. In effetti, però, per apprezzare un mware da TFTP, FTP, HTTP server o
quello successivo. I segnali di control- In questo modo si poteva disporre di un sistema di questo tipo è anche neces- MMC/SDcard e supporta l’interfaccia

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Telnet a linea di comando e l’interfaccia estremamente contenuti. Esistono di-
pannello frontale dei due tasti e del di- versi strumenti disponibili in rete ma, in
splay a 7-segmenti. Non solo, si ga- base all’esperienza personale, si po-
rantisce anche il funzionamento stand- trebbe optare per la proposta di casa
alone del FLASH programmer senza Macraigor su porta parallela o ricor-
PC: i file da programmare sono memo- rendo alla semplice interfaccia har-
rizzati su una schedina MMC/SD ed il dware di Olimex (2) utilizzando OCD at-
controllo si stabilisce attraverso il pan- traverso una porta USB o seriale, fino ad
nello frontale. PEEDI è però un sistema una versione semiprofessionale con J-
commerciale e, in quanto tale, deve es- Link da Sagger (3) utilizzate in ambito
sere acquistato. In realtà, è anche pos- didattico.
sibile utilizzare sistemi più di basso Di certo, qualsiasi progettista hardwa-
profilo o, addirittura, costruirci qualco- re/firmware potrebbe realizzare la sem-
sa di analogo, ma non è questo lo sco- plice schedina di interfaccia, anche se
po dell’articolo. a costi estremamente contenuti si po-
trebbe utilizzare la versione Olimex.
CONFIGURARE L’EMULATORE Nella soluzione approntata da Segger,
Una delle attività da fare è quella, una l’openOCD (4) non risulta interamente
volta compilato il kernel, di configu- compatibile con il lato GDB server rea-
rare in modo appropriato il nostro lizzato dal costruttore e, viceversa, lo
Figura 3: inizio della sessione di debug. 
JTAG. Di solito il costruttore di un adat- stesso openOCD non supporta l’inter-
tatore fornisce il file di configurazione. faccia J-Link di Segger.
Per scrivere una nostra configurazione, Per i nostri scopi esclusivamente di-
o per modificarne una già esistente, Command Mnemonic Description dattici è possibile, senza dubbio, uti-
sarà necessario leggere la documen- Read Register RAREG/RDREG Read the selected address or data register lizzare l’interfaccia Olimex; in effetti,
tazione offerta dal produttore. and return the result l’ARM-USB-OCD è un unico dispositivo
Nel nostro caso, il listato 1 (disponibile Write Register WAREG/WDREG Write the specified value to the selected hardware che riesce a coniugare il de-
per il download gratuito all’indirizzo address or data register bugging JTAG su una porta seriale vir-
www.fwonline.it) presenta un esempio Read Memory READ Read from the specified memory location tuale RS232, unito ad un adattatore di
per configurare il PEEDI. Write Memory WRITE Write to the specified memory location alimentazione.
Dump Memory DUMP Read from a block of memory In effetti, la maggior parte dei compu-
MINIMAL DEBUGGING ARM LINUX Fill Memory FILL Write to a block of memory ter disponibili oggi in commercio non
Questa è una soluzione minimale a bas- Resume Execution GO Resume instruction execution at the current hanno né porte parallele seriali ma so-
so costo; in effetti, non si ha la neces- value of the PC (after pipeline flush) lo USB. In questo caso, con ARM-USB-
sità di utilizzare una strumentazione OCD è possibile eseguire il debug del-
esterna e complessa ma il tutto si basa Tabella 1: comandi disponibili per il BDM.  le schede ARM, hanno descritto
su una classica interfaccia con costi completo di porta RS232 virtuale con

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Pcb pool – circuiti stampati

Figura 4: utilizzo della variante grafica di GBD di Insight. 

tutti i segnali modem presenti, con la realizzata da Olimex, l’openOCD (4) e


presa di alimentazione che può fornire Putty (5).
tre valori di tensione 5V - 9V - 12V in- Il tutto si basa su GDB, il debugger
tervenendo sui jumper di selezione. In GNU, accluso in qualsiasi distribuzione:
alternativa è anche possibile ricorrere a a questo riguardo possimo utilizzare la
ARM-JTAG, una soluzione inferiore, con sua modalità testuale o grafica, maga-
interfaccia JTAG/Parallela. ri ricorrendo al tool DDD (Data Display
In questo caso tutto quello di cui ab- Debugger) o a Insight.
biamo bisogno è, oltre all’interfaccia Una volta stabilite correttamente le con-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


nessioni è necessario inizializzare la cd ~/stm32/stm32-example/ si fa partire la sessione testuale, mentre Il lavoro per configurare openOCD deve
nostra sessione di lavoro così come ri- /projects/stm_h103/ con: essere fatto con particolare cura perché
portato nel listato 2, che trovate sul make clean deve rispecchiare l’esatta configura-
sito www.fwonline.it per il download make arm-none-eabi-insight —eval-com- zione fisica del nostro target.
gratuito. mand=”target remote localhost:3333”
wget http://fun-tech.se/stm32/
La figura 2 mostra l’esito positivo con main.out DEBUGGING ARM LINUX KERNEL
/OpenOCD/openocd.cfg
il nostro target, mentre la figura 3 mo- si fa partire la scelta grafica basata su La crescente popolarità di microcon-
stra l’inizio della nostra sessione di Insight. trollori ad alte prestazioni disponibili
debug. A questo punto ci colleghiamo al nostro ad un costo ridotto, incluso l’ARM a
Per utilizzare openOCD è necessario
Una tipica sessione di lavoro con ope- target a facciamo partire il nostro server scrivere un file di configurazione, uno 32-bit, ha permesso a Linux di entrare
nOCD inizia con il mount dell’usbfs con OpenOCD script file che si prende in carico l’ini- nel mondo dei dispositivi embedded:
il comando zializzazione dell’hardware e la defini- ecco perché si ha la necessità di ap-
xterm -e “openocd -f openocd.cfg” & zione dell’ambiente di lavoro da utiliz- prontare sistemi di debug delle sue ap-
sudo mount -t usbfs none /proc/bus/usb zare. A questo proposito è necessario plicazioni e del kernel. Dal momento
Attraverso una connessione Telnet …. seguire le indicazioni contenute nel ma- che Linux è un vero sistema operativo
e con nuale di riferimento (7). multi-processo, offre la possibilità di
Con la prima parte si intende configu- sfruttare una Memory Management Unit
xterm -e “telnet localhost 4444” &
sudo bin/openocd -f flyswatter.cfg -f rare l’OpenOCD server negli aspetti di ri- (MMU) per dare ad ogni processo uno
lpc3250.cfg cezione e invio dei comandi verso il spazio di memoria separato. Non so-
… possiamo anche mettere in flash il
debug residente su host. lo: la MMU è anche responsabile della
si lancia il nostro programma per la ge- nostro sistema di test, così: protezione dello spazio di memoria di
Il primo comando “telnet_port 4444”
stione dell’interfaccia JTAG. A questo specifica la porta sulla quale si intende ogni processo rispetto agli altri. Per
punto possiamo mettere in esecuzio- reset halt ascoltare le connessioni telnet in en- questa ragione diventa necessario of-
ne il debugger con il comando flash probe 0 trata. Con gdb_port si instaurano le co- frire e sfruttare sistemi di verifica, leggi
stm32x mass_erase 0 municazioni a livello GDB con il sistema debugger, per lavorare correttamente
arm-unknown-linux-gnueabi-insight flash write_bank 0 main.bin 0 sotto test. e senza problemi con il kernel e le ap-
vmlinux reset halt Nella sezione Interface si definiscono i plicazioni di Linux senza interferire sui
parametri utilizzati dall’interfaccia per il processi in esecuzione.
all’interno del quale è necessario im- test: in questo caso si utilizza il driver Possiamo, oltre all’open source, sfrut-
A questo punto dobbiamo far partire il
postare i parametri di comunicazione ft2232. tare a questo proposito la Ronetix
nostro debugger scegliendo la modali-
con il target, quali target, hostname e Questa parte è utilizzata per inizializzare PM9261 con le toolchain GNU ARM-
tà testuale o grafica.
port. In questo caso stiamo utilizzando il driver prima di utilizzare il JTAG. È ELF e ARM-LINUX: la scheda Ronetix è
la variante grafica di GBD di Insight (fi- In effetti, con: fornita con Linux installato e la proce-
anche possibile definire la memoria tar-
gura 4). Oppure possiamo pensare di get attraverso il comando memory spa- dura utilizzata, nei suoi tratti fonda-
lavorare con STM32/ARM Cortex-M3 arm-none-eabi-gdbtui —eval- ce che identifica l’indirizzo di partenza mentali, è perfettamente integrabile con
in ambiente Ubuntu, seguendo la pro- -command=”target remote local- della porzione di memoria e la sua di- qualsiasi board di lavoro.
cedura seguente ricorrendo a openOCD. -host:3333” main.out mensione. Per prima cosa diventa necessario co-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Ipad iphone app

struire il nostro kernel e installare la Nella console gdb:


nostra toolchain GNU: alla fine di questa
fase si ottiene il file image/vmeImage. (gdb) target remote 192.168.3.100:2000
A questo punto è necessario installare (gdb) set $pc = 0x10000040 ; si assume
i diversi moduli del kernel e caricare che u-boot è posizionato all’indirizzo
su target i file ottenuti, vmImage e ro- 0x10000000
otfs.jffs2 utilizzando il bootloader che il (gdb) c
costruttore offre sul suo sito, in accor-
do con le indicazioni presenti nel file Il nostro target è pronto per iniziare
di configurazione (listato 1, disponi- questa avventura e attraverso una con-
bile per il download gratuito all’indiriz- sole seriale è possibile vedere il com-
zo www.fwonline.it). Il tutto è fatto con portamento di Linux. L’utilizzatore può
l’interfaccia Ethernet via TFTP o FTP: intervenire sul processo in esecuzione
o impostare punti di interruzione nel
telnet 192.168.3.100 ; si assume l’IP
codice. In caso si volesse inserire un
del PEEDI pari a 192.168.3.100
breakpoint prima dell’esecuzione del
kernel, non è opportuno utilizzare il co-
peedi> flash set 0 ; select the first
mando di halt perché potrebbe so-
flash profile (U-BOOT)
spendere l’esecuzione di un processo
peedi> flash erase
utente. Si consiglia, a questo proposito,
peedi> flash program
di impostare un breakpoint all’interno
peedi> flash set 1 ; select the second
del kernel come nella funzione start_ker-
flash profile (Kernel)
peedi> flash program nel() o alla funzione main(). Per ottene-
peedi> flash set 2 ; selectthe ROOTFS re gli indirizzi necessari può essere uti-
flash profile le utilizzare l’utility nm.
peedi> flash erase
peedi> flash program (gdb) target remote
192.168.3.100:2000
È possible però ricorrere anche ad uno (gdb) set $pc = 0x10000040 ; si assu-
script file, come: me che u-boot è posizionato all’inidi-
rizzo 0x10000000
peedi> run $prog (gdb) hbreak start_kernel ; hardware
breakpoint
Il progettista, a questo punto, può ini- (gdb) c
ziare la sua sessione di test con:
arm-elf-insight vmlinux Codice MIP 2803346

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


+ Skills
DEBUGGING
AVANZATO LINUX
EMBEDDED
Recovery
Soluzioni per il debug di LUCA STANZANI a maggior parte dei collegamenti se-
di sistemi Linux
In questo articolo
L riali integrano il segnale di clock nel-
la trasmissione dei dati. Fondamental-
multicore e Android.
si proporrà una soluzione mente è compito del ricevitore estrarre
ADVANCED completamente digitale e riprodurre il segnale di clock. Nel cor-
so dell’articolo approfondiremo il di-
DEBUGGING per estrarre il clock
scorso su una realizzazione digitale del-
SU MSP430 da un flusso di dati seriali l’algoritmo di recupero dei dati e del
In questo articolo codificati con un protocollo clock per un segnale NRZ ad 1.5 Mbps.
affronteremo le NRZ. Ovviamente, essendo Per realizzare l’estrazione del clock per
tematiche riguardanti completamente digitale la sincronizzazione del ricevitore, l’al-
il debugging avanzato goritmo viene implementato su FPGA, in
potrà essere implementata
con tecnologia particolare il dispositivo scelto è la
agevolmente su FPGA Spartan XC3S200.
Enhanced Emulation
La scelta del dispositivo non è stata
Module, utilizzando la
fatta a caso in quanto Xilinx integra sui
quarta versione prodotti Spartan e Virtex i blocchi DCM
dell’ambiente di (digital-clock manager), ottimizzati per
sviluppo Code applicazioni di questo tipo.
Composer Studio. Tuttavia, per rendere l’applicazione più
generica possibile, si è deciso di uti- Figura 1: circuito di recupero del clock
lizzare un algoritmo semplificato in gra- implementato in FPGA.
do di confrontare i fronti sul segnale
dati con il clock generato internamente. In figura 1 si può vedere la rappresen-
Questo consente al progetto di essere tazione grafica del funzionamento del
integrato anche in una piccola CPLD o blocco di estrazione del clock.
in una FPGA che non dispone dei bloc- L’algoritmo utilizza un contatore free-
chi DCM. running a 3 bit per generare il clock di

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


uscita, uno shift register a 8 bit per l’array di XOR che genera 0000 0001) un
campionare il dato seriale in arrivo, 7 improvviso cambiamento di fase si de-
porte XOR per rilevare le commutazio- termina sull’uscita dati. Tale cambia-
ni di livello ed infine un multiplexer con mento di fase è pari a –315° (ossia 360°
decodifica per portare l’ultimo bit dello x 7/8). Poiché il bit successivo di dati in
shift register in uscita; questo blocco lo- ingresso deve essere ancora shiftato
gico viene addizionato con alcuni re- Figura 2: il raddoppio del clock in uscita previene una variazione di fase all’indietro. completamente, all’interno dello shift
gistri con funzione di buffer. register è necessario generare un dop-
L’algoritmo lavora ad una velocità otto pio clock in uscita, evitando così che il
volte superiore allo strema di dati in in- registro perda l’arrivo di un bit.
gresso, senza una relazione di fase tra Questa situazione è raffigurata in figu-
il segnale di clock interno della logica ed ra 2. Al contrario, quando la fase del se-
il segnale dati in ingresso. Quanto det- gnale in ingresso cambia il suo segnale
to si traduce nel fatto che dopo otto d’uscita, imponendo al multiplexer di
cicli di clock lo shift register contiene un passare dal bit 1 al bit 7, il cambia-
fronte di salita del segnale dati oppure Figura 3: un ciclo di riposo del clock previene una variazione di fase in avanti. mento di fase è di 315° (in questo caso
un fronte di discesa o ancora nessun positivo). Poiché il bit 7 dello shift regi-
fronte se i dati rimangono costanti in in- rispondenza della metà del bit di dati in multiplexer può ritrovarsi in una situa- ster è una versione ritardata dell’ultimo
gresso. entrata. Quando esistono differenze di zione di overflow, ossia quando il bit 7 bit b1 appena portato in uscita allinea-
Il multiplexer non contempla i casi in cui velocità tra i segnali di clock e i segna- dello shift register viene proposto in to al clock, sarà necessaria una situa-
non si verifichino fronti o nei quali i li dati in ingresso, per esempio nel caso uscita dal multiplexer. In seguito ad una zione di stallo per un ciclo, altrimenti ci
fronti siano più di uno. Il piazzamento si ritroverà un bit in più in uscita.
di bitter sul clock o di tolleranze ab- variazione di fase del segnale in in-
esatto del fronte viene individuato nel- La situazione è riprodotta in figura 3.
bondanti sugli oscillatori, la fase del gresso, il multiplexer potrebbe com-
lo shift register utilizzando le porte XOR, Per le due situazioni di gestione del-
segnale d’ingresso cambia rispetto alla mutare in uscita il bit 1, o viceversa.
che confrontano rispettivamente bit 0 e l’overflow, la manipolazione del segna-
fase del clock in uscita. Se il bit 7 è il primo ad essere fornito in
bit 1, bit 1 e bit 2, e così via fino a bit 6 le di clock si può realizzare con della
e bit 7. Quando tra i due bit in ingresso Questo algoritmo individua queste si- uscita (significa che l’array di XOR pro- semplice logica combinatoria.
alla porta XOR c’è una differenza di li- tuazioni e tenta di seguire la variazione duce il byte 0100 0000) e successiva- Sul sito della Xilinx è disponibile l’ap-
vello, allora il segnale d’uscita è a livello di fase del segnale dati. In alcuni casi il mente si passa a fornire il bit 1 (con plication note xapp224 che discute un
logico alto, permettendo così di indivi- metodo molto simile a quello qui ap-
duare il verificarsi di un fronte sul se- plicato.
gnale d’ingresso. Rispetto all’algoritmo appena discusso,
In base a quale segnale delle porte XOR quello proposto da Xilinx non utilizza un
pilota il multiplexer, un determinato bit - “Implement a simple digital-serial NRZ data-recovery algorithm in an FPGA” - contatore a 3 bit per suddividere il pe-
dello shift register viene multiplexato Jef Thoné and Bob Puers, ESAT –MICAS riodo del segnale dati in ingresso, ma
in uscita. Quest’azione assicura che il - Xilinx Application Note XAPP224. genera semplicemente due segnali di
clock in uscita commuti sempre in cor- clock sfasati di 90° sui quali, in corri-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Millennium dataware circuiti stampati

Figura 6: shift register.

Il progetto può essere scaricato dal si-


to web della Xilinx al seguente indirizzo:
ftp://ftp.xilinx.com/pub/applica-
Figura 4: codifica NRZ. tions/xapp/xapp224.zip .

CODIFICA NRZ
La codifica NRZ significa No Return to
Zero, ossia Non Ritorno a Zero; è stato
il primo sistema di codifica, ed anche il
più semplice. Esso consiste semplice-
mente nel trasformare gli 0 in -X e gli 1
in +X; in questo modo si ha una codifi-
ca bipolare nella quale il segnale non è
mai nullo. Di conseguenza, il ricevente
può determinare la presenza o meno
del segnale.
L’impulso così ottenuto contiene molta
più energia di un segnale con codifica
Figura 5: uno Spartan XC3S200.
RZ, costretto invece a ritornare al valore
logico –X dopo il fronte del segnale di
spondenza dei 4 fronti (salite e discese), clock sincronizzato con i dati. Per il
si va a campionare il segnale d’ingres- segnale NRZ non esiste uno stato di
so e lo si immette in una sequenza di reset ed è tipicamente utilizzato per
flip-flop (shift register); i fronti vengono codifiche auto sincronizzanti, ossia si
sempre individuati con delle porte XOR trasmette il solo segnale di dati ed il
e una logica realizza in vhdl il data re- ricevitore ne estrae il clock.
covery. Codice MIP 2803354

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Debugging avanzato
+ Skills
di MARCO FERRARIO, LAUTERBACH ITALIA

CLOCK RECOVERY
In questo articolo si
proporrà una
EMBEDDED
Soluzioni per il debug di sistemi Linux multicore e Android
soluzione
completamente
esigenza di adottare architetture
digitale per estrarre il
clock da un flusso di
L’ di CPU multicore nasce dal tenta-
tivo di risolvere i problemi di consumo
dati seriali codificati energetico e conseguente dissipazione
con un protocollo NRZ. di calore che si presentano quando si
aumenta la frequenza di lavoro di una
ADVANCED CPU a singolo core.
DEBUGGING SU Inoltre la tendenza tecnologica a ridur-
re la geometria di un chip aumenta sem-
MSP430
pre più i problemi di progetto, dovuti
In questo articolo al manifestarsi di fenomeni parassiti
affronteremo le (effetti capacitivi, correnti di dispersio-
tematiche riguardanti ne, ecc...).
il debugging avanzato Una prima risposta a questi problemi
con tecnologia consiste nel definire nuove architetture
di CPU, dotate per esempio di superpi-
Enhanced Emulation
peline oppure di tipo super-
Module, utilizzando la
scalare. Nel primo
quarta versione caso si riduce ogni
dell’ambiente di
sviluppo Code Figura 1:
Composer Studio. la soluzione
Lauterbach per
il debug di
sistemi Linux
embedded e Figura 2: per il debug di sistemi AMP viene avviata una singola istanza di
Android. TRACE32 per ogni core.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


stadio della pipeline in unità più pic- essere classificato in due modi: sono
cole. possibili soluzioni asimmetriche (AMP,
Nel secondo caso si aumenta il numero asymmetrical multiprocessing), in cui
di pipeline facendole lavorare in paral- l’assegnazione dei task ad un singolo
lelo. Questo tipo di soluzione comporta core è definito univocamente in fase
una serie di problemi, in particolare cir- progettuale; oppure soluzioni simme-
ca le condizioni di stallo della pipeline e triche (SMP, symmetrical multiproces-
della complessità della sincronizzazio- sing), in cui ogni task è assegnato ad un
ne. Un’altra tendenza è quella di au- core dinamicamente, da parte di un
mentare le unità logico-aritmetiche sistema operativo SMP, sulla base di
(ALU), rendendo possibile l’elaborazio- politiche di assegnamento definite nel
ne contemporanea di più istruzioni, cia- sistema operativo stesso. In questo
scuna delle quali opera su dati diversi. caso tutti i core devono essere dello
Si parla in questo caso di architettura stesso tipo.
MIMD (multiple instruction multiple da-
ta). Un’architettura MIMD a singolo co- DEBUG AMP E SMP
re risulta comunque molto complessa a Lauterbach supporta il debug di sistemi
livello progettuale. AMP mediante istanze separate del
Oggi la soluzione più adottata per ri- software TRACE32, una per ogni core.
solvere i problemi sopra citati è quella di Ciò consente di gestire opportunamente
sviluppare vere e proprie architetture CPU contenenti diverse architetture di
multicore, realizzando quindi diverse core. È tuttavia possibile fermare o av-
unità più piccole al posto di una sola più viare contemporaneamente le applica-
grande. In questo caso, la complessità zioni in esecuzione sui diversi core, che
di progetto si sposta dal singolo core al spesso operano interagendo fra loro.
sistema di comunicazione e di bilan- Per il debug di sistemi SMP, invece,
ciamento del carico di elaborazione dei Lauterbach fornisce una singola istan-
core. za del software TRACE32 in grado di
Dal punto di vista energetico, la dispo- controllare tutti i core. L’interfaccia
nibilità di più core permette anche lo Figura 3: per il debug di sistemi SMP una singola istanza di TRACE32 controlla tutti i core. utente mostra di volta in volta le infor-
spegnimento temporaneo delle unità mazioni d’interesse per il debug di
meno attive, che risulta molto più sem- un’applicazione, riconoscendo auto-
pito specifico. Non è raro il caso in cui dware, la potenza elaborativa delle ar-
plice rispetto allo spegnimento di singoli nomamente il core su cui è allocata. La
circuiti di un solo core. una CPU multicore sia composta da chitetture multicore può essere oppor- visualizzazione può comunque essere
Inoltre i core di una CPU possono anche un’unità microcontrollore e da un DSP. tunamente sfruttata solo se esiste un spostata su un altro core.
essere realizzati in modo asimmetrico, Nei casi in cui il bilanciamento del carico supporto da parte di un sistema ope- L’assegnazione dei breakpoint è risolto
dedicando ogni singolo core ad un com- di lavoro non sia realizzato a livello har- rativo. Il multiprocessing può quindi posizionandoli su tutti i core, poiché

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


abbonamento

Figura 4: il trace di sistemi AMP viene visualizzato su GUI distinte. È comunque possibile
sincronizzare le diverse interfacce.

non è possibile sapere a priori su quale delle singole funzioni, in modo da veri-
core sarà in esecuzione l’applicazione al ficare la corrispondenza con eventuali
momento del breakpoint. Quando un requisiti temporali. Molti sistemi ren-
core si ferma a un brekapoint, anche dono disponibile anche il trace di dati
gli altri core vengono fermati. Se il pro- d’interesse dell’utente, ad esempio l’in-
gramma è riavviato, tutti i core ripar- formazione sul processo correntemen-
tono insieme. te in esecuzione in un sistema operati-
vo multiprocessing.
TRACE AMP E SMP Lauterbach realizza il trace di sistemi
Il trace real time di un’applicazione per- AMP in modo indipendente per ogni
mette di rilevare rapidamente e siste- core. Ogni singola istanza del software
maticamente condizioni di malfunzio- TRACE32 permette di visualizzare le
namento particolarmente complesse, informazioni di trace del core corri-
che si verificano solo in condizioni run- spondente.
time. È comunque possibile sincronizzare le
È inoltre possibile ottenere informazio- diverse viste grazie all’utilizzo di un
ni statistiche, come l’analisi di copertura unico riferimento temporale. Nei siste-
del codice eseguito e, avendo a dispo- mi SMP, invece, Lauterbach utilizza
sizione anche informazioni sul tempo un’unica memoria di trace condivisa
di esecuzione, il profiling della durata fra tutti i core.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


È quindi possibile visualizzare le infor-
mazioni di trace contemporaneamen-
te per tutti i core, oppure distinguendo
fra i singoli core o addirittura per singoli
task.

Figura 7: l’awareness di Linux permette di


LINUX AWARENESS
esaminare l’utilizzo delle risorse del
Il riconoscimento delle strutture dati ri-
sistema operativo, come ad esempio i task
levanti di un sistema operativo e dei
in esecuzione.
suoi meccanismi di gestione delle ri-
sorse (awareness) permette ad un de-
bugger di offrire all’utente funzionalità brerie dinamiche vengono caricate da Li-
avanzate di controllo del software. nux nel momento in cui le loro istruzio-
Nel caso di Linux utilizzato su sistemi ni sono utilizzate per la prima volta. Con
embedded, i debugger Lauterbach for- i debugger Lauterbach è inoltre possibile
niscono un’integrazione molto sofisti- il debug dei threads che compongono
cata con il sistema operativo, in grado di un processo. In questo caso è suffi-
mostrare le condizioni di utilizzo delle ciente caricare una sola volta le infor-
principali risorse allocate. mazioni simboliche associate al pro-
Per garantire queste funzionalità, l’awa- cesso. Il kernel di Linux è compilato in
reness riconosce la configurazione del- modo da consentire il collegamento di
l’MMU del processore, sapendo che Li- moduli aggiuntivi, che possono essere
nux opera in uno spazio di memoria caricati dinamicamente.
virtuale. Si noti che il meccanismo di Con Lauterbach è possibile effettuare il
demand paging di Linux comporta che debug di un modulo a partire dalle fun-
Figura 5: nei sistemi SMP si utilizza una sola shared memory per memorizzare i dati di
un’applicazione possa essere fisica- zioni di inizializzazione. Inoltre è facilitato
trace di tutti i core.
mente non presente in memoria, fintan- il debug delle eccezioni di segmentation
to che le singole pagine contenenti istru- violation, mediante l’assegnazione dei
zioni o dati non vengano richieste per breakpoint necessari per identificare
l’esecuzione. l’eccezione e la possibilità di caricare
Il supporto a Linux in Lauterbach per- temporaneamente i registri del proces-
mette di effettuare il debug di un pro- sore con lo stato macchina che ha pro-
cesso utente a partire dal suo avvio. Se vocato l’eccezione, così da facilitare
il processo utilizza librerie dinamiche l’analisi del problema.
(shared objects), Linux le carica nello Nel momento in cui l’esecuzione viene ri-
Figura 6: è possibile rappresentare in forma grafica i dati di trace, distinguendo in base al spazio di indirizzamento del processo. presa, vengono ripristinati i registri ori-
core di esecuzione. Occorre tener presente che anche le li- ginali. È anche possibile associare dei

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


l’uno all’altro in modo elementare. Anche
dal punto di vista del trace esistono del-
le differenze. Se infatti il codice nativo
può essere tracciato con dei meccanismi
convenzionali di trace del flusso di pro-
gramma, per tracciare un’applicazione
Java è necessario avere un sistema in
grado di catturare il flusso dei dati. I de-
bugger Lauterbach forniscono un am-
Figura 8: i diversi livelli di astrazione biente che permette il cosiddetto stop
supportati dal software TRACE32 mode debugging, ovvero la possibilità
permettono il debug di tutte le risorse
di fermare il processore che esegue la
presenti in un sistema Android.
macchina fisica, congelando dunque in
uno stato ben definito la piattaforma che
breakpoint a un singolo task ed ese- contiene il sistema operativo e le appli-
guire per un singolo task il trace del cazioni in esecuzione, in modo da con-
flusso di programma. Nel caso in cui il sentirne un’analisi tramite il debugger.
processore fornisca funzionalità di tra- Advenced Debug con TRACE32 di Lauterbach Ciò richiede un supporto dall’hardware,
ce dei dati, è possibile tracciare il cam- normalmente ottenuto mediante una por-
bio di contesto dei singoli task, con il Bridge) ad un debug daemon sul target un problema: non si tratta infatti di un ve- ta di accesso JTAG. In questo modo è
per scopi di debug. In ambito embedded ro e proprio codice macchina, ma di una possibile eseguire il debug del codice
ANDROID esistono tuttavia molte situazioni in cui rappresentazione in linguaggio interme- nativo, comprendendo anche il kernel
Android è un sistema operativo open non è sufficiente eseguire il debug della dio, detta bytecode, rappresentabile a per il quale è disponibile uno specifico
source basato sul kernel Linux. Le ap- sola applicazione Java. Si tratta ad esem- sua volta come dati per l’interprete di supporto mediante funzionalità di OS
plicazioni vengono eseguite mediante pio di casi in cui è necessario modifica- una macchina virtuale. In altre parole, il awareness. Per permettere il debug con-
una macchina virtuale Java adattata per re dei componenti di sistema, come lo codice Java non è altro che una serie di giunto del codice nativo e delle appli-
l’utilizzo su dispositivi mobili, chiamata stack di rete, oppure analizzare l’intera- dati forniti in ingresso ad un apposito cazioni Java, Lauterbach sta sviluppan-
Dalvik virtual machine. Il codice di si- zione fra un’applicazione ed un driver programma. Dal punto di vista della mac- do un’estensione speciale delle
stema in esecuzione al di fuori della mac- di basso livello. china fisica, si tratta dunque di informa- funzionalità di awareness, in grado di
china virtuale, comprendente i servizi di Si pensi anche a casi di analisi post mor- zioni diverse rispetto alle istruzioni in gestire una macchina virtuale Dalvik. In tal
base, i drivers ed il kernel stesso, viene tem, in cui è necessario studiare lo stato codice nativo che la macchina fisica può modo sarà possibile esaminare lo stato
denominato codice nativo. Le applica- di un sistema che ha appena subìto un eseguire. È quindi comprensibile per dei programmi in esecuzione nella mac-
zioni Java/Dalvik possono essere svi- crash inatteso, per ricostruirne le cause. quali motivi risulti difficile integrare in china virtuale, con le stesse potenzialità
luppate e testate con il supporto di un In queste situazioni sarebbe preferibile uno stesso ambiente il debug del codice attualmente disponibili per accedere ai
apposito SDK. Anche Eclipse fornisce utilizzare un debugger in grado di acce- nativo e il debug del codice Java. Si trat- programmi in codice nativo.
un plugin dedicato, con il quale è possi- dere sia al codice nativo sia al codice ta di due tipi diversi di codice, eseguiti di-
bile collegarsi via ADB (Android Debug Java. Tuttavia il codice Java presenta versamente fra loro e non riconducibili Codice MIP 2809931

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


+ Skills Advanced debugging su
CLOCK RECOVERY
In questo articolo si
proporrà una
soluzione
completamente
di DAVIDE BOSCOLO TODARO urante la realizzazione di un pro-
digitale per estrarre il
clock da un flusso di La famiglia MSP430
D getto, più o meno complesso, gran
parte del lavoro viene spesso garantito
dati seriali codificati di Texas Instruments fa parte alla prova di funzionamento del circui-
con un protocollo di una generazione to. Per la parte hardware solitamente si
NRZ. usano dei simulatori che verificano le
di microcontrollori con prestazioni
varie componenti elettroniche, mentre il
e caratteristiche molto elevate.
software viene gestito in maniera più
DEBUGGING In questo articolo affronteremo semplice. Simulare il funzionamento di
AVANZATO LINUX le tematiche riguardanti il debugging un listato non è complesso e la maggior
EMBEDDED parte dei tools di sviluppo mette a di-
avanzato con tecnologia
Soluzioni per il debug sposizione opportune componenti per la
Enhanced Emulation Module,
di sistemi Linux verifica del lavoro svolto. Può accade-
utilizzando la quarta versione Figura 1: menù a tendina per l’inserimento
multicore e Android. re, però, che i risultati non rispecchino
dell’ambiente di sviluppo di nuovi breakpoint.
le aspettative, obbligando il program-
Code Composer Studio matore alla ricerca dell’eventuale erro-
mulazione in ambiente reale. I sistemi
re concettuale compiuto in fase di svi-
che richiedono MCU solitamente ven-
luppo.
gono impiegati per la gestione di so-
glie o per prendere “decisioni” rispetto
LA NECESSITÀ DI UN DEBUGGING
ON-CIRCUIT a parametri forniti in ingresso, per co-
Una volta verificate sia le parti software municare dati ad altri dispositivi, ma ra-
che quelle hardware, non resta che co- ramente sono impiegati per la gestione
minciare a realizzare i test on-circuit: di circuiti non complessi. Proprio per
realizzare un prototipo, montare i com- queste ragioni, una volta realizzato il
ponenti e caricare il firmware all’interno prototipo è difficile portarlo nelle con-
del microcontrollore per avviare una si- dizioni limite di operatività per verifi-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


tipo, Texas Instruments mette a dispo- IL FUNZIONAMENTO DELL’EEM
sizione degli sviluppatori un opportuno Il controllo degli eventi nell’EEM all’in-
modulo, chiamato anche Enhanced terno delle MCU MSC430 avviene met-
Emulation Module. tendosi in “fase” con i segnali interni
del controllore, indicanti che un possibile
L’ENHANCED EMULATION MODULE evento sta per accadere. Affrontata in
Nella famiglia in tecnologia flash questa maniera, la problematica è mol-
MSP430 viene reso disponibile all’in- to complessa, ma se consideriamo il
terno del case un chip per il debugging caso in cui si deve scrivere un valore in
avanzato. L’EEM permette di operare una E2PROM, prima di inviare il dato
in differenti livelli di simulazione, la- all’archivio si dovrà provvedere ad ali-
sciando all’operatore la profondità del mentarlo: questo segnale è considerato
debug da affrontare. Le varie modalità dall’EEM come un dato di Trigger, quin-
rese disponibili sono: di si avvia la procedura di debug prevista
• da due a otto hardware breakpoint; per la scrittura in memoria. Ogni blocco
• breakpoint complessi; del sistema interessato dal Enhanced
• interruzione del listato in caso di let- Emulation Module provvede il proprio
tura/scrittura in una determinata por- Trigger, lasciando all’operatore la pos-
zione di memoria; sibilità di gestirlo direttamente come un
• protezione di alcune aree di memoria breakpoint nel firmware, o come com-
per lettura/scrittura; binazione di due o più, rilevando quindi
• tutti i timer e i contatori possono es- eventi complessi. La natura dei Trigger
sere interrotti; permette di compiere tre tipi di azioni al-
• esecuzione dei comandi passo passo, l’individuazione di un evento:
Figura 2: menù proprietà del breakpoint appena inserito. I numeri nell’immagine si con possibilità di saltare alcune istru- • breakpoint;
riferiscono: 1: azione da compiere alla rilevazione dell’evento; 2: locazione iniziale da zioni; • tracciatura;
controllare; 3: tipo di accesso da controllare, in questo caso scrittura; 4: locazione finale • pieno supporto di tutte le modalità a • esecuzione in sequenza.
da controllare 5:tipo di trigger. basso consumo; Nel software di debug è possibile anche
• supporto del Digital Controlled Oscil- definire quali condizioni debbano av-
care se effettivamente lavori corretta- sistema di spegnimento funzioni por- lator con dipendenza da temperatura viare una determinata modalità di ri-
mente. Per esempio: se si sta lavorando tando il motore ad operare nella condi- e tensione. cerca errore: la lettura, la scrittura o
al progetto di un arresto d’emergenza zione limite, in quanto se la logica pro- La logica EEM non lavora in maniera l’esecuzione di un dato comando. Com-
per un motore endotermico, un sistema grammabile avesse qualche problema, “coercitiva” con il dispositivo, ciò sta ad binando insieme due o più di queste
che blocchi immediatamente gli organi probabilmente il motore ne risentirebbe indicare che non va a bloccare le risor- caratteristiche è quindi possibile indi-
meccanici in caso questi superino valori istantaneamente portando tutti i tecni- se che devono essere modificate co- viduare quando un determinato valore
specifici considerati limite per la sicu- ci in una condizione di pericolo imme- me da istruzioni del firmware, quali: re- viene scritto in una definita porzione
rezza, è improponibile verificare se il diato. Per gestire operazioni di questo gistri, memoria e interrupts. della memoria.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


I BREAKPOINT procedura di interruzione. L’importante I REGISTER BREAKPOINT registri molto importante per il funzio-
I breakpoint sono degli artefici softwa- è che se si decide di utilizzare un bre- Per i programmatori che sfruttano mag- namento del firmware, e che quindi de-
re per bloccare l’andamento di un fir- akpoint senza valore, allora è neces- giormente le potenzialità del codice as- ve essere controllato efficacemente, è lo
mware e verificare i valori dei vari regi-
sario un solo Trigger, mentre se si pre- sembly, un tools molto utile e versatile è stack pointer. Se viene riscontrato un
stri, memorie e I/O dell’MCU in uso. In
ferisce l’implementazione del valore si il register breakpoint che va ad intera- malfunzionamento che permette allo
un sistema provvisto di EEM esistono
quattro differenti tipi di interruzioni: ad- dovranno utilizzare due trigger. gire con i registri della CPU. Uno dei stack di interagire con l’area dati, è
dress breakpoint, data breakpoint, re-
gister breakpoint, range breakpoint.

GLI ADDRESS BREAKPOINT Dispositivo F11x1 F12x2 F13x F15x F20xx F24x F41x FG43x F43x Fg46xx F543x F5509 CC430
Le interruzioni ad indirizzo sono i break- F12x F14x F16x F21x1 F42x F44x F543xA F5510 F61xx
point, più facilmente utilizzabili tra i quat- F16xx F22xx FE42x F552x
tro menzionati precedentemente. F26xx F23xx FW42x F551x
Quando un blocco posto sotto controllo F42x0
dall’EEM va ad interessare un indirizzo
preventivamente definito, il sistema di Numero di Trigger 2 2 3 8 2 3 2 2 8 8 8 3 3
debug va a bloccare istantaneamente il
Confronto (<,>,=) No No Si Si No Si No No Si Si Si Si Si
clock della CPU fermando l’esecuzione
del firmware. In questo momento il si- R/W No No No Si No Si No No Si Si Si Si Si
stema si trova in condizione di stasi, la- DMA No Si No Si No No No Si No Si Si Si Si
sciando all’operatore il tempo di verificare
la circuiteria e i parametri prima di ri- Reg. Scrittura Trigger No No No 2 No 1 No No 2 2 2 1 1

prendere l’esecuzione. Confronto (<,>,=) No No No Si No Si No No Si Si Si Si Si

REAZIONI
I DATA BREAKPOINT
Un altro tipo di breakpoint, chiamato Interruzione Si Si Si Si Si Si Si Si Si Si Si Si Si
breakpoint dati, può essere configura- Salvataggio stato No No No Si No No No No Si Si Si No No
to per operare con una o due sorgenti di
Tracciatura No No No Si No No No No Si Si Si No No
Trigger.
Un’interruzione di questo tipo può es- Gestione Clock
sere prodotta verificando un possibile Globale No No No Si Si Si Si Si Si Si Si Si Si
valore (indirizzo di memoria della va-
Moduli No No No Si No Si No Si Si Si Si Si Si
riabile) con il comando lettura e/o scrit-
tura. Per affinare maggiormente la ri-
Tabella 1: la tabella prende in esame tutte le caratteristiche per il debug descritte nell’articolo, specificando le compatibilità con i vari
cerca è possibile anche definire quale
valore si debba attendere per avviare la

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Ebook digital

molto difficile scovare il problema con i • break on Instruction Fetch out of Ran-
consueti mezzi messi a disposizione ge: un firmware fonda il suo funziona-
dello sviluppatore, in quanto i “sintomi” mento nei salti incondizionati tra istru-
cambiano probabilmente ogni volta che zioni. Nel caso il programma eseguisse
il programma viene lanciato in esecu- un salto al di fuori delle istruzioni, la
zione. Un semplice breakpoint che in- CPU non troverà più informazioni da
terrompe il funzionamento quando lo processare, bloccando l’andamento del
stack viene coinvolto in qualche ope- listato e quindi l’esecuzione dello stes-
razione risolve l’inghippo, permettendo so. Un breakpoint del tipo appena de-
di identificare la procedura errata. Per scritto permette di fermare immediata-
un’interruzione di questo tipo viene mente il codice avvisando l’utente
coinvolto solamente un Trigger. dell’esecuzione di un salto fuori range;
• break on Data out of Range: la proce-
I RANGE BREAKPOINT dura di debug è in grado di avvisare se
I range breakpoint sono necessari per il valore dei dati presenti nel bus sono
verificare l’accesso ad alcune porzioni di superiori o inferiori ad un preimpostato
memoria. Possono essere dei seguenti parametro inserito nel Trigger. Per l’uti-
tipi: lizzo del sistema in questa modalità è
• break on Write to Flash: questa mo- necessario l’impiego di due Trigger, uno
dalità permette di individuare se duran- impostato in Read/Write nel bus, mentre
te l’esecuzione del codice qualche por- l’altro programmato per il confronto dei
zione tenti di scrivere dati all’interno valori. Così facendo, qualsiasi valore
della memoria flash del chip. In molte si- compaia nel data bus, sia esso un dato
tuazioni ciò non è permesso, identifi- o un istruzione da eseguire, superiore o
cando questi tentativi come errori; inferiore al limite definito, può arrestare
• break on Read/Write to Invalid Me- l’esecutivo della CPU.
mory: la memoria utente di un micro-
controllore è definita all’interno di un LA TRACCIATURA
certo range di indirizzi. Se si sfora que- Si è visto come l’utilizzo di breakpoint
sta porzione, si tenta di accedere a par- possa agevolare la ricerca di un errore,
ti non libere per il programmatore in- e che se anche molto utili e di rapida im-
correndo in un errore. L’EEM è in grado plementazione, spesso non sono molto
di rilevare problematiche di questa en- idonei al lavoro che ci si appresta a fa-
tità, ed in caso di impiego di segnalarle re. La tracciatura viene utilizzata per
tempestivamente al software di svilup- salvare le informazioni degli indirizzi e
po, permettendo all’operatore di ap- dei dati che scorrono del data bus, e al-
portare le modifiche necessarie; cuni flag relativi all’istruzione che la

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


CPU sta eseguendo. La tracciatura ren- Per operare variazioni alla frequenza, an-
de disponibili il controllo simultaneo di che con il programma in esecuzione, ba-
otto parametri, registrandone anda- sta recarsi nel menù: Project → Properties
menti e valori in un apposito Trace buf- → TI Debug Settings → Target Tab →
fer, disponibile al programmatore per MSP430 Properties → Clock control.
la verifica dei valori in gioco.
LE COMPATIBILITÀ
LA CONFIGURAZIONE D’AVVIO La famiglia MSP430 raggruppa al suo
Una configurazione ottimale della trac- interno un elevato numero di dispositivi.
ciatura risulta quando si è riusciti a Non tutti sono pienamente compatibili
con gli artefatti per il debug, e per rias-
salvare l’istruzione da controllare per
sumere brevemente e verificare se un
alcuni cicli. Per abilitare ciò, selezio-
IC è impiegabile nella ricerca avanzata
nare Trace ed abilitare il buffer, per
degli errori, basta confrontare la sigla
procedere all’immagazzinamento dei
con le specifiche della tabella 1. Le “x”
dati anche dopo qualche giro di clock. che compaiono al posto del nome com-
Il risultato è sempre disponibile nella pleto riassumono tutte le sottofamiglie
Trace Control windows, ed è possibile Usare l'MSP430 su Ubuntu con IAR aventi le diciture espresse prima e dopo
aggiornare la finestra durante l’esecu- per questo Trigger, altrimenti ad ogni in uso. Certo, una velocità di lavoro la “x” stessa.
zione del firmware. individuazione verrà interrotto anche elevata può sempre essere rallentata
l’esecuzione del firmware nella CPU); mediante l’utilizzo di istruzioni senza CONCLUSIONI
TRACCIATURA REAL-TIME • nella finestra Trace, bisogna impo- senso, ma si deve sempre ricordare che L’EEM di Texas Instruments è un bel pas-
Una speciale configurazione nel menù stare i seguenti settaggi: Buffr wrap la memoria programma ha un limite, e so in avanti con l’implementazione tec-
descritto in precedenza permetterà l’im- around e Storage trigger at Triggers. l’utilizzo insensato di istruzioni atte a nologica di sistemi per il controllo a la ve-
plementazione della tracciatura real-ti- rallentare l’esecutivo possono sempre rifica delle operazioni. L’evoluzione in
me. Per un corretto funzionamento è LA GESTIONE DEL CLOCK creare problemi. Una parte molto im- questo ramo sta spingendo gli ingegne-
necessario che un Trigger venga impo- La maggior parte dei microcontrollori, portante nel debug di un firmware è la ri all’utilizzo di interfacce progettate pret-
stato in modalità lettura/scrittura va- possibilità di gestire da remoto il clock. tamente per controllare il funzionamen-
microprocessori e degli integrati pro-
to di sistemi a sè più complessi,
riabile, in modo che qualsiasi cambia- grammabili per operare scandiscono le Con questo tools, il clock può essere
individuando e segnalando all’utente
mento nel parametro sotto controllo proprie istruzioni mediante appositi ci- stoppato o emulato, ed in modo parti-
eventuali problemi o porzioni di siste-
possa creare una traccia nella finestra di cli di clock. Maggiore è la frequenza, colare quello della CPU. Molte appli-
ma non conforme. L’ambiente di svilup-
dialogo. Vista la difficoltà che ho ri- maggiori sono le operazioni che questi cazioni, come la UART e il PWM, sono po Code Composer Studio versione 4 si
scontrato per poter avviare una trac- riescono a compiere in un secondo. strettamente legate alla corretta impo- integra a pieno con le potenzialità of-
ciatura, ritengo utile inserire una lista dei Nell’implementazione circuitale è mol- stazione di una frequenza idonea, in ferte dall’interfaccia nelle MCU, sola-
passaggi da eseguire: to importante trovare una frequenza quanto un errato calcolo potrebbe ge- mente il posizionamento di alcuni tools
• impostare il Trigger in modalità let- che non sia troppo elevata, operazioni nerare ricezione di dati errate, o dan- nei menù dovrebbe essere reso rag-
tura/scrittura variabile, nel menù Bre- compiute troppo rapidamente, o che neggiare la parte di potenza di un con- giungibile più intuitivamente.
akpoint (attenzione disabilitare il Break non sia troppo lenta, inadatta al sistema trollo Pulse-Width Modulation. Codice MIP 2803362

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


La diagnostica a bordo,

+Inside dall’inglese on-board


diagnostics, OBD o OBD-II,
in un contesto
STANDARD
automobilistico
UN CONTROLLER o motoristico in generale,
PER TOUCH SENSOR è un termine generico
CAPACITIVO che si riferisce alla capacità
OBD-II è uno standard definito ne-
Uno sguardo da vicino
a come funziona
di autodiagnosi e
segnalazione di errori/guasti
L’ gli Stati Uniti a metà degli anni no-
re OBD-II è identico per tutti i modelli,
ma esistono cinque differenti protocol-
li di comunicazione:
vanta che permette di avere un control-
l’MPR121di Freescale. di un veicolo. • VPW (Variable pulse width):
lo completo sui parametri del motore e
Analizziamolo in dettaglio monitorare altre parti di un autoveicolo General Motors
come il telaio e gli accessori; inoltre • PWM (Pulse-width modulation): Ford
di MAURIZIO DI PAOLO EMILIO permette di connettersi al sistema di • ISO 9141: Chrysler in Asia ed Europa
diagnostica. OBD-II è stato emanato • ISO 14230 KWP2000 (Keyword Pro-
dal California Air Resources Board. tocol 2000 su linea K)
L’OBD-II è soprattutto un’interfaccia a • ISO 15765 (tramite linea CAN, come
sola lettura per acquisire segnali di dia- SAE-J2284).
In Europa tale standard è stato intro-
gnostica. Lo standard OBD-II definisce,
dotto per i motori a benzina nel 2001
inoltre, alcuni comandi per il controllo
assieme al livello di emissioni Euro 3
dell’output, per le modalità di autocon-
con la direttiva 98/69/CE ed è chiamato
trollo e per l’azzeramento della memoria
solitamente E-OBD (European OBD),
KAM (Keep Alive Memory). Il connetto-
pur avendo pochissime differenze con
l’OBD-II statunitense.

LO STANDARD
La porta OBD-II consente all’auto di
segnalare tre tipi di informazioni: co-
dici diagnostici di guasto (DTC), dati
in tempo reale, e congelare i dati del te-
laio. DTC sono semplicemente i codici
di errore che possono essere consultati
per determinare quali problemi si siano
Figura 1: cavo OBD-II. verificati nell’auto. Ad esempio, il P0302

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


DTC significa “mancata accensione ri- stand-alone che sono destinati esclu- CODICI DEI PARAMETRI (RLI): PRODOTTI E SVILUPPI
velata nel cilindro 2“. Se la condizione sivamente alla diagnostica e agli stru- *Velocità OBDLink WiFi è una nuova interfaccia
che ha causato il DTC persiste, il com- menti di conversione del segnale che *Giri al minuto moderna che supporta tutti i veicoli com-
puter di bordo fa accendere il “motore forniscono un collegamento fisico, ma CODICI DEGLI ERRORI (DTC): patibili con lo standard OBD-II. Oltre al
del controllo luce”. richiedono software su un computer o *Sensore dell’ossigeno sistema di comunicazione WiFi, inclu-
Dati in tempo reale e dati del sensore un PDA per visualizzare i dati. La lettura dei componenti di errore è de una interfaccia integrata USB per
sono riferiti al computer OBD; questi Tipicamente ogni veicolo implementa standardizzata, quindi qualsiasi officina collegare l’interfaccia con il vostro com-
dati possono essere utili per risolvere i solo uno dei protocolli e spesso è pos- anche non munita dello strumento uffi- puter portatile o PC desktop. Questa in-
problemi e il monitoraggio delle pre- sibile indovinare qual è il protocollo im- ciale della casa, deve poter leggere gli terfaccia permette di utilizzare un iPho-
stazioni del motore. plementato osservando i pin (figura 2) errori OBD. ne, iPod Touch, iPad e altri dispositivi
Un meccanico auto può utilizzare que- presenti sul connettore J1962. Il con- mobili wireless come sistema dignostico
sti dati per capire cosa stesse succe- nettore OBD-II è normalmente posizio- per la vostra auto, permettendo di sco-
dendo al momento dell’evento di errore. nato sotto il volante oppure nella parte prire eventuali problemi e misurare anche
Entro lo standard OBD-II, ci sono di- centrale del veicolo. le prestazioni del veicolo e altri para-
metri utili. OBDLink WiFi è compatibile
versi protocolli per il trasferimento dei Lo standard, inoltre, prevede che sia
con tutte le applicazioni per sistema
dati dalla macchina a un dispositivo di posizionato nell’area del guidatore.
OBD nell’App Store, tra cui:
diagnostica. OBD-II fornisce informazioni su tutti i
• DashCommand
L’hardware del OBD-II (figura 1) si sud- parametri e gli errori rilevanti ai fini del-
• Rev
divide in due categorie: dispositivi le emissioni inquinanti.
• FuzzyCar.
Il software supporta le funzionalità se-
Figura 2: pinout del connettore OBD-II. guenti:
• controllo spia del motore e informa-
zioni di errore diagnostico;
• leggere e cancellare i codi-
ci di errore memorizzati e
permanenti (codice di errore
generici e specifici del pro-
duttore);
• display con grafica e log
dei parametri in tempo reale;
• dashboard digitale perso-
nalizzabile;
• misura e indicazione del
consumo di carburante.

Figura 3: OBD-II.
Test del socket OBD2 su una autovettura

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Comfile elettroshop moacon

Figura 4:
OBDLink WiF.

Le caratteristiche principali sono: • alimentazione interfaccia dalla porta


• WiFi (802.11 b / g); USB o OBD per permettere aggiorna-
• interfaccia USB (cavo incluso); menti firmware ancora più facilmente;
• throughput dei dati notevolmente mi- • migliorato l’algoritmo di rilevamento
gliorato e più veloce fornisce informa- automatico del protocollo di comuni-
zioni; cazione;
• velocità di trasmissione da 9600 baud • algoritmo del protocollo di comuni-
fino a 2Mb; cazione affidabile per i protocolli ISO e
• supporta tutti i protocolli OBD: KWP;
• ISO15765-4 (CAN) • un grande buffer del CAN permette di
• ISO14230-4 (Keyword Protocol 2000) ricevere grandi quantità di dati.
• ISO9141-2 (Asia, Europa, veicoli Chry-
sler) COMPATIBILITÀ
• J1850 VPW (GM) OBDLink è compatibile con tutti i veicoli
• J1850 PWM (Ford) che sono OBD-II compliant. Prima di
• compatibile con numerosi software acquistare questo prodotto, consiglia-
di diagnostica; mo di verificare la compatibilità del vo-
• funzionalità avanzate che permetto- stro veicolo. In caso di dubbio, vi pre-
no una diagnosi migliore; ghiamo di contattarci.
• upgrade gratuiti tramite download da
Internet; Codice MIP 2803384

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


+Inside
STANDARD OBD II
La diagnostica a
per touch sensor capacitivi
bordo, dall’inglese on-
di MARIANO SEVERI l mercato delle applicazioni touch sen- no le soluzioni per applicazioni touch-
board diagnostics,
OBD o OBD-II, in un Uno sguardo da vicino a come
I sing ha visto di recente una rapida
crescita, non soltanto in ambito con-
sensing presenti sul mercato. Tra queste
vi è l’MPR121 di Freescale; di seguito ne
contesto funziona l’MPR121di Freescale sumer ma anche nel settore industriale. sono descritte le caratteristiche princi-
automobilistico o Secondo stime recenti, il volume di af- pali ed in dettaglio le modalità di fun-
motoristico in fari dovrebbe superare nel 2011 la soglia zionamento.
generale, è un termine dei 3 bilioni di dollari. Riduzione dei
costi di progetto e di materiale, mag- CARATTERISTICHE GENERALI
generico che si
giore affidabilità e migliore facilità di L’MPR121 rappresenta la seconda ge-
riferisce alla capacità
utilizzo, oltre ad un’indubbia attrattiva nerazione di controller per applicazioni
di autodiagnosi e maggiore per il cliente, sono solo al- touch-sensing di tipo capacitivo di Free-
segnalazione di cuni dei principali vantaggi. Diverse so- scale. Le caratteristiche principali sono:
errori/guasti di un • tensione di alimentazione compresa
veicolo. Analizziamolo tra 1,71V e 3,6V;
in dettaglio. • assorbimento di corrente di 29 µA ad
una frequenza di campionamento di 16
ms e di soli 3 µA in modalità shutdown;
• supporto fino a 12 elettrodi con soglie
di rilevamento ed intervalli di isteresi
programmabili indipendentemente per
ognuno;
• funzionalità di auto-calibrazione;
• periodo di campionamento configu-
rabile tra 1 e 128 ms;
• interfaccia di controllo e configura-
zione di tipo I2C;
• disponibilità in package QFN a 20 pin
(3 x 3 x 0,65 mm3);
Dimostrazione del funzionamento di un touchpad capacitivo

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


• temperatura operativa compresa tra - Nel dimensionare tali parametri si deve
40°C e +85°C. tenere conto che l’ADC interno del-
Le applicazioni tipiche riguardano pe- l’MPR121 è in grado di operare con
riferiche per PC, lettori MP3, controlli re- tensioni comprese tra 0,7V e Vdd-0,7V,
moti o per illuminazioni. dove Vdd è la tensione di alimentazione
del dispositivo.
PRINCIPIO DI FUNZIONAMENTO Il principio è quello di scegliere tali pa-
Il principio di funzionamento del- rametri in modo che la tensione di rife-
l’MPR121 si basa sulla misura della ca- rimento (‘baseline’) corrispondente al-
pacità dell’elettrodo che, come noto, l’elettrodo non in contatto sia prossima
varia in presenza di contatto. Tale mi- al valore massimo accettato dall’ADC.
sura viene effettuata caricando l’elet- Poiché, infatti, in caso di contatto la
trodo con una corrente costante I per un tensione all’elettrodo diminuisce, que-
intervallo di tempo T. Inizialmente l’elet- sta condizione di lavoro assicura la
trodo viene completamente scaricato, massima sensibilità per il sensore.
cortocircuitandolo a massa. Questo presuppone, però, di conosce-
La tensione raggiunta dall’elettrodo al re la capacità dell’elettrodo, la quale
termine del periodo di carica dipende- del resto può cambiare in funzione del-
rà, quindi, dai parametri di lavoro e dal- Figura 2: principio di le condizioni di lavoro.
la capacità dell’elettrodo in base alla funzionamento dell’MPR121. Fortunatamente l’MPR121 implementa
seguente relazione: V = (I x T) / C. un’utile funzione di auto-calibrazione
Misurando le variazione di tensione mi- che permette di determinare autono-
surata all’elettrodo è quindi possibile l’elettrodo è in contatto. Il valore di ri- MISURA DELLA TENSIONE mamente i parametri di lavoro ottimali.
determinare un eventuale contatto; in ferimento viene d’altra parte costante- ALL’ELETTRODO Questi sono calcolati in modo che, in
questo caso infatti la capacità aumen- mente aggiornato per tenere conto di ED AUTOCALIBRAZIONE assenza di contatto, la tensione al-
ta e quindi la tensione diminuisce. eventuali drift dei parametri del circuito Come detto, l’MPR121 stima la capaci- l’elettrodo sia prossima al valore im-
L’MPR121 integra un convertitore a 10 o variazioni delle condizioni operative, tà dell’elettrodo misurando le tensio- postato dall’utente nel registro Auto-
bit per la misura del valore di tensione al fine di ridurre la probabilità di falsi ne al termine del ciclo di carica. Cor- Config Target Level Register e
dell’elettrodo. eventi a seguito, ad esempio di rumore rente di carica e tempo di carica sono comunque che sia compresa tra i va-
Tale valore, come mostrato in figura ambientale. configurabili mediante i campi CDC ( lori dettati dai registri Auto-Config
2, viene successivamente filtrato digi- L’MPR121 dispone, come vedremo in Charge Discharge Current) e CDT (Char- USL Register e Auto-Config LSL Re-
talmente mediante due filtri in cascata seguito, di un’interessante capacità di ge Discharge Time). Possono essere gister.
e quindi confrontato con un valore di ri- auto-calibrazione. Inoltre, come anti- definiti valori globali o indipendenti per Durante il normale funzionamento, co-
ferimento, corrispondente alla tensione cipato in precedenza, la maggior parte ogni elettrodo mediante appositi registri. me descritto in seguito, il valore di
dell’elettrodo non in contatto. Se la dif- dei parametri di lavoro sono configura- La corrente di carica può essere confi- baseline così impostato viene comun-
ferenza è maggiore di una soglia pro- bili indipendentemente per ogni elet- gurata tra 1 µA e 63 µA, mentre il tempo que costantemente aggiornato per te-
grammabile dall’utente, si conclude che trodo. di carica tra 500 ns e 32 µs. nere conto di eventuali drift dei para-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


metri del circuito o variazioni delle con- esegue a sua volta una successiva me- registri MHD (Max Half Delta Register), RICONOSCIMENTO DELL’EVENTO
dizioni di lavoro. dia su un numero di campioni definito NCL (Noise Count Limit) e NHD (Noise Per rilevare il contatto sull’elettrodo, il
Se il nuovo valore è al di fuori dell’in- dal campo SFI (Second Filter Iterations) Half Delta); per ogni elettrodo esiste dispositivo confronta la differenza (po-
tervallo definito dai registri Auto-Config del registro Filter Configuration Register. un insieme di tali registri. Il filtro opera sitiva) tra il valore di baseline ed il valore
USL Register e Auto-Config LSL Regi- Il numero di campioni da mediare può nei casi in cui la logica di controllo de- di tensione correntemente misurato (in
ster e la flag ARE Automatic Reconfi- essere scelto tra 4, 6, 8 e 10. scritta in seguito non abbia rivelato un uscita dal filtro di secondo livello), con
guration Enable del registo Auto-Config Il prodotto tra i parametri SFI ed ESI evento (contatto all’elettrodo o rilascio un soglia configurabile definita dal re-
Control Register è attiva, l’auto-cali- definisce quindi la frequenza di cam- di questo). gistro Touch Threshold Register . Se la
brazione viene ri-attivata automatica- pionamento effettiva per un elettrodo e In questi casi, se la differenza tra il va- differenza è maggiore, si conclude che
mente. determina il tempo di risposta del si- lore misurato in uscita dal filtro di se- l’elettrodo è in contatto.
stema. condo livello ed il valore corrente di Per evitare continue commutazioni le-
I FILTRI DI PRIMO Il valore in uscita dal filtro di secondo li- baseline è maggiore del doppio del va- gate a jitter della misura è poi definita,
E SECONDO LIVELLO vello viene passato al filtro di baseline lore configurato nel registro MHD, si mediante il registro Release Threshold
Il filtro di primo livello presente all’in- ed alla logica di riconoscimento di un Register, un’analoga soglia per la con-
assume che la misura corrente sia af-
terno dell’MPR121 acquisisce un nu- evento. I parametri FFI, ESI ed SFI sono dizione di rilascio, così da avere una
fetta da rumore e che quindi debba es-
mero di campioni consecutivi definito comuni per tutti gli elettrodi finestra di isteresi.
sere scartata nella procedura di ag-
dal campo FFI (First Filter Iterations) Quando la differenza tra il valore di ba-
giornamento dal valore di baseline. In
del registro Auto-Config Control Regi- IL FILTRO DI BASELINE seline ed il valore di tensione corrente-
caso contrario, l’MPR incrementa un
ster; elimina il valore minimo e massimo Il filtro di baseline consente di aggior- mente misurato è minore di questa,
contatore interno.
di questo insieme ed esegue una media. nare costantemente il valore di riferi- l’MPR121 segnala il rilascia dell’elet-
Tale contatore viene resettato se al suc-
Il numero di campioni consecutivamente mento corrispondente all’elettrodo non trodo.
cessivo campione la differenza con il va-
acquisiti può essere scelto tra 6, 10, in contatto. Tale valore, come detto in Per ridurre, poi, il numero di falsi even-
lore corrente di baseline cambia di se-
18 o 34, mentre il periodo di ripetizione precedenza, può infatti variare rispetto ti, dovuti ad esempio a rumore o misu-
gno. Se il contatore raggiunge il numero
di una sequenza di acquisizione è det- al valore di inizializzazione definito dal- re errate, è anche possibile definire,
di eventi indicato nel registro NCL, il mediante il registro Debounce Touch
tata dal campo ESI (Electrode Sample la procedura di calibrazione a causa di
valore di baseline viene aggiornato di and Release Register, quante volte con-
Interval) del registro Filter Configura- drift nel lungo periodo dei parametri
una quantità pari a NHD (sommata o secutivamente la condizione di contat-
tion Register; questo può assumere i del circuito o di variazione delle condi-
sottratta a seconda che il valore misu- to o rilascio deve essere rivelata pri-
valori 1, 2 ,4, 8, 16, 32, 64 e 128 ms. zioni di lavoro.
rato sia maggiore o minore di quello di ma di asserire la linea di interruzione e
Il risultato del filtro di primo livello è Il funzionamento del filtro di baseline è
baseline). segnalare il relativo evento.
passato al filtro di secondo livello che dettato dai parametri configurati nei
Il tempo di risposta del filtro di baseline Evidentemente maggiore è il numero
può essere modificato configurando di campioni positivi necessari a segna-
opportunamente il valore del registro lare l’evento, maggiore è l’affidabilità
FDL (Filter Delay Limit), che definisce il del sistema, ma minore è la sua pron-
numero di campioni in ingresso da me- tezza.
- [1] http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPR121&fsrch=1&sr=12 diare prima di applicazione la proce-
dura descritta. Codice MIP 2783767

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


+Tools
REALOS DI FUJITSU
RealOS è un sistema
operativo real-time che
risponde alle specifiche
FilterLab 2.0
ITRON e T-Kernel ed è FilterLab è un CAD di Microchip
particolarmente che qualunque appassionato
indicato per le di elettronica può utilizzare

applicazioni dove sono per progettare e dimensionare filtri


analogici attivi basati su celle
richiesti precisi vincoli
ad operazionali. In questo articolo
in termini di safety del
ne illustriamo le principali
sistema.
caratteristiche applicative
e le principali funzionalità
CODE WARRIOR
di ANTONIO GIANNICO
Il potente ambiente di
sviluppo proposto da el precedente numero di Firmware
Freescale per N abbiamo illustrato le funzionalità di
applicazioni embedded, un interessante CAD di progetto di filtri
elettronici: FilterCAD 3.0. In quell’oc-
non mancherà di
casione abbiamo ricordato come un fil-
stupirvi per la sua tro in elettronica non sia altro che un
grande capacità di circuito che presenta assegnate carat-
adattamento alle teristiche di selettività in frequenza che
gli consentono di trasmettere determi-
dimensioni del
nate gamme di frequenza e di bloccarne Figura 1: FilterLab genera automaticamente lo schema circuitale del filtro attivo
progetto.
altre. Un filtro è pertanto caratterizzato ad operazionali ed i relativi diagrammi di risposta in frequenza a partire
da una precisa banda di trasmissione, i dai dati di specifica. 

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


in particolare, ad un’esigenza ovvia di
progettisti e appassionati di elettronica
che hanno a che fare con filtri attivi:
generare automaticamente lo schema
del circuito di filtro ed i relativi dia-
grammi di risposta in frequenza a partire
dai dati di specifica (figura 1). FilterLab
2.0 consente la progettazione assistita
di filtri attivi passa-basso ad operazio-
nali di ordine sino all’ottavo con ap-
prossimazione di Chebyshev, Bessel o
Butterworth, in un range di frequenze
che si stende da 0.1 Hz a 10 MHz e filtri
Figura 3: il tipo di approssimazione viene passa-banda e passa-alto con appros-
Figura 2: per avviare un nuovo progetto e introdurre i dati di specifica di quest’ultimo, è impostato all’interno della pagina “Filter simazione di Chebyshev e Butterworth.
necessario utilizzare il comando Filter/Design (A) o in modo equivalente agire attraverso il Specification” accessibile attraverso La tipologia circuitale contemplata dal-
pulsante “Design Filter” (B).  l’omonimo tab del form “Filter Design”. 
l’implementazione assistita attraverso
FilterLab è tipicamente quella di Sal-
cui limiti sono imposti dal progettista in di filtri attivi di questo tipo tanto da biano una conoscenza teorica e di cal-
len Key e Multiple Feedback (MFB).
funzione dell’applicazione. Tale banda è semplificarne enormemente la proget- colo sufficiente alla progettazione di
L’implementazione dei filtri passa-bas-
definita attraverso un diagramma di tra- tazione. Esistono tuttavia altri CAD che questo tipo di circuiti, sia per coloro
so fa riferimento tipicamente sia alla
smissione (H(s)=|Vu(s)/Vi(s)|). In quel- possono essere di ausilio alla proget- che, pur conoscendo bene questo tipo
topologia Sallen Key che MFB, quella
l’occasione abbiamo accennato anche tazione di circuiti di questo tipo, alcuni di circuiti, necessitano di strumenti che
dei filtri passa-banda alla topologia
al fatto che alla base della progetta- dei quali liberamente scaricabili dalla re- consentano loro di modellare rapida- MFB, mentre quella passa-alto alla to-
zione dei filtri vi siano i cosiddetti criteri te. FilterLab 2.0 è un cad di questo tipo mente e modificare facilmente, anche pologia Sallen Key. Il CAD consente di
di approssimazione (Butterworth, Che- messo a disposizione da Microchip più volte, un circuito, fino ad ottenerne generare il modello spice del filtro im-
byshev, Bessel, Cauer). Diversamente (www.microchip.com) e particolarmen- il comportamento e le prestazioni desi- plementato, modello che può succes-
da quanto fatto nel precedente articolo, te adatto alla progettazione di filtri attivi derate, prima ancora che lo stesso ven- sivamente essere utilizzato in apposite
in questo non ci occuperemo di chip multistadio formati da celle ad opera- ga realizzato. FilterLab non si rivolge simulazioni spice nel dominio del tem-
universali per la realizzazione di filtri o di zionali. a chi vuole utilizzare chip specifici per la po. Possono anche essere progettati
filtri a capacità commutate, ma sem- realizzazione di filtri come i filtri uni- filtri per convertitori analogico-digitali
plicemente di filtri realizzabili con sem- FILTERLAB 2.0 versali ed è un CAD classificabile come (ADC) fornendo come dati il numero di
plici operazionali e componenti discre- Le difficoltà che si possono incontrare Active Filter Software Design Tool, cioè bit di risoluzione del convertitore ed il
ti quali resistori e capacità. Simulatori nella progettazione di un filtro attivo un cad il cui impiego consente di sem- sample-rate attraverso un apposito to-
circuitali general-purpose come Orcad possono essere ridotte notevolmente plificare enormemente la progettazione ol integrato (Anti-Aliasing Wizard).
Spice o LTSpice possono essere utili dall’impiego di un Software come Fil- dei filtri attivi costruiti intorno ad am- Prima di presentare una panoramica
per la simulazione del comportamento terLab. Ciò vale sia per quanti non ab- plificatori operazionali. Il CAD risponde, generale dell’interfaccia grafica del CAD

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


CREAZIONE E SVILUPPO
Tipo di Filtro attivo implementabile -Passa-basso
DI UN NUOVO PROGETTO
-Passa-banda
Supposti noti i concetti fondamentali
che sono alla base della teoria dei filtri -Passa-alto

analogici attivi e della loro progetta- Approssimazione -Bessel


zione, intendiamo illustrare il percorso -Butterworth
di progetto che è necessario seguire -Chebyshev
utilizzando le interfacce grafiche del Topologie circuitali -Sallen Key
CAD per giungere alla definizione del -Multiple Feedback (MFB)
circuito ad operazionali che implemen- Parametri controllabili -Guadagno: 1..10 V/V
ta un filtro attivo caratterizzato da una
Ordine del filtro da 1 a 8
determinata risposta in frequenza. Co-
Ripple in banda da 0.01 dB a 3.0 dB
me accade quando si usa un qualunque
Figura 4: l’approssimazione di Bessel Stopband Attenuation da 10 dB a 100 dB
software di progettazione, la prima co-
consente la progettazione di soli filtri Frequenza di cut-off da 0.1 Hz ad 1 MHz
passa-basso. 
sa che occorre fare è avere ben chiaro
cosa si sta progettando. In questo caso Stop-band Frequency da 0.1 Hz ad 1 MHz

significa aver definito preventivamente Q da 0.5 a 5.0


che tipo di filtro attivo si intende rea- Bandpass Fractional Bandwidth da 20% a 200%
lizzare e quale risposta in frequenza Output -Risposta in frequenza
questo debba presentare. A questo -Schema circuitale
punto è necessario avviare la creazione -Listato Spice
di un nuovo progetto (File/New) e in- Interfacce grafiche di controllo e calcolo -Toolbar
trodurre i dati di specifica. Tale opera-
-Filter Design Wizard
zione può essere avviata in due modi di-
-Filter Selection Wizard
stinti ma equivalenti. Il primo consiste
-Anti-Aliasing Wizard (per ADC)
nell’impiego del comando Filter/Design
(figura 2A), il secondo in quello del Semplicità d’uso -Calcolo automatico dei valori dei componenti;
Figura 5: parametri che definiscono la pulsante Design Filter disponibile nel- -Valori esatti o resistori 1%
selettività di un filtro passa-banda.  l’apposita toolbar messa a disposizione -Possibilità di Input manuale dei valori di capacità
dall’interfaccia grafica (figura 2B). -User’s Guide (Help Menu)
e di mostrare i passi essenziali che è ne-
In ogni caso, il comando rende imme- Risorse richieste -8 MB di RAM, 32 MB raccomandati,
cessario compiere per eseguire la pro-
diatamente disponibile un form che -16 MB HD, 20 MB raccomandati
gettazione di un filtro attivo, riteniamo consente di impostare le caratteristi- - S.O. Microsoft Windows 95/98 o successivi
opportuno riassumere, in una tabella che principali del filtro che si intende
Internet Web Site di riferimento http://www.microchip.com
apposita, le principali caratteristiche progettare e dimensionare. I dati che
di questo utile strumento di progetto e vengono impostati all’interno di que-
Tabella 1: principali caratteristiche del CAD FilterLab 2.0 di Microchip.
di studio (tabella 1). sto form consentono di imporre il tipo di

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Figura 8: attraverso il tab pendenza della risposta nelle zone di
“Circuit” del Form Filter transizione è, inoltre, strettamente le-
Design (B) oppure attraverso gata all’ordine del filtro, cosa che, a
il pulsante “Design Circuit” sua volta, ha implicazioni sul numero di
(A) è possibile avviare la celle che lo compongono e quindi, in-
generazione dello schema
direttamente, sulla complessità circui-
elettrico del filtro i cui
tale dello stesso. La sintesi teorica di un
parametri caratteristici sono
filtro, sia esso passivo oppure attivo,
stati precedentemente
prevede l’impiego di un cosiddetto LPF
definiti. 
equivalente, caratterizzato da una ca-
ratteristica normalizzata da cui suc-
È interessante osservare co- cessivamente si ricava il filtro desiderato
me l’approssimazione di Bes- ed effettivamente rispondente ai dati
Figura 6: pagina “Filter Parameters” del
sel consenta di impostare, co- di specifica. Nella sintesi possono poi
form Filter Design. All’interno di questa
me tipologia di filtro, la sola essere presi in considerazione criteri
pagina vanno inseriti i valori dei parametri
tipologia passa-basso (figura di approssimazione che ottimizzano la
che definiscono le caratteristiche di
4). Le specifiche di un filtro caratteristica di trasmissione in una
selettività del filtro. 
possono essere espresse at- delle bande di frequenza. Da ciò di-
traverso un cosiddetto dia- scende la necessità, anche all’interno
gramma di trasmissione che dei cad di ausilio alla progettazione dei
riporta sulle ascisse le fre- filtri, di definire il tipo di approssima-
approssimazione, il tipo di selettività quenze o le pulsazioni, ed in ordinata il zione scegliendo appunto tra:
del filtro ed alcune caratteristiche cir- rapporto Vu/Vi. L’ascissa, cioè l’asse • approssimazione di Butterworth: ot-
cuitali generali. All’interno del form so- delle frequenze, è così suddivisa in ban- timizza la caratteristica di trasmissione
no infatti disponibili tre diversi tab, cia- de e tra queste deve essere possibile di- nella banda passante presentando una
scuno dei quali preposto stinguere, in particolare, la banda pas- risposta senza oscillazioni e con la mag-
all’impostazione di una parte dei sud- sante (BP) e le bande di transizione gior piattezza possibile;
detti dati. Il tab “Filter Specification” (BT). In ogni caso, mentre l’analisi di • approssimazione di Chebyshev: otti-
(figura 3) consente di definire il tipo un filtro consiste nella descrizione del mizza la caratteristica di trasmissione
di approssimazione (Butterworth, Bes- suo comportamento in frequenza me- nella banda di transizione, presentando
sel o Chebyshev) ed il tipo di filtro che si diante funzione di trasferimento, la sin- un’elevata pendenza a scapito di un
Figura 7: l’utente può imporre l’ordine del
filtro attraverso il check-box “Force Filter intende progettare da un punto di vista tesi consiste nella sua definizione a certo ripple di ampiezza nella banda
Order” della pagina Filter Parameters del di selettività (passa-basso, passa-alto o partire dalle caratteristiche di trasmis- passante;
form Filer Design. Alcune dei parametri passa-banda). Trattandosi di filtri attivi sione, a partire cioè dalla sua risposta in • approssimazione di Bessel: si riferisce
caratteristici che definiscono la selettività è possibile impostare un fattore di gua- frequenza. Da questo punto di vista è esclusivamente ai filtri passa-basso.
sono in questo caso determinate dagno che può presentare come mas- possibile affermare che FilterLab è so- All’uscita di un filtro LPF, normalmente
automaticamente dal CAD.  simo valore 10 V/V (figura 3). prattutto uno strumento di sintesi. La le forme d’onda che si presentano al-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


l’interno della banda passante sono ca-
ratterizzate da una distorsione di fase
poiché differenti frequenze subiscono ri-
tardi differenti nell’attraversamento del
filtro. Un filtro di Bessel consente di
ottenere un tempo di ritardo di fase più
costante all’interno della banda. All’in-
terno della pagina “Filter Parameters”,
accessibile attraverso l’omonimo tab
all’interno del form “Filter Design”, è
possibile impostare le caratteristiche
che definiscono la risposta in frequen-
za del filtro. A seconda del tipo di filtro
Figura 9: all’interno del tab “Circuit” è Figura 10: alla fine del percorso di progetto il CAD restituisce il circuito completo di
e della selettività precedentemente im-
possibile modificare i valori delle capacità tutti gli stadi attivi componenti il filtro. 
postata è possibile introdurre i valori
che compaiono sui singoli stadi del filtro
dei seguenti parametri:
rispetto a quelli proposti automaticamente
• passband attenuation (dB);
dal cad. FilterLab 2.0 modifica
• stopband attenuation (dB);
automaticamente i valori ohmici dei
• passband lower frequency; resistori e delle altre capacità al fine di
• passband upper frequency garantire la desiderata risposta del filtro. 
• stopband lower frequency;
• stopband upper frequency. do questi legati direttamente all’ordi-
In figura 5 è riportato il significato di ne del filtro già imposto (figura 7). Nel
questi parametri per un filtro passa- caso in cui il suddetto check-box non
banda, mentre in figura 6 è riportata la venga selezionato, è l’utente a definire
pagina “Filter Parameters” del form Fil- direttamente i valori di attenuazione ed
ter Design all’interno della quale vanno i valori caratteristici di frequenza. Il cad
inseriti i valori dei parametri suddetti. in questo caso esegue un’operazione
Tra le opzioni possibili, lasciate a di- opposta alla precedente: calcola cioè
screzione dell’utente, vi è la possibilità l’ordine del filtro in funzione dell’atte-
di impostare l’ordine del filtro (figura 6, nuazione e dei valori di frequenza spe-
check-box “Force Filter Order”). In que- cificati dall’utente. Il fatto di poter pro-
sto caso l’utente è chiamato a specifi- cedere in entrambi i modi rende le
care i valori Pass Band Attenuation e operazioni certamente più agevoli ed
Pass Band frequency. Il cad calcola au- il cad più flessibile. Completata l’im-
tomaticamente i valori Stop Band Atte- postazione di tutti i parametri che defi-
nuation e Stop Band frequency essen- niscono le caratteristiche di selettività Figura 11: risultati della progettazione (tab Frequency, Circuit e Spice). 

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Figura 13: nel caso in cui i valori
impostati all’interno del form “File
Selection wizard” non siano compresi nei
range dei valori ammessi il cad fornisce
una segnalazione di errore che guida
l’utente alla comprensione dello stesso e
quindi alla sua immediata correzione. 

del filtro attivo, è possibile passare alla


generazione dello schema elettrico del Figura 14: form “Filter Approximation”
filtro stesso. Tale operazione viene av- del percorso di prgetto Filter Selection
Wizard. 
viata attraverso il tab “Circuit” presen-
te all’interno del form “Filter Design” 7B- si notino i radio-button “Standard
(figura 8B) oppure attraverso il pul- 1%” ed “Exact Value”). Tra le opzioni
sante “Design Circuit” (figura 8A). At- possibili lasciate a discrezione del-
traverso la pagina restituita dal sud- l’utente, vi è la possibilità di impostare
detto tab, l’utente può controllare l’ordine del filtro (figura 6, check-box
l’impostazione dei singoli stadi che “Force Filter Order”). In questo caso
compongono il filtro attivo ed il cui nu- l’utente è chiamato a specificare i valori
mero dipende dall’ordine dello stesso di frequenza Pass Band Attenuation e
filtro e quindi, indirettamente, dalla sua Pass Band frequency. Il cad calcola au-
maggiore o minore selettività nelle zone tomaticamente i valori Stop Band Atte-
di transizione. Ciascuno degli stadi in- nuation e Stop Band frequency, essen-
teressati può essere in questa fase im- do questi legati direttamente all’ordine
Figura 12: fillter
postato come stadio Sallen-Key oppu- stesso del filtro, già precedentemente
Selection Wizard. A,B)-
re come stadio MFB (figura 8). definito (figura 7). Nel caso in cui il
Accesso alle
I componenti ohmici che compaiono suddetto check-box non venga sele-
funzionalità; C)-Scelta
all’interno dei singoli stadi possono es- zionato, è l’utente a definire diretta-
del tipo di filtro
(Selectivity); D,E)- sere impostati su valori standard con mente l’attenuazione a valori caratteri-
Impostazione delle precisione 1%, nel caso in cui si desi- stici di frequenza. Il cad in questo caso
frequenze caratteristiche deri orientare maggiormente il circuito esegue un’operazione opposta alla pre-
del filtro (Filter stesso all’implementazione fisica che cedente: calcola cioè l’ordine del filtro
Specification).  seguirà, oppure su valori esatti (figura in funzione dell’attenuazione e dei valori

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


di frequenza specificati dall’utente. Il cy” che riporta la risposta in frequenza evidenziato in rosso in figura 11, il tab
fatto di poter procedere in entrambi i del filtro, la finestra “Circuit” che ripor- “Circuit” evidenziato in verde ed il tab
modi rende ancora una volte le opera- ta lo schema elettrico del circuito e la fi- “Spice” evidenziato in blu nella stessa
zioni più agevoli ed il cad più flessibile. nestra “Spice” che riporta il listato spi- figura. Particolarmente importante è la
Alla fine del processo di progetto l’uten- ce dello stesso circuito. A queste Frequency View (figura 11) che riporta
te dispone di tre finestre che riassu- finestre è possibile accedere rispetti- la risposta in frequenza del filtro. L’as-
mono i risultati: la finestra “Frequen- vamente attraverso il tab “Frequency” se, la cui scala è riportata a sinistra,
riporta l’attenuazione del filtro. L’im-
postazione di default riporta una scala
compresa tra +10 dB e -80 dB. L’asse di
destra riporta invece la fase della ri-
sposta del filtro in gradi o in radianti.
Agendo sulla finestra Frequency view,
Figura15: form “Completing the Filter” del attraverso il pulsante destro del mouse
percorso di progetto Filter Selection è possibile far comparire il pop-up Me-
Wizard.  nu Phase/Group Delay. Agendo attra-
verso il comando “Save as Jpeg” è
quindi possibile salvare la risposta del
filtro come immagine jpeg.

FILTER SELECTION WIZARD


Nel precedente paragrafo abbiamo il-
lustrato il processo generale che porta
alla definizione dei parametri caratteri-
stici del filtro. Il comando “Filter Se-
lection Wizard” (figura 11) consente di
introdurre tali parametri in maniera tale
da definire la selettività dello stesso
filtro attraverso una tabella riassunti-
va che mostra ordine, banda e atte-
nuazione del filtro stesso. All’interno
del form Filter Selectivity è possibile
Figura16: avvio dell’ Anti-Aliasing Wizard. 
impostare i dati di selettività, mentre
Figura17: il percorso Anti Aliazing Wizard all’interno del form Filter Specification
prevede, nell’ordine, l’introduzione dei è possibile inserire i parametri carat-
valori di banda, frequenza di teristici del filtro tra i quali attenuazione
campionamento, risoluzione e rapporto segnale-rumore del convertitore A/D.  e frequenze caratteristiche. Per un filtro

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Figura 19: dettaglio della toolbar do FilterLab 2.0. 

Figura18: il percorso Anti-Aliasing Wizard Figura 21: tipica risposta di un filtro


si conclude con la scelta del tipo di passa-basso e relativi parametri
approssimazione (opzioni possibili: caratteristici. 
Butterworth e Chebyshev). 
to, attraverso l’apposito radio-button
passa-basso o per un passa-alto si trat- presente all’interno di detto form, sce-
ta di: gliere il tipo di approssimazione tra le
• Pass Band Attenuation: attenuazione, opzioni proposte (Butterworth e Che-
cioè variazione, del modulo della ri- bychev). A questa fase segue la com-
sposta in banda. I valori consentiti sono parsa del form “Completing the Filter”
compresi tra 0.01 dB e -3 dB; che riassume tutte le impostazioni ef-
• Stop Band Attenuation: valore di at- fettuate. Giunti a questo punto è suffi-
tenuazione, compresa tra -10 dB e - ciente premere il pulsante Finish per
100 dB; dare il via alla vera e propria implemen-
• Pass Band Frequency: punto in cui Figura 20: barra dei Menu.  tazione circuitale del filtro (figura 15).
inizia la banda passante. Il range con-
sentito è quello compreso tra 0.1 Hz e ria correzione (figura 12). Analogamen- • Stopband Upper Frequency; ANTI-ALIASING WIZARD
1,000,000 Hz; te, nel caso in cui si progetti un filtro • Passband Upper Frequency. FilterLab integra un Anti-Aliasing Wi-
• Stop Band Frequency. passa banda, è necessario introdurre i All’impostazione dei dati all’interno del zard, ovvero un percorso di progetto in
Nel caso in cui vengano introdotti per i valori di: form Filter Specification segue il form grado di assistere l’utente nella proget-
diversi parametri valori differenti ri- • Passband Attenuation; Filter Approximation che propone al- tazione di un filtro passa-basso finaliz-
spetto ai range consentiti, il cad gene- • Stopband Attenuation; l’utente il riassunto delle impostazioni zato all’impiego in un convertitore A/D
ra la segnalazione di un messaggio di • Passband Lower Frequency; effettuate e mostra l’ordine calcolato (figura 16). Il suo impiego prevede, nel-
errore che guida l’utente alla necessa- • Stopband Lower Frequency; (figura 14). L’utente deve a questo pun- l’ordine, l’introduzione dei valori di ban-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


da, frequenza di campionamento (che operazionali. Nei paragrafi che seguono
deve risultare maggiore o uguale al dop- intendiamo dare un’occhiata più attenta
pio della frequenza di cut-off), risolu- rispettivamente alla toolbar ed ai menu
zione (compreso tra 8 e 24 bit) e rap- messi a disposizione dal cad. Ne dia-
porto segnale-rumore del convertitore mo una rapida descrizione, senza sof-
A/D (figura 16). La frequenza di cut-off fermarci eccessivamente sull’operativi-
definisce la banda del filtro anti-alia- tà che è stata già sufficientemente
sing. Il range di frequenza è limitato tra esposta. La toolbar dispone di una serie
0.1 e 1 MHz. Nel caso in cui venga inse- di pulsanti shortcut degli stessi coman-
rito un valore esterno a questo range, di disponibili all’interno dei menu (figu-
l’operazione determina la generazione di ra 19). In particolare, nella suddetta to-
un messaggio di errore che invita l’uten- olbar si notano i pulsanti Filter Design,
te alla correzione. Il rapporto segnale-ru- Circuit Configuration, Filter Selection
more, come noto, è direttamente legato Wizard ed Anti-Aliasing Wizard, l’Ap-
al numero di bit utilizzati per la conver- proximation Combo Box, all’interno del-
sione (valore di default 6.02 * bits + 1.76). la quale è possibile impostare il tipo di
A questo parametro è legata anche la se- approssimazione, i pulsanti di imposta-
lettività e, quindi, l’ordine del filtro. Al zione del tipo di filtro (Low-pass, Band-
decrescere di questo parametro corri- pass ed High-pass), i pulsanti di zoom,
sponde la diminuzione dell’ordine del quelli per l’impostazione dell’ordine del
filtro, mentre al crescere di questo cor- filtro e le aree per l’impostazione delle
risponde un aumento dell’ordine del fil- frequenze che caratterizzano il filtro (fre-
tro. Il percorso di calcolo si conclude quency text box). L’Approximation com-
con il form di figura 18 all’interno del bo box si presenta inoltre con aspetto
quale viene specificato il tipo di ap- differente a seconda del tipo di filtro
prossimazione che va scelto tra le due che si intende progettare. In particolare,
opzioni Butterworth e Chebyshev e che l’approssimazione di Bessel è disponibile
riassume i parametri caratteristici dello unicamente per filtri passa-basso. Stes-
stesso filtro. sa cosa accade per le frequency text
Figura 22: diagrammi in frequenza per un filtro passa-basso per le approssimazione
box il cui numero cambia a seconda del
rispettivamente di Butterworth e Chebyshev al variare dell’ordine. 
LA TOOLBAR ED I MENU tipo di filtro. In figura 20 è invece ri-
DI FILTERLAB 2.0 portato un esploso abbastanza detta-
Nei paragrafi che si sono susseguiti fino gliato dei menu che il cad integra al suo
-FilterLab® Active Filter Software Design Tool (www.microchip.com)
a questo momento abbiamo illustrato interno. La barra dei menu integra i se-
le caratteristiche del Cad e le linee ge- guenti menu a tendina: File, Edit ed Help
-FilterLab®2.0-User’s Guide (www.microchip.com, integrata anche nell’help in linea del Cad)
nerali delle operazioni da eseguire per la come è tipico, del resto, di quasi tutti gli
-Download del cad dal sito di Microchip (www.microchip.com
progettazione di un filtro analogico ad applicativi che ciascuno di noi utilizza

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


comunemente sul proprio PC e menu zioni di Butterworth e Chebyshev con
specifici e tipici del Cad come View, Fil- n = 2, 6 ed HM-AP per l’approssimazio-
ter e Window i cui comandi e le cui fun- ne di Chebyshev con n = 4, 8. Analoga-
zionalità sono maggiormente legati alla mente, per un filtro passa-alto, la rispo-
progettazione vera e propria del filtro. sta in ampiezza assume la forma
Qualche attenzione in particolare merita generale mostrata in figura 24. La ri-
il menu Filter il quale consente di acce- sposta nominale del filtro è quindi in ge-
dere alle funzioni di progettazione del nerale definita dalle seguenti tre regioni:
filtro. Esso integra infatti i comandi De- banda passante, banda di transizione e
sign, Filter Selection Wizard ed Anti- stop band. Si distinguono pertanto la
aliasing Wizard, le cui funzioni sono ac- frequenza fP (Pass Band Frequency-
cessibili anche attraverso gli appositi Hz), la banda B a -3 dB, il massimo gua-
pulsanti della toolbar. dagno in banda HM(dB), l’attenuazione A
Figura 23: tipica risposta di un filtro Figura 24: tipica risposta di un filtro relativa al valore massimo HM (dB), il
APPENDICE-LA RISPOSTA passa-banda e relativi parametri passa-alto e relativi parametri massimo valore di ripple/attenuazione
IN FREQUENZA DI UN FILTRO caratteristici. caratteristici. AP, la frequenza fS(Hz) che definisce
Nei precedenti paragrafi abbiamo mo- superiormente la Stop Band, il minimo
strato quali siano le caratteristiche di no sintetizzate in particolare tutte le ca- per filtri passa-basso con approssima- valore di attenuazione AS(dB) nella Stop
FiletrLab 2.0 e le fasi operative che con- ratteristiche della risposta in frequenza zione di Chebyshev (n = 2, 4, 6, 8). In fi- Band. Il guadagno G corrisponde in que-
sentono di progettare con il suo ausilio di un filtro passa-basso. La risposta no- gura 22 sono riportati i diagrammi in sto caso al guadagno in alta frequenza
un filtro analogico attivo basato sull’im- minale del filtro è compresa all’interno di frequenza di un filtro passa-basso per i per cui, come è facile verificare con al-
piego di amplificatori operazionali. Nel tre regioni (pass band, transition band e diversi tipi di approssimazione al varia- cune simulazioni, esso risulta pari a
corso dell’esposizione non ci siamo pre- stop band). La Pass Band è caratteriz- re dell’ordine dello stesso filtro. Un’os- G=HM per l’approssimazione di Butter-
occupati degli aspetti teorici che sono al- zata da un valore di guadagno massimo servazione attenta di questi è sufficien- worth e Chebyshev con n = 1, 3, 5, 7 e
la base della modellizzazione di questo HM(dB), un’attenuazione in banda A(dB) te per osservare quanto appena detto sul G=HM-AP per l’approssimazione di Che-
tipo di circuiti e delle relative risposte in rispetto ad HM e quindi da un Rip- guadagno in continua del filtro. La ri- byshev con n = 2, 4, 6, 8.
frequenza. Il primo dei due aspetti è giu- ple/Massima Attenuazione (dB) in banda sposta di un filtro passa-banda è invece
stificato dal fatto che il cad serve proprio AP, da una banda passante (Hz) fP e da rappresentabile in generale come in fi- CENNI ALLA SCELTA
per evitare di dover conoscere in maniera una banda BW a -3dB. La Stop Band è gura 23. La risposta del filtro è conte- DELL’OPERAZIONALE
specifica la teoria di calcolo dei filtri invece caratterizzata dalle frequenze fS nuta pertanto all’interno delle cinque I filtri che è possibile progettare attra-
elettronici. Per quanto riguarda il se- (Stop Band Edge Frequency-Hz), dal mi- regioni mostrate all’interno della figura verso FilterLab sono filtri attivi costrui-
condo, sebbene senza addentrarci in nimo valore di attenuazione nella Stop (una banda passante, due bande di tran- ti intorno ad amplificatori operazionali.
dettagli eccessivi, riteniamo opportuno Band AS(dB). Il guadagno G corrisponde sizione e due stop band). Il guadagno G La scelta dell’operazionale ovviamente
riportare almeno la rappresentazione al guadagno in continua per cui G=HM corrisponde al guadagno alla frequenza presenta anch’essa una sua importan-
generale della risposta in frequenza dei per i filtri passa-basso con approssi- f0 di centro banda per cui, come è sem- za. Quando si sceglie un operazionale
diversi filtri indicandone i principali pa- mazione di Bessel, Butterworth and Che- plice verificare attraverso alcune semplici per realizzare un filtro, infatti, sebbene
rametri caratteristici. In figura 21 so- byshev (n = 1, 3, 5, 7) mentre G=HM-AP simulazioni G=HM per le approssima- la sua risposta dipenda fortemente dal-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Elettroshop systembase

la tipologia circuitale e dai componen- mediata e rende il cad di semplice im-


ti che circondano lo stesso operazio- piego, anche da parte di chi non abbia
nale, è necessario porre una certa at- una conoscenza specifica della teoria
tenzione anche al tipo di operazionale. dei filtri. La possibilità di avere a di-
In particolare, è importante, come è ov- sposizione, alla fine della progettazione
vio immaginare, che esso sia sufficien- del filtro, i diagrammi di risposta in fre-
temente veloce tanto da consentire la quenza, lo schema elettrico ed il listato
realizzazione del filtro nella banda de- Spice di quest’ultimo, rende il cad suf-
siderata. Per questo motivo è neces- ficientemente completo e flessibile. In
sario che l’operazionale presenti il ne- ogni caso, l’operatività di FilterLab 2.0
cessario prodotto guadagno-banda. prevede due o tre fasi di lavoro a se-
Inoltre il filtro dovendo spesso essere in conda dei casi. I form Filter Design e Fil-
grado di rispondere a segnali anche ter Selection Wizard consentono di in-
piuttosto ampi è necessario che pre- serire i dati di specifica per lo sviluppo
senti un sufficiente valore di SR (Slew del progettato cui segue la generazione
Rate). I circuiti di filtro progettati con Fi- della risposta in frequenza e dello sche-
letLab devono pertanto utilizzare ope- ma elettrico del filtro. A chi intende
razionali aventi prestazioni adeguate, prendere visione diretta delle poten-
soprattutto se si desidera operare in zialità e della semplicità di impiego del
bande a frequenze abbastanza elevate. cad consigliamo di effettuarne il dow-
Tale osservazione è, del resto, di ca- nload direttamente da sito di Micro-
rattere generale e riguarda la progetta- chip, di installarlo sul proprio PC e di
zione di questi circuiti indipendente- provare ad utilizzarlo per realizzare
mente dagli strumenti cad impiegati. qualche filtro analogico attivo avente
specifiche caratteristiche di selettivi-
CONCLUSIONI tà. Anche gli studenti di elettronica po-
Nel presente articolo abbiamo illustra- tranno trarre beneficio dal suo impiego
to le caratteristiche del Cad FilterLab 2.0 poiché potranno utilizzarlo come vero e
di Microchip. Abbiamo quindi mostrato proprio laboratorio didattico sull’argo-
come il cad possa essere facilmente mento. Nella sezione “Riferimenti bi-
utilizzato nella progettazione di filtri bliografici” sono riportati i principali ri-
analogici attivi ad operazionali con se- ferimenti per il download del Cad e per
lettività passa-basso, passa-alto e pas- il download della documentazione ne-
sa-banda basati sui metodi di appros- cessaria al suo studio ed al suo cor-
simazione di Butterworth, Chebyshev retto impiego che rimane in ogni caso
e Bessel. L’interfaccia estremamente estremamente semplice ed intuitivo.
semplice consente una interattività im- Codice MIP 2803338

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


RealOS è un sistema operativo

+Tools real-time che risponde


alle specifiche ITRON e T-Kernel
ed è particolarmente indicato
per le applicazioni dove
MICROCHIP sono richiesti precisi vincoli
FILTERLAB 2.0
In questo articolo
illustriamo le
principali
in termini di safety del sistema

di FRANCESCO PENTELLA

ujitsu Semiconductor è una società


DI FUJITSU
per lo sviluppo di software per micro- per le soluzioni da 16 e 8 bit; la piatta-
caratteristiche
applicative e le
F che ricopre una posizione di prima-
ria importanza nel segmento delle so-
controllori Fujitsu (famiglia FR e F2MC-
16LX) identificato come RealOs. Se-
forma T-Kernel è seguito da T-Engine
Forum anche attraverso precise nor-
principali funzionalità
luzioni automotive tanto da conseguire condo le specifiche diffuse dal mative di riferimento. Questa variante
di FilterLab, un CAD di il secondo livello di Spice per la maturità costruttore, REALOS, o meglio la se- permette di utilizzare fino a 32,767 task
Microchip. della sua tecnologia, in particolare di rie RealOS, è un sistema operativo real- con 1,024 livelli di priorità, mentre il
quella software, per il settore automo- time conforme alle specifiche ITRON e TCB allocato per ogni task occupa una
CODE WARRIOR bilistico. In effetti, questo riconosci- T-Kernel. porzione di memoria pari a 96 byte con
mento rappresenta per Fujitsu Semi- una dimensione del codice del kernel tra
Il potente ambiente di
conductor Europe un formale atto di REALOS – UN SISTEMA REAL-TIME 15 e i 57 KB. Così come le altre varian-
sviluppo proposto da
valutazione che si esprime in base al- PER OGNI ESIGENZA ti, anche questa versione garantisce la
Freescale per l’Automotive SPICE HIS Scope con Occorre subito precisare che Fujitsu presenza dei tool di lavoro REALOS
applicazioni l’esclusione dell’ACQ.4. La società, in- Semiconductor con RealOs, nelle sue configurator e REALOS analyzer con la
embedded, non fatti, con il suo cuore pulsante in Asia, è differenti accezioni, ha cercato di ri- piena disponibilità del codice sorgente.
mancherà di stupirvi attualmente uno dei maggiori fornitori di spettare ogni particolare normativa di ri- Ad ogni modo, il progresso tecnologico
prodotti a semiconduttori, insieme alle ferimento in un settore dove l’impor- spinge la piattaforma T-Kernel verso
per la sua grande
sue piattaforme software, per un seg- tanza della security e della safety ha T-Kernel, un sistema operativo realizzato
capacità di
mento tanto particolare anche per via assunto un’importanza non più trascu- per piattaforme da 32 bit, anch’esso
adattamento alle delle implicazioni, in termini di safety, rabile per via, in primis, della mutata standardizzato da T-Engine Forum.
dimensioni del coinvolte. Fujitsu Semiconductor non esigenza sociale e per il particolare Proseguendo con le varianti di RealOs si
progetto. offre solo realizzazioni hardware inte- ruolo e implicazione tecnologica delle scopre che con la versione RealOS/907
grabili in un generico sistema ma è an- garanzie di safety. In effetti, con la ver- il sistema si presenta perfettamente
che, soprattutto per le esigenze di sa- sione µT-REALOS/FR, Fujitsu intende compatibile con le specifiche µITRON
fety, un fornitore di tecnologie software. rispettare la norma di riferimento T-Ker- della versione 2.0. Questa variante è
In particolare, la società asiatica for- nel, ovvero il real-time operating sy- abbastanza contenuta tanto da essere
nisce un sistema operativo real-time stem (RTOS) appositamente realizzato così utilizzata su dispositivi da 16 bit,

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


47
Product Name µT-REALOS/FR REALOS/FR Spec.4 REALOS/FR REALOS/907 REALOS/FRV
Compliant specification µT-Kernel µITRON 4.0 µITRON 3.0 µITRON Ver.2 µITRON 4.0
Support CPU FR family FR family FR family F2MC-16LX family FR-V family
Dynamic
generation si si No No si
of objects
Dynamic
definition si No No No No
of interrupt
Mutex si si No No si
Rendezvous si No No No No
Port
Fixed-size si si si si si
memorypool
Function Variable-size si si si No si
memorypool
Device Control si No No No No
Power-saving si Yes(subset) No No Yes(subset)
function
Figura 1: l’ambiente T-Kernel offre anche Maximum
funzioni per la sincronizzazione e la number of 32,767 32,767 32,767 255 32,767
comunicazione tra processi, o la
tasks
possibilità di intervenire sullo stato di un
Number of
task da Run a Wait o da Wait a Ready. 
priority 1,024 1,024 32 16 1,024
levels
ossia famiglia F2NC-16LX, con poten-
Kernel data (TCB) size 96 byte 76 byte 44 byte 21 byte 76 byte
zialità inferiori rispetto alle altre ver-
Kernel code size 15 - 57 KB 11 - 44 KB 2.7 - 8.3 KB 0.8 - 5.7 KB 20 - 65 KB
sioni; in effetti, ad esempio, questa ver-
Includes REALOS configurator si si si si si
sione rende possibile all’applicazione la
Includes REALOS analyzer si si si si si
gestione fino a 255 task con 16 livelli di
priorità e utilizza un Task Control Block, Includes kernel source si si si si si

TCB, di soli 21 byte con un’occupazio- Royalty payments No No No No No


ne tra 0.8 e 5.7 KB. Questa variante
permette di utilizzare gli stessi tool per Tabella 1: lista delle differenze tra le differenti versioni.

lo sviluppo della versione precedente,

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


48
Figura 3: struttura del kernel. pensò di realizzare un sogno: definire un
sistema operativo di tipo aperto che
riuscisse a coniugare diversi requisisti in
un unico oggetto con il fine di poter
sostituire tutti gli altri.
Il progetto fu sostenuto sin dall’inizio
dalla TRON Association, organismo fon-
Figura 2: ordine di esecuzione dove i task
dato nel 1988, che si occupava, attra-
B, C e D hanno la stessa priorità: il task A,
verso gruppi di lavoro articolati, del-
con priorità maggiore, sarà messo in
l’aspetto della standardizzazione e dello
esecuzione e, alla sua timeline, saranno
posti in esecuzione, con una certa
sviluppo. Oggi tutto il lavoro è svolto
gradualità, gli altri task.  dalla T-Engine project (2). Questo par-
ticolare sistema operativo real-time
oltre alla caratteristica di offrire il codi- control block, con una dimensione del minimo di 20 KB fino ad un massimo di aperto è, di fatto, un punto di riferi-
ce sorgente del kernel all’acquirente. codice tra 11 e 44 Kb e con la possibilità 60 KB. A questo riguardo, la tabella 1 mento delle aziende giapponesi tanto
Al contrario, con la versione RealOS/FR di gestire fino a 32,767 task con 1,024 li- pone in risalto le diverse proposte di da essere utilizzato per realizzare la
il costruttore assicura la perfetta ade- velli di priorità. È utile ricordare che, casa Fujitsu del suo kernel RealOs. quasi totalità delle applicazioni del Sol
renza verso la versione 3.0 di µITRON se non espressamente specificato, le ul- Levante.
assicurando, nel frattempo, la presenza time realizzazioni possono tranquilla- μTRON L’idea di Sakamura è quello di creare un
di diversi moduli operativi inclusi Fi- mente lavorare con processori della se- Il tutto prende avvio dal progetto TRON, sistema di tipo distribuito, presente in
xed-size memorypool o variable-size rie FR di Fujitsu Semiconductor. Infine, in altre parole “The Realtime Operating ogni applicazione reale, al fine di assi-
memorypool con un numero di 32,767 la suite, se così si può chiamare, si Nucleus”. Secondo diversi riferimenti, curare un costante dialogo per ottimiz-
task con 32 livelli di priorità ed un Task conclude con la variante REALOS/FRV TRON è il sistema operativo più diffuso zare il carico di lavoro tra i diversi di-
Control Block (TCB) di 44 byte e una di- basata su µITRON 4.0, in grado di sup- in ambiente embedded dove sono ri- spositivi hardware presenti.
mensione del codice tra 2,7 e 8,3 Kb. portare i processori della linea FR-V. chiesti precisi vincoli temporali ed il La chiave di volta del progetto, tanto da
Non solo, Fujitsu suggerisce anche la va- Questa particolare variante assicura la pieno rispetto verso i criteri di safety e influire in maniera diretta sul suo suc-
riante REALOS/FR Spec. 4 con il pieno presenza del modulo funzionale Dyna- non ha nulla a che vedere con i sistemi cesso, è stata la sua architettura aper-
supporto di µITRON nella versione 4.0, mic generation of objects, le politiche di più blasonati quali Windows, Linux o ta, prestazioni non trascurabili e una
con la possibilità di supportare le fun- Mutex e, come nella variante prece- Unix. Non solo, ITRON OS è il cuore ricaduta diretta sul versante industria-
zionalità di “Dynamic generation of ob- dente, del Fixed-size memory-pool, Va- dei sistemi integrati utilizzati nell’indu- le: l’industria giapponese è riuscita co-
jects” (allocazione e gestione dinamica riable-size memorypool e di un sot- stria dell’elettronica di consumo, ov- sì a realizzare un prodotto senza do-
della memoria), le politiche di Mutex, Fi- toinsieme di funzionalità legate al vero, secondo l’accezione, è un tipico ver anche garantire l’interoperabilità
xed-size memorypool, Variable-size me- power-saving del processore. Il Task real-time kernel for small-scale em- tra diverse piattaforme.
morypool e di un sottoinsieme di fun- Control Block richiede una dimensione bedded systems”. ITRON si presenta sul mercato come
zionalità legate al power-saving del di 76 byte con la possibilità di utilizza- Il padre di TRON è senza dubbio il pro- una soluzione aperta di tipo real-time e
processore. Questa variante permette le re 32,767 task con 1,024 livelli di priorità, fessore Ken Sakamura, docente del- si pone in diretta concorrenza alle va-
gestione di 76 byte del TCB, o task con una dimensione del kernel da un l’Università di Tokyo che nell’anno 1984 rianti real-time di Linux con tempi di

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


49
TME - Distribuzione componenti

switch tra task ridotti al minimo grazie nire sullo stato di un task: da Run a si possono trovare, in ogni istante, in Al fine di discriminare il task che ha di-
anche, e soprattutto, alle nuove piatta- Wait o da Wait a Ready, come pone in uno e uno solo di questi stati: Run, Rea- ritto ad essere messo in esecuzione,
forme hardware. Non solo, rispetto a evidenza la figura 1. Dalla figura si mo- dy, Wait, Suspend, Wait-Suspended, occorre definire un preciso criterio di
Linux, ITRON si offre con una dimen- strano le differenti interfacce software Dormant, Non-Existent. A questo ri- precedenza. In effetti, in questo sen-
sione di solo qualche decina di Kbyte, utilizzate e presenti nel sistema, utiliz- guardo nella tabella 2 si mostrano le so, lo scheduler adotta le seguenti re-
mentre Linux occupa una dimensione zate per pilotare i cambiamenti di stato. possibili transizioni di stato, così co- gole: se due task hanno differenti livel-
più rilevante. In effetti, con la chiamata alla funzione me riportato dalla specifica di riferi- li di priorità, quello con priorità maggiore
Le altre aziende, al fine di contrastare software tk_ter_tsk si forza il task a ter- mento del kernel. ha la precedenza sull’altro, ma se due
questa iniziativa e in modo particolare minare cambiando il suo stato interno In T-Kernel si realizza una politica di task hanno lo stesso livello di priorità,
quelle USA, hanno sempre cercato di allora quello che consegue lo stato di
togliendolo dalla coda dei task ready. scheduling di tipo preemptive basato su
contrastare questo progetto, propo- Run o Ready per primo ha la prece-
In T-Kernel, un task è un’unità logica priorità: il livello di priorità è assegnato
nendo il loro T-Linux, una estensione denza sull’altro (in questo caso si adot-
di programma in esecuzione concor- dal programmatore nel momento della
del kernel di MontaVista, anche se poi ta la politica FCFS, ossia il primo task
rente: programmi assegnati a task dif- creazione di un task. Lo scheduler ha il
l’idea futuribile è quella di utilizzare
ferenti possono essere eseguiti in con- compito di selezionare il task da man- arrivato è il primo ad essere servito).
chip in grado di utilizzare, a seconda
correnza sulla CPU. L’idea, quindi, non dare in esecuzione tra i diversi task che La figura 2 mostra l’ordine di esecu-
dell’esigenza, Linux o ITRON.
si discosta dall’idea tradizionale di un si- si trovano in uno stato RUN o READY al zione dei task in un caso iniziale, dove
stema multitasking commerciale. I task momento del cambio di contesto. i task B, C e D hanno la stessa priorità:
T-KERNEL
in questo caso, come la figura pone in
T-Kernel/OS (Operating System), si ve-
evidenza, il task A, quello che possiede
da la figura 3, rappresenta un’altra
la priorità maggiore, sarà messo in ese-
proposta del settore o, se si preferi- Operations in invoking tasks Operations on other tasks
cuzione e, alla sua timeline, saranno
sce, è l’evoluzione delle macchine a 16 (Transition from RUNNING state) (Transitions from otherstates)
posti in esecuzione, con una certa gra-
bit verso soluzioni a 32 bit. In effetti, con
questo particolare sistema operativo dualità, gli altri task.
Task transition to tk_slp_tsk tk_sus_tst
embedded è possibile creare mecca- Come nella maggior parte delle politiche
a waiting state RUNNING state → WAITING READY state, WAITING state
nismi di coordinamento e gestione per di schedulazione, quando il task ha un
(including SUSPENDED) state → SUSPENDED state,
la presenza dell’unità concettuale di WAITING-SUSPENDED state livello di priorità maggiori degli altri in
esecuzione denominata ‘task manage- stato di Run, gli altri task che si trovano
ment’. Infatti con T-Kernel è possibile Task exit tk_ext_tsk tk_ter_tsk nello stato di Ready non possono es-
creare o eliminare task dal nostro si- RUNNING state → READY state, WAITING state sere messi in esecuzione.
stema , attivarli o cancellarli dalla coda DORMANT state → DORMANT state Attualmente T-Kernel è giunto alla ver-
di esecuzione o dal sistema oltre a in- sione 2.0 ed offre, oltre alle tradiziona-
fluire sulla loro priorità. Non solo: l’am- Task deletion tk_exd_tsk tk_del_tsk li interfacce per la gestione ed il con-
RUNNING state DORMANT state
biente T-Kernel è veramente completo trollo dei task, anche la possibilità di
NON-EXISTENT state NON-EXISTENT state
tanto da offrire anche funzioni per la gestire un monitor con funzionalità di
sincronizzazione e la comunicazione debugger.
Tabella 2: transizioni di stato ammesse.
tra processi, o la possibilità di interve- Codice MIP 2803366

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Il potente ambiente di sviluppo

+Tools proposto da Freescale


per applicazioni embedded,
non mancherà di stupirvi

Warrior
per la sua grande capacità
MICROCHIP
di adattamento alle dimensioni
FILTERLAB 2.0
del progetto
In questo articolo
illustriamo le di ETTORE PICCIRILLO

principali
ode Warrior è un ambiente di svi- TEXT EDITOR SOURCE BROWSER
caratteristiche
applicative e le
C luppo integrato, utilizzato dagli
utenti Freescale per sviluppare appli-
Consente la creazione e modifica delle Ricerca e mostra i simboli utilizzati nel
programma sia in formato di oggetti
linee di codice in formato sorgente, con
principali funzionalità
cazioni con microprocessori e DSC. una modalità perfettamente integrata che in forma testuale: nomi di variabili,
di FilterLab, un CAD di L’ambiente è strutturato in modo da simboli, funzioni ecc..., consentendo
con l’ambiente di sviluppo IDE.
Microchip. risultare multi target (vari tipi di mi- la navigazione all’interno del program-
croprocessore supportati), multi lan- ma e stabilendo un link continuo tra il
SEARCH ENGINE
REALOS DI FUJITSU guage (vari tipi di linguaggi di pro- codice oggetto ed i nomi delle proce-
Consente il confronto tra strutture di
grammazione) e multi host (piattaforma dure utilizzate dal progettista.
RealOS è un sistema file e ne evidenzia le differenze funzio-
Windows/Linux supportate).
operativo real-time nali, per individuare specifiche porzio-
Inoltre, Code Warrior consente lo svi- BUILD SYSTEM
che risponde alle luppo di applicazioni per Playstation, ni di testo e sostituirle o modificarle in Complila, linka ed assembla, converte il
specifiche ITRON e T- Nintendo, Sony e telefonia mobile. ogni ricorrenza nell’ambito di ciascun codice sorgente in codice eseguibile
Kernel ed è L’ambiente di sviluppo è composto dai file o all’interno di più file. rendendolo utilizzabile in altri contesti di
particolarmente seguenti moduli: sviluppo.
indicato per le
PROJECT MANAGER DEBUGGER
applicazioni dove
Consente la gestione delle risorse di Consente l’utilizzo dei bre-
sono richiesti precisi ak point, il monitoraggio
livello alto nell’ambito del progetto, or-
vincoli in termini di ganizza in gruppi i vari file del pro- delle variabili, l’avanza-
safety del sistema. gramma, gestisce le date ed i livelli di
revisione del software scritto dal pro- Figura 1: andamento dei
gettista, coordina, tramite plug-in, il costi in funzione
controllo delle varie versioni e consen- dell’edizione scelta per
te l’accesso al supporto del sistema sottoscrizione annua
operativo (RTOS). /perpetua. 

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


mento a step del programma per po- sional. Tuttavia è possibile sottoscri-
terne definire la funzionalità. Il modulo vere una licenza annuale che dà diritto
debugger associa ad una potente in- al supporto ed all’aggiornamento on li-
terfaccia grafica (GUI) una serie di stru- ne per un anno, ovviamente meno co-
menti che aiutano il progettista nello stosa, oppure acquistare una licenza
sviluppo rapido del lavoro, raggiun- perenne.
gendo in tempo utile i risultati proposti. La spesa si aggira dai 395 dollari per
La messa a punto del codice scritto in una licenza annuale, nella edizione Ba-
linguaggio C/C++ viene gestito in mo- sic, ai 1995 dollari per la versione Pro-
do del tutto nuovo, grazie alla tecnica fessional e raggiunge i 4995 dollari per
del “point and click” che rende il lavoro la licenza perenne (prezzi aggiornati al
facile e veloce. secondo trimestre 2011). La scelta del-
Per chi volesse approfondire la cono- l’edizione da utilizzare dipende, innan-
scenza di base, ed addentrars nei nu- zitutto, dalla dimensione del progetto da
merosi risvolti di questo pacchetto, sviluppare e poi dal tipo di micropro-
consiglio il documento CODEWAR- cessore scelto.
RIORPRDS.pdf rev.0 disponibile sul link: Per applicazioni in ambito Linux sono
Critical code data collection con CodeWarrior
www.freescale.com/codewarrior. disponibili due edizioni: Linux Applica-
Code Warrior è disponibile in varie edi- tion e Linux Platform. Comunque, per applicazioni limitate fi- le famiglie MCP51/52xx, MPC5xx,
zioni, a partire dalla versione di valuta- La prima è adatta ad applicazioni che no a circa 32/64 Kb di codice, la ver- MPC55/56xx, 68K, Mobile GT Power
zione gratuita, con alcune restrizioni, utilizzano un kernel Linux con i suoi sione Special disponibile “for free” Architecture, Star Core e molte altre
per finire a quella professionale, più driver nativi e la seconda, operante su (gratuita) risolve egregiamente il pro- ancora per entrambe le piattaforme
completa ed ovviamente anche più co- sistema operativo Linux, consente di blema, lasciando i costi di acquisto del- Windows e Linux.
stosa. interagire con le risorse di programma- la licenza agli utenti professionali ed Il range delle famiglie supportate si
Il prezzo della suite varia notevolmente zione Linux fino alla generazione di dri- alle applicazione a maggiore valore ag- estende, quindi, dai microprocessori a
dal modello Basic al modello Profes- ver specializzati. giunto, dove si giustifica la spesa. Per- 8 bit fino ai modelli da 32 bit e al Digital
sonalmente ho potuto valutare l’effi- Signal Controller (DSC) per i settori più
cienza di utilizzo del pacchetto avanzati della tecnologia.
CWX-MCU-SE Window based in una Ovviamente, non essendo possibile sin-
applicazione del microprocessore tetizzare le innumerevoli prestazioni
- [1] CODEWARRIORPRDS.pdf, su www.freescale.com/codewarrior
MC9S08JM60 per realizzare un dispo- delle varie “suite” di sviluppo, si ri-
sitivo USB con interfaccia HID. manda al sito di Freescale per l’appro-
- [2] Freescale site, www.freescale.com
In particolare, si apprezza il notevole fondimento dei contenuti.
- [3] Documento “Quick Reference Guide for Code Warrior”, sul sito
supporto in termini di strumenti e do- Una volta individuato il processore che
www.freescale.com/files/soft_dev_tools/doc/fact_sheet/950-00437.pdf?fpsp=1#page=1 cumentazione che compongono il pac- si intende utilizzare, conviene scarica-
chetto. Code Warrior supporta, inoltre, re dal sito il documento “Quick Refe-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Poscope oscilloscopio

Figura 3: IDE di Code Warrior

rence Guide for Code Warrior” cliccando re il problema in maniera del tutto gra-
sul link: http://www.freescale.com/fi- tuita. Attenzione, però, il pacchetto è
les/soft_dev_tools/doc/fact_sheet/950- abbastanza “pesante”, oltre i 700 Mb,
00437.pdf?fpsp=1#page=1 Choose the ed il download è di conseguenza lungo,
right Code Warrior suite. Tramite que- meglio perdere qualche minuto in più a
sta guida sarà facile individuare il pac- individuare la suite giusta. Il pacchetto di
chetto che meglio si addice alle nostre valutazione gratuita è disponibile sul si-
esigenze, di solito la versione “special” to www.freescale.com
consente di affrontare e spesso risolve- Codice MIP 2803125

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


controllano il mondo
di GUY HOOVER, APPLICATIONS ENGINEER, MIXED SIGNAL PRODUCTS, LINEAR TECHNOLOGY CORPORATION

Gli obiettivi di progetto progettisti di sistemi possono scegliere


degli attuali sistemi di controllo I tra vari tipi di ADC, tra cui architetture
a pipeline, delta-sigma e SAR (Succes-
hertz fino alla corrente continua e pos-
sono gestire segnali in ingresso dalla
industriali prevedono corrente continua fino a decine di me-
sive Approximation Register). Senza en-
che gli stessi siano più veloci, gahertz, con un buon rapporto segna-
trare nei dettagli del funzionamento di un
le/rumore e una bassa distorsione. Gli
più precisi e più piccoli, ADC, esistono diverse caratteristiche
ADC SAR possono campionare in base
ma consumino meno e siano di cui tenere conto quando se ne sele-
alle necessità e fornire i dati senza ritardi
più affidabili. I progettisti ziona uno. Gli ADC a pipeline offrono
nella pipeline, garantendo un feedback
tempi di conversione molto rapidi, pos-
di questi sistemi devono puntuale ai sistemi di controllo e un lo-
sono digitalizzare segnali in ingresso
scegliere componenti op di controllo rigoroso con una buona
molto veloci con una bassa distorsione,
che garantiscano risposta ai transienti.
ma consumano correnti di alimentazio-
il raggiungimento di questi ne elevate, hanno un rapporto segna-
le/rumore (SNR) scarso e ritardi nella ADC SAR AVANZATI
obiettivi. Uno dei componenti Figura 1: la FFT a 32k mostra una bassa
pipeline (ritardo di un numero fisso di L’LTC2379-18 di Linear Technology rap-
centrali di un sistema distorsione ed un basso rumore presenta un notevole passo avanti per
campioni tra il momento in cui l’ingres-
di controllo industriale dell’LTC2379-18. 
so viene campionato e il momento in quanto riguarda i convertitori SAR.
è il convertitore cui i dati sono disponibili). Il problema loop di controllo. Gli ADC delta-sigma L’LTC2379-18 è un ADC SAR a 18 bit e
analogico/digitale (ADC) del rapporto segnale/rumore scarso può eccellono nelle applicazioni che richie- 1,6 Msps che consuma solo 18mW ed è
essere superato con la tecnica del- dono una precisione elevata ed un bas- disponibile in package MSOP-16 e DFN
l’averaging che però comporta una ri- so rumore, ma la bassa velocità di cam- da 4mm x 3mm. Funzionando da un’ali-
duzione della velocità di campionamento pionamento ne limita l’uso alle mentazione da 2,5V, l’LTC2379-18 offre
effettiva. Il ritardo nella pipeline oscura applicazioni quasi DC. Gli ADC SAR so- un range di ingresso completamente dif-
la caratteristica di tempo reale dei dati, no in grado di offrire velocità di con- ferenziale compreso tra +/-2,5V e +/-5,1V,
rendendo difficoltosa la regolazione dei versione che vanno da qualche mega- impostato da Vref. Con una distorsione ar-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


monica totale (THD) inferiore a -115dB, un DIMENSIONI RIDOTTE, PIÙ CANALI
rapporto segnale/rumore maggiore di L’LTC2379-18 è compatibile con lo stan-
98dB, una non linearità integrale (INL) dard SPI ed è in grado di interfacciarsi
inferiore a 2LSB, senza codici mancanti a con famiglie logiche di 1,8V, 2,5V, 3,3V e
18 bit e un funzionamento garantito fino a 5V. La modalità con collegamento a
125˚C, l’LTC2379-18 offre la velocità, la margherita illustrata nella figura 2, con-
precisione, il basso consumo e l’affida- sente a più LTC2379-18 di condividere le
bilità richieste dai sistemi di controllo linee SPI e Busy, il che è utile nei casi in
moderni. cui tanti convertitori potrebbero ren-
dere poco pratico il numero dei segna-
ADC PIÙ VELOCI CONSENTONO li necessari.
DI MISURARE INCREMENTI La modalità sopra indicata è utile anche
TEMPORALI RIDOTTI con la sincronizzazione dei dati da di-
Il controllo più approfondito, richiesto Figura 2: la modalità CHAIN dell’LTC2379-18 consente a più ADC di comunicare con un versi canali, operazione necessaria per
dai sistemi moderni, comporta la ca- processore host usando solo quattro cavi. mantenere le informazioni di fase tra
pacità di misurare incrementi tempo- canali. La linea Busy può essere elimi-
zione simili. L’LTC2379-18 ha un tempo corre controllare che l’ADC sia specifi-
rali più piccoli. Tale capacità in un loop nata se l’host digitale riesce ad atten-
di acquisizione minimo di 200ns che è cato ‘senza codici mancanti’ su tutto il
in tempo reale è limitata dalla velocità di dere la fine del tempo di conversione
approssimativamente uguale al tempo range di temperature. Un ADC con un massimo prima di iniziare il trasferi-
campionamento massima dell’ADC. La
velocità di campionamento massima è minimo di trasferimento dei dati di buon rapporto segnale/rumore offre un mento dei dati, con conseguente ridu-
inversamente associata alla somma del 180ns, il che indica che questa parte è margine di rumore maggiore durante le zione del numero delle linee da quattro
tempo di conversione e del tempo di ottimizzata per una frequenza di cam- misurazioni, rendendo meno necessario a tre.
acquisizione dell’ADC. Di solito si pen- pionamento massima. l’averaging; in questo modo i loop di
sa che gli ADC seriali siano più lenti di controllo mostrano ritardi inferiori e so- IL BASSO CONSUMO RIDUCE
quelli paralleli a causa del tempo ne- OLTRE AL NUMERO DEI BIT no più stabili. I COSTI E SEMPLIFICA I PROGETTI
cessario per spostare i dati. Nel caso di E’ IMPORTANTE ANCHE Le applicazioni in corrente continua ri- Mano a mano che i sistemi di controllo
un ADC seriale, i dati vengono solita- UNA MAGGIORE PRECISIONE chiedono buone specifiche INL e DNL, diventano più complessi e il numero di
mente trasferiti durante il periodo di I sistemi di controllo richiedono, oltre ad mentre le applicazioni in corrente al- canali aumenta con il diminuire dei re-
acquisizione. Se il tempo di trasferi- un controllo più approfondito, una pre- ternata richiedono una buona specifica quisiti in termini di spazio, la riduzione
mento dei dati è inferiore al tempo di ac- cisione maggiore. Passando da pre- THD. La FFT nella figura 1 mostra le dei consumi acquista importanza. La ri-
quisizione, la frequenza di campiona- stazioni a 16 bit a prestazioni a 18 bit, è prestazioni tipiche dell’LTC2379-18, tra duzione dei consumi comporta, oltre a
mento massima dell’ADC seriale non è importante andare oltre il semplice nu- cui un rapporto segnale/rumore di un contenimento dei costi d’esercizio,
più lenta rispetto a un ADC parallelo mero di bit: non bisogna lasciarsi in- 101,2dB e una distorsione armonica to- una semplificazione della gestione ter-
con tempi di conversione e di acquisi- gannare dai “bit del marketing”. Oc- tale di -120dB. mica. La selezione di componenti con

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


elektor

Figura 3: la compressione digitale del guadagno dell’LTC2379-18 riduce il range di


ingresso analogico, ma mantiene il range di uscita digitale, consentendo un
funzionamento ad alimentazione singola. 

funzioni integrate di gestione dell’ali- rail perché la distorsione aumenta ma-


mentazione facilita la riduzione dei con- no a mano che l’uscita si avvicina ad ali-
sumi. Ad esempio, l’LTC2379-18 si spe- mentazioni positive e negative. Finora
gne automaticamente dopo una questo ha significato operare con un’ali-
conversione, con conseguente riduzio- mentazione singola e gettar via miglia-
ne della dissipazione di potenza a ve- ia di codici vicino a zero e V+ per man-
locità di campionamento basse. Gli ADC tenere bassa la distorsione oppure
ad alimentazione singola hanno solita- operare con un’alimentazione separata
mente un range di ingresso analogico e consumare più energia.
che va da 0 a Vref. La funzione digitale di compressione
Considerati i requisiti di spazio del dri- del guadagno, disponibile nell’LTC2379-
ver, significa che il driver che comanda 18, consente di raggiungere una dina-
l’ADC richiede una tensione di alimen- mica dei segnali di uscita dell’ADC da
tazione di qualche centinaia di millivolt zero al fondo scala con un ingresso
maggiore di Vref e un’alimentazione ne- che va dal 10% al 90% della tensione in
gativa di qualche centinaia di millivolt ingresso analogica di +/-Vref. Per un ri-
sotto lo zero. ferimento a 5V, questo significa che il
Questo vale anche con i driver rail-to- range di ingresso analogico è compreso

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


tra 0,5V e 4,5V, pur mantenendo i dalità comune e per mantenere un’im-
262.144 codici di uscita, come indicato pedenza in ingresso bilanciata. Il cir-
nella figura 3. La compressione del cuito nella figura 4 ha un rapporto se-
range di ingresso analogico offre al dri- gnale/rumore di 99dB e una distorsione
ver dell’ADC più spazio sopra lo zero e armonica totale di -95dB.
al di sotto della tensione di alimenta-
zione positiva. Questa funzione con- CONCLUSIONI
sente al buffer dell’LTC2379-18 di essere I sistemi di controllo industriali richie-
alimentato da una sola alimentazione, dono un controllo più approfondito sia
con conseguente riduzione dei consumi. del tempo che della grandezza. I pro-
gettisti di questi sistemi hanno biso-
L’AFFIDABILITA’ RENDE gno di tanti canali, ma devono tenere
I PRODOTTI PIÙ INTERESSANTI conto dei limiti in termini di spazio e
L’affidabilità è uno degli obiettivi prin- potenza e dell’esigenza di affidabilità.
Con velocità di conversione rapide,
cipali della progettazione di sistemi di Figura 4: LTC2379-18 e LT6350 accettano un segnale in ingresso a ±10V, partendo da buone specifiche SNR, THD e INL e la
controllo. I clienti vogliono comprare un’alimentazione singola di 6V.
capacità di campionare quando neces-
prodotti affidabili. Aumento dei margini
UN ESEMPIO DI ALIMENTAZIONE per attenuare e trasferire il segnale in in- sario, gli ADC SAR possono aiutare i
di rumore, rilevazioni più precise, ridu-
SINGOLA DIMOSTRA I VANTAGGI gresso nel range di ingresso da 0,5V a progettisti a raggiungere i loro obiettivi.
zione del numero delle linee di segnale
OFFERTI DALL’LTC2379-18 4,5V dell’LTC2379-18. Nella configura- L’ADC SAR a 18 bit LTC2379-18 di Li-
e delle alimentazioni, bassi consumi e
L’LT6350 può essere usato per imma- zione con amplificatore di inversione, near Technology è un’ottima soluzione
buona gestione termica: tutti questi
gazzinare e convertire grandi segnali l’impedenza di ingresso è impostata per i progettisti di sistemi ad alta pre-
aspetti rendono un sistema più affida-
bipolari veri che oscillano dallo zero al dal resistore RIN che deve essere scel- cisione, con la sua velocità di conver-
bile. Altrettanto importante è la sele- sione a 1,6 Msps, un rapporto segna-
range di ingresso differenziale ±4V del- to con cura in base all’impedenza alla
zione di componenti di qualità elevata, l’LTC2379-18, con la compressione di- le/rumore garantito di 98dB, un
sorgente del segnale.
ADC incluso. gitale del guadagno attivata per mas- Valori maggiori di RIN tendono a de- consumo di 18mW, un collegamento a
E’ necessario garantire che tutte le prin- simizzare la variazione del segnale da gradare sia il rumore che la distorsione margherita che consente a più ADC di
cipali specifiche dell’ADC (per esem- digitalizzare. dell’LT6350 e dell’LTC2379-18 come si- condividere solo 3 linee e una funzione
pio, INL, DNL, SNR e THD) vengano La figura 4 mostra l’LT6350 che viene stema. Valori inferioridi RIN possono digitale di compressione del guadagno
perfettamente soddisfatte, e non solo usato per convertire un vero segnale essere dificili da gestire. I resistori sugli che consente a questo dispositivo di
quelle tipiche. bipolare di ±10V per l’LTC2379-18. In ingressi del primo amplificatore del- essere controllato da amplificatori ad
E’ importante anche che le specifiche questo caso, il primo amplificatore del- l’LT6350 devono essere selezionati in alimentazione singola.
siano garantite in tutto il range di tem- l’LT6350 è configurato come stadio di modo da raggiungere l’attenuazione
perature in cui il sistema deve operare. amplificazione di inversione che opera desiderata, la tensione in uscita in mo- Codice MIP 2809956

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


REGOLATORE
+Analog
SOLUZIONI
HUMAN
INTERFACE
A BASSISSIMO RUMORE
di LUCA STANZANI er un progettista elettronico reperi- nire una tensione di alimentazione ca-
Lo sviluppo delle
nuove tecnologie ci
La progettazione
P re lo schema di un regolatore low- ratterizzata da un bassissimo livello di
consente di dropout è piuttosto semplice; poche rumore. Per raggiungere questo ob-
di una piattaforma hardware applicazioni, però, sono sviluppate per biettivo si può utilizzare il circuito di
interagire in piena
deve considerare molti aspetti garantire allo stesso tempo un bassis- figura 1. Questo circuito combina com-
libertà di
simo livello di rumore. Prendiamo, per ponentistica a basso rumore con un fil-
movimento con le e il gestore della piattaforma
esempio, un regolatore piuttosto diffu- traggio supplementare, per arrivare a
macchine deve essere scelto con cura.
so, il MAX8887 della Maxim IC. Il data- garantire un livello di rumore di circa
elettroniche Sempre più piattaforme sheet riporta una tensione di rumore 6nV/√Hz.
rendendo possibile, utilizzano delle PLD di circa 42uV rms; in figura 4 si può Il circuito è composto da un riferimento
con un semplice per la gestione, il perché osservare la tipica configurazione del re- di tensione IC1, un Maxim MAX6126
gesto, il dominio è facile da capire golatore. In certe applicazioni, come che fornisce un’uscita a basso rumore.
totale delle per esempio per gli oscillatori da stru- La tensione in uscita è di 2.048 V con
operazioni. mentazione, è necessario arrivare a for- un’accuratezza inferiore allo 0.06%. In

Figura 1: regolatore di tensione low-dropout a bassissimo rumore.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


figura 5 si può vedere un grafico del ru- trato pilota l’ingresso invertente di un d’uscita ricavabile dalla relazione: di 0.5 fA/√Hz, perciò trascurabile ri-
more in uscita per frequenze tra 0.1Hz e amplificatore di errore IC2, un Maxim spetto al rumore sulla tensione di 4.5
10Hz, con dei valori veramente bassi. MAX4475. L’amplificatore regola la ten- nV/√Hz. Il rumore sul riferimento di ten-
sione si somma al rumore dell’amplifi-
Un filtro passa basso composto da R1- sione d’uscita attraverso Q1, un MO-
catore poiché sono collegati in serie. Il
C1 riduce il rumore attenuando le fre- SFET di potenza a canale P. rumore generato dal MOSFET si mani-
In figura 2 si può vedere lo schema
quenze oltre la frequenza di taglio di Le resistenze R2 e R3 funzionano da semplificato, in cui si osservano tutte le festa all’ingresso sul gate di Q1. Il ru-
IC1, 0.16Hz. Il riferimento di tensione fil- feedback determinando una tensione possibili fonti che contribuiscono, utile more al terminale invertente di IC2 sarà
per lo studio del rumore. Il filtro passa pari a quello sul terminale non inver-
basso R1-C1, come detto, attenua il tente, perciò si ha:
rumore alle frequenze alte sul riferi-
mento di tensione. Il rumore sulla cor-
rente dell’amplificatore operazionale è

Figura 2:
circuito
semplificato
per l’analisi
del rumore.

Figura 4: regolatore
low dropout con
Figura 3:
MAX8887 (datasheet
densità di
Maxim). 
rumore in
funzione
della
frequenza
per il
nostro
circuito e
per un - Maxim IC website: www.maxim-ic.com
regolatore - MAX8887 datasheet: http://datasheets.maxim-ic.com/en/ds/MAX8887-MAX8888.pdf
con - MAX6126 datasheet: http://datasheets.maxim-ic.com/en/ds/MAX6126.pdf
MAX8887.

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


LCD demmel elettroshop

Figura 5: rumore sul segnale d’uscita del Figura 6: filtro passa basso R1-C1. 
riferimento di tensione ottenuto con il
MAX6126 (VIN=5V, CLOAD = 0.1 F, IOUT = zione attenua VN_FET, ossia il rumore
0, TA = +25°C) (datasheet Maxim).  dovuto al MOSFET, che così non con-
tribuisce al rumore in uscita. Per le fre-
quenze in banda passante, il circuito
riduce il ripple ed il rumore introdotti at-
traverso l’alimentazione. In figura 3 è
dove VN_OUT rappresenta l’uscita del- tracciata su un grafico la densità di ru-
la tensione di rumore del circuito di low more rispetto alla frequenza per il cir-
dropout, VN_REF rappresenta il rumore cuito in questione di figura 1. Si può
del riferimento, VN_OPAMP è il rumore osservare un livello di rumore base di
in ingresso all’amplificatore operazio- circa 6 nV/√Hz ad 1 KHz. Per confronto,
nale e H(f) è la funzione di trasferimen- viene anche tracciato il grafico con il li-
to del filtro passa basso. Se la fre- vello di rumore dello strumento di mi-
quenza di interesse cade sotto la sura ed un tipico livello di rumore di
frequenza di taglio del filtro, il rumore un circuito regolatore low dropout rea-
associato al riferimento di tensione ri- lizzato con il MAX8887. In questo caso,
sulta trascurabile, perciò la formula pre- a frequenza 1KHz, siamo sui 500 nV/√Hz
cedente si semplifica e rimane solo il ru- come livello di rumore. Il nostro circui-
more dell’amplificatore moltiplicato per to presenta un livello di rumore infe-
l’anello di guadagno composto dalle riore di ben 38 dB.
resistenze R2 e R3. L’anello di retroa- Codice MIP 2803380

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


+Analog
REGOLATORE
LOW-DROPOUT
A BASSISSIMO
RUMORE
Human Interface
di ETTORE PICCIRILLO

Lo sviluppo delle nuove tecnologie ci consente di interagire in piena libertà di movimento con le macchine
La progettazione di
elettroniche rendendo possibile, con un semplice gesto, il dominio totale delle operazioni
una piattaforma
hardware deve
considerare molti on il termine human interface ci si cattivante design. Diventa così pos- tanto altro ancora si immagina sarà
aspetti e il gestore C riferisce a tutti quei dispositivi
elettronici ed elettromeccanici che
sibile scorrere le pagine di un libro
elettronico, cercare il brano preferito
fatto. In questo articolo vorrei sinte-
tizzare i passaggi più significativi di
della piattaforma
deve essere scelto consentono all’operatore umano di sul nostro lettore MP3, modificare il questo settore, guardando con parti-
con cura. interagire con le macchine nel senso volume di ascolto o la luminosità del colare attenzione ai cataloghi delle
più lato del termine: pulsanti, tastiere cruscotto della nostra vettura senza case costruttrici, specialmente quel-
joystick, potenziometri display, etc. In scomodarsi più di tanto. le che sono più note ai nostri lettori
pratica, tutto ciò che serve all’utente Ma soprattutto ci svincoliamo sempre che amano cimentarsi con applica-
di un’apparecchiatura elettronica per di più dalla dipendenza dei fili ca- tivi elettronici sia a livello amatoriale
dialogare con l’applicazione stessa, blati che attraversavano le nostre ca- che per applicazioni commerciali. Sal-
sia essa un computer, un telefonino, se per poter collegare il computer terò per motivi di prolissità di espo-
una playstation oppure un televisore. alla tastiera o al mouse, oppure per sizione la cronistoria dell’evoluzione
Esigenze di comodità e di design ren- portare il telefono dal soggiorno alla tecnologica, puntando direttamente
dono sempre più sofisticati gli organi cucina. L’evoluzione delle tecnolo- alle soluzioni disponibili sul com-
di interfaccia umana al punto tale che gie avanza sotto la spinta di una ce- mercio.
oggi è possibile dialogare con le mac- lata regia che vede i grossi costruttori Tuttavia, prima di addentarci nei me-
chine con un semplice gesto del no- di silicio impegnati a contendersi un andri delle possibili soluzioni dispo-
stro corpo oppure con un comando mercato sempre più esigente e dai nibili sul commercio, vorrei citare co-
vocale, oppure semplicemente sfio- gusti raffinati. me precursori dello sviluppo di queste
rando con un dito gli invisibili sen- Lo scenario di utenza che si presenta tecniche alcuni standard industriali
sori sapientemente celati da un ac- è immenso; molto è stato fatto ma quali USB HID (Human Interface De-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


vice), USB OTG (On The Go), I2CBus, Cypress. Dall’oriente, inoltre, si pro-
WiFi, Zig Bee, Blue Tooth che sono i pongono ormai tutti i giorni nuovi co- Acquistala
canali di comunicazione principali at-
traverso i quali i nostri comandi giun-
struttori con soluzioni “do it yourself”,
complete di tutto il supporto software
subito
gono alla macchina. Il pregio dei gran- e firmware, c’è solo l’imbarazzo della online!
di costruttori di silicio consiste proprio scelta.
nell’aver reso possibile agli specialisti
del settore elettronico la realizzazione ATMEL
di applicativi HID prescindendo dalla Partiamo da Atmel per procedere in
approfondita conoscenze degli am- ordine alfabetico. Abbraccia un vasto
bienti e soprattutto senza necessità repertorio di soluzioni per il mondo
di scrivere complicati drivers per in- touch, utilizzabili per i settori più di-
terfacciare il sistema operativo ospite sparati: telefonia mobile, tavolette di
della applicazione. D’altro canto bi- digitalizzazione, libri elettronici, ga-
sogna considerare, a monte dello svi- mepads, navigatori, fotocamere, cru-
luppo, l’avanzare delle tecniche sen- scotti digitali oltre ad una serie di sen-
soristiche che consentono di decifrare sori capacitivi per impiego come
i nostri movimenti: touch sreen, sen- tastiere, pannelli di controllo, dispo-
sori capacitivi, sensori resistivi, ac- sitivo di consumo ed elettrodomestici.
celerometri, sensori ottici, piezoelet- La touch screen raggiunge in Atmel
trici, etc. Un esempio per tutti: il la massima espressione con i dispo-
sistema WIImote proposto da Ninten- sitivi della famiglia MAXTouch xMT224
do è una sintesi molto rappresentativa interfaccia per pannello touch scre-
dello stato dell’arte della sensoristica en fino a 10.2 pollici, organizzato a
per applicazioni human interface. È matrice 16 x 14, velocità di scan 250
proprio in questo scenario che ci muo- Hz con interfacciamento I2CBus, fi-
veremo cercando di individuare le so- no ai più prestanti xMT616 e xMT1386
luzioni più appetibili e a portata di multichip per display fino a 15.6 polli-
mano. ci (tavolette, libri e quaderni elettroni-
Molti sono i costruttori di silicio che ci). Ampia la scelta per quanto riguar-
hanno contribuito a rendere commer- da le tastiere a sfioramento che vanno
ciale la diffusione di queste moderne dal pulsante singolo AT42QT1010 (con-
interfacce; giusto per citare i più fa- tenitore SOT23-6 interfaccia I2CBus)
mosi: Atmel, Microchip, Freescale, Si- sino ai più complessi AT42QT1085 in
licon Labs, ST Microsystem, Texas, contenitore TQFP32 per un massimo di

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


8 tasti. La tecnologia QMatrix e QSlide plicazione ed in funzione del micro- lizzabile come mouse ottico, track- Si tratta di un chip di dimensioni mol-
vede come capostipite l’AT42QT2160 processore utilizzato. Sul portale del- ball, dispositivi di puntamento, etc. to ridotte in contenitore QFN 24 pin
con organizzazione a matrice 2 x 8, la Atmel, nella sessione Small I/O con connettività USB: CYONS2000 4x 4 mm oppure Ball Grid CSP 2 x
che può gestire una tastiera di 16 tasti device, è possibile individuare il pro- oppure CYONS2001(wireless). 1.7 mm a basso consumo (5 uA),
formato 6x 6 mm oppure uno slide cessore più adatto a ciascuna appli- Il modello CYONS2110 supporta anche adatto per dispositivi mobili nel mer-
switch da 2 a 8 canali. cazione ed il corredo di tools di svi- le funzioni CapSense consentendo lo cato consumer.
Per i più esigenti, la famiglia QTMatrix luppo disponibile. sviluppo di soluzioni più sofisticate
propone soluzioni touch fino a 16 op- come prodotto finale. FREESCALE
pure a 24 tasti QT60160 e QT60240 CYPRESS Tutti i prodotti della famiglia Ovatio- Accanto alla vasta famiglia di micro-
in contenitore MLF32, sempre a costi Questa casa, forse meno conosciuta nON II possono essere sviluppati gra- processori per applicazioni HID dei
accessibili. rispetto alle sue concorrenti, si di- zie al pacchetto Cypress’s PSoC De- quali parleremo nel seguito, questa
La QTouch messa a disposizione da stingue per la grande attenzione de- signer™, consentendo al progettista di casa offre delle soluzioni davvero in-
Atmel consente il semplice sviluppo di dicata da sempre al settore USB pro- raggiungere rapidamente il risultato. teressanti per quanto riguarda i sensori
pulsanti a sfioramento, tastiere, slide ponendo, sin dalla sua prima Ma Cypress non finisce qui. Le sue di movimento che vale la pena pre-
e wheels, sfruttando microprocessori apparizione sul mercato nella revisio- soluzioni basate su PSoC 3 & 5 con- sentare in questo articolo. Si tratta
“general purpose” della famiglia ne USB 1.1, sistemi su silicio che uti- sentono infatti di sviluppare applica- degli accelerometri triassiali della fa-
AT91SAM ed AVR. lizzano questo bus, ritenuto giusta- zioni per il settore elettromedicale: miglia XTRINSIC, validissimi sensori di
Per quel che riguarda la connettività mente il tramite di eccellenza tra sensori di pressione del sangue, sen- tilt, rotazione, movimento, shock, vi-
con il mondo PC, Atmel realizza inoltre l’uomo e la macchina. sori di fertilità, sensori di glucosio etc. brazioni, etc., per esempio quelli che ci
una vasta gamma di soluzioni basate Accanto agli ormai acclamati sistemi Il kit di sviluppo DVK CY8CKIT-001 consentono di ruotare le immagini sul
sulla famiglia di microprocessori AVR touch button e touch screen più o me- consente lo sviluppo di applicazioni display dello smartphone o del navi-
da 8 bit a 32, di cui l’AT90USB è il ca- no presenti presso tutti i costruttori di basate sul processore della famiglia gatore quando questo viene ruotato di
postipite. I tagli vanno da 8 Kbytes di silicio e di cui Cypress non è seconda PSoC 1, 3 e 5. 90 gradi, oppure quelli che inseriti al-
flash e 32 pin di package AT90USB82, a nessuno, figurano soluzioni molto Grazie al pacchetto di sviluppo PSoC l’interno di un game pad ci consento-
fino a 128Kb e 64 pin AT90USB1286 più interessanti ed avveniristiche, an- Creator IDE è possibile configurare no di rilevare la posizione e gli spo-
dal costo di pochi euro per chip anche che se un po’ più impegnative sotto il ogni blocco del silicio contenuto sul stamenti repentini della nostra mano
per piccoli quantitativi. profilo hobbistico, ma che vale sicu- chip come meglio si ritiene opportuno, per ricavare la sensazione della velo-
Rimanendo in ambito HID ovviamen- ramente la pena nominare. oppure utilizzarlo come proposto dal- cità nei giochi su playstation. Perso-
te non sarà necessario scomodare Cypress OvationON II, sensore di po- la casa madre per abbreviare i tempi di nalmente credo che l’impiego di que-
le potenti architetture a 32 bit oppu- sizione a laser per navigazione tattile sviluppo sempre con connettività USB sti sensori sia ancora poco diffuso e
re quelle ARM based. Atmel offre tut- che appartiene alla famiglia PSoC full speed. che molte applicazioni siano immagi-
to il supporto necessario dallo starter (programmable system on chip) ed in- Infine vorrei segnalarvi i recentissimi nabili con essi.
kit STK526 all’ambiente di sviluppo tegra la tecnologia Opticheck™. dispositivi TX2UL: USB ß> ULPI tran- Vale quindi la pena soffermarsi un mo-
AVR USB serie 2/4/6/7 opportuna- Il risultato è un sistema di navigazione sceiver bridge per la realizzazione di mento su questa interessante tecno-
mente dimensionato per il tipo di ap- a laser (quindi ad alta definizione) uti- auricolari stereo su interfaccia USB. logia, dando uno sguardo ai dispositivi

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


Tecnoimprese forum solar

proposti dalla famiglia MMA845xQ low HID, Mouse HID, CDC devices per la
g per i quali Freescale fornisce due famiglia S08JM, mentre per la versio-
tipi di demo board LFSTBEB8450 e ne Coldfire si aggiungono le funzioni:
RD3924MMA8450Q. Entrambe sono USB Host Class, HID Host, Host Mass
basate sul MMA8450Q, una potente Storage. Il supporto in termini di do-
interfaccia grafica che consente l’im- cumentazioni tecnica, application no-
piego del sensore in vari tipi di appli- tes, librerie ed esempi applicativi è
cazioni quali orientamento di ritratti veramente notevole.
e foto, rilievo di shock, e transitori.
Tutte le informazioni disponibili su MICROCHIP
questi affascinanti sensori potrete tro- Molte sono le soluzioni proposte da
varle sul link: freescale.com/Sensor- Microchip per lo sviluppo di Human
Toolbox. Interface Device.
Una soluzione veramente a basso co- La famiglia PIC18F offre una gamma di
sto per lo sviluppo di applicazioni HID microprocessori USB che vanno da 8
è rappresentata dalla famiglia di pro- a 32 bit con una dotazione di periferi-
cessori S08JM della Freescale. Questa che ausiliari veramente molto ricca,
famiglia nasce a 8 bit con tagli di me- dal più piccolo PIC18Fxx 8/16/28 Kb
moria flash da 8 a 60 Kb, tutti i modelli flash con USB 2.0 full speed, al fratello
sono equipaggiati con USB 2.0 full maggiore PIC24Fxx a 16 bit equipag-
speed ed hanno una ricca dotazione di giato con la sempre più diffusa USB
periferiche ausiliarie. OTG flash da 128 A 256 K, fino ad ar-
Nella classe superiore è previsto il co- rivare alla famiglia dei PICF32, dei ve-
re V1 coldfire nel modello MCF51JM, ri e propri mostri a 32 bit con dimen-
funzionante in modalità HID host (OTG) sioni della memoria di programma da
e mass storage. 32 a 512 Kb e velocità di elaborazione
Ciò che rende veramente appetibile da 80 MIPS.
questo approccio è la disponibilità di Il punto di forza della scelta Micro-
evaluation board DEMO9S08JM16 e di chip consiste nell’aver dotato i pro-
uno stack protocollare completamente pri microprocessori della interfaccia
gratuito S08JM_USB_LITE_CMX, USB OTG (on the go) che consente a
MCF51JM_USB_LITE_CMX, ampia- due dispositivi USB di comunicare tra
mente collaudato e funzionante, che di loro senza la interposizione del PC.
consente subito lo sviluppo di appli- Le application notes AN1140 e AN1141
cativi come General HID, Keyboard descrivono passo per passo il funzio-

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


namento degli HID, un apposito tool ture tascabili a basso consumo, touch en di tipo resistivo/capacitivo con la sore capacitivo a basso consumo in
che lavora in ambito Windows con- screen, e sensori ottici di prossimità e porta USB del PC in ambiente Win- contenitor a 8 pin.
sentendo la configurazione più adatta di luminosità ambientale. La maggior dows 7. Il dispositivo è precaricato Viene fornita una libreria completa
del PC per l’impiego di questi affa- parte di queste CPU della famiglia con firmware, specializzato per la “ST’s touch-sensing”, con codice in
scinanti dispositivi. C8051Fxx sono equipaggiate con co- maggior parte degli impieghi previsti formato sorgente per trasformare un
Da segnalare in particolare lo starter re 8051 opportunamente rivisitato nel- dal protocollo HID digitizer class. Il qualunque processore della famiglia
kit DM180021: opera in ambiente la tecnologia e nelle prestazioni con supporto in termini di documentazio- STM8 in un efficiente controller per
MPLAB basato sulla famiglia PIC18F alimentazione da 1.8 a 3.6 volt, basso ne, application notes, tools di svilup- tastiera capacitiva.
con funzioni di programmatore e de- consumo e velocità di calcolo da po, etc, è davvero esauriente.
bugger integrato, consente lo svilup- 25Mpis; il range esteso di tempera- CONCLUSIONI
po di dispositivi come mouse, joy- tura consente lo sviluppo di applica- ST MICROELECTRONICS Fortunatamente per gli appassionati di
stick, dispositivi di memoria di massa, zioni in ambito industriale. Tutti i di- Questa azienda ha puntato, tra l’al- elettronica lo scenario delle applica-
la board prevede l’impiego di sensori spositivi MCU della Silicon Labs sono tro, su controller touch screen di tipo zioni HID è veramente vasto. Mi scuso
capacitivi “touch sense” ed include dotati della porta C2 tramite la quale è resistivo e capacitivo STMTouch, ba- per le aziende che non sono state ci-
memoria micro SD, potenziometro possibile il debug e la programmazio- sati sulle consolidate architetture tate in questo articolo, ma ci vorreb-
sensore di accelerazione e display ne del micro in modo veramente effi- STM32 ed STM8, presentando nel suo bero settimane per poterle menziona-
OLED. Il supporto in termini di tools di ciente e rapido. repertorio re tutte; ci rifaremo in un prossimo
sviluppo è assicurato dal pacchetto A supporto degli specialisti e speri- dispositivi come STM32TS60 basati articolo.
USB Framework for PIC18, PIC24 & mentatori, esistono varie demo board su ARM Cortex –M3 a 32 bit, archi- I dispositivi di cui abbiamo trattato
PIC32, ricco di esempi e di programmi ed il pacchetto QuickSense™ Studio tettura RISC, frequenza di operazione sono tutti facilmente raggiungibili, al-
applicativi in formato sorgente. Inoltre che consente il facile sviluppo di si- 72 Mhz, 32 Kbytes Flash memory e meno come documentazione, attra-
Microchip mette a disposizione una stemi come pannelli di controllo touch, 10 Kbytes SRAM, ricca di dotazioni verso i normali canali internet. I pro-
serie veramente completa di librerie e interfacce industriali, consolle di gio- di periferiche tra cui bus di comuni- dotti sono quasi sempre disponibili
drivers per PC che consentono di fa- co, tastiere etc. cazione standard ed avanzati come direttamente dalla casa madre in cam-
cilitare il compito del programmatore: Per chi vuole invece interfacciare il I2C, SPI, USART, e USB. pionatura, oppure acquistabili con
Microchip Application Libraries v2010- PC, esistono una serie di prodotti brid- Il dispositivo lavora da 2.4 a 3.6 volt su carta di credito sui cataloghi com-
10-19. ge di cui vale la pena ricordare il range esteso di temperatura, per ap- merciali della Farnell, RS, Dgikey e
CP2112, un ponte tra HID USB, ed plicazioni a basso consumo. Il pac- Mouser. Ci resta solamente la scelta
SILICON LABS SMB/I2C Bus che consente di con- kage del componente UFBGA144 7 dell’applicazione: la soluzione è a por-
Un discorso speciale è stato fatto da nettersi rapidamente con la maggior mm x 7 mm è scomodo da utilizzare tata di mano più di quanto immagi-
Silicon Labs, che ha dedicato un’intera parte dei sistemi operativi senza ne- per esigenze di tipo hobbistico, men- niate. Spero a questo punto di aver
linea di produzione alla realizzazione di cessità di drivers. tre risulta molto vantaggioso per ap- sollecitato il vostro interesse, pertan-
dispositivi human interface, con par- Notevole anche il CP2501 “touch scre- plicazioni industriali e commerciali. to vi auguro buona navigazione.
ticolare enfasi ai sensori capaciti en USB bridge” che consente il colle- Rimanendo con i piedi sulla terra, va-
(touch sense MCU) per apparecchia- gamento tra un controller touch scre- le la pena ricordare l’STM8T14, sen- Codice MIP 2803370

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


65
Firmware
www.fwonline.it

EVENTS zapping
DIRETTORE RESPONSABILE Rest of the world

Maurizio Del Corso Inware Edizioni srl


Tel. +39 02 66504755
IBC 2011 collaborazione con funzionalità messe a sull’automazione e sulla DIRETTORE MARKETING info@inwaredizioni.it

L’evento annuale dedicato Assocompositi, prevede disposizione dai strumentazione utile agli Antonio Cirella

ai professionisti della un’area espositiva e un microcontrollori della operatori. Ufficio Abbonamenti


Segreteria di redazione
INWARE Edizioni srl
creazione, gestione e workshop con sessioni famiglia Baseline PIC® MCU Dove: Verona Giorgia Generali
Via Giotto, 7

divulgazione dimostrative durante le quali in linguaggio assembler. Quando: 25-26 ottobre 2011 20032 Cormano (MI)
Comitato Scientifico
dell’entartainment a livello verrà realizzata dal vivo una Dove: Legnano, info: www.exposave.com Simone Masoni (Microtest), France-
Per informazioni, sottoscrizione o rin-
novo dell’abbonamento:
mondiale. Vengono pala eolica in materiali sede Microchip sco Picchi (Microtest), Massimo Ro-
abbonamenti@inwaredizioni.it
vini (Università degli Studi di Pisa).
presentate le nuove compositi.. Quando: 13 Settembre 2011 ITN 20101 Tel. 02.66504755
Fax. 02.66508225
tecnologie dell’industria Dove: Roma info: www.microchip.com ITN 2011 offrirà ai visitatori Art Director
Patrizia Villa L'ufficio abbonamenti è disponibile

elettronica attraverso Quando: due giornate di conferenze e telefonicamente dal lunedì al vener-

numerose conferenze a cui 14-16 Settembre 2011 AUTOMAZIONE IN FIERA workshop informativi, Hanno collaborato
dì dalle 14,30 alle 17,30.
Tel. 02.66504755
in questo numero:
prendono parte leader info: SAVE è un appuntamento programmi di networking e Davide Boscolo Todaro, Giovanni Di Fax 02.66508225
Maria, Maurizio Di Paolo Emilio, Mar-
mondiali dell’industria www.zeroemissionrome.eu innovativo che unisce una seminari di alto contenuto, co Ferrario, Antonio Giannico, Guy
Autorizzazione alla pubblicazione
Tribunale di Milano n. 20
elettronica. parte espositiva in fiera ad presentando nel contempo Hoover, Francesco Pentella, Ettore
Piccirillo, Mario Rotigni, Sara Sca- del 16/01/2006

Dove: Amsterdam INTRODUZIONE AI MICRO una forte componente un’ampia e di ricca area vone, Mariano Severi, Luca Stanzani

Quando: 9-13 settembre 2011 A 8BIT formativa. Area espositiva espositiva. ITN 2011 Direzione Redazione
© Copyright
Tutti i diritti di riproduzione o di tra-
info: www.ibc.org Questo corso copre le basi dove incontrare agli stand i presenterà tematiche, trend INWARE Edizioni srl
duzione degli articoli pubblicati sono
Via Giotto, 7
sull’architettura, il set di principali leader di settore, e sfide dei mercati italiani ed 20032 Cormano (MI)
riservati. Manoscritti, disegni e foto-
grafie sono di proprietà di Inware Edi-
ZERO EMISSION istruzioni e sulle periferiche centinaia di convegni e europei. Ai visitatori sarà Tel. 02.66504755
Fax 02.66508225
zioni srl. È vietata la riproduzione an-

ROMA 2011 della famiglia di workshop accessibili per gli offerta anche la straordinaria info@inwaredizioni.it
che parziale degli articoli salvo
espressa autorizzazione scritta del-
ZEROEMISSION ROME 2011 microcontrollori Baseline operatori qualificati, cinque opportunità di valutare www.inwaredizioni.it
Redazione: fw@inwaredizioni.it l’editore. I contenuti pubblicitari sono
propone numerose novità, Microchip. In particolare eventi internazionali e un prodotti, servizi e soluzioni riportati senza responsabilità, a pu-

che riguardano sia i saloni sarà mostrato come evento speciale in di navigazione satellitare e Pubblicitá per l’Italia ro titolo informativo.
Agostino Simone
con l’esordio di utilizzare i tool richiesti per contemporanea, gli operatori infrastrutture intelligenti, sia Tel. 347 2230684 Collaborare con

SOLARTECH, dedicato al sviluppare un applicativo e professionali accedono delle aziende leader sia di media@inwaredizioni.it FIRMWARE
Le richieste di collaborazione vanno
solare termico e caricarlo sui gratuitamente alla mostra e quelle emergenti, grazie alla Europe and Americas
indirizzate all’attenzione di Maurizio
Elisabetta Rossi
termodinamico - sia le microcontrollori della usufruiscono di tutti i servizi. presenza dell’intero spettro Del Corso (m.delcorso@inwaredi-
Tel. +39 328 3245956
nuove aree tematiche di famiglia Baseline. L’esigenza percepita oggi è dell’industria ITN. international@inwaredizioni.it
zioni.it) e accompagnate, se possi-
bile, da una breve descrizione delle
EOLICA e PV ROME Al termine del corso, rendere adeguate le modalità Dove: Torino - Lingotto Fiere Asia vostre competenze tecniche e/o edi-

Winverter, Hi-Volts&Grids e i partecipanti saranno in fieristiche, renderle attuali e Quando: Cybermedia Communications Inc. toriali, oltre che da un elenco degli ar-

Tel. +886-(0)2-2691-2785 gomenti e/o progetti che desiderate


Compomat Wind. grado di sviluppare software sempre più proficue per 16-18 novembre 2011
international@inwaredizioni.it proporre.
Quest’ultima, realizzata in che utilizzi tutte le creare una fiera info: www.itnexpo.it

11 FOCUS ON 17 SKILLS 30 INSIDE 36 TOOLS 58 ANALOG

6 TIPS’N TRICKS 3 MARKET NEWS 54 SPOTLIGHT 66 EVENTS ZAPPING ABBONAMENTO


FE anteprima:FW 20-01-2011 16:02 Pagina 80

L’anteprima che segue è relativa


alla rivista Fare Elettronica
attualmente in edicola.

Da non perdere,
un articolo completo
in OMAGGIO !

Maggiori informazioni
sulla rivista Fare Elettronica
sul sito www.farelettronica.com
COP FE 313:fe 1-07-2011 19:57 Pagina 1

Robot Golem Flip-Flop riparare i TV LCD Corso Verilog Digivox


stazione radio casalinga radiocomando DAQ Cronometro con PIC
esperimenti con diodi Lampada intelligente con Arduino
Luglio-Agosto 2011

Flip-flop
E DIODI
ESPERIMENTI PRATICI
313-314

w w w. f a r e l e t t r o n i c a . c o m
313/314 LUGLIO-AGOSTO Mensile Anno XXVII € 6,00

Progettare
con Arduino
UNA LAMPADA
INTELLIGENTE
CRONOMETRO
CON PIC
Lampada intelligente con Arduino – Cronometro con PIC – Riparare TV LCD

IMPARA A RIPARARE
UN TV LCD

COME ALLESTIRE
UNA STAZIONE RADIO

INTERFACCIA
PER RADIO DIGITALI
04-05 sommario:fe 1-07-2011 20:01 Pagina 4

sommario 313-314 luglio-agosto 2011

20 LAMPADA DA TAVOLO
CON ARDUINO
La versatilità e la facilità d’uso di
Arduino permettono di realizzare i
dispositivi più disparati: in questo
articolo affronteremo la realizza-
zione di una lampada da tavolo a
led comandata da un PC utiliz-
zando l’Arduino come sistema di
interfacciamento.
di Andrea ed Enrico Tobaldo

&
42 RTX 8 CANALI:
28 CRONOMETRO IL RICEVITORE
SEGNATEMPO Dopo la presentazione dei tra-
L’articolo illustra la realizzazione smettitori, descriviamo in queste
di un cronometro, utilizzando il mi- pagine il relativo ricevitore. Dis-
crocontrollore Pic. Pratica e di- pone di otto uscite a relè ed è ab-
dattica per lavorare al meglio con binabile unicamente ai trasmettitori
il compilatore mikroBASIC PRO. proposti.
di Giovanni Di Maria di Silvano Breggion

34 ESPERIMENTI
CON I FLIP-FLOP
I flip flop sono di circuiti bistabili &
che stanno alla base della realiz-
zazione di circuiti integrati conta-
tori, divisori di frequenza, registri a
50 ESPERIMENTI
CON I DIODI
scorrimento e più in generale di
La giunzione p-n è la struttura fisica
circuiti sequenziali. In questo arti-
fondamentale della maggior parte
colo ne mostriamo il funziona-
dei dispositivi elettronici allo stato
mento attraverso semplici esperi-
solido. Il diodo a giunzione è il
menti pratici ed elenchiamo i chip
commerciali che li integrano. componente più semplice realiz-
di Antonio Giannico
zabile con una struttura di que-
sto tipo. In questo articolo ne illu-
striamo, a scopo didattico, le ap-

70
plicazioni circuitali più comuni at-
traverso una serie di semplici espe-
Rispondi
e... VINCI! pag.
rimenti pratici.
di Antonio Giannico

62 ACQUISIZONE DATI
DIVERTITI E METTI VIA GSM PARTE PRIMA

ALLA PROVA Analizziamo in questo primo arti-


colo di una serie di due possibili si-
LE TUE CONOSCENZE CON stemi di acquisizione dati che si in-
terfacciano via GSM. Dapprima ci
ELETTRO QUIZ concentreremo sui moduli che la-
E VINCI OGNI MESE vorano con l’interfaccia GSM e
poi ci concentreremo su un’appli-
ESCLUSIVI PREMI! cazione di essi nel campo dei si-
stemi di acquisizione dati. .
di Paolo Emilio Maurizio

4
04-05 sommario:fe 1-07-2011 20:01 Pagina 5

elenco inserzionisti
GLI ARTICOLI CONTRASSEGNATI COL SIMBOLO
Digi-Key Corporation Pag. 1-3
sono già disponibili in formato PDF * all’indirizzo www.farelettronica.com/club 701 Brooks Ave South - 56701 Thief River Falls, MN
* Puoi iscriverti al CLUB di Fare Elettronica versando una piccola quota annuale.
Tel. 800*338*4105 x1454 – www.digikey.it

Elettroshop Pag. 95-100


Via Giotto, 7 - 20032 Cormano (MI)
66 LE CLASSI & Tel. 02 66504755 - www.elettroshop.com
IN SYSTEM VERILOG
In questa puntata vedremo come 88 DIGIVOX Evr Pag. 99
descrivere ed utilizzare in System- Una scheda semplice da impiegare, Viale Kennedy, 96 - 20027 Rescaldina (MI)
Verilog le classi. che permette il collegamento tra Tel. 0331 1815404 - www.evr-electronics.com
di Mariano Severi apparati radio portatili, di stazione
fissa o veicolari, e la scheda audio di Exposition Service Pag.18-19
72 COME RIPARARE un PC, per poter iniziare a speri-
V.le Dante Alighieri 54 - 48022 Lugo (RA)
UN TV LCD mentare con le comunicazioni digi-
Tel. 0545.27548 - www.mondoelettronica.net
Una breve introduzione alla tec- tali radioamatoriali.
nologia dei televisori moderni, i di Maurizio Malaspina
Farnell Italia Pag. 6
cosiddetti LCD, e alcune tecni-
che di riparazione. 92 LA STAZIONE IN CASA Corso Europa 20 - 22 - 20020 Lainate (MI)
Tel. 02 93995(1) - www.farnell.com
di Parrinello Emanuele Due righe circa l’allestimento del-
la stazione in casa, per avere le
76 CORSO DI PYTHON idee più chiare quando verrà il mo- Futura Elettronica Pag. 25

mento. Via Adige 11 - 21013 Gallarate (VA)


PARTE TERZA
LE FUNZIONI di Daniele Cappa Tel. 0331-799775 - www.futuranet.it
MATEMATICHE
Introduciamo le funzioni e il lin- GRIX Pag. 91
guaggio della matematica per www.grix.it
comprendere meglio le funzioni
che è possibile utilizzare in Python,
102 ROBOT GOLEM
PARTE QUINTA MikroElektronika Pag. 9
sino ad arrivare, poi, ad aggiun-
gerne di nuove. LA RICOSTRUZIONE Visegradska, 1A - 11000 Belgrade

di Massimiliano Miocchi
DEL PIANO MOBILE Tel. +381 11 3628830 - www.mikroe.com
In questo numero vedremo come
dotare il robot di un “apparato lo- Millennium Dataware Pag. 15
di comotivo”.
di Costantini Mattias
Corso Repubblica 48 - 15057 Tortona (AL)
Tel. 0131-860254 - www.mdsrl.it
80 BUS TRANSCEIVER/
REGISTER
La caratteristica bidirezionale del
Bus Dati dei microprocessori e di
rubriche
7 Editoriale
PCB-Pool Pag. 16
Bay 98-99 - Shannon Free Zone
Shannon - County Clare
molte logiche programmabili ri- 10 Idee di progetto Tel. 02 64672645 - www.pcb-pool.com
chiede la disponibilità di compo-
nenti speciali in grado di gover- 14 News
17 Info R.C.C. Pag. 13
nare il flusso delle informazioni nei
due sensi possibili, assicurando Via G. Di Vittorio 19 - 20097 San Donato Milanese (MI)
18 Eventi
al tempo stesso la loro memoriz- Tel. 02-51876194 - www.rccitaly.com
zazione locale e le necessarie spe-
26 Intervista
cifiche di corrente. 70 Elettroquiz Tecnoimprese Pag. 107
di Giorgio Ober 108 IESHOP Via Console Flaminio, 19 - 20134 (MI)
Tel. 02 210.111.1 - www.fortronic.it

Teltools Pag. 105


Via Della Martinella 9 - 20152 Milano (MI)
ABBIAMO BISOGNO www.teltools.it
DEL TUO AIUTO!
LUPUS IN FABULA
FACCI CONOSCERE LE
Agilent Technologies, 15 - Arduino, 20
TUE PREFERENZE VOTANDO Lattice, 15 - LG, 72 - Linear Technology, 14
IL TUO ARTICOLO PREFERITO SUL SITO Microchip 20, 42 - Mouser, 16 - RFMD, 16
Samsung, 72 - Texas Instruments, 14
WWW.FARELETTRONICA.COM
Toshiba, 14

5
28-33 PROGETTARE E...:FE 1-07-2011 17:42 Pagina 28

progettare
➲ progettare & costruire di GIOVANNI DI MARIA

CRONOMETRO
segnatempo uando i microcontrollori non era- manualmente l’accuratezza delle misure.

Q
L’articolo illustra
no così alla portata di mano, an- Oggi per fortuna non è così, e se da un la-
la realizzazione
che per via dei relativi costi elevati, to ogni tanto la nostalgia delle vecchie rea-
di un cronometro, utilizzando la costruzione di un cronometro o di un lizzazioni si fa sentire, dall’altro la mo-
orologio era un impresa davvero com- derna tecnologia ci aiuta a realizzare cir-
il microcontrollore Pic.
plicata. Occorreva infatti l’adozione di cuiti poco ingombranti e molto precisi.
Pratica e didattica contatori, clock, divisori, sommatori e al-
per lavorare al meglio tri dispositivi digitali, con cui si otteneva- IL CRONOMETRO A 4 VIE
no prototipi molto grandi. Come se non Il progetto che ci accingiamo a descrive-
con il compilatore
bastasse, anche la precisione non era re in queste pagine espone la realizzazione
mikroBASIC PRO delle migliori, e si doveva agire su com- di un cronometro a 4 vie. Si tratta in pra-
ponenti discreti ed analogici per “ritoccare” tica di ben quattro cronometri imple-
mentati nello stesso dispositivo. Ogni
cronometro è indipendente dall’altro e
può essere avviato, fermato e azzerato. La
precisione di conteggio è molto elevata, a
patto di usare un quarzo da 20 Mhz.

CARATTERISTICHE TECNICHE
ED OPERATIVE NEL CRONOMETRO
Di seguito riportiamo le caratteristiche
salienti del dispositivo:
• Presenza di 4 cronometri indipendenti;
• Possibilità di Start, Stop e Reset per

LISTA COMPONENTI
R1~R12 10 KΩ 1/4 W
C1~C2 22 pF
U1 PIC16F877A
LCD2 Display LM044L
4 righe x 20 colonne
RESET 1~RESET 4 Pulsanti n/a
START 1~START 4 Pulsanti n/a
STOP 1~STOP 4 Pulsanti n/a
RV1 Potenziometro lineare
10 KΩ
Figura 1: schema elettrico.
X1 Quarzo 20 Mhz

28
28-33 PROGETTARE E...:FE 1-07-2011 17:42 Pagina 29

& costruire
Figura 5: il Pic 16F877.

Figura 2: il display LCD LM044L.

UTILIZZI tomobili che transitano in 2 ore e, sepa-


PRATICI ratamente, conteggio di motociclette che
Possedere un cronometro contatempo transitano in 3 ore);
formato da 4 timer indipendenti è indub- • A scuola, per cronometrare il tempo di
Figura 3: il display in funzione.
biamente un fatto molto comodo. Per di risposta dei test e, contemporaneamen-
più se lo strumento è realizzato in casa, la te, il tempo di altri questionari;
soddisfazione è ancora maggiore. E molti altri esempi che la fantasia sug-
Il cronometro a 4 vie può essere utilizza- gerisce.
to in diverse situazione, laddove cioè sia
necessario misurare il trascorrere del SCHEMA ELETTRICO
tempo, esteso a quattro diversi eventi e Lo schema elettrico è abbastanza sem-
temporalmente distanti. Molto spesso in- plice ed intuitivo. Il cuore del circuito è for-
fatti è necessario prendere il tempo di mato dal noto microcontrollore Pic 16F877
un evento, ma contemporaneamente si della Microchip. Esso è coadiuvato dai
deve misurare il tempo di un secondo due condensatori C1 e C2 da 22pF e dal
evento, e così via. quarzo da 20 Mhz. Tale rete è utilizzata per
Lo spunto della realizzazione del prototi- produrre il segnale di clock del micro.
po in questione è nato in cucina. In diversi Il display Lcd è particolare, in quanto è ca-
momenti, infatti, esisteva l’esigenza di pace di visualizzare i dati su ben 4 righe e
misurare il tempo di cottura di 4 diverse 20 colonne. Il protocollo di comunica-
pietanze per uno stresso pranzo (uovo, zione è comunque lo stesso rispetto ad al-
zampone, patate in pentola a pressione e tri display con codifica Hitachi.
brasato) con diverso tempo iniziale di La PORT-B del Pic è destinata alla co-
cottura. Sarebbero stati necessari ben municazione con il display LCD. Ecco in
quattro orologi o cronometri. Col dispo- dettaglio i piedini del display con i ri-
sitivo in questione, invece, il problema è spettivi collegamenti:
Figura 4: pinout del Pic 16F877. stato brillantemente risolto. Ecco alcuni • Vss: a massa;
settori nei quali l’uso del presente cro- • Vdd: al +5V dell’alimentazione;
nometro potrebbe risultare molto pro- • Vee: al partitore resistivo per permet-
ogni cronometro;
duttivo: terne la regolazione del contrasto;
• Alta precisione di conteggio;
• In cucina, per tenere il tempo di 4 cot- • RS: al piedino RB4 del Pic;
• Grande display Lcd a 4 righe;
ture diverse; • RW: a massa;
• 4 Pulsanti di Start;
• Durante le gare sportive a medio e lun- • E: al piedino RB5 del Pic;
• 4 Pulsanti di Stop;
go termine; • D0: a massa;
• 4 Pulsanti di Reset;
• Nei giochi di società, cacce al tesoro e • D1: a massa;
• Risoluzione di 1 secondo;
altri; • D2: a massa;
• Formato del timer: hh:mm:ss;
• Per applicazioni statistiche e di con- • D3: a massa;
• Limite conteggio: 99 ore, 59 minuti e 59
teggio eventi (esempio: conteggio di au- • D4: al piedino RB0 del Pic;
secondi.

29
28-33 PROGETTARE E...:FE 1-07-2011 17:42 Pagina 30

progettare & costruire


➲ progettare & costruire

• D5: al piedino RB1 del Pic;


• D6: al piedino RB2 del Pic;
• D7: al piedino RB3 del Pic.
La PORT-C (composta da 8 porte) è col-
legata a otto pulsanti n/a che coman-
dano lo Start e lo Stop dei quattro cro-
Figura 7: la stringa di caratteri txt[8].
nometri. A riposo, lo stato logico delle
porte è “basso”, per via delle resistenze
di pull-down collegate direttamente a
massa. Alla pressione dei rispettivi ta- Può essere anche utilizzato un modello
sti, lo stato logico commuta ad “alto” compatibile. La sua codifica Hitachi per-
poiché esse vengono collegate diretta- mette il collegamento standard con mol-
mente a VCC. Pertanto l’intera PORT-C te periferiche ed è gestito perfettamente
Figura 6: funzione delle porte di I/O del 16F877. dal mikroBASIC PRO.
ha funzione di ingresso. La PORT-D (o al-
meno i suoi primi quattro bit meno si- Di seguito sono riportate alcune caratte-
gnificativi) ha anche funzione di ingresso ristiche del display:
ed è comandata da quattro pulsanti che
IL DISPLAY A 4 RIGHE • 20 caratteri x 4 linee;
determinano l’azzeramento (Reset) dei Il display utilizzato deve disporre di uno • Controller HD44780 presente;
cronometri. Una pressione imposta il spazio sufficiente per ospitare tante in- • Alimentazione singola di 5V;
conteggio a “00:00:00”. formazioni. Il modello prescelto è un dis- • Effettiva area di visualizzazione: 76x25 mm;.
L’intero prototipo è alimentato con una play LCD capace di visualizzare i dati in 4 Per maggiori informazione si rimanda la
tensione stabilizzata di 5V. righe e 20 colonne, il famoso LM044L. lettura ai datasheet ufficiali.

LISTATO 1
program cronometro dim od,ou,md,mu,sd,su as byte
od = o / 10 ‘ Calcola Decine Ore
rem CRONOMETRO ou = o mod 10 ‘ Calcola Unita’ Ore
rem by Giovanni Di Maria md = m / 10 ‘ Calcola Decine Minuti
mu = m mod 10 ‘ Calcola Unita’ Minuti
rem Lcd module connections sd = s / 10 ‘ Calcola Decine Secondi
dim LCD_RS as sbit at RB4_bit su = s mod 10 ‘ Calcola Unita’ Secondi
LCD_EN as sbit at RB5_bit
LCD_D4 as sbit at RB0_bit txt[0]=od+48
LCD_D5 as sbit at RB1_bit txt[1]=ou+48
LCD_D6 as sbit at RB2_bit txt[2]=”:”
LCD_D7 as sbit at RB3_bit txt[3]=md+48
txt[4]=mu+48
LCD_RS_Direction as sbit at TRISB4_bit txt[5]=”:”
LCD_EN_Direction as sbit at TRISB5_bit txt[6]=sd+48
LCD_D4_Direction as sbit at TRISB0_bit txt[7]=su+48
LCD_D5_Direction as sbit at TRISB1_bit
LCD_D6_Direction as sbit at TRISB2_bit Lcd_Out(riga,13,txt)
LCD_D7_Direction as sbit at TRISB3_bit end sub
rem End Lcd module connections
main:
dim k as word TRISB = 0
dim txt as string[8] TRISC = 255
dim O1,M1,S1 as byte TRISD = 15
dim O2,M2,S2 as byte PORTB = 0
dim O3,M3,S3 as byte PORTC = 0
dim O4,M4,S4 as byte PORTD = 0
dim inc1,inc2,inc3,inc4 as byte
Lcd_Init()
sub procedure visualizza(dim riga,o,m,s as byte) Lcd_Cmd(_LCD_CLEAR)

30
28-33 PROGETTARE E...:FE 1-07-2011 17:42 Pagina 31

IL PIC 16F877 luppo mikroBASIC PRO. Dopo le dichia- dei secondi, che pertanto restano “bloc-
Il microcontrollore utilizzato è il noto razioni iniziali delle porte per il display e cati” e fermi all’inizio.
16F877. È stato utilizzato questo micro delle variabili utilizzate, si passa alla de- Il cuore del programma è costituito dal un
poiché il progetto necessita di molte por- finizione della procedura “visualizza()”. ciclo “while” senza fine. In esso avviene la
te di I/O. In più, la vasta memoria lo ren- Essa ha 2 compiti molto importanti: 1) visualizzazione vera e propria sul display,
de versatile e adatto a qualsiasi tipo di quello di discriminare le decine ed unità ad opera della relativa procedura. Si pas-
progetto. delle ore, minuti e secondi al fine di age- sa quindi al controllo del superamento
volare la visualizzazione; 2) quello di mo- del limite da parte dei valori temporali, co-
strare sul display i dati, sottoforma di me segue:
IL COMPILATORE
stringhe. • Se i secondi arrivano a 60, vengono
Come per molti altri progetti pubblicati in
Quindi, inizia il programma vero e proprio, azzerati e, contestualmente, vengono in-
precedenza in questa rivista, il compilatore
con l’identificazione della label “main:”. La crementati i minuti;
utilizzato è il mikroBASIC PRO, giunto
definizione della funzionalità delle porte, • Se i minuti arrivano a 60, vengono az-
ormai alla versione 4.60. Maturo ed affi-
nonché l’azzeramento delle stesse è il zerati e, contestualmente, vengono in-
dabile, esso offre un grande ambiente si
primo passo obbligatorio. Successiva- crementate le ore;
sviluppo, soprattutto per ciò che con-
mente si passa alla prima visualizzazione • Se le ore arrivano a 100, vengono az-
cerne la varietà di librerie messe a dis-
delle stringhe fisse sul display (“Timer zerate.
posizione e il controllo dei programmi
A”, “Timer B”, ecc). Si passa infine al controllo dei tasti pre-
tramite debugger.
Poi vengono azzerate le variabili relative al- muti.
LISTATO le ore, minuti e secondi dei quattro cro- Se i tasti “Start” sono pressati, la variabile
Esaminiamo adesso il listato sorgente, nometri (O1, M1, S1, O2, M2, S2, ecc). inc1 (o inc2, inc3, inc4) è impostata a 1 e
scritto in Basic tramite l’ambiente di svi- Viene anche impostato a 0 l’incremento può così avvenire l’incremento dei se-

Lcd_Cmd(_LCD_CURSOR_OFF) M1=0
Lcd_Out(1,1,”Timer A”) O1=O1+1
Lcd_Out(2,1,”Timer B”) end if
Lcd_Out(3,1,”Timer C”) if O1=100 then
Lcd_Out(4,1,”Timer D”) O1=0
end if
O1=0 M1=0 S1=0
O2=0 M2=0 S2=0 rem ——Controlla gli Overflow del Cronometro
O3=0 M3=0 S3=0 2——-
O4=0 M4=0 S4=0 S2 = S2 + inc2
if S2=60 then
inc1 = 0 S2=0
inc2 = 0 M2=M2+1
inc3 = 0 end if
inc4 = 0 if M2=60 then
M2=0
while true O2=O2+1
visualizza(1,O1,M1,S1) end if
visualizza(2,O2,M2,S2) if O2=100 then
visualizza(3,O3,M3,S3) O2=0
visualizza(4,O4,M4,S4) end if

rem ——Controlla gli Overflow del Cronometro rem ——Controlla gli Overflow del Cronometro
1——- 3——-
S1 = S1 + inc1 S3 = S3 + inc3
if S1=60 then if S3=60 then
S1=0 S3=0
M1=M1+1 M3=M3+1
end if end if
if M1=60 then if M3=60 then

31
28-33 PROGETTARE E...:FE 1-07-2011 17:42 Pagina 32

progettare & costruire


➲ progettare & costruire

POSSIBILI MIGLIORAMENTI
Il progetto è perfettamente funzionante. Per
chi si volesse cimentare in alcune modifiche,
soprattuto a scopo didattico, ecco comun-
que qualche utile suggerimento:
• Possibilità di conteggiare anche i cen-
tesimi di secondo, secondo il formato:
“mm:ss:cc”;
• Diminuzione del numero dei pulsanti, in
modo che un solo pulsante possa servire ad
avviare, fermare ed azzerare i contatori;
• Aggiunta di un ulteriore pulsante “Reset
All” che possa azzerare tutti i cronometri,
in un sol colpo;
• Aggiunta di un ulteriore pulsante “Stop
All” che possa fermare tutti i cronometri,
Figura 8: ricostruzione 3D del prototipo.
in un sol colpo.
condi. In altre parole, il cronometro va (O1, M1, S1, O2, M2, S2, ecc) sono im-
avanti. Viceversa, se i tasti “Stop” sono postate a 0 e il cronometro viene azzerato. CONCLUSIONI
pressati, la variabile inc1 (o inc2, inc3, Occorre notare il fatto che, per mantenere Un progetto indubbiamente utile, quando
inc4) è impostata a 0 e non può avvenire sempre la stessa precisione e la stessa si ha a che fare con la misura del tempo.
l’avanzamento dei secondi. In altre parole, cadenza di conteggio, i quattro cronometri Si raccomanda l’adozione di un quarzo da
il cronometro è fermo. sono sempre visulizzati, anche se sono 20 Mhz, pena la perdita di precisione
Infine, se i tasti “Reset” sono pressati, fermi. Ciò consente di ottenere un ottimo dello strumento. Buon lavoro. ❏
le variabili relative al conteggio del tempo grado di precisione. CODICE MIP 2804929

segue LISTATO 1
M3=0 if portc.0=1 then inc1 = 1 end if
O3=O3+1
if portc.2=1 then inc2 = 1 end if
end if
if O3=100 then if portc.4=1 then inc3 = 1 end if
O3=0
f portc.6=1 then inc4 = 1 end if
end if
rem —————-STOP——————-
rem ——Controlla gli Overflow del Cronometro
4——- if portc.1=1 then inc1 = 0 end if
S4 = S4 + inc4 if portc.3=1 then inc2 = 0 end if
if S4=60 then
S4=0 if portc.5=1 then inc3 = 0 end if
M4=M4+1 if portc.7=1 then inc4 = 0 end if
end if
if M4=60 then rem —————-RESET——————-
M4=0 if portd.0=1 then O1=0 M1=0 S1=0 end if
O4=O4+1
end if if portd.1=1 then O2=0 M2=0 S2=0 end if
if O4=100 then if portd.2=1 then O3=0 M3=0 S3=0 end if
O4=0
end if if portd.3=1 then O4=0 M4=0 S4=0 end if
next k
rem —Controlla i tasti, START, STOP, RESET—
—- wend
for k=1 to 966
delay_ms(1)
rem —————-START——————- end.

32
NEWS 2011
DEBUGGER, REAL-TIME TRACE, LOGIC ANALYZER

Always a Few Steps Ahead


Lauterbach has been developing tools for the embed- (VM). Google’s Android and its Dalvik VM are quite
ded industry for over 30 years advocating this slogan. prevalent. Complex errors that will only appear with
For most new debug technologies Lauterbach is the the interplay of application, virtual machine, operat-
world leader and trend setter. ing system and the underlying hardware have to be
debugged. To do this it is necessary to have transpar-
This has allowed us to gain the recognition of all the big ency through all of the software layers, from the Java
semiconductor manufacturers. For many years, those application down to the Linux hardware drivers.
involved in developing and implementing new tech-
nologies have favored collaboration with Lauterbach. At the request of some mobile phone manufacturers,
This collaboration has inspired many ground breaking Lauterbach started developing an API for VM Debug-
ideas to be transformed into advanced products. ging Awareness in the middle of 2010. Android is used
here as a reference platform. The aim is to provide an
In addition, Lauterbach is very customer focused. The open interface that allows providers of open-source
desires and suggestions of our TRACE32 users pro- and closed-source VMs to adapt their products for de-
vide a valuable contribution to our product develop- bugging with TRACE32. For information on VM Debug-
ment. In many cases, suggestions are put into practice
immediately and are then included in the next released
version of our debugger. CONTENTS
From this vantage point what trends does Lauterbach New Supported Processors 4
currently see? What technologies are soon to emerge
Tracing for Virtual Targets in Fast Models 5
in the market?
API for VM Debugging Awareness 6
Extensions and New RTOS Versions 8
Android Debugging
Serial Trace Port Usage Growing 9
Android debugging is certainly an important topic. Ap- Higher Transmission Rate for RTS 10
plications for mobile phones are increasingly being
written architecture-independent for virtual machines Energy Profiling with the CombiProbe 11
SMP Profiling 12

www.lauterbach.com
ging Awareness and the current state of development, • MCDS with the System Peripheral Bus (SPB) and
see the article “API for VM Debugging Awareness” on the Local Memory Bus (LMB) for the TriCore from
page 6. Infineon
• RAM Trace Port for chips from Texas Instruments
• DMA and FlexRay trace for NEXUS Power Architec-
Energy Profiling ture

Energy measurement for embedded systems has b) Trace sources that generate trace information for
come more into focus with the increasing emphasis chip-internal IP (Intellectual Property), such as special
on global warming and “green” electronics systems. interrupt traces.
Every technical journal now contains many articles
on battery-driven equipment and low-power microcon- c) Trace sources that permit the output of software-
trollers. Prizes for innovation are increasingly being generated trace information, such as:
awarded for new technologies in this field.
• Instrumentation Trace Macrocell (ITM) for ARM
However, in the mobile phone market standby and CoreSight
operating times have always been an important topic. • System Trace Macrocell (STM) for ARM CoreSight
For years, extensive energy reduction measures have
been implemented in this area. But these measures The continuous development of the TRACE32 debug-
only make sense if the software that controls an em- ger ensures it is aware of these new trace sources and
bedded system consistently uses all the energy-saving can provide easy configuration and a comprehensive
features of the hardware. analysis of the information provided.

Since the beginning of 2006, Lauterbach tools have


supported measuring arrangements that allow the Serial Trace Ports
simple comparison and analysis of the interplay be-
tween software and power consumption in an embed- Due to the extra trace data provided by this visibility
ded system. This technology has also been available into the internal chip processes, complex multicore
for the TRACE32 CombiProbe since mid 2010. For chips and high-performance processors require more
more information on “Energy Profiling with the Combi- and more bandwidth and thus even faster trace ports.
Probe”, see page 11.
In response chip manufacturers have developed serial
trace ports as an important innovation in the last few
Multicore Debugging years. Hard-disk manufacturers, who have been using
serial interfaces for high-speed data exchange with
Although multicore chips have been used in embed- the PC for years, used this technology for the first time
ded systems for ten years and Lauterbach has had in 2008 to export trace information via ARM’s High
debuggers for them since 2001, this is still a highly dy- Speed Serial Trace Port (HSSTP). At the same time,
namic topic. The current calls for greater visibility into Lauterbach launched trace tools for this technology.
the internal system operation are ensuring the integra-
tion of new trace cells within the debug infrastructure In the meantime, there are other processor families
of the chips. with serial trace interfaces. For current developments
in this area, see the article “Serial Trace Port Usage
Originally, trace information was only generated for the Growing” on page 9.
individual cores, whereas today there are many other
trace sources:
Bigger Trace Memory
a) Trace sources that make transfers on chip-internal
buses visible: Fast trace interfaces with their high data rates inevita-
bly require more trace memory. Without this, it is im-
• ARM CoreSight with the AMBA AHB Trace Macro- possible to capture a sufficiently large program section
cell (HTM) for troubleshooting and the analysis of the time behav-
iour for an embedded system.

2 NEWS 2011 www.lauterbach.com


Trace-Based Debugging

Trace-based Debugging (also known as CTS =


Context Tracking System) allows re-debuggging
of a traced program section. TRACE32 makes
this possible as it can reconstruct the state
of the target system for each individual trace
record in its PowerView GUI. This reconstruction
includes the register and memory contents, vari-
able states, source and task listing, stack-frame,
and much more.

After choosing a starting point for Trace-based


Debugging, all of the debug commands can
be used. These commands are executed by
TRACE32 based upon the reconstruction from
the trace recording. Many users of Trace-based
Debugging appreciate the fact that they can also
step backwards or return to the function start.
Fig. 1: Even demanding 4-GB trace memory analysis for Trace-based
Debugging can be performed quickly.
Trace-based Debugging also provides a series of
However, providing more and more trace memory only other useful functions:
makes sense if the necessary infrastructure for fast
processing of the trace information is available. This • Trace display in high-level language with all
applies particularly to demanding trace analysis func- local variables
tions such as Trace-based Debugging (see Fig. 1). The • Runtime analyses and function call tree
increasing capacity of SDRAM chips, fast PCs, and GB • Reconstruction of the trace gaps that can occur
Ethernet interfaces enabled Lauterbach to launch the if more trace data is being generated than can
trace tool PowerTrace II with 4 GB memory in 2007. be exported via the trace port

In mid-2008, Lauterbach started developing a new www.lauterbach.com/cts.html


method of trace recording and analysis, Real-time
Streaming. This development was driven by custom-
ers’ demands for long-term code coverage analysis, Real-time Streaming) also for conventional tracing. For
for comprehensive system runtime analyses and for a details on the trace-data compression, see page 10.
much longer trace recording time to locate infrequent
errors.
Outlook
The new feature of Real-time Streaming is that the
trace data is transferred to the host while it is being In addition to the current trends, there are a large num-
recorded. The trace information is then analyzed on ber of new developments in debug technology. When
the host as soon as it is received. Optionally, the trace you browse through our 2011 newsletter, you will prob-
information can also be saved to the hard-disk while it ably discover one or two of these that might help with
is being analyzed. your project. We will be demonstrating several of them
live at the upcoming ESC Silicon Valley, May 2-5, in
Real-time Streaming works only if all processing steps San Jose, and also at many other shows in the US
for the trace data run at optimal speed. This applies to throughout the year.
transfer and analysis, as well as the systematic search
for trace information in a file saved to the hard-disk. Visit us: Booth # 1922

Conventional tracing also profits from many of the new


speed optimizations. For example, there are plans to
implement the trace-data compression (developed for

3
New Supported Processors

New derivatives Freescale LA-7753 (MPC55xx/56xx)


(Cont.) • MPC5602D / P
Actel LA-7844 (Cortex-M) • MPC564XA / B / C / S
• A2F060, A2F200, A2F500 • MPC567XF / R
AppliedMicro LA-7723 (PPC400) LA-7729 (PowerQUICC II)
• APM80186, APM821x1 • MPC830X
• APM86290 LA-7764 (PowerQUICC III)
LA-7752 (PPC44x) • P10xx, P20xx, P40xx
• PPC460SX • P3041 (2H/2011)
• P5010, P5020 (2H/2011)
ARM LA-7843 (Cortex-A/R)
• Cortex-A15 Fujitsu LA-7844 (Cortex-M)
• Cortex-A15 MPCore • FM3
LA-7844 (Cortex-M) Infineon LA-7756 (TriCore)
• Cortex-M4 • TC1182, TC1184
• SC000, SC300 • TC1782, TC1782ED
• TC1784, TC1784ED
Atmel LA-7844 (Cortex-M) • TC1791, TC1791ED
• AT91SAM3S, AT91SAM3N • TC1793, TC1793ED
LA-3779 (AVR32) • TC1798, TC1798ED
• AT32UC3A / B / C / D / L
LA-7759 (XC2000/C166S V2)
Broadcom LA-7760 (MIPS32) • XC22xxH / I / L / U
• BCM3549 / 35230 / 4748 • XC23xxC / D / E / S
• BCM5354 / 5358  / 5331X  • XC27x2 / x3 / x7 / x8
• BCM6816 / 6328 / 6369 • XE16xFH / FU / FL
• BCM7407 / 7413 / 7420
Intel® LA-3776 (Atom™/x86)
Cavium LA-7761 (MIPS64) • E6xx, Z6xx, N470
• CN63XX • Core i3 / i5 / i7, Core2 Duo
Ceva LA-3711 (CEVA-X) Lantiq LA-7760 (MIPS32)
• CEVA-X1643, CEVA-XC • XWAY xRX200
Cortus LA-3778 (APS) LSI LA-7765 (ARM11)
• APS3 / B / BS / S • StarPro2612, StarPro2716
LA-7845 (StarCore)
Cypress LA-7844 (Cortex-M)
• StarPro2612, StarPro2716
• PSoC5
Marvell LA-7742 (ARM9)
Faraday LA-7742 (ARM9)
• 88F6282, 88F6283, 88F6321
• FA726TE
• 88F6322, 88F6323
Freescale LA-7736 (MCS12X) LA-7765 (ARM11)
• MCS9S12GC / GN / Q • 88AP510-V6
LA-7732 (ColdFire) LA-7843 (Cortex-A/R)
• MCF5301x, MCF5441x • 88AP510-V7
LA-7845 (StarCore)
• MSC8156 MIPS LA-7760 (MIPS32)
• MIPS M14K, MIPS M14KC
LA-7742 (ARM9)
• i.MX28 Netlogic LA-7761 (MIPS64)
LA-7843 (Cortex-A/R) • XLR, XLS
• i.MX53 NXP LA-7844 (Cortex-M)
LA-7844 (Cortex-M) • LPC11xx
• Kinetis • EM773

4 NEWS 2011 www.lauterbach.com


New derivatives Texas Instruments LA-3713 (MSP430)
• MSP430xG461x
Ralink LA-7760 (MIPS32) • MSP430x20x1 / x2 / x3
• RT3052, RT3662 LA-7742 (ARM9)
• AM1707 / 1808 / 1810
Renesas LA-3777 (78K0R / RL78)
• 78K0R / Hx3 / Lx3 / Ix3 LA-7843 (Cortex-A/R)
• 78F804x, 78F805x • OMAP36xx
• RL78 / G12, RL78 / G13 LA-7838 (TMS320C6x00)
LA-3786 (RX) • OMAP36xx
• RX610 / 6108 / 621 / 62N / 630 Toshiba LA-7742 (ARM9)
STMicro- LA-7753 (MPC55xx/56xx) • TMPA900, TMPA910
electronics • SPC560D/P, SPC56APxx LA-7844 (Cortex-M)
• SPC564Axx, SPC56ELxx • TMPM330, TMPM370
LA-7844 (Cortex-M) Trident LA-7760 (MIPS32)
• STM32F100, STM32L15x • HiDTV PRO-QX
ST-Ericsson LA-7843 (Cortex-A/R) Wintegra LA-7760 (MIPS32)
• DB5500, DB8500 • WinPath3, WinPath3-SL
Tensilica LA-3760 (Xtensa) Zoran LA-7760 (MIPS32)
• LX3 • COACH 12

Tracing for Virtual Targets in Fast Models


Lauterbach has supported tracing for ARM Fast els of the hardware are often used. With Fast Models,
Models since November 2010. ARM offers its customers a software package for pro-
gramming models for ARM-based designs.
To avoid having to wait for the first hardware prototypes
before starting software development, software mod- Since 2008, Lauterbach has supported the debugging
of Fast Models over the CADI interface. It has now in-
troduced support for the Model Trace Interface, which
was introduced for Fast Models with Version 5.1. To pre-
pare the trace information appropriately and buffer it in
the virtual target, debug-
ger manufacturers can
load a separate trace
plug-in. Fig. 2 shows an
overview of the interplay
of TRACE32 and Fast
Models.

For detailed information


on debugging virtual tar-
gets, see:

www.lauterbach.com/
frontend.html

Fig. 2: TRACE32 supports the debugging and tracing of virtual targets.

5
API for VM Debugging Awareness
Since 2006, Lauterbach has supported the debug- • VM applications and their supporting Application
ging of Java applications for the Java Virtual Ma- Framework are programmed in Java.
chines J2ME CLDC, J2ME CDC and Kaffe. Since
virtual machines are increasing in popularity, the Each block of code is tested in its own separate debug
number of providers is growing. Nowadays not all world.
of these virtual machines are open-source. To en-
able VM providers and their customers to adapt
debugging flexibly for their VM, Lauterbach has Debugging C / C++ and Assembler Code
been working on a solution since mid-2010.
The Android part coded in C / C++ and Assembler can
The Android Dalvik Virtual Machine implemented for be debugged on the target hardware over the JTAG
ARM cores is used as a reference for the development interface in stop-mode. In stop-mode debugging, the
of a VM API for stop-mode debugging. TRACE32 debugger communicates directly with the
processor of the Android hardware platform (see
Fig. 4).
Two Debug Worlds
For developers, Android is an open-source software
stack consisting of the following components (see
Fig. 3):

• A Linux kernel with its hardware drivers.


• Android Runtime with Dalvik Virtual Machine and
a series of libraries: classic Java core libraries,
Android-specific libraries, and libraries written in
C / C++.
• Applications programmed in Java and their support-
ing Application Framework.

Software for Android is written in various languages:

• The Linux kernel, some libraries, and the Dalvik


Virtual Machine are coded in C, C++, or Assembler.
Fig. 4: In stop-mode debugging, the debugger communicates directly with
the processor on the Android hardware platform.

A characteristic of stop-mode debugging is that when


the processor is stopped for debugging, the whole
Android system stops.

Stop-mode debugging has some big advantages:

• It needs only a functioning JTAG communication be-


tween the debugger and the processor.
• It needs no debug server on the target and is there-
fore very suitable for testing release software.
• It permits testing under real-time conditions and
therefore enables efficient troubleshooting for prob-
lems that only occur in such conditions.
Fig. 3: The open-source Android software stack.

6 NEWS 2011 www.lauterbach.com


At present, stop-mode debugging does not support adding VM debugging awareness to its stop-mode
the debugging of VM applications such as on the debugging.
Dalvik VM. Therefore transparent debugging through
all of the software layers is not yet possible. The JTAG debugger communicates directly with the
processor on the Android hardware platform. The
debugger can therefore access all system information
Debugging Java Code after the processor stops. The “fine art” for the debug-
ger is now to find the correct information and make it
Java code for Android is usually tested with the easy to understand for the user, abstracted from bits
Android Development Tools (ADT) integrated into and bytes.
Eclipse. The adb server – adb stands for Android De-
bug Bridge – on the host communicates over USB or One abstraction level has given TRACE32 users the
Ethernet with the adb daemon on the target (Fig. 5). option of debugging operating system software even
over several virtual address spaces. Another abstrac-
tion level, up to now independent of operating-system
debugging, is Java debugging.

To debug applications running on VMs in systems


like Android, where the VMs themselves are instanti-
ated within the operating-system processes, operating-
system debugging and Java debugging now have to be
combined. To implement this new complexity, Lauter-
bach is developing a new, open, and easy-to-expand
solution.

The Open Solution

Fig. 5: The Android Development Tools (ADT) integrated in Eclipse for In the future, stop-mode debugging from Lauterbach
debugging Java code. will support the following abstraction levels:

Prerequisites for debugging with ADT are VM appli- • High-level language debugging
cations specially compiled for debugging and Android • Target OS debugging awareness
debug support (adb daemon) running on the hardware • VM debugging awareness
platform.
High-level language debugging is a fixed compo-
Debugging Java code with ADT is comfortable. How- nent of the TRACE32 software and is configured for
ever, there are a few cases in which ADT cannot help a program with the loading of the symbol and debug
you. These are: information.

• Errors that first occur with the release code.


• Errors that first occur when the Java application
Dalvik Virtual Machine
interacts with a service offered in C / C++ or a Linux
hardware driver. Dalvik is the name of the virtual machine used in
• Debugging following a communication breakdown Android. The Dalvik Virtual Machine is a software
between adb server and adb daemon. model of a processor that executes byte code
derived from Java. Virtual machines permit the
writing of processor-independent software. If you
VM Aware Stop-Mode Debugging switch to a new hardware platform, you only have
to port the virtual machine.
To enable thorough testing of an Android system from
the Java application down to the Linux hardware driver Software compiled for a VM runs automatically
under real-time conditions, Lauterbach is currently on any platform to which this VM is ported.

7
The Reference Implementation
To be able to debug thoroughly on an ARM-based
Android target from the Java applications right down
to the Linux hardware drivers, TRACE32 requires the
following extensions (see Fig. 6):

• A Linux OS-awareness as provided by Lauterbach


since 1998.
• A Dalvik VM-awareness, which can be downloaded
from the Lauterbach homepage. This just has to be
configured for the platform used.

www.lauterbach.com/vmandroid.html

It is now possible to identify and list all Java applica-


tions now being run (EXTension.VMList in Fig. 6) and
to analyze and view the VM stack for a selected Java
application (EXTension.VMView in Fig. 6).
Fig. 6: For the reference implementation, Linux OS-awareness and Dalvik
VM-awareness have to be loaded in TRACE32. The next step planned is to display the source code
currently being run by the VM. The aim of the develop-
Target-OS debugging awareness must always be ment is of course stop-mode debugging for VM appli-
configured by the TRACE32 user. There are example cations with all the functions of a modern debugger.
configurations available for all common operating sys-
tems. The RTOS API provides an option to be custom-
ized for proprietary operating systems.
New Supported RTOS
VM debugging awareness is a fixed component of the DSP / BIOS for ARM Q2/2011
TRACE32 software for J2ME CLDC, J2ME CDC and
Kaffe. All other virtual machines have to be adapted OSEK / ORTI SMP Q2/2011
individually with the VM API. A ready-to-use configu-
ration is available for the very popular Android Dalvik T-Kernel for ARM available
VM.
Windows Embedded Compact 7
The open solution, both for the operating system and available
for ARM
for the virtual machine, enables providers of closed-
source VMs to write a TRACE32 VM awareness for mC / OS-III for ARM available
their product and offer it to their customers.

Extensions and New RTOS Versions


• TRACE32 scripts were adapted for Timesys embed- The following version adaptations have been made or
ded Linux. are planned:

• OSEK / ORTI now ensures that NEXUS ownership • OSEck 4.0


trace messages are generated for task changes. • QNX 6.5.0
This enables TRACE32 to make task-aware run- • Symbian^3 for ARM
time measurements for the MPC55xx / MPC56xx, • Symbian^4 planned for Q1/2011
even if NEXUS generates no data trace messages. • Windows CE6 for Atom™

8 NEWS 2011 www.lauterbach.com


Serial Trace Port Usage Growing
Faster, higher, stronger! Not only is this the motto of
many sports – it has even been raised to a core princi-
ple in microelectronics. Ever faster clock speeds and a
greater parallelization of processing steps have given
us an astonishingly constant increase in processing
speed for decades. It is no wonder that designers have
also followed this motto for the transmission of trace
information.

The trace interface, over which the processors deliver


the detailed information on the operation of their inner
processes, has struggled to keep up with the growing
flood of information. For many developers of embed-
ded systems it would be unthinkable to undertake a
development without this important information, so all Fig. 7: Following firmware and software adaptations, a universal hardware
sorts of efforts have been made to increase the data supports the most varied protocols of serial trace interfaces.
throughput of the trace interface. For many years the
increase in clock frequency and a greater bus-width was quickly followed by AMCC with the Titan, Free-
at the trace port were an effective way of increasing scale with the QorIQ processors P4040 and P4080, as
data volumes. well as Marvell with the SETM3.

However, these measures have their price. Not only Lauterbach had designed a hardware interface for the
does a wider trace port take up highly coveted package serial trace in 2008. A universal preprocessor was
pins but poor signal quality at higher clock frequencies developed on the basis of the Aurora protocol. Only
requires compensation on all signals from the trace the firmware and software have to be changed to
bus. Thanks to the sophisticated algorithms of its Auto- record any of the alternative protocols. This means
Focus technology, Lauterbach is able to ensure error- that our system is already prepared for further variants
free recording of high-frequency trace signals. of serial trace protocols.

As processor architectures continue to gain in speed


and complexity through parallelization, the trace in- Supported Serial Trace Ports
terfaces are starting to use a high-speed data trans-
AMCC APM83290 2009
fer method that has been in use in other areas for a
long time. A high-speed serial transmission is used Program flow
in SATA, Fibre Channel, PCI Express, and USB3.0
ARM-HSSTP ETMv3, PTM, 2008
(SuperSpeed USB). The extremely high data rates
CoreSight ETMv3,
more than compensate for the disadvantage of only a
CoreSight PTM
few differential data lines.
Program flow,
The integration of high-speed serial interfaces on the Data flow and Context-ID
chip is expensive and can initially cause problems. As Freescale NEXUS QorIQ 2010
just one example, the I/O pads have to be operated at P4040 and P4080
a much higher speed. But with the increasing experi-
Branch Trace and Owner-
ence in the implementation of serial interfaces in the
ship Trace Messages,
gigahertz range the knowledge gained can be used
Data Write Messages
to solve many of the problems arising with the serial
trace ports. Marvell-SETM3 CoreSight ETMv3 2009
Program flow,
In 2008, ARM implemented this technology with its
Data flow and Context-ID
High Speed Serial Trace Port – HSSTP for short. This

9
Higher Transmission Rate for Real-Time Streaming
“Real-time Streaming” means transferring trace trace information is exported. To get a very accurate
data to the host whilst it is being recorded and ana- run-time measurement, cycle-accurate tracing can
lyzing it there immediately. This requires the trans- be enabled.
mission of large volumes of data from the trace
tool to the host, especially for CPU-intensive appli- 2. For a realistic estimate of the necessary data rate,
cations and multicore systems. To make TRACE32 you just have to consider the average load at the
fit for these application scenarios, the trace data trace port. Peak loads at the trace port are intercept-
is compressed by the trace tool, PowerTrace II, be- ed by PowerTrace II, which can be considered as a
fore being transferred to the host. This feature has large FIFO (up to 4 GB). Fig. 8 shows an overview
been supported by the TRACE32 software since of the average / maximum load at the trace port for
December 2010. Cortex cores. The application running on the Cortex
core ultimately determines the actual load.
Real-time Streaming is currently implemented for the
ARM trace protocols ETMv3 and PTM. By implementing FPGA-based hardware compression
in PowerTrace II, the transmission rate to the host was
raised to 3.2 GBit/s.
Hardware Compression
The maximum transmission rate to the host is still the Pure Long-Time Trace
bottle-neck for Real-time Streaming. Even with a peer-
to-peer GB Ethernet interface between the trace tool If trace data is analyzed and also saved to the hard-
and the host, the maximum is currently only about disk during Real-time Streaming, Lauterbach consid-
500 MBit/s net. This maximum transmission rate has ers this a Long-time Trace.
to be sufficient to transfer all data at the trace port
without loss to the host. To provide long-time tracing for other trace protocols
such as Nexus, Lauterbach is now offering pure stream-
To be able to estimate the actual data volume to be ing onto the hard-disk without simultaneous analysis.
transmitted, it is important to know the conditions of This means that trace recording of up to 1 tera-frames
Real-time Streaming: is possible for a 64-bit host operating system.

1. The main applications for Real-time Streaming are For detailed information on Real-time Streaming and
code coverage and run-time measurements. For Long-time Trace, go to the Lauterbach homepage at:
both functions, it is sufficient if only the program www.lauterbach.com/tracesinks.html

Fig. 8: A transmission rate of 3.2 GBit/s is usually enough to transfer program trace information to the host while it is being recorded.

10 NEWS 2011 www.lauterbach.com


Energy Profiling with the CombiProbe
The TRACE32 CombiProbe can now also be used
for measuring the energy used by applications.

The following analyses are possible:

• The current/voltage profile at up to three measure-


ment points can be displayed directly linked to the
code running on the processor.

• The energy consumption of the entire system can


be analysed for the individual functions.

Which part of a program uses the most energy? What


influence does a program modification have on the
energy requirements of an embedded system? These
are the questions that can now be dealt with by the
CombiProbe.

To determine the energy consumption for every point


of the program, the following measurement data has
to be collected:

• The program flow being exported via the trace port


of the processor.

• The current and voltage profile measured at suitable Fig. 9: A program section not running from the cache needs more time and
measurement points on the target hardware. uses more current.

The current and voltage development for up to three Since all measurement data is time-stamped by the
power domains can now be identified by connecting a global timer of the CombiProbe, you can quickly and
TRACE32 Analog Probe to the CombiProbe. easily see the direct connection between executed
program code and the power consumption as well as
the voltage profile of the system.

CombiProbe Fig. 9 shows that a program section running from


external memory instead of cache not only needs
much more processing time but also uses more power
The CombiProbe is a debug cable that also con- at the external memory.
tains a 128 MB trace memory. The CombiProbe
was specially developed for processors with a Fig. 10 shows the energy consumption as a statistical
4-bit trace port. Program flow recording is cur- analysis.
rently supported for the following trace proto-
cols:

• ARM-ETMv3 in continuous mode (ARM)


• IFLOW Trace for PIC32 (Microchip)
• MCDS Trace for X-GOLD102 and X-GOLD110
(Infineon)

www.lauterbach.com/cobstm.html

Fig. 10: The minimum, maximum, and average energy consumption of


individual functions.

11
SMP Profiling

Sample-Based Profiling
For Sample-based Profiling, the program counter
or the variable containing the ID of the current
task is periodically read. On the basis of this infor-
mation, the ratio of a function or task compared to
the overall run-time is shown as a percentage.

Symmetrical Multiprocessing (SMP)


Fig. 11: Sample-based profiling shows the ratio of individual code sections A multicore chip consisting of identical cores can
compared to the overall run-time as a percentage. The result can
be displayed both for the individual cores of the SMP system (here be configured as an SMP system. An SMP op-
for core 1) as well as for the total of all cores. erating system distributes the pending processes
(tasks) dynamically to individual cores at program
Sample-based profiling was completely reworked in run-time (but not before). For debugging SMP
2010. Important innovations include a new operating systems, a single TRACE32 instance is opened
concept for measuring, a self-calibrating sampling rate from which all cores are monitored.
and an extension for SMP systems.

• MIPS32: MIPS34K, MIPS1004K


SMP Profiling for Functions • MIPS64: Broadcom BCM7420

From October 2010, profiling data for SMP systems If the chip’s debug logic does not permit non-intrusive
can now be collected. To create function level profiling, reading of this information, the individual cores will
TRACE32 cyclically reads the program counters of the have to be briefly stopped periodically to obtain this
individual cores and saves them in a database. The information.
profiling can then be shown for the individual cores
and also as a total for all cores.
SMP Profiling for Tasks
Since many chips provide the capability of reading the
program counter whilst the processor is executing, this To create a task profile, the task ID for the individual
measurement can be made in real-time for the follow- cores has to be read cyclically from the memory. Many
ing architectures: chips allow the physical memory to be read at program
run-time. If the on-chip debug logic supports this fea-
• ARM / Cortex: ARM11 MPCore, Cortex-A5 ture, the measurement can be made in real-time:
MPCore, Cortex-A9 MPCore, Cortex-A15 MPCore
• ARM / Cortex: ARM11 MPCore, Cortex-A5
MPCore, Cortex-A9 MPCore, Cortex-A15 MPCore
WORLDWIDE BRANCHES • Power Architecture: MPC8641D, MPC8572, QorIQ

Otherwise, the individual cores have to be briefly


• USA stopped to read the data required.
• Germany
• France
KEEP US INFORMED
• UK
• Italy
If your address has changed or if you no longer
• China
want to be on our mailing list, please send us an
• Japan
e-mail to info_us@lauterbach.com.
Represented by experienced
partners in all other countries

12 www.lauterbach.com