EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71...

116
VINCI OGNI MESE FANTASTICI PREMI CON IL QUIZ LE SO TUTTE!!! GIUGNO n° 252 Anno 22 5,50 EDIZIONI L’INVERTER E LE ONDE SINUSOIDALI Come fare a generare un’onda sinusoidale necessaria per pilotare con un inverter i motori in corrente alternata www.farelettronica.com Al via il nuovissimo corso di programmazione ANSI C per i PIC MikroC By Example SPECIALE Dal Barcode al RFID La radiofrequenza prende il sopravvento sui sistemi di identificazione tradizionali, scopri adesso come funziona la rivoluzionaria tecnologia RFID, la troverai presto anche nelle banconote! L’USB TI AIUTA AD ACQUISIRE I DATI! Un bellissimo circuito basato sul PIC18F2550 per fare acquisizione dati con la porta USB del tuo computer o notebook MICROPROCESSORI SIMULATI Un PicoBlaze a 8 bit o un potente processore PowerPC simulato da una CPLD? Non solo è possibile, ma molto facile ed economico! MENSILE Poste Italiane Spa - Spedizione in abbonamento Postale - D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma1, DCB Milano. In caso di mancato recapito, restituire all'editore che si impegna a pagare la relativa tassa presso il CPM di Roserio - Milano FAI OSCILLARE IL TUO OPERAZIONALE! L’amplificatore operazionale può essere una alternativa semplice ed economica all’oscillatore: impara tutto su questa applicazione! UN INNOVATIVO OROLOGIO A VISUALIZZAZIONE FLUTTUANTE Tutta la tecnica necessaria per controllare il sincronismo tra l’accensione dei led e l’oscillazione, utilizzando soltanto un PIC!

Transcript of EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71...

Page 1: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

VINCI OGNI MESEFANTASTICI PREMI

CON IL QUIZ

LE SO TUTTE!!!

GIUGNOn° 252 • Anno 22

€ 5,50

EDIZIONI

L’INVERTER E LE ONDE

SINUSOIDALICome fare a generare un’onda

sinusoidale necessaria per

pilotare con un inverter i motori

in corrente alternata

www.farelettronica.com

Al via il nuovissimo corso

di programmazione

ANSI C per i PIC

MikroC

By Example

SPECIALEDal Barcode al RFIDLa radiofrequenza prende il sopravvento

sui sistemi di identificazione tradizionali,

scopri adesso come funziona

la rivoluzionaria tecnologia RFID,

la troverai presto anche

nelle banconote!

L’USB TI AIUTA AD

ACQUISIRE I DATI!Un bellissimo circuito

basato sul PIC18F2550

per fare acquisizione

dati con la porta

USB del tuo computer

o notebook

MICROPROCESSORI

SIMULATIUn PicoBlaze™ a 8 bit o

un potente processore

PowerPC™ simulato

da una CPLD?

Non solo è possibile,

ma molto facile ed

economico!

MENS

ILE

Po

ste

Italia

ne S

pa -

Sped

izion

e in

abb

onam

ento

Pos

tale

- D.

L. 3

53/2

003

(con

v. In

L. 2

7/02

/200

4 n.

46)

art.

1, co

mm

a1, D

CB M

ilano

.In

caso

di m

anca

to re

capi

to, r

estit

uire

all'

edito

re c

he s

i im

pegn

a a

paga

re la

rela

tiva

tass

a pr

esso

il C

PM d

i Ros

erio

- Mi

lano

FAI OSCILLARE IL

TUO OPERAZIONALE!L’amplificatore

operazionale può

essere una alternativa

semplice ed economica

all’oscillatore: impara

tutto su questa

applicazione!

UN INNOVATIVO OROLOGIO

A VISUALIZZAZIONE

FLUTTUANTETutta la tecnica

necessaria per

controllare il

sincronismo tra l’accensione

dei led e l’oscillazione,

utilizzando soltanto un PIC!

Page 2: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252002

Page 3: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

More Info Please!

www.farelettronica.com/mip

Richiedi maggiori informazioni sui

contenuti di Fare Elettronica,

visita il sito:

Oppure compila questo modulo ed invialo

via fax al numero 02 66508225

Nome

Cognome

Azienda

Indirizzo Azienda

Cap Città

Prov. Nazione

Tel.

Fax

e-mail

Privacy. Ai sensi del Decr. Lgs. 196/2003 la informiamo che i dati trasmessi verranno impiegati coi principali scopi di indagini di mercato e nelle modalità previste dallo stesso, prevalente-

mente con mezzi informatici. Il conferimento, di norma facoltativo, è obbligatorio per permettere il rapporto commerciale. È in ogni caso fatto diritto dell’interessato esercitare i propri dirit-

ti, nei modi previsti dal “Titolo II art. 7” della legge sopra citata, scrivendo a Inware Edizioni Via Cadorna 27 – 20032 Cormano o trmite email a [email protected]

DATI DEL LETTORE

* Utilizza il numero MIP che compare alla fine di ogni articolo o all’interno delle pagine di tuo interesse

Numero della rivista

Codici MIP*

(da compilare)

252

Page 4: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Guida alnumero 252

Speciale

44 Panoramica sulle tecnologie RFIDL’omni presente codice a barre che qualche

anno fa diede il via alla rivoluzione nei sistemi

di identificazione, si rivela oggi inadeguata in

un numero sempre maggiore di casi.

I codici a barre oltre a non essere riprogrammabili sono

anche particolarmente limitati in termini di quantità di dati

che possono contenere. La tecnologia RFID (Radio Fequency

IDentification) rappresenta la soluzione ottimale a questo

problema, introducendo la possibilità di memorizzare dati di

identificazione e ritrasmetterli, quando richiesto, utilizzando

comunicazioni radio. Ecco tutti i segreti di questa tecnologia e

come viene integrata nelle etichette e perfino nelle banconote.

22 Orologio a visualizzazione fluttuanteL’elemento di visualizzazione di questo particola-

rissimo orologio sono 7 led da 3 mm montati sulla

lama di un coltello. L’orario viene visualizzato flottante

a mezz’aria quando ne viene agitata la lama: un risultato di

notevole impatto visivo! L’orologio contiene inoltre un datario,

calcola il giorno della settimana e l’età dei nostri amici dei quali

ci ricorda il nome, il giorno del compleanno e l’età raggiunta.

52 Pico-Processor con CPLDTra le applicazioni “soft” delle Logiche

Programmabili, particolarmente interessante è il

capitolo che riguarda i Controller Embedded

Xilinx, core che implementano le funzioni di controllori di vario

tipo e complessità, dal semplice dispositivo PicoBlaze™ a 8 bit

fino al processore PowerPC™.

Una guida completa alla realizzazione di un processore di

piccola taglia in una FPGA o CPLD delle serie più economiche,

con un esempio di realizzazione pratica per CPLD.

68 Sistema di acquisizione dati su bus USBSpesso dovendo esaminare dei dati, è necessario

disporre di un hardware adatto per poterne

effettuare la registrazione e la visualizzazione.

Ecco come soddisfare questa necessità con un

circuito basato su microcontrollore PIC e collegato ad una porta

USB di un computer.

88 Un bromografo molto specialeLo sapevate che il monitor del vostro PC potrebbe diventare un

ottimo bromografo? Ecco come trasformarlo a costo zero per

ottenere risultati eccellenti!

PraticaInformati!

Richiedi maggiori informazioni

sui contenuti di Fare Elettronica,

visita il sito:

www.farelettronica.com/mip

pag. 3

pag. 42

Vinci!

Risparmia!

Con il quiz Le So Tutte!!!puoi vincere

ogni mese uno

di questi

fantastici

premi!

pag. 66

CON UN RISPARMIO DEL

25%

11RIVISTE

€45,00invece di €60,50

L’abbonamento a soli

1ANNO

ABBONATI O RINNOVA OGGI

IL TUO ABBONAMENTO A FARE ELETTRONICA

Page 5: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Aziende citate in questo numero

Giugno 2006

Artek Electronic Solutions 107

Abacom 21

Bivar 12

Blu Press 41

Compendio Fiere 97

Comfile 55

Consorzio Elettrimpex 31-49

Cypress Semiconductor 8

Dexco Systems 61

Eca 103

Elettroshop 103

Erni 13

Evr Electronics 99

F&M Fiere e Mostre 35

Futura Elettronica 63-111

Gedit 109

Inware 27-55

Linear Technology 8

Kevin Schurter 15-71

Microchip 13-15-22-68-71

Mikroelektronica 16-25-57-80

Millennium Dataware 79

ON Semiconductor 101

Precma 29

RS Components 10

Sensory 27

Teridian Semiconductor 9

Vicor 10

Xilinx 52

Teoria

80 MikroC By Example:

L’ambiente di sviluppoDopo il notevole successo riscosso dalla serie di

articoli sul MikroBasic, vogliamo presentarvi, a

partire da questa puntata, il MikroC: un

ambiente di sviluppo, in ANSI C, per PICmicro

prodotto dalla MikroElektronika, simile al

MikroBasic per semplicità di utilizzo ed efficienza. In questa

puntata una descrizione degli strumenti disponibili con alcuni

semplici esempi di utilizzo.

94 UPS By Example: La modulazione PWMNelle puntate precedenti è stato

illustrato come alimentare un carico

con un’onda step-wave generata da

una configurazione push-pull. Non

tutti gli utilizzatori supportano però

questo tipo di alimentazione, in questi casi si deve disporre di

una sinusoide simile a quella di rete. Ecco come fare.

104 L’operazionale negli oscillatori (I)Sebbene siano stati approntati circuiti integrati dedicati a

questa funzione, è spesso più economico e più semplice ricorrere

agli op-amp per realizzare affidabili circuiti oscillatori. Ma quali

caratteristiche deve avere un operazionale per essere impiegato

come oscillatore? Quali sono le configurazioni tipiche? Tutte le

risposte e molto di più nell’articolo di questo mese.

Risorse

8 Prima pagina

• Mixer attivo a bassa potenza per larghezza

di banda fino a 4 GHz.

• Primo controllore per periferiche/host USB

destinato ad applicazioni di “infotainment”

nel settore automobilistico.

• Teridian lancia il nuovo controller Ethernet

embedded ad elevate prestazioni.

• Vicor introduce sette nuovi micro moduli di

media potenza.

• Partnership tra RS Components e

Moeller.

• Bivar presenta il design HI-Brite Block

con led da 1 W.

• Erni raddoppia la capacità di trasporto di

corrente dei moduli di potenza Ermet.

• Microchip annuncia una nuova linea di

potenziometri digitali low-power a 6-bit.

14 Gli eventi di Giugno 2006

• Radiant and Silicon - Segrate (MI)

• Computerfest & Radioamatore

Busto Arsizio (VA)

• HAM radio 2006 - Friedrichshafen (D)

• Mostra mercado del Radioamatore e

Dell’elettronica - Cecina a Mare (LI)

16 Mailbox

• A proposito di batterie.

• Salvare 10 bit in eeprom con PIC.

• Generatore di barre per TV.

• Caricabatterie in tampone.

18 Notepad

• Generatore di tensione di riferimento:

riferimento a 10V/20ppm;

riferimento a 10V/20ppm con compensazione

della temperatura;

riferimento a 5V con drift di 20ppm/°C;

riferimento a 10V con drift ultra-basso;

riferimento a 10V ad alta corrente di uscita;

tensione di riferimento negative.

• Conversione corrente-frequenza.

Page 6: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

DIRETTORE RESPONSABILE

Antonio Cirella

DIRETTORE ESECUTIVO

Tiziano Galizia

COORDINAMENTO TECNICO

Maurizio Del Corso

HANNO COLLABORATO IN QUESTO NUMERO

Giovanni Di Maria, Massimo Di Marco, Paolo Sancono, Giovanni Allegra,

Nico Grilloni, Antonio Di Stefano, Agostino Rolando, Christian Di Biagio.

DIREZIONE • REDAZIONE • PUBBLICITÁ

INWARE Edizioni srl - Via Cadorna, 27/31 - 20032 Cormano (MI)

Tel. 02.66504755 - Fax 02.66508225

[email protected] - www.inwaredizioni.it

Redazione: [email protected]

PROGETTO GRAFICO E IMPAGINAZIONE

Graficonsult - Milano

STAMPA

ROTO 2000 - Via L. da Vinci, 18/20 - 20080, Casarile (MI)

DISTRIBUZIONE

Parrini & C. S.p.a. - Viale Forlanini, 23 - 20134, Milano

UFFICIO ABBONAMENTI

INWARE Edizioni srl - Via Cadorna, 27/31 - 20032 Cormano (MI)

Per informazioni, sottoscrizione o rinnovo dell’abbonamento:

[email protected]

Tel. 02.66504755 - Fax. 02.66508225

L'ufficio abbonamenti è disponibile telefonicamente

dal lunedì al venerdì dalle 14,30 alle 17,30

Tel. 02.66504755 - Fax. 02.66508225

Poste Italiane S.p.a. - Spedizione in abbonamento Postale

D.L. 353/2003 (conv. In L. 27/02/2004 n. 46) art. 1, comma1, DCB Milano.

Abbonamento per l’Italia: € 45,00

Abbonamento per l’estero: € 115,00

Gli arretrati potranno essere richiesti, per iscritto, al seguente costo:

Numero singolo: € 7,50

Numero doppio: € 9,00

Numero con allegato: € 8,50

www.farelettronica.com

Artek Electronic Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 107

Piazza Pirazzoli, 2 - 40020 Sasso Morelli (BO)

Tel 0542.643192 - www.artek.it

Atmel Italia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 11

Via Grosio, 10/8 - 20151 Milano

Tel 02.38037-1 - www.atmel.com

BLU PRESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 41

Via Cavour 65/67 - 05100 Terni (TR)

Tel. 0744.433606 - www.blupress.it

DEXCO Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 61

Via Milano 14 - 20064 Gorgonzola (MI)

Tel. 02 9517179 - www.dexcosystems.com

Compendio Fiere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 97

Via Mammianese, 53 - 51017 Pescia (PT)

Tel 0572.490868 - www.compendiofiere.it

Consorzio Elettrimpex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 31-49

Via Console Flaminio,19 - 20134 Milano

Tel 02.210111230 - www.elettrimpex.it

EVR Electronics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 99

Viale Kennedy, 96 - 20027 Rescaldina (MI)

Tel 0331.464893 - www.evr-electronics.com

F&M Fiere e Mostre Srl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 35

Via Caldera, 21/c - 20153 Milano

Tel. 02.40922560 - www.fieremostre.it

Futura Elettronica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 63-111

Via Adige, 11 - 21013 Gallarate (VA)

Tel 0331.792287 - www.futuranet.it

Gedit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 109

Via Della Scuola, 128 - 06087 Ponte San Giovanni (PG)

Tel. 0755991028

Inware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 27-55-103

Via Cadorna 27/31 - 20032 Cormano (MI)

Tel 02.66504794 - www.inware.it

Kevin Shurter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 15-71

Via Settembrini, 29 - 20020 Lainate (MI)

Tel 02.30465311 - www.kevin.it

Millenium Dataware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 79

Corso Repubblica, 48 - 15057 Tortona (AL)

Tel 0131.860254 - www.mdsrl.it

Precma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . pag. 29

Via Fontanino 4 - 23871 Lomagna (LC) - IT

Tel 039.5300590 - www.precma.it

RS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . II cop

Via M. V. De Vizzi, 93/95 - 20092 Cinisello Balsamo (MI)

Tel 02.660581 - www.rs-components.com

Scuola Radio Elettra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IV cop

Via Biturgense, 104 - 00185 Cerbara di Città di Castello (PG)

Tel 075.862911 - www.scuolaradioelettra.it

ELENCO INSERZIONISTI

Autorizzazione alla pubblicazione del Tribunale di Milano n. 647 del 17/11/2003.

© Copyright - Tutti i diritti di riproduzione o di traduzione degli articoli

pubblicati sono riservati. Manoscritti, disegni e fotografie sono di proprietà

di Inware Edizioni srl.

È vietata la riproduzione anche parziale degli articoli salvo espressa autoriz-

zazione scritta dell’editore. I contenuti pubblicitari sono riportati senza re-

sponsabilità, a puro titolo informativo.

Privacy - Nel caso la rivista sia pervenuta in abbonamento o in omaggio, si

rende noto che i dati in nostro possesso sono impiegati nel pieno rispetto del

D.Lgs. 196/2003. I dati trasmessi a mezzo cartoline o questionari presenti

nella rivista, potranno venire utilizzati per indagini di mercato, proposte

commerciali, o l’inoltro di altri prodotti editoriali a scopo di saggio. L’interessato

potrà avvalersi dei diritti previsti dalla succitata legge. In conformità a quanto

disposto dal Codice di deontologia relativo al Trattamento di dati personali

art. 2, comma 2, si comunica che presso la nostra sede di Cormano Via

Cadorna 27, esiste una banca dati di uso redazionale. Gli interessati potranno

esercitare i diritti previsti dal D.Lgs. 196/2003 contattando il Responsabile del

Trattamento Inware Edizioni Srl ([email protected]).

RICHIESTE DI ASSISTENZA

Per richiedere assistenza o chiarimenti sugli articoli pubblicati, vi preghiamo di

utilizzzare il servizio MIP compilando l’apposito modulo on-line all’indirizzo

www.farelettronica.com/mip.

COLLABORARE CON FARE ELETTRONICA

Le richieste di collaborazione vanno indirizzate all’attenzione di Tiziano Galizia

([email protected]) e accompagnate, se possibile, da una breve descri-

zione delle vostre competenze tecniche e/o editoriali, oltre che da un elenco

degli argomenti e/o progetti che desiderate proporre.

Page 7: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

EDIZIONI

semplice!

comodo!

immediato!

Fallo su:www.farelettronica.com/abbonamento

Note dalla redazione

Secondo alcune ricerche scientifiche è l’olfatto, primaancora della vista e dell’udito, il senso che stimola lesensazioni più immediate. Ricordo che da ragazzo(squattrinato) visitavo le sale di ascolto dei negozi di altafedeltà (HI-FI) della mia città sognando un sistema adalte prestazioni per soddisfare la mia passione. Tutte quellesale avevano una caratteristica in comune: un inconfondibileodore dolciastro emanato dalle apparecchiature esposteesposte, un odore tuttora impresso nella mia mente.Non potendo affrontare l’acquisto di quei prodotti, dalprezzo spesso folle, ho tentato invano la stradadell’autocostruzione, arrendendomi di fronte ai risultatideludenti. Alzi la mano chi non ha mai costruito unamplificatore audio per poi, superata la soddisfazioneiniziale, rimanere deluso dal suono “troppo metallico” o“troppo cupo”, dalla distorsione troppo alta o da quelfastidiosissimo fruscio di sottofondo. Sta di fatto checostruire apparecchiature ad alta fedeltà non è cosìimmediato, o almeno non è come avere a che fare con gli“0” e “1” dei microcontrollori: sono tantissimi i fattori chepotrebbero trasformare un bel progetto in un insuccesso.Benché il mondo dell’elettronica e quello dell’alta fedeltàsiano “cugini” è raro trovare appassionati che si interessinoad entrambi i settori, nonostante siano legati da undoppio filo. È naturale che l’appassionato di elettronica siconcentri più sui parametri elettrici mentre l’appassionatodi alta fedeltà sull’acustica, creando di fatto duecompartimenti quasi stagni.In redazione ci siamo chiesti come entrare in questomondo “alla nostra maniera”, come portare i lettori adinteressarsi alla costruzione di apparecchiature HI-FI edunire il modo dell’acustica con quello dell’elettronica.L’idea non si è fatta attendere e, a partire dal prossimonumero, partirà una collaborazione con la rivista piùprestigiosa del settore: “Costruire Hi-Fi” edita dalla Blu

Press. Grazie alla grande disponibilità e professionalitàmostrata da tutta la redazione di Costruire Hi-Fi, potremopresentare progetti sulla costruzione di elettroniche dialta qualità e dal suono inconfondibile, siano esse avalvole che allo stato solido. Affronteremo un nuovomodo di progettare tenendo conto della resa acustica,della qualità del suono e di tanti parametri che fino adora abbiamo quasi ignorato nelle nostre costruzioni.Sia gli audiofili consumati potranno apprendere nuovetecniche grazie allo studio dell’elettronica, sia i neofitipotranno venire in contatto con l?affascinante mondodell'alta fedeltà, uno degli ultimi baluardi dell'autocostruzionecon ancora migliaia di proseliti.Buona lettura.

Tiziano [email protected]

Alta fedeltà

Page 8: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

MIXER ATTIVO A BASSA POTENZAPER LARGHEZZA DI BANDA FINOA 4 GHZ

Il nuovo mixer a pre-stazioni elevate diLinear Technologygarantisce risparmioenergetico e funzio-namento dalla bassafrequenza fino ai 4GHz. Il tipo LT5560

può essere configurato come mixer downconver-ter o upconverter, offrendo la flessibilità necessa-ria per una vasta gamma di sistemi wireless por-tatili o fissi a prestazioni elevate, inclusi radio por-tatili per la sicurezza pubblica, modem WiMAXper la ricetrasmissione, lettori RFID portatili, rice-trasmettitori VHF/UHF, cuffie e microfoni profes-sionali wireless, stazioni base e ripetitoriGSM/EDGE, ricevitori satellitari, radio in bandaISM e strumentazione RF portatile.Se configurato come mixer a 900 MHz downco-verter alla corrente di alimentazione nominaledi 10mA, l'LT5560 offre IIP3 elevata pari a +9,7dBm e una figura di rumore di 10,1 dB. Questeprestazioni sono completate da un elevato gua-dagno di conversione di 2,6 dB. Il dispositivooffre inoltre un livello di isolamento RF porta aporta estremamente alto, pari a circa -55 dBc.L’LT5560 offre un design essenziale per unmixer con bilanciamento doppio, in grado diottimizzare linearità e isolamento RF. La portaLO (oscillatore locale) supporta un ingresso abasso livello in modalità single-ended da -6 a+1dBm. La porta di ingresso del segnale includeinoltre un buffer in ingresso, garantendo l'isola-mento da LO a INPUT e migliorando al tempostesso il guadagno di conversione.L’LT5560 funziona con alimentazione singola eampio intervallo di tensione, da 2,7 V a 5,25 V.La corrente di riposo massima è pari a 10 mAcon tutti i parametri specificati per tale corren-

te. La corrente di alimentazione dell'LT5560può comunque essere regolata da min. 4 mA a13,5 mA attraverso un resistore esterno: miglio-ri prestazioni di linearità richiedono maggioredissipazione di energia. Il dispositivo può esserespento tramite un pin ENABLE. Quando è disat-tivato, il chip porta una corrente di riposo mas-sima di 0,1mA per risparmiare potenza.L'LT5560 viene offerto in un package DFN a 8pin con ingombro ridotto 3x3 mm per il mon-taggio superficiale.

Codice MIP 252001

PRIMO CONTROLLORE PERPERIFERICHE/HOST USBDESTINATO AD APPLICAZIONI DI“INFOTAINMENT” NEL SETTOREAUTOMOBILISTICO

Cypress Semiconductor,azienda leader nel set-tore delle soluzioni USB,ha introdotto una ver-sione del proprio con-trollore per periferi-che/host USB EZ-Host™

(CY7C67300) ottimizzato per applicazioni nelsettore automobilistico. Questo dispositivo èconforme con le specifiche Q100 emanate daAEC (Automotive Electronics Council) e puòoperare nell’intervallo di temperatura compresotra –40 e +85 °C. Il controllore è ottimizzato perl’uso in applicazioni di “infotainment” in campoautomobilistico, compreso l’interfacciamento dilettori MP3, handset mobili e sistemi GPS con isistemi di visualizzazione e radio presenti abordo di un veicolo. Recentemente, CypressSemiconductor ha ottenuto la certificazione inconformità alle specifiche per l’AutomotiveIndustry Qualità Standard ISO/TS 16949, unostandard che garantisce i più elevati livelli diqualità e affidabilità lungo tutta la catena di for-nitura dell’industria automobilistica.

Ris

ors

e

8

Primapagina

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6SPECIALE PRATICA TEORIARISORSE

Rubrica di

notizie e novità

dal mondo

dell'elettronica.

Page 9: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Ris

ors

e

9

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

More Info Please!

Richiedi maggiori informazioni sui contenuti di Fare Elettronica,visita il sito: www.farelettronica.com/mip

Oppure compila il modulo “Servizio MIP” ed invialo via fax alnumero 02 66508225

TERIDIAN LANCIA IL NUOVOCONTROLLER ETHERNETEMBEDDED AD ELEVATEPRESTAZIONITeridian Semiconductor ha annunciato oggi ladisponibilità di alcuni campioni del controllerFast Ethernet ad alte prestazioni per applicazio-ni embedded. Il 78Q8430 è ideale per prodottielettronici dilargo consumoed applicazioniindustriali che,oltre a richiedereprestazioni eleva-te e facilità di uti-lizzo, necessitanodi limitare il cari-co sul processorehost.Ethernet è una tecnologia di rete ad elevata lar-ghezza di banda e a basso costo frequentemen-te utilizzata dai progettisti di dispositivi elettro-nici di largo consumo quali decoder, TV digitalied applicazioni di stampa/fax multifunzione,che consentono la connettività di rete dell’at-tuale generazione di processori host attraversoun’interfaccia bus generica a 8, 16 o 32 bit.Il 78Q8430 con IPChecksum hardware integra-ta e 32 KB di memoria SRAM configurabile èideale per applicazioni dove la velocità di retenon deve compromettere i requisiti di bassalatenza o prestazioni di funzioni importanti,quali ad esempio l’elaborazione audio o video.Numerosi produttori OEM aggiungono connet-tività Ethernet alle proprie soluzioni, scoprendoperò che non sempre è possibile sostenere l’ul-teriore sovraccarico di elaborazione necessarioper fornire prestazioni di rete ad un livello ragio-nevole. Grazie alla disponibilità di supporto har-dware dedicato per funzioni di elaborazioneintensive e buffer di grandi dimensioni da 32KB, i progettisti di sistemi possono utilizzare il

EZ-Host è un controllore per periferiche/hostUSB multiporta che include un microcontrollo-re RISC a 16 bit a elevate prestazioni, due engi-ne per interfaccia seriale USB (SIE – SerialInterface Engine) configurabili e un blocco diI/O pure configurabile che può collegarsi connumerose interfacce standard. Esso è in gradodi operare come host o come periferica e sup-porta fino a quattro porte host. Il controlloredispone di 16 kbyte di RAM, in modo da con-sentire lo sviluppo di applicazioni custom,diverse interfacce per CPU e il BIOS per gestireuna parte dei processi di elaborazione previstidalle specifiche USB. Il processore embeddedpresente a bordo elimina il ricorso, in numero-se applicazioni, a una CPU esterna, oltre apoter operare alla stregua di un coprocessore.Tra le caratteristiche di maggior rilievo di EZ-Host si possono segnalare le seguenti: suppor-to del protocollo USB On-The-Go (OTG); pro-cessore on chip a 16 bot operante a 48 MHzcon velocità di clock selezionabile dinamica-mente che elimina il ricorso a un processoreesterno o può essere utilizzato come copro-cessore; blocco di I/O configurabile in gradodi supportare una vasta gamma di opzioni diI/O o fino a 32 bit di GPIO, supporto di unmassimo di quattro porte host; ROM masche-rata interna in configurazione 4kb x 16 conBIOS integrato che supporta uno stato “com-munication ready” con accesso a un’interfac-cia EEPROM I2C, ROM esterna, UART o USB;RAM interna di 8 kb x 16 per il buffering delcodice e dei dati; porta di interfaccia permemoria estesa per ROM e SRAM esterne;porta seriale veloce in grado di supportarevelocità di trasferimento da 9600 baud a 2Mbaud; supporto per un clock o un quarzoesterno da 12 MHz.Il dispositivo CY7C67300 conforme alle specificheAEC è disponibile in package TQFP a 100 pin.

Codice MIP 252002

Page 10: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

78Q8430 per ottenere rapidamente velocità ditrasmissione di rete elevate, senza dover dedica-re troppo tempo all’ottimizzazione del codice.A livello di rete, il 78Q8430 si interfaccia con ilcavo UTP attraverso un trasformatore e un con-nettore RJ45. Grazie alle funzionalità completedi negoziazione automatica 802.3 e il supportoper HP Auto-MDIX, è garantita la connessionecon qualsiasi dispositivo LAN.Alcuni campioni dell’78Q8430, insieme ai kitdi valutazione, sono già disponibili, mentre laproduzione in volume è prevista entro l’anno.Teridian mette inoltre a disposizione i driverdel 78Q8430 per processori e sistemi operati-vi diversi.

Codice MIP 252003

VICOR INTRODUCE SETTE NUOVIMICRO MODULI DI MEDIA POTENZA

Vicor annuncial’aggiunta di setteconvertitori DC-DC Micro dimedia potenzaalla famiglia adalta densità con

ingresso 300Vdc: due modelli da 50 W, uno a3,3Vout ed uno a 5Vout, e cinque modelli da75W a 12, 15, 24, 28 e 48Vout. I moduli sonoadatti per la progettazione di sistemi d’ali-mentazione da corrente alternata per applica-zioni di controllo industriale e di processo, ali-mentazione distribuita, medicali, ATE, comu-nicazioni, difesa ed aerospazio.L’aggiunta di questi moduli raddoppia l’offer-ta della famiglia Micro ad alta densità dipotenza a 300V d’ingresso, che consisteva inprecedenza di moduli da 100W a 5Vout e150W a 12, 15, 24, 28 e 48Vout. I nuovi pro-dotti offrono ai clienti una soluzione economi-ca per applicazioni che non richiedano lapotenza totale dei moduli Micro disponibili inprecedenza.I convertitori operano con tensione nominaled’ingresso a 300V, in un intervallo compresofra 180V e 375V, ed hanno densità di poten-za fino a 90W/pollice cubo, con efficienzefino al 90%.I moduli, disponibili in versione compatibilealla direttiva RoHS, misurano 57,9 x 36,8 x

12,7 mm ed hanno un altezza sopra schedadi 10,9 mm.La linea completa Vicor di soluzioni di poten-za include moduli AC-DC e DC-DC ad altadensità e componenti accessori, sistemi dipotenza AC-DC e DC-DC completamenteconfigurabili e sistemi di potenza customcompleti.

Codice MIP 252004

PARTNERSHIP TRA RSCOMPONENTS E MOELLER

RS Components, società delgruppo Electrocomponents,leader nella distribuzionemediante catalogo di com-ponenti e prodotti indu-striali per qualsiasi settoreapplicativo, e MoellerElectric, leader mondiale

nella fornitura di prodotti per l’automazioneindustriale, hanno recentemente siglato unimportante accordo commerciale per la distri-buzione delle soluzioni Moeller attraverso ilcatalogo RS.L’accordo è stato siglato a Oxford, doveKevin Thompson, responsabile ProductManagement del gruppo Electrocompo-nents, e Paul Corbett, Direttore Generale diMoeller, si sono incontrati per definire tutti idettagli del nuovo modello di business cheguiderà le future strategie commerciali delledue aziende.Il costante impegno per la soddisfazione delleesigenze della clientela e la continua ricerca dinomi prestigiosi da aggiungere al proprioelenco di aziende partner, hanno spinto RS arinnovare la partnership con Moeller. Comesottolinea Ermanno Maffè, AmministratoreDelegato di RS Components: “Ci stiamo sem-pre più rendendo conto che il nostro ruolo didistributori leader a livello mondiale ci impo-ne di essere in grado di offrire ai nostri clientisoltanto i prodotti migliori disponibili sul mer-cato, in modo da assicurare la massima unifor-mità della nostra offerta a livello internaziona-le. RS fornisce alla propria clientela gli stessiprodotti e gli stessi servizi a qualsiasi latitudi-ne del pianeta: la capacità di mantenere eampliare nel tempo un’offerta simile, è possi-

Ris

ors

e

10

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Prima Pagina - 252

SPECIALE PRATICA TEORIARISORSE

Page 11: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252011

Page 12: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

bile grazie a una solida struttura organizzativae a un’esperienza di oltre 70 anni”.Al termine dell’incontro, Paul Corbett diMoeller ha commentato: “In RS abbiamosubito trovato un vero partner, non solo perla loro indiscutibile abilità nella distribuzionee nella vendita dei nostri prodotti, ma anche,e forse è un aspetto ancora più importante,per la loro capacità di integrarsi perfettamen-te con le nostre strategie commerciali e dimarketing”.Grazie al continuo ampliamento della gammadi prodotti a catalogo e al costante aumentodelle vendite registrato negli ultimi mesi,entrambe le aziende considerano questoaccordo come “un elemento chiave per dareun ulteriore impulso vitale ai propri piani disviluppo”, conclude Maffè.Con questo accordo, RS si riconferma il distri-butore più affidabile in ogni ambito, non solograzie alla consolidata esperienza sui mercatiinternazionali, ma anche grazie alle solide par-tnership strette con i migliori produttori mon-dali e all’impegno, concreto e tangibile, nelgarantire sempre il massimo servizio alla pro-pria clientela.

Codice MIP 252005

BIVAR PRESENTA IL DESIGNHI-BRITE BLOCK CON LED DA 1 W

L’unità aziendaleDesign CenterSolutions di Bivarha presentato unaserie di blocchiLED da 1 Watt perl’uso in applicazio-

ni industriali, automobilistiche, di architetturae retroilluminazione, nonché applicazioni diilluminazione singola o multipla. Questa serieoffre una nuova libertà di design per la confi-gurazione di sorgenti luminose modulari adalta intensità nelle applicazioni che richiedonoversatilità in termini di stile di illuminazione,potenza e metodi di montaggio.Hi-Brite Block™ serie B3 (in attesa di brevetto) èstato creato per supportare tre (3) diverse lentidi proiezione Cree® e Fraen® oppure lenti diffu-se a basso profilo e lenti a luce diffusa opziona-li per soddisfare qualsiasi requisito di illumina-

