Sei sulla pagina 1di 50

os 2

{1

book # Dicembre 2012

Reti Wireless:
concetti avanzati
Oscilloscopio
digitale
Open Source
Costruiamo uno
Switch USB
con funzione
di autoswitch

Embedded GNU/Linux
partendo da zero:
E inoltre:
integrazione e test
C o r s o d i M i c r o p r o g r a mm a z i o n e I s e g r e t i d i M o u n ta i n L i o n
C o m e c r e a r e pa g i n e T e l e t e x t I d i e l e t t r i c i l o w - k
2}

Costruiamo uno Switch


USB con funzione
di autoswitch diPiero Boccadoro
4 Dicembre 2012

Avete mai notato quanto spazio occupa una


tastiera? Non molto in realt, ma se avete due
computer da controllare pu essere piuttosto
scomodo avere una coppia di mouse ed altrettante tastiere, con annessi cavi che corrono da
tutte le parti, e troppo poco spazio per poggiare anche solo un foglio. Quello di cui parliamo un
metodo, piuttosto avanzato, per mettere ordine sulla vostra scrivania. La dimostrazione, se vole-
te, che progettare significa trasformare una esigenza giornaliera in un circuito elettronico. Eccovi
unidea per uno switch USB con autoswitching.

Q
uesto progetto nasce dallesigenza di riu- cose, rende (nella mia personale esperienza) ne-
scire a gestire due computer, un portatile cessario utilizzare un mouse trackball, dispositivo
ed un desktop, fisicamente posiziona- certamente poco integrabile in un portatile ma
ti sulla stessa scrivania, utilizzando meno spazio molto consigliato dal punto di vista igienico.
possibile. I due condividevano gi il monitor, tra- Peraltro loccupazione di spazio sulla scrivania era
mite due collegamenti dei quali uno VGA men- largamente inefficiente perch lutilizzo di un com-
tre laltro DMI. Ho scoperto, mio malgrado, che puter preclude quello dellaltro; quindi, di fatto, le
laccoppiata mouse e tastiera, ancorch senza fili, due coppie di mouse e tastiera non vengono mai
possono davvero occupare molto spazio ma aver- utilizzate contemporaneamente.
ne addirittura due cominciava a diventare un po Da qui lidea: perch non creare uno SWITCH USB
troppo. a cui collegare almeno la tastiera facendo in modo
Daltronde, il portatile una tastiera ce lha gi in- che sia possibile collegarla al computer attivo in
corporata ed il mouse non sarebbe indispensabile, quello specifico momento? Questa idea, chiaro,
se non fosse che utilizzare il computer per tante si pu applicare ad altri casi, ma lo vedremo poi in
ore al giorno, magari per progettare, tra le altre seguito.
Costruiamo uno Switch USB con funzione di autoswitch {3

Definizione delle specifiche solo alcune delle pi importanti, ad esempio:


Nel ragionare su che cosa dovesse essere capace la descrizione dei pin ed annessa funzione
di fare, la prima cosa che mi venuta in mente,
come detto in precedenza, era la possibilit di com-
mutare, per cui solo uno per volta dei due percorsi
possibili doveva essere abilitato. la tabella della verit, grazie alla quale il fun-
In secondo luogo, una funzione pi avanzata, poteva zionamento resta univocamente definito
essere lauto rilevamento del percorso conduttivo
da abilitare. Per farlo ho immaginato che bastasse
rilevare il livello di tensione presente sulla linea V+
delle porte USB e commutare abilitando solo quella il diagramma a blocchi:
attiva. Dopo aver fatto qualche ricerca, ho trovato un
integrato della Texas Instruments, il TS3USB221, ed
allora il progetto ha cominciato a prendere vita.
Lintegrato che ho scelto

TS3USB211E
caratteristiche principali In questo schema in particolare c esattamente la
Tensione VCC da 2.5 V a 3.3 V risposta alla domanda iniziale. Le linee di enable e
Switch di segnali I/O fino a 5.5 V di controllo permettono loperazione di commuta-
Pin di controllo compatibile con 1.8 V zione tra un canale e laltro.
Basso consumo di potenza quando OE Riportiamo, in ultimo, il diagramma ad occhio per
disabilitato (limitato ad 1 A)
le prestazioni dello switch; questo, nello specifico,
rON = 6 (max)
riferito al caso di segnale USB 480 Mbps con
rON = 0.2 (tipico)
Cio(on) = 7 pF (max) switch su percorso 2D.
Basso consumo di potenza (30 A max)
Temperature di esercizio: da -40 C a 85 C
Ampia banda passante (1 GHz, tipico)

Il Pin-out dellintegrato 10SON, 10UQFN e le sue


dimensioni sono piuttosto contenute, trattandosi
di componente di tipo DRC quadrato da appena 3
mm di lato. Sul datasheet del componente sono di-
sponibili moltissime informazioni che spiegano per
esteso le funzionalit dellintegrato. Qui riportiamo
4}

TS3USB221EVM
Una delle principali difficolt in questo progetto
era, chiaramente, il montaggio. Come detto nel
paragrafo precedente, lintegrato di dimensio-
ni estremamente contenute, il che rende assolu-
tamente impossibile la prototipazione in casa.
Fortunatamente ho trovato la soluzione: mi sono
dovuto accontentare di acquistare una scheda di
valutazione, il cui nome completo TS3USB221/
A/E High Speed USB 2.0 (480 Mbps) 1:2 Mul-
tiplexer/Demultiplexer Switch Evaluation Mo-
dule, che trovate disponibile presso i pi forniti
rivenditori on-line.
E cos, dopo aver aspettato i necessari tempi di
Il contenuto della box
consegna, eccola qui:
rantire che non ci siano interferenze.
Sul sito della Texas Instruments disponibile la do-
cumentazione della scheda in oggetto, che potete
trovare qui.
Tra le particolarit della scheda in questione c
il fatto di essere stata progettata specificatamen-
Nellultima immagine in basso a destra si vede te per supportare il protocollo di comunicazione
chiaramente come la scheda risulti isolata. Si trat- USB versione 2.0, quindi stiamo parlando di una
ta di una board multilayer; limportanza del buon versione pi performante di quanto non lo fos-
isolamento deriva dal fatto che il circuito lavora sia se lapplicazione per la quale iniziata la ricerca.
con segnali DC sia dati, per cui importante ga- Daltronde questo rende la scheda ancora pi

La board: fronte retro isolamento


Costruiamo uno Switch USB con funzione di autoswitch {5
utile per effettuare valutazioni di prestazioni anche
con dispositivi che, viceversa, di tali velocit han-
no bisogno, pensiamo ad unit di archiviazione di
massa.
Il supporto alla comunicazione bidirezionale, quindi
possibile utilizzarla sia per dispositivi di solo input
sia per effettuare anche scrittura su dispositivo, ad Circuito J8
esempio collegando proprio un disco rigido. -> USB tipo B maschio.
Viene alimentata, ovviamente, grazie ai 5V gi pre- Inoltre, occorrono due cavi USB tipo A/A, M/M.
senti nellUSB stesso. Perch tutto funzioni, necessario abilitare la se-
zione 3.3 V-LDO aprendo il connettore J8 (il cui
circuito di riferimento riportato nella figura in
alto).
Rimuovendo, infatti, questo jumper si abiter
lerogazione della tensione Vcc=3.3V per il TS3U-
SB211, necessaria per il funzionamento.
In pochi semplici passi, ecco quello che neces-
sario fare:
connettere la tastiera alladattatore e questo al
connettore J3;
Diagramma a blocchi della scheda rimuovere il jumper J8;
Poich essa ha uno scopo illustrativo, la Texas ha abilitare lintegrato cortocircuitando il connet-
previsto due canali di comunicazione: il primo, par- tore J7;
tendo dal connettore J1 verso J2, mentre il se- utilizzare J4 e J5 come sopra;
condo, sul quale effettivamente opera lo switch, selezionare luscita corretta.
tra la sorgente connessa a J3, e le periferiche di Se per effettuare la connessione J1-J2 non c
uscita, che vengono collegate su J4 e J5. alcuna necessit di configurare i jumper, visto
Nel nostro caso, la tastiera (o chi per essa) sar che questo solo un percorso di test per veri-
collegata a J3 mentre i due computer a J4 e J5. ficare la comunicazione tra i dispositivi; quando,
Ma prima di continuare importante specificare invece, lo switch deve essere chiamato in cau-
cosaltro serve rispetto alla semplice scheda. sa c da configurare opportunamente i jumper
Considerato che una tastiera (ma non solo), di soli- come segue: il percorso J3-J4 abilitato se J6
to, ha un connettore USB di tipo A maschio, occor- corto circuitato mentre il percorso J3-J5 attivo
rer un adattatore che sia USB tipo A femmina quando J6 aperto.
6} Costruiamo uno Switch USB con funzione di autoswitch

Resta da vedere come fare


per realizzare la funzio-
ne di autoswitching.
Visto che le piste son re-
alizzate in questo modo
un po difficile metterci
le mani quindi, neces-
sario utilizzare un transi-
stor (magari un BC237,
tanto per fare un nome)
da connettere alla V+ di
J4. Tramite una resisten-
za, magari da 4 kOhm
Schema di collegamento (nellesempio da 10 k),
realizzato sulla scheda pilotare il transistor e
La prova connettere il collettore a J6 (pin 1) e lemetti-
Poich pi critica della mia applicazione specifica, tore a massa.
probabilmente utile verificare la bidirezionalit del- La configurazione chiaramente quella ad
la comunicazione; ecco come funziona la comuni- emettitore comune ed in questo modo la tensio-
cazione utilizzando un hard disk con USB 2.0. ne di controllo sar proprio quella che accende
o meno il transistor.
Se non si effettuano altre modifiche, il circuito
Connessione J1-J2
funzioner alimentando J4 quando il transistor
sar polarizzato mentre di default alimenter
J5, ovvero il canale 2 (perch J6 sar sempre
open).
Unaltra possibilit per realizzare la funzione di
Hard disk connesso auto-switching quella di utilizzare le porte lo-
al canale 1, configurato giche, sintetizzando una funzione che utilizzi V+
del canale 1 e V+ del canale 2 come variabili
di ingresso e che abbia come uscita la variabile

Hard disk connesso percorso conduttivo da alimentare.


al canale 2, configurato Tuttavia, in effetti, questa strada risulta un po
pi tortuosa.
Costruiamo uno Switch USB con funzione di autoswitch {7

Configurazione
auto-switching
In conclusione
Beh, direi che ho certamente trovato lintegrato
sul quale puntare per progettare il mio SWITCH
USB. E dico che questo solo un punto di parten-
za perch nel progetto che ho in mente, e quindi
nella board che voglio realizzare, la funzione di
autoswitch dovr necessariamente esserci ed
essere integrata.
Inoltre, si pu sempre pensare che sia la cop-
pia mouse e tastiera a subire lo switching, non
vi pare? Cos come, cambiando integrato, perch
non progettare un switch USB + Video?
E voi, cosa ne pensate? Come lo avreste im-
plementato? Che funzioni trovereste utile ag-
giungere?

Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/costruiamo-switch-usb-con-funzione-di-autoswitch
8}

Come creare
pagine Teletext diGiovanni Di Maria
6 Dicembre 2012

In questo articolo scopriremo come creare le pagine in Teletext, famose in tutto il mondo per il loro
contenuto di messaggi e informazioni sui nostri televisori. In Italia le applicazioni principali sono il
Televideo e Mediavideo.

I
l Teletext il nome del servizio tecnico di tra- Il Teletext, visto dal lato del trasmittente, un
smissione di informazioni che possono essere insieme di pagine, identificato da un numero a tre
visualizzate sullo schermo televisivo, sottofor- cifre, ed eventualmente da un numero di sottopa-
ma di semplici pagine di testo e grafica ridotta gina. La pagina che si vede in TV non ha un conte-
allosso. In Italia, come detto prima, lutente televi- nuto grafico, infatti essa composta da un insieme
sivo pu usufruire di utili informazioni dal Televideo di caratteri alfanumerici e semi-grafici. Larea di
(per la RAI), Mediavideo (per Mediaset), La7video schermo indirizzabile piuttosto limitata , infatti
(per La7), eccetera. essa composta da sole 24 linee e 40 colonne.
Se la ricerca, o meglio, la navigazione attraverso le Uno spazio molto esiguo dove i grafici devono fare
pagine di Teletext estremamente semplice, non i salti mortali per poter inserire quante pi informa-
lo la relativa creazione, ossia la preparazione ed zioni possibili, rimanendo nelleleganza e nel buon
il disegno delle singole pagine. gusto. Unimpresa davvero difficile.
Come creare pagine Teletext {9
Le pagine sono trasmesse continuamente, nasco- Scrivere i contenuti davvero semplice. Come
ste nel segnale televisivo, quando il pennello elet- una piccola videoscrittura sufficiente infatti re-
tronico effettua il ritorno di quadro. digere una sorta di piccolo documento, ricordando
Come per tutte le rappresentazioni finali, anche in tuttavia che il sistema non ha strumenti di mar-
questo caso esistono molti software e programmi ginazione, centratura e formattazione di ogni tipo.
idonei a creare e modificare le pagine del Teletext. Occorre lavorare a mano, ma con la pratica tutto
Alcuni sono gratuiti ed altri a pagamento. Tuttavia, diventer molto semplice.
in rete, oggi alquanto difficile reperire tale tipolo- Ma il vero segreto del Teletext costituito dai ca-
gia di applicazioni, vuoi per il target molto ristretto ratteri di controllo. Si tratta di speciali caratteri,
di utenti, vuoi per la tecnologia che molto avanti non visibili in fase di anteprima o trasmissione del-
rispetto al vetusto sistema testuale. la pagina, che dnno le direttive di visualizzazione
Uno dei pi versatili e potenti, nonch gratuito, allinterprete grafico. Con essi possibile infat-
il programma CebraText. Cercandolo in rete con ti colorare il testo, colorare lo sfondo, disegnare
un motore di ricerca si trova subito lelenco dei siti pixel semigrafici, far lampeggiare un messaggio,
che lo ospitano. Il download immediato in quanto raddoppiare le dimensioni di un testo, ecc.Per ot-
le sue dimensioni sono minime. Non necessario tenere il massimo infatti altamente consigliato
nemmeno eseguire una installazione: sufficiente lavorare in modalit raw e tenere costantemente
infatti scompattare larchivio zippato in una cartel- sottocontrollo tali codici. Sono in questa maniera il
la ed eseguire lunico file EXE disponibile. Appare lavoro reso pi semplice e chiaro.
una videata che mostra lambiente grafico (si fa La visualizzazione di una pagina molto differente
per dire...) accompagnato da una piccola toolbar. nel caso si scelga di visualizzare tali codici o meno.
Al principiante labilitazione di tali codici
potrebbe addirittura costituire un distur-
bo, ma col tempo se ne gusteranno tutti
gli aspetti positivi.
Per approntare una pagina, come detto,
occorre fornire la giusta sequenza di ca-
ratteri di controllo. Se ne potrebbe fare a
meno, ma in questo caso il prodotto de-
finitivo sarebbe costituito da una sterile
pagina nera con testo di colore bianco,
nulla di pi.
Per esempio, un testo giallo lampeggian-
te su uno sfondo blu, dovrebbe essere
10 } Come creare pagine Teletext