zione. Il nuovo design offre inoltre la possibilitàdi scegliere tra i LED colorati standard più diffu-si del settore, inclusi i LED Cree® XLamp® ad altapotenza. I LED sono montati in superficie su unmini PCB e assemblati in una base a basso pro-filo per luce diffusa o modulare con potenzediverse, inclusi presa diretta o regolatore di cor-rente CC/CC integrato (sono disponibili adatta-tori opzionali CA/CC per l’installazione a pare-te). Sono disponibili lunghezze di cavo e tipi diconnettori differenti. Questo design consentedi ottenere un’illuminazione ad alta intensità inun’unità integrata autoalimentata. I sistemi dimontaggio includono dispositivo di blocco,piastra o supporto adesivo rapido per la massi-ma semplicità e sono ideali per la disposizionea griglia o in linea in grado di soddisfare qual-siasi esigenza dimensionale ed estetica. Le unitàHi-Brite Block hanno un ingombro compatto 1"x 1", che garantisce l’implementazione sempli-ce e riduce al contempo i limiti associati aitempi di commercializzazione delle soluzioninon integrate.Grazie al design modulare dell’unità, il dispo-sitivo presenta anche ottime caratteristiche digestione termica ed è prodotto in conformitàalle specifiche RoHS per soddisfare i semprepiù severi requisiti di conservazione dell’am-biente a livello globale. La serie B3 è caratteriz-zata da un angolo di visualizzazione di 100°nel gruppo LED ad alta potenza, grazie all’usodi materiali InGaN e AllinGaAIP con lunghezzed’onda da 465 a 635 nm (fino a 8000K per ilbianco). I tipi di lenti a disposizione per unavasta gamma di diametri di proiezione garan-tiscono la versatilità necessaria per l’utilizzonelle applicazioni più diversificate. Il valore Ifmassimo è di 400mA. Quando il dispositivo èspento, la lente è trasparente.

Codice MIP 252006

ERNI RADDOPPIA LA CAPACITÀDI TRASPORTO DI CORRENTE DEIMODULI DI POTENZA ERMET

Grazie ad unnuovo materia-le utilizzato peri contatti, ERNIha raddoppiatola capacità di

Ris

ors

e

12

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Prima Pagina - 252

SPECIALE PRATICA TEORIARISORSE

Page 13: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

trasporto della corrente dei suoi moduli dipotenza ERmet. Questi moduli di potenza a 3pin sono ora in grado di gestire correnti fino apiù di 18 A (a 20 °C) per contatto. Oltre aridurre – a parità di amperaggio – il riscalda-mento dei contatti, i nuovi connettori dipotenza consentono di supportare applicazio-ni di tipo hot-swap.I contatti maschio ad angolo retto con termi-nazione press-fit, unitamente ai connettoriERmet da 2-mm, sono configurati per fornirel’alimentazione alle schede figlia in conformi-tà alla normativa IEC 61076-4-101. In aggiun-ta, i moduli di potenza ERmet – caratterizzatida un’ampiezza di 12 mm – sono compatibilicon altri connettori a 2 mm e in standardDIN41612. I moduli di potenza ERmet sonoconformi alle direttive RoHS.La famiglia di connettori ERmet con passo 2.0-mm è conforme alle norme IEC 61076-4-101.Questi prodotti sono utilizzati principalmentenelle applicazioni legate ai settori telecomuni-cazioni, networking e IPC e sono in grado ditrasferire in modo affidabile i dati a velocitàfino a 1 Gbit per secondo. I connettori ERmet sono disponibili in versionia sette righe di contatti (cinque righe disegnali e due di schermatura) o a 10 righe dicontatti (otto di segnali, due di schermatura).Tra le versioni alternative si segnalano modellicon connettore standard e invertito, connet-tori con o senza schermature, connettori fem-mina verticali, modelli con contatti di varialunghezza, soluzioni con terminazioni press-fito THR e connettori di potenza.

Codice MIP 252007

MICROCHIP ANNUNCIA UNANUOVA LINEA DI POTENZIOMETRIDIGITALI LOW-POWER A 6-BIT

Microchip annuncia la nuova famigliaMCP401x di potenziometri digitali volatili a6-bit, a bassa potenza e a bassa tensione. Inuovi prodotti offrono agli ingegneri unasoluzione digitale estremamente competitivadal punto di vista dei costi e delle dimensionirispetto alle attuali soluzioni basate su poten-ziometri meccanici.Disponibili in package miniaturizzato SOT-23a 5- e 6-pin nonché in package DFN da 2 mmx 3 mm, i dispositivi MCP4011 / 4012 / 4013/ 4014 aiutano a ridurre gli ingombri e l’altez-za delle schede utilizzate in molte applicazio-ni portatili. I consumi ridotti (0.3 microamptipici) e la bassa tensione operativa (fino a1.8V) permettono di incrementare la vitadelle batterie.Tra le caratteristiche della famiglia MCP401xsi segnalano una INL (Integral Non-Linearity)massima di 1/2 LSB, una DNL (DifferentialNon-Linearity) massima di 1/2 LSB, un coeffi-ciente di temperatura end-to-end tipico di100 ppm e un coefficiente raziometrico tipicodi 10 ppm. Oltre a questo, i nuovi dispositivioperano su un range di temperatura estesoda -40 a +125 gradi Celsius.I potenziometri digitali MCP4011/4012/4013/4014 sono particolarmente indicati per la cali-brazione dei sensori, per il controllo di set-point,per il test e la misura, per il controllo di proces-so e per le applicazioni di acquisizione dati.Per aiutare gli ingegneri a iniziare a progetta-re con la nuova famiglia, Microchip offre lascheda di valutazione “Non-volatile DigitalPotentiometer” MCP402XEV al costo di 15Dollari. Per i dispositivi utilizzati nei circuiti difiltraggio è possibile utilizzare il tool di pro-gettazione per filtri attivi FilterLab® 2.0. Ilsoftware FilterLab – che può essere scaricatogratuitamente dal sito web Microchip per-mette la generazione degli schemi dei circuitidi filtraggio, completi con i valori dei compo-nenti e dei diagrammi della risposta in fre-quenza. L’MCP4011 è offerto in package DFNa 8-pin da 2 mm x 3 mm, in package MSOPe in package SOIC. L’MCP4012 e l’MCP4013sono disponibili in package SOT-23 a 6-pin;l’MCP4014 è disponibile in package SOT-23 a5-pin.

Codice MIP 252008

Ris

ors

e

13

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 14: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Gli eventi di

GIUGNO 2006

SPECIALE PRATICA TEORIARISORSER

iso

rs

e

14

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Rubrica di

appuntamenti,

manifestazioni ed

eventi nel mondo

dell’elettronica

03-04 GIUGNO 2006

RADIANT AND SILICON

L'evoluzione della comu-nicazione. Mostra merca-to di elettronica, infor-

matica, telefonia, radiantismo, editoria, tv satelli-tare, hobbistica, surplus, radio d'epoca.Attualmente Radiant And Silicon, che si sviluppasu una superficie espositiva superiore ai 10.000mq. coperti, con più di 180 espositori per edizio-ne ed oltre 40.000 visitatori annui, è consideratala più importante mostra mercato nazionale delsuo settore.Informazioni utili:

Parco Esposizioni Novegro - Segrate (MI)

Organizzazione Comiswww.parcoesposizioninovegro.it - Tel. 02.7562711Orario dalle 9:00 alle 18:00 (€ 8,00)Principali espositori:

• Inware edizioni srl - www.inwaredizioni.itCodice MIP 252301

03-04 GIUGNO 2006

COMPUTERFEST & RADIOAMATORE

Fiera dell'elettronica, del-l’informatica e del

radioamatore. Dal sito dell’organizzatoreCompendio Fiere, è possibile scaricare le riduzioniper il biglietto d’ingresso.Informazioni utili:

Fiera di Malpensa – Busto Arsizio (VA)

Organizzazione Compendio Fierewww.compendiofiere.it - Tel. 337.676719Orario dalle 9:00 alle 18:30 (€ 6,00)

Principali espositori:

• Inware edizioni srl - www.inwaredizioni.itCodice MIP 252302

23-25 GIUGNO 2005

HAM RADIO

HAM RADIO è la fiera del settorenumero uno in Europa. Si componedi oltre 200 espositori provenienti da35 diverse nazioni, i quali esporrannouna completa gamma di prodotti per

radio amatori. Ogni anno approssimativamente20.000 visitatori partecipano a questo evento.Informazioni utili:

Neue Messe - Friedrichshafen (Germania)

Organizzazione Messe Friedrichshafen GmbHwww.hamradio-friedrichshafen.deTel +49 (0) 7541.708404Orario dalle 9:00 alle 18:00 (€ 7,00)

Codice MIP 252303

01-02 LUGLIO 2006

MOSTRA MERCADO DEL

RADIOAMATORE E

DELL’ELETTRONICA

La mostra raccoglie oltre 30 espositori nelcampo della radiantistica e dell’elettronica econta al suo attivo oltre 3000 visitatori.Informazioni utili:

Area Espositiva La Cecinella - Cecina a Mare (LI)

Organizzazione Promozione e sviluppo Val DiCecina - [email protected] - Tel. 0586.785026Orario dalle 9:00 alle 19:30 (€ 6,00)

Codice MIP 252304

Sei l'organizzatore di una manifestazione del settore?

Registrala all'indirizzo www.farelettronica.com/eventi e sarà pubblicata

gratuitamente in questo spazio!

Se sei un espositore e vuoi comparire gratuitamente in questo elenco, registrati

all’indirizzo www.farelettronica.com/eventi

Page 15: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252015

Page 16: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Q uesta rubrica ospita le

richieste più interessanti

pervenute dai lettori.

Per quanto possibile verrà

data risposta a tutte le

richieste pervenute via email.

Ris

ors

e

16

MailboxFA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6SPECIALE PRATICA TEORIARISORSE

Scrivete a:

MAILBOX

REDAZIONE DI

FARE ELETTRONICA

Inware Edizioni s.r.l.

Via Cadorna, 27/31

20032, Cormano (MI)

Oppure inviate un’email a:

[email protected]

A PROPOSITO DI BATTERIESpett.le Redazione, ho letto con interesse

l’articolo pubblicato su Fare Elettronica 248

relativo alla rigenerazione delle batterie. La

mia domanda è questa: sono in possesso di

batterie al Litio praticamente “morte”, è pos-

sibile rigenerarle in qualche modo? Inoltre

non sono riuscito a rigenerare alcune batte-

rie al Ni-Cd con la tecnica da voi proposta,

ma non capisco perché dato che il circuito ha

funzionato con molte delle batterie in mio

possesso. Vi sarei grato se aveste dei sugge-

rimenti da darmi.

Mario Nilzi

Il recupero delle batterie "morte" è alquantoproblematico.Purtroppo con le nuove batterie al litio il si-stema è irreversibile, poiché la loro struttura in-terna non consente recuperi in genere.

Diversamente Le Ni-Cd, potrebbero essere rin-vigorite, azzerando quasi completamente il ti-pico effetto memoria con la ripetuta scarica e larelativa ricarica. Naturalmente non bisognascendere sotto un certo livello di tensione,pena il danneggiamento della batteria stessa.Per le batterie NI-CD particolarmente "te-starde", si consigliano alcune applicazioni dialta tensione (30-40 Volt) fornite da un grossocondensatore elettrolitico preventivamente ca-

ricato (almeno 20.000 microfarad 50 VL).Nell’applicazione della tensione alla batteria siricorda di fare attenzione in quanto la scaricaelettrostatica sul corpo umano, pur non es-sendo pericolosa, è piuttosto fastidiosa.

SALVARE 10BIT IN EEPROM CONUN PICCarissimi di Fare Elettronica, ho seguito con

molta attenzione il corso di programmazione

dei PIC in mikroBASIC ed avrei una doman-

da a proposito della memorizzazione di un

dato nella memoria EEPROM del PIC.

Utilizzando il convertitore AD del 16F877

dispongo di un dato su 10bit, ma la memo-

ria EEPROM è organizzata ad 8bit. Come

posso salvare il dato? Grazie per la vostra

eventuale risposta.

Gianfranco Nitteri

La EEPROM del PIC16F877 è organizzata incelle da 8 bit, quindi in una locazione può es-sere memorizzato solo un valore fino a 255.Nel caso specifico, dopo una conversione A/D a10 bit, basterà dividere tale valore in due parti(byte più e meno significativo) usando la codi-fica a base 256. I due byte saranno così me-morizzati in due altrettante locazioni adiacentie, naturalmente, verranno occupate due loca-zioni. Questo metodo consente di memorizzaredati con la precisione di 16bit.

GENERATORE DI BARRE PER TVGent. Redazione, sono un riparatore TV e mi

sarebbe molto utile un circuito per la genera-

zione di barre orizzontali e verticali per veri-

ficare la corretta taratura della scansione

verticale ed orizzontale. Grazie.

Marco Gentilini

Lo schema richiesto è molto semplice ed è ri-portato in figura 1. Il 2N3704 preleva i sincroni-

Page 17: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Ris

ors

e

17

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

“Richieste,chiarimenti,

dubbi e commentidai lettori”

smi dall’uscita dell’oscillatore orizzon-tale e verticale del TV, mentre il 2N930adatta il segnale affinché possa essereapplicato direttamente all’antenna. Il2N498 provvede a determinare la giu-sta larghezza della barre. Il circuitopuò essere sistemato all’interno di unpennarello per rendere più manegge-vole la sua applicazione all’antenna.

CARICABATTERIAIN TAMPONEPurtroppo il caricabatteria per la

mia auto non funziona più e vorrei

utilizzare il contenitore e l’ampero-

metro per costruirne uno nuovo.

Avete uno schema semplice e fun-

zionante? Grazie per l’attenzione.

Andrea Moretto

La figura 2 mostra un semplice carica-batteria per auto in tampone. Il circuitoeroga la massima corrente quando labatteria è scarica e ne diminuisce auto-maticamente l’erogazione via via che labatteria si ricarica. Questo meccanismoconsente di interrompere l’erogazionedi corrente quando la batteria risultacompletamente carica. L’SCR T1 oltre adeterminare la corrente di carica, pro-tegge il circuito da eventuali inversionidi polarità. R1 limita la massima cor-rente di carica e viene determinatadalla relazione R1=16/I dove I è la mas-sima corrente desiderata. Il trimmerviene tarato con una batteria di buonaqualità per fissare la progressività del-l’abbassamento della corrente erogata.Il trasformatore dovrà essere in gradodi erogare una corrente almeno pari aldoppio della massima corrente di ca-rica determinata da R1.

Figura 1

Figura 2

Page 18: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

GENERATORI DI TENSIONEDI RIFERIMENTORiferimento a 10V/20ppm

Il circuito di figura 1 consente di ottenere unatensione di riferimento di 10V con un livello diprecisione di 20ppm. Il circuito impiega unozener con stabilità di 10ppm/°C e resistori abasso drift.

Riferimento a 10V/20ppm con

compensazione della temperatura

Il circuito di figura 2 è una versione migliorata diquello visto precedentemente. Al posto dellozener viene impiegato un LM399 ovvero uno

zener con stabilizzatore in temperatura. Comeper il circuito di figura 1 l’alimentazione deveessere di 12V -15V regolati e precisi all’1%.

Riferimento a 5V con drift di

20ppm/°C

Per ottenere una tensione di riferimento a 5V abassa deriva termica (20ppm/°C) è possibile uti-lizzare il circuito di figura 3. L’operazionaleLM308 è montato come inseguitore di tensioneal fine di rendere disponibile la tensione conuna bassa impedenza di uscita.

Riferimento a 10V con drift

ultra-basso

In figura 4 uno schema leggermente più com-plesso ma che consente di ottenere un riferi-mento a 10V stabile a bassissima deriva termica(1ppm/°C). Lo zener compensato in temperatu-ra (LM199A) fornisce una tensione con un driftdi 0,5ppm/°C, mentre l’LM121 è un operazio-nale la cui deriva dipende dalla tensione di off-

Q uesta rubrica ha lo scopo

di fornire degli schemi

applicativi o idee di progetto

dei componenti elettronici

più interessanti, selezionati

per voi dalla redazione.

Tutti gli schemi presentati sono

elaborazioni di quelli ufficiali

proposti dai produttori nella

documentazione ufficiale.

Ris

ors

e

18

NotepadFA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6SPECIALE PRATICA TEORIARISORSE

Dal blocco note

di Fare Elettronica

una raccolta

di idee da tenere

sempre a portata

di mano.

Q uesta rubrica ha lo scopo

di fornire degli schemi

applicativi o idee di progetto

dei componenti elettronici

più interessanti, selezionati

per voi dalla redazione.

Tutti gli schemi presentati sono

elaborazioni di quelli ufficiali

proposti dai produttori nella

documentazione ufficiale.

SPECIALE PRATICA TEORIARISORSE

Dal blocco note

di Fare Elettronica

una raccolta

di idee da tenere

sempre a portata

di mano.

Figura 2

Figura 1

Figura 3

Page 19: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Ris

ors

e

19

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

set. Tale tensione può essere regolata mediantei due trimmer in modo da ridurre al minimo laderiva termica. La procedura di taratura è laseguente: • Disconnettere LM199 e connettere il pin 3 del

LM121 alla massa;• Regolare P1 per avere in uscita 1,4mV;• Riconnettere LM199 e regolare P2 per ottenere

in uscita i 10V.

Riferimento a 10V ad alta corrente

di uscita

Utilizzando un AD584 come mostrato nelloschema di figura 5 è possibile ottenere una ten-

sione di riferimento di 10V con una corrente diuscita di 4A. La figura 6 mostra invece unavariante per ottenere una uscita a 5V con cor-rente di 12A.

Tensione di riferimento negative

Per ottenere una tensione di riferimento di -5Vutilizzando l’AD584 è possibile impiegare loschema riportato nella figura 7. Questo circuitofunziona con una tensione di alimentazionenegativa di -15V in continua. In questa configu-razione l’AD584 assorbe meno di 5mA.

Figura 4

Figura 5

Figura 6

Figura 7

Page 20: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

CONVERSIONECORRENTE-FREQUENZAEsistono diverse soluzioni per convertire unacorrente in un segnale la cui frequenza dipen-de dalla corrente stessa.Di seguito sono riportate alcune soluzioni che

soddisfano esigenze diverse. La figura 8 mostrauna soluzione per correnti negative fino a200mA cui corrisponde una frequenza massimadi 10KHz di fondo-scala.La figura 9 mostra invece una soluzione percorrenti positive.

Ris

ors

e

20

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Notepad - 252

SPECIALE PRATICA TEORIARISORSE

Figura 8

Figura 9

Page 21: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Puoi ordinare Sprint-Layout , sPlan e Front Designersul sito Internet www.farelettronica.com/abacom oppure telefonando allo 02.66504755

LA SOLUZIONE

per il disegno tecnico

Sprint-LayoutsPrint-Layout è il compagno ideale di sPlan anche se può lavorare in modo del tutto indipendente. Il programma è studiato

appositamente per la realizzazione di circuiti stampati, il quale, oltre le funzioni standard necessarie alla creazione di

circuiti stampati, offre anche funzioni professionali quali: esportazione in formato GERBER ed EXCELLON.

Tra le numerose ed innovative caratteristiche ne troviamo una studiata appositamente per gli hobbisti, infatti, è possibile

scannerizzare un circuito stampato da una rivista o un qualsiasi supporto cartaceo ed importarlo per facilitarne il disegno

o la modifica. La funzione di “photoview” mostra il circuito stampato così come apparirebbe una volta prodotto (funzione

che utilizziamo per la rivista Fare Elettronica). Un libreria di componenti, facilmente creabili o modificabili, completa la

ricca dotazione del programma.

I disegni di Fare Elettronica sono realizzati con Sprint-Layout, da oggi potrai scaricarli dal sito e modificarli direttamente.

€ 39,00 (+Iva)

sPlanSplan è un cad appositamente realizzato per la stesura di schemi elettrici che implementa tutti gli strumenti necessari allo

svolgimento del lavoro in modo semplice ed efficace. sPlan è dotato di molte funzioni tra le quali: numerazione automatica

di componenti, scaling e preview dei componenti, gestione delle librerie di simboli, modifica di ogni singolo elemento sullo

schermo, griglia di posizionamento, connessioni automatiche, e molto altro ancora. La libreria di simboli contiene moltissime

parti pronte all’uso, inoltre le funzioni di editing dei simboli consentono la creazione di nuovi molto velocemente. SPlan

implementa anche un potente motore di stampa e la possibilità di esportare i disegni in diversi formati, anche grafici.

€ 39,00 (+Iva)

Front DesignerI tempi sono cambiati ed il vostro progetto elettronico non ha più motivo di essere incluso in un vecchio pacchetto di sigari.

Oggi molti rivenditori offrono contenitori adatti a tutti i tipi di circuiti immaginabili, ma spesso i dispositivi autocostruiti

restano incompleti per la mancanza delle indicazioni sul pannello frontale.

Front Designer offre la possibilità di creare pannelli frontali veramente professionali.

€ 39,00 (+Iva) Co

dic

e M

IP 2

52

02

1

Page 22: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

BOB BLICKL’idea di visualizzare caratteri alfanumerici attra-verso una striscia di led in movimento, da acce-dere e spegnere agli istanti di tempo opportuni,è attribuita a Bob Blick, che ha realizzato il suo“Propeller Clock” nel 1995. Altri autori sonoarrivati indipendentemente alla stessa idea, maposteriormente nel tempo. La maggior parte diquesto tipo di orologi compie un movimentorotatorio circolare uniforme. In questa realizza-zione, invece, il movimento è alternativo oscil-lante, poiché il coltello fissato alla base di ferrosi comporta da pendolo fisico (Figura 1). Il siste-ma funziona grazie alla persistenza della visionedelle immagini sulla retina: è esperienza di tuttiche una luce in movimento rapido viene perce-pita come una striscia luminosa continua. Setale luce è lampeggiante, viene percepita comeuna serie di segmenti in posizioni differenti.Grazie alla rapidità dell’elettronica è possibilevisualizzare qualunque scritta (Figure 2 e 3)

rispettando temporizzazioni precise, facendoapparire i punti luminosi sempre nella stessaposizione, ad ogni passaggio e ripassaggio delcoltello oscillante. La sincronizzazione con ilmovimento del coltello è assicurata da un sem-plice circuito di rilevazione interruzione fascio diluce infrarossa, posto centralmente a metàcorsa. La luce bianca/rosata visibile nelle foto-grafie è proprio la luce infrarossa emessa dal ledi.r., invisibile ad occhio nudo, ma catturata dal-l’obiettivo e dal sensore CCD della fotocameradigitale.

SCHEMA ELETTRICOLo schema elettrico, visibile in figura 4, è piutto-sto semplice, poiché il circuito è di tipo digitaleed è stato utilizzato un microcontrollore chesovraintende a tutte le funzioni. X1 è il connet-tore di alimentazione: positivo al terminale cen-

L elemento di visualizzazione

di questo particolarissimo

orologio sono 7 led da 3 mm

montati sulla lama di un coltello.

L’orario viene visualizzato flottante

a mezz’aria quando si agita la

lama, per un risultato di notevole

impatto visivo. L’orologio contiene

inoltre un datario, calcola il giorno

della settimana, e l’età dei nostri

amici dei quali ci ricorda il nome,

il giorno del compleanno e l’età

raggiunta.

Pra

tic

a

22

TEORIA RISORSE SPECIALE

Orologio a

PRATICA

Figura 1 Prototipo dell’orologio

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 23: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

trale, negativo a quello esterno. D1 protegge dainversioni di polarità accidentali, e rende il cir-cuito idoneo ad essere alimentato con tensionealternata. D1 raddrizza una sola semionda, escarta l’altra, ma dato l’esiguo assorbimento delcircuito, C1, caricato nella prima semionda, nonfa in tempo a scaricarsi durante la secondasemionda, alimentando direttamente il carico.La tensione di ingresso può quindi essere conti-nua o alternata, compresa tra 8V e 18V. Oltre18V occorre montare un dissipatore su IC2, ilquale stabilizza la tensione di ingresso su 5V. Icondensatori C2, C3, C4 servono ad impedireoscillazioni dello stabilizzatore. C7 invece disaccop-pia la tensione di alimentazione vicino al microcon-trollore, e fa fronte agli assorbimenti di correnteimpulsivi tipici degli integrati logici CMOS.

IC1 è il microcontrollore PIC16F628 dellaMicrochip, configurato per lavorare con unquarzo esterno (unico modo di garantire unabase tempi precisa all’orologio), e per ignorareil segnale MCLR/, così da poter tenere scollega-to il relativo piedino. Il quarzo, da 14,31818MHz è collegato ai piedini OSC1 e OSC2, ed èaccompagnato da due condensatori di stabiliz-zazione frequenza.Al microcontrollore sono collegati i due pulsan-ti N.A. da circuito stampato, necessari per rego-lare l’ora. Non sono necessarie resistenze di

Elenco componenti su PCB

R1 270 o 1/4 W

R2 10 ko 1/4 W

R3-R9 270 o 1/4 W

C1 220 µF 25 V elettrolitico

C2 22 µF 16 V elettrolitico

C3, C4 100 nF poliestere

C5, C6 22 pF ceramico

C7 100 nF poliestere

D1 1N4007

XTAL1 Quarzo 14,31818 MHz

IC1 PIC16F628

IC2 7805

SW1, SW2Pulsante N.A. da C.S. 1S1PN.A. 4 contatti

X1 Connettore alimentazione 90° C.S.

X2, X3Morsetto a vite 2 posti 90° C.S.passo 5,08 mm

CON1Conn. per cavo piatto Harting10 poli 90° C.S.

Pra

tica

23

di Paolo Sancono

visualizzazione

fluttuante

Figura 2 Visualizzazione dell’ora

Figura 3 Visualizzazione di caratteri alfanumerici; in questo caso,il giorno della settimana

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 24: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

pull-up poiché queste sono disponibili all’inter-no del PIC per tutta la PORTB, attivabili surichiesta del firmware. I led verdi 3mm sono col-legati al circuito attraverso il connettore da cavopiatto harting a 10 poli CON1, sul quale sonostate rese disponibili anche le piste di massa e di+5V. In realtà è solo l’alimentazione +5V adessere impiegata dai Led, che vengono collega-ti ad Anodo comune, e il collegamento di massaè inutile. R3-R8 sono le relative resistenze dilimitazione di corrente.

I Led sono collegati ai piedini RA0, RA1, RA2,RA3, RB1, RB2, RB3 del PIC. Al piedinoRB0/INT, invece, è collegata l’uscita di tipologico del circuito di rilevazione passaggiocoltello (vedi riquadro di approfondimento),costituito dai resistori R1 e R2 montati sulPCB, e da led emettitore e fotodiodo riceven-te che vengono inseriti in 2 tubicini, puntatiuno contro l’altro a rilevare il passaggio delcoltello, e collegati al PCB principale median-te due pezzi di filo a 2 poli da inserire nei mor-setti a vite X2 e X3, facendo attenzione allapolarità anodo catodo, indicata anche sul PCBlato Rame per maggiore comodità e per evita-re errori.

MONTAGGIOIl master per la realizzazione del PCB è ripor-tato in figura 5. Si consiglia l’uso del bromo-grafo poiché ci sono piste che passano tra ipiedini dell’integrato e del connettore eoccorre una certa precisione. I componentiimpiegati sono tutti di facile reperibilità.Cominciare il montaggio da quelli a profilopiù basso, vale a dire zoccolino per l’integra-

to, l’unico ponticello previstodal lato componenti JP1, le resi-stenze montate in orizzontaleR1 ed R2 e il diodo D1.Proseguire man mano con ilresto dei componenti, peraltroin numero esiguo: il montag-gio si completa in meno dimezz’ora. Prestare un’attenzio-ne maggiore ai componentipolarizzati, come i condensa-tori elettrolitici e il diodo, aiu-tandosi con la figura 6 chemostra il lato componenti delPCB. Anche il connettoreHarting va orientato corretta-mente, seguendo l’indicazionerelativa al pin n. 1. Per lo zoc-colino del PIC si può inveceosservare il segno a forma di Upresente da un lato. Sono pre-visti tre fori di fissaggio deldiametro di 3 mm, nei quali sipossono montare distanziatoriesagonali M3.

Orologio a visualizzazione fluttuante

Pra

tic

a

24

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Figura 4 Schema elettrico

Elenco altri componenti

LED1-LED7 Led verde, Ø 3 mm

LED8 Led Tx I.R. Ø 5 mm (es. CQX89)

FD1Fotodiodo o fototransistorRx I.R. Ø 5 mm (Es. TIL78)

CON2Conn. per cavo piatto a crimpareharting 10 poli

CABLE Cavo piatto 10 poli

Page 25: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Un po’ di officina non guasta

L’orologio prevede, oltre al PCB, un minimo dimontaggio meccanico ulteriore. Occorre unapiastra di ferro spessa almeno 5 mm e didimensioni di circa 8 x 15 cm, un tondino diferro di diametro 3 mm e lungo una trentina dicentimetri, e un coltello. Occorre forare il col-tello quanto più vicino possibile alla punta conun foro da 3 mm. Per questa operazione è

necessario un trapano a colonna, una morsaper fissare stabilmente il coltello, e punte ido-nee a forare il duro acciaio del coltello. La pia-stra di ferro costituisce la base dell’orologio.Un foro verrà realizzato anche sul lato cortodella base, lateralmente, a metà del lato.Realizzare il foro da 2 mm e filettarlo con passoM3. Fissare quindi il coltello alla base con unbulloncino M3 e una o due rondelle. Verificare

Pra

tica

25

Figura 5 Circuito stampato in scala 1:1 (lato rame) Figura 6 Piano di monaggio

La rivoluzionaria scheda

di sviluppo per PICmicro

✔ Programmatore USB2.0 on-board

✔ Tastiera a 32 tasti

✔ 32 LED per il monitoraggio degli I/O

✔ 4 cifre LED a 7 segmenti

✔ Predisposizione per moduli LCD alfanumerici

✔ Predisposizione per moduli LCD grafici

✔ Predisposizione per comunicazione RS232

✔ Predisposizione per tastiera PS2

✔ Predisposizione per sensore di temperatura DS1820

✔ Supporto per tutte le famiglie PIC (anche PIC10F)*

✔ Predisposizione per comunicazione USB

✔ Alimentazione esterna o via USB

✔ Fornita con 16F877

✔ Disponibile con o senza display

Scheda easyPIC3Scheda easyPIC3

Ordinala subito su www.farelettronica.com oppure telefona allo 02.66504755

Codice MIP 252025

Page 26: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

26

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

LA PIÙ SEMPLICE COPPIA EMETTITORERICEVITORE INFRAROSSI POSSIBILE

Una coppia emettitore – ricevitore all’infrarosso che dia in uscita un segnale logico 0-1 aseconda se il fascio infrarossi sia interrotto o meno, si può realizzare in diversi modi. La moda-lità più semplice in assoluto, prevede di impiegare solo due resistori, oltre ai necessari led tra-smittente e fotodiodo o fototransistor ricevente all’infrarosso.

Si osservi la figura 7: si noti che il fotodiodo è polarizzato in inversa, poiché in diretta condu-ce sempre come un qualunque diodo, mentre in inversa conduce solo quando è colpito daluce infrarossa. Anodo e catodo vengono indicati anche per i fotodiodo con la convenzionedel reoforo dell’anodo tagliato più lungo di quello del catodo.Dei fototransistor di solito il collegamento della base non interessa, quindi anche questihanno l’aspetto di comuni led o fotodiodi, a 2 terminali. In questo caso il reoforo più lungoè l’emettitore, quindi, all’atto pratico, non c’è differenza d’uso tra un fotodiodo e un fototran-sistor che all’aspetto esterno sembrano comunissimi led 5 mm.

L’autore ha utilizzato il led tx i.r. CQX89 eil fotodiodo rx i.r. TIL78. Si possono sceglie-re led emittenti e fotodiodi riceventi qual-siasi, purché la banda infrarossa trasmessae quella ricevuta siano parzialmentesovrapposte; meglio ancora se il trasmit-tente e ricevente scelti siano stati progetta-ti specificatamente per lavorare in coppia,come quelli indicati dall’autore.

Il circuito proposto, pur nella sua sempli-cità, è idoneo a rilevare l’interruzione diun fascio infrarosso al frapporsi di unoggetto. Lo svantaggio principale di que-sto circuito, rispetto ad altri più comples-si, è che la luce infrarossa ambiente puòdisturbare la ricezione. E’ quindi necessa-rio inserire tanto il led emittente che ilfotodiodo ricevente in un tubicino di pla-stica nera, oscura ai raggi infrarossi, epuntare i due tubicini direttamente uno

contro l’altro. Inoltre la distanza da coprire non deve essere grande (Figura 8).Nella realizzazione sono stati utilizzati pezzi del corpo di una penna a sfera Bic tagliati a misu-ra: un led da 5mm entra proprio giusto nel tubicino così realizzato. Il tubicino è stato poioscurato con nastro isolante nero. Alcuni nastri isolanti sono opachi al visibile ma trasparentiall'infrarosso. È opportuno quindi verificare l'opacità del nastro all'infrarosso applicandolo adun telecomando TV e verificando l'impossibilità di utilizzare il telecomando stesso.

I due tubicini sono stati fissati a due astine di ferro mediante pezzetti di nastro isolante,dopo averli puntati uno contro l’altro lasciando al coltello la possibilità di interrompereil fascio. Le astine di ferro sono state ricavate da un tondino, filettate con una filiera, eavvitate su due fori maschiati praticati sulla piastra di ferro di base (Figura 1).

Figura 7 Circuto di base trasmittente – ricevente infrarosso

Figura 8 Inserire led e fotodiodo in tubicini puntati uno contro l’altro

Page 27: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

La più innovativa tecnologia diriconoscimento vocale in un moduloDIL40. Con VR Stamp è possibilerealizzare applicazioni SpeakerIndependent, Speaker Dependent oriconoscimento biometrico dellavoce in modo semplice ed immediato.Per facilitare lo sviluppo è disponibileil nuovo compilatore mikroC e lascheda di sviluppo con programmatoreintegrato.

IL RICONOSCIMENTO

VOCALE

IN ITALIANO

ALLA PORTATA

DI TUTTI

INWARE Srl Via Cadorna, 27/31 - 20032 Cormano (MI) Tel: 0266504794 - Fax: 0266508225 - www.inware.it

• 24 linee di I/O• Uscita PWM per pilotaggio diretto dell’altoparlante• Uscita DAC per amplificatore esterno• Riconoscimento vocale Speaker Independent (SI) e