costituito dai seguenti pseudo-comandi: Sono infatti la fantasia ed il buon gusto a far sempre
Comando di grafica blu; da padroni. Il programma CebraText, fortunatamen-
Comando di attivazione background; te, dispone di alcuni strumenti che automatizzano
Comando di testo giallo; alcune operazioni di tracciamento primitive 2D,
Comando di lampeggiamento; come ad esempio il cerchio ed il rettangolo oppure
Scrittura del testo; una linea o addirittura un singolo punto. In questa
Comando di fine del background. maniera anche questa operazione, manualmente
Per gli altri elementi di sfondo si eseguono le stes- complessa, resa alquanto semplice. Per il dise-
se procedure. Sembra difficile ma in realt sem- gno delle figure sempre obbligatorio abilitare il
plicissimo. Basta fare pratica per alcuni minuti, colore grafico ed, eventualmente, uno sfondo.
magari cercando di emulare le belle
pagine presenti su Televideo o Me-
diavideo. Tempo fa, queste ed altre
aziende, reclutavano grafici proprio
per la creazione di pagine del Tele-
text, per le quali era stato coniato il
termine Teletext Art, proprio per
far comprendere come la creazione
di belle pagine grafiche, con poche
risorse, potesse costituire a tutti gli
effetti una vera e propria arte.
Con questa tecnica possibile disegnare anche
raffigurazioni complesse, come volti umani, au-
tomobili o qualsiasi altro oggetto o animale rap-
presentabile. Tale operazione risulterebbe per di
una difficolt inaudita: solo i bravissimi disegnatori
potrebbero infatti ottenere qualche risultato utile.
Un bel disegno infatti difficilmente potrebbe essere
creato semplicemente accendendo e spegnendo
Il Teletext supporta anche la grafica: una misera dei pixel.
grafica in cui ogni locazione pu ospitare 6 pixel, Anche in questo caso il programma CebraText vie-
combinati in due colonne per tre righe. Con la ne molto daiuto e mette a disposizione di un po-
combinazione opportuna di punti colorati accesi e tente strumento di copia e incolla grafico. Lutente
spenti, possibile approntare dellottima grafica. pu visualizzare il suo disegno o la sua foto con
Come creare pagine Teletext { 11
che contiene la codifica ed il protocollo per la
sua gestione. Aprendo il documento con un
qualsiasi editor, si potranno osservare i carat-
teri (a volte in una codifica incomprensibile) che
formano lintero risultato finale.
Per la variet di programmi esistenti (e ragioni
commerciali) esistono diversi standard di files
Teletext, alcuni molto simili. Il Cebratext pu
salvare in due formati diversi: il formato TTX
(proprietario) ed il formato TTV, pi facilmente
esportabile per altri software simili.
il suo programma di grafica, e poi con un semplice
copia e incolla localizzato, pu attaccare il grafico
sulla pagina del Teletext. Ovviamente occorre sem-
pre tenere a mente dellampiezza limitata dellam-
biente, ossia di 40x25 punti. Questa operazione
ovviamente non importa anche i colori, che devono
essere sempre programmati a mano. Per il rag-
giungimento di risultati ottimali opportuno fare
numerosi tentativi.
Ad ogni modo, la vera essenza del Teletext rac-
chiusa allinterno del suo file ospitante, un file

Il fine ultimo del documento creato quello di es-


sere dato in pasto ad una scheda elettronica (de-
coder Teletext), collegabile al PC. Tale dispositivo,
inizialmente si collega al PC, per prelevarne il file
della pagina. Infine si connette al televisore o ad un
trasmettitore TV o ad un mixer TV, per la messa in
onda delle pagine.
Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/come-creare-pagine-teletext
12 }

Oscilloscopio
digitale
Open Source diPiero Boccadoro
11 Dicembre 2012

Chi ha detto che, perch un dispositivo sia semplice, efficace, versatile e potente, c bisogno che
costi un occhio della testa? Beh, in realt si tratta di esperienza di vita vissuta un p da tutti. Tutta-
via, quello che vi proponiamo oggi, un simpatico esperimento Open Source, un progetto davvero
interessante che prova a coniugare tutte queste caratteristiche per creare un utile supporto al
debug ed allanalisi dei circuiti. Stiamo parlando di un oscilloscopio digitale con schema elettrico e
software disponibili! Analizzeremo insieme a Voi ogni parte di questo grandioso progetto.

32-bit e che permette, grazie


alle sue basilari ma comple-
te caratteristiche tecniche,
di effettuare operazioni di il
controllo delle forme donda.
Esso equipaggiato con un
display LCD, un lettore di me-
mory card di tipo SD ed unin-
terfaccia USB che consente la
connessione al PC per gestire

I
l DSO Nano v2 (il cui nome acronimo di Di- i dati memorizzati e lavorare sul firmware.
gital Storage Oscilloscope) , per lappun- Viste le sue dimensioni (sta davvero in un palmo
to, un Oscilloscopio Digitale progettato per di mano!), esso consente di fare misure sul campo
permettere, ad un ingegnere elettronico ma non ed operare in maniera veloce e piuttosto intuitiva.
solo, di eseguire operazioni di analisi elementari Cos, anche il lavoro dellhobbysta diventer molto
sui segnali. Si tratta, come vedremo meglio tra semplice.
poco, di un dispositivo dalle dimensioni molto Ma la pi interessante delle caratteristiche di que-
contenute che utilizza un ARM Cortex-M3 a sto progetto che esso letteralmente a di-
Oscilloscopio digitale Open Source { 13
DSO Nano v2
specifiche tecniche
Full Color 2.8 TFT LCD 65K
Display
320240

Banda analogica 0 200 kHz

Max sample rate 1Msps @ 12Bits

Profondit di memoria 4.096 Punti

Sensibilit orizzontale 1 us/Div~10 s/Div

Posizione orizzontale Modificabile con gli indicatori

10 mV/Div~10 V/Div
sposizione. Il progetto , infatti, Open e chiunque (con sonda 1)
Sensibilit verticale
0.5V/Div~100V/Div
abbia il desiderio di metterci le mani sopra per (con sonda 10)
provare a lavorarci per modificarlo, potr farlo. Tra
Posizione verticale Modificabile con gli indicatori
un po vedremo, nel dettaglio, come avere accesso
Impedenza dingresso >500 kOhm
a queste informazioni.
Max tensione input 80 Vpp (by 1 probe)
Nel frattempo, vi siete incuriositi? Bene! Adesso
Accoppiamento DC
andiamo con ordine
Auto, Normale, Singolo,
Features, interfaccia utente, None, Scan & Fit
Rising/Falling
bundle e dintorni edge/level trigger
Modalit di trigger
Trigger level modificabile
Cominciamo guardandolo da fuori. La struttura con gli indicatori
di base davvero semplice e permette di padro- Sensibilit del Trigger
modificabile con gli indicatori
neggiare immediatamente lo strumento. Sul wiki Auto measurement:
ufficiale, pagina in cui compaiono le informazioni frequency, cycle time, duty
cycle, peak voltage, RMS
complete sul prodotto, viene riportata anche que- voltage, Average voltage and
Funzioni di forma DC voltage
sta immagine donda Markers verticali
per misure precise
Markers orizzontali
per misure precise
Hold/Run

Generatore
10 Hz~1 MHz square wave
di segnale

Memorizzazione
Micro-SD card
della forma donda

Tipo di connessione SD card reader


al PC con USB (memoria di massa)

Aggiornamento USB

500 mAh 3.7 V Lithium


Alimentazione
battery / USB
Dimensioni
95mm x 62mm x 13mm
grazie alla quale si pu prendere facilmente confi- (senza probe)

denza con il DSO Nano. Peso 76 g


14 } Oscilloscopio digitale Open Source

Nellimmagine che segue, invece, vi proponiamo la La gestione della navigazione allinterno dei menu
spiegazione completa del display acceso mentre viene fatta con evidenziazione della funzione se-
visualizza due forme donda di test. lezionata e lutilizzo dei pulsanti Up/Down e OK
completa il quadro dei comandi dispo-
nibili e delle operazioni che possibile
eseguire.
Prima di continuare importante segna-
lare che sul sito internet di riferimento
per il progetto (che vi indicheremo meglio
tra poco) presente una guida completa

Fig. 1 Linterfaccia

Tutto intorno allarea di visualizzazione


vengono posizionati una serie di curso-
ri, indicatori e marker grazie ai quali si
accede immediatamente non soltanto alle
misurazioni appena effettuate ma anche
alla possibilit di impostare ogni singolo
Fig. 2 i cursori di misurazione
parametro.
I pulsanti Left/Right vengono utilizzati principal- che spiega come si pu modificare, aggiornare ed
mente per effettuare la navigazione allinterno impostare ogni parametro della visualizzazione, dai
dei menu dello strumento. La funzione di ciascun caratteri ai colori, finanche ai menu.
elemento viene ben chiarita grazie ai commenti Riguardo linterfaccia, comunque, c da dire che
che vedete posizionati nellimmagine 1. lestetica delloscilloscopio aiuta moltissimo ad
Si vede chiaramente come sia possibile utilizzare identificare immediatamente le funzioni disponibili.
cursori che effettuino misurazioni, come nel caso Il display, infatti, letteralmente circondato da pul-
dellintervallo temporale evidenziato in fig. 2. Que- santi. Il menu in alto consente di effettuare le mo-
sta, come tutti noi ben sappiamo, una funzione- difiche (correzioni/aggiusti) alla visualizzazione del
chiave nella valutazione del funzionamento di un segnale. La barra di stato in basso, invece, fornisce
circuito, specie se lavoriamo con segnali digitali. lindicazione delle misure che vengono effettuate e
davvero una buona notizia che questo strumento notifica lo stato di funzionamento del dispositivo.
sia in grado di effettuare questa misura con una possibile modificare questa visualizzazione in
precisione pi che accettabile (ma lo vedremo me- maniera da aggiungere altre e pi sofisticate fun-
glio pi avanti). zioni grazie alle opzioni presenti nei menu.
Oscilloscopio digitale Open Source { 15
Zoom sul segnale motivo limpostazione utile a risolvere il pro-
Muovendo i cursori della Vertical Scale e blema sar certamente la modifica del valore
della Time Base possibile esaminare me- voltage/div.
glio il segnale. Questo risulta particolarmente Grazie alla pressione del pulsante A si pu ot-
utile quando quello in esame non un segnale tenere il freeze della visualizzazione corrente
periodico ma piuttosto irregolare o che presen- (praticamente lo stato di funzionamento diven-
ta delle oscillazioni notevoli. ter HOLD). Una nuova pressione render nuo-
Modificando, in definitiva, parametri come vol- vamente operativo loscilloscopio (e lo stato
tage/div o time/div si pu riuscire ad ottenere torner ad essere RUN).
lo scopo. Ciascuna div non altro che lunit Modalit di trigger
della griglia di divisione dello schermo. Come Questo particolare oscilloscopio possiede sei diffe-
abbiamo visto in tabella, la scala verticale va renti modalit di trigger; si tratta di:
da 10 mV/div fino a 10 V/div. La base dei tem- AUTO: effettua costantemente laggiornamen-
pi, invece, da 1 us/div a 10 s/div. Necessario to della visualizzazione del display ed il controllo
, inoltre, tenere a mente anche che quando sullistante di trigger.
la scala dei tempi che si usa la pi grande NORM (al): visualizza la forma donda non ap-
possibile, la visualizzazione potrebbe sembrare pena sia stata sincronizzata e non visualizza nulla
bloccata, come congelata (frozen), dal momen- se laggancio non riuscito.
to che 10 s/div vuol dire che ci vogliono 120 SING (le): visualizza la forma donda non appe-
secondi per effettuare loperazione di refresh na sia stata raggiunta una condizione di trigger e
dellintero schermo. poi cancella lo schermo.
La forma donda potrebbe essere, come spesso SCAN: effettua uno sweep continuo e ripetuto
accade allinizio negli oscilloscopi, non perfet- della forma donda.
tamente centrata nel display. Se la visualizza- NONE: aggiorna lo schermo continuamente
zione non dovesse essere corretta per questo con la forma donda visualizzata a prescindere
le modalit di trigger
a confronto

Modo Trigger Mostra la Sincronizzazione Applicazioni desempio


forma donda
AUTO Si Sempre Yes Generico

NORM Si Triggered Si Solo segnali periodici

SING Si Triggered Auto-hold Cattura di un impulso

SCAN No Sempre No Monitoraggio di un segnale

NONE No Sempre No Mostra un forma donda non sincronizzata

FIT Si Auto-adjust Si Mostra segnali periodici


16 } Oscilloscopio digitale Open Source

dallistante di trigger. quadra di frequenza variabile compresa nellin-


FIT: avviene la correzione automatica della po- tervallo tra 10 Hz ed 1 MHz. La frequenza pu
sizione e dei fattori di scala sia verticali sia orizzon- essere modificata grazie al Fo (frequency out).
tali per effettuare la corretta visualizzazione. La tensione di picco, cos come la potenza fornita,
Tra queste modalit utile effettuare un confron- dipendono dallalimentazione; cos, quando lali-
to, anche per capire quando/dove/come e magari mentazione attiva quella batteria, avremo 3.7 V
perch preferirne una o unaltra; facciamo questo circa mentre se lalimentazione arriva tramite USB
con la tabella di pagina 15. disporremo di 5 V.
La funzione di automisurazione pu essere molto Ed a proposito della batteria, vale la pena di spe-
utile per effettuare analisi veloce sui segnali e sulle cificare di che tipo di alimentazione questo oscillo-
loro caratteristiche. Le opzioni di misura includo- scopio dispone. Lalimentazione interna e provvi-
no grandezze come la frequenza, il duty-cycle sta da una batteria di tipo LiPo da 500 mAh.
(ovviamente!), la tensione di picco ma anche il La Package list
valore RMS e molte altre. Ovviamente alcune di Nel bundle ci sono:
queste saranno accessibili soltanto nel momento DSO Nano V2 (ovviamente)
in cui ci sia effettivamente laggancio al segnale e, Probe (X1)
quindi, almeno un istante di trigger valido. Test Probe (X1 )
Come accennavamo in precedenza, per ottenere Cacciavite (X1)
misure molto pi precise di quelle che si posso- Borsa (X1)
no realizzare ad occhio, possibile utilizzare i Supporto (X1)
marker X1 e X2 sia per le misure di tensione sia Note:
per le misure di tempo (infatti X sta sia per V - il cavo Mini-USB NON incluso nel bundle.
sia per T). Tuttavia per caricare la batteria del DSO sar ne-
Memorizzazione della forma donda cessario averne uno.
Come si intuisce gi guardando le caratteristiche, - una scheda di memoria da 2 GB tipo Micro-
le forme donda visualizzate possono essere salva- SD lideale per conservare i dati ma anche que-
te grazie allutilizzo di una memory card di tipo SD sta non compresa nella confezione.
che sia formattata con un filesystem di tipo FAT16. Novit della v2
Quando la microSD pronta, lFS (file save) ed il Come tutte le nuove release, anche questa conta
FL (file load) saranno segnalati tramite lutilizzo di diverse modiche e caratteristiche riviste, alcune,
icone dedicate su schermo. in verit, pi significative di altre. La pi evidente
Generazione di segnale delle novit riguarda il package, che cambiato
Il jack audio da 3.5m disponibile viene utilizzato diventando semi-steel; questa modifica, in real-
come generatore di segnale. Luscita unonda t, stata motivata da diversi fattori, primo tra
Oscilloscopio digitale Open Source { 17
tutti la durata, in termini di resistenza e robustezza. connettore per la batteria Fixed;
Queste caratteristiche meccaniche si accompa- ridimensionamento a 95 mm*62 mm*13 mm
gnano alla necessit di schermare il circuito da po- e 76 g;
tenziali rumori che vadano a corrompere i segnali aggiornamento del software.
in transito sulle piste di collegamento. In ultimo, Lo schema elettrico
uno degli aspetti che rende, per i produttori, utile Per completezza riportiamo uno dei documenti che
questa nuova veste, la facilt di assembleaggio completano il quadro informativo che i creatori del
raggiunta adesso proprio grazie al nuovo case. DSO hanno predisposto: lo schema elettrico. Ecco-
La lista delle altre modifiche effettuate si compone ne unimmagine tratta dal pdf che hanno ufficial-
di: mente rilasciato.
Unibody PCB design per migliorare laffidabili- Grazie a questa immagine risulta immediatamente
t; chiaro come sia costituito il dispositivo, quale sia
uso del CI LTC4054 per migliorare la carica del- la sua configurazione hardware completa e come
la batteria; siano stati organizzati i collegamenti tra la sezione
realizzazione di un canale dedicato per la gene- di elaborazione dei dati, gestita dal microcontrollo-
razione del segnale; re della famiglia STM32F103xx, quella di acquisi-
pulsante dedicato per la funzione Auto-Set; zione dei dati, che qui viene indicata con CN1

Lo schema elettrico
18 } Oscilloscopio digitale Open Source

(ovviamente pi per prassi che per necessit visto Il firmware si compone di diverse funzioni, come
che di canali di acquisizione ne presente solo vediamo qui di seguito nellastratto del main:
uno), e quella di acquisizione e gestione degli in-
/******************************
put, tramite pulsanti dislocati sul case come visto *******************************
in precedenza. ************
File Name: main.c
La sezione di acquisizione qui caratterizzata da *******************************
una serie di possibili ingressi, tutti opportunamen- *******************************
***********/
te diltrati, indirizzati ad un Multiplexer ad 8 canali, il
74HC4051, un dispositivo realizzato in tecnologia #include Function.h
#include Menu.h
cMOS con gate in Silicio. Si tratta, pi specifica-
#include Lcd.h
tamente, di un multiplexer/demultiplexer analogi- #include Calculate.h
co con 3 linee di selezione, un ingresso di enable #include stm32f10x_lib.h
#include HW_V1_Config.h
attivo-Basso (E), 8 ingressi indipendenti ed un pin #include Files.h
di in/out comune che permette la gestione degli #include string.h
#include ASM_Function.h
ingressi sulla base del tipo di segnale in arrivo.
Spicca in questo schema lFDFMA2P853, un di- void main(void)
spositivo progettato come soluzione integrata per
{
caricare le batterie dei dispositivi cellulari, ma non
solo; infatti rivolto ad ogni soluzione portatile a in Menu.h si definiscono tutte le variabili che
basso consumo. Al suo interno, un MOSFET carat- verrano utilizzate, considerandone anche i relativi
terizzato da una bassa resistenza DS ed un diodo valori. Utile, a questo scopo , ad esempio, la fun-
schottky che garantisca basse perdite di segnale zione che definisce i valori di tensione in relazione
condotto. alla sensibilit verticale:
Il firmware //------------ voltage range related parameter
Ed ora, veniamo al firmware. Iniziamo subito con definitions------------
unsigned const char Item_V[20][10] = // vertical
una breve lista dei tools di cui si ha bisogno: sensitivity labels
1. IAR Workbench evaluation for ARM. (32KB code // 0 1 2 3 4 5
6 7 8 9 probe attenuation x1
limit); {10mV/Div, 20mV/Div, 50mV/Div, 0.1V/Div,
2. la versione del firmware APP pi recente dispo- 0.2V/Div, 0.5V/Div, 1V/Div , 2V/Div , 5V/
Div , 10V/Div,
nibile; // 10 11 12 13 14 15
3. Dfuse; 16 17 18 19 probe attenuation
x10
4. un PC su cui sia in esecuzione un sistema ope- 0.2V/Div, 0.5V/Div, 1V/Div , 2V/Div , 5V/
rativo Windows (98 o successivi); Div , 10V/Div, 20V/Div, 50V/Div, 100V/
Div, -GND- };
5. un cavo mini-USB per collegare il DSO al PC.
Oscilloscopio digitale Open Source { 19
Lcd.h si occupa della gestione dello schermo Calculate.h si occupa, tra le altre cose, effet-
(facile da intuire, no?) e lo fa, tra le altre, con due tuare le conversioni. Ad esempio tra numeri a 32
funzioni piuttosto utili: una che imposta le coor- bit o a 16 e stringhe con la precisione ad una cifra
dinate dellarea di visualizzazione e laltra che si decimale;
occupa di gestire gli input. lheader file stm32f10x_lib.h serve ad ef-
fettuare linizializzazione di tutti i puntatori alle
/*****************************************************
************************** periferiche ed un file marchiato STM (Copyright
Function Name : LCD_SET_WINDOW 2007)
Description : use (x1,y1) and (x2,y2) to set a
Il main risulta piuttosto snello ed utile a chiama-
rectangle area
Para : (x1,y1) and (x2,y2) re in causa solo le funzioni che servono e quan-
***************************************************** do servono. Esso prevalentemente costituito da
**************************/
void LCD_SET_WINDOW(short x1, short x2, short un loop in cui si verifica la presenza di segnale,
y1, short y2) la condizione di trigger e si effettua lacquisizione,
{
LCD_WR_REG(0x0050, y1);
aggiornando lo schermo di conseguenza. Il tutto in
LCD_WR_REG(0x0051, y2); 452 linee di codice.
LCD_WR_REG(0x0052, x1);
Una della feature software documentate la fun-
LCD_WR_REG(0x0053, x2);
LCD_WR_REG(0x0020, y1); zione che permette lesportazione dei dati in for-
LCD_WR_REG(0x0021, x1); mato XML. Qui riportiamo un breve estratto di
LDC_DATA_OUT = 0x0022; // Reg. Addr.
LCD_RS_LOW(); // RS=0,Piont to Index Reg. questa funzione in cui ci sono 5 campioni rilevati
LCD_nWR_ACT(); // WR Cycle from 1 -> 0 -> 1 attorno alla condizione di trigger.
LCD_nWR_ACT(); // WR Cycle from 1 -> 0 -> 1
Nella sezione Profilo ci sono informazioni relative
LCD_RS_HIGH(); // RS=1,Piont to object Reg.
} alla configurazione attiva al momento dellacqusi-
/***************************************************** zione, dato che potrebbe essere utile acquisire per
**************************
Point_SCR: Set display position Input: X, Y successiva analisi dei risultati. Ed ancora, sono 3
***************************************************** gli elementi numerici in questa sezione, deno-
**************************/
void Point_SCR(unsigned short x0, unsigned short
minati triggerIndex, sampleCount e timeRange. Il
y0) primo rappresenta il numero totale di di campioni
{
presenti nel file (come una sorta di dimensione che,
LCD_WR_REG(0x0020,y0);
LCD_WR_REG(0x0021,x0); nella revision 3 del firmware 3072). timeRange,
LDC_DATA_OUT=0x0022; //DRAM Reg. ovvero il secondo, rappresenta lintervallo tempo-
LCD_RS_LOW();
LCD_nWR_ACT(); //WR Cycle from 1 -> 0 -> 1 rale (misurato in secondi) tra il primo e lultimo
LCD_nWR_ACT(); //WR Cycle from 1 -> 0 -> 1 campione (o pi semplicemente la durata). Il terzo,
LCD_RS_HIGH();
nientaltro che lindice di trigger. Da questi dati
}
si pu facilmente risalire allintervallo di tempo
20 } Oscilloscopio digitale Open Source

che c tra un campione ed il successivo (basta


<?xml version=1.0
calcolare timeRange/sampleCount) e con esso,
encoding=UTF-8?>
<Document> evidentemente, anche la frequenza di campiona-
<Profile> mento.
<triggerMode>NORM</triggerMode>
Ed ora il momento di approfondire laspet-
<triggerKind>EdgeRising</trig-
gerKind> to davvero pi lodevole del progetto: il codice
<triggerLevel>3.76V</triggerLe- Open Source e la comunit tutta, gli utilizzatori,
vel>
i programmatori che lo desiderassero ma anche
<triggerSensitivity>200mV</
triggerSensitivity> gli studenti, insomma chiunque pu provare a
<attenuation>x1</attenuation> modificarlo sentendosi libero di proporre o appor-
<voltageDiv>1V</voltageDiv>
tare aggiornamenti o modifiche a quanto realiz-
<timeDiv>200us</timeDiv>
<firmware>V3.20</firmware> zato dai progettisti. Le versioni pi aggiornate del
<fileNumber>S003</fileNumber> firmware richiedono test e verifiche ma se volete
<triggerIndex>1220</triggerIn-
dare il vostro contributo questo progetto ve ne
dex>
<sampleCount>3072</sampleCount> dar la possibilit reale. Potrete, cos, intervenire
<timeRange>24.576e-3</timeRan- su tool, firmware, documentazione ma anche bug
ge>
ed altro. A tal proposito, vi proponiamo un utile
</Profile>
<Point> prospetto che segnala gli aggiornamenti effettua-
<seq>1218</seq> ti su questo progetto so far.
<val>-40.000e-3</val>
</Point> Revisione Descrizione Release
<Point>
Prima release 25 Agosto
<seq>1219</seq> v0.9b
ufficiale 2010
<val>-40.000e-3</val>
</Point> Release 31 Maggio
v0.91b
aggiornata 2011
<Point>
<seq>1220</seq> Vale la pena di specificare che tutta la docu-
<val>5.280</val>
mentazione riguardante il progetto, e quindi tutti
</Point>
<Point> i dettagli su cosa cambiato da una versione
<seq>1221</seq> alla successiva, lo schema elettrico, la part-list,
<val>5.200</val>
il layout, il firmware e tutto, ma davvero tutto,
</Point>
<Point> ci che possa servirvi (o interessarvi) sapere
<seq>1222</seq> reperibile in giro su internet ed in particolare sul
<val>5.160</val>
wiki del progetto, che online a questo indirizzo
</Point>
</Document> ma anche sul repository ufficiale del DSO Nano,
che questo.
Oscilloscopio digitale Open Source { 21
Tiriamo le somme non vuol dire niente. Per se devo provare ad
A questo punto venuto il momento di dire la mia immaginare qualche applicazione, beh vi sug-
su questo prodotto ma immagino si sia capito cosa gerirei di pensare che la banda del segnale te-
ne penso. Ritengo si tratti di uno strumento dav- lefonico 3400 Hz (lordi), quella del segnale
vero ben fatto, che suscita certamente una grande audio 20 kHz (lordi) e... beh, sono le prime due
curiosit sia in chi vi scrive sia in chi lo acquista. applicazioni che mi sono venute in mente.
Uno degli indubbi vantaggi che il progetto ha il Certo, ce ne sono milioni ancora, e di tipo com-
prezzo, davvero pi che abbordabile. pletamente diverso, e sebbene per molte di esse
Fare misurazioni con uno strumento palmare questa banda passante sia sufficiente, per altre
sempre una cosa gradita, anche quando le si magari no. Penso al segnale televisivo o a se-
deve effettuare per mero hobby. gnali RF e trasmissioni a banda larga.
Tuttavia personalmente ne sconsiglio lacquisto Ma probabilmente queste applicazioni suggeri-
a tutti coloro che non abbiano necessit pret- scono da sole che molto altro sarebbe pi utile
tamente ludiche o comunque di caratura pro- di uno strumento come questo.
fessionale. La pi grande limitazione di questo E allora, se vi state chiedendo se potrebbe ser-
progetto in banda, come avrete certamente virvi, vi suggerisco di chiedervi: per fare che
notato. 200 kHz numero, certo, e come tale cosa?

Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/oscilloscopio-digitale-open-source
22 }

Reti Wireless:
concetti avanzati diS. Lovati
13 Dicembre 2012

Quando si desidera installare o configurare


una rete wireless domestica, sorgono spesso
dei dubbi oppure delle esigenze particolari che
non sempre trovano una risposta nei manuali
duso dei produttori di dispositivi di rete.
Vediamo in questo articolo quali sono le
principali topologie di reti wireless e come
metterle in pratica.

S
u Elettronica Open Source sono stati ai casi reali che possiamo incontrare nella vita di
pubblicati diversi post relativi alle reti tutti i giorni, ecco che la stessa acquista un potere
wireless e ai sistemi Wi-Fi in generale, straordinario. Capire come funzionano (o devono
trattando anche in dettaglio largomento della funzionare) le cose, ci rende pi sicuri e aumenta il
sicurezza e suggerendo alcune semplici misu- nostro bagaglio di conoscenze
re volte ad aumentare il grado di protezione di i post pubblicati sino ad ora trattavano argo-
una rete wireless domestica. Finora, non si menti specifici applicabili alla generalit delle reti
trattato, volutamente, largomento relativo alle wireless, non a una in particolare. Non vi era per-
diverse architetture (o meglio topologie) di reti tanto lesigenza di soffermarsi su un particolare
wireless. I motivi sono principalmente due: tipo di struttura o configurazione
largomento potrebbe essere considerato da Per chi affronta per la prima volta i concetti relativi
qualcuno troppo tedioso. Ci vero solo in par- alle reti (il networking della letteratura anglosas-
te. La teoria di per s pu essere talvolta molto sone) o comunque vuole dare una rinfrescata a
noiosa, ma quando questa viene accompagnata questo argomento, consiglio di leggersi anzitutto
da esempi pratici che ne dimostrano lapplicabilit questo post.
Reti Wireless: concetti avanzati { 23
Rete wireless con singolo router che si collegano alla rete (PC, smartphone, tablet,
Si tratta dellesempio pi semplice, ma anche di console videogiochi, strumentazione, ecc.) pre-
quello pi comunemente utilizzato, di rete wireless sente un client DHCP che pu essere offerto dal fir-
domestica. Questo tipo di topologia comprende un mware o dal sistema operativo installati sul dispo-
router wireless singolo, al quale sono connessi uno sitivo stesso. Se il DHCP abilitato, il DHCP server
o pi dispositivi dotati di interfacciamento wireless. gestisce uno o pi client assegnando a ciascuno
Ad esempio, nellimmagine seguente mostrato il di essi un proprio (e univoco) indirizzo IP. Quindi,
caso di tre PC collegati al medesimo router. abilitando il servizio DHCP sul router, quello che
succede che ogni dispositivo client (ad esempio
uno smartphone con funzionalit Wi-Fi) per colle-
garsi dovr anzitutto inviare una richiesta al server
DHCP (come questa richiesta viene inviata fa parte
del protocollo DHCP stesso, e ora non ci interes-
sa). Il server DHCP, basandosi su alcune regole,
La configurazione di questo tipo di rete molto cercher di assegnere al dispositivo un indirizzo
semplice. Lunica scelta da affrontare, se cos si IP. In genere loperazione riesce, ma ci sono casi
pu dire, riguarda labilitazione o meno del DHCP. particolari in cui lindirizzo IP non pu essere asse-
Con il termine DHCP (acronimo di Dynamic Host gnato. Quando si configura il DHCP, ad esempio, si
Configuration Protocol) si intende il protocollo di sceglie il range di valori di indirizzi da assegnare.
rete utilizzato per configurare i parametri dei di- Ad esempio si sceglie di assegnare tutti e soli gli
spositivi di rete in modo tale che essi possano dia- indirizzi compresi nel range da 192.168.1.100 a
logare su una rete IP. Questi parametri sono fon- 192.168.1.120). Al primo dispositivo che si colle-
damentalmente lindirizzo IP stesso (ad esempio ga, verr ad esempio assegnato il primo indirizzo
192.168.1.100), il (o i) server DNS (Domain Name disponibile, cio 192.168.1.100; al secondo ver-
System, utilizzati per risolvere, o tradurre, ogni r assegnato lindirizzo 192.168.1.101, al terzo
indirizzo di sito web nel corrispondente indirizzo IP 192.168.1.102, e cos via. Al ventesimo disposi-
dellhost che ospita il sito stesso), e le regole di tivo collegato andr lultimo indirizzo IP libero, cio
routing (il cammino da seguire per potersi connet- 192.168.1.120. Se a questo punto ci fosse un
tere con un qualunque indirizzo IP). Il DHCP adotta ulteriore dispositivo che richiede la connessione,
unarchitettura client-server: con ci si intende dire il DHCP non sarebbe pi in grado di reperire un
che sul sistema host (nel nostro caso il router wire- indirizzo valido, e il dispositivo rimarrebbe in attesa
less) presente un server DHCP (affogato allin- di ricevere lindirizzo stesso. Il DHCP server deve
terno del firmware che gestisce le varie funzionali- ovviamente tenere traccia e aggiornare in tempo
t del router stesso), mentre sui dispositivi wireless reale lo stato degli IP assegnati. Se un dispositi-
24 } Reti Wireless: concetti avanzati