Speaker Dependent (SD) con alta immunità al rumore• Numerosi modelli di linguaggio e dizionari per uso internazionale• Compressione ad alta qualità da 2,4Kbps fino a 10,8Kbps• Effetti sonori grazie alla tecnologia Sensory SX• Riconoscimento biometrico con la tecnologia Sensory SVWS• Sintesi musicale ad 8 voci MIDI-compatibile• Sintesi Touch Tone (DTMF)• Risveglio via audio da modalità a basso consumo

Lo sviluppo di applicazioni di riconoscimento esintesi vocale è reso ancora più facile dalla nuovascheda easyVRstamp. La scheda è infatti dotata diprogrammatore USB2.0, microfono, altoparlante,connettori per Compact Flash e molte altre perifericheche renderanno veramente semplice la realizzazionedei vostri progetti.

• Connettore DB9 per comunicazione dati RS232• Microfono ed altoparlante integrati• 24 LED per il monitoraggio delle uscite• 24 pulsanti per la gestione degli ingressi• Predisposizione per display LCD alfanumerici• Connettore per memorie Compact Flash• Uscita amplificata per altoparlante esterno• Programmatore USB2.0 on-board• Real-Time Clock con batteria di backup• Alimentazione esterna o tramite USB• Un modulo VRstamp incluso

Co

dic

e M

IP 2

52

02

7

Page 28: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

28

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

che si riesce a far oscillare il coltello come desi-derato. In sostituzione del coltello si può usareanche un altro pezzo di acciaio, o qualunquemateriale in grado di oscillare spontaneamen-te una volta fissato ad una estremità.Alla piastra di base vanno fissati anche, vertical-mente, due asticciole realizzate dai tondini diferro, che ospiteranno il led trasmittente e ilfotodiodo ricevente, in modo da rilevare il pas-saggio del coltello. Tagliare a misura i tondini,che dovranno essere più corti di circa 4 cmrispetto al coltello, la cui parte superiore ospite-rà i led e non deve essere oscurata dai tondini.Considerare nella misura che parte dei tondiniverrà filettata e inserita in fori maschiati sullapiastra di base. Sui tondini andranno sistematiil led trasmittente e ricevente, uno da un lato euno dall’altro. Questi ultimi verranno collegatielettricamente al resto del circuito mediantesemplice cavo elettrico a due poli, da inserirenei morsetti a vite del PCB rispettando la cor-retta polarità.Un pezzo di cavo piatto a 10 poli collegheràinvece i 7 led verdi al circuito: da un lato si sal-deranno direttamente i led, dall’altro si utilizze-rà un connettore harting per cavo piatto. I con-nettori harting si montano su cavo piatto a 10poli semplicemente stringendo il connettore sulfilo, con l’apposita pinza. I cavi piatti hanno laguaina del conduttore n. 1 di colore rosso, men-tre la guaina degli altri conduttori è di colorebianco. Assicurarsi di orientare correttamente ilcavo piatto rispetto al connettore. Convienemontare prima i led, saldandoli direttamente alcavo, che andrà spellato, quindi tagliare succes-sivamente il cavo a misura e crimpare il connet-tore harting sul cavo per ultimo. I 7 led verdi vanno saldati tra di loro collegan-do tutti gli anodi assieme. Aiutarsi per l’opera-zione con una “terza mano”, il sostegno a 2pinzette utilizzato per tenere i componentimentre li si salda. Piegare opportunamente ireofori degli anodi in modo da agevolare almassimo il loro collegamento tutti assieme. Iled dovranno essere perfettamente allineati eadiacenti per gli effetti di visualizzazionemigliori. Gli anodi in comune andranno colle-gati al conduttore n. 1 del cavo piatto (quellodi colore rosso), mentre i catodi vanno collega-ti ai fili dal n. 3 al n. 9, lasciando scollegati i fili

n. 2 e n. 10, non utilizzati in questo progetto.Il led collegato al n. 9 è quello che dovrà assu-mere la posizione superiore sul coltello, quellocollegato al n. 3 la posizione inferiore. Poiché ilcavo piatto verrà fatto correre parallelo al col-tello, adagiato sopra di esso, fissato in qualchepunto con nastro isolante, mentre i led dovran-no sporgere da un lato del coltello, occorre pie-gare su se stesso il cavo piatto a 45°, facendoruotare i conduttori di 90°. Se il coltello ha ilmanico in plastica, è possibile fissare diretta-mente i Led con un pezzo di nastro isolante. Seil coltello è tutto in acciaio, occorre prima rive-stirlo a sua volta di nastro isolante per evitarecorto-circuiti sui reofori dei led.Infine il PCB può essere fissato alla piastra dibase con distanziatori esagonali, da avvitare infori filettati da realizzare sulla base stessa. Perleggere l’ora occorre far oscillare manualmenteil coltello, scostandolo e rilasciandolo con unamano, mentre si tiene ferma la base con l’altramano, a meno che non si decide di fissare per-manentemente la base ad una scrivania con unmorsetto, in tal caso occorre una mano sola perleggere l’ora.

Orologio da pigri

In figura 9 è riportata una variante del progettoche impiega un motore elettrico per muoverel'asta avanti indietro in modo che non occorrefare sforzi fisici per leggere l'ora. Il cuore delsistema meccanico è un CD, mosso in motorotatorio circolare uniforme da un motorino. SulCD è stato fissato un perno. Il perno si inseriscein un’asola ricavata nel braccio mobile. Perno easola trasformano il moto circolare in motoalternativo. La staffa di sostegno, e l’agganciotra albero motore e CD, sono stati ricavati daun vecchio lettore di CD-Rom rotto. I dettagliin plastica sono stati costruiti a partire dalla pla-stica di copertuara degli SLOT 5” 1/4 del PC:un’ottima plastica, resistente e facile da lavora-re. La base è un comune pezzo di legno.Notare pure le piccole staffe reggi-led e reggi-fotodiodo infrarossi, ricavate da pezzi di allumi-nio, e i tubicini neri ricavati da una penna biroe nastro isolante nero.Con lo stesso circuito si possono quindi costrui-re diversi tipi di orologi a movimento oscillato-rio alternativo: basta sbizzarrire la propria fanta-

Page 29: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

sia meccanica, e tarare alcune costanti del fir-mware per il periodo dell’oscillazione e per laposizione del sensore di passaggio rispetto allaposizione di visualizzazione dell’orario (piùavanti verrà spiegato come).

FUNZIONI E UTILIZZOAzzeramento orario

L’orologio non ha una batteria tampone, ed èquindi necessario tenerlo permanentemente ali-mentato al fine di non perdere le impostazioni.All’accensione l’orologio inizierà a contare iltempo dal 16 maggio 2002, ore 21:35, ovverodalla data di creazione di sé stesso, anziché dallapiù anonima e canonica mezzanotte dell’1 gen-naio 2000. Questo comportamento stravagantepuò essere cambiato ricompilando il firmwaresostituendo altri valori nelle righe che, nellasezione Init, impostano data ora minuti e secon-di all’accensione.

Regolazione di data e ora

Agendo su SW2, si entra in modalità regolazio-ne. SW1 modifica il valore corrente, mentrepressioni successive di SW2 cambiano ciclica-mente il parametro in regolazione, fino a termi-nare con le regolazioni e tornare alla visualizza-zione dell’orario continua. La prima pressione diSW2 consente di regolare i minuti: al posto

delle ore viene visualizzata una faccia sorriden-te, a ricordare che si stanno regolando i minuti.I minuti si regolano con pressioni successive diSW1. Premendo la seconda volta SW2, si passaa regolare le ore: al posto dei minuti viene visua-lizzata una faccia sorridente, a ricordare che sistanno regolando le ore. Le ore si regolano conpressioni successive di SW1. Alla stessa maniera,la terza pressione di SW2 consente di regolare ilgiorno corrente (che si regola con SW1), laquarta il mese, e infine la quinta l’anno. La sestapressione di SW2 riporta alla visualizzazionenormale dell’orario. Se il mese attuale era impo-stato ad un mese corto, come aprile (30 giorni)e si prova a regolare il giorno su 31, ad esempioperché oggi è il 31 gennaio, si noterà che l’oro-logio vieta l’operazione, e dopo il 30 vienevisualizzato nuovamente 1. In questo caso por-tare prima il mese al valore corretto, e successi-vamente regolare il giorno. Lo stesso vale perl'impostazione del 29 febbraio: l’anno imposta-to deve essere bisestile, altrimenti il firmwarevieta l’operazione. Il giorno della settimanaviene calcolato automaticamente dal firmwareall’atto della visualizzazione della data.

Messaggio di copyright

Il display virtuale dell’orologio può visualizzare 5oppure 10 caratteri, a discrezione del firmware.Normalmente la visualizzazione è a 5 caratteri: iprimi due per le ore, gli ultimi due per i minuti, eil carattere centrale con il segno dei due puntialternato da uno spazio vuoto ogni mezzo secon-do, così che i due punti appaiano lampeggianti.Periodicamente (una volta al minuto, a partiresempre dallo stesso secondo) l’orologio puòmostrare un messaggio di copyright costituito dapiù scritte, intervallate una al secondo. Ad esempio“Knife” “Clock” “by” “Paolo” “&” “Marco” che

Pra

tica

29

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 9 La variante motorizzata del progetto

Co

dic

e M

IP 2

52

02

9

Page 30: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

30

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

sono le scritte predefinite, modificabili ricompilan-do il firmware. L’intera funzione dei messaggi dicopyright può essere impostata per partire dalsecondo selezionato nell’ambito del minuto (es.42) o per essere disabilitata completamente. Perdefault la visualizzazione dei messaggi di copyrightè disattivata nel firmware e occorre ricompilarloper attivarla. Lo si fa facilmente modificando ilvalore della costante cMsgSec, in coda nel file sor-gente (vedere le istruzioni all’interno del file sor-gente): impostando la costante ad un valore com-preso tra 0 e 59, si decide il secondo al quale par-tono le scritte del messaggio di copyright.Impostandola a 61, si disattiva la visualizzazione ditali scritte.

Giorno della settimana

L’orologio è anche dotato di un datario, e calcolail giorno della settimana automaticamente.Durante la visualizzazione dell’orario, premendoSW1 viene mostrata la data attuale, con una suc-cessione di 4 messaggi, relativi a giorno della setti-mana, giorno, mese, anno: ad esempio “sabato”“15” “aprile” “2006”, scritte mostrate al ritmo diuna ogni secondo. Da firmware si può impostarela visualizzazione automatica, non sollecitata, delladata a partire da un secondo selezionato. Bastaimpostare la costante cDateSec, in coda nel fir-mware, ad un valore diverso da 61 (corrisponden-te alla disabilitazione della funzione), similmente aquanto si fa con la costante cMsgSec (relativa aimessaggi di copyright) e ricompilare il firmware.Con la compilazione fornita, la data viene mostra-ta solo se sollecitata dalla pressione di SW1.

Compleanni

L’orologio è in grado di confrontare la data attua-le con quella di 10 compleanni di amici memoriz-zati nella eeprom del micro. Inoltre calcola l’etàdelle persone con una sottrazione con l’annoattuale. I compleanni vengono visualizzati in codaalla visualizzazione della data corrente, che puòessere automatica, una volta al minuto, oppuresollecitata manualmente con la pressione di SW1(vedi paragrafo precedente). Dopo il giorno cor-rente, se oggi è la data di un compleanno, vengo-no mostrate le scritte “Auguri a” “NomeAmico”“(XX anni)” dove al posto di NomeAmico e XX cisono il nome dell’amico e l’età calcolata. Per veni-re incontro all’aritmetica a 8 bit del PIC, si chiede

all’utente che ricompila il firmware di indicare glianni di nascita rispetto all’anno 2000, vale a dire2000 – anno reale, o, equivalentemente, indican-do l’età che avevano i propri amici nell’anno 2000.Ad esempio, un amico nato nel 1978 vedrà la suadata di nascita memorizzata come 2000 – 1978 =22. Un amico nato nel 2002 avrà l’anno di nascitamemorizzato come 2000 – 2002 = -2. Guardaregli esempi nel firmware: la sottrazione la effettuadirettamente il compilatore all’atto della compila-zione. Come esempio clarificatore, ecco la riga delcodice sorgente relativa al mio compleanno:

de .15, .9,.100-.78," Paolo "

15 e 9 sono giorno e mese, mentre 100 – 78 rea-lizza il conto 2000 – 1978 per l’anno di nascita, einfine la stringa col nome, della lunghezza obbli-gatoria di 10 caratteri. Occorre quindi riempirecon spazi prima e dopo i nomi più corti di 10caratteri. Il punto, nell’assembler dei PIC, indica laradice decimale dei numeri che seguono. Nel fir-mware è stato memorizzato anche il compleannodell’orologio stesso: il 16 maggio 2002, data dellasua creazione, durante la quale, alla richiesta divisualizzazione data, verrà mostrata la scritta “mar-tedì / 16 / maggio / 2006 / auguri a / KnifeClock/ (4 anni)“: a maggio 2006 questo orologio com-pie infatti 4 anni.

FIRMWAREIl firmware è scritto tutto in assembler, e si puòricompilare con MpAsm e MpLab, compilatoreed ambiente di sviluppo gratuiti forniti dallaMicrochip stessa. Il firmware è disponibile sulsito di Fare Elettronica come archivio ZIP conte-nente sia il codice sorgente che il codice ogget-to già compilato. Una ricompilazione del codicesorgente può però essere necessaria per inserirei propri compleanni nelle tavole e per ricalibra-re le costanti dipendenti dal periodo di oscilla-zione del proprio pendolo fisico, che può esseredifferente da quello dell’autore. Del resto si trat-ta solo di modificare il valore di alcune costanti,raccolte tutte comodamente in coda al file sor-gente, e ricompilare.Oltre al file sorgente vero e proprio, knife.asm, èpresente un file include psifthen.inc, contenenteuna raccolta di macro che consente di scrivereistruzioni di controllo di flusso come strutture if-then-else for-next repeat-until direttamente in

Page 31: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252031

Page 32: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

32

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

assembler, rendendo inutile l’uso di compilatoricon linguaggi a più alto livello che tolgono la pos-sibilità dell’interazione diretta col processore chesolo l’assembler può dare.

Risorse hardware utilizzate

Il firmware utilizza l’interrupt sul cambio dei 4bit alti di PORTB, ai quali sono stati collegati ipulsanti SW1 e SW2. I pull-up interni del PIC suPORTB vengono attivati dal firmware, così nonservono resistori di pull-up esterni sul circuito.Viene inoltre utilizzato Timer1 con il CCP1, uti-lizzato come modulo comparatore. QuandoTimer1 raggiunge il valore impostato, vieneautomaticamente riazzerato e viene generatoun interrupt. Il valore impostato, regolato dallecostanti cCCPR1L e cCCPR1H, consente diottenere un interrupt ogni decimo di secondo.Il valore del quarzo scelto (circa 14 MHz) è infe-riore al massimo tollerato dal PIC (20 MHz)proprio per consentire di generare agilmenteun interrupt ogni decimo di secondo con unacostante del contatore elevata abbastanza daconsentire aggiustamenti fini per portare l’oro-logio a scandire il tempo perfettamente.I conti dicono che una frequenza del quarzoFOsc = 14,31818 corrisponde ad una frequen-za di esecuzione istruzioni FOsc/4 =3,579545556 MHz. Con un prescaler 1:8 que-sta viene portata a 447,443333 kHz.Impostando CCP1 per contare fino a 44744 siottiene proprio la frequenza di 10,000 Hz perl’interrupt. Questo valore: 44744 può essereaggiustato in più o in meno a seconda se l’oro-logio prende avanti o indietro. Nel mio caso èstato selezionato empiricamente un valore di44775, che ha reso il mio orologio preciso.Questo valore va convertito in esadecimale a16 bit e inserito nelle due costanti a 8 bitcCCPR1L e cCCPR1H, che ne memorizzano laparte bassa e alta. Anche queste 2 costantisono raccolte comodamente in coda al file sor-gente, in modo da facilitare al massimo iltuning e la ricompilazione. Del firmware, verranno descritte prima le routi-ne accessorie e per ultimo il programma princi-pale. La descrizione è semplificata; per tutti idettagli implementativi o i – necessari – “truc-chi” impiegati, studiare direttamente il codicesorgente e i commenti in esso riportati.

Interrupt ogni decimo di secondo

L’interrupt eseguito ogni decimo di secondoincrementa una variabile che porta il conto deldecimo di secondo attuale, da 0 a 9. Quandoquesta arriva a 10, viene rimessa a 0, e vieneaggiornato il contatore dei secondi. Quandoquesto arriva a 60, viene riazzerato, e incremen-tata la cifra delle unità dei minuti, e così via conle decine di minuti, unità e decine di ore, i gior-ni, i mesi e gli anni, con gli accorgimenti delcaso (computo giorni per ogni mese, computoanni bisestili). Minuti e ore vengono conservatiin unità + decine, anziché come numero bina-rio, per renderne più semplice la visualizzazionesul display senza conversioni da binario a deci-male. Al cambio di data, viene settato un flagper chiedere al programma principale di con-trollare se ci sono compleanni oggi. Il controllonon viene effettuato nella routine dell’interruptperché è richiesto un accesso in EEProm che èmolto lento, e rallenterebbe troppo la routinedell’interrupt periodico, procurando visualizza-zioni strane se l’interrupt capita nel bel mezzodell’output a video dei caratteri.L’interrupt periodico si occupa anche di sostitui-re il carattere centrale alternativamente con idue punti e uno spazio vuoto, ogni mezzosecondo, e di incrementare ShowDateCount,ogni secondo, che conserva un numero progres-sivo utilizzato durante la visualizzazione di date,compleanni, messaggio di copyright. Per incre-mentare correttamente ShowDateCount, si con-serva il decimo di secondo al quale aggiornarla.

Interrupt al cambio di PORTB

L’interrupt al cambio di PORTB inizia con una rou-tine di debounce: finché lo stato dei bit alti diPORTB non permane a lungo (la costante didebounce, dipendente dalla meccanica dei pul-santi, è disponibile in coda al file sorgente, assie-me alle altre costanti), viene continuamente rilet-to. Al termine dei rimbalzi, quando lo stato per-mane per un tempo sufficientemente lungo, siaccetta la lettura come valida.La pressione di SW2 incrementa la variabileEditing, che vale 0 normalmente, e da 1 a 5 aseconda se si regolano minuti, ore, giorno, meseo anno. Una pressione ulteriore riporta a 0Editing, in modo da uscire dal modo di regolazio-ne. All’uscita dal modo di regolazione, si setta il

Page 33: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

33

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

flag che chiede al programma principale di con-trollare se ci sono compleanni oggi, nell'ipotesiche il datario sia stato appena impostato sulladata di un compleanno.La pressione di SW1, invece, a seconda del valoredi Editing, comporta l’avvio della visualizzazionedella data corrente, oppure la regolazione delparametro correntemente in regolazione, con irelativi controlli di range, computo dei giorni perogni mese ed eventuale valutazione anni bisestili.

Rom dei caratteri

La Rom dei caratteri conserva l’immagine(glyph) di ciascun carattere da visualizzare, edè implementata con tabelle in sola lettura.Queste ultime, in una architettura Harvard econ il set di istruzioni del PIC16F628, si realiz-zano con una serie di istruzioni RETLW (Returnwith Literal in W), precedute da una ADDWFPCL,F che aggiunge il valore corrente dell’ac-cumulatore W agli 8 bit più bassi del programcounter, senza gestire riporto. Il limite di que-sto approccio è che il registro PCL è ad 8 bit,quindi le tavole realizzate in questo modopossono essere lunghe al massimo poco menodi 256 byte, e non possono essere disposte acavallo dei confini di pagina da 256 byte.Poiché si volevano memorizzare le configura-zioni di visualizzazione (glyphs) di tutte le let-tere maiuscole, minuscole, numeri e qualchealtro simbolo, occorreva una tabella su trepagine. Ogni carattere, infatti, ha bisogno di8 byte per essere descritto in una matrice di8x8 = 64 pixel. La tavola è stata quindi spez-zata in 3 tavole chiamate: lowchar, midchar,hichar, ciascuna nella sua pagina (pagina 0, 1,2). PCLATH (che conserva i bit alti del

Program Counter) viene settato direttamentedalle routine.Una peculiarità di questa ROM dei caratteri èche le immagini sono descritte per colonne,anziché per righe, per la particolare modalità divisualizzazione scanning verticale del display,anziché orizzontale, com’è tipico invece deimonitor dei PC, per i quali di solito le Rom deicaratteri sono conservate per righe. Alcuni sim-boli di uso poco frequente non sono stati dise-gnati, e al loro posto sono stati inseriti glyphsutili: ad esempio al posto dell’apice ‘^’ è statadisegnata una i con l’accento ‘ì’, utile per inomi dei giorni della settimana, al posto delleparentesi quadre aperta e chiusa una faccinasorridente, e al posto dell’accento acuto il sim-bolo “by”, utile per i messaggi di copyright.Diverse posizioni restano libere, pronte peressere riempite con simboli utili per chi vogliaestendere il firmware.Per semplificare al massimo l’uso delle tre tavo-le, una coi simboli, l’altra con le maiuscole e l’al-tra con le minuscole, è stata scritta la routineromchar, che accetta in W direttamente codicidi caratteri ASCII, e si occupa di effettuare gliaggiustamenti con moltiplicazioni per 8, addi-zioni e sottrazioni di costanti per richiamare ilglyph corretto da una delle tre tavole imple-mentate. Come funzione molto utile, i primicaratteri ASCII, da 0 a 15, sono stati associati aiglyph dei caratteri da ‘0’ a ‘9’ e da ‘A’ a ‘F’, inmodo da visualizzare direttamente in esadeci-male un numero nel range 0..15 passato in Wcome binario, senza doverlo prima trasformarein codice ASCII. Alla routine romchar, oltre apassare il carattere ASCII in W, occorre passarenella variabile Looper la colonna desiderata del

TAVOLE IN ASSEMBLER – 1Anche se il codice sorgente è scaricabile per intero dal sito di Fare Elettronica, in questo e neisuccessivi riquadri di approfondimento sono riportati alcuni passaggi significativi, in modo dapoter seguire meglio la descrizione del firmware data nell’articolo. Per l’approfondimento sonostate scelte alcune tavole che utilizzano qualche trucco rispetto all’utilizzo canonico di base.

Tavola della Rom dei caratteri

org 0x100 ; Pagina 1

midchar

bsf PCLATH,0

Page 34: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

34

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

bcf PCLATH,1

call rcMult8

addwf PCL,F

; @

dt 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00

; A

retlw B'00000000'

retlw B'01111100'

retlw B'01111110'

retlw B'00001011'

retlw B'00001011'

retlw B'01111110'

retlw B'01111100'

retlw B'00000000'

[...]

rcMult8

movwf rcTemp

clrc

rlf rcTemp,F

rlf rcTemp,F

rlf rcTemp,W

addlw -.1

addwf Looper1,W

return

I prefissi “0x” e “B’” indicano la radice esadecimale e binaria per i literal numerici cheseguono. DT (Define Table) è una parola chiave del compilatore che sostituisce una seriedi retlw in una notazione più compatta. Si noti che le costanti sono date direttamente inbinario, in modo che gli “1” disegnino direttamente il glyph a schermo, sul codice sor-gente. La A maiuscola dell’esempio, disegnata dagli “1”, appare coricata su un fianco, poi-ché i glyph dei caratteri sono memorizzati per colonne, anziché per righe.PCLATH (che conserva i bit alti del Program Counter) viene impostato direttamente dadentro la tavola, anziché costringere il resto del programma a impostarlo correttamenteprima di richiamare la tavola. Anche la moltiplicazione per 8 di W e l’aggiunta dell’offsetlooper (routine rcMult8) viene effetuata direttamente dentro la tavola. Si noti anche cheper il carattere “A” è stato definito il glyph, mentre per la “@” non è stato definito, lascian-do lo spazio disponibile per estensioni future. Il primo carattere della tavola lowchar, inve-ce, è bene che rimanga con glyph tutto vuoto perché è il glyph di default, per codici nonimplementati.

Selezione ASCII tra le 3 tavole lowchar midchar hichar

La routine romchar fa da smistamento tra codice ASCII in ingresso, e offset in una delletre tavole lowchar midchar hichar nelle quali è stato necessario dividere la rom dei carat-teri in uscita, a causa dei limiti di pagina del PIC scelto. La routine inoltre associa ai codi-ci ASCII 0..15 i glyph dei caratteri “0” .. “9” e “A” .. “F”, in modo da consentire di visua-

Page 35: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252035

Page 36: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

36

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Glyph di quel carattere, da 1 a 8. La colonna dipixel da inviare ai Led viene restituita in W.

ALTRE TAVOLEIn pagina 2 sono presenti altre tavole (e questoriduce il numero di caratteri descrivibili nellatabella hichar, che ha le ultime posizioni nondisponibili, occupate dalle ulteriori tavole): unacol numero di giorni per ciascun mese, utilizza-ta per impedire l’immissione di date non validee gestire il cambio del mese, un’altra con un off-set del giorno della settimana del primo giorno

di un mese rispetto al primo gennaio, utilizzataper valutare il giorno della settimana di qualun-que data, una tavola di stringhe a 5 carattericon il messaggio di copyright, e una tavola distringhe a 10 caratteri con i nomi dei mesi del-l’anno e dei giorni della settmana, oltre allastringa “Auguri a”. Viene definita anche qualchecostante di offset per richiamare stringhe disemantica differente da un’unica tavola accor-patrice. Vedere i riquadri di approfondimentoper le tecniche di programmazione originaliimpiegate in queste tavole.

lizzare cifre direttamente senza prima convertirle in caratteri ASCII. Tutta la routine si basasull’aggiunta e sottrazione di offset opportuni, prima del salto ad una delle 3 tavole costi-tutrici della rom dei caratteri.I confronti di range sono realizzati con confronti di minoranza successivi, valutati sottra-endo via via costanti e confrontando con zero, di modo che all’esito positivo del confron-to si è già aggiustato l’offset sottraendo la quantità opportuna. E’ stato implementatoanche il glyph di default per codici non validi: il primo della tavola lowchar.

romchar

addlw -.9 -.1

skpnc

goto rc1

addlw .9 + .1 + .16

goto lowchar

rc1 addlw -.6

skpnc

goto rc2

addlw .6 + .1

goto midchar

[...]

rc5 addlw -.32

skpnc

goto rc6

addlw .32

goto hichar

rc6 clrw

goto lowchar

TAVOLE IN ASSEMBLER – 2Tavole di stringhe promiscue e costanti di offset

Nel firmware sono state inserite solo due tavole di stringhe: una per le stringhe da 5 caratte-ri e un’altra per le stringhe da 10 caratteri. Stringhe di semantica differente vengono così ospi-tate nella stessa tavola, un gruppo dietro l’altro senza apparente divisione. Per accedere alleune o alle altre, pur mantenendo la possibilità di aggiornare facilmente le tavole, modifican-

Page 37: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

37

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

do il numero di stringhe costitutive di ciascun gruppo, si sono usate convenientemente dellecostanti di offset, lasciando al compilatore il compito di determinarle valutando addizioni sulnumero di elementi di ogni gruppo.

strings5

bsf PCLATH,0

bsf PCLATH,1

addwf PCL,F

dt "Knife"

dt "Clock"

dt " ̀ "

dt "Paolo"

dt " & "

dt "Marco"

cMsgNum equ .6

strings10

bsf PCLATH,0

bsf PCLATH,1

addwf PCL,F

dt " Gennaio "

dt " Febbraio "

dt " Marzo "

dt " Aprile "

dt " Maggio "

dt " Giugno "

dt " Luglio "

dt " Agosto "

dt "Settembre "

dt " Ottobre "

dt " Novembre "

dt " Dicembre "

dt " Luned ̂ "

dt " Marted ̂ "

dt " Mercoled^"

dt " Gioved ̂ "

dt " Venerd ̂ "

dt " Sabato "

dt " Domenica "

dt " Auguri a "

cMesiStrings equ 0 - .1 ; -1: 0-based

cWeekStrings equ .12 - .1 ; -1: 0-based

cAuguriStrings equ .12 + .7

IF ((HIGH ($)) != (HIGH (strings10)))

ERROR "La tavola strings10 ha superato i confini di pagina"

ENDIF

Page 38: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