vo si scollega, il suo indirizzo pu essere riutilizzato Ci perch lindirizzo 192.168.0.0 identifica pro-
(ci non avviene in genere istantaneamente, perch prio lindirizzo di partenza di una rete privata, ed
un indirizzo IP pu anche essere assegnato con un riconosciuto come tale da tutti i router.
contratto a tempo, e non riutilizzato finch questo Se quindi si vuole abilitare il DHCP, baster ese-
periodo non trascorso). Riassumendo: se il DHCP guire questa operazione accedendo al firmwa-
viene abilitato sul router, gli indirizzi IP vengono as- re di controllo del router stesso, selezionando il
segnati automaticamente e dinamicamente (cio a range di indirizzi IP da assegnare (ad esempio da
uno stesso dispositivo possono essere assegnati 192.168.0.100 a 192.168.0.200). La figura 2
indirizzi IP diversi in connessioni eseguite in tempi mostra proprio una situazione simile, dove il router
differenti); per conoscere lindirizzo IP assegnato al ha lindirizzo 192.168.0.1 (questo viene pre-as-
dispositivo dovremo dare lapposito comando di- segnato dal fabbricante, e solitamente stampato
sponibile a livello di sistema operativo (ad esempio sulletichetta posta sotto il router stesso).
ipconfig in Windows). Se invece il DHCP
viene disabilitato, gli indirizzi IP dovranno
essere assegnati in modalit statica. Da
chi? Da chi configura la rete. Detta cos,
la possibilit di usare degli indirizzi statici
sembra quasi una seccatura, o comunque
una perdita di comodit rispetto al DHCP.
In realt, gli indirizzi statici hanno unuti-
lit, e servono in particolare quando si
Fig. 2
vuole realizzare una rete in cui i dispositivi
collegati sono sempre gli stessi e le interfacce di Se invece si vuole assegnare un indirizzo statico a
rete devono essere configurate sempre nello stes- ciascun dispositivo collegato in rete, occorrer an-
so modo. Quando ad esempio si vogliono collega- zitutto disabilitare il DHCP sul router (vedi fig. 3), e
re in rete pi computer (si pensi alle applicazioni assegnare poi lindirizzo statico su ciascun diposi-
industriali o a quelle nel campo dellautomazione) tivo (loperazione dipende dal particolare sistema
si sceglie questa soluzione, in modo tale da poter operativo adottato). Ad esempio al router si pu as-
indirizzare via software ogni computer in modo uni- segnare lindirizzo 10.0.0.1, al primo PC lindirizzo
voco tramite il suo IP. Se infatti questo cambiasse 10.0.0.2, al secondo PC lindirizzo 10.0.0.3, e al
ad ogni accensione del sistema, si creerebbe una terzo lindirizzo 10.0.0.4, e cos via. Come masche-
situazione caotica e ingestibile. A questo proposito ra subnet si pu utilizzare 255.255.255.0, e come
ricordiamo che per le reti locali viene generalmente gateway predefinito 10.0.0.1. Per verificare se il
scelto un range di indirizzi del tipo 192.168.xxx.yyy. PC3 in grado di vedere il PC1, baster dare da
Reti Wireless: concetti avanzati { 25
la stessa, sia che ci si colleghi al primo o al
secondo router). Collocando i router in punti
strategici dellabitazione o del luogo indoor,
si riesce ad aumentare il grado di copertura
del segnale wireless. Come vanno collegati e
configurati i due router? Prima di risponde-
re, occorre tenere presente la seguente nota
importante: prima di eseguire le operazioni
Fig. 3 descritte nel seguito, occorre sottolineare
che i due router vanno configurati uno alla
riga comando il comando ping 10.0.0.2. Se si ot-
volta, mai contemporanemanete. Non vanno cio
tiene una risposta, significa che linterfaccia di rete
lasciati entrambi accesi durante la configurazione,
correttamente configurata.
solo uno per volta va alimentato fintantoche non si
Rete wireless con due router
completa la configurazione (ci necessario per
e stesso SSID
evitare conflitti tra i router durante la configura-
Questo tipo di rete, anche se non molto comune,
zione degli stessi). Partiamo dal primo (router1).
permette di risolvere molti problemi pratici di velo-
Questo sar il router principale, e lunico collegato
cit di connessione e di qualit del segnale radio
a Internet (cio allISP, acronimo di Internet Servi-
wireless nel caso in cui la rete preveda lutilizzo
ce Provider). Supponiamo che il suo IP di fabbrica
di numerosi dispositivi collegati e/o debba copri-
sia 192.168.1.1 (qualunque altro valore va bene,
re una zona piuttosto ampia, rimanendo sempre
basta seguire le regole che verranno esposte). Il
allinterno di una struttura domestica. In genere
DHCP andr lasciato abilitato, e supponiamo che il
per un normale appartamento un router basta e
range di indirizzi IP assegnabili sia tra 192.168.1.2
avanza, ma se si ha la fortuna di abitare in una
e 192.168.1.200. LSSID lo lasceremo anchesso
casa con pi piani (ad esempio scantinato o ta-
abilitato (verr trasmesso quindi in chiaro, tanto
verna, piano terra, primo piano, e magari ancora
non serve a nulla cercare di oscurarlo) e gli asse-
veranda o mansarda) e si vuole garantire la coper-
gneremo il valore a piacimento (ad esempio Ca-
tura wireless con una stessa rete, possono sor-
saMia). Il secondo router (router2), essendo dello
gere questo tipo di problemi. Visto il costo esiguo
stesso tipo del primo, uscir dalla fabbrica con gli
e abbordabile dei router wireless, la soluzione pi
stessi parametri. Per utilizzare due router, noi do-
immediata a questo tipo di esigenza consiste nel
vremo creare un collegamento tra i medesimi (tra
creare una rete con due router (possibilmente del-
poco vedremo come), e perci essi non potranno
lo stesso tipo), configurati per funzionare con lo
avere lo stesso indirizzo IP. Pertanto, dovremo as-
stesso SSID (quindi agli effetti esterni la rete
segnare al secondo router un indirizzo IP diffe-
26 } Reti Wireless: concetti avanzati

rente dal primo. Possiamo ad esempio scegliere il (pari a 22 Mhz, costante per tutti i canali). Si pu
valore 192.168.1.2. Questo indirizzo per com- inoltre osservare che i canali adiacenti sono sem-
preso tra quelli utilizzati dal server DHCP del rou- pre parzialmente sovrapposti, una condizione che
ter1, dovremo pertanto cambiare sul primo router pu instaurare pericolosi fenomeni di interferenza.
il range di indirizzi DHCP, scegliendo ad esempio il Viceversa, i canali 1, 6, e 11 non sono sovrapposti
range tra 192.168.1.3 e 192.168.1.200. Sul rou- tra loro, ed proprio questo il motivo per cui essi si
ter2 il DHCP andr disabilitato (solo un router deve utilizzano maggiormente. Stesso discorso vale per
poter assegnare dinamicamente gli indirizzi IP in il gruppo di canali 2, 7, e 12.

Fig. 4 (fonte: en.wikipedia.org)

una medesima rete). Utilizzando il termine tecni- Estendendo il caso in esame a tre router (vale per i
co corretto, possiamo dire che il router2 utilizza la super-fortunati che abitano in una megavilla!), do-
tecnica di bridging. Con ci si intende dire che vremo proprio configurarli scegliendo uno dei due
esso non ha alcuna responsabilit nellassegna- gruppi di frequenze precedentemente indicati. La
zione degli indirizzi IP ai vari nodi della rete, e la configurazione si conclude collegando i due router
sua funzione unicamente quella di trasportare il con una connessione tramite cavo Ethernet, uti-
segnale radio allinterno della casa, fare quindi da lizzando le porte LAN presenti sul router stesso
ponte per esso. Inoltre, al secondo router con- (ricordiamo che un router anche uno switch di
viene sempre assegnare un canale di trasmissione rete ed offre in genere 4 o pi porte Ethernet per la
diverso da quello utilizzato dal primo. Ad esempio, connessione tradizionale via cavo). Tutti i rimanenti
si pu utilizzare il canale 11 sul router1 e il canale parametri di configurazione devono essere gli stes-
6 sul router2. E sempre bene spaziare i due cana- si sui due router (ad es. SSID, password, tipo di
li, in modo tale da ridurre al minimo le interferen- crittografia, ecc.). A questo punto si possono riac-
ze tra un canale e laltro. Per chi volesse sapere cendere i due router e la rete pronta per luso. Ci
qualcosa di pi sui canali utilizzati dallo standard si pu quindi spostare allinterno delledificio sen-
802.11b/g (quello utilizzato dalle reti WiFi a 2,4 za mai perdere la connessione, e il tutto avviene in
GHz), riportiamo il diagramma di fig. 4. modo trasparente allutente (lSSID, e quindi la
Dal diagramma si pu ricavare la frequenza cen- rete wireless, sempre la stessa, e il salto tra un
trale di ogni canale (ad es. il canale 11 ha una canale e laltro avviene in modo automatico, senza
frequenza centrale di 2,462 GHz), e lampiezza soluzione di continuit). Tecnicamente parlando,
Reti Wireless: concetti avanzati { 27
dobbiamo osservare che il secondo router, con nessione Internet (cablata)
questo tipo di configurazione, non agisce come un AP intermedi: sono gli AP che trasferiscono in-
vero e proprio router, ma bens come un normale formazioni tra AP principale, AP remoti, e altri AP
access point. intermedi
Il WDS AP remoti: sono gli AP a cui possono essere
La soluzione precedente di per s relativamente collegati i dispositivi wireless che utilizzano la rete
semplice da attuare, e risolve moltissimi problemi. (i client wireless)
C per un possibile inconveniente: i due router Tutti gli AP di un sistema WDS devono essere con-
devono essere collegati tra loro mediante un cavo. figurati per utilizzare lo stesso canale, ed eventual-
Se ledificio permette di far passare agevolmente mente lo stesso metodo di protezione (WEP o WPA)
dei cavi tra un piano e laltro (o tra una stanza e e la stessa chiave crittografica. La tecnologia WDS,
laltra) questo non rappresenta un grosso proble- anche se in apparenza sembrerebbe essere la solu-
ma. Purtroppo, in molti casi ci non possibile, e/o zione in grado di offrire i maggiori benefici, soffre di
talora non si possono apportare variazioni di alcun due pesanti svantaggi:
tipo alledificio. Esiste una possibilit di collegare 1. nel caso peggiore, la massima ampiezza di banda
tra loro pi access point in modalit wireless? La disponibile pu essere sensibilmente ridotta (dimez-
risposta affermativa: si pu ricorrere allutilizzo zata nel caso di due AP). Ci dovuto alla ritrasmis-
della tecnologia WDS. sione dei dati tra una stazione AP e la successiva,
WDS lacronimo di Wireless Distribution Sy- ritrasmissione che utilizza appunto lo stesso canale
stem ed una funzionalit supportata da un nu- 2. in generale, il WDS non supporta i sistemi di pro-
mero sempre pi crescente di access point e router tezione basati su chiavi dinamiche. Ci siginifica che
802.11. Sostanzialmente, WDS consente di colle- con il WDS possiamo usare soltanto la protezione
gare tra loro pi AP wireless, senza doverli collega- WPE (facilmente crackabile) e la protezione WPA
re tramite una connessione Ethernet cablata. Per con chiavi pre-shared. Non proprio il massimo, dal
poter utilizzare questa tecnologia, occorre che tutti punto di vista della sicurezza
gli AP utilizzati (due o pi) supportino la modalit Occorre poi sottolineare che, sovente, dispositivi
WDS. Ci pu essere dedotto leggendo la scheda WDS realizzati da produttori differenti non sono pie-
tecnica del dispositivo o esaminando attentamente namente compatibili tra loro. La mancanza di inte-
la confezione prima dellacquisto. Il WDS prevede roperabilit tra differenti prodotti WDS dovuta al
tre tipi di access point: fatto che questo tipo di tecnica non stata comple-
AP principale: quello al quale fa capo la con- tamente definita negli standard IEEE o WiFi.
Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/reti-wireless-concetti-avanzati
28 }

Embedded GNU/Linux
partendo da zero:
integrazione e test diA. Righi
18 Dicembre 2012

Lobiettivo di questa serie di articoli di fornire una guida passo passo per la creazione da zero
di un sistema GNU/Linux perfettamente funzionante, applicabile ad esempio in scenari di tipo
embedded come base per la generazione di un semplice BSP (Board Support Package), di un
firmware Linux-based, o di una micro-distribuzione totalmente custom.

N
elle puntate precedenti (Embedded GNU/ filesystem dotandolo dei tipici comandi presenti in
Linux partendo da zero: ricompilare il ker- qualsiasi distribuzione GNU/Linux. Infine vedremo
nel e Embedded GNU/Linux partendo da alcuni esempi pratici per testare la funzionalit
zero: preparazione del root filesystem) abbiamo della micro-distribuzione custom da noi creata.
analizzato rispettivamente la ricompilazione del I comandi della shell
kernel e la preparazione di un root filesystem mini- La volta scorsa ci siamo lasciati con un root fi-
male usando linitramfs. lesystem dotato di un unico binario eseguibile:
In questa puntata vedremo come completare il root /init.
Embedded GNU/Linux partendo da zero: integrazione e test { 29
Questo sufficiente per permettere al kernel
$ cd busybox
di lanciare una nostra applicazione custom al $ make ARCH=arm CROSS_COMPILE=arm-linux-
gnueabihf- \
termine del boot, ma abbastanza diverso da
OPTIMIZE_FOR_CPU=armv7-a CONFIG_PREFIX=/
quello che si aspetta di trovare in un tipico si- tmp/initrd menuconfig
stema GNU/Linux.
Al solito, con lopzione CROSS_COMPILE abbia-
Quello che manca una vera e propria shell
mo dato indicazione al sistema id build di BusyBox
completa, dotata dei comandi che caratterizza-
quale cross-compilatore utilizzare (lo stesso con
no qualsiasi distribuzione GNU/Linux.
cui abbiamo compilato precedentemente il kernel)
BusyBox
e con ARCH=arm e OPTIMIZE_FOR_CPU abbiamo
BusyBox[1] conosciuto anche come il col-
specificato larchitettura target per i file binari che
tellino svizzero dellembedded Linux. Si tratta
dovranno essere generati.
di un progetto open-source (GPLv2) in grado di
Con CONFIG_PREFIX, invece, specifichiamo la di-
fornire un intero set di comandi e utility presenti
rectory dove vogliamo che BusyBox vada ad instal-
nella suite GNU.Lintero progetto stato scritto
lare tutti i binari.
con un particolare occhio di riguardo allottimiz-
Se non vogliamo scorrere tutti i singoli men del
zazione dello spazio occupato dai binari, il che
make menuconfig di BusyBox possiamo utilizza-
lo rendono particolarmente appetibile nellambi-
re la configurazione riportata come allegato a que-
to embedded. Difatti praticamente tutte le note
sto articolo (busybox-config.txt). Per fare ci basta
piattaforme embedded Linux-based utilizzano
lanciare i comandi seguenti:
BusyBox (evaluation board, ricevitori, dispositi-
vi mobile come tablet, smartphone, etc. anche $ wget http://it.emcelettronica.com/files/busybox-
config_0.txt
Android!). $ cp busybox-config.txt busybox/.config
Vediamo di seguito i passi necessari per inte-
grare BusyBox nel nostro sistema. Una volta messa a punto la configurazione si pu
Per prima cosa possiamo reperire i sorgenti di- compilare la suite di strumenti:
rettamente dal repository git di BusyBox: $ make ARCH=arm CROSS_COMPILE=arm-linux-
gnueabihf- \
$ git clone git://busybox.net/busybox.git OPTIMIZE_FOR_CPU=armv7-a CONFIG_PREFIX=/
tmp/initrd install
Successivamente dobbiamo specificare la con-
figurazione di ci che vogliamo compilare e in- E infine installarla nella directory di destinazione:
cludere nel nostro ambiente. Analogamente a
$ make ARCH=arm CROSS_COMPILE=arm-linux-
quanto abbiamo fatto con il kernel possiamo gnueabihf- \
lanciare un make menuconfig nel modo se- OPTIMIZE_FOR_CPU=armv7-a CONFIG_PREFIX=/
tmp/initrd instal
guente:
30 } Embedded GNU/Linux partendo da zero: integrazione e test