38

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Notare che al carattere “`“ è associato un glyph costituito dalla scritta “by” e al carattere “^”un glyph costituito dalla i con l’accento acuto “ì”. Non era conveniente, infatti, implementaretutto il codice ASCII esteso per supportare un’unica lettera accentata necessaria al progetto.Si noti che la parola chiave dt (define table), già incontrata precedentemente, è potente abba-stanza da accettare anche stringhe tra doppi apici, che vengono sostituite dal compilatore conuna sequenza di istruzioni retlw, una per ciascun carattere.

Controllo per i confini di pagina

L’istruzione IF non è di certo parte delle istruzioni compilate (nel PIC non è disponibilela IF in assembler), ma è una direttiva al compilatore: ci avvisa se l’ICL (indirizzo di com-pilazione attuale) ha cambiato pagina in coda alla tavola rispetto all’inizio della tavolastessa, generando un errore di compilazione se la circostanza avviene.Grazie a questo “trucco” non è necessario controllare manualmente se la tavola hasuperato i confini di pagina (con conseguenze disastrose all’atto dell’esecuzione delcodice compilato) ma è il compilatore stesso ad avvisarci della circostanza. Al program-matore resta comunque il compito di porvi rimedio, accorciando la tavola, spostando-la integralmente in un’altra pagina, oppure spezzandola in due se è troppo grande peruna pagina unica.

TAVOLE IN ASSEMBLER – 3Quanti giorni ha questo mese?

Chi l’ha detto che assieme ad una tavola non si possa eseguire qualche piccolo conto?Questa considerazione ha portato l’idea di verificare la lunghezza del mese di febbraioper l’anno attuale (28 o 29 giorni) direttamente nella tavola che contiene la lunghezzadi ciascun mese, lasciando il codice chiamante libero da questo controllo. Inoltre, allatavola non viene passato il mese in ingresso: essa accede direttamente alle variabili glo-bali, anche perché l’accumulatore W viene distrutto per verificare il mese attuale, eoccorrerebbe una variabile temporanea per conservarlo, qualora fosse usato come para-metro di ingresso.Tale variabile temporanea avrebbe bisogno della gestione delle sovrapposizioni se la rou-tine viene chiamata – così come avviene – sia dal programma principale che dagli inter-rupt. Anche l’aggiustamento di base (da 1-based a 0-based) per il mese è effettuatodirettamente nella tavola.Utilizzando contemporaneamente tutti questi “trucchi” si sono ottenute due routine (latavola e la chiamante) entrambe compatte e leggibili, e una gestione degli anni bisesti-li risolta così brillantemente da apparire di nessuna difficoltà.

giornimese

;Ritorna in W il numero di giorni del mese corrente

ifeel Mese,.2,giornimese001

ifbc Anno,0,giornimese001

ifbc Anno,1,giornimese001

retlw .29

ifend giornimese001

bcf PCLATH,0

bsf PCLATH,1

decf Mese,W

Page 39: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

39

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

ALTRE ROUTINEDayOfWeek calcola il giorno della settimanadella data odierna, sfruttando le tavole in pagi-na 2. WinVid23 trasforma W in decimale, deci-ne e unità, e lo visualizza nelle posizioni 2 e 3della stringa da mandare a schermo (utilizzataper l’età dei compleanni). Fill10Vid carica lastringa da passare a schermo con una dellestringhe memorizzate nelle tavole (copyright,giorno della settimana, nome del mese, “Auguria”). Chiamando Fill10Vid si possono utilizzareopportunamente le costante di Offset dichiara-te sotto la tavola delle stringhe. Show è la rou-tine più caratterizzante dell’intero progetto: ècompito di questa routine inviare la raffica diimpulsi ai Led che provoca la visualizzazionedella stringa memorizzata nella variabile da 10byte Video, che costituisce una vera e propriamemoria video basata su caratteri del progetto.Sono disponibili una visualizzazione a caratteripiù larghi, che mostra 5 caratteri, oppure unavisualizzazione a caratteri più compressi, chemostra 10 caratteri. La temporizzazione è rego-lata dalle costanti raccolte in coda al file sorgen-te, debitamente commentate, e può essere

necessario aggiustarle per il periodo di oscilla-zione del proprio orologio.

Programma principale

Dopo aver configurato l’hardware del PIC perle funzioni richieste, il programma principaleesegue un loop senza fine nel quale sostan-zialmente:• aspetta che il coltello torni al centro, oscuran-

do il fascio infrarossi;• aspetta che il coltello si sposti, liberando il

fascio infrarossi;• decide cosa visualizzare a video, inserendolo

nella variabile Video;• chiama la routine show, che mostra sui led i

contenuti della variabile Video;• se il flag di controllo per compleanni è setta-

to, verifica se c’è un compleanno oggi.

La decisione di cosa visualizzare si basa sulcontenuto di diverse variabili. Inizialmente invideo viene inserito l’orario attuale, e si vieneagevolati dal fatto che il conto di minuti eore viene portato avanti direttamente indecine e unità anziché come numero globa-

addwf PCL,F

retlw .31

retlw .28

retlw .31

retlw .30

retlw .31

retlw .30

retlw .31

retlw .31

retlw .30

retlw .31

retlw .30

retlw .31

ifeel sta per “if equal (variable)-literal”, ifbc sta per “if bit clear”, ifend sta per “if end”.Sono macro della raccolta psifthen.inc, che permettono strutture di controllo di flussosofisticate direttamente in assembler, con l’unico onere di dichiarare una etichetta unicaper ciascun gruppo di controlli. Questa raccolta di macro rende meno utile un compilato-re ad alto livello, del quale si può fare agilmente a meno se non occorrono formule mate-matiche complesse, conservando tutti i vantaggi dell’interazione diretta col processore chesolo l’assembler può dare. Si noti che il controllo per la divisibilità per 4 dell’anno è addi-rittura più semplice in binario (e in assembler) che in decimale (e in alto livello): basta veri-ficare che le ultime due cifre siano nulle!

Page 40: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Orologio a visualizzazione fluttuante

Pra

tic

a

40

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

le, quindi non è necessaria alcuna conversio-ne da binario a decimale. Per rendere più ele-gante la visualizzazione, uno zero nella posi-zione delle decine delle ore viene sostituitoda uno spazio vuoto.L’orario può venire sovrascritto, prima dellavisualizzazione, a seconda dei casi, dal messag-gio di copyright, da uno degli elementi costitui-tivi la data corrente o l’avviso di un complean-no, o da una schermata di regolazione parame-tro, se si è in modalità regolazione. E’ chiaroche, lavorando con sovrascritture successive, icontrolli posteriori hanno priorità maggiore diquelli effettuati prima: quindi una visualizzazio-ne della modalità di regolazione ha prioritàrispetto al messaggio di copyright, che ha prio-rità rispetto alla visualizzazione dell’orario cor-rente, che viene visualizzato solo quando non cisono altre operazioni in atto.Il controllo per un compleanno oggi avvieneleggendo la tavola in EEPROM e confrontan-do giorno e mese con la data attuale. Questocontrollo viene effettuato solo a mezzanotte,al cambio di data, poiché l’accesso allaEEPROM è lento e non c’è il tempo di effet-tuarlo spesso e contemporaneamente di tene-re aggiornato il display, che è un’operazioneche richiede tutta l’attenzione della CPU. Glianni vengono memorizzati a partire dal 2000,in un intero a 8 bit. A questo numero sisomma semplicemente l’offset rispetto al2000 memorizzato nella tavola dei complean-ni per stabilire l’età dell’amico del quale sifesteggia il compleanno: non è quindi neces-sario effettuare alcuna sottrazione, ma soloun’addizione per stabilire l’età dell’amico.

Taratura

Per una visualizzazione corretta è necessarioche il burst di visualizzazione sui Led parta almomento opportuno, rispetto all’istante diinterruzione e ripristino del fascio infrarossi. Ilfatto che il coltello di comporti da pendolofisico, con un periodo di oscillazione in primaapprossimazione costante anche allo smorzar-si delle oscillazioni, rende agevole questocompito. L’approccio seguito è di attendereun intervallo di tempo fisso, dal ripristino delfascio infrarossi, prima di inviare il burst ai led,che a sua volta ha una durata di tempo fissa.

Tutti questi intervalli di tempo sono tarati dacostanti presenti nel codice sorgente. In parti-colare il tempo di attesa prima del burst è iltempo necessario al coltello per passare dallaposizione di riposo a metà corsa (dove vieneintercettato dai raggi infrarossi), all’estremosinistro, e di nuovo indietro, verso destra, perun breve tratto, prima di cominciare la visua-lizzazione.Durante la visualizzazione, che avviene spaz-zolando da sinistra a destra, il coltello oscure-rà nuovamente il fascio infrarosso, ma di que-sto il programma non se ne curerà, poichédurante la visualizzazione non controlla lostato del fascio infrarosso. Terminata la visua-lizzazione, il programma effettua eventual-mente il controllo per compleanni (che èun’operazione che richiede un certo tempo) equindi si rimette in polling costante del fascioinfrarossi, attendendo che il coltello termini laspazzolata, portandosi all’estremo destro, etorni indietro verso la posizione centrale,muovendosi verso sinistra, a interromperenuovamente il fascio.Una implementazione più complessa richiede-rebbe di misurare il tempo tra una oscillazionee la successiva, dividerlo per il numero di pixelda distribuire orizzontalmente, a ricavareautomaticamente la base tempi. In questocaso non si avrebbe necessità di tarare costan-ti di tempo, ma occorrerebbe cronometrare ladurata di una oscillazione (utilizzando timer econtatori) ed effettuare una divisione conl’aritmetica a 8 bit del PIC.Poiché la taratura è immediata, e 2-3 aggiusta-menti a vista sono più che sufficienti ad otte-nere una visualizzazione ottimale, si è preferitoquesto secondo approccio. Guardare diretta-mente il codice sorgente per la descrizione delsignificato di ciascuna costante di taratura: c’èuna costante che imposta una base tempi,rispetto alla quale si calcolano tutti gli altriintervalli di tempo. Due costanti moltiplicatetra loro danno il tempo di attesa dalla posizio-ne di riposo all’inizio del burst, e tre costantidanno la larghezza di un pixel, lo spazio tra unpixel e il successivo, e lo spazio tra una letterae la successiva. Buon divertimento!

Codice MIP252022

Page 41: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252041

Page 42: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

FACILEPer visualizzare lo stato del commutatore SW1 su un display a 7 segmenti, viene utilizzato il circuitodi figura 1. Sapendo che la caduta sui diodi in conduzione è di 0,6V e su ogni LED acceso cadono1,2V determinare le cifre visualizzate sul display in corrispondenza delle posizioni A, B e C di SW1 equale è il massimo assorbimento di corrente del circuito.

MEDIOPer un sistema Hi-Fi viene utilizzato il circuito di figura2 che permette la realizzazione di una cassa acustica adue vie con filtri passivi.Determinare quali sono le frequenze acustiche irradiatedal woofer e dal tweeter, ovvero le frequenze di tagliodei due filtri.

DIFFICILEUn circuito anti-thump viene utilizzatoall’interno di amplificatori audio per connetterele casse acustiche all’amplificatore con unpiccolo ritardo rispetto all’accensione del sistema.Questo permette di evitare che i picchi ditensione dell’accensione raggiungano glialtoparlanti. Una possibile realizzazione di uncircuito di questo tipo è riportata in figura 3. Sidetermini il ritardo di commutazione del relè rispetto all’istante di accensione del circuito. Specificareinoltre la finzione del diodo D1.

Metti anche tu alla prova le tue conoscenzedell'elettronica con i nostri quiz.

Figura 1

Figura 2

Figura 3

Page 43: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Con le tue conoscenza di basedell'elettronica potrai vincere il righelloin alluminio con calcolatrice a 8 cifree doppia alimentazione (solare e batteria)con astuccio.

Le tue conoscenze avanzate ti permetterannodi vincere una bellissima stazione meteoda tavolo con orologio, igrometro e termometro,col marchio della tua rivista preferita!

Per i più bravi in palio il bellissimo giletreporter di Fare Elettronica:multitasca, in cotone e poliestere,regolabile ai fianchi e con chiusura zip.

FANTASTICI PREMI PER TUTTI!!!Le risposte vanno inviate esclusivamente compilando il modulo suwww.farelettronica.com/lst e specificando la parola chiave “Gauss”.Se sei abbonato a Fare Elettronica potrai rispondere a tutti i quesiti ed aumentare le tue possibilità di vincere i premi.Le risposte ai quiz ed i nomi dei vincitori saranno disponibili su www.farelettronica.com a partire dal 15 del mesesuccessivo alla pubblicazione sulla rivista. A tutti i partecipanti verrà assegnato un buono sconto* del 10%

utilizzabile per gli acquisti nello shop del sito www.farelettronica.com.

* Validità 3 mesi dalla data di assegnazione.

Page 44: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

STORIALe radici storiche dell’RFID risalgono allaseconda guerra mondiale, quando si svilup-parono sistemi di identificazione amico/nemi-co per gli aerei (1950), nello stesso periodo incui cominciavano ad essere utilizzati i radar.Gli anni 60 furono il preludio della primagrande diffusione dell’RFID degli anni 70. Gli anni 60 furono un periodo di grandistudi: R.F. Harrington studiò la teoria relativaall’RFID nel suo articolo “Theory of LoadedScatterers” del 1964, Robert Richardsonscrisse “Remotely activated radio frequency

powered devices” e J. H. Vogelman pubblicò“Passive data transmission techniques utili-zing radar echoes”. Gli anni 70 rappresenta-no il primo periodo di grande diffusionedell’RFID: sviluppatori, inventori, aziende,istituzioni accademiche e laboratori governa-tivi furono particolarmente attivi su questatecnologia. In quel periodo furono fatti gran-di passi avanti, in particolare per i tag passi-vi, portandone la portata da pochi centimetria circa 10 metri.Negli anni 80 la diffusione della tecnologiaCMOS rese i circuiti RFID particolarmente

N egli ultimi anni le procedure di identificazione automatica sono

state molto utilizzate specialmente nei processi industriali, nella

distribuzione logistica e nelle aziende manifatturiere. Inoltre il basso

costo della tecnologia CMOS, molto utilizzata nelle trasmissioni a

microonde, ha creato nuove opportunità di impiego per la gestione

automatizzata delle catene di montaggio. L’omni presente codice a

barre che diede il via alla rivoluzione nei sistemi di identificazione

qualche anno fa, si rivela oggi inadeguata in un numero sempre

maggiore di casi. I codici a barre sono particolarmente economici ma

particolarmente limitati come quantità di dati che possono contenere

e non sono in alcun modo riprogrammabili. La tecnologia RFID

(Radio Fequency IDentification) rappresenta la soluzione ottimale

a questo problema, introducendo la possibilità di memorizzare dati

di identificazione nei chip di silicio e ritrasmetterli, quando richiesto,

utilizzando comunicazioni radio, per questo motivo spesso le etichette

RFID sono chiamate etichette elettroniche. Oggi la tecnologia ha fatto

passi da gigante, tanto che le etichette RFID sono così miniaturizzate

da poter essere alloggiate senza difficoltà in ogni tipo di merce

(anche nelle banconote).

Sp

ec

iale

44

PRATICA TEORIA RISORSESPECIALEFA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Panoramica sulle

Page 45: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

LE DECADI DELL’RFID

piccoli, tanto che nel 1987 questa tecnologiafu impiegata nella gestione del bestiame tra-mite l’impianto sottocutaneo delle etichetteelettroniche. Gli anni 90 rappresentano ilsecondo grande boom per la tecnologiaRFID, tanto che nel nord America 3 milioni ditag furono istallati su merci che viaggiavanosu rotaia. In quegli anni l’RFID continua ariscuotere un grande successo tanto che il

ventunesimo secolo segna la totale ubiquitàdella tecnologia RFID nella nostra vita quoti-diana. La tecnologia RFID oggi si sta muoven-do verso una nuova classe di utilizzo caratte-rizzata da grandi volumi di dati scambiati,che ne permetterà una capillare diffusione.Il nuovo impulso che sta vivendo tale tecno-logia, non riguarda né i tag, né tanto meno ilettori, bensì l’informazione stessa che questi S

pe

cia

le

45

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 1 Architettura RFID di ultima generazione

tecnologie RFIDdi Christian Di Biagio

Decade Eventi

1940-1950 Progettazione e utilizzo del radar nella II guerra mondiale. 1948 nasce l’RFID

1950-1960 Primi esperimenti sulla tecnologia RFID

1960-1970 Sviluppo della teoria dell’RFID. Primi impieghi

1970-1980 Grande sviluppo dell’RFID (Primo boom)

1980-1990 L’RFID comincia ad essere impiegato nelle attività commerciali

1990-2000Necessità di standardizzazione. L’RFID comincia ad essere parte della vitaquotidiana (Secondo boom)

2000-oggi I sistemi RFID sono “accessibili” da ogni parte del mondo (Terzo boom)

Page 46: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

si scambiano, grazie alla diffusione diInternet e alla infrastruttura che la caratteriz-za. Un esempio di architettura è mostrata inFigura 1. Tale informazione può riguardare lalocazione geografica e lo stato (su tutto ilmondo) di determinate merci, così chesimultaneamente i produttori, i venditori e imanutentori possano prenderne visione.In particolare il nuovo impulso è venuto daWal-Mart, la più grande catena di distribuzio-ne al mondo, che ha chiesto ai suoi 100“migliori” fornitori di dotare i loro prodottidi tag RFID da Gennaio 2005.Da qui in poi, molti altri colossi come IBM,HP e il dipartimento della difesa americanostanno investendo milioni di Euro in questatecnologia.

STANDARDEsistono molti standard che riguardano l’RFIDe il loro utilizzo è tuttora in discussione nellacomunità RFID.Questi standard riguardano:• Identificazione, la codifica di un univoco

codice per identificare una merce o altreinformazioni.

• Protocollo di sistema, il middleware di unsistema RFID.

• Il mezzo trasmissivo, le bande libere sonoancora in via di definizione.

• Supporto all’applicazione, che guida inqualche modo lo sviluppo tecnologico.

• Salute e sicurezza, le regole che governanol’RFID.

• Terminologia.

L’International Standard Organization (ISO) hasviluppato tre standard per l’RFID: ISO 14443(per sistemi senza contatto), ISO 15693 (persistemi di prossimità, come i badge) e ISO18000 (per definire gli aspetti connessi almezzo trasmissivo).L’organizzazione no-profit EPCglobal ha svi-luppato una grande quantità di standard,accettati dalla maggior parte dei produttori ditecnologie RFID.L’Electronic Product Code (EPC) standardriguarda il mezzo trasmissivo, il formato deidati da memorizzare nei tag, il middleware ela memorizzazione delle informazioni relative

ai tag nelle basi di dati. Oggi il dipartimentodella difesa americano (Department ofDefence) ha ufficialmente chiesto ai fornitoridi utilizzare l’RFID anche sul più piccolo con-tenitore quando il contratto con lo stesso pre-veda informazioni riguardo la merce (cf.www.dodrfid.org). Il DoD si riferisce a tagbasati sugli standard EPCglobal o comunquecon essi compatibili. Ciò che ha permesso una forte diffusionedell’RFID in certi paesi piuttosto che in altri èla legislatura. Ogni paese infatti ha propriorgani di regolamentazione delle telecomuni-cazioni ed ognuno ha definito nel propriopaese le bande utilizzabili e le potenze diemissione.

NORD AMERICANegli Stati Uniti l’FCC (Federal CommunicationsCommission) ha previsto una banda libera UHFtra 902 e 928 MHz con una potenza totale di 1W e 4 W EIRP (Effective Isotropic RadiatedPower). Per ridurre le interferenze è utilizzata latecnologia Spread Spectrum (sia DirectSequence che Frequency Hopping). È inoltreprevista la possibilità di dividere la banda incanali di 25kHz l’uno.

EUROPAA causa della maggior densità di dispositiviche richiedono bande libere UHF, le regoleeuropee di fatto hanno pesantemente limita-to la diffusione dell’RFID. Al momento l’ETSI(European Telecommunications StandardsInstitute) e l’ERC (European Radio Committe)ha definito una banda molto stretta da 869.4a 869.65 MHz. A differenza dell’FCC, in que-sto caso la banda è utilizzabile da un solocanale di 250kHz con potenza massima limi-tata a 500mW.Data la necessità di bande maggiori, almomento l’ETSI sta rilasciando una nuovaregolamentazione (ETSI EN 302 208-1) cheprevede una banda utile di 3MHz (primaerano 250kHz) da 865 a 868 MHz con canalidi 200kHz l’uno. Le potenze massime varianocon la frequenza:• Classe 11: 100 mW ERP (865-868 MHz)• Classe 12: 500 mW ERP (865.6-868 MHz)• Classe 13: 2 W ERP (865.6-867.6 MHz)

Panoramica sulle tecnologie RFID

Sp

ec

iale

46

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6PRATICA TEORIA RISORSESPECIALE

Page 47: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

ASPETTI TECNICIIl concetto base che sta dietro i sistemi RFID èche si possono marchiare oggetti con le eti-chette elettroniche (tag). Questi tag conten-gono trasmettitori che emettono messaggileggibili da appositi lettori. I tag sono in grado di memorizzare diversi tipidi numeri di identificazione, come ad esem-pio il numero del cliente a cui è destinata lamerce oppure il numero che identifica unamerce all’interno di un magazzino. Lo schemadi principio di un sistema RFID è il seguente:il tag risponde al segnale dell‘interrogatore(composto dal sistema di lettura, scrittura edall’ antenna), che a sua volta invia il segnalead un computer. Il tag può avere forme diver-se e può essere inserito in vetro, resina epos-sidica, etichette o card. È costituito da un cir-cuito integrato e da un’ antenna.Il lettore una volta aver ricevuto il numero diidentificazione (ID), si collega ad un databaseed ottiene per ogni ID le informazioni relati-ve. I tag inoltre possono contenere unamemoria scrivibile, dove è possibile scrivereinformazioni per i vari lettori nelle varie partidel mondo. Questa informazione può essereutilizzata per tracciare il movimento di ognimerce (cf. “A Guide to Understanding RFID,”RFID J., retrieved 27 Feb. 2005; www.rfidjour-

nal.com/article/gettingstarted).I sistemi RFID possono essere classificati indue categorie principali:• Sistemi passivi• Sistemi attivi

I sistemi RFID si definiscono passivi se lapotenza per trasmettere è ricevuta dall’ondaelettromagnetica che incide sul tag o attivi sedotati di batteria. Molti di questi sistemi uti-lizzano basse frequenze con una distanza dallettore di circa 1 cm (tipici sono i badge di

accesso utilizzati nelle aziende). Portate piùlunghe sono possibili aumentando la frequen-za di funzionamento, la potenza emessa e/outilizzando sistemi attivi o semi-passivi.La differenza chiave tra questi sistemi riguar-da la fisica del mezzo trasmissivo (aria): isistemi passivi lavorano tipicamente a bassefrequenze e a causa dell’energia delle ondelunghe comunicano principalmente attraver-so il vicino campo elettromagnetico (induzio-ne elettromagnetica), mentre i sistemi attivilavorano principalmente ad alte frequenze eutilizzano l’energia irradiata nel campo lonta-no (ricetrasmissione radio).Tuttavia nulla vieta di utilizzare tag passivi inalte frequenze e quelli attivi in basse frequen-ze, in particolare l’utilizzo di bande UHF sutag passivi è la sfida tecnologica di questi ulti-mi anni.

Sistemi passivi

I sistemi passivi sono particolarmente econo-mici (20-40 centesimi di euro) e le nuove tec-nologie fanno in modo che il loro costo siasempre minore. Inoltre tali sistemi possonoessere particolarmente piccoli, tuttavia vatenuto in conto la grandezza dell’antenna.Infatti maggiore è la lunghezza del filo del-l’antenna, maggiore è la portata.Da un punto di vista applicativo l’ambiente diutilizzo determina la dimensione. In Figura 2si vedono vari tipi di varie dimensioni. Attualmente questi sistemi contengono infor-mazioni per 2 Kbit, decisamente piccola percontenere informazioni oltre la storia dell’og-getto e il suo identificativo. Il progresso tec-nologico però fa passi da gigante e a brevesarà possibile integrare memorie più capienti,così che si potranno trasmettere più informa-zioni. Un tag passivo non ha un sistema di ali-mentazione autonomo, né un trasmettitorevero e proprio: trasmette le proprie informa-zioni non appena un lettore si avvicina. I tag passivi possono operare a medie, alte ealtissime frequenze (UHF).Le medie frequenze in genere lavorano a 124kHz, 125 kHz o 135 kHz, le alte a 13.56MHze le UHF da 860 a 960 MHz. Alcuni sistemiaddirittura utilizzano la banda a 2.45GHz.Come già anticipato le dimensioni dell’anten-

Sp

ec

iale

47

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 2 I tag hanno molte forme

Page 48: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

COMPORTAMENTO DEIMATERIALI

na sono un fattore di forma determinante pertali sistemi. Per sistemi UHF vale la seguenteformula:

dove R è la portata, P è la potenza emessa, Gè il guadagno di antenna, λ è la lunghezzad’onda (lunghezza antenna), σ è la cross-sec-tion, L rappresenta le perdite, KTBF rappre-senta il rumore e s il rapporto segnale/rumo-re di riferimento (cf. Giovanni Picardi,“Elaborazione del segnale radar” ED FrancoAngeli). Nel caso di banda UHF a 915 MHzl’antenna tipicamente raggiunge i 30 cm.A seconda della frequenza le onde elettroma-gnetiche si comportano in maniera differente,vale a dire che ogni frequenza è utilizzata peruna specifica applicazione. Le onde a mediafrequenza possono penetrare pareti ma nonsuperfici metalliche. Tag a basse frequenzesono ideali quando i tag devono essere lettiattraverso qualche materiale. Al crescere dellafrequenza non riescono più a penetrare imateriali e tendono ad essere riflesse da moltioggetti. Le onde in UHF sono addiritturaassorbite dall’acqua. La sfida per la tecnologiaoggi è superare questi limiti. Perché allora le compagnie fanno di tutto perutilizzare tag passivi in UHF e non utilizzanofrequenze medio-alte? Una ragione è econo-mica: i prodotti UHF passivi sono stati lancia-ti sul mercato ad un prezzo particolarmenteconveniente. Un’altra ragione riguarda laportata. Affinché l’RFID sia introdotto negliingrossi deve avere una portata di almeno 3metri, questo perché non c’è modo di legge-re il tag di una merce che sta uscendo da un

varco ad una distanza inferiore a 3 metri. Lemedie frequenze arrivano a non più di 30 cm,mentre le alte non superano il metro. La portata dipende da molti fattori, ma il piùimportante è il meccanismo di accoppiamen-to per induzione magnetica utilizzato nei tagpassivi a medie e alte frequenze: dato che let-tore e tag devono “scambiarsi” un campomagnetico devono necessariamente essere ilpiù vicino possibile. Infatti, nel caso di accop-piamento magnetico la potenza si attenuacon l’inverso della distanza alla sesta:

Il tag, attraverso l’antenna, riceve l’ondaelettromagnetica emessa dal lettore e utilizzatale energia per caricare un condensatore.Quando questo ha raggiunto una certa ten-sione ai capi, può alimentare la circuiteria deltag, che trasmetterà all’induttanza un segna-le di forma variabile nel dominio del tempo(modulazione).Questo segnale porta le informazioni conte-nute nella memoria. Il lettore conseguente-mente dovrà demodulare il segnale ed otte-nere l’informazione (cf. Figura 3). I tag passivi che lavorano in UHF utilizzanoinvece l’accoppiamento di propagazione: illettore emette un’onda radio (non c’è campoelettromagnetico), il tag riceve l’energia dallasua antenna di ricezione, un microchip utiliz-za tale energia per modificare l’impedenza dicarico dell’antenna che così riflette indietro ilsegnale modificato (meccanismo del back-scatter). In questo caso la potenza si attenuacon l’inverso del quadrato della distanza:

I tag UHF possono trasmettere i bit uno e zeroin 3 modi differenti:1. Aumentare l’ampiezza dell’onda ritrasmes-

sa (amplitude shift keying).2. Modificarne la fase (phase shift keying).3. Modificarne la frequenza (frequency shift

keying).

A questo punto il lettore ha il solito compitodi associare al numero ricevuto le informazio-

Panoramica sulle tecnologie RFID

Sp

ec

iale

48

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6PRATICA TEORIA RISORSESPECIALE

Materiale Effetto sui segnali RF

PlasticaDisaccoppiamentoantenna

Metallo Riflessione

Uomo/animaliDisaccoppiamento,riflessione, assorbimento

Liquidi conduttori Assorbimento

Page 49: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252049

Page 50: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Panoramica sulle tecnologie RFID

Sp

ec

iale

50

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6PRATICA TEORIA RISORSESPECIALE

ni relative alla merce.I sistemi passivi che sfruttano il meccanismodell’induzione magnetica hanno antenne diridotte dimensioni e a causa della ridottadistanza sono facilmente controllabili. I siste-mi che invece lavorano nell’UHF hanno con-siderevoli portate e pertanto sono difficil-mente controllabili: cosa accadrebbe se nellaportata di un lettore ci fossero più tag?Probabilmente si leggerebbero delle informa-zioni di tag che nessuno aveva richiesto. Unaltro problema molto sentito dai sistemi pas-sivi UHF che sfruttano l’accoppiamento dipropagazione è il disaccoppiamento dell’an-tenna. Come è noto tali sistemi infatti hannol’antenna accordata sulle frequenze di lavo-ro. Se l’antenna è posta vicino a determinatioggetti, tipo casse d’acqua o di frutta o gran-

di oggetti metallici, l’antenna non risulta piùcorrettamente accordata, vale a dire che i tagpotrebbero non ricevere più la sufficienteenergia per il loro funzionamento.

Sistemi attivi

I sistemi attivi sono utilizzati prevalentemen-te su beni di grandi dimensioni, come i con-tainers, i rimorchi dei camion, i vagoni ferro-viari e su tutti i grandi contenitori che neces-sitano di essere monitorati durante un lungotragitto. Normalmente operano su frequenzea 455 MHz, 2.45 GHz o addirittura 5.8 GHzed hanno una portata che va da 20 a 100metri. L’architettura di un tag attivo èmostrato in Figura 4. Esistono due tipi di tagattivi: i transponder e i segnalatori. I transponder attivi si attivano solo se ricevo-

Figura 3 Funzionamento dei tag passivi in basse frequenze

Page 51: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

no un segnale dal lettore, esempi di utilizzoriguardano il telepass e i punti di controllodegli accessi. Quando una macchina è inprossimità del casello autostradale, il lettoreinvia un segnale che attiva il transponder, ilquale a sua volta invia in etere (broadcast) ilsuo unico numero di identificazione. In que-sto modo la durata della batteria è propor-zionale al numero di accensioni del tag.I segnalatori attivi sono utilizzati in sistemiche hanno vincoli di tempo reale dove ènecessaria la precisa posizione di un bene damonitorare. Nei sistemi real time, il segnala-tore emette un segnale relativo al suo univo-co identificativo in intervalli prefissati (l’inter-vallo dipende dall’accuratezza necessaria alsistema per conoscere la posizione, puòandare da un 1 secondo a 1 giorno).Il segnale è catturato da almeno 3 lettori posti alperimetro dell’area da sorvegliare, in questomodo è possibile conoscere l’esatta posizionegeografica di un oggetto (triangolazione). Il costo di un tag attivo si va dai 10 ai 50€ edipende dalla quantità di memoria, dal tipodi batteria e da caratteristiche opzionalicome il controllo della temperatura o i con-tenitori resistenti all’acqua.

CONCLUSIONILa tecnologia RFID esiste da anni e ha vastissi-mi campi di applicazione. Anni fa si pensava

che il 2001 sarebbe stato l’ anno dell’ RFID.Effettivamente così è stato e nuove sfide tecno-logiche sono già in fase di studio presso i labo-ratori di tutto il mondo: ci sono centinaio diindustrie che realizzano la tecnologia RFID,organizzazioni come UCC ed EAN che suppor-tano una iniziativa chiamata GTAG per la pro-duzione di soluzioni RFID, il centro del MIT,Auto-id sta lavorando per sviluppare uno stan-dard per identificare oggetti tramite RFID, èpossibile inserire TAG ovunque, fiori, porte,auto, vestiti, cibo.L’obiettivo è stato quello di raggiungere uncosto per TAG inferiore ai 5 centesimi di euro eper l’ interrogatore inferiore a 100 euro conuna portata di circa un metro utilizzando fre-quenze multiple (13.56 e 915 MHz). Una dellemaggiori sfide ad oggi riguarda l’integrazionedell’RFID in sistemi già esistenti. Infatti moltiproduttori RFID hanno sviluppato propriMiddleware che connettono l’RFID alle propriegià esistenti reti.Questo nuovo impulso non può che far beneall’RFID che necessita di una maggiore standar-dizzazione. Anche se non senza problemi,l’RFID si propone nei prossimi anni una diffusio-ne capillare nella nostra vita quotidiana e unforte presenza in tutte le aziende che necessita-no controlli più efficienti sulle proprie merci.

Codice MIP252044

Sp

ec

iale

51

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 4 Architettura di un tag attivo

Page 52: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Con il termine Picoprocessor ci riferiamo a un’ap-plicazione firmware implementata su un macro-modulo hardware, battezzato “CPLD Stamp”,contenente una CPLD Xilinx e la circuiteria di con-torno minima necessaria per il suo normale fun-zionamento (figura 1a). La circuiteria contiene:

• un gruppo R-C per generare il reset del dispo-sitivo all’accensione;

• un paio di resistenze di pull-down per l’abilita-zione dei buffer tri-state di uscita;

• un oscillatore per il clock di sistema;• un regolatore di tensione per fornire l’alimen-

tazione a +3.3V;• un connettore relativo all’interfaccia di pro-

grammazione.

Inoltre, ai lati maggiori della piastrina sono statiinseriti due connettori a pettine a cui fanno capo16 pin di I/O della CPLD, separati in due gruppi di8. Altri due pin aggiuntivi servono a collegare lamassa e l'alimentazione non regolata al circuito.Il macromodulo dispone in totale di 18 pin. Unavolta che sia stato programmato, si può pensa-re di inscatolarlo in un contenitore ermetico(figura 1b) e inserirlo in un circuito “ospite”.Questo progetto è stato ispirato da necessitàdidattiche. L’idea iniziale è stata quella di creareun oggetto abbastanza piccolo da poter essereinserito su una Proto-Board di test (vedere figu-

T ra le applicazioni “soft” delle

Logiche Programmabili,

particolarmente interessante è

il capitolo che riguarda i Controller

Embedded Xilinx, che

implementano le funzioni di

controllori di vario tipo e

complessità, dal semplice

dispositivo PicoBlaze™ a 8 bit

fino al processore PowerPC™.

Questi Controller possono essere

agevolmente integrati nei

dispositivi programmabili insieme

alle altre funzioni di sistema,

consentendo un evidente risparmio

nell’ambito di un progetto.

In questo articolo ci riferiamo

ai processori di piccola taglia che

possono essere realizzati entro

le FPGA o CPLD delle serie più

economiche e presentiamo un

esempio di realizzazione didattica

per CPLD.

Pra

tic

a

52

PICO-processor

TEORIA RISORSE SPECIALEPRATICA

Figura 1 Prototipo del macromodulo CPLD Stamp

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 53: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

ra 2) e tale da poter essere programmato a svol-gere funzioni di timing. Il sistema di test è cor-redato di alimentatore e di interfaccia di pro-grammazione predisposta per il collegamentoalla porta parallela del PC. Il Picoprocessor, di cui tratteremo nel seguito, èquindi una delle tante possibili personalizzazio-ni di questo macromodulo.Proseguiamo ora con la trattazione ma, prima dientrare nel merito della descrizione delPicoprocessor, apriamo una breve parentesi suquelli che sono i “core” per processori di picco-la taglia prodotti da Xilinx.

XILINX MICROBLAZEMicroBlaze è un core per processore di tipoRISC a 32 bit che può essere impiegato, insiemea periferiche dello stesso tipo, per il progetto disistemi embedded entro FPGA Xilinx.Il microcontrollore MicroBlaze, basato sul corein questione, rappresenta una soluzione inte-grata adatta per dispositivi della serie Spartan-3.Il sistema di sviluppo relativo è il cosiddetto EDK(Embedded Development Kit).MicroBlaze include anche una memoria RAMinterna, una UART RS232, quattro blocchigestori di I/O e una UART via JTAG dedicata aldebug software.

È indicato per applicazioni industriali e civili, inparticolare nel settore della comunicazione dati.

XILINX PICOBLAZEPicoBlaze è un macromodulo firmware Xilinxadatto a realizzare un semplice microcontrollo-re a 8 bit. Ve ne sono diverse versioni, alcunesupportate dai dispositivi FPGA delle serieVirtex™ e Spartan™, altre adatte per CPLD dellaserie CoolRunner™-II.Il codice sorgente VHDL che lo descrive puòessere scaricato gratuitamente dal sito del pro-duttore, previa registrazione.PicoBlaze supporta un set di istruzioni compren-dente una sessantina di codici operativi, oltre aun certo numero (da 8 a 32) di registri general-purpose a 8 bit di parola.Per quanto riguarda i modi di indirizzamento, ilcontroller supporta fino a 256 porte indirizzabi-li in modo diretto o indiretto e gestisce ancheuna linea di interrupt mascherabile.La versione di controller PicoBlaze per i disposi-tivi Spartan-3, Virtex-4 e Virtex-II dispone anchedi 64 byte di RAM on chip.

IL PICO-PROCESSORSiamo dunque arrivati alla descrizione del pro-cessore elementare “home-made” che ha dato il

titolo a questa trattazione, il quale è tal-mente semplice da meritare l’attributodi “Pico”, ma nello stesso tempo suffi-cientemente complesso da contenerele parti essenziali tipiche di un proces-sore. Può essere adatto per chi si avvi-cina per la prima volta al linguaggioAssembly e non dispone ancora diesperienza nei linguaggi HDL.

Descrizione

Nella figura 3 è mostrato lo schema ablocchi del Picoprocessor. Come pos-siamo vedere, i costituenti sono rap-

Pra

tica

53

di Agostino Rolando

con CPLD

Figura 2 Disposizione del banco di collaudo

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 54: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

presentati da:• Memoria di Programma, atta a contenere le

istruzioni da eseguire in sequenza;• Gestore di Program Counter, che si occupa di

calcolare l’indirizzo della prossima istruzione;• Unità Aritmetico-Logica (ALU), per l’esecuzio-

ne delle istruzioni;• Divisore di Clock, come prescaler del clock di

sistema.

Per quanto riguarda l’esecuzione delle istruzio-ni, le fasi di Fetch e Execute richiedono due colpisuccessivi di clock, quindi il sistema ha un’archi-tettura di tipo RISC. Si è introdotto il Divisore diClock per i casi in cui sia opportuno “rallentare”l’esecuzione; può servire sia per motivi di debugsia per applicazioni particolari che richiedonoun clock più lento, come ad esempio per il cam-pionamento di una linea seriale.

DETTAGLIO DEI MODULIMemoria di programma

La memoria di programma è costituita da unblocco embedded di EEprom Flash da 64 byteed è implementata con il costrutto case, chepermette di assegnare i codici operativi alle

locazioni da scandire sequenzialmente.

Unità aritmetico-logica

L’ Unità Aritmetico-Logica ha il compito di ese-guire le funzioni identificate dai codici operativi.Contiene al suo interno i registri A, B, C (chesono anche riportati in feedback per l’aggiorna-mento). Inoltre, riceve in ingresso i bit dellaporta iPORT ed emette in uscita i segnali relati-vi alla porta oPORT, oltre ai valori aggiornati deiregistri A, B, C.Gestisce anche il flag di azzeramento (Z_FLAG),relativamente al registro A. Il flag viene utilizza-to dal modulo di gestione del Program Counter.L’ unità è sincronizzata con il fronte di salita delclock di sistema.

Gestore di program counter

Il Gestore di Program Counter ha appunto ilcompito di aggiornare il Program Counter(identificato dal registro addrout) per “puntare”alla prossima istruzione da eseguire.Normalmente l’indirizzo viene incrementato diuno, mentre per le istruzioni di salto l’incre-mento è negativo ed è pari al contenuto delregistro B.

PICO-processor con CPLD

Pra

tic

a

54

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Figura 3 Schema a blocchi del Picoprocessor

Page 55: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

GAMMA DI CONTROLLORI

PROGRAMMABILI IN BASIC E

LADDER LOGIC CON AMBIENTE

DI SVILUPPO GRATUITO.

GAMMA DI CONTROLLORI

PROGRAMMABILI IN BASIC E

LADDER LOGIC CON AMBIENTE

DI SVILUPPO GRATUITO.

UN CONTROLLORE ALTERNATIVO

INWARE Srl Via Cadorna, 27/31 - 20032 Cormano (MI) Tel: 0266504794 - Fax: 0266508225 - www.inware.it

Co

dic

e M

IP 2

52

05

5

Page 56: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PICO-processor con CPLD

Pra

tic

a

56

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Figura 4 Schema elettrico del Macromodulo

Divisore di clock

Il modulo Divisore di Clock può servire, soprat-tutto in fase di debug, per rallentare opportuna-mente il clock di sistema. Fa uso di un parame-tro che rappresenta l’esponente in base 2 di unfattore di divisione binario.

SET DI ISTRUZIONILe istruzioni disponibili sono elencate in tabella1. I codici operativi sono relativi al caricamentotra registri, incremento e decremento, shift,salto, ecc..Va sottolineato che le istruzioni che sono statecreate per il Pico-Processor sono in numero limi-tato, sia perchè questo vuole essere solo unesempio didattico, sia perchè bisogna fare iconti con la capacità interna della CPLD adotta-ta, che non è molto elevata.Inoltre, la nostra scelta prevede di implemen-tare la memoria di programma on-chip; percui è necessario effettuare un compromesso

Elenco istruzioni

Codice Operativo Valore Significato

NOP NO Operation

LDA0 A <- 0

LDAC A <- C

LDAi A <- iPORT

STAC A -> C

STAB A -> B

STAo A -> oPORT

INCA A <- A + 1

DECA A <- A – 1

SHLA Shifta A vs sin. di una posizione

SHRA Shifta A vs dxt di una posizione

ANDA1 A <- A and 0000 0001

JNZA JMP con offset = -B, se A <> 0

JMP0 JMP TO 0

Tabella 1 Set di istruzioni

Page 57: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

tra tutti i fattori in gioco, che sono in sostanzale dimensioni della memoria di programma, ilset di istruzioni e le funzioni dell’UnitàAritmetico-Logica.Naturalmente, se si scegliesse un dispositivo piùcapiente o si seguissero altre strategie di imple-mentazione, si potrebbero ampliare le funziona-lità, anche di molto.Inoltre, un notevole ingombro è costituito dalmodulo Divisore di Clock, nel caso in cui siadotti un fattore di divisione elevato. Conpoche modifiche al codice sorgente sarebbepossibile “trasportare” la memoria di pro-gramma su una dispositivo esterno alla CPLD;l’ideale sarebbe utilizzare una Flash program-mabile via ISP.Questo, naturalmente, permetterebbe anchedi estendere di molto la lunghezza del pro-gramma gestibile.Per dare un’idea delle risorse impegnate, conl’implementazione presentata e un fattore didivisione di clock pari a 212, il progetto impe-

gna circa una cinquantina di macrocelle e stacomodamente su una XC9572 o una CoolRunner XC2C128.I registri interni presenti sono in numero di tre esono indicati con A, B e C. Un accenno breve alsignificato dei codici in tabella 1 : l’istruzioneNOP non effettua operazioni. Può servire percreare dei ritardi determinati.Le istruzioni LDA0, LDAC e LDAi caricano nelregistro A rispettivamente il valore 0000 0000binario, il contenuto del registro C, il contenutodella porta di ingresso iPORT.Le istruzioni STAC, STAB e STAo effettuano,nell’ordine, il trasferimento (Store) del conte-nuto di A verso i registri C, B o verso la portadi uscita oPORT.L’incremento e il decremento del registro Asono realizzati per mezzo dei codici operativiINCA e DECA.È possibile inoltre effettuare lo shift verso sini-stra (SHLA) e verso destra (SHRA) del registroA, oltre all’ operazione di AND logico tra il

Pra

tica

57

Un potente

compilatore Basic

per PICmicro

✔ Code Editor

✔ Code Explorer

✔ Debugger

✔ Statistiche

Tutto in un ambiente

Windows facile ed intuitivo

Software MikrobasicSoftware Mikrobasic

Un set di strumenti veramente indispensabili

per sviluppare applicazioni con i PICmicro

Ordinalo subito su www.farelettronica.com oppure telefona allo 02.66504755

Codice MIP 252057

Page 58: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PICO-processor con CPLD

Pra

tic

a

58

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

contenuto di A e il valore binario 0000 0001(istruzione ANDA1).Infine, sono molto utili le istruzioni di salto con-dizionato (JNZA) e incondizionato (JMP0). Laprima assume come indirizzo di offset per ilsalto il contenuto del registro B, la secondaeffettua un salto direttamente alla locazione ini-ziale di memoria. Il registro C viene impiegatosolo per salvataggio e ripristino del registro A.

REALIZZAZIONE PRATICANella figura 6a è mostrato il det-taglio del macromodulo, che èstato realizzato su basetta divetronite monofaccia di dimen-sioni 6,5x5 cm.I macro-pin del dispositivo sonostati numerati in senso antiorario,come per un classico integratodual-in-line. La massa è collegataal pin 9 e l’alimentazione va for-nita al pin 18. Ai pin da 1 a 8 ècollegata la porta di ingresso(iPORT), mentre la porta di uscita(oPORT) è disponibile ai pin dal10 al 17 (vedere figura 6b).

Lo schema elettrico è visibile in figura 4. Non visono particolari novità rispetto ad analoghischemi già visti in passato, tranne per il regola-tore di tensione IC1, che è di tipo “Very LowDropout” e permette di ottenere la tensione a+3.3V a partire da un’alimentazione esterna nonregolata, da applicare al pin 18 (Vcc), di alme-no 0.4V superiore. Il macromodulo in realtà è più versatile di quan-to non possa sembrare a prima vista. Infatti,occorre tenere presente che, se ci riferiamo allaCPLD, i pin utilizzati sono bidirezionali e potreb-bero essere riconfigurati in qualunque altramaniera. In altre parole, la distinzione tra iPORTe oPORT è comoda ma non va intesa in sensorigido, in quanto è specifica dell’applicazione“Picoprocessor”.

QUALCHE ESEMPIO DIPROGRAMMASeguono ora alcuni esempi applicativi. Risulteràevidente che si fa largo impiego del registro A,anche per operazioni molto semplici.Questo registro è un po’ il “factotum” dellasituazione e la ragione di questo sta nell’esigen-za di economizzare le risorse a disposizione. Daquesto punto di vista può sembrare che questolinguaggio Assembly-like sia inefficiente, ma èanche vero che l’esecuzione risulta estrema-mente veloce.Negli esempi, accanto alle istruzioni più signifi-cative è riportato un commento chiarificatore.Le istruzioni vanno terminate con il carattere “;”.

Elenco componenti del Macromodulo

R1÷R3 Resistenza 4K7 o (package 0805)

R4 Resistenza 100 o (package 0805)

C1,C2Condensatore 0,1 µF 50 V ceramico(package 0805)

IC1Regolatore di tensione ST KF33(package D-PACK)

IC2CPLD XC9572XL-10PC44I(package 44 pin PLCC)

IC3Oscillatore SUNNY Frequenza 2.048 MHz (SMD)

J1,J2Connettore lineare passo 5,089 pin maschio

J3Connettore lineare passo 5,086 pin maschio

Figura 5 Master e serigrafia del circuito stampato

Page 59: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

I commenti vanno preceduti da un doppio“slash”. Chiaramente, il vantaggio di questo tipodi descrizione è che si può lavorare con le CPLDsenza bisogno di conoscere un linguaggio HDL.

Esempio 1:

loop di test

Il programma riportato nel listato 1 utilizza l’istru-zione JNZA per realizzare un loop di test sullo statodi un bit della porta di ingresso (nel caso specifico,il bit meno significativo, indicato iPORT[0]).Le prime istruzioni servono a caricare nel registro B

il valore numerico 3, che serve come offset per unsuccessivo salto.In seguito si carica in A il contenuto della porta diingresso (iPORT), se ne fa l’AND logico con il valo-re “1” binario e si emette il risultato sulla porta diuscita (oPORT).L’operazione di AND serve a settare o meno il flagdi azzeramento per A.Segue l’istruzione di salto JNZA, per ritornare adacquisire il dato di input nel caso che A sia diversoda zero. Il programma termina quando A è ugua-le a zero.

Pra

tica

59

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

[Listato 1]

// PROCEDURA LOOP

// INIZIO

// Si pone A = 3 :

LDA0;

INCA;

INCA;

INCA;

// .. e si trasferisce A in B ;

STAB; // B = 3

// Check se iPORT[0] = 0 (per default iPORT[0] = 1)

// Caricamento di A dalla porta di Input

LDAi; // A <- iPORT

// AND di A con il valore binario 0000 0001

ANDA1;

// Si emette il valore di A sulla porta di uscita

Figura 6 Prototipo del CPLD Stamp (a) e simbolo del Picoprocessor (b)

Page 60: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PICO-processor con CPLD

Pra

tic

a

60

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Esempio 2:

realizzare un ritardo

Nell’esempio del listato 2 la procedura DELAYeffettua un ritardo pari a 255 colpi di clock.All’inizio si pone A = 6 e si copia il valore in B,per successivo salto.Poi si carica in A il valore 0 e lo si decrementa,in modo da ottenere dapprima A = 255 decima-le; in seguito si continua a decrementare A, rea-

lizzando un loop da cui si esce quando A = 0.Alcune istruzioni NOP sono state introdotte percreare un opportuno distacco per il “salto“.

Esempio 3:

monitor per linea seriale

L’esempio riportato nel listato 3 effettua un con-trollo su una linea seriale, che si suppone esserecollegata al pin iPORT[3].

[Listato 2]

// PROCEDURA DELAY

// Si pone A = 6

LDA0; // A <- 0

INCA; // A = 1

SHLA; // A = 2

SHLA; // A = 4

INCA; // A = 5

INCA; // A = 6

// .. e si mette il valore in B

STAB; // B = 6

NOP;

// Set A = 1111 1111

LDA0; // A <- 0

DECA; // A = 1111 1111

NOP;

NOP;

NOP;

NOP;

NOP;

// Salta indietro di 6 posizioni se A <> 0

JNZA;

// END DELAY

STAo; // A -> oPORT

// Si salta indietro di tre step se A e’ diverso da zero

// (l’ampiezza del salto e’ contenuta in B)

JNZA;

// (Si esce se iPORT[0] = 0)

// END LOOP

Page 61: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

61

[Listato 3]

// MONITOR PER LINEA SERIALE RS232

// Linea di ingresso su iPORT[3]

// Oscillatore esterno a 2.048 Mhz

// Fattore di divisione clock = 5

// Si pone A = 5

LDA0; // A <- 0

STAo; // Azzeramento uscita

INCA; // A = 1

INCA; // A = 2

INCA; // A = 3

INCA; // A = 4

INCA; // A = 5

//.. e si mette il valore in B

STAB; // B = 5

// Check se iPORT[3] = 0 (=> START BIT)

Co

dic

e M

IP 2

52

06

1

Page 62: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PICO-processor con CPLD

Pra

tic

a

62

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

La linea, a riposo, è a valore logico High.Quando si presenta un bit di START, il program-ma rileva la variazione High-Low e attiva l’usci-ta oPORT[0], a cui si suppone di collegare unled per segnalazione. Nella parte finale del pro-gramma si realizza un ritardo adatto a permet-tere di manterenere il led acceso per un temposufficiente da essere osservabile.

Esempio 4:

effetto “super-car”

Nel listato 4 che segue vengono pilotati otto

led (che si suppongono essere collegati allaporta di uscita oPORT) in modo da realizzareun’effetto a scorrimento, prima verso destra epoi verso sinistra, come la mitica Super-Car diuna nota serie televisiva per ragazzi.

Esempio 5:

generatore di numeri casuali

il programma nel listato 5 prevede che all’in-gresso IPORT[0] venga collegato un pulsante(attivo a livello basso) e che alla porta di usci-ta oPORT vengano collegati otto led (attivi a

LDAi; // A <- iPORT

SHRA;

SHRA;

SHRA; // Trasferisco l'info utile nel bit A[0]

// AND di A con il valore binario 0000 0001

ANDA1;

// Si salta indietro di 5 step, se A vale 1

JNZA;

// Si pone A = 1

INCA;

STAo; // Accendo led in uscita su oPORT[0]

// Procedura DELAY per persistenza led

// Assegnazione A = 5

LDA0; // A <- 0

INCA; // A = 1

INCA; // A = 2

INCA; // A = 3

INCA; // A = 4

INCA; // A = 5

// .. e trasferimento in B

STAB; // B = 5

// Assegnazione A = 1111 1111

LDA0; // A <- 0

DECA; // A = 1111 1111

NOP;

NOP;

NOP;

NOP;

Page 63: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252063

Page 64: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PICO-processor con CPLD

Pra

tic

a

64

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

[Listato 4]

// PROGRAMMA SUPERCAR

// Fattore di divisione = 16

// START

LDA0;

INCA;

STAo; // 0000 0001

SHLA;

STAo; // 0000 0010

SHLA;

STAo; // 0000 0100

SHLA;

STAo; // 0000 1000

SHLA;

STAo; // 0001 0000

SHLA;

STAo; // 0010 0000

SHLA;

STAo; // 0100 0000

SHLA;

STAo; // 1000 0000

//

SHRA;

STAo; // 0100 0000

SHRA;

STAo; // 0010 0000

SHRA;

STAo; // 0001 0000

SHRA;

STAo; // 0000 1000

SHRA;

STAo; // 0000 0100

SHRA;

STAo; // 0000 0010

//

JMP0; // go to START

[Listato 5]

////////////////////////////////////////////

// GENERATORE DI NUMERI CASUALI

// START POINT

LDA0; // Azzera A

INCA; // Set A = 1

// LOOP POINT

STAo; // Emette A sull’uscita oPORT

STAC; // Salva A in C

// LOOP SU iPORT[0]

// Prepara jump offset B = 3

LDA0; // A <- 0

INCA; // A = 1

INCA; // A = 2

STAB; // B = 2

// CHECK iPORT = 0 (DEFAULT : iPORT = 1)

LDAi; // A <- iPORT

ANDA1; // A <- A and 0000 0001

// Torna indietro di due posizioni, se A <> 0

JNZA;

// ..END LOOP. Ora iPORT[0] vale 0

// Prepara il salto “lungo” verso LOOP POINT

LDA0;

INCA; // A = 1

SHLA; // A = 2

SHLA; // A = 4

SHLA; // A = 8

SHLA; // A = 16

SHLA; // A = 32

DECA; // A = 31

STAB; // B = 31

LDAC; // Ricarica il valore prec. salvato

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

NOP;

JNZA; // Torna all’inizio, a LOOP POINT

Page 65: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

65

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

livello alto).Il codice effettua le seguenti fasi: • Inizializza A ad 0.• Incrementa A di 1, salva il valore di A nel regi-

stro C e lo emette sulla porta di uscita oPORT.• Testa il valore dell’ ingresso iPORT[0]; se esso

vale 1, rimane in loop di attesa.• Se iPORT[0] vale 0, riprende in A il valore pre-

cedentemente salvato in C e ritorna all’inizio.

Ponendo un fattore di divisione piccolo per ilclock (ad esempio 1), l’effetto pratico di questaprocedura è quello di generare una successionerapidissima di valori binari fintanto che il pul-sante viene tenuto premuto.Quando il pulsante viene rilasciato, la suc-cessione si ferma e sui led di uscita rimane“congelato” il valore di conteggio che èstato raggiunto.Questo valore è casuale, in quanto dipendedall’istante in cui si rilascia il pulsante.

COMPILAZIONE DEL PROGRAMMALa compilazione del codice Assembly vieneeffettuata con un programma specifico,chiamato PICOTRAD.EXE, descritto in lin-guaggio Pascal, che si esegue da una finestraDOS. In figura 7 è riportata la schermata delprogramma.Più che di un compilatore vero e proprio sitratta, in effetti, di un semplice programmatraduttore, che trasforma il sorgenteAssembly di partenza in un equivalente sor-

gente Verilog.Quest’ultimo deve poi essere “ricopiato”manualmente (con un copy-and-paste) entrouno “scheletro” di progetto già configuratonell’ ambiente di sviluppo per CPLD (ISEWebpack).A questo punto, faranno seguito le fasi diSintesi, Implementazione, ecc.. tipiche delflusso di progetto tradizionale per CPLD, finoal trasferimento del bit stream di programma-zione sul dispositivo target per mezzo del con-sueto applicativo iMPACT.

Funzionamento

In fase di esecuzione il programma PICOTRADrichiede di immettere :• Il nome del file da compilare;• Il nome del file di uscita;• Il fattore di divisione del clock (esponente del

divisore 2N).

Files accessori

Il traduttore fa uso di alcuni files accessori, diseguito elencati:INTEST.TXT: che contiene l’intestazione del

programmaDEFPIN.TXT: che contiene il pin assignment

della CPLD

DEFSIG.TXT: con la definizione dei segnali di I/Oe dei codici operativi

MODULI.TXT: che contiene i vari moduli Veriloge la loro istanziazione.

Tutti questi files devono essere collocati nellacartella in cui si esegue la compilazione.

CONCLUSIONILa presente applicazione ci ha mostrato comecon i componenti logici programmabili siapossibile emulare il funzionamento dei com-ponenti sequenziali per eccellenza, come iclassici microprocessori o microcontrollori.Per quanto riguarda i sorgenti degli esempipresentati, il compilatore e i files allegati alprogetto, è possibile scaricare tutto il materia-le dal sito di Fare Elettronica.

Codice MIP252052Figura 7 Schermata del programma Picotrad

Page 66: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Abbonati subito!

CON UN RISPARMIO DEL

25%

11RIVISTE

€45,00invece di €60,50

L’abbonamento a soli

1ANNO

Page 67: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Compila oggi stesso il coupon che trovi in ultima pagina oabbonati su www.farelettronica.com/abbonamento

ABBONATI O RINNOVA OGGI

IL TUO ABBONAMENTO A FARE ELETTRONICAINSIEME A FIRMWARE

LA NUOVA RIVISTA DI INWARE EDIZIONI

I due abbonamenti a soli €79,50RICEVERAI 22 RIVISTE CON UN RISPARMIO DI BEN €47,00 SUL PREZZO DI COPERTINA

EDIZIONI

Page 68: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Il sistema è basato sul PIC18F2550, microcon-trollore che dispone di hardware dedicato allacomunicazione USB ed opera in modalità Full-Speed cioè 12Mbits/s. Questo sistema può esse-re impiegato come analizzatore di stato in cir-cuiti logici, controllore PWM, oscilloscopio perbasse frequenze o per interfacciare nuovi com-ponenti. Con un piccolo hardware aggiuntivopotrà essere impiegata, ad esempio, unamemoria SD o MultiMediaCard.

UNIVERSAL SERIAL BUSNella tabella A sono riportate le specifiche USBin termini di velocità di trasferimento e relativealle versioni USB1.1 e USB2.0.Il progetto presentato utilizza la modalità FullSpeed per cui sarà compatibile anche conUSB2.0. È interessante sottolineare che le perife-riche USB, oltre ad essere Plug and Play, suppor-tano l'hot swap, cioè possono essere collegate escollegate dal computer senza doverlo riavviare.Ogni comunicazione USB avviene necessaria-mente tra un host e un dispositivo (slave), perciòdue dispositivi USB slave non possono comuni-care tra di loro, se non connessi ad un host.

Il livello elettrico

Il bus USB usa solamente quattro fili scherma-ti di cui si possono riconoscere le funzioni gra-zie ai colori standard: rosso=Vbus (4.4V-5.25V), nero=Ground, Verde=Data+ (D+),bianco=Data- (D-).I dati vengono trasmessi serialmente sulle lineeData+ e Data- con segnali differenziali codificaticon lo schema NRZI. Le tensioni di questisegnali vanno da 0 V a 3.6 V con uno “0” diffe-renziale corrispondente nel ricevitore a(D+)>(D-)+200mV e un “1” corrispondente a(D-)>(D+)+200mV.Gli stati “J” e “K” sono due livelli logici usati pertrasmettere i dati e il loro valore è invertito tra lavelocità Full-Speed e la Low-Speed. Nella primainfatti lo stato “J” è uno “0” differenziale, nellaseconda “J” è un “1” differenziale. Sono previstianche altri stati come “SE0” (Single Ended 0)consistente in D+ e D- bassi, che corrispondonoa segnali non differenziali.Ogni dispositivo USB indica la propria velocità ela propria presenza all'hub collegando delle resi-stenze di pull-up da 1.5Ko (+/-5%) tra D+ o D-e la linea da 3.3 V. Un dispositivo Full-Speed èriconosciuto come tale se collega il pull-up conD+, mentre un Low-Speed si identifica collegan-do il pull-up con D-. Un dispositivo High-Speedviene identificato inizialmente come un Full-Speed con la resistenza di pull-up collegata traD+ e la linea a 3.3V per mezzo di un interrutto-re che si apre con un controllo software.Se l'hub a cui è connesso supporta l’HighSpeed, inizia un protocollo a basso livello che

S pesso dovendo esaminare

dei dati, è necessario

disporre di hardware adatto per

poterne effettuare la registrazione

e la visualizzazione.

Il presente articolo cercherà

di soddisfare questa necessità,

presentando un circuito basato

su microcontrollore PIC e collegato

ad una porta USB di un computer.

Pra

tic

a

68

Sistemadi acquisizione

TEORIA RISORSE SPECIALEPRATICAFA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Velocità Clock USB 1.1 USB 2.0

Low Speed 1,5Mb/s Si Si

Full Speed 12Mb/s Si Si

High Speed 480Mb/s No Si

Tabella A Specifiche sulla velocità

Page 69: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

dati su bus USB

stabilisce un collegamento High-Speed e aprel'interruttore che controlla il pull-up.Una caratteristica utile del bus è che può eroga-re corrente per alimentare i dispositivi connessi.Un dispositivo specifica la corrente di cui habisogno nel “descrittore di configurazione” inunità da 2mA (Tabella B).Sono previste tre classi di funzioni di alimentazione:• Funzioni di bassa potenza alimentate esclusiva-

mente dal bus, che non possono consumarepiù di una “unità di carico” uguale a 100 mA.

• Funzioni di alta potenza alimentate sempredal bus, che consumano massimo una “unitàdi carico” prima di essere configurate, e fino a5 unità dopo la configurazione.

• Funzioni auto-alimentate, che consumanofino a 100mA dal bus e il resto da una sorgen-te esterna.

I tipi di trasferimento

La comunicazione tra il software sull'host e ildispositivo ha come punto finale in quest'ultimol'endpoint, che può essere considerato comequella parte del dispositivo che produce orichiede i dati: nel primo caso è un endpoint di

output nel secondo è un endpoint di input.Ogni dispositivo USB deve implementare unmetodo di controllo che usa endpoint sia diinput che di output con l'endpoint numero 0.Ad ogni endpoint è associato un tipo di tra-sferimento (tabella D) ed altri attributi, comela dimensione massima dei pacchetti di daticontrollati.Il software sull'host invece, trasferisce i datiattraverso la pipe (dall’inglese “condotta”), checostituisce l'associazione tra l'endpoint di undispositivo e il software. Nel presente progettoverrà utilizzata la modalità Full-Speed che sup-porta i trasferimenti control, interrupt, isochro-

nous e bulk.1. Quello control è usato nella configurazione

di un dispositivo, per esempio durante l’enu-merazione, che è la fase in cui un dispositivoinvia all’host informazioni su se stesso, al finedi essere riconosciuto.

2. Quello interrupt è usato per inviare periodi-camente piccole quantità di dati, grazie a untempo di latenza garantito (per esempio neimouse o nelle tastiere).

3. Quello isochronous è usato per inviare conti-

Pra

tica

69

di Giovanni Allegra

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Offset Campo Dimensione Valore Descrizione

0 bLength 1 Numero Dimensione di questo descrittore in bytes

1 bDescriptorType 1 Costante Tipo(0x02)

2 wTotalLength 2 Numero Lunghezza totale in byte dei dati ritornati

4 bNumInterfaces 1 Numero Numero di interfacce

5 bConfigurationValue 1 Numero Codice di sottoclasse

6 iConfiguration 1 IndiceValore da usare come argomento perselezionare questa configurazione

7 bmAttributes 1 Bitmap

D7 Riservato, settare a 1D6 Auto alimentatoD5 Wakeup RemotoD4..0 Riservati, settare a 0

8 bMaxPower 1 mA Consumo massimo di corrente in unità di 2mATabella B Descrittore di configurazione

Page 70: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

nuamente dati quali flussi video e audio ma,in caso di errore di trasmissione i dati nonsono ritrasmessi, per cui il sistema deve pre-vedere che alcune informazioni possonoandare perdute.

4. Quello bulk è usato per trasferire grossequantità di dati, per esempio in unità di

memoria o stampanti, non ha un tempo dilatenza garantito, di conseguenza viene ral-lentato se il bus è occupato.

I descrittori USB

Un descrittore è una struttura di dati con un for-mato definito, usato dal dispositivo per dichia-rare i propri attributi (figura 1).I descrittori più comuni sono: il descrittoredel dispositivo (nella tabella C), di configura-zione (nella tabella B), di interfaccia, diendpoint, di stringa.

IL PIC18F2550Il modulo USB in figura 2, è dotato di una Serial

Interface Engine (SIE) USB compatibile con levelocità Full-Speed e Low-Speed, che può esserecollegata a un transceiver USB esterno o a quel-lo interno, come nel presente caso. Per il funzio-

Sistema di acquisizione dati su bus USB

Pra

tic

a

70

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Offset Campo Dimensione Valore Descrizione

0 bLength 1 Numero Dimensione di questo descrittore in bytes

1 bDescriptorType 1 Costante Tipo(0x05)

2 bEndpointAddress 1 Endpoint

Indirizzo di questo endpoint:Bit 3..0: Numero dell’endpointBit 6..4: Riservati, settare a 0Bit 7: Direzione (ignorato dagli endpoint control)

0=endpoint di output 1=endpoint di input

3 bmAttributes 1 Bitmap

Attributi dell’endpoint:Bit 1..0: Tipo di trasferimento

00 = Control01 = Isochronous10 = Bulk11 = Interrupt

Bit 5..2: Riservati, eccetto negliendpoint Isochronous

Bit 3..2: Tipo di sincronizzazioneBit 5..4: Tipo di usoBit 7..6: Riservati, settare a 0

4 wMaxPacketSize 2 NumeroMassima dimensione dei pacchetti di datiche questo endpoint può mandare o ricevere.Vedere le specifiche per maggiori informazioni.

6 bInterval 1 Numero

Intervallo di tempo in frame (1 ms), per sondarei trasferimenti di tipo interrupt e isochronous.Per il trasferimento interrupt deve esserecompreso tra 1 e 255.

Tabella D Descrittore di endpoint

Figura 1 Struttura dei descrittori USB

Page 71: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252071

Page 72: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Sistema di acquisizione dati su bus USB

Pra

tic

a

72

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

namento del transceiver interno è disponibile unregolatore di tensione a 3.3 V, disattivabile tra-mite il bit di configurazione VREGEN, nel caso incui venga usato un regolatore esterno.Per indicare la velocità possono essere impiega-te resistenze di pull-up esterne, o attivare i pull-up interni con il bit FSEN di UCFG, USBConfiguration Register, (1 indica Full-Speed, 0Low-Speed). Il modulo per operare in Full-Speed necessita di un segnale di clock a 48Mhzche può essere generato tramite un oscillatoreesterno o tramite il PLL (Phase Locked Loop)interno. Quest’ultimo ha un input di minimo4Mhz e genera 96Mhz, quindi deve essere suc-cessivamente divisa per 2 ottenendo la frequen-za desiderata.Il PIC ha anche un modulo di conversione AD a10 bit che ci servirà per l'acquisizione di segnalianalogici di bassa frequenza. Infatti il tempo perfare una conversione non è basso come sipotrebbe desiderare in quanto dipende daltempo d'acquisizione Tacq e da 11-12 Tad cheè il periodo di clock del modulo. Il valore mini-

mo di Tad è di 0.7ms, ciò significa che, con lafrequenza di 48Mhz, deve essere Tad=Tosc*64(impostabile con il registro ADCON2), e risulte-rebbe Tad=1.33ms. Invece con clock=Tosc*32,risulta Tad=0.667ms valore leggermente sotto ilminimo consentito.A sua volta Tacq dipende dall'impedenza delsegnale (massimo 2.5 Ko) e da altri parametri eha un valore minimo di 1.4ms.

Il firmware

Il firmware del PIC, basato sul codice dell’appli-cation note AN956, è stato scritto in C e compi-lato con MPLAB C18 Student Edition, program-ma reperibile gratuitamente.Il codice gestisce un dispositivo compatibile conle specifiche CDC (Communication DeviceClass) per l’emulazione della porta RS-232 econtiene due interfacce, una Communication

Class Interface e una Data Class Interface.La prima include un endpoint di input di tipointerrupt ed è usata dal driver che emula la portaRS-232 per informare il dispositivo USB dello

Offset Campo Dimensione Valore Descrizione

0 bLength 1 Numero Dimensione di questo descrittore in bytes

1 bDescriptorType 1 Costante Tipo(0x01)

2 bcdUSB 2 BCDVersione delle specifiche USB a cui il dispositivoè compatibile (0x0200 per USB2 0x0110per USB1.1)

4 bDeviceClass 1 Classe

Codice di classe. Se uguale a 0 ogni interfacciaprecisa il proprio codice. Se uguale a 0xFFsi definisce una classe specifica. Altrimentiè una classe valida.

5 bDeviceSubClass 1 Sottoclasse Codice di sottoclasse

6 bDeviceProtocol 1 Protocollo Codice di protocollo

7 bMaxPacketSize 1 NumeroDimensione massima del blocco di datidell’endpoint 0. I valori validi sono 8,16,32,64

8 IdVendor 2 IDVID o identificatore del produttore(assegnato da USB-IF)

10 IdProduct 2 IDPID o identificatore del prodotto(assegnato dal produttore)

12 BcdDevice 2 BCD Versione del dispositivo

14 IManufacturer 1 Indice Indice del descrittore di stringa del produttore

15 Iproduct 1 Indice Indice del descrittore di stringa del prodotto

16 ISerialNumber 1 IndiceIndice del descrittore di stringa delnumero seriale

17 bNumConfigurations 1 Intero Numero di configurazioni possibiliTabella C Descrittore del dispositivo

Page 73: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

stato corrente della connessione. La seconda ècomposta da due endpoint di tipo bulk, uno diinput e l'altro di output (considerato che un sin-golo endpoint è unidirezionale) ed è quella chetrasmette i byte che verrebbero normalmentetrasmessi con la porta RS-232.La maggior parte delle procedure da modificaresi trovano in user.c, e nello stesso file si trovaanche la procedura ProcessIO che viene chia-mata continuamente dal loop principale, peroccuparsi dell’input/output. Le procedure fon-damentali per la comunicazione sul bus sono:• putrsUSBUSART e putsUSBUSART scrivono

una stringa che termina con null, la primadalla “program memory” e la seconda dalla“data memory”.

• mUSBUSARTTXRom e mUSBUSARTTXRamscrivono una stringa di lunghezza nota, laprima dalla “program memory” e la secondadalla “data memory”.

• mUSBUSARTIsTxTrfReady ritorna 1 se il driverè pronto per trasmettere altri dati.

• getsUSBUSART legge una stringa di byte in unbuffer e non aspetta se non ci sono dati dispo-

nibili.• MCDCGetRxLength ritorna il numero di byte

letti nell’ultima chiamata di getsUSBUSART. Un possibile codice di esempio per eseguire icomandi ricevuti è riportato nel listato 1

Con il programma del listato 1 ad ogni coman-do viene assegnato un compito, che può esserela ricezione di dati in input_buffer, l'invio didati su output_buffer o il cambiamento dellostato del PIC (per esempio dello stato delleporte). La dimensione di quest'ultimo array, soli-tamente di 64 byte, può essere estesa fino a 255byte migliorando l'efficienza della trasmissione.I comandi implementati nel codice (tabella E) sioccupano tra l’altro del controllo delle uscitePWM, dello scambio di dati su bus I2C e SPI edella conversione analogico-digitale.I campi come x o n sono numeri interi compre-si tra 0 e 255 e la massima lunghezza di uncomando (compresi i dati) è 64 byte, eccettodove specificato diversamente. Un esempio dicomando accettato è “g 3, 129, 150, 10” chescrive 3 byte sul bus SPI.

Pra

tica

73

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 2 Il modulo USB del PIC

Page 74: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Sistema di acquisizione dati su bus USB

Pra

tic

a

74

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

IL CIRCUITOIl circuito in figura 3 è piuttosto semplice inquanto molte delle funzioni utilizzate sono ilintegrate nel PIC.Ne è un esempio il PLL con cui viene generatala frequenza di 48Mhz con un cristallo da 4Mhz.Il regolatore interno che genera la tensione di3.3V deve essere stabilizzato con un condensa-tore da almeno 220nF.Il circuito può essere alimentato da una sorgen-te esterna (tra 7.5 e 10 V) che viene portata a5V dal regolatore LM7805, oppure dal bus, la

cui tensione può variare da 4.4V a 5.25V, ren-dendo la prima possibilità più interessante. Perscegliere l’alimentazione esterna è necessarioinserire un jumper tra i pin 3 e 2 di JP2, mentreper l’alimentazione dal bus tra i pin 2 e 1. Altrecombinazioni di JP2 dovranno essere evitate pernon danneggiare il sistema. Per proteggere ilcircuito da involontarie inversioni della polaritàdell’alimentazione esterna è stato inserito traJP1 e IC3 il diodo Schottky D1.L’amplificatore IC2 in configurazione di insegui-tore di tensione ha lo scopo di diminuire l’impe-

[Listato1]

Byte count;

char input_buffer[64];

char output_buffer[64];

rom char comandi[]={"0:lista comandi. 1:testa comunicazione. 2:Alterna LED1"};

if (getsUSBUSART(input_buffer,64)) {

count=mCDCGetRxLength();

switch(input_buffer[0]) {

case 0:

//invia la lista dei comandi supportati

if (mUSBUSARTIsTxTrfReady())

putrsUSBUSART(comandi);

break;

case 1:

//invia il numero di byte ricevuti

if (mUSBUSARTIsTxTrfReady()) {

output_buffer[0]=count;

mUSBUSARTTXRam((byte *)output_buffer,1);

}

break;

case 2:

//alterna l’accensione del LED1

mLED_1_Toggle();

break;

default:

break;

}

}

Page 75: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

da NON PERDERE!!da NON PERDERE!!

A giugnoin edicolaA giugnoin edicola

Page 76: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Sistema di acquisizione dati su bus USB

Pra

tic

a

76

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

denza di due dei segnali che arrivano al conver-titore AD del PIC, evitando di alterare i segnalioriginali.Nonostante l’MCP602 o MCP6022 (che hacaratteristiche migliori) siano amplificatori ope-razionali con gli output Rail-to-Rail, è consiglia-bile mantenere i segnali in ingresso lontani daGND e VCC, ma intorno a VCC/2, perché glioutput non si avvicinano abbastanza alle linee

di alimentazione (nel lesi veda nel datasheet ilparametro Maximum Output Voltage Swing).Questo accorgimento farebbe però diminuirel’intervallo di tensione utile, per esempio tra200mV e 4.8V, limitando il raggio d’azione delconvertitore analogico-digitale. Una soluzionepotrebbe essere quella di usare i riferimenti divoltaggio del convertitore Vref- e Vref+, impo-standoli rispettivamente a 200 mV e 4.8V. In

Codice

ComandoCampi

Byte

inviatiRestrizioni Descrizione

0 - - Chiede la lista dei comandi.

1 - -Ritorna un byte con lo stato di RA4,RA5 neibit meno significativi.

2 x 1Imposta con x lo stato di RB2-RB3, RB2 nelbit 0, RB3 nel bit 1.

3 - - Ritorna un byte con lo stato del pulsante SW1.

4 x1, x2, x3 1Inizializza il periodo della PWM 1 e 2 con x1.Se x3 è maggiore di 0, x2 configura il timer.

5 - - Chiude PWM 1 e 2.

6 x 1 Setta il duty-cycle della PWM 1 con x.

7 x 1 Setta il duty-cycle della PWM 2 con x.

a x1, x2 1x2 compresotra 0 e 255

Setta con x1 l’indirizzo del dispositivoI2C usato, e con x2 il ritardo.

b x1, x2 2 Scrive i byte x1 e x2 sul bus I2C.

c n, x1… xn 63n compresotra 1 e 62

Scrive gli n byte x1-xn sul bus I2C.

d n 1n compresotra 1 e 64

Legge n byte dal bus I2C, e li ritorna.

fx1, x2, x3,

x4, x51

Inizializza il bus SPI con OpenSPI, se x1 è ugualea 1 CS va alto. Se x5 è maggiore di 0, x2,x3 ex4 settano sync_mode,bus_mode e smp_phase.

g n, x1... xn 63n compresotra 1 e 62

Scrive gli n byte x1-xn sul bus SPI.

h n, x1... xn 63n compresotra 1 e 62

Scrive gli n byte x1-xn sul bus SPIe legge un byte dal bus.

i n 1n compresotra 1 e 64

Legge n byte dal bus SPI e li ritorna.

m x1, x2, x3 3x2 compreso

tra 0 e 3Imposta ADCON2 con x1, il canale di conversioneAD con x2 e ADCON1 con x3.

n x1, x2 2x1 compreso

tra 0 e 3

Esegue una conversione AD con le impostazionicorrenti, e ritorna un numero a 10 bit. Se x2 èmaggiore di 0, x1 è il canale.

o - - Comando riservato per la conversione AD continua.Tabella E Comandi implementati

Page 77: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Pra

tica

77

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

questo modo si otterrebbe un intervallo di ten-sione di 4.6V e con una risoluzione di 10 bit, unincremento di uno del codice digitale equivale aun incremento di 4.5mV del segnale analogico.Il LED 1 indica lo stato della connessione col buse collegando il cavo USB e alimentando il circui-to, il led deve lampeggiare.Dei due pulsanti uno ha la funzione di reset peril PIC e l'altro è riservato a funzioni genericheche verranno implementate in futuro. La descri-zione delle funzioni di ogni pin del PIC e deiconnettori JP3 e JP4 è visibile in figura 6, in cui ipin sono raggruppati a seconda del loro compi-to in modo da facilitarne l'uso.

IL SOFTWARE DI CONTROLLOIl software di controllo in figura 7, è stato svilup-pato per il sistema operativo Windows, con lalibreria LibUSB-Win32 che fornisce i drivernecessari per la comunicazione con i dispositiviUSB. Il sistema, essendo compatibile con la clas-se CDC, avrebbe potuto usare i driver diWindows usbser.sys e ccport.sys, ma questi

Elenco componenti

R1 330 o 1/4 W

R2aR4 10 Ko 1/4 W

C1 470 nF elettrolitico

C2, C3 22 pF ceramico

C4, C5 10 mF elettrolitico

C6, C7 100 nF ceramico

IC1 PIC18F2550 o PIC18F2455

IC2 MCP602 o MCP6022

IC3 LM7805

D1 1N5817

LED1 LED rosso 3mm

XT1 Cristallo da 4 Mhz

SW1, SW2 Pulsante

JP1aJP4 Strip contatti passo 100 mils

CN1 Connettore USB tipo B 90°

Figura 3 Schema elettrico

Page 78: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Sistema di acquisizione dati su bus USB

Pra

tic

a

78

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

avrebbero causato problemi di con-nessione nel caso in cui il dispositivoUSB (considerato che supporta l'hotswap) venisse scollegato e ricollegatoal computer. Oltre a rimediare a que-sto problema, la libreria LibUSB per-mette anche di accedere ai descrittoriassociati al dispositivo e di conoscerecosì le relative informazioni. Il file in cuisi trovano i driver della libreria èlibusb-win32-filter-bin scaricabile dalsito citato nei riferimenti.Dopo aver collegato il dispositivo USBal computer e averlo alimentato, sipuò verificare se è stato rilevato cor-rettamente dalla finestra Dispositivi

rilevati, e iniziare la connessione.Avvenuta la connessione, i comandida inviare si possono scrivere nellacasella di testo della finestra principa-le, comandi con cui si possono con-trollare tutte le funzioni messe adisposizione dall’hardware, eccetto laconversione analogico-digitale conti-nua. Di questa se ne occupa un’altrafinestra, riportata in figura 8, median-te la quale è possibile effettuare l’ac-quisizione del segnale analogico dalcanale impostato precedentemente,vedere il segnale, salvarlo su un file ocaricarlo.Nella finestra principale si trovanoanche due slider per impostare i valo-ri della PWM 1 e 2 e un piccolo riqua-dro per visualizzare i segnali analogiciacquisiti in realtime.

Figura 4 Circuito stampato in scala 1:1 (lato rame)

Figura 6 Descrizione dei pin del PIC e dei connettori

Figura 5 Piano di montaggio

Page 79: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

SITI DI RIFERIMENTO• www.usb.org - Sito ufficiale dello standard USB,

qui si trovano tutte le specifiche.• www.microchip.com - Sito della Microchip, cer-

care DS39632 per la datasheet delPIC18F2455/2550/4455/4550, l’applicationnote AN956 e MPLAB C18.

• http://libusb-win32.sourceforge.net - Sito in cuisi trova la libreria LibUSB-Win32.

• www.lvr.com/usb.htm - Sito dell’autore dellibro “USB Complete” in cui si trovano infor-mazioni su hardware e software USB.

• www.sourcequest.com - Sito del programmaSourceUSB, strumento di analisi per intercettarele richieste di I/O USB relative ad un dispositivo.

CONCLUSIONENel prossimo articolo verrà presentata una sche-da di lettura e scrittura di memorie SD e MMCda collegarsi al presente sistema. Inoltre si par-lerà del metodo di memorizzazione dei file, edel programma di gestione per PC.

Codice MIP252068

Figura 7 Finestra principale del software di controllo

Figura 8 Finestra per l'acquisizione dei segnali analogici

Codice MIP 252079

Page 80: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Quello che ci proponiamo di fare a partire daquesta puntata è mostrare come realizzare unaserie di interessanti applicazioni utilizzando imicrocontrollori PIC ed il linguaggio C.L’ambiente di sviluppo che utilizzeremo sarà ilMikroC v5.0, che inizieremo a conoscere intutte le sue caratteristiche già dal prossimoparagrafo. Com’è noto il linguaggio C, al pari dialtri linguaggi ad alto livello (Basic o Pascal),permette di scrivere programmi complessi inmaniera semplice e veloce, però rispetto a que-sti produce un codice mediamente più compat-to e veloce, simile a quello che si otterrebbeprogrammando in assembler. Il C quindi per-mette di sfruttare meglio le caratteristiche delmicrocontrollore, e di controllare più accurata-mente il suo funzionamento e le sue periferiche.

Dal momento che su Fare Elettronica si è giàparlato estesamente sia dei PIC che del linguag-gio C, non dedicheremo molto spazio alla teo-ria, ma ci concentreremo soprattutto sugliaspetti pratici, sulle applicazioni e sugli esempi.Inizieremo con dei programmi molto semplici,per cui anche chi si fosse perso qualcosa, nondovrebbe avere alcun problema a seguirci (allafine dell’articolo comunque verranno indicatialcuni riferimenti bibliografici per recuperare).

IL MIKROCIl MikroC è un ambiente di sviluppo prodottodalla Mikroelektronika, società jugoslava moltoconosciuta per altri suoi prodotti di successoquali il MkroBasic o le schede di sviluppoEasyPIC. Il MikroC in particolare è un compila-tore che è stato specificamente pensato per imicrocontrollori PIC, ed è quindi in grado digestire tutte le caratteristiche peculiari dei varimodelli e produrre codice ottimizzato per que-sti dispositivi. In realtà definirlo “compilatore C”è piuttosto restrittivo, dal momento che ilMikroC integra anche una grande quantità distrumenti ausiliari, sia per la scrittura del codice,sia per soddisfare molte delle esigenze che sor-gono quando si programmano sistemi a micro-controllore. Altro aspetto molto interessante è lapresenza di una completa documentazioneinterattiva ed di una nutrita serie di funzioni dilibreria pronte per essere utilizzate nelle applica-zioni. Grazie a queste caratteristiche, utilizzandoil MikroC è possibile scrivere applicazioni com-plesse in pochissimo tempo, come verràmostrato in questa serie di articoli.Nel prossimi paragrafi analizzeremo in dettagliole principali caratteristiche dell’ambiente di svi-luppo.

Il compilatore

Il MikroC comprende un compilatore ANSI Cche implementa praticamente tutti gli aspetti

D opo il notevole successo

riscosso dalla serie di articoli

sul MikroBasic, vogliamo

presentarvi, a partire da questa

puntata, il MikroC: un ambiente

di sviluppo, in ANSI C per PICmicro

prodotto della MikroElektronika,

simile al MikroBasic per semplicità

di utilizzo ed efficienza. In questa

puntata conosceremo gli strumenti

messi a disposizione dal pro-

gramma ed inizieremo ad usarlo

con alcuni semplici esempi. Nelle

prossime puntate utilizzeremo il

MikroC per realizzare progetti

sempre più complessi ed interessanti.

Te

oria

80

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Prima parte

n° 252 - Giugno 2006

L’ambiente di sviluppo

Seconda parte

n° 253/254 - Luglio/Agosto 2006

Controllare le uscite del PIC

Terza parte

n° 255 - Settembre 2006

Gestione di pulsanti, tastiere

e display LCD

MikroC:By Example:

Page 81: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

standard del linguaggio, e che è stato apposita-mente pensato per i microcontrollori PIC (tutti imodelli della serie 12, 16 e 18). Il compilatore èin grado di generare dal codice C direttamenteil codice oggetto (cioè i file .hex caricabili sulPIC) o anche codice assembler leggibile, edeventualmente modificabile dall’utente.Il compilatore supporta tutti i tipi di dati previ-sti dall’ANSI C, sia quelli interi che quelli floatingpoint, utilizzando per questi ultimi un formato a32 bit compatibile con lo standard IEEE-754. Inquest’ultima versione è possibile richiamare lefunzioni in maniera annidata e ricorsiva (neilimiti consentiti dallo stack del PIC). Per renderepiù efficiente il codice generato, il MikroC appli-ca una serie di ottimizzazione automatiche infase di compilazione. Oltre agli aspetti standard del linguaggio, ilcompilatore è dotato di alcune estensioni dedi-cate, utili per interagire con i PIC. Ad esempio èpossibile gestire in maniera molto semplice leroutine d’interruzione o la posizione delle varia-bili all’interno della memoria.

L’ambiente di sviluppo

La Figura 1 mostra un’immagine “panorami-ca” del ricco ambiente di sviluppo (IDE) offer-to dal MikroC. Nonostante l’abbondanza distrumenti, scrivere e compilare un program-ma è molto semplice. L’area più grande visibi-le in figura è quella riservata alla scrittura delcodice (Code Editor). Il codice scritto vieneautomaticamente “colorato” per distinguernei diversi elementi (istruzioni, costanti, com-menti, tipi, etc.). Questo facilita molto la let-tura e la comprensione del codice, e può evi-denziare la presenza di eventuali errori discrittura. Esiste anche una funzione persona-lizzabile che corregge gli errori di digitazionedirettamente mentre si scrive il testo (!). Altrefunzioni utili sono quelle che permettono dicommentare o de-commentare le sezioni dicodice evidenziato, o di indentarlo.Due strumenti utili mentre si scrive il codicesono il “Code Assistant”, ed il “Parameter

Assistant”: due piccole finestre “pop-up” cheservono a ricercare o a completare automati-

camente il nome dellefunzioni che si vuolerichiamare, o i loro para-metri, evitando di consul-tare continuamente laguida o altri punti delcodice.Sulla sinistra (Figura 2) sitrova il “Code Explorer”,dove vengono riassuntitutti gli elementi inseritinel codice: funzioni, eti-chette, costanti, e varia-bili con il loro valore eambito di visibilità.Cliccando su una qualsia-si delle voci verrà eviden-ziato nel codice la suaposizione. Questo risulta

Te

oria

81

L’ambientedi sviluppo

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

di Antonio Di Stefano

Figura 1 L’ambiente di sviluppo MikroC

Page 82: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

utilissimo sia per trovare velocemente gli ele-menti nel codice, sia per evitare errori nel-l’uso delle variabili globali, o con le ri-defini-zioni e l’inizializzazione delle variabili.Il tab posto accanto, denominato Qhelp,mostra un elenco di tutte le funzioni di libre-ria integrate nel compilatore (sia quelle stan-dard del C che le librerie per le funzioniavanzate). Cliccando su una delle voci si apri-rà la guida in cui la funzione viene descrittain dettaglio, spesso anche con degli esempidi utilizzo.Il piccolo riquadro sottostante riassume leproprietà del progetto corrente: il modello diPIC da utilizzare, la sua frequenza di lavoro

(usata in fase di simulazione e per determina-re il valore di alcune costanti), e l’elenco deifiles che compongono il progetto.In basso trova posto la finestra dei messaggi,in cui vengono visualizzati i risultati di compi-lazione e gli eventuali messaggi di errore.Nella stessa zona è presente un pratico con-vertitore di dati decimali / binari / esadecima-li, chiamato “Qconvertor”.

I tool aggiuntivi

Come accennato prima, il MikroC offre unagrande quantità di strumenti aggiuntivi oltre aquelli strettamente indispensabili per scrivereil codice e compilarlo. Questi tool possonoaiutare moltissimo nella fase di creazione deiprogrammi e nei test, e risulta molto comodoaverli integrati in un unico ambiente.Un primo strumento legato al compilatore èquello che permette di analizzare il codiceprodotto, in termini di occupazione di memo-ria (Fig. 3). E’ possibile tenere sotto controllol’occupazione della ROM (o Flash) e della RAMdel PIC, lo spazio occupato dalle diverse fun-zioni del programma e la loro distribuzione inmemoria. Analizzando questi dati è possibilein modo molto rapido capire come ottimizza-re il codice dal punto di vista dell’occupazionedi memoria.Gli altri strumenti, dai più semplici a quelli più

Te

oria

82

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Prima parte MikroC By Example: L’ambiente di sviluppo

RISORSE SPECIALE PRATICATEORIA

Figura 2 Il Code Explorer

Figura 3 Strumenti di analisi dell’occupazione di memoria

Page 83: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

sofisticati, sono richiamabili dal menu Tools.Tra quelli più semplici abbiamo una sempreutile tabella ASCII ed un “editor” per caratteria 7 segmenti (Fig. 4), che permette di dise-gnare il carattere voluto, ed ottenere il valorenumerico corrispondente ai segmenti accesi espenti. Tra gli strumenti più sofisticati spicca-no l’USART Terminal (Fig. 5) che può essereutilizzato per comunicare via seriale (RS232)con un qualsiasi dispositivo o sistema esterno.E’ possibile gestire la comunicazione impo-stando tutte le consuete opzioni, inviare i dati(digitandoli) e visualizzare in tempo realequelli ricevuti dal dispositivo esterno. Esistono

anche altri tipi di terminali, che hanno un uti-lizzo simile, ma ambiti diversi: l’HID Terminal,usato per comunicare con dispositivi USB HID

e che ingloba anche una funzione per la crea-zione dei descrittori USB (la classe HID è utiliz-zata da dispositivi come joysick, mouse otastiere, ma è utilizzabile anche per trasmette-re in maniera semplice dati ad un PC via USB);l’UDP Terminal permette di scambiare datiutilizzando una connessione di rete ed il pro-tocollo UDP. L’MMC Card Terminal invece èutilizzato per leggere blocchi di dati da unamemoria tipo Multimedia Card (MMC) oSecure Digital (SD). Come vedremo la presen-za di questi strumenti è dovuta al fatto che ilMikroC offre delle funzioni di libreria perinterfacciarsi a questi tipi di dispositivi.Tra gli altri tools meritano una segnalazionequello per creare immagini per display grafici(Fig. 6), che tra i display annovera anche ilNokia 3110, quello per gestire il bootloader,per la formattazione dei dati della EEPROM, eper la programmazione del micro via USB.

Le librerie

Uno degli aspetti più interessanti del MikroC èche comprende un grandissimo numero dilibrerie già pronte che implementano funzionicomplesse. Sarebbe troppo lungo descriverletutte, quindi qui ne daremo solo una velocepanoramica (le utilizzeremo comunque nelleprossime puntate). Chi desiderasse informazionipiù dettagliate può consultare la documentazio-ne del MikroC, che è scaricabile dal sito del pro-duttore. Una prima classe di funzioni sono quel-le per la gestione dell’hardware del PIC. In que-sta classe sono comprese funzioni per la gestio-ne della UART (sia hardware che emulata viasoftware), del generatore PWM e del convertito-re Analogico/Digitale. Un'altra classe implemen-ta algoritmi per la gestione di hardware esternocomune: tasti, display a LED, display LCD edisplay grafici, tastiere (a matrice o anche PS2),generazione di suoni, EEPROM seriali, Flash, etc.Un’altra classe ancora permette di gestire diver-si tipi di interfacce e protocolli, anche moltocomplessi, quali SPI, I2C, RS485, CAN, Ethernet,memorie Compact Flash, e memorie MMC o SD(con il supporto del file system FAT).Sono anche presenti delle librerie con funzioni

Te

oria

83

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 4 Editor per display a 7 segmenti

Figura 5 L’USART Terminal

Figura 6 Editor per display grafici

Page 84: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

che facilitano la conversione tra tipi diversi (es.da numero float a stringa e viceversa), ed alcu-ne operazioni trigonometriche.

Il debugger

Il MikroC comprende anche un source code

debugger cioè un simulatore che permette di ese-guire il codice creato sul PC, per capire se si com-porta come voluto. Questo strumento è moltoimportante per eseguire un primo test del pro-gramma o di alcune sue routine. Il funzionamen-to è molto semplice: una volta compilato il pro-gramma, è possibile eseguirlo (anche in modalitàpasso-passo), ed osservare il suo comportamento.L’esecuzione del programma può essere seguitasia sulla finestra del codice, sia su delle finestreaggiuntive che mostrano il contenuto della RAM,quello dei registri interni e dello stack, e sulla fine-stra del “clock”, che può essere usata per valuta-re il tempo di esecuzione delle routine. I valoridella RAM e dei registri possono essere modificatidall’utente durante l’esecuzione, modificandoquindi il comportamento del programma. Questorisulta indispensabile in alcuni casi, in quanto ildebugger non simula in dettaglio il comporta-mento di alcuni dei circuiti interni del PIC, comead esempio i timer, gli ADC, le interruzioni, etc.Per facilitare l’osservazione dei valori assunti inparticolari punti del programma, si possono piaz-zare dei breakpoint, che interrompono momenta-neamente l’esecuzione.

IL PRIMO PROGETTOPer prendere confidenza con l’ambiente di svi-luppo iniziamo con un progetto molto sempli-ce, il classico “Hello world!” del mondo deimicrocontrollori: faremo lampeggiare un LED. Ilprogramma è molto semplice e si presta bene aessere usato come “cavia” per le prime speri-mentazioni: una volta capito come fare lampeg-giare un LED non è difficile creare pattern via viapiù complessi, iniziare a giocherellare con lealtre periferiche, e creare programmi molto piùvari ed interessanti. Lo schema elettrico che uti-lizzeremo è quello mostrato in Figura 7: il PIC ècollegato nel modo usuale all’alimentazione, adun quarzo da 4MHz, e sul primo piedino dellaporta B è stato collegato un LED con una resi-stenza per limitare la corrente.

Va notato che useremo un PIC 16F84, ma que-sto particolare potrebbe essere del tutto irrile-vante: un programma scritto in C infatti, a diffe-renza di uno scritto in assembler è praticamenteindipendente dal microcontrollore usato! Se scri-viamo bene il nostro codice, con piccole modifi-che esso potrà funzionare non solo su diversimodelli di PIC, ma anche su diversi tipi di micro-controllori o processori (ad esempio AVR, 8051,ARM, etc.). Questo è uno dei maggiori vantaggiofferti dal C.Per creare il nostro primo progetto iniziamoavviando il MikroC, e selezionando dal menu

Project la voce New Project. Siaprirà la finestra visibile in Figura 8.Inseriamo il nome del progetto (inquesto caso LEDBlink), il percorsoin cui vogliamo salvare i file pro-dotti, una breve descrizione delprogetto (in generale documenta-re i progetti è importante!).Scegliamo come dispositivo unPIC16F84 ed una frequenza diclock di 4MHz. Dalle opzioni sotto-stanti è possibile modificare i“fuses” del dispositivo, in questocaso usiamo il pulsante “Default”per selezionare quelli predefiniti(oscillatore HS, e Watchdog disabi-litato). Dopo avere dato conferma,potremmo scrivere nell’appositafinestra il seguente codice:

Te

oria

84

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Prima parte MikroC By Example: L’ambiente di sviluppo

RISORSE SPECIALE PRATICATEORIA

Figura 7 Schema usato per fare lampeggiare il LED

Page 85: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Prossimamente

troverai il

CD-ROM

allegato a

in tutte le edicolein OMAGGIO per gli abbonati

Page 86: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

86

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Prima parte MikroC By Example: L’ambiente di sviluppo

RISORSE SPECIALE PRATICATEORIA

void main() {

PORTB = 0;

TRISB = 0;

while(1) {

PORTB = 1;

Delay_ms(500);

PORTB = 0;

Delay_ms(500);

}

}

Il codice non è scritto in modo molto elegante,però è utile per capire come funziona: la funzio-ne main è quella che verrà eseguita all’avvio,all’inizio viene assegnato il valore 0 a PORTB(che indica il valore assunto dai piedini dellaporta B del PIC), e TRISB (che determina la dire-zione dei pin, 0 indica che sono stati configura-ti tutti come uscite). A questo punto inizia unciclo infinito realizzato con l’istruzione while.Dentro al ciclo viene assegnato il valore 1 aPORTB, cioè viene portato alto il piedino RB0.Quindi viene richiamata una routine che generaun ritardo di 500ms (mezzo secondo), vieneportato basso il piedino RB0, e vengono attesialtri 500ms, quindi il loop si ripete. A questopunto è utile una piccola spiegazione: per capi-re su quale piedino della porta B agiamo, dob-biamo considerare l’espressione binaria delnumero che abbiamo utilizzato, ciascun bit rap-presenta ordinatamente un piedino della porta.Se avessimo voluto accendere i pin RB0 ed RB1assieme (valore binario 00000011), avremmodovuto usare il valore decimale 3. Per facilitarequesto tipo di operazioni il MikroC riconosceanche i numeri scritti direttamente in binario,

basta farli precedere da “0b” (in questo caso adesempio potremmo scrivere 0b00000011). Èpossibile anche usare il Qconvertor posto inbasso per eseguire questo tipo di conversioni.Una piccola nota importante: tutti i programmiche scriveremo saranno sempre racchiusi da, otermineranno con, un loop infinito (eventual-mente vuoto).Questo è necessario perché altrimenti, una voltaterminata la funzione main, il programma si tro-verà in una condizione indefinita: potrebbebloccare il microcontrollore, compiere delleazioni imprevedibili, o ripetersi in modo noncorretto.Chi conosce il C o ha già usato altri compilato-ri, avrà notato che non è stato necessario inclu-dere nessuna libreria: il MikroC infatti provvedeautomaticamente a includere le definizioni rela-tive al PIC usato (come PORTB e TRISB), e diver-se funzioni di libreria.Per compilare il nostro programma, usiamo ilpulsante Build Project (quello con gli ingranag-gi in alto), o l’equivalente voce del menuProject. Il report di compilazione sarà visibilenella finestra in basso.Se diamo un’occhiata alle statistiche sull’occu-pazione di memoria vediamo che il nostro pro-grammino occupa 74 word nella Flash del PIC.Proviamo a scriverlo in un modo un po’ piùottimizzato:

void main() {

PORTB = 0;

TRISB = 0;

while(1) {

PORTB = PORTB^0b00000001;

Delay_ms(500);

}

}

Per ottenere il comportamento “intermitten-te” abbiamo usato l’operatore XOR del C(l’accento circonflesso “^”). L’XOR ha l’effettodi invertire i bit della variabile in corrispon-denza dei bit 1 indicati nell’operando, in que-sto caso quindi invertiamo solo il primo bit,quello corrispondente a RB0.Alla seconda inversione, il bit torna comeprima, ottenendo l’effetto intermittente. Ilprogramma quindi funzionerà esattamente

Figura 8 Finestra per l’immissione dei dati del progetto

Page 87: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

come prima. Quanto occupa il nostro pro-gramma questa volta? Soltanto 42 word!Questo risultato è dovuto sia alla maggiorecompattezza del programma, sia al fatto cheDelay_ms è una macro, non una funzione,quindi prima veniva effettivamente copiatadue volte nel programma!

E se volessimo far lampeggiare due led, uno suRB0 e l’altro su RB1, in modo alternato?(Schema in Figura 9). Ecco come modificare ilprogramma:

void main() {

PORTB = 0b00000010;

TRISB = 0;

while(1) {

PORTB = PORTB^0b00000011;

Delay_ms(500);

}

}

Abbiamo modificato soltanto due parametri: ilvalore iniziale (all’inizio un LED sarà già acce-so, l’altro spento), ed abbiamo fatto in modoche venissero invertiti entrambi i bit menosignificativi.

Se vogliamo provare i nostri programmi con ildebugger, possiamo richiamare la voce “Start

Debugger” dal menu Run, ed usare le opzionidi step (stesso menù, oppure tasti F7 ed F8). Se invece vogliamo prova-re il codice direttamentesul circuito vero e proprio,dopo la compilazione avre-mo a disposizione il file.hex da caricare nel PIC.Potremo usare lo stessoMikroC se stiamo usandouna delle schede EasyPIC(il download avviene viaUSB!), oppure potremousare un programma ester-no qualsiasi (come il notoIC-Prog) ed il nostro pro-grammatore preferito. ILED dovrebbero iniziare alampeggiare immediata-mente, come voluto.

RIFERIMENTI• Il MikroC può essere scaricato dal sito Internet

del produttore all’indirizzo:www.mikroelektronika.co.yu

• Maggiori informazioni sui PIC possono essere tro-vate sul corso “PIC By Example” pubblicato suFare Elettronica (numeri da 157 a 176) e sul CD-ROM omonimo, o sul libro della serie “Conoscere

ed usare” dal titolo “PICmicro” di Maurizio DelCorso e Tiziano Galizia, edito dalla Inware.

• Maggiori informazioni sul linguaggio C si pos-sono trovare nella serie di articoli “Vitamina

C” pubblicato su Fare Elettronica (numeri da217 a 246), o sul CD-ROM omonimo, o sullibro della serie “Conoscere ed usare” daltitolo “Il Linguaggio ANSI C” di Antonio DiStefano, edito dalla Inware Edizioni.

• Alcune spiegazioni più dettagliate sugli algo-ritmi e sui circuiti utilizzati in alcuni degliesempi (compresa la scheda EasyPIC) si posso-no trovare nel tutorial sul MikroBasic, pubbli-cato su Fare Elettronica (dal numero 238).

CONCLUSIONINella prossima puntata considereremo degliesempi un po’ più complessi, che partendo daquelli appena visti ne espanderanno molto lepossibilità utilizzando istruzioni e costrutti piùpotenti, per gestire il flusso del programma e letemporizzazioni. Non mancate!

Codice MIP252080

Te

oria

87

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 9 Schema per l’accensione di due LED alternati

Page 88: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Chi non possiede un bromografo alzi la mano!Sfogliando le pagine di questo articolo in moltil’abbasseranno, poiché in casa certamente unbromografo c’è. Leggere per credere.

UN’IDEA ORIGINALENel corso degli anni ho sempre cercato di rag-giungere obbiettivi (anche complessi) nelmodo più economico possibile. La necessità dipossedere un nuovo bromografo in effetti èstata sempre in primo piano, dal momento checontinuo ad utilizzare il metodo tradizionaleper produrre circuiti stampati, anche di note-vole complessità.Ma poiché il mio carattere porta sempre a cer-care nuove soluzioni, dopo alcuni tentativi hotrovato un metodo per produrre i PCB, utiliz-zando nientemeno un semplice monitor percomputer!Si, avete letto bene. Un monitor quale fonte diluce per impressionare la basetta fotosensibileper il suo successivo sviluppo. Benché la proce-dura presentata in queste pagine sia realmen-te molto semplice, i risultati sono di rilievo.

UNIFORMITÀ DI LUCEIl vero segreto della buona riuscita di una baset-ta per i circuiti non sta tanto nel tempo di espo-sizione o nella distanza dalla fonte luminosa: ilreale parametro da rispettare è quello della uni-

formità della luce.Se utilizzate un bromografo dotato di 3 neonsolamente, è molto probabile che la basettanon venga colpita dalla stessa quantità di luce

nei vari punti. Cosicché, all’atto dello sviluppo,alcune parti risaltano più delle altre, rendendol’intera procedura a rischio di insuccesso.Basandomi su tale necessità ho cercato (e tro-vato) una fonte di luce che rispettasse questacaratteristica e, soprattutto, che fosse giàdisponibile.Ebbene, il monitor di un normale computer(o in alternativa un televisore …) soddisfaquesti requisiti.Personalmente in rete ho trovato molti pro-getti, anche brillanti, che risolvono egregia-mente il problema della fotoincisione, ideeche propongono, quale fonte luce, il sole, ineon speciali, le lampade o altro, ma sincera-mente non ho mai riscontrato alcun sito cheproponesse questa soluzione.

DI COSA SI TRATTALa procedura è davvero assai semplice: occorre,al solito, predisporre un master su foglio traspa-rente, con piste nere molto contrastate.L’esposizione della basetta avviene proprio…davanti a un monitor da PC. Naturalmente dob-biamo rispettare due condizioni basilari:1. Lo schermo deve essere bianco ed illuminato

al massimo delle sue possibilità.2. La basetta deve aderire perfettamente al

vetro, sebbene la presenza di una leggeracurvatura ostacoli tale richiesta.

Per il primo requisito basta aprire un qualsiasiprogramma di disegno o videoscrittura che pre-senti una maschera bianca e vuota. Per il secon-do occorre un po’ di destrezza, come riportatonel proseguo dell’articolo.

L’UNICO ASPETTO NEGATIVONon c’è rosa senza spine. Esiste, ahimè, unpiccolo neo nell’intera procedura. Questo èrappresentato dal tempo di esposizione, cheè molto elevato. La luminosità di un monitor

U na simpatica ed economica

alternativa all’utilizzo di un

bromografo tradizionale... ed i

risultati sono eccellenti!

Pra

tic

a

88

Un bromografo

TEORIA RISORSE SPECIALEPRATICAFA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 89: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

molto speciale

è infatti di gran lunga inferiore a quella di uncomune tubo al neon.In particolare, il tempo medio da rispettare,affinché la basetta risulti correttamente espo-sta e impressionata, è di circa 6 ore!

Sicuramente il 90% dei lettori, leggendo taleparametro, avrà già girato pagina per passareal successivo articolo. Per i più fedeli diciamoinvece che il metodo presenta alcune caratte-ristiche che rendono il prodotto finale degnodel più costoso bromografo esistente in com-mercio.Infatti la luce, essendo erogata a “fuocolento”, concorre a fornire il suo contributo inmaniera molto dolce, inoltre, la perfetta uni-formità di illuminazione garantisce al 100%l’ottima riuscita della basetta con risultatidavvero professionali, permettendo altresì lacreazione di piste molto sottili.Ho provato ad incidere alcune piste spesseanche meno di mezzo millimetro con eccel-lenti risultati.

LO USO O NON LO USO?Dopo aver metabolizzato lo shock riguardo iltempo occorrente per l’esposizione, possiamoaffermare quanto segue: se lo sperimentatorenon dispone di un bromografo ma ha un moni-tor in casa, non ha particolarmente fretta evuole un risultato assolutamenteperfetto, allora può utilizzarecon pieno successo il metodoproposto in queste pagine.

CONDIZIONIPRELIMINARINaturalmente per la riuscita otti-male della procedura occorreseguire scrupolosamente ognifase di lavoro e, soprattutto, chegli “ingredienti” utilizzati sianorispettati. In particolare:

• Il master trasparente deve essere molto con-trastato, ciò significa che la zona stampatadeve essere la più “nera” possibile e la zonalibera deve essere assolutamente trasparente.

• Il master deve aderire perfettamente al moni-tor ed alla basetta, ma di questo ne parleremopiù avanti.

• Il monitor deve visualizzare solo una scherma-ta di colore bianco.

• La luminosità dello schermo deve essere rego-lata al massimo del suo livello.

• Non devono essere naturalmente in esecuzio-ne “salva schermi” che possano ostacolare ilprocesso di impressione.

• L’illuminazione deve durare almeno 6 ore.

AL LAVORO!Bene, adesso che abbiamo indicato i punti piùimportanti, possiamo iniziare a collaudare ilmetodo, per poi verificarne i risultati finali.

Primo passo: creazione del master

Il primo passo da compiere è, naturalmente,quello della preparazione del master. Occorrepredisporre allo scopo un foglio trasparente sucui si deve tracciare il circuito, in modo che que-sto sia ben contrastato con il resto dello spazio.Si può utilizzare tanto la stampante laser quan-to quella a getto d’inchiostro. L’importante che

Pra

tica

89

di Giovanni Di Maria

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 1 l master di prova (scala 1:1)

Page 90: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

le piste siano nere e, soprattutto, non lascinopassare alcuna luce. In alternativa si possonopreparare due master identici e poi sovrapporliin maniera perfetta, allo scopo di aumentarne ilcontrasto e la relativa opacità. In figura 1 è raf-figurato il master di prova indicante, tra l’altro,gli spessori delle relative piste.

Secondo passo: esposizione

Il secondo passo è quello più delicato ed impor-tante. Si tratta dell’esposizione della basetta foto-sensibile alla luce, quanto più uniforme possibile.Occorre a questo proposito togliere la carta pro-tettiva che ricopre il rame fotosensibile e sotto-

porlo alla luce del monitor, intercalata dalla pre-senza del master stampato. In altre parole, ilfoglio trasparente deve trovarsi tra il vetro delmonitor e la basetta dal lato rame. É indispensa-bile che questa sia a stretto contatto con il vetrodel monitor e, soprattutto, che il master aderi-sca perfettamente al rame durante il tempodella procedura. A tale scopo le soluzioni possi-bili sono almeno tre:• Utilizzare una speciale morsa auto-costruita per

la perfetta aderenza della basetta (figure 2-5).• Usare un vecchio monitor con il vetro rivolto

verso l’alto e poggiare la basetta, pressata daalcuni pesi.

Un bromografo molto speciale

Pra

tic

a

90

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Figura 2 La speciale morsa in azione

Figura 3 La speciale morsa in azione

Figura 4 Particolare della morsa

Figura 5 Particolare della morsa

Page 91: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

• Adoperare una grossa fascia elastica in modo datenere decisamente ferma ed aderente la basetta.

Nel primo caso occorre realizzare una specialemorsa, le cui misure potranno cambiare secon-do le proprie esigenze. La funzione dellamorsa è proprio quella di tenere la basettaben aderente al monitor, e ciò è possibile gra-zie alle numerose viti ad occhiello che “serra-no”, secondo i casi, il nuovo circuito stampa-to al vetro. Le figure 2 e 3 illustrano la morsadurante l’esposizione. Le figure 4 e 5 mostra-no invece alcuni dettagli.

Nel secondo caso è sufficiente disporre il vec-chio monitor in modo che la superficie di vetrosia rivolta verso l’alto. Basterà poi pressare labasetta con l’ausilio di alcuni pesi collocati alposto giusto (figura 6).

Nel terzo caso basta utilizzare una grossafascia elastica in modo da tenere ben aderen-te la basetta. La figura 7 illustra chiaramentequesto metodo.

Personalmente i migliori risultati li ho ottenutiutilizzando il primo metodo, anche se comun-que il lettore potrà trovare quello più congenia-le alle proprie esigenze.Purtroppo, come detto prima, l’unico aspettonegativo del metodo è rappresentato dal tempo

di esposizione, considerevolmente lungo. Infattila procedura dovrebbe concludersi in circa 6ore, nei quali il monitor del PC deve essere sem-pre acceso. Anche l’immagine dello stesso èimportante, occorre infatti scegliere uno sfondocompletamente bianco ed al massimo della sualuminosità. Basta aprire un qualsiasi programmadi videoscrittura o di disegno per ottenere unosfondo realmente bianco.Al termine si potrà intravedere sulla basetta unaimmagine non molto distinta delle piste: è quel-la che si dice “immagine latente” che deve esse-re ancora sviluppata, come spiegato nel succes-sivo paragrafo.

Terzo passo: sviluppo

Con lo sviluppo, la reale immagine del circuitostampato è resa totalmente visibile. Si trattadello strato di photoresist che, non impressiona-to dalla luce, continua il suo lavoro di protezio-ne sul rame. Al contrario il resto dello stratoviene completamente rimosso.In pratica occorre immergere la basetta in unasoluzione di acqua tiepida (un litro) e un cuc-chiaino di soda caustica (usate dei guanti ingomma nel maneggiare la soda). Agitando lastessa si potrà osservare lo scioglimento gradua-le del photoresist in eccesso e la conseguentevisualizzazione delle piste.In figura 8 è riportata la basetta immediatamen-te dopo lo sviluppo. Si noti come siano ben visi-

Pra

tica

91

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Figura 6 La basetta in pressione sul monitor Figura 7 La fascia elastica che regge la basetta

Page 92: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

bili ed equamente esposte le piste, compresequelle di minime dimensioni.

Quarto passo: incisione

L’ultimo passo è quello della incisione, ossiadella rimozione del rame in eccesso da parte diun agente chimico, quale il percloruro ferrico.Non appena la basetta ha superato la fase dellosviluppo, la si può immergere nella soluzioneleggermente tiepida, per accelerare enorme-mente il processo. Con un leggero movimento,il rame viene corroso ancora più velocemente.In figura 9 possiamo vedere la basetta perfetta-mente incisa dal percloruro ferrico. Anche lepiste strette sono molto nitide e senza interru-zioni elettriche.

CONSIGLI E CONCLUSIONICome si è visto, il metodo proposto prometterisultati stupefacenti, anche per il fatto che laluce impressiona la lastra molto lentamente,senza possibilità di sovraesposizioni.Elenchiamo in conclusione alcuni punti sui qualiil lettore può meditare e, soprattutto, sperimen-tare nuove soluzioni:• La curvatura del monitor implica un’accura-

ta flessione della basetta, che deve risultareperfettamente aderente ad esso.

• Con il metodo proposto, la luce è realmentediffusa ed omogenea in tutte le parti dellabasetta.

• I tempi di esposizione potrebbero sensibil-mente cambiare da monitor a monitor; inogni caso si consiglia di regolare la lumino-sità al massimo.

• Anche se i tempi di attesa potranno sembra-re un po’ lunghi, certamente vale la pena diattendere per ottenere dei risultati più chelusinghieri.

• Se si dispone di un monitor CRT a schermopiatto (flatron), il risultato sarà ancoramigliore e la basetta può perfettamente ade-rire al vetro con molta facilità.

• Si può utilizzare anche un vecchio monitorin bianco e nero.

• Si “sconsiglia” del tutto l’utilizzo dei monitorpiatti LCD TFT, poiché lo schermo plasticopuò essere facilmente soggetto a graffiaturepermanenti.

Il fallimento del processo di fotoincisione (utiliz-zando i normali bromografi) non è sempre daaddebitare alla scarsa qualità delle basette o alleerrate percentuali quantitative dei prodotti uti-lizzati. La maggior parte delle volte la colpa è daattribuire semplicemente alla mancata uniformi-

tà della luce che colpisce la pia-stra ramata.Con il sistema proposto in que-ste pagine si elimina tale proble-ma, ed è garantita in ogni caso ladistribuzione omogenea dellaluce. Non è detto infine che sidebba utilizzare sempre questometodo, ma sapere che esso puòcostituire un’utile alternativa èsicuramente un aspetto da tene-re in considerazione.É sempre conveniente infatticonoscere tante soluzioni e uti-lizzare quella che più ci aggradae ci soddisfa, considerando chequesto procedimento costituisceun’alternativa d’emergenza daadottare in caso di bisogno.Buona fotoincisione a tutti!

Codice MIP 252088

Un bromografo molto speciale

Pra

tic

a

92

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6TEORIA RISORSE SPECIALEPRATICA

Figura 8 La basetta dopo lo sviluppo

Figura 9 La basetta dopo la sua incisione

Page 93: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

PRODOTTI 2006PICmicro™

La lettura di questo libro è consigliata per conoscere a fondoi PICmicro seguendo un percorso estremamente pratico estimolante. Il testo descrive l’uso di MPLAB®, e descrive, inmaniera approfondita, tutte le istruzioni assembler e moltedelle direttive del compilatore. Al testo è allegato un utilissimoCDROM che, oltre ai sorgenti e gli schemi dei progettipresentati nel testo, contiene moltissimi programmi di utilitàe molta documentazione.

COD. FE-18 € 29,00 (con CD-ROM)

Linguaggio ANSI C

Questo nuovissimo libro descrive le tecniche, gliaccorgimenti migliori per sfruttare gli aspetti di “alto ebasso livello” del C, entrambi fondamentali quando sivuole sviluppare del firmware per sistemi dotati di risorselimitate. Il testo è particolarmente indicato sia a chi ha giàesperienza nella programmazione in assembler di sistemi amicrocontrollore ed intende iniziare ad utilizzare il linguaggioC, sia per chi conosce già il C e vuole avvicinarsi alla

programmazione dei sistemi embedded.

COD. FE-25 € 24,90

33 Uscite di Fare Elettonica in 3 CD-ROM!

Le annate complete in formato PDF. Potrai sfogliare comodamente tuttele riviste e stampare (senza perdere in qualità) gli articoli di tuo interesse.Ogni CD-ROM contiene anche software, codice sorgente, circuiti stampatie tutto il materiale necessario per la realizzazione dei progetti proposti.

• Acquistali singolarmente a € 30,00 cad.

• Acquista i 3 CD al prezzo scontato di € 48,00

con un risparmio di ben € 42,00!

La raccolta completa degli articoli sulle smartcard in formato PDF

Gli articoli, i progetti e i download relativi agli articoli sulle Smartcard in un unico CD-ROMpronto da consultare ed utilizzare. Contiene i progetti completi del lettore di smartcardUniReader e del SimCopier per duplicare il contenuto della rubrica della vostra Sim card.

COD. FE-SMARTCARD € 15,90

Tutto sulle Smartcard

Ordinali subito su www.farelettronica.com oppure

telefona al numero 02.66504755

Display LCD

Questo libro di successo (oltre 2000 copie vendute)rappresenta una delle migliori guide all’utilizzo dei modulialfanumerici basati sul controller HD44780, moduli graficicon controller KS0108 e non solo. Il testo tratta anche idisplay LED a sette segmenti e i display LCD passivi.Numerosi gli esempi pratici di impiego dei vari dispositivi:dal contatore a 7 segmenti al termometro LCD fino alpilotaggio dei moduli alfanumerici mediante PICmicro e PC.

COD. FE-06 € 16,50

BASIC per PIC

Un volume indispensabile sia per chi si avvicina alla programma-zione dei PIC utilizzando il linguaggio Basic, sia per chi intendeaffinare le proprie tecniche di programmazione. Una guida allaprogrammazione embedded utilizzando MikroBASIC, uno deipiù completi compilatori per PIC dotato di ambiente IDE emoltissime funzioni di libreria. La trattazione vi guiderà dallasemplice accensione di un LED alla gestione di motori in PWM,alla lettura e scrittura di memorie I2C, alla generazione di suoni

seguendo un percorso semplice e ricchissimo di esempi pratici.

Di prossima pubblicazione

Annate 2003/2004/2005

PIC® Microcontroller By Example

Il corso completo PIC® Microcontroller By Example in formato PDF

Tutte le lezioni pronte per la consultazione con i sorgenti dei progetti immediatamenteutilizzabili nelle tue applicazioni. Il modo migliore per avere sempre sottomano la soluzioneper il tuo progetto con i PICmicro®. Il CD-ROM PIC® Microcontroller By Example contieneuna sezione “Contenuti Speciali” tutta da scoprire.

COD. FE-PBE € 15,90

Co

dic

e M

IP 2

52

09

3

Page 94: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Come abbiamo visto nelle puntate precedentila via più semplice, per ottenere una correntealternata a partire da quella continua, è diporre in conduzione i dispositivi di potenza perun certo lasso di tempo (turn-on), intervallan-do la chiusura degli stessi con un periodo incui nessuno dei due dispositivi è attivo (deadtime); questo è vero soprattutto per la configu-razione push-pull (che abbiamo utilizzato negliesempi pratici) ma costituisce un criterio validoanche per altre configurazioni. Dato che perònon sempre una forma d’onda step-wave (oparzializzata) è utilizzabile per tutti i tipi di uti-lizzatori si deve per forza disporre di una formad’onda sinusoidale uguale a quella di rete inmodo da non creare problemi a tutte quelleapparecchiature progettate e costruite per fun-zionare in regime sinusoidale. In questa punta-ta, dopo alcune considerazioni quantitative,affronteremo la questione tecnica e, con unsemplice esperimento, vedremo come ottene-re una sinusoide (non di potenza) del tuttosimile a una sinusoide utilizzata come formad’onda modulante.L’acronimo sta per Pulse Width Modulation,

cioè modulazione della lunghezza dell’impul-so. Questo vuol dire che la lunghezza di impul-so - o durata dell'impulso – determina la ten-sione efficace di un impulso di ampiezza fissa edurata appunto variabile secondo il valoreistantaneo della forma d’onda modulante. Inquesto modo si ottiene una perfetta linearitàtra valore della tensione e durata dell'impulso,con il vantaggio che i dispositivi di potenzafunzionano in regime di commutazione. Datoche questi possono assumere solo lo stato diinterdizione (Turn off) o di saturazione (Turnon) la potenza dissipata è rappresentata prati-camente solo dalle perdite di conduzione deidispositivi impiegati (VCEsat per i BJT e IGBT, RDSon

per i mosfet), dal tempo di attraversamentodella regione attiva (sostanzialmente il tempodi commutazione), oltre alla potenza necessa-ria per il pilotaggio dei dispositivi stessi, chenel caso di IGBT e mosfet è, dal punto di vistadel bilancio energetico, assai modesta e, tuttosommato, trascurabile.Per quanto detto lo scopo della modulazionePWM è quello di ricostruire la forma d’ondamodulante (che nel caso di inverter o UPS èuna sinusoide a frequenza ed ampiezza fissa)

N elle puntate precedenti è

stato illustrato come

alimentare un carico con un’onda

step-wave generata da una

configurazione push-pull.

Non tutti gli utilizzatori supportano

però questo tipo di alimentazione,

in questi casi si deve disporre di

una sinusoide simile a quella di

rete. Ecco come fare.

Te

oria

94

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Seconda parte

n° 251 - Maggio 2006

La conversione CC-AC

Terza parte

n° 252 - Giugno 2006

La modulazione PWM

Quarta parte

n° 253/254 - Luglio/Agosto 2006

Progetto di un UPS Step-Wave

UPSBy Example

Figura 1 Sinusoide ottenuta da uno stadio di potenza in Classe B

Page 95: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

senza che si verifichino perdite consistenti dienergia. Vediamo di spiegare meglio; suppo-niamo di voler ottenere una tensione sinusoi-dale a partire da una tensione continua (Vcc).Utilizzando tecniche lineari si potrebbe realiz-zare uno stadio di potenza in classe B alimen-tato da una tensione specifica e pilotato inmaniera adeguata tale che la sinusoide in usci-ta risulti della massima ampiezza indistorta;otterremmo il risultato di figura 1.

Come è facile vedere il rendimento è condizio-nato dal fatto che la potenza trasferita al cari-co è rappresentata dal prodotto di due gran-dezze sinusoidali (tensione e corrente efficaci)mentre la potenza erogata dal generatoreavviene a tensione fissa (Vcc) e corrente sinu-soidale. Dal punto di vista analitico, supponen-do che il valore di picco della tensione siauguale alla tensione di alimentazione (sfruttan-do cioè tutta la retta di carico) e che le perditedei dispositivi di potenza siano nulle, la poten-za erogata dal generatore è data dal prodottotra la tensione costante e la corrente mediasinusoidale. Dato che il valor medio della sinu-soide è:

Im=2Ip/p

La potenza erogata dal generatore vale:

Pg = Vcc Im = Vcc 2Ip/p

La potenza erogata al carico è data dalla rela-zione:

P =Veff Ieff = Vcc Ip /2

Il rendimento si calcola allora come il rapportotra le due potenze:

q = P/ Pg = p/4 = 0,785 = 78,5%

da queste relazioni vediamo che il rendimentomassimo è lontano dal valore unitario e, inrealtà, diminuisce ulteriormente a causa di fat-tori quali:

• Le perdite dovute ai dispositivi di potenzache si traducono nel riscaldamento e conse-guente dissipazione di calore degli stessi.

• L’impossibilità pratica di funzionare alla mas-sima ampiezza ammissibile, cioè con valoredi picco uguale alla Vcc.

• Necessità di polarizzare i dispositivi di poten-za per evitare l’insorgere della distorsione diincrocio con conseguente ed ulteriore sprecodi energia.

Ciò fa si che in realtà il rendimento si aggiranel migliore dei casi a circa il 60%.Considerando che le potenze che gli UPSdevono fornire ai normali utilizzatori civilivanno dai 300 ai 5000 Watt (per restare in unambito Office Automation) un rendimentoinferiore al 70% è tale da limitare le applica-zioni lineari a apparecchiature di potenzamolto bassa e dove la semplicità circuitale èirrinunciabile.La modulazione PWM risolve in gran parte lelimitazioni intrinseche delle tecniche lineari inquanto questa fa si che il periodo di conduzio-ne dei dispositivi di potenza è molto più brevepoiché la frequenza, diciamo così, portante èdi diversi ordini di grandezza più elevata della50 Hz che ci proponiamo di ottenere.Dato il carattere pratico di questa serie di arti-coli al quale non siamo disposti a rinunciarepassiamo ad uno schema applicativo finalizza-to alla sperimentazione; vediamo insieme lafigura 2. Lo schema elettrico ricalca quello del-l’inverter proposto la scorsa puntata ma visono alcune importanti differenze.La prima è che la frequenza di oscillazione delPWM, e quindi il dente di sega presente sul

Te

oria

95

La modulazione

PWM

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

di Massimo Di Marco

Page 96: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

piedino 10 dell’IC 3526, non è direttamentecorrelata con la frequenza d’uscita dell’inverterma assume adesso un valore molto superioreche, con i valori specificati in figura 2 relativi aCT e RT , si aggira attorno ai 70 KHz. Quandotale frequenza non è in alcun modo correlatacon la frequenza modulante, come in questocaso, l’oscillatore del PWM modulator proce-de, come si suol dire, in free running, cosa chenon comporta alcun problema pratico data lagrande differenza tra le due frequenze. Non èovviamente necessario disporre di un trimmerper la regolazione fine della frequenza e quin-di è stato abolito e sostituito con un resistoreda 8,2ko.Per ottenere un’ampiezza più elevata possibilele due uscite del PWM modulator sono statesommate mediante due diodi in modo tale chel’impulso risultante può raggiungere un duty

cicle prossimo al 90% e limitato dall’appositoresistore di dead time collegato al pin 11. Se le

uscite non si connettono in questo modo e sipreleva il segnale modulato solo da una diqueste il duty cicle raggiunge al massimo unvalore prossimo al 50% -con le solite limitazio-ni- e l’ampiezza del segnale risultante filtratorisulta dimezzata. Dopo il gate driver è posto ilfiltro vero e proprio realizzato con una sempli-ce cella LC asimmetrica riferita a massa; cari-cando opportunamente l’uscita del filtro sipotrà osservare una sinusoide pressoché indi-storta e con una ampiezza di circa 10 voltpicco-picco, alimentando il tutto a 12 volt.Spingendo l’uscita oltre questo valore la sinu-soide viene tagliata e la distorsione cresce rapi-damente (figura 6). La limitazione in ampiezzaè essenzialmente dovuta a due fattori: il primoe più importante, per la limitazione del duty

cicle, che è bene non spingere mai a valoriprossimi al 100%, l’altro dalla tensione di satu-razione (in questo caso del gate driver) dovutaalla RDSon intrinseca del dispositivo di potenza.

Te

oria

96

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Terza parte UPS by Example: La modulazione PWM

RISORSE SPECIALE PRATICATEORIA

Figura 2 Circuito sperimentale utilizzato per la modulazione in PWM della sinusoide a 50 Hz

Figura 3 Sinusoide modulante (traccia superiore) uscita del PWM(traccia inferiore)

Figura 4 Stessa sinusoide con uscita filtrata

Page 97: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252097

Page 98: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

98

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Terza parte UPS by Example: La modulazione PWM

RISORSE SPECIALE PRATICATEORIA

Come simulare un carico a 230 V

Quando si deve collaudare un inverter o un UPS si pone il problema di caricare l’uscita a220/230 Volt in maniera sicura e graduale. La soluzione più semplice è quella di montare suuna tavola di legno, o altro materiale isolante, un certo numero di lampadine, ad esempio da40W ciascuna, parallelabili mediante interruttori. Il risultato è quello di figura 10, dove 10 lam-pade a filamento da 40 W ciascuna vengono inserite individualmente in modo da arrivare adun massimo di 400 W (a passi di 40 W) quando sono tutte collegate ai morsetti. Il sistema risul-ta però un po’ macchinoso poiché non c’è modo di inserire un carico superiore senza chiude-re un numero equivalente di interruttori.

Un altro sistema molto più interessante è rappresentato dai carichi pesati secondo un procedi-mento del tutto simile a quello del codice binario 8421. Vediamo di comprendere meglio laquestione; se voglio disporre di un carico minimo di 50W e che cresce a passi di 50 W possia-mo utilizzare 4 lampade (o resistori di potenza) da 50, 100, 200, 400 W e inserirle alla linea delcarico mediante il codice binario, come visibile nella figura 11.

Il procedimento mi sembra del tutto chiaro ed evidente. In questo modo anziché impiegare unnumero consistente di interruttori e lampade (o resistori) con soli 4 interruttori e lo stessonumero di lampade otteniamo un risultato senz’altro più funzionale e pratico. L’unica compli-cazione che il sistema a lampade comporta è che, quando il filamento al tungsteno è freddo(all’accensione), presenta una resistenza più bassa e sovraccarica per un breve istante l‘inver-ter; inoltre la luce emessa durante le prove può dare molto fastidio per cui è consigliabile opta-re per un carico a resistori dove tutta l’energia viene trasformata in calore. Viene dunque pro-posto un carico a resistori, peraltro tutti dello stesso valore di 1Ko(2). Se decidete di realizzare ilcarico a resistori vi consiglio di utilizzare resistori del tipo blindato da 50W (meglio se 100Wma costano decisamente di più) facilmente e saldamente fissabili sul dissipatore (che deve esse-re abbondante, con 750 W complessivi ci fate una stufa!). Inoltre, se avete un po’ di pazienza,potete sostituire gli interruttori con dei relé a 12 Volt che potete pilotare con un contatore bina-rio a 4 bit della serie 4000 oppure direttamente con dei Contraves (a codice binario) da pan-nello. Se poi ci mettete anche un voltmetro e un amperometro otterrete un valido strumentodi laboratorio che, vi assicuro, è insostituibile per chi lavora con Inverter ed UPS. (2) Con questo valore resistivo l’esatta corrispondenza della potenza nominale con i valori resistivi dati si ottiene a

223,6 Volt efficaci, come si può facilmente dedurre dalla formula:

P= V 2/ R 50 = V 2/ 1000 da cui V =r50000 = 223.6

A 220 volt eff. si ottiene P= 48400 / 1000 = 48,4 W e così via.

Figura 10 Carico costituito da comuni lampade a filamento

Figura 11 Carico a resistori pesati

Page 99: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

99Scollegando uno dei due diodi relativi alle usci-te l’ampiezza tenderà a dimezzarsi, ampiezzache può essere regolata o agendo sulla retroa-zione (resistore di feed) oppure sull’ampiezzadel segnale d’ingresso.

Vi è inoltre un motivo molto importante cheimpone di non regolare al massimo l’ampiezzadella sinusoide negli inverter o negli UPS cheutilizzano questa tecnica; infatti, qualunque siala potenza erogabile, la resistenza interna di ungeneratore in PWM sarà sempre non trascura-bile e quindi l’ampiezza risulterà variabile aseconda della corrente richiesta. Dato che stia-mo parlando di un sistema ad anello chiuso, laretroazione provvederà ad innalzare l’ampiez-za della sinusoide in modo tale da compensa-re la caduta di tensione; se il PWM lavora già al

massimo questa regolazione non sarà più pos-sibile e la sinusoide tenderà a distorcere forte-mente anche in funzione della reattività (indut-tiva o capacitiva, in ogni caso sfasante) delcarico. Come si vede bisogna sempre ragiona-re sulle problematiche e conoscere il più possi-bile tutti i vari aspetti del comportamento diun circuito complesso come può essere quellodi un sistema di continuità d’alimentazione.Per utilizzare questo circuito come base speri-mentale ed effettuare misure e quant’altroconcerne possibili sviluppi è stata prevista lapossibilità di provare il circuito di protezione(piedini Cs+ e Cs-), come ad esempio la sogliadi intervento, la durata minima dell’impulso dicorrente, ecc. Il resistore Rs da 10o permetteal circuito di funzionare normalmente ma, unavolta rimosso questo componente, si può pola-

Figura 5 Stessi segnali della figura 3 ma con base dei tempi moltoespansa; in tal modo si cominciano a vedere gli impulsi didiversa durata

Figura 6 Sinusoide con una evidente distorsione (Clipping). Ciò suverifica quando la durata degli impulsi raggiungeprematuramente il valore massimo consentito

Co

dic

e M

IP 2

52

09

9

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Page 100: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

100

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Terza parte UPS by Example: La modulazione PWM

RISORSE SPECIALE PRATICATEORIA

rizzare il piedino Cs+ mediante un partitore esaggiarne il comportamento.Nelle figure oscillografiche seguenti sonomostrate le varie tracce relative al circuito difigura 2; nella figura 3 sono riportate la sinu-soide d’ingresso (modulante) e il segnale rela-tivo ad un’uscita del PWM modulator. Come sivede gli impulsi sono molto densi e si interrom-pono solo in fase con l’ultimo tratto discen-dente della sinusoide (ciò è dovuto anche alla

mancanza del carico). Nella figura 4 lo stessosegnale ma dopo il filtro LC; infine nella figura5 la base dei tempi è stata allargata in modotale da intravedere gli impulsi con durata viavia crescente in relazione al tratto di sinusoide(traccia superiore). In fig. 6 si può osservarel’effetto della saturazione della modulazione,come detto prima; nelle figure 7 e 8 sonoriportati gli oscillogrammi relativi rispettiva-mente al minimo ed al massimo duty cicle, cioè

Figura 9 Stadio di potenza dell’inverter con due mosfet aggiuntivi usati come sensori di corrente

Figura 7 Impulsi del PWM al valore minimo: la traccia superiore è lasinusoide a 50Hz che a causa dell’espansione della base deitempi appare come un tratto quasi rettilineo

Figura 8 Impulsi del PWM al valore massimo: la traccia superiore èla sinusoide a 50Hz al suo valore di picco massimo

Page 101: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

101

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

L’EX-Sense ovvero Current sensing power-mos

Come abbiamo visto in precedenza la ricerca di soluzioni non dissipative per il controllo della cor-rente ha portato all’utilizzo di un p-mos ausiliario preposto alla rilevazione della corrente. La solu-zione è non dissipativa in quanto la corrente che scorre nel p-mos aggiuntivo rappresenta unaminima parte di quella in gioco nel dispositivo di potenza vero e proprio. La possibilità da partedei produttori di integrare il mosfet ausiliario nello stesso case del power mosfet vero e proprioha dato vita ad una generazione di dispositivi che semplifica la realizzazione degli stadi di poten-za, rendendo i dispositivi intrinsecamente protetti.La corrente viene determinata dalla RDSon del p-mos ausiliario e da altre caratteristiche intrinseche. Lacorrente che attraversa il mosfet ausiliario è chiamata dai costruttori “Mirror Current”, mentre il rap-porto tra la corrente effettiva che attraversa il p-mos principale e quella scorrente nel p-mos ausilia-rio è definita come Current Ratio. Conoscendo questo parametro e la tensione di soglia del PWMcontroller è facile determinare il valore del resistore di sensing. Esaminando i data sheet dei costrut-tori apprendiamo che il Current Ratio è dell’ordine delle migliaia; ad esempio per l’IRC540 di IR (deltutto simile all’IRF540) viene dichiarato un valore che va da 2500 a circa 2800. Volendo determina-re il valore del resistore di sensing posto in serie al dispositivo, conoscendo il Current Ratio CR, la ten-sione Vp sufficiente a pilotare il circuito di protezione e la corrente di carico Iload, si ha:

Vp · CR

Rsense = -------------

Iload

Questa relazione fornisce un valore approssimato ma abbastanza realistico del resistore di sen-sing, sebbene la relazione che determina il valore della corrente di sensing è un po’ più compli-cata. Ciò è dovuto al fatto che il comportamento reale dei due dispositivi integrati in un substra-to comune non è così semplice. Inoltre il fatto che i gate siano collegati in parallelo, senza quindi la possibilità di interporre unresistore opportunamente dimensionato, determina un leggero aumento della capacità di gaterispetto al componente singolo di uguali caratteristiche (unitamente a variazioni apprezzabili dellealtre capacità). In ogni caso il lettore può se vuole approfondire l’argomento prendendo visionedei data sheet ed in particolare l’Application note AND8093/D edita dalla ON Semiconductor sca-ricabile dal sito ufficiale www.onsemi.com. Bisogna precisare che nell’EX-Sense mosfet i gate e i drain sono collegati assieme mentre i termi-nali di source dei due mos sono sdoppiati (anche se il terminale Kelvin è connesso al source delmos di potenza e vanno saldati assieme sul circuito stampato onde minimizzare la resistenzaparassita delle piste di massa e gli effetti induttivi del terminale si source). Per concludere, possiamo dire che questo tipo di componente è stato pensato per risolvere il pro-blema del rilevamento della corrente senza che si verifichino consistenti perdite di energia, da cuila definizione di Lossless Current Sensing.

i valori minimo e massimo della zona lineare dimodulazione.

Date le frequenze di commutazione vi consi-glio vivamente di bypassare opportunamentela Vcc con un condensatore da 1000mF sullepiste d’alimentazione del circuito stampato (seve la sentite di realizzarlo) o sui fili del cablag-gio (se adoperate un sistema di cablaggio inaria o su millefiori) e provvedendo all’inseri-mento di capacità da 100nF in poliestere vici-no i piedini di alimentazione dei chip.

Up-grade dell’inverter presentato

nella seconda puntata

Nella puntata precedente abbiamo affrontato larealizzazione di un inverter per uso generico fun-zionante a 12 volt. Per realizzare una protezionecontro il corto circuito si è ricorso ad un sensingdi corrente che utilizzava un resistore di bassissi-mo (ma non trascurabile ai fini della dissipazione)valore resistivo ottenuto con un semplice ponti-cello di filo di rame; con questo sistema il resisto-re così ottenuto presentava una resistenza di 5-10 mo, sufficiente ad attivare l’apposito circuito

Page 102: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

102

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

Terza parte UPS by Example: La modulazione PWM

RISORSE SPECIALE PRATICATEORIA

di controllo presente nell’SG 3526 a partire dauna potenza di circa 300 Watt; con 10 mo sononecessari circa 12 A. per provocare la caduta ditensione necessaria all’attivazione della protezio-ne che si aggira attorno ai 120 mV. Questi, puressendo valori di resistenza molto bassi, implica-no riscaldamenti abbastanza elevati (consideran-do le alte correnti in gioco), con conseguenteperdita di rendimento.

Una soluzione molto funzionale ed efficace alproblema della dissipazione causata dai resi-stori di sensing è rappresentata dall’inserimen-to in parallelo ai p-mos di potenza di due p-mos ausiliari, ovviamente uno per ramo, dipotenza decisamente più bassa ma in gradotuttavia di rilevare una corrente molto inferio-re, in quanto rilevata da un resistore di diversiordini di grandezza più elevato (1 o o più) diquello utilizzato nel ramo di potenza della ver-sione precedente. Inoltre il rendimento non nerisente che in minima parte poiché la correnteche scorre in questi rami risulta quasi del tuttotrascurabile rispetto a quella nominale gestitadai dispositivi di potenza. In questo modo laregolazione della corrente massima, tramitel’apposito trimmer, può iniziare da valori deci-samente più bassi e con una gradualità dell’in-tervento molto più lineare. Lo schema cosìottenuto è quello di figura 2; i due p-mos(sempre a canale N) aggiuntivi sono collegaticoncettualmente in parallelo ai dispositivi dipotenza veri e propri ma, in realtà il gate è col-legato mediante un resistore (R27 ed R28) divalore leggermente più alto dei corrispondentiresistori di gate (indispensabili per compensarele inevitabili differenze dei dispositivi posti inparallelo), mentre il source è collegato a massamediante il resistore di sensing della corrente(spesso chiamato In-Rush Resistor). Il valore diquesto consente il passaggio di una corrente,come già detto, praticamente trascurabile epertanto Q7 e Q8 non necessitano di dissipa-tore. La corrente rilevata per mezzo di R10 edR11 è applicata mediante due resistori R19 edR21 al piedini 7 dell’IC e il trimmer R26 funzio-na da partitore di tensione. La funzione di R24è quella di impedire che, portando il trimmerad un valore di resistenza nullo, il segnale dicorrente venga cortocircuitato a massa, annul-

lando così di fatto la limitazione in corrente edesponendo in tal modo i dispositivi di potenzaal rischio di rottura (nel caso di un corto circui-to in uscita). Il suo valore va fissato sperimen-talmente determinando la potenza massimache si vuole ottenere dall’apparecchiatura,tenendo conto delle massime potenze gestibi-li dai mosfet.Vorrei spendere a questo punto qualche paro-la sui resistori R27 ed R28: in questa configura-zione l’aggiunta di altra coppia di dispositivinon fa che aumentare la capacità di ingressocomplessiva risultante dal parallelo di più p-mos. Questo fatto non deve essere trascuratopoiché ciò comporta un tempo di commuta-zione più lungo che espone i dispositivi alrischio di rottura (si veda il riquadro di appro-fondimento); infatti, durante questa fase ditransizione (il passaggio cioè dall’interdizionealla conduzione), si attraversa l’area attiva dellacaratteristica I-V, con possibilità tutt’altro cheremota di fuoriuscire dalla SOA ed esporre intal modo il dispositivo di potenza al rischio dirottura. Anche in questo caso l’utilizzo dei gate

driver si rivela assai utile. Nel nostro schema i fattori positivi da questopunto di vista sono rappresentati dal fatto che:• Le resistenze di gate hanno valori abbastanza

bassi e tali da minimizzare la costante ditempo R · Cg (Cg =Capacità di gate).

• La bassa resistenza interna unitamente adun’alta capacità di corrente del IC gate driver

consente di parallelare più dispositivi senzacontroindicazioni di sorta.

In questo caso il ricorso ad un apposito IC dipilotaggio (UCC 27424) si rivela molto vantag-gioso, a dimostrazione di quanto questi dispo-sitivi siano utili e di semplice utilizzo.

CONCLUSIONE La prossima puntata, inizieremo la descrizionedel progetto di un UPS, tenendo in debita con-siderazione tutte le problematiche sin quiaffrontate. In particolare ci occuperemo delcircuito di commutazione rete/inverter cheriveste un ruolo molto importante per il buonfunzionamento dell’UPS.

Codice MIP252094

Page 103: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

La migliore Documentazione Tecnica

CD-Rom e Data Book ECA

Tel. 02 66504794 - Fax 02 66508225

i n f o @ e l e t t r o s h o p . c o m

w w w. e l e t t ro s h o p . c o m

ECA-408 OPTO-DISK 2003Contiene il database e la tabella degli equivalenti per i trasmettitori

(LED, IRED, Laser diodi, barre LED e array), ricevitori (fotodiodi e transistor,

foto resistenze, foto ICs, foto elementi, celle solari

e pyrodetectors), fotoaccoppiatori (fotodiodi,

transistor e darlington, digital Ics, amplificatori,

foto FET, SCR e foto resistenze), foto relay, foto

interruttori, sensori a riflessione (foto sensori) e

coppie di trasmettitori e ricevitori.

ECA-409 DDV-DISK 2005Contiene il database con oltre 90.000 diodi e tiri-

stori con le loro valori massimi consentiti, pin-out,

dati del costruttore e dimensioni.

ECA-407 LIN-DISK 2003Contiene il database e la tavola degli equivalenti degli amplificatori

operazionali, comparatori, stabilizzatori e regolatori. Un potente motore

di ricerca permette di interrogare il database

cercando non solo per tipo ma per costruttore,

per contenitore, pinout e voltaggio.

ECA-406 TDV-DISK 2003Oltre 100.000 transistor e FET, da A...Z, 2N21...2N7228 fino a

2...40 000...µ. Sono indicati i valori massimi e le caratteristiche,

l'assegnazione dei pin, il costruttore e le dimensioni.

Oltre alla ricerca per "tipo", il programma

consente una "ricerca selettiva" in accordo

con alcuni dati importanti, quali "potenza"

e "voltaggio".

ECA-405 CMOS/TTL-DISK 2006Contiene più di 96.000 circuiti integrati digitali CMOS 400/7400, ttl 400,

ECL (10k/100k) e T75 (interfaces) divisi in 2610 famiglie per i quali sono

specificati caratteristiche e valori massimi.

Il semplice click del mouse, sul componente selezionato,

farà apparire: lo schema interno, le dimensioni del

contenitore, specifiche dettagliate delle funzioni,

tavola della verità, informazioni sulle applicazioni,

i contenitori disponibili, il costruttore (completo di

indirizzo) e il simbolo secondo lo standard IEEE 91.

ECA VRT-DISK 2006VRT-DISK contiene il database di oltre 160,000 dispositivi diversi (transistor,

diodi, tiristori e integrati) riportandone i dati salienti, il costruttore

e - ove disponibili - i componenti equivalenti. Oltre alla

descrizione dei pin per i componenti discreti, la versione

CD-ROM contiene anche la descrizione dei pin per

tutti i componenti standard CMOS 4000/7400, TTL

7400, molti amplificatori operazionali ed alcuni

integrati Audio e Video. Mediante la "Funzione-

Note" è possibile aggiungere i dati personali a ciascun

dispositivo. Il reference manual, già popolare nella versione

data-book, permette una veloce cernita delle informazioni più dettagliate.

DATA BOOK ECA 2006VRT book è la versione cartacea in due volumi del VRT-Disk.

Contiene le tabelle comparative di oltre 130.000 componenti

tra Transistori, Tiristori, Diodi, circuiti integrati, ecc...

Audio AMP è un nuovo data-book sugli

amplificatori audio con oltre 3500 circuiti diversi.

ECA-404 MEM-DISK 2000Più di 50.000 memorie differenti, come dRAM, sRAM, EPROM,

EEPROM, FIFO e vRAM, con tutti i necessari valori e caratteristiche, pin-outs,

tavole della verità, disegno del contenitore e

costruttore (con indirizzo). Il programma consente

la creazione di 5 data-base personali, dove

memorizzare i risultati delle ricerche, questo è

utile per la comparazione dei componenti.

Codice MIP 252103

Page 104: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

15.1 GENERALITÀSi è visto che il guadagno di un amplificatorecon reazione negativa ha espressione:ACL = AOL / (1 + AOL · b) [15.1]

Poiché il denominatore (1 + AOL · b) è sempreuna grandezza positiva maggiore di uno, il gua-dagno ACL ad anello chiuso è minore del guada-gno AOL ad anello aperto.Nella reazione positiva che è alla base dei circui-ti oscillanti, per il denominatore della [15.1]può, invece, verificarsi la condizione:(1 + AOL · b) = 0 [15.2]

In questo caso il guadagno ACL espresso dalla[15.1] tenderà all’infinito. Fisicamente, il tende-re all’infinito di ACL, significa che il circuito nelquale la condizione [15.2] è verificata, è ingrado di generare un segnale in uscita anche inassenza di segnale in ingresso. Un circuito diquesto tipo è un oscillatore che, quindi, altronon è che un amplificatore selettivo nel qualeuna parte del segnale di uscita viene ricondottaall’ingresso con ampiezza opportuna e sfasa-mento nullo.L’innesco delle oscillazioni, essendo assente ilsegnale di ingresso, può essere determinatoanche da una minima tensione di rumore.Quindi, il carattere rigenerativo della reazioneautosostiene l’oscillazione.Gli oscillatori trovano un vastissimo impiego sia

S ebbene siano stati approntati

circuiti integrati dedicati a

questa funzione, è spesso più

economico e più semplice ricorrere

agli op-amp per realizzare

affidabili circuiti oscillatori.

Te

oria

104

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Quattordicesima parte

n° 251 - Maggio 2006

L’operazionalecomparatore (parte II)

Quindicesima parte

n° 252 - Giugno 2006

L’operazionale neglioscillatori (parte I)

Sedicesima parte

n° 253 - Luglio/Agosto 2006

L’operazionale neglioscillatori (parte II)

L’amplificatore

operazionale

dalla A alla Z

in alta che in bassa frequenza. In alta, per esem-pio, negli apparati ricetrasmittenti e in bassa,per esempio, nei generatori di segnale per lataratura e il collaudo degli amplificatori audioche, normalmente, attraverso l’applicazione diun segnale sinusoidale o a onda quadra, con-sentono la verifica di molteplici parametri, primifra tutti, la banda passante e il tasso di distorsio-ne. A secondo delle finalità si realizzano pertan-to oscillatori sinusoidali, a onda quadra, a dentedi sega, ecc.

15.2 GLI OSCILLATORI SINUSOIDALI.L’OSCILLATORE A SFASAMENTOUno dei più classici oscillatori sinusoidali èl’oscillatore a sfasamento di cui la figura 15.1a

espone la versione con amplificatore operazio-nale, versioneche ricalca lerealizzazioni contubi a vuoto e aBJT. Lo sfasa-mento nullo frauscita e ingressoè realizzato dalletre celle R-C che,allo sfasamentodi 180° introdot-to dall’op-ampin configurazio-ne invertente,introducono unulteriore sfasa-mento di 180° auna ben definitafrequenza fs.

Per ricavarel ’ e s p r e s s i o n edella frequenzadi oscillazione fs

è sufficiente rife-

Figura 15.1a Oscillatore a sfasamento

che fornisce in uscita un

segnale sinusoidale

Figura 15.1b Rete di sfasamento

relativa all’oscillatore di

cui alla figura 15.1a

Page 105: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

rirsi alla rete di figura 15.1b e ricavare quindil’espressione della tensione di uscita Vo in fun-zione della tensione Vi di ingresso. Introducendola semplificazione: C1 = C2 = C3 = C e R1 = R2 = R3

= R si ottiene così l’espressione:

[15.3]

Annullando quindi la parte immaginaria e risol-vendo per fs si ricava:

[15.4]

ossia:

[15.5]

Sostituendo quindi la [15.4] nella [15.3] e risol-vendo per il rapporto Vo/Vi = b (indicando con bl’attenuazione delle tre celle), si ha infine:

[15.6]

Essendo l’attenuazione b = 1/29 (il segno nega-tivo indica soltanto lo sfasamento di 180°),l’operazionale dovrà avere un’amplificazionenon inferiore a 29, ossia, con riferimento allafigura 15.1a, si dovrà imporre in ogni caso: Rf h≥29 Ri.Pertanto, per dimensionare l’oscillatore di cuialla figura 15.1a si useranno le espressioni:C = C1 = C2 = C3 g 1 / (10000 · fs) [15.7]R = R1 = R2 = R3 = 0,0649 / (fs · C) [15.8]Ri h 10 R [15.9]Rf h 29 Ri [15.10]

Volendo, per esempio, che l’oscillatore a sfasa-mento oscilli alla frequenza fs = 1 kHz, applican-do le espressioni [15.7] ÷ [15.10], si ha:C = 10 nFR = 6490 o 1 R = 6,5 ko

Te

oria

105

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6

di Nico Grilloni

L’operazionalenegli oscillatori(parte I)

Ri h 10 x 6500 = 65 ko 1 Ri = 82 koRf h 29 x 82000 = 2,378 Mo 1 Rf = 5 Mo (trimmer)

La figura 15.1c mostra il segnale Vo di uscita nel-l’oscillatore a sfasamento qui dimensionato. Ladistanza fra i marker verticali indica la frequen-za: si legge, infatti, (a – b) = 1 kHz. La distanzafra i marker orizzontali indica l’ampiezza dapicco a picco che è di circa 30 V: si legge, infat-ti (c – d) = 30,17 V.Il trimmer posto per Rf è utile al fine di centrarela condizione di innesco dell’oscillazione.

15.3 L’OSCILLATORE A PONTEDI WIENLa figura 15.2a riporta lo schema elementare diun altro oscillatore sinusoidale – l’oscillatore aponte di Wien – che sia in questa versione, sia inversione più sofisticata (con possibilità di variareampiezza e frequenza di oscillazione e con con-trollo automatico del guadagno) è senz’altro ilpiù utilizzato in banda audio poiché oltre a for-nire una distorsione molto bassa, presentaun’ottima stabilità in frequenza.La rete composta da C1 e R1 e da C2 e R2 forniscela necessaria reazione positiva, mentre le resi-stenze Ri e Rf forniscono la reazione negativa checontrolla il guadagno.

Figura 15.1c Andamento della tensione Vo di uscita nell’oscillatore

a sfasamento della figura 15.1a

Page 106: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Poiché alla frequenza fs la parteimmaginaria dell’espressione[15.11] è nulla, dalla stessa espres-sione si ricava il valore dell’attenua-zione apportata dalle celle RC:Vi / Vo = 3 [15.13]

Essendo l’attenuazione pari a 3, ènecessario che il guadagno del-l’operazionale di cui alla figura15.2a sia eguale o maggiore di 3affinché l’oscillazione, una voltainnescata, possa autosostenersi.Per dimensionare un oscillatore a

ponte di Wien si useranno, pertanto, le espressioni:C = C1 = C2 g 1 / (10000 · fs) [15.14]R = R1 = R2 = 0,159 / (fs · C) [15.15]Ri = (10 ÷ 20) R [15.16]Rf = 2 Ri [15.17]

Volendo realizzare un oscillatore a ponte di Wiensulla frequenza, per esempio, di 10 kHz, appli-cando le espressioni [15.14] ÷ [15.17], si ha:C g 1 (10000 x 10000) = 10 nF 1 C = 10 nF

R = 0,159 / (10000 x 10 x 10–9) = 1590 o

Attribuendo quindi alla Ri il valore di 27 ko(circa 17 volte il valore delle R), dalla [15.17] siricava il valore da attribuire alla resistenza Rf:

Rf = 2 x 27000 = 54 ko

La risposta dell’oscillatore qui dimensionato èesposta nella figura 15.2c. La distanza fra i mar-ker orizzontali indica l’ampiezza (18,25 V) dapicco a picco del segnale di uscita Vo, mentre ladistanza fra i marker verticali indica la frequenza.Sul diagramma si legge, infatti: (a – b) = 10 kHz.Nell’oscillatore a ponte di Wien si deve averemolta cura nel fare in modo che il guadagnodell’operazionale sia costantemente egualeall’attenuazione della rete RC che conferisce alcircuito la reazione positiva. Se infatti la reazio-ne positiva fosse maggiore della reazione nega-tiva, ossia se Rf fosse tale da fornire un guada-gno maggiore di 3, l’oscillazione si inneschereb-be, ma l’uscita tenderebbe ai valori di saturazio-ne; viceversa, se fosse maggiore la reazionenegativa, ossia se Rf fosse tale da fornire un gua-dagno dell’op-amp minore di 3, il circuito nonoscillerebbe.

Te

oria

106

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Qiundicesima parte L’amplificatore operazionale dalla A alla Z: L’operazionale negli oscillatori (parte I)

Figura 15.2a Oscillatore a ponte

di Wien

Figura 15.2b Rete a cui è utile fare

riferimento per giungere

all’espressione della

frequenza di oscillazione

dell’oscillatore di Wien

Figura 15.2c Andamento della tensione Vo nell’oscillatore a ponte di

Wien di cui alla figura 15.2a

L’espressione della frequenza di oscillazione siricava dalla rete della figura 15.2b, imponendo lacondizione semplificativa C1 = C2 = C e R1 = R2 = R.

Procedendo quindi come per l’oscillatore a sfa-samento, per il rapporto Vi/Vo si ottienel’espressione:

che può porsi nella forma:

[15.11]

Per ricavare l’espressione della frequenza fs dioscillazione è sufficiente annullare la parteimmaginaria. Si ha così:

us2 · R2 · C2 =1

e quindi:

[15.12]

Page 107: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

È pertanto opportuno ricorrere ad alcune solu-zioni che mantengano costante il guadagnodello stadio consentendo di poter controllarel’ampiezza del segnale di uscita. Si perviene aquesto risultato ponendo nel circuito di reazio-ne negativa elementi non lineari come, peresempio, una lampadina ad incandescenza, alposto della resistenza Ri. Con questa soluzionese la tensione di uscita aumenta, aumentaanche la resistenza del filamento della lampadi-na e questo incremento riporterà il guadagno alvalore iniziale. Viceversa, se la tensione di uscitadiminuisce, diminuirà pure la resistenza del fila-mento e ciò avrà come effetto un incrementodel guadagno.Un altro metodo consiste nel porre una resisten-za a coefficiente di temperatura negativo, unaNTC (Negative Temperature Coefficient), al postodella Rf. In questo caso, se la tensione di uscitaaumenta, il valore della NTC diminuisce ripor-tando il guadagno entro il limite. Avviene il vice-versa se la tensione di uscita diminuisce: aumen-

ta, infatti, il valore della NTC e ciò riporta il gua-dagno al valore prestabilito.Si fa notare, infine, che vi sono ulteriorimetodi per il controllo automatico del gua-dagno (AGC, Automatic Gain Control). Peresempio, tramite l’inserimento di un Fetposto in circuito come resistenza automatica-mente variabile sensibile alle escursioni delsegnale di uscita.

15.4 GLI OSCILLATORI NONSINUSOIDALI. IL MULTIVIBRATOREASTABILEGli oscillatori non sinusoidali sono così definitiperché in grado di generare segnali a onda qua-dra e a dente di sega e, questi ultimi, con rampesimmetriche o dissimmetriche.Realizzati in passato con tubi a vuoto, BJT e Fet,oggi si realizzano prevalentemente con circuitiintegrati dedicati, ma anche ricorrendo all’amplifi-catore operazionale.Il più classico oscillatore non sinusoidale con op-

Te

oria

107

Codice MIP 252107

Page 108: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

amp – espostonella figura15.3a – è il mul-tivibratore asta-bile che producein uscita unatensione Vo aonda quadra ilcui andamento èriportato nellafigura 15.3b.

Si può constatare che la tensione Vo varia fra+Vsat e –Vsat con una frequenza fornita, in gene-rale, dall’espressione:

[15.18]

dove b = Ri/(Ri + Rf) è, come al solito, l’attenua-zione della rete di reazione.Ponendo b = 0,462, ossia Rf = 1,164 Ri, il termi-ne logaritmico diviene eguale a 1. Con questacondizione la [15.18], si semplifica e diviene:fs = 1/(2 · Rt · Ct) = 0,5 / (Rt · Ct) [15.19]

Da questa espressione, nota la frequenza eattribuito alla capacità Ct un valore che puòdesumersi dall’applicazione della [15.14], siricava il valore da attribuire alla resistenza Rt.Quindi, imposto il valore della Ri, si calcola la Rf

dovendo essere, per l’applicazione della[15.19], Rf = 1,164 Ri. Per esempio, posto Ct ==0,033 mF, e fs = 1 kHz, tramite la [15.19] siricava il valore della resistenza Rt:Rt = 0,5/(1000 x 0,033 x 10–6) = 15,15 koRt = 15 ko

Attribuito alla Ri il valore, per esempio, di 4,7ko, per la Rf si ha:Rf = 1,164 · Ri = 1,164 x 4700 = 5470 o

Per Rf si potrà disporre, come nel circuito di figu-ra, un trimmer da 10 ko.Nella figura 15.3b si vede come la commutazio-ne dell’uscita fra +Vsat e –Vsat e fra –Vsat e +Vsat,avvenga quando la tensione ai capi del conden-satore Ct diviene pari a |bVsat|. La distanza fra imarker verticali indica la frequenza: si leggeinfatti: (a – b) = 1 kHz. La distanza fra i markerorizzontali indica l’ampiezza della tensione Vo diuscita: è (c – d) = 26,83 V.Il multivibratore di cui alla figura 15.3a ècomunque un circuito di base a cui è possibileapportare molteplici modifiche in funzione dellefinalità del progetto.Per esempio, la figura 15.4a, riporta lo stessomultivibratore a cui sono stati aggiunti duediodi zener in uscita con la funzione di limitarel’escursione della Vo.

In pratica sono qui disponibili due livelli delsegnale in uscita. Il segnale Vo1 che, come nelcaso precedente, haun’escursione dapicco a picco pari a2 Vsat, e il segnale Vo2

la cui escursionedipende solo dalvalore della tensionedi zener dei diodi D1

e D2. In fase di simu-lazione si sono utiliz-zati due diodi zenercon Vz = 3,3 V.

Te

oria

108

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Qiundicesima parte L’amplificatore operazionale dalla A alla Z: L’operazionale negli oscillatori (parte I)

Figura 15.4a Multivibratore

astabile con diodi

zener di limitazione

dell’escursione

della tensione di

uscita

Figura 15.4b Forme d’onda relative al multivibratore astabile di cui

alla figura 10.4a

Figura 15.3b Andamento della tensione Vo di uscita nel multivibratore

astabile di cui alla figura 15.3a e della tensione VCt ai

capi del condensatore Ct

Figura 15.3a Multivibratore astabile con

amplificatore operazionale

Page 109: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

L’escursione dellatensione di uscitavale pertanto circa6,6 V a cui è neces-sario aggiungere lac.d.t. diretta di cia-scun diodo. Ciò èevidente nella figura15.4b dove la tensio-ne Vo2 ha un’escur-sione che, indicatadai marker orizzon-tali, è pari a 6,917 V.

15.4.1 Modifica del duty cycle

Come è noto, il duty cycle di un’onda quadra èil rapporto fra l’intervallo di tempo in cui ilsegnale è a livello alto e l’intero periodo.Pertanto, con riferimento alla figura 15.4b, ilduty cycle δ ha espressione:

[15.20]

Poiché i multivibratori di cui alle figure 15.3a e15.4a, come si vede dai diagrammi riportati nellefigure 15.3b e 15.4b, presentano entrambi unatensione di uscita Vo nella quale è tH = tL, il dutycycle della Vo vale 0,5, o, esprimendolo secondola consuetudine percentualmente, è pari al 50 %.Volendo modificare il duty cycle si può ricorre-re, per esempio, alla configurazione circuitaledella figura 15.5a dove, in parallelo alla resisten-za Rt, si è posto il ramo costituito dal diodo D edal trimmer R. In pratica, il condensatore si cari-ca attraverso le resistenze Rt e R e, per la presen-za del diodo, si scarica attraverso la sola Rt. PertH e tL, sempre ponendo, tramite il relativo trim-

Figura 15.5a Multivibratore

astabile con duty

cycle variabile, ma

comunque sempre

inferiore al 50%

Figura 15.5b Andamento della tensione di uscita Vo e della tensione

ai capi del condensatore Ct nel multivibratore con

op-amp di cui alla figura 15.5a per R = 20 ko

Codice MIP 252109

Page 110: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

mer, Rf = 1,164 Ri (per b = 0,462), si ha quindi:tH = (Rt//R) Ct [15.21]tL = Rt Ct [15.22]

Il periodo ha pertanto espressione:T = tH + tL = Ct [Rt + (Rt//R)] [15.23]

Per il duty cycle, sostituendo nella [15.20] la[15.21] e la [15.22], si ha l’espressione:

[15.24]

dalla quale si vede che il duty cycle del multivi-bratore della figura 15.5a è sempre minore del50 %.

Con riferimento al multivibratore di cui alla figura15.5a, applicando le espressioni [15.21] e [15.22] econsiderando il trimmer R inserito, per esempio, perun valore di resistenza pari a 20 ko si ha quindi:tH = (15000//20000) x 0,033 x 10–6 = 282,85 mstL = 15000 x 0,033 x 10–6 = 495 ms

Per il duty cycle, applicando l’espressione[15.20], si ricava δ = 0,36. Percentualmente il

duty cycle è quindi del 36%.

L’andamento della tensione Vo e della tensione VCt

ai capi del condensatore, relativamente al circui-to della figura 15.5a, sono riportati nella figura15.5b i cui diagrammi sono stati ricavati in simu-lazione. La distanza fra i marker verticali indical’intervallo tL in cui il segnale è a livello basso.Si legge (a – b) = 500 ms. L’intervallo in cui ilsegnale è a livello alto è risultato pari a 290 ms.Entrambi i valori praticamente coincidono conquelli su calcolati.Se ora si porta il trimmer R a un valore pari, peresempio, a 1 ko, per gli intervalli tH e tL, sempretramite le espressioni [15.21] e [15.22], si ricava:

tH = 31 ms tL = 495 ms

E per il duty cycle, sempre tramite la [15.20], siricava δ = 0,058. Il duty cycle è pertanto del 5,8%.La tensione Vo di uscita e la tensione VCt ai capidel condensatore per R = 1 ko, presentano l’an-damento riportato nella figura 15.5c.

Confrontando il diagrammi della figure 15.5b e15.5c si ha già un’ideadella possibilità dimodificare il duty cyclein un intervallo suffi-cientemente ampio.Poiché, come si è con-statato, la configura-zione di cui alla figura15.5a può solo con-sentire un duty cycleinferiore al 50%, si puòcalcolare il valore daattribuire alla resisten-

Te

oria

110

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Qiundicesima parte L’amplificatore operazionale dalla A alla Z: L’operazionale negli oscillatori (parte I)

Figura 15.6a Multivibratore

astabile con duty

cycle variabile, ma

comunque sempre

maggiore del 50%

Figura 15.6b Andamento della tensione Vo di uscita e della tensione

ai capi del condensatore Ct nel multivibratore con

op-amp di cui alla figura 15.6a, per R pari a 17,5 ko

Figura 15.5c Andamento della tensione Vo di uscita e della tensione

ai capi del condensatore Ct nel multivibratore con

op-amp di cui alla figura 15.5a per R = 1 ko

Figura 15.5d Andamento della tensione Vo di uscita e della tensione

ai capi del condensatore Ct nel multivibratore con

op-amp di cui alla figura 15.5a per R pari a circa 368 ko

Page 111: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252111

Page 112: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Te

oria

112

FA

RE

ELE

TT

RO

NIC

A -

GIU

GN

O 2

00

6RISORSE SPECIALE PRATICATEORIA

Qiundicesima parte L’amplificatore operazionale dalla A alla Z: L’operazionale negli oscillatori (parte I)

za R per un qualsiasivalore di δ fino a unmassimo di 0,49.Volendo, per esem-pio, δ = 0,49, elasciando Rt = 15 ko,per la resistenza R,dalla [15.24], si ricavail valore di 367,5 ko.Con questo valore diR, la tensione Vo ha laforma d’onda riporta-ta nella figura 15.5d

dove si può vedere che gli intervalli tH e tL sonoquasi eguali essendo, appunto, δ pari al 49%.

Invertendo le polarità del diodo, così come nellafigura 15.6a, si ottiene un astabile con dutycycle sempre maggiore del 50%. In questo casoil condensatore si carica attraverso la resistenzaRt e si scarica attraverso il parallelo delle resisten-ze R e Rt. Per tH e tL si ha quindi:tH = Rt Ct [15.25]tL = (R//Rt) Ct [15.26]

Il periodo ha pertanto espressione:T = tH + tL = Ct [Rt + (Rt//R)] [15.27]Essendo sempre eguale al rapporto fra tH e T, ilduty cycle ha espressione:

[15.28]

Con quest’ultima si può ricavare, sempre per Rf =1,164 Ri, il valore da attribuire alla resistenza R perun qualsiasi valore di δ che sia maggiore del 50%.Per esempio, per un duty cycle del 65% dalla

[15.28] si ricava R = 1,16 Rt e per Rt = 15 ko siha quindi R = 17,5 ko.Per la tensione Vo, con questo valore di R, insimulazione si ha l’andamento riportato nellafigura 15.6b. La distanza fra i marker verticaliindica un intervallo tH = 494,9 ms, mentre l’inter-vallo tL è risultato eguale a 278 ms. Applicando leespressioni [15.25] e [15.26] si ottiene rispettiva-mente tH = 495 ms e tL = 266 ms. I valori in simu-lazione sono quindi pressoché coincidenti con ivalori teorici. Infine, utilizzando in unico circuitoentrambe le soluzioni dei multivibratori di cui allefigure 15.5a e 15.6a, si ottiene l’astabile espostonella figura 15.7a che ha la caratteristica di con-sentire un’ampia va-riabilità del duty cycle asecondo dei valori attribuiti alle resistenze Rt e R.

In questo caso il condensatore Ct si carica infat-ti, tramite la resistenza R e il diodo D1 e si scari-ca attraverso la resistenza Rt e il diodo D2.Sempre ponendo Rf = 1,164 Ri al fine di rendereapplicabile l’espressione [15.19], si ha pertanto:tH = R Ct [15.29]tL = Rt Ct [15.30]

Il periodo ha quindi espressione:T = tH + tL = (R + Rt) Ct

Mentre per il duty cycle si ha:

[15.31]

Per R = Rt si ha quindi un duty cycle del 50%, per R> Rt si ha un duty cycle minore del 50%, e, infine,per R < Rt si ha un duty cycle maggiore del 50%.Ponendo, per esempio, R = Rt = 15 ko, si ricava, insimulazione, l’andamento della tensione di uscitaVo illustrato nella figura 15.7b in cui è evidente unδ pari al 50%. Si ha infatti tH = tL = 500 ms. Dalleespressioni [15.29] e [15.30] si ottiene, infatti:tH = tL = 15000 x 0,033 x10–6 = 495 ms

Nella figura 15.7b i marker orizzontali indicanol’escursione della tensione ai capi del condensato-re Ct che è pari a 2bVsat. Essendo Vsat = 13,33 V e b= 0,462 (per Rf = 1,164 Ri), si ha bVsat = 0,462 x13,33 = 6,158 V. In diagramma si legge, infatti:Yc = +bVsat = +6,167 V Yd = –bVsat = –6,19 V

Codice MIP 252104

Figura 15.7a Multivibratore

astabile nel quale il

duty cycle può

essere sia maggiore

che minore che

eguale al 50%

Figura 15.7b Andamento della tensione di uscita Vo e della tensione

ai capi del condensatore Ct nel multivibratore a duty

cycle variabile di cui alla figura 15.7a

Page 113: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

FE - 252

Scopri sul retro di questo couponi vantaggi a te riservati

Compila, ritaglia e spedisci via fax questo coupon

allo 02-66508225

Spedisci questa pagina in busta chiusa a:

INWARE Edizioni srl

Via Cadorna, 27/31 - 20032 Cormano (MI)

Chiamaci allo 02-66504755

Abbonati on-line sul sito

www.farelettronica.com/abbonamento

MODALITÁ DI PAGAMENTObarrare la modalità prescelta

❍ CARTA DI CREDITO❑ American Express ❑ Visa ❑ Mastercard

Titolare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

n° . . . . . . . . . . . . . . . . . . . . . . scad . . . . . . . . . . . . . . . . . . .

❍ VERSAMENTO SUL CCP N. 70107552Allegare la ricevuta (o copia) del versamento

intestato ad Inware Edizioni srl, indicando nella causale:

“Abbonamento Fare Elettronica”

❍ BONIFICO BANCARIOAppoggiarlo su: Poste Italiane - CIN: I - ABI: 07601

CAB: 01600 - C/C: 000070107552

intestato ad Inware Edizioni srl

❍ ALLEGO UN ASSEGNOintestato ad Inware Edizioni srl

Firma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ABBONATI SUBITO

Privacy. Ai sensi del Decr. Lgs. 196/2003 la informiamo che i dati trasmessi verrannoimpiegati coi principali scopi di indagini di mercato e nelle modalità previste dallo stesso,prevalentemente con mezzi informatici. Il conferimento, di norma facoltativo, è obbligatorioper permettere il rapporto commerciale. È in ogni caso fatto diritto dell’interessato esercita-re i propri diritti, nei modi previsti dal “Titolo II art. 7” della legge sopra citata, scrivendo aInware Edizioni srl, Via Cadorna 27 – 20032 Cormano o tramite email a [email protected]

Nome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Cognome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Via . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . n° . . . .

Cap . . . . . . . Città . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prov . . . .

Tel . . . . . . . . . . . . . . . . . . . . . . . Fax. . . . . . . . . . . . . . . . . . . . . . .

Email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Ragione Sociale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

P.Iva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ❍ Ricevuta

DATI PERSONALI

❍ Riceverò 11 NUMERI di FARE ELETTRONICA

pagando solo €45,00 anzichè €60,50

❍ Riceverò 11 NUMERI di FARE ELETTRONICA

e 11 NUMERI di FIRMWARE

pagando solo €79,50 anzichè €126,50

SCELTA DELLA TIPOLOGIA DI ABBONAMENTObarrare la tipologia prescelta

Page 114: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

✔ Risparmierai fino a €47,00 sul prezzo

di copertina

✔ Avrai la garanzia del prezzo bloccato

per un anno

✔ Le riviste ti saranno recapitate

comodamente a casa

✔ Compreso con l’abbonamento (o il rinnovo)

riceverai un buono sconto del 20%*

per un tuo prossimo acquisto sul sito

www.farelettronica.com

✔ Compila questo cedolino in tutte le sue

parti. Invialo in busta chiusa o via fax

(fronte/retro) e riceverai in omaggio

l’esclusivo portachiavi

magnetico con

orologio/datario

di Fare Elettronica!

*Validità 3 mesi

EDIZIONI

TIPO DI ABBONAMENTO:❍ Personale ❍ Aziendale

❍ Scuola o Università

IL VOSTRO SETTORE DI COMPETENZA:❍ Direzione Tecnica ❍ Direzione Acquisti

❍ Progettazione ❍ Insegnante

❍ Studente ❍ Altro . . . . . . . . . . . . . . . . . . . . . . . . .

PRODOTTO PRINCIPALE O SERVIZIO OFFERTODALL'AZIENDA DOVE LAVORATE:❍ Apparecchiature elettriche, ❍ Apparecchiature scientifiche,

elettroniche, ICT misura e controllo

❍ Elettrodomestici ❍ Automotive

❍ Consulenza ❍ Vending

Altro . . . . . . . . . . . . . . . . . . . . . . . . .

NUMERO DI DIPENDENTI DELLA VOSTRA AZIENDA:❍ fino a 10 ❍ da 10 a 50

❍ da 50 a 100 ❍ da 100 a 500

❍ oltre 500

Page 115: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

La rivista che ti accompagna ogni mese

da oltre 22 anni con tante informazioni

utili sui componenti, le loro applicazioni

e una grande quantità di progetti

completi di schema e pcb.

I tuoi

progettihanno

bisognodi una

BENZINASPECIALE?

I tuoi

progettihanno

bisognodi una

BENZINASPECIALE?

Il nuovo mensile, unico in italia,

dedicato ai microcontrollori e alla

microelettronica. Uno strumento

indispensabile per tutti i progettisti

di schede a micro.

Fai il pieno con le riviste di

INWARE EDIZIONI!IN EDICOLA O IN ABBONAMENTO

Inware Edizioni Srl

Via Cadorna, 27/3120032 Cormano (MI) ItalyTel: 02.66504755 - Fax: [email protected]

www.farelettronica.com www.fwonline.it

Page 116: EDIZIONI...Futura Elettronica 63-111 Gedit 109 Inware 27-55 Linear Technology 8 Kevin Schurter 15-71 Microchip 13-15-22-68-71 Mikroelektronica 16-25-57-80 Millennium Dataware 79 ON

Codice MIP 252116