Dopo linstallazione la directory di destinazione as- precedente, nel filesystem che generiamo com-
sume la tipica struttura che troviamo nella radice pletamente da zero non abbiamo a disposizione
di un qualsiasi sistema UNIX-based: le librerie dinamiche (glibc, etc.); le alternative
quindi sono di cross-compilare e installare an-
# ls -l /tmp/initrd
total 12 che tutte le librerie dinamiche richieste, oppure
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14
di compilare staticamente i binari (cio includere
15:07 bin
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14 direttamente nel binario il codice delle librerie
15:07 sbin richieste).
drwxrwxr-x 4 righiandr righiandr 4096 Dec 14
15:01 usr Nel nostro caso abbiamo compilato BusyBox sta-
ticamente, ma se per ciascun binario includessi-
In pratica con linstallazione di BusyBox abbiamo mo al suo interno il codice delle librerie richieste,
generato la struttura base del nostro tipico filesy- avremo una duplicazione e ridondanza del codi-
stem UNIX-based. ce non necessaria.
Allinterno della sotto-directory bin lunico bina- BusyBox risolve questo problema implementan-
rio busybox; tutti gli altri comandi sono disponi- do il codice di ciascun comando allinterno dello
bili nel filesystem come link simbolici alleseguibile stesso binario (invece di avere una separazione a
busybox: livello di file, possiamo vedere un comando della

# ls -l /tmp/initrd/bin/
shell di BusyBox come una funzione allinterno
total 1284 dello stesso binario).
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07
I link simbolici costituiscono una soluzione in-
ash -> busybox
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07 telligente per distinguere un comando dallaltro.
base64 -> busybox Ad esempio quando eseguiamo il binario /bin/
-rwxr-xr-x 1 righiandr righiandr 1314624 Dec 14
15:07 busybox cat dalla shell, questo di fatto esegue /bin/bu-
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07 sybox, ma durante allinterno del codice il nome
cat -> busybox
del binario risulta /bin/cat.
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07
catv -> busybox Alla fine possiamo immaginare il main di Busy-
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07 Box nel modo seguente (con le dovute semplifi-
chattr -> busybox
lrwxrwxrwx 1 righiandr righiandr 7 Dec 14 15:07 cazioni del caso):
chgrp -> busybox
... int main(int argc, char **argv)
{
if (!strcmp(argv[0], /bin/cat)) {
Quiz #1: come mai BusyBox genera un solo bi-
/* implementazione di cat */
nario e sopratutto a cosa servono i link simbo- } else if (!strcmp(argv[0], /bin/ls)) {
lici? /* implementazione di ls */
} else ...
Risposta #1: Come abbiamo visto nella puntata
Embedded GNU/Linux partendo da zero: integrazione e test { 31
A questo punto ci mancano solo pochi passi solo il procfs, che veniva utilizzato come grande
per completare un tipico root filesystem GNU/ contenitore per esportare qualsiasi informazione
Linux: inizializzare /proc, /sys e /dev. kernel allo user-space. Successivamente durante
Il proc filesystem (o procfs) [3], montato ge- lo sviluppo della serie di kernel 2.5 stato intro-
nericamente sotto /proc, uno pseudo-filesystem dotto il sysfs, come metodo pi strutturato per se-
usato dal kernel per esportare le informazioni sui parare le informazioni relative ai processi (procfs),
processi alle applicazioni che girano in spazio rispetto alle informazioni relative ai device o al si-
utente. Tale filesystem si trova solitamente montato stema in genere.

nella directory /proc. Questo filesystem non utilizza Infine la directory /dev [5] ospita tutti i file
nessun dispositivo di storage, solo unastrazio- speciali che forniscono laccesso ai device driver,
ne messa a disposizione del kernel per dare una utilizzando le stesse interfacce per laccesso ai
visione dei processi come file, nel pieno rispetto classici (open, read, seek, write, close, etc.).
della filosofia delleverything is a file [2]. Ad esempio /dev/sda rappresenta il primo di sto-
Il sysfs, montato genericamente in /sys [4], rage rilevato dal sistema, /dev/console il terminale,
anchesso uno pseudo-filesystem. Anchesso vie- etc. Anche in questo caso vale il principio delleve-
ne utilizzato dal kernel per esportare informazio- rything is a file, effettuando ad esempio una read()
ni allo spazio utente, ma che non hanno niente a su /dev/sda, il kernel attiva il device driver che ge-
che vedere con i processi (es. la dimensione di un stisce il dispositivo di storage in questione, e ritorna
disco, il numero di cpu, o informazioni di debug. allapplicazione utente un buffer contenente i dati
Inizialmente nei vecchi kernel (serie 2.4) esisteva reperiti sullo storage. Il mapping tra file e device
32 } Embedded GNU/Linux partendo da zero: integrazione e test

driver in kernel space viene effettuato utilizzando


$ sudo mknod null c 1 3
una coppia di numeri detti major e minor number $ sudo mknod zero c 1 5
(esistono delle convenzioni sui nomi dei file che si
I primi sei dispositivi (tty1 ... tty6) rappresentano i
trovano sotto /dev, ma il nome del file dal punto di
terminali virtuali (quelli a cui possiamo accedere
vista del kernel totalmente arbitrario).
su un tipico sistema GNU/Linux premendo la com-
Per quanto riguarda /proc e /sys sufficiente cre-
binazione ALT+F1 ... ALT+F6); il file /dev/console
are i mount-point come directory vuote. Dopo che
il terminale principale. Infine /dev/null e /dev/zero
il kernel partito dovremo predisporre uno script
sono device virtuali: il primo, se viene letto ritorna
di inizializzazione per montare tali filesystem nei
sempre un buffer vuoto, se ci scriviamo sopra i dati
mount-point predisposti.
vengono ignorati; infine /dev/zero se letto ritorna
$ cd /tmp/initrd un buffer pieno di zeri (esattamente una quantit
$ mkdir proc sys
$ ls -l pari alla dimensione del buffer specificato per la
total 24 lettura). Lultimo passo, come visto nella puntata
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14
precedente, di creare nellinitramfs un binario
15:07 bin
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14 chiamato /init, che il kernel provveder ad esegui-
17:11 proc re al termine della fase di boot. Per questo usiamo
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14
15:07 sbin lo stesso meccanismo di BusyBox: creiamo un link
drwxrwxr-x 2 righiandr righiandr 4096 Dec 14 simbolico a /sbin/init, allinterno dellimmagine del
17:11 sys
drwxrwxr-x 4 righiandr righiandr 4096 Dec 14
nostro initramfs:
15:01 usr
$ cd /tmp/initrd
$ ln -s sbin/init init
Per /dev, invece necessario fare un passo ag- $ ls -l
giuntivo, che consiste nellinizializzare i file di di- $ ls -l
total 24
spositivo base che il kernel e lambiente BusyBox
drwxrwxr-x 2 righiandr righiandr 4096 Dec 15
si aspettano di trovare. 00:29 bin
Per questo possiamo usare il comando mknod: drwxrwxr-x 2 righiandr righiandr 4096 Dec 15
00:29 dev
$ cd /tmp/initrd lrwxrwxrwx 1 righiandr righiandr 9 Dec 15 01:25
$ mkdir dev init -> sbin/init
$ cd dev drwxrwxr-x 2 righiandr righiandr 4096 Dec 15
$ sudo mknod tty1 c 4 1 00:29 proc
$ sudo mknod tty2 c 4 2 drwxrwxr-x 2 righiandr righiandr 4096 Dec 15
$ sudo mknod tty3 c 4 3 00:29 sbin
$ sudo mknod tty4 c 4 4 drwxrwxr-x 2 righiandr righiandr 4096 Dec 15
$ sudo mknod tty5 c 4 5 00:29 sys
$ sudo mknod tty6 c 4 6 drwxrwxr-x 4 righiandr righiandr 4096 Dec 15
$ sudo mknod console c 5 1 00:29 usr

Embedded GNU/Linux partendo da zero: integrazione e test { 33
A questo punto abbiamo completato limmagine di
drwxrwxr-x 2 1000 1000 0 Dec 14 23:29 sbin
un filesystem GNU/Linux minimale: la stessa base drwxrwxr-x 2 1000 1000 0 Dec 14 23:29 sys
di quello che troviamo in qualsiasi distribuzione drwxrwxr-x 4 1000 1000 0 Dec 14 23:29 usr

GNU/Linux.
Il passo finale quindi di creare linitramfs (sempre E al termine del boot otteniamo finalmente una
come abbiamo visto nella puntata precedente) e far vera shell sulla nostra board virtuale!
partire finalmente la nostra micro-distribuzione: A questo punto possiamo gestire la board come

# cd /tmp/initrd/ gestiremo un generico sistema GNU/Linux. Possia-


# find . | cpio -o --format=newc > ../initramfs mo usare il comando ls per listare i file del root
2667 blocks
filesystem (come visto sopra). O montare il procfs
# du -sh ../initramfs
1.4M ../initramfs e visualizzare la lista dei processi:

Come possiamo notare la nostra distribuzione oc- / # mount -t proc none /proc
cupa solo 1.4MB. Decisamente minimale. :-) / # ps
PID USER TIME COMMAND
Adesso possiamo far partire la board virtuale su
1 0 0:01 init
QEMU: 2 0 0:00 [kthreadd]
3 0 0:00 [ksoftirqd/0]
$ qemu-system-arm -M vexpress-a9 -kernel ./ 5 0 0:00 [kworker/u:0]
arch/arm/boot/zImage -serial stdio -display none 6 0 0:00 [migration/0]
-append console=ttyAMA0 -initrd /tmp/initramfs 7 0 0:00 [cpuset]
Booting Linux on physical CPU 0 8 0 0:00 [khelper]
Initializing cgroup subsys cpuset 9 0 0:00 [kworker/u:1]
Linux version 3.5.4 (righiandr@thinkpad) (gcc 158 0 0:00 [sync_supers]
version 4.7.2 20120910 (prerelease) (crosstool-NG 160 0 0:00 [bdi-default]
linaro-1.13.1-2012.09-20120921 - Linaro GCC 162 0 0:00 [kblockd]
2012.09) ) #1 SMP Fri Dec 14 14:15:35 CET 2012 168 0 0:00 [ata_sff]
CPU: ARMv7 Processor [410fc090] revision 0 178 0 0:00 [khubd]
(ARMv7), cr=10c53c7d 273 0 0:00 [rpciod]
... 274 0 0:00 [kworker/0:1]
Freeing init memory: 172K 280 0 0:00 [khungtaskd]
cant run /etc/init.d/rcS: No such file or directory 285 0 0:00 [kswapd0]
330 0 0:00 [fsnotify_mark]
Please press Enter to activate this console. 339 0 0:00 [nfsiod]
/ # ls -l 410 0 0:00 [kpsmoused]
total 0 413 0 0:00 [kworker/0:2]
drwxrwxr-x 2 1000 1000 0 Dec 14 23:29 bin 463 0 0:00 [deferwq]
drwxrwxr-x 2 1000 1000 0 Dec 15 00:28 dev 468 0 0:00 -/bin/sh
lrwxrwxrwx 1 1000 1000 9 Dec 15 00:25 init -> 469 0 0:00 init
sbin/init 471 0 0:00 init
drwxrwxr-x 2 1000 1000 0 Dec 14 23:29 proc 472 0 0:00 init
drwx------ 2 0 0 0 Dec 14 13:11 root 481 0 0:00 ps

34 } Embedded GNU/Linux partendo da zero: integrazione e test

Oppure visualizzare il tipo di architettura da /proc/


cpuinfo:

/ # cat /proc/cpuinfo
Processor : ARMv7 Processor rev 0 (v7l)
processor : 0
BogoMIPS : 129.43

Features : swp half thumb fastmult vfp edsp neon


vfpv3 tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc09
CPU revision : 0

Hardware : ARM-Versatile Express


Revision : 0000
Serial : 0000000000000000

Conclusioni
In questa puntata abbiamo visto come popola-
re linitramfs implementando una vera e propria
micro-distribuzione GNU/Linux, integrando cos
quello che avevamo visto nelle puntate precedenti
e chiudendo la serie teorica GNU/Linux partendo Riferimenti
da zero. [1] http://www.busybox.net/
Nella prossima puntata analizzeremo pi in [2] http://en.wikipedia.org/wiki/Everything_is_a_file
dettaglio laspetto pratico, ripetendo tutti i [3] http://en.wikipedia.org/wiki/Procfs
passi teorici visti nelle puntate precedenti su [4] http://en.wikipedia.org/wiki/Sysfs
una board reale: la Raspberry Pi. [5] http://en.wikipedia.org/wiki/Device_file

Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/embedded-gnulinux-partendo-da-zero-integrazione-e-test
{ 35

Corso di
Microprogrammazione:
i circuiti combinatori diPiero Boccadoro
20 Dicembre 2012

Bentornati. In questa terza puntata del corso


ci occuperemo dei circuiti combinatori.
Vi sempre sembrato che avere di pi
spendendo meno fosse solo uno slogan?
Bene, oggi impareremo che esistono metodi
di minimizzazione delle funzioni logiche e
capiremo come fare a realizzare un circuito che
fa le stesse cose con meno porte logiche, il
che vuole anche dire ridurre il costo del circuito
finale. Siete pronti?

L algebra di Boole, come introdotto nelle le- Quali sono le propriet


zioni precedenti, il vero e proprio fonda- delle funzioni logiche?
mento della programmazione. 0 e 1 sono presto detto. Si tratta di:
gli elementi basilari, se volete le entit pi piccole Commutativa
di questa scienza. Tralasciamo cosa possa voler
dire che lalgebra booleana sia un reticolo o al-
Associativa
gebra astratta (in fondo non siamo qui per que-
sto) e diamo una rapida (ma completa) scorsa alle
operazioni che sono definite, e possibili, in questo
Idempotenza
campo.
Abbiamo gi chiarito che esistono operatori logici
che permettono di realizzare funzioni comunque
Assorbimento
complesse ed in definitiva tutte le funzioni pos-
sibili.
36 } Corso di Microprogrammazione: i circuiti combinatori

Distributiva Se una funzione logica data,


possibile renderla pi semplice?
Questa domanda nasce quasi spontaneamente
Esistenza di minimo e massimo perch non c limite, in teoria, al grado di compli-
cazione di una funzione logica. Tuttavia, esistono
delle propriet che rendono possibile semplificare
Esistenza del complemento le funzioni o manipolarle per renderle meno com-
plesse. Per ciascuna delle operazioni e delle va-
riabili che riusciremo a far venire meno staremo
Ci sarebbero gi alcune importanti osservazioni semplificando non soltanto la complessit del cir-
da fare ma, visto che lelenco, in realt, non cuito ma anche il suo costo finale.
ancora finito, le rimandiamo a fra qualche mo- Vediamo, quindi, queste propriet per esteso rife-
mento. rite a ciascuna delle due operazioni:
E se una funzione logica data
in un certo modo, che vuol dire?
Risulta intuitivo comprendere che una funzione lo-
gica del tipo

implichi che per ciascuna variabile nominata


vi sia una pista conduttiva e che, se la variabile
compare complementata, anche a questa dovr NB: possibile, nella stesura delle funzioni logiche, omet-
corrispondere necessariamente ad un percorso tere il simbolo di AND logico allo stesso modo in cui pu es-
conduttivo realizzato tramite la complementa- sere omesso, nella scrittura dei polinomi, il simbolo per.
zione del precedente. OSSERVAZIONE: luso dellapice, in luogo del trat-
Allo stesso modo, per ciascuna funzione logica to orizzontale sopra una variabile equivalente.
coinvolta, ci sar una porta logica, tra quelle di Alcune di queste relazioni risultano piuttosto ele-
cui abbiamo parlato (AND, OR e cos via). mentari ma vale la pena di notare come unope-
Possiamo, quindi, affermare che per ciascuno razione di AND logico tra due variabili identiche,
degli elementi che costituiscono la funzione esi- come nel caso precedente (sulla variabile a), impli-
ster un corrispondente elemento unito ad al- chi scrivere unidentit. Questo rende unapparen-
trettanti percorsi conduttivi. te operazione da eseguire, in realt, solo un mero
Questo, chiaramente, implica che pi elementi refuso.
compaiono nella funzione, pi complicata essa Tuttavia, in merito a questa affermazione, utile
sar da realizzare. sottolineare come la semplificazione delle fun-
Corso di Microprogrammazione: i circuiti combinatori { 37
zioni logiche non sempre possibile applicando ca esatta per effettuare la sintesi delle reti com-
queste semplici identit. Talvolta occorre manipo- binatorie che siano costituite da uno o pi livelli.
lare, in maniera anche importante, una funzione In pratica, grazie a questo strumento, siamo in
per poterla semplificare. grado di visualizzare i valori assunti dalle variabili
anche importante dire che anche in questa ma- nelle funzioni che dobbiamo analizzare e semplifi-
tematica, in questalgebra, esistano nozioni come carle, per ottenere la riduzione della complessit
il complemento del numero (sempre riferito alla dellhardware in uso. Mica male, vero?
base, come abbiamo accennato nella prima lezio- Le Mappe di Karnaugh funzionano individuan-
ne) ed il concetto di elemento neutro rispetto ad do dei termini che vengono denominati minter-
una operazione, e quindi lo 0 per la somma che mini e maxtermini, sulla base della distanza
lunit per il prodotto. di Hamming. I termini, infatti, sono organizzati in
Lalgebra dei circuiti matrici di dimensioni pari al numero di variabili da
e la sua rappresentazione cui la funzione dipende e che sono disposti secon-
Finora sono stati introdotti concetti molto elemen- do il principio per il quale essi devono differire
tari, se volete, ma che aprono la strada ad altre per una sola variabile binaria per volta. cer-
considerazioni. In particolare, questalgebra diven- tamente pi facile visualizzare questa definizione
ta uno strumento per lanalisi e la sintesi delle reti che darla o esprimerla a parole ma possiamo cer-
digitali perch consente di descrivere, in forma al- tamente dire che le funzioni booleane, che abbiano
gebrica, la struttura del circuito. Una generica fun- un numero n di variabili, possono essere espresse
zione logica pu diventare, infatti, un polinomio. in forme canoniche per raggiungere la loro forma
Ed una volta che sia stata decisa quella convenzio- minima. Vediamo com fatta una mappa per farci
ne di cui parlavamo tempo fa, ovvero se lavorare unidea pi chiara:
con la logica positiva oppure con quella negati-
va, tutto risulta chiaro e ben descritto.
Tuttavia non sempre le funzioni logiche sono sem-
plici o corte come quelle che abbiamo enuncia-
to in precedenza. Una funzione pu dipendere da
cinque o pi variabili, il che rende molto difficile Sulla sinistra si vede una tabella che ordina la va-
capire quale propriet utilizzare ed applicare per riabile B sulle righe ed A sulle colonne. Le caselle
ottenere la semplificazione del circuito. Quindi, in costituiscono le possibili combinazioni dei valori
definitiva, non basta il colpo docchio. assunti dalle due variabili in oggetto. Sulla destra,
Ed proprio in questo scenario che ci vengono in la relativa tabella della verit. La variabile Y, tipica-
aiuto le cosiddette Mappe di Karnaugh. mente, rappresenta luscita del circuito, ovvero la
Si tratta di un metodo di rappresentazione grafi- nostra funzione.
38 } Corso di Microprogrammazione: i circuiti combinatori

Possiamo, molto brevemente, dire che minter- o a quattro


mini e maxtermini sono rappresentati da 0 ed 1
che lespressione della funzione risultato della
semplificazione sar o sotto forma di somma di
prodotti logici (prima forma canonica di Shan-
non) oppure come prodotto di somme (seconda
forma canonica di Shannon). A livello pratico, se
la semplificazione possibile, non cambia nulla. NB: lordine con il quale scegliamo di disporre le variabili
La differenza star nel tipo di porte che verranno lungo le righe e le colonne NON assolutamente impor-
impiegate nella implementazione della funzione. tante, determinante o significativo. Fondamentale, per,
mantenere la coerenza tra la posizione dei mintermini (o
Vediamo subito alcuni esempi che renderanno tut- maxtermini) e la relativa combinazione.
to molto pi chiaro partendo dalle porte logiche: Vediamo un esempio applicativo
La porta AND: Supponiamo di avere la funzione:
Y=ab+acd+bcd+abc+cd
la sua rappresentazione sulla mappa di Karnaugh
la seguente:

La porta OR

La porta EXOR
Dal momento che, per minimizzare la funzione,
devo considerare, se possibile, soltanto implicanti
(gruppi di mintermini) primi (di dimensione massi-
ma possibile, sempre multipla di 2) essenziali (che
contengano almeno un mintermine non coperto da
Cos, si usano mappe per funzioni a tre variabili altri), la funzione pu essere scritta come:
Y=ab+bcd+cd+ac
NB: analoghe considerazioni vanno fatte per i maxtermini
(che verranno indicati con 0 e non con 1). Si parler, in quel
caso, di implicati.
Corso di Microprogrammazione: i circuiti combinatori { 39
In questo caso particolare esistono, per, due pos- disposte ai quattro vertici di un quadrato ed esse
sibili soluzioni, esattamente equivalenti. Se, infatti, saranno differenziate da una coppia di valori as-
invece di considerare implicante primo essenziale sunti da due delle sei variabili in gioco.
quello composto dalle quattro cella in basso a de- Quando le variabili diventano sette la geometria
stra avessimo considerato quello composto dalle disegnata dalle matrici sar tridimensionale
celle 1101,1110,1001,1011 avremmo ottenuto la cos via dicendo
funzione: per questo che, in realt, quando le funzioni di-
Y=ab+bcd+cd+ad ventano molto complesse (cio dipendono da mol-
Essa del tutto analoga al caso precedente in te variabili), si utilizzano metodi differenti, come, ad
termini di costo della realizzazione. Questo esempio, il metodo Quine McCluskey.
dimostra un fatto interessante: la minimizzazio- La minimizzazione delle mappe un problema
ne NON un processo univoco ma comunque che pu essere risolto, chiaramente, con algoritmi
efficace. numerici. Per darvene unidea, ecco un software
Se da un lato vero che questo metodo pu essere che effetto proprio questoperazione: il suo nome
utilizzato per funzioni con un numero qualsiasi di MIN.

variabili, evidente che, quando esse superano le Tempi di propagazione


6, anche soltanto disegnare le mappe comincia a Prima di lasciarci, credo sia importante fare un
diventare difficile. Infatti, gi con cinque variabili breve accenno a questo argomento e sar breve
necessario disegnare due matrici di dimensio- per una questione di rispetto perch ci sarebbe
ne 4 4, una accanto allaltra che differiscano da scrivere intere biblioteche su questo tema e
per il valore assunto dalla quinta variabile. Se alla su come va gestito. A suo modo, anche questa
prima tabella si associa la quinta variabile con va- arte. Tuttavia importante prendere dimesti-
lore logico zero mentre alla seconda la stessa va- chezza con questo tema per cui vale la pena di
riabile ma con dolore logico uno, si rispettano tutti soffermarci un momento.
i principi di cui abbiamo parlato in precedenza e si Sappiamo che non esistono sistemi che ri-
riesce visualizzare le possibili semplificazione. spondano allistante. Un segnale elettrico, cos
Se le variabili diventano sei, evidentemente, come un qualunque stimolo, si propaga allin-
sar necessario disegnare quattro diverse tabelle terno di un mezzo e ci vuole un certo tempo
40 } Corso di Microprogrammazione: i circuiti combinatori

perch questo avvenga. Quando una porta logi-


ca deve rispondere con unuscita combinazione
degli ingressi, questa lo far solo dopo un certo
tempo (che dipende dal suo livello di sensibilit,
dalla sua funzionalit, dalla tecnologia in cui
stata realizzata e da una serie di altri parametri
che, per ragioni di tempo, non possiamo analiz-
zare in questa sede). Si consideri la figura precedente come punto di
Questo vuol dire che una rete combinatoria do- partenza. Qui sono identificati tutti i punti notevoli
vr essere dimensionata stando attenti ai singoli di nostro interesse che sono utili nella definizio-
ritardi e studiando come il ritardo introdotto da ne dei tempi in oggeto insieme alle tipiche forme
ciascuna porta influisca sul risultato finale. Cia- donda associate. Vediamoli nel dettaglio:
scuna delle variabili potrebbe dover subire Tempo di discesa, tf, (che st per time fall) del
ritardi diversi prima di essere, per esempio, segnale duscita. Esso misurato tra il 90% e il
sommata ad una che non mai neanche stata 10% della tensione di uscita massima VOHM (va-
complementata. Questo vuol dire che lopera- lore finale);
zione dovr necessariamente essere effettuata Tempo di salita, tr, (ovvero time rise) del segna-
solo dopo che la variabile pi lenta sar effet- le duscita. Esso definito come il tempo neces-
tivamente disponibile. sario affinch luscita si porti dal 10% al 90% del
Se vogliamo questa una considerazione abba- valore massimo VOHM.
stanza banale, molto intuitiva; tuttavia, quando Tempo di propagazione nella commutazione
giochiamo con tempi dellordine dei ns queste dal livello alto a quello basso, tpHL, che misu-
considerazioni non sono davvero pi cos scon- rato come intervallo temporale tra il 50% di VIHM
tate, anzi rischiano di inficiare il funzionamento e il 50% di VOHM;
dellintero sistema! Tempo di propagazione nella commutazione
Supponiamo di avere a che fare con una del livello basso a quello alto, tpLH. Esso mi-
porta logica che effettua semplicemente la surato come intervallo tra listante di tempo in cui
complementazione. La definizione dei tempi di la tensione assume un valore pari al 50% di VIHM
propagazione relativa, in definitiva, agli inter- e quello in cui al 50% di VOHM.
valli temporali necessari affinch luscita, nella I tempi tpHL e tpLH sono, di solito, diversi ed il co-
commutazione dello stato logico, si porti al livel- struttore fornisce anche una figura di merito piut-
lo di tensione utile perch si abbia il riconosci- tosto importante, ovvero un valore medio tra i due,
mento del nuovo stato. Ovviamente questo vale che indicato come ritardo di propagazione tp.
per entrambe le commutazioni. Esso varia in maniera piuttosto considerevole a
Corso di Microprogrammazione: i circuiti combinatori { 41
seconda delle varie famiglie logiche e, quindi, del a 2 (unit) poich v da invertire la variabile b ed
tipo di circuito che stiamo utilizzando. Un valore di utilizzare un porta logica OR.
riferimento per la famiglia TTL (standard, che iden- Largomento delle famiglie logiche, per capire me-
tifica la logica di tipo Transistor-transistor) : glio i tempi di propagazione ed i ritardi pi in ge-
tp = 10 ns. Nel caso della logica cMOS si ha: tp = nerale, si presta ad approfondimenti di ogni tipo.
100 ns, quando VCC = +5 V. Potete provare, per esempio, a vedere cosa signi-
Conclusioni ficano i vari acronimi RTL, DTL, TTL. O magari leg-
Bene, per oggi basta cos. Gli argomenti toccati gere qualcosa riguardo al consumo di potenza, per
completano un quadro di introduzione che, dalla minimizzare il quale la tensione di alimentazione
prossima volta in poi, ci permetter di comincia- stata progressivamente ridotto nel tempo (da 5 V
re a mettere le mani seriamente sulle porte, sulle a 3,3 V e cos via). Questo corso vuole essere pi
operazioni e su alcune strutture logiche standard pratico e sar quindi pi improntato a mettere le
come il full-adder, ovvero, letteralmente, il somma- mani sui circuiti ma larea On-demand di EOS-
tore completo. Book qui per questo! Se preferireste che questi
Anche sul concetto di costo ci sarebbe molto da argomenti venissero approfonditi, chiedetelo e sa-
dire ma come chiave di lettura interpretativa po- rete certamente accontentati.
tremmo assumere, per comodit, un valore unita-
rio sia per ciascuna operazione sia per ciascuna Come di consueto, la parola adesso a voi: dubbi?
variabile. Cos Y=a+b risulta avere un costo pari Domande? Perplessit? Questioni?

Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/corso-di-microprogrammazione-i-circuiti-combinatori
42 }

La miniaturizzazione
continua,
con i dielettrici low-k! diPiero Boccadoro
25 Dicembre 2012

N
Ci siamo occupati, nel recente passato, della ellindustria dei semiconduttori esistono
legge di Moore e di alcuni suoi aspetti connessi materiali cui si fa riferimento con il nome
con la tecnologia presente ed una previsione di dielettrici low-k. Si tratta di materiali
del futuro. Tuttavia la tecnica perfettibile e che hanno una costante dielettrica relativa pi bas-
questo rende necessario interrogarsi sia su sa di quella del biossido di Silicio (SiO2). La mo-
che cosa potrebbe succedere nel futuro sia tivazione alla base dellutilizzo di questi materiali
sulla possibilit che la tecnologia che oggi quella di apportare delle modifiche tecnologiche
utilizziamo, in quanto allavanguardia, possa ai processi di fabbricazione in modo da riuscire a
non essere quella che utilizzeremo domani, mantenere il trend attuale nella miniaturizzazio-
perch limitata. E questo vale sia per i processi ne dellindustria dei dispositivi microelettronici.
sia per i materiali impiegati. Oggi, infatti, Se da un lato, infatti, continuare a ridurre le
vediamo alcuni tipi di materiali che potranno dimensioni il pi possibile risulta un fattore
garantire il mantenimento del trend di crescita fondamentale dal punto di vista non soltanto
relativo al numero ed alle dimensioni dei tecnologico ma economico, esiste una legge
transistor che siamo capaci di integrare. sperimentale che descrive il comporta-
La miniaturizzazione continua, con i dielettrici low-k! { 43
mento e landamento di tale tendenza, alla definito dalla legge di Moore.
quale si fa espresso riferimento con il nome di Il biossido di silicio stato utilizzato per rea-
legge di Moore che rischia di vacillare proprio lizzare il gate dei transistor MOS per decenni
a causa di alcuni problemi relativi alla tecnica con ma dal momento in cui questi sono diminuiti in
la quale si realizzano i dispositivi. dimensione, lo spessore della regione di gate
Per diverso tempo si utilizzata la legge di ha necessariamente dovuto ridursi. Questo ha
Moore come metodo di analisi ma anche come aumentato la capacit di gate e, di conseguenza,
prospettiva per lo sviluppo futuro. la corrente di pilotaggio, rendendo le prestazioni
Quando parliamo di circuiti digitali c da conside- molto migliori.
rare che i dielettrici che servono per effettuare gli I limiti tecnologici riguardanti le dimensioni in og-
isolamenti o le passivazioni separano nettamente getto sono quelli relativi alla precisione del processo
gli strati conduttori gli uni dagli altri, indipendente- fotolitografico. noto, infatti, che la realizzazione
mente dal fatto che siano piste conduttive oppure dei dispositivi di cui stiamo trattando ha come
strati di transistor od altri componenti. Man mano limite la precisione con la quale possibile re-
che le dimensioni dei singoli dispositivi sono state alizzare le maschere che vengono esposte alla
diminuite, ed i transistor sono stati disposti in ma- radiazione ultravioletta grazie alla quale il fotoresist
niera molto pi ravvicinata, gli strati dielettrici di si polimerizza.
isolamento sono diventati molto pi sottili al punto Man mano che lo spessore si riduce fino alla
da sollevare una serie di problematiche relative dimensione di 2 nm, le correnti di perdita do-
allaccumulo di carica locale, e quindi diffe- vute alleffetto tunnel aumentano in maniera
renze di potenziale parassite, e problemi di considerevole, con il risultato di aumentare il
diafonia (crosstalk). consumo di potenza.
La sostituzione del biossido di silicio con questo Altra conseguenza la diminuzione dellaffidabili-
tipo di materiali, bench a parit di spessore, ridu- t del dispositivo. Questo tanto pi vero quanto,
ce proprio le componenti capacitive da parassite man mano che aumenta la dissipazione di potenza,
permettendo velocit di commutazione maggiori aumenta anche la necessit di dissipare il calore
ed una minore dissipazione di calore. prodotto. Il raffreddamento diventa, di conseguen-
Come facilmente intuibile, se esistono ma- za, una delle caratteristiche irrinunciabili di un si-
teriali low-k perch ne esistono anche di stema che operi con tecnologia allo stato solido.
tipo high. In particolare, si tratta di materiali Se si prova a sostituire il biossido di silicio con ma-
la cui costante di elettrica, se confrontata con teriale dielettrico di diversa natura, la capacit di
quella del biossido di silicio, pi alta. Limple- gate pu aumentare, o diminuire, rendendo pi o
mentazione di questi materiali rientra comunque meno importanti i fenomeni di perdita.
nellambito del tentativo di mantenere il trend Indipendentemente da quale tipo di materiale si
44 } La miniaturizzazione continua, con i dielettrici low-k!

scelga, esistono diverse soluzioni che possono es- stra una costante dielettrica pi bassa, molto
sere impiegate allo scopo di realizzare questi strati vicina a 3,5.
isolanti e che possono essere facilmente integrati Le caratteristiche generali di cui deve essere do-
allinterno dei processi di fabbricazione. tato un materiale dielettrico di tipo low-k posso-
Per quanto riguarda i materiali low-k, gli sforzi nel- no essere riassunte in categorie, come indicato in
lo sviluppo si sono concentrati sulla creazione di questottimo riferimento. In breve, per, possiamo
diversi materiali, tra i quali ci sono i biossidi di sili- riassumere che principalmente proprio il basso
cio drogati con fluoro, quelli drogati con il carbonio valore di k a determinare la scelta di questo tipo di
nonch strati dello stesso materiale ma porosi, ov- materiali. Tuttavia non lunica motivazione, per-
vero in cui stato creato il vuoto allinterno della ch, come accennato in precedenza, la stabilit
struttura in posizioni ben determinate. Dal punto di termica gioca un ruolo essenziale. Tra le pro-
vista tecnologico, ovviamente, la posizione di que- priet meccaniche di cui abbiamo vagamente
ste modifiche alla struttura cristallina, definite accennato c, certamente, una buona capa-
generalmente impurit, deve necessariamente cit di adesione agli strati sui quali il materiale
essere precisa perch che queste si trovino in deposto. Per ragioni tecnologiche si utilizzano
posizione sostituzionale e non interstiziale questo tipo di dielettrici anche per via del fatto che
permette di garantire proprio le prestazioni ri- si riesce a realizzare strati di spessore omogeneo,
chieste. il che garantisce uniformit nellisolamento.
Una delle soluzioni di maggior interesse quando I materiali porosi, altra possibilit proposta in que-
trattiamo di dielettrici low-k il vetro fluorosilicato sta materia, propongono diversi svantaggi, primo
(in sigla FSG, acronimo di Fluorosilicate Glass) si dei quali la scarsa resistenza meccanica. Dal
tratta di un materiale che viene utilizzato nei pro- punto di vista termico, inoltre, la scarsa conduci-
cessi di fabbricazione dei circuiti integrati come bilit termica potrebbe portare anche alla rottura
dielettrico da frapporre tra strati metalli-
ci (in genere rame). Il materiale gi
di largo impiego da quando la tec-
nologia realizzativa dei MOSFET ha
raggiunto i 250 nm. Questo stato
possibile anche in virt del fatto che
questo tipo di materiali dimostra di
avere delle ottime propriet dal punto
di vista meccanico.
Il processo di drogaggio dellSiO2 con
il fluoro produce uno strato che dimo- Schema del macchinario | cnx.org
La miniaturizzazione continua, con i dielettrici low-k! { 45
per effetto di un eccesso di temperatura localiz- questo tipo di contatti rappresentato dal feno-
zato. Inoltre, come detto in precedenza, questi meno dellelettromigrazione, che di solito dovuto
materiali hanno comunque necessit di essere alle dimensioni ed alla forma dello strato in esame
utilizzati insieme con il biossido di silicio per ga- come effetto dei processi tecnologici di deposi-
rantire laderenza. zione. La resistivit effettiva del materiale varia in
Esistono anche differenze relative proprio al tipo di maniera significativa con la temperatura e questo,
tecnica, di processo tecnologico impiegato per re- unito agli effetti termici dellutilizzo di materiali ina-
alizzare questi materiali; principalmente sono due deguati per effettuare la passivazione, pu genera-
le tecniche che si contendono il primato: la CVD re ogni tipo di malfunzionamento circuitale.
(acronimo di Chemical- Un punto di vista da
Vapor Deposition) e la prendere in considera-
Spin-on Deposition. zione quello trattato in
Ciascuna delle due pro- un esempio che spiega
pone vantaggi e svantag- quale sia la necessit di
gi ma entrambe rappre- interazione tra i pro-
sentano una possibilit cessi di fabbricazione
concreta per lutilizzo di dei contatti in rame e
materiali low-k. delle interconnessioni
Spin-on low-k integrated
Anche lutilizzo di con dielettrici low-k.
(source: JSR, credit: K. Mosig)
ponti (bridges) e di Grazie alle immagini ri-
air-gaps risulta piuttosto interessante ma, portate si vede chiaramente quali siano le regioni
allo stato attuale sembra comunque indispen- in cui si possono manifestare effetti indesiderati
sabile continuare la ricerca in merito vista la riguardo i ritardi di interconnessione e la capacit
instabilit della soluzione. parassita.
Sulle interconnessioni e sullutilizzo del rame, Insomma, la legge di Moore sembra poter conti-
nonch sui trend attualmente in gioco ne- nuare a descrivere il futuro della tecnologia cos
cessario fare unattenta riflessione. La scel- come la conosciamo oggi per lungo tempo ancora
ta del rame, infatti, come sar certamente noto, se questo trend dovesse continuare.
non casuale ma dipende dal fatto che rispetto In questo, la ricerca di nuovi materiali e tecnologie
ad altri materiali propone un ottimo compromesso sono certamente destinate a giocare un ruolo pre-
tra resistivit e costo. Il problema fondamentale di dominante.
Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/miniaturizzazione-continua-con-i-dielettrici-low-k
46 }

I segreti di Mountain Lion:


il tuo Mac in grado
di farlo girare? diEdi82
27 Dicembre 2012

OS X 10.8 Mountain Lion il nuovo sistema operativo Mac OS X, sviluppato da Apple e rilasciato
il 25 luglio 2012. La sua uscita stata preceduta e seguita da grande clamore, ma Mountain Lion
conserva qualche piccolo segreto di cui il grande pubblico non al corrente. Anche se dotato di
supporto a 64-bit e di una scheda grafica avanzata, il tuo Mac potrebbe non farcela a tenere il
passo di Mountain Lion OS X 10.8. Ecco perch.

32 bit contro 64 bit in esecuzione di accedere allhardware in maniera

L
a disputa tra sistemi a 32-bit e sistemi a sicura e controllata).
64-bit si rif viva con luscita di Mountain Nei Mac la questione 32/64 bit complicata dal
Lion; ma in questo frangente il dibattito non fatto che alcuni aspetti del sistema possono essere
deve investigare se le CPU sono in grado di sup- a 32 bit, mentre altri a 64, anche se il processore
portare i 64 bit o meno, ma va pi in profondit, del sistema a 64 bit. Partiamo con la CPU. Quella
coinvolgendo i requisiti minimi per caricare e far del Mac Pro 1,1 capace di eseguire calcoli a 64-
girare il kernel (un software che rappresenta il nu- bit, permettendo al sistema di calcolare un codice
cleo del sistema operativo, e permette ai processi a 64-bit, come in Safari e in Photoshop.
I segreti di Mountain Lion: il tuo Mac in grado di farlo girare? { 47
Le CPU sono anche compatibili con sistemi a 32- re da SI a No e viceversa tenendo premuti insieme
bit, cos da poter far girare, simultaneamente, un i tasti 6 e 4 (per caricare a 64-bit)e 3 e 2 (per
codice da 32-bit (infatti sia Safari che Photoshop caricare a 32-bit) allavvio.
presentano questultima opzione). In alternativa, si digita il seguente comando sul
Il problema si palesa, quindi, oltre che nella capacit Terminale:
di calcolo della CPU, anche nella gestione dei vari ioreg -l -p IODeviceTree | grep firmware-abi
aspetti hardware. Vediamo di chiarire meglio que- Per scoprire se il supporto a 32-bit o a 64-bit.
sto aspetto andando pi in profondit, chiamando Nei sistemi con firmware EFI 32-bit, il kernel del
in causa il firmware, una sequenza di istruzioni che sistema operativo si avvia solo in modalit 32-bit,
gestiscono alcuni dettagli, come la distribuzione anche se le CPU hanno una capacit di 64-bit e
dellenergia, e componenti, come delle ventole e possono far girare in modalit 64-bit programmi
il loro funzionamento. Il firmware permette lavvio come Photoshop. Apple ha rilasciato solo il ker-
di un componente e la sua interazione con gli altri, nel a 64-bit in Mountain Lion, per cui non ci sar
per mezzo di protocolli di comunicazione. Il codice possibilit di avviarlo su sistemi con firmware EFI a
del firmware su un Mac Pro 1,1 a 32-bit, mentre 32-bit. Il problema, inoltre, si andrebbe a presen-
nei sistemi Apple pi recenti si passati ad un tare con tutte quelle applicazioni che richiedono
codice a 64-bit (firmware EFI). la modalit a 32-bit; ad esempio CISCO Vpn non
Il kernel del sistema operativo lultimo aspetto funziona su OS X a 64-bit.
che riguarda la questione 32/64 bit. Il kernel pu Requisiti grafici
infatti funzionare in entrambe le modalit su siste- Un altro fattore da tenere in seria considerazione
mi con firmware EFI 64-bit, mentre con firmware per valutare lupgrade a Mountain Lion 10.8, il
EFI 32-bit, viene gestita solo quella a 32-bit. Que- requisito grafico. Il nuovo sistema operativo sup-
sta variazione visibile nellutility System Profiler porta nuove API grafiche per OpenGL, OpenCL
(chiamata System Information
in Lion), accedendo alla sezio-
ne software sulla sinistra.
A questo punto bisogna con-
trollare la riga Kernel 64-bit
ed Estensioni per verificare se
ad esso associata la voce SI
o NO. Lopzione NO lunica
possibile sui sistemi a 32-bit,
come i Mac Pro 1,1, mentre
per gli EFI 64-bit si pu passa- System Profiler
48 } I segreti di Mountain Lion: il tuo Mac in grado di farlo girare?

e Quicktime, per cui la GPU verr utilizzata molto grado di supportarlo. Come fare?
di pi rispetto alle precedenti versioni. Dal men Apple, bisogna entrare in Informazio-
Morale della favola, un sistema le cui capacit ni su questo Mac e cliccare su Pi Informa-
GPU non corrispondono a quelle richieste dalla zioni, dove viene riportato il numero di serie del
nuovi API andr incontro a pesanti rallentamenti. computer.
Inoltre, alcuni sistemi dotati sia di CPU a 64-bit Il numero va inserito sul sito del supporto Apple,
che di firmware EFI a 64-bit, non raggiungono nella sezione delle specifiche tecniche; in questo
gli standard grafici minimi imposti da Mountain modo verranno elencate le informazioni necessa-
Lion. rie per sapere se sul Mac in questione possibile
Tra di essi troviamo alcuni Mac Mini, MacBook installare Mountain Lion.
Air e MacBook che fanno affidamento solo su In realt stata diramata una lista in cui si spe-
supporti grafici Intel GMA 950 e X3100, senza cificano i modelli in grado di supportare senza
utilizzare una GPU dedicata. Ma ancora, nel caso porblemi Mountain Lion:
in cui venisse soddisfatto questultimo requisito, iMac (met 2007 o superiore)
alcune GPU, come lATI Radeon X1900 e la Nvidia MacBook (fine 2008 Aluminum, inizio 2009 o
Geforce 7300, non sono comunque allaltezza. superiore)
Quale Mac MacBook Pro (met/tardo 2007 o superiore)
possedete? MacBook Air (tardo 2008 o superiore)
Uno dei punti di forza dei prodotti della Apple Mac mini (inizio 2009 o superiore)
la loro lunga durata. Purtroppo, per, essi ten- Mac Pro (inizio 2008 o superiore)
dono a sopravvivere al supporto della versione Xserve (inizio 2009)
dellOS X con cui sono stati originariamente svi- Per cui lesaustiva scheda sulle informazioni tec-
luppati. Ogni nuovo rilascio del sistema opera- niche pi che altro utile per sviscerare meglio
tivo, quindi, comporta una verifica dei requisiti, alcuni dettagli del proprio Mac, dalla scheda gra-
per capire se il Mac in possesso sia o meno in fica alle possibili implementazioni.

Le finestre Informazioni su questo Mac


(a sinistra) e Pi informazioni (sotto)
I segreti di Mountain Lion: il tuo Mac in grado di farlo girare? { 49
2009 per gli iMac, met
2010 per i Mac Mini e i Mac
Pro, mentre fine 2010 per
i MacBook Air). Anche Ai-
rPlay Mirroring si aggiun-
ge alla lista di funzionalit
in forse.
APM permette di utilizzare
il televisore HD come un
monitor esterno, senza fili,
attraverso una Apple TV. In
La sezione realt non ancora chiaro
Specifiche tecniche come mai questa funziona-
del sito Apple
lit possa creare problemi
E non finisce qui.. su alcuni Mac, ma alcune teorie coinvolgono
Ci sono alcuni Mac che possono installare e far il tipo di GPU, altre la larghezza di banda del
girare Mountain Lion, ma non necessariamen- network della scheda Airport installata. In ogni
te permetteranno di usufruire di tutte le nuove caso, un Mac precedente il 2011 avr serie dif-
funzionalit. ficolt a collegarsi con una TV HD.
I modelli che abbiamo elencato nel paragrafo Eseguire lupgrade a Mountain Lion OSX 10.8
Requisiti Grafici sono i cosiddetti intermedi, quindi consigliato solo a chi possiede un Mac
cio non troppo vecchi da essere abbandonati, che rientri nella lista sopra elencata e rispecchi
ma nemmeno abbastanza nuovi per sfruttare in delle mirate caratteristiche tecniche. Non sof-
pieno le potenzialit dei sistemi operativi di ulti- fermatevi semplicemente sullanno di fabbrica-
ma generazione. zione, perch alcuni modelli, pi vecchi di altri,
Essi permetteranno un utilizzo limitato di sono meglio equipaggiati per far girare lultimo
Mountain Lion, perch alcune funzioni non sa- sistema operativo di casa Apple.
ranno eseguibili. Un esempio Airdrop, per cui
necessaria una specificata scheda Airport Ex- Voi avete avuto problemi con linstallazione
press installata solo sui Mac rilasciati a partire di Mountain Lion, o anche solo con alcune
da fine 2008 (MacBook e MacBook Pro, inizio sue funzionalit?
Lautore a disposizione nei commenti per eventuali approfondimenti sul tema dellArticolo.
Di seguito il link per accedere direttamente allarticolo sul Blog e partecipare alla discussione:
http://it.emcelettronica.com/i-segreti-di-mountain-lion-tuo-mac-%C3%A8-grado-di-farlo-girare
50 }

Come ricevere GRATIS Demoboard?


Con REVIEW4U!!
Basta semplicemente essere Abbonato al progetto EOS-Book e poi descrivere nei commenti quale la tua idea
di applicazione per la demoboard che ogni sabato metteremo in palio! Lidea pi originale, ma anche verosimile,
verr premiata con la board. Te la spediamo noi a casa gratuitamente, tu dovrai soltanto..... utilizzarla e come
da regolamento, inviarci uno scritto sullutilizzo, anche semplicemente un getting started o la prima messa
in funzione con lampeggio di un led insomma niente di complicato, vogliamo solo essere sicuri che il
vincitore la utilizzi veramente!

A questo numero di EOS-Book hanno partecipato:


Unendo la passione per la progettazione elettro- Piero un appassionato studioso. Laureato in In-
nica e le news da mondo tecnologico, nel Dicem- gegneria Elettronica e cultore dellOpen Source,
bre 2006 Emanuele d vita a LElettronica Open amante della tecnologia e con uno sconfinato de-
Source, un blog condiviso rivolto alla fruibilit co- siderio di apprendere tutto ci che non conosce.
mune di risorse e progetti di elettronica e novit La sua tesi di laurea, pubblicata su queste pagine,
dal mondo dei semiconduttori e della tecnologia. ha segnato linizio della sua collaborazione con
Emanuele Piero questo blog.
Founder & Tech Chi accende una candela da te sillumina anche lui, ma Boccadoro
Supervisor non ti lascia al buio - Share for life! Technical Writer Vola solo chi osa farlo!
& Moderator

Stefano laureato in Ingegneria Elettronica ed ha Andrea laureato in Ingegneria Informatica. Vio-


unesperienza pluriennale nel settore dei sistemi linista a tempo perso e appassionato da sempre
embedded real-time, avendo partecipato a diversi di sistemi operativi, ha maturato esperienze su si-
progetti in campo avionico, automazione industria- stemi embedded, sistemi real-time, architetture di
le, e telecomunicazioni. calcolatori e tecnologie di virtualizzazione. Profon-
Ama lavorare direttamente sullhardware e tenersi do sostenitore del modello Open Source ha con-
Stefano Lovati informato sulle nuove tecnologie elettroniche. Andrea Righi tribuito attivamente a vari progetti open, con par-
Technical Writer Technical Writer ticolare interesse per il kernel Linux. Attualmente
Il dubbio linizio della sapienza lavora come freelance su progetti che coinvolgono
Cartesio in un modo o nellaltro la programmazione kernel.

If I have seen further it is only by standing


on the shoulders of giants
Sir Isaac Newton

Alessandra ha conseguito la laurea in Giurispru- Appassionato sin da piccolo per lelettronica, la


denza ma non ha mai abbandonato la sua passio- matematica ed il fai da te. programmatore di
ne per i gadget elettronici e le novit tecnologiche, computer, insegnante di informatica e di mate-
portata avanti grazie alle esperienze lavorative matica. Appassionato di numeri, alla continua
nellambito IT in Spagna, Irlanda e Australia. ricerca di grandi Numeri Primi. Ha scritto anche
La collaborazione con EOS le ha permesso di con- un libro sulla programmazione del PIC 16F84 con
Edi82 frontarsi anche con altri utenti e di approfondire le Giovanni mikroBasic.
Senior Writer proprie conoscenze. Di Maria titolare dellazienda ElektroSoft, che si occupa di
pi facile spezzare un atomo che un pregiudizio. Technical Writer elettronica ed informatica. Si cura a tempo pieno
Albert Einstein di formazione ed insegnamento.

Tutti gli Articoli sono di propriet di EMCelettronica Srl e ne vietata la riproduzione ed in generale
la diffusione. Gli Abbonati Premium sono autorizzati alla stampa su carta per uso personale.
Per ogni eventuale richiesta potete scrivere a premium@emcelettronica.com

Potrebbero piacerti anche