PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito...

123
UNIVERSITÀ DEGLI STUDI DI PERUGIA FACOLTÀ DI INGEGNERIA CORSO DI ELETTRONICA E DELLE TELECOMUNICAZIONI PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL CONTROLLO DI UN SENSORE PER APPLICAZIONI DI RADIOPROTEZIONE NELLA RADIOLOGIA INTERVENTISTICA TESI DI LAUREA MAGISTRALE LAUREANDA: RELATORE: Michela Siena Dott. Ing. Pisana Placidi CORRELATORI: Ing. Elia Conti Ing. Daniel Megalotti ANNO ACCADEMICO 2011/2012

Transcript of PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito...

Page 1: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

UNIVERSITÀ DEGLI STUDI DI PERUGIA

FACOLTÀ DI INGEGNERIA

CORSO DI ELETTRONICA E DELLE TELECOMUNICAZIONI

PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL

CONTROLLO DI UN SENSORE PER APPLICAZIONI DI

RADIOPROTEZIONE NELLA RADIOLOGIA INTERVENTISTICA

TESI DI LAUREA MAGISTRALE

LAUREANDA: RELATORE:

Michela Siena Dott. Ing. Pisana Placidi

CORRELATORI:

Ing. Elia Conti

Ing. Daniel Megalotti

ANNO ACCADEMICO 2011/2012

Page 2: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice

Introduzione 1

Capitolo 1 La Radiologia Interventistica e la radioprotezione

3

1.1 Radiologia Interventistica ...................................................................................3

1.2 Radioprotezione e grandezze dosimetriche.............................................6

1.3 Interazione particelle-materia................................................................10

1.3.1 Interazione dei fotoni con la materia............................................................... 11

1.3.2 Importanza relativa dei vari tipi di interazioni................................................ 17

1.3.3 Materiali equivalenti dal punto di vista dell’attenuazione dei fotoni.............. 18

Capitolo 2 Dosimetri commerciali 20

2.1 Dosimetri passivi...................................................................................23

2.1.1 Dosimetri a film sottile (film badge)............................................................... 18

2.1.2 Dosimetri a termoluminescenza (TLD) .......................................................... 26

2.2 Dosimetri attivi ......................................................................................28

2.2.1 Dosimetri a semiconduttore e dosimetri DIS .................................................. 28

2.2.2 Esempi di APD commerciali .......................................................................... 29

2.3 Il progetto RAPID .................................................................................35

Capitolo 3 Architettura 37

3.1 I blocchi costitutivi ................................................................................37

3.2 Il sensore ........................................................................................................... 40

3.3 CC430 e CC1111.......................................................................................47

Page 3: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice

II

Capitolo 4 Circuito di elaborazione 51

4.1 Algoritmo di clustering..........................................................................51

4.2 Implementazione del circuito di elaborazione ......................................63

4.3 Descrizione del circuito di elaborazione ...............................................67

4.4 Descrizione del circuito di emulazione del sensore MT9V011 ............71

4.4.1 Circuito di emulazione: versione 1 ................................................................. 72

4.4.2 Circuito di emulazione: versione 2 ................................................................. 81

Capitolo 5 Verifica del circuito di elaborazione 87

5.1 EMU_SENSOR_SEL = 1 ....................................................................87

5.2 EMU_SENSOR_SEL = 0 ....................................................................93

5.3 Occupazione delle risorse logiche su CPLD........................................96

5.4 Modello temporale dei CPLD MAX 7000 di Altera per il calcolo dei

ritardi ..........................................................................................................97

5.5 Verifica sperimentale su FPGA..........................................................100

Conclusioni 105

Appendice A 107

Bibliografia 112

Page 4: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Elenco delle figure

Figura 1.1 Nell’ordine, angiografia cerebrale (a) e angiografia degli arti inferiori (b) con

DSA 4

Figura 1.2 Angiogafo digitale con DSA 5

Figura 1.3 Sezione d’urto dei singoli meccanismi di interazione 12

Figura 1.4 Sezione d’urto in funzione dell’energia dei fotoni nel carbonio (a) e nel piombo

(b) 13

Figura 1.5 Lunghezza di assorbimento dei fotoni in materiali a vario Z [10] 14

Figura 1.6 Illustrazione dell’effetto fotoelettrico 14

Figura 1.7 Coefficiente di attenuazione massico per effetto fotoelettrico 15

Figura 1.8 Illustrazione del processo Compton 16

Figura 1.9 Illustrazione della generazione di una coppia 16

Figura 1.10 Coefficiente di attenuazione massico per acqua e piombo 17

Figura 1.11 Coefficiente di attenuazione massico per il silicio [10] 18

Figura 2.1 Posizionamento delle diffrenti tipologie di dosimetri [15] 21

Figura 2.2 Esempio di dosimetro total body e relativo posizionamento [16] 21

Figura 2.3 Esempio di dosimetro ad anello e relativo posizionamento [16] 21

Figura 2.4 Riproduzione grafica di un dosimetro a film 23

Figura 2.5 Schema di funzionamento di un densitometro [17] 24

Figura 2.6 Un esempio di grafico H-D [17] 25

Figura 2.7 Meccanismo fisico della termoluminescenza [17] 26

Figura 2.8 Esempio di curva di luminescenza [17] 27

Figura 2.9 Principio di funzionamento di un dosimetro a semiconduttore [18] 28

Figura 2.10 Camera di ionizzazione e cella di memoria MOSFET [18] 29

Figura 2.11 Unfors EDD-30 [20] 30

Figura 2.12 Il sistema DoseAware [23] 31

Figura 2.13 Il dosimetro Dosilab EDM- III 32

Figura 2.14 Il dosimetro TermoScientific EPD-MK2+ [26] 32

Figura 2.15 Il sistema dosimetrico RaySafe i2 [27] 33

Figura 2.16 Schema del sistema dosimetrico in base al progetto RAPID 36

Figura 3.1 I blocchi costitutivi del sistema 37

Figura 3.2 Diagramma a blocchi del sensore 40

Page 5: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice delle figure

II

Figura 3.3 Configurazione di default del sensore 41

Figura 3.4 Disposizione dei pin nel chip 42

Figura 3.5 Struttura della matrice di pixel attivi 43

Figura 3.6 Il modello di colori RGB 43

Figura 3.7 Illustrazione spaziale della lettura dell’immagine 44

Figura 3.8 Diagramma temporale dei dati forniti dal pixel 44

Figura 3.9 Andamento temporale relativo dei segnali master clock e pixel clock 45

Figura 3.10 Andamento temporale relativo dei segnali FRAME_VALID e LINE_VALID

45

Figura 3.11 Diagramma a blocchi funzionale della famiglia CC430F61xx [29] 48

Figura 3.11 Diagramma a blocchi funzionale della famiglia CC430F61xx [29] 48

Figura 3.12 Vista dall’alto del package della famiglia CC1111Fx [30] 49

Figura 3.13 Diagramma a blocchi delle famiglie CCF1110Fx/CCF1111Fx [30] 50

Figura 4.1 Visualizzazione dei fotoni che colpiscono la matrice di pixel del sensore [37] 52

Figura 4.2 Visualizzazione dei pixel in un cluster [37] : il pixel contrassegnato in giallo

non è topologicamente connesso al centro (S, in rosso). Degli 8 pixel topologicamente

connessi solo i due in arancio hanno un segnale superiore alla seconda soglia T2 e pertanto

fanno parte del cluster 53

Figura 4.3 (a) Distribuzione statistica del numero di fotoni in un frame e (b) correlazione

tra numero di fotoni e la relativa incertezza [37] 54

Figura 4.4 (a) Distribuzione statistica del segnale totale ricostruito e (b) correlazione tra il

segnale totale ricostruito e la relativa incertezza [37] 54

Figura 4.5 Distribuzione sperimentale del rumore dei singoli pixel del sensore 56

Figura 4.6 Distribuzione integrale del rumore dei singoli pixel del sensore 56

Figura 4.7 Distribuzione sperimentale dei piedistalli dei singoli pixel del sensore 57

Figura 4.8 Distribuzione integrale dei piedistalli dei singoli pixel del sensore 57

Figura 4.9 (a) Numero di pixel normalizzati sopra soglia in funzione del valore di soglia;

(b) numero di pixel sopra soglia in conteggi ADC in funzione del valore di soglia 58

Figura 4.10 (a) Errore relativo del numero di pixel normalizzati sopra soglia in funzione

del valore di soglia; (b) errore relativo del numero di pixel sopra soglia in conteggi ADC in

funzione del valore di soglia 59

Figura 4.11 (a) Integrale di carica in un frame in funzione del valore di soglia;

(b) somma dei segnali dei pixel sopra soglia in conteggi ADC in funzione del valore di

soglia 60

Page 6: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice delle figure

III

Figura 4.12 (a) Errore relativo dell’integrale di carica in un frame in funzione del valore di

soglia;

(b) errore relativo della somma dei segnali dei pixel sopra soglia in conteggi ADC in

funzione del valore di soglia 61

Figura 4.13 (a) Correlazione tra il numero di pixel sopra soglia e il tasso di dose misurato

dal dosimetro commerciale Unfors EDD-30; (b) correlazione tra la somma dei segnali dei

pixel sopra soglia e il tasso di dose misurato dal dosimetro commerciale Unfors EDD-30 62

Figura 4.14 (a) Correlazione tra il numero di pixel sopra soglia e il tasso di dose misurato

dai TLD;

(b) correlazione tra la somma dei segnali dei pixel sopra soglia e il tasso di dose misurato

dai TLD 63

Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64

Figura 4.16 Realizzazione circuitale del blocco di confronto e incremento 67

Figura 4.17 Circuito di confronto e incremento: simulazione behavioral 68

Figura 4.18 Effetti della transizione di LINE_VALID sul circuito di confronto e

incremento 68

Figura 4.19 Dato corrente maggiore della soglia: il contatore è abilitato al conteggio 69

Figura 4.20 Dato corrente minore della soglia: il contatore non incrementa

NUMPIX_MICRO 69

Figura 4.21 Risultato della simulazione timing del blocco di confronto e incremento 70

Figura 4.22 Simulazione timing: ritardi nel circuito di confronto e incremento 70

Figura 4.23 Porzione di sensore emulato 71

Figura 4.24 Macchina a stati del circuito di emulazione del sensore MT9V011 73

Figura 4.25 Il sincronizzatore MealySinc 74

Figura 4.26 MealySinc: simulazione behavioral 75

Figura 4.27 Versione del sincronizzatore con 2 FF 76

Figura 4.28 Versione sincronizzatore con 2 FF: simulazione behavioral 76

Figura 4.29 Versione del sincronizzatore con 3 FF 77

Figura 4.30 Versione del sincronizzatore con 3 FF: simulazione timing 77

Figura 4.31 Realizzazione circuitale del blocco di emulazione del sensore MT9V011 nella

sua versione 1 78

Figura 4.32 Prima versione del circuito di emulazione del sensore MT9V011: simulazione

behavioral 78

Figura 4.33 Transizione da 0 a 1 di START_SEQ: la scansione è abilitata. Prima versione

Page 7: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice delle figure

IV

del circuito di emulazione 79

Figura 4.34 Comportamento di LINE_VALID_EMU quando FRAME_VALID_EMU è

alto. Prima versione del circuito di emulazione 80

Figura 4.35 Scansione della matrice terminata: LINE_VALID_EMU e

FRAME_VALID_EMU tornano bassi. Prima versione del circuito di emulazione 80

Figura 4.36 STOP_SEQ interviene e la scansione si arresta. Prima versione del circuito di

emulazione 80

Figura 4.37 Realizzazione circuitale del blocco di emulazione del sensore MT9V011 nella

sua seconda versione 81

Figura 4.38 Macchina a stati del circuito di emulazione del sensore MT9V011 nella sua

seconda versione 83

Figura 4.39 Seconda versione del circuito di emulazione: simulazione behavioral 84

Figura 4.40 Comportamento di FRAME_VALID_EMU, LINE_VALID_EMU e

DOUT_EMU, quando START_SEQ interviene. Seconda versione del circuito di

emulazione 84

Figura 4.41 Transizione da 0 a 1 di END_COUNT_ROW: scansione terminata. Seconda

versione del circuito di emulazione 85

Figura 4.42 Intervento di STOP_SEQ nel corso di un frame e successivo nuovo intervento

di START_SEQ. Seconda versione del circuito di emulazione 85

Figura 4.43 Seconda versione del circuito di emulazione: simulazione timing 86

Figura 4.44 Ritardo tra il fronte di salita del clock e la transizione di LINE_VALID_EMU.

Seconda versione del circuito di emulazione 86

Figura 5.1 Realizzazione circuitale del circuito complessivo realizzato su CPLD che

prevede la prima versione del circuito di emulazione 88

Figura 5.2 Circuito di elaborazione complessivo, prima versione del circuito di

emulazione, EMU_SENSOR_SELECT = 1: simulazione behavioral 89

Figura 5.3 Ritardo rispetto al fronte di salita del clock con cui sale

FRAME_VALID_MICRO 90

Figura 5.4 Ritardo tra la commutazione di OUT_AND_MONITOR, e la transizione di

DOUT al dato maggiore della soglia 90

Figura 5.5 Realizzazione circuitale del circuito complessivo realizzato su CPLD che

prevede la seconda versione del circuito di emulazione 91

Figura 5.6 Circuito di elaborazione complessivo, seconda versione del circuito di

emulazione, EMU_SENSOR_SELECT = 1: simulazione behavioral 92

Page 8: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Indice delle figure

V

Figura 5.7 Ritardo tra LINE_VALID_MON e fronte di salita del clock 93

Figura 5.8 Ritardo tra la transizione da 0 a 1 di OUT_AND_MON e OUT_COMP_MON,

e quella di DOUT_MON al dato maggiore della soglia 93

Figura 5.9 Circuito complessivo su CPLD, prima versione del circuito di emulazione

EMU_SENSOR_SEL = 0: simulazione behavioral 94

Figura 5.10 Analisi dei ritardi tra LINE_VALID_S e LINE_VALID_MON, e tra

DOUT_S e DOUT_MON 95

Figura 5.11 Ritardo di OUT_AND_MON e OUT_COMP_MON rispetto al fronte di salita

del clock 95

Figura 5.12 Ritardo tra il fronte di discesa di LINE_VALID_S e OUT_AND_MON 95

Figura 5.13 Circuito complessivo su CPLD, seconda versione del circuito di emulazione

EMU_SENSOR_SEL = 0: simulazione behavioral 96

Figura 5.14 Il modello temporale per il calcolo dei tardi nei CPLD Altera [42] 98

Figura 5.15 Modello circuitale per il calcolo di tCO [42] 99

Figura 5.16 Starter Kit Board dell’FPGA Spartan 3 di Xilinx 100

Figura 5.17 Schema a blocchi del circuito di emulazione del microcontrollore CC430 101

Figura A.1 Architettura di un PLD [39] 107

Figura A.2 Architettura di un CPLD [39] 108

Figura A.3 Architettura della famiglia MAX 7000 dell’Altera [40] 109

Figura A.4 Architettura di un LAB della famiglia MAX 7000 dell’Altera [40] 110

Figura A.5 Architettura di una macrocella in un LAB della serie MAX 7000 [40] 111

Page 9: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Elenco delle tabelle

Tabella 1.1 Parametri di lavoro dell’angiografo nelle procedure di RI [4] 6

Tabella 1.2 Valori di wr al variare del tipo di radiazione e del range di energia 7

Tabella 1.3 Valori di wt al variare del tipo di tessuto o organo colpito 8

Tabella 1.4 Tipiche dosi relative a singole procedure di arteriografia e drenaggio biliare 9

Tabella 1.5 Limiti di esposizione fissati dalla legge 9

Tabella 1.6 Importanza relativa dei tre processi in acqua 18

Tabella 2.1 Livelli di allarme impostati dalla casa costruttrice [20] 30

Tabella 2.2 Schema riassuntivo delle specifiche dei sensori Unfors EDD-30, Philips

DoseAware, Dosilab EDM-III , ThermoScientific EPD-Mk2+ e RaySafe i2 34

Tabella 2.3 Schema riassuntivo sui vantaggi e svantaggi di dosimetri attivi e passivi 35

Tabella 5.1 Risorse occupate sul CPLD nei due differenti casi di impiego della prima o

della seconda versione del circuito di emulazione 96

Tabella 5.2 Dettaglio delle macrocelle occupate dalle singole istanze che compongono il

cicuito complessivo nei due casi di utlizzo della prima e della seconda versione del circuito

di emulazione 97

Page 10: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Introduzione

Lo sviluppo di nuove e sofisticate tencologie ha reso l’impiego delle radiazioni

ionizzanti in medicina un’applicazione in continua evoluzione. La Radiologia

Interventistica rappresenta in tal senso uno degli ambiti di maggiore interesse, in cui si

fondono progresso tecnologico delle metodiche diagnostiche e soprattutto prestazioni

terapeutiche mini-invasive, volte alla graduale sostituzione dei trattamenti chirurgici

convenzionali.

In questo contesto si inserisce il tema della Radioprotezione degli operatori sanitari,

chiamati ad operare a stretto contatto con il paziente e dunque soggetti ad un’elevata

esposizione ai raggi X. Il monitoraggio della dose cui sono sottoposti i lavoratori è

condotto mediante l’utilizzo di dosimetri individuali, vale a dire opportuni dispositivi che

consentono la determinazione dell’esposizione del singolo individuo alle radiazioni

ionizzanti. I dosimetri certificati ed attualmente tipicamente impiegati sono dosimetri

passivi, quali dosimetri a film e dosimetri a termoluminescenza (TLD), che, pur basandosi

su tecnologie consolidate, non consentono la determinazione della dose in tempo reale. Le

fasi di misura e lettura dello strumento avvengono separatamente, e i tempi di risposta sono

dell’ordine dei giorni. La necessità di disporre di uno strumento più efficace ed efficiente

adatto allo scopo ha portato allo sviluppo di dosimetri attivi, basati su tecnologie a

semiconduttore ed in grado di fornire misure in tempo reale.

Il progetto RAPID (Real Time Active Pixel Dosimetry) nasce da una collaborazione tra

l’Istituto Nazionale di Fisica Nucleare (INFN) di Perugia, l’Università degli Studi di

Perugia, il Servizio di Fisica Sanitaria dell’ASL3 dell’Umbria presso l’Ospedale di Foligno

e il Servizio di Fisica Sanitaria dell’ASL1 dell’Umbria presso l’Ospedale di Città di

Castello. Il progetto è finalizzato alla realizzazione di un dosimetro individuale real time

con tecnologia wireless per il monitoraggio dell’effettiva dose cui sono soggetti gli

Page 11: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Introduzione

2

operatori nelle procedure di Radiologia Interventistica, attraverso l’impiego di un sensore a

matrice di pixel attivi (Active Pixel Sensor, APS). L’eliminazione dei tempi di attesa

consentirà la creazione di un archivio remoto delle dosi assorbite da ciascun operatore,

semplificando la pianificazione delle procedure e favorendo una gestione più efficace del

lavoro.

Il presente lavoro di tesi si inserisce nella progettazione e realizzazione del circuito

preposto al controllo del sensore di immagine per la rivelazione delle radiazioni. La

trattazione si articola nelle sezioni di seguito riassunte.

Il Capitolo 1 introduce la Radiologia Interventistica e fornisce i principi teorici e le

nozioni fisiche necessarie per la comprensione del funzionamento di un dispositivo per la

rivelazione di radiazioni in tale ambito applicativo.

Il Capitolo 2 presenta una panoramica generale sui principali dosimetri attualmente

commercializzati, distinguendo fra dosimetri attivi e passivi, e sottolineando i relativi

vantaggi e svantaggi. Ciò fornisce di fatto le motivazioni alla base della nascita del

progetto RAPID.

Il Capitolo 3 illustra l’architettura pensata per la realizzazione del sistema dosimetrico.

Viene descritto il ruolo di ciascun blocco costitutivo, con particolare riferimento al sensore

di radiazione.

Il Capitolo 4 descrive i dettagli relativi all’implementazione su CPLD della logica di

controllo e elaborazione per il sensore preposto alla rivelazione della radiazione. Vengono

in particolare descritti gli elementi funzionali e le specifiche del circuito dedicato

all’elaborazione dei dati provenienti dalla matrice di pixel attivi e di un circuito in grado di

emulare le funzionalità del sensore per scopi di test.

Il Capitolo 5 approfondisce la verifica del circuito di controllo complessivo

implementato su CPLD. Il corretto funzionamento del circuito implementato, in attesa

della realizzazione della scheda che ospita il CPLD, è stato verificato mappando la logica

progettata su di un dispositivo programmabile di tipo FPGA.

Le Conclusioni riassumono l’iter progettuale seguito e focalizzano l’attenzione sui

possibili sviluppi futuri.

Page 12: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Capitolo 1

La Radiologia Interventistica e la radioprotezione

Il Capitolo 1 introduce le problematiche connesse alla radioprotezione con particolare

riferimento allo scenario della Radiologia Interventistica (RI) e fornisce le basi fisiche per

la comprensione del principio di funzionamento di un dispositivo per la rivelazione di

radiazioni.

1.1 Radiologia Interventistica

La Radiologia è la branca della medicina che si occupa di fornire immagini (vere,

ricostruite o virtuali) dell’interno del corpo umano, con lo scopo di ottenere informazioni

utili alla diagnosi [1], sfruttando in primo luogo tecniche di imaging con raggi X, ma anche

ultrasuoni e risonanza magnetica. La Radiologia Interventistica (RI) rappresenta, a sua

volta, una moderna branca della Radiologia, ad altissimo contenuto tecnologico, che si

occupa della gestione mini-invasiva di problematiche cliniche: utilizzando immagini

prodotte con tecniche quali radioscopia, ecografia, tomografia, talvolta anche associate tra

loro, gli strumenti vengono guidati ai distretti corporei d’interesse senza la necessità di un

accesso chirurgico ed invasivo, vale a dire agendo per via percutanea. Ciò consente

notevoli vantaggi sia in termini di una minimizzazione dei rischi per il paziente sottoposto

alla procedura, permettendo spesso di operare in anestesia locale, sia per quanto riguarda

aspetti più prettamente logistici e di organizzazione, riducendo in tal senso i tempi di

ricovero, che diventano estremamente brevi e riconducibili spesso a prestazioni

ambulatoriali.

L’ angiografia è l’esame radiologico in grado di evidenziare i vasi sanguigni dei

Page 13: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

4

diversi distretti corporei al fine di studiarne morfologia ed eventuali alterazioni. Questa

metodica è resa possibile grazie all’utilizzo di particolari cateteri estremamente sottili che

consentono di raggiungere per via endovascolare il distretto da esaminare, anche con il

supporto di un mezzo di contrasto iodato che viene somministrato per visualizzare e

studiare in modo selettivo i vasi con le loro diramazioni [2]. Gli esami angiografici

vengono perciò comunemente eseguiti tramite l’utilizzo di raggi X e del suddetto mezzo di

contrasto, anche detto radio-opaco, in quanto reso necessario dal fatto che il sangue ha lo

stesso coefficiente di attenuazione per le radiazioni in questione dei tessuti circostanti. Si

possono essenzialmente individuare le varianti che seguono nelle tecniche di angiografia

classica:

- fluoroscopia digitale, caratterizzata da acquisizione di studi dinamici in bassa e

media risoluzione, bassa dose, con fascio pulsato o continuo;

- Digital Acquisition, caratterizzata da acquisizioni ad alta risoluzione e alta dose,

- Digital Subtraction Acquisition (DSA), in cui si acquisiscono immagini in

sottrazione digitale: alle immagini evidenziate dal mezzo di contrasto ne viene

sottratta una ottenuta prima dell'introduzione dell'agente di contrasto stesso, per

rimuovere la contaminazione di strutture statiche, che appariranno con la stessa

intensità prima e dopo l'introduzione del mezzo di contrasto. Vengono così esaltati i

condotti vascolari contrastati sottraendo i tessuti molli e scheletrici circostanti

precedentemente acquisiti.

Le immagini riportate in Figura 1.1 mostrano i risultati di angiografie eseguite su

differenti parti del corpo, in particolare angiografia cerebrale e agli arti inferiori, con DSA.

(a)

(b)

Figura 1.1 Nell’ordine, angiografia cerebrale (a) e angiografia degli arti inferiori (b) con DSA

Page 14: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

5

La procedura d’intervento sul paziente è normalmente svolta dal radiologo

interventista, o angiografista, in genere affiancato da altre figure professionali quali quella

del cardiologo, dell’infermiere e del tecnico sanitario di radiologia medica (TSRM).

L’apparecchiatura radiologica è in primo luogo rappresentata da un angiografo digitale,

costituito da un tubo radiogeno posto sotto al lettino su cui viene fatto accomodare il

paziente, che consente la realizzazione di proiezioni multiple dei diversi distretti vascolari

opacizzati, in tutta la loro estensione e in tempi molto brevi. Altre attrezzature necessarie

sono iniettori di contrasto, stent vascolari, cateteri a palloncino, ecc. In Figura 1.2 è

riportata la fotografia di un classico angiografo digitale che effettua la DSA.

Figura 1.2 Angiogafo digitale con DSA

Per ottimizzare l’immagine prodotta è possibile agire, variandoli in modo opportuno, su

alcuni parametri che influiscono sulle prestazioni fornite dall’angiografo, fra i quali

differenza di potenziale (in kV) applicata al tubo radiogeno, corrente (in mA) sull’anodo,

frequenza e durata degli impulsi nel caso di fascio impulsato. Valori tipici dei parametri

suddetti relativamente a procedure angiografiche svolte presso la ASL3 Umbria, Ospedale

San Giovanni Battista di Foligno sono sintetizzati nella Tabella 1.1.

Il principale svantaggio nelle procedure di Radiologia Interventistica è legato ad una

potenziale eccessiva esposizione ai raggi X da parte non solo del paziente, ma anche e

soprattutto dell’operatore, chiamato a lavorare a distanze molto ridotte dal paziente, con

Page 15: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

6

prolungati tempi di esposizione e spesso in assenza di adeguate schermature (guanti anti X,

schermi mobili, ecc.) [3]

Tabella 1.1

Parametri di lavoro dell’angiografo nelle procedure di RI [4]

Radiography

(Mean Values/procedure)

Radioscopy

(Mean Values/procedures) Procedures

No exposure/

procedure kV mA/mAs Time (s)

kV mA Time (min)

Pace maker 80 30 2-5

PercutaneousTransluminal

Angioplasty

14 76 400 4 80 30 10-45

Endoscopic Retrograde

Cholangio-

Pancreotography

8 74 160 0.5 80 30 10-30

Percutaneous

Transluminal Coronary

Angioplasty

15-30 fps-10

exposition

320 6 80 30 15-60

1.2 Radioprotezione e grandezze dosimetriche

La Radioprotezione è la disciplina che ha il compito fondamentale di “assicurare la

protezione degli individui esposti, della loro progenie e del genere umano nel suo insieme,

dagli eventuali danni che potrebbero derivare dallo svolgimento delle attività con rischio

da radiazioni ionizzanti”[5]. Le fonti principali di esposizione sono, in ordine di

importanza per quanto concerne il contributo, il fondo naturale (2.4 mSv/anno) e le

applicazioni mediche di diagnostica e terapia.

Quando un materiale è attraversato da una radiazione elettromagnetica si produce

ionizzazione ed eccitazione degli atomi bersaglio; qualora il mezzo colpito sia un tessuto

biologico, l’interazione fra atomi e molecole può produrre un’alterazione della struttura

elettronica, causandone danneggiamenti nei termini di un’alterazione della loro

funzionalità. Esistono attualmente diversi organismi internazionali che si occupano della

quantificazione e della caratterizzazione dei danni biologici prodotti in base al tipo di

radiazione ionizzante e del tessuto colpito, quali l’International Commission on

Radiological Units and Measurements (ICRU), l’International Commition on Radiological

Protection (ICRP) e la U.S. National Commission on Radiation Protection (NCRP) [6]. I

Page 16: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

7

parametri di riferimento definiti sono:

1. Dose assorbita (D): rappresenta il rapporto tra il valor medio dell’energia dε che

colpisce la materia in un volume infinitesimo di massa dm e la massa stessa. L’unità di

misura definita dal Sistema Internazionale è il gray (Gy), dove 1 Gy corrisponde a 1

Joule di radiazione assorbita da 1 kg di massa:

dm

dD

ε= (1.1)

2. Dose equivalente (H): tiene conto della diversa pericolosità dei vari tipi di radiazione.

Uno stesso tessuto, a parità di dose assorbita, risponde infatti in modo differente a

seconda della radiazione incidente. La dose equivalente si ricava allora pesando la dose

assorbita tramite un fattore adimensionale wr:

DwH r= (1.2)

La Tabella 1.2 mostra un quadro riassuntivo dei valori assunti da wr al variare del tipo

di particella incidente e dell’energia trasportata.

Tabella 1.2

Valori di wr al variare del tipo di radiazione e del range di energia

Radiation and energy range Radiation weighting factor ωR

Photons, all energies 1

Electrons and muons, all energies 1

Neutrons En < 10 keV 5

10 keV < En < 100 keV 10

100 keV < En < 2 MeV 20

2 MeV < En < 20 MeV 10

En > 20 MeV 5

Protons, except recoil photons, E > 2 MeV 5

α particles, nuclear fragments, heavy nuclei 20

L’unità di misura definita dal SI è il sievert (Sv): 1 Sv, a differenza di 1 Gy, produce gli

Page 17: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

8

stessi effetti biologici indipendentemente dal tipo di radiazione considerata. I fotoni

vengono trattati come la radiazione di riferimento e, analogamente agli elettroni, hanno

wr unitario; per fasci di neutroni il valore oscilla fra 3 e 11 a seconda dell’energia del

fascio, mentre per i raggi alfa sale a 20 e così via.

3. Dose efficace (E): misurata anch’essa in sievert, pondera la dose equivalente sul tipo di

tessuto investito grazie al fattore adimensionale wt, che tiene conto della diversa

radiosensibilità dei tessuti irraggiati:

∑=t

tt HwE (1.3)

La Tabella 1.3 riporta alcuni valori di wt in corrispondenza dell’organo o tessuto

colpito.

Tabella 1.3

Valori di wt al variare del tipo di tessuto o organo colpito

Organ or tissue Tissue weighting factor ωT

Gonads 0.20

Red bone marrow 0.12

Colon 0.12

Lung 0.12

Stomach 0.12

Bladder 0.05

Chest 0.05

Liver 0.05

Oesophagus 0.05

Thyroid gland 0.05

Skin 0.01

Bone Surface 0.01

Other organs or tissue 0.05

Con riferimento alle procedure di RI di arteriografia e drenaggio biliare svolte presso

l’Ospedale di Foligno, le dosi caratteristiche espresse in mSv relativamente a diverse zone

di esposizione, sono di seguito riassunte:

Page 18: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

9

Tabella 1.4

Tipiche dosi relative a singole procedure di arteriografia e drenaggio biliare

Angiografia arti inferiori Hp(10)(mSv) Drenaggio biliare Hp(10)(mSv)

POLSO DX 0.07 0.18

POLSO SIN 0.30 1.33

CRISTALLINO 0.11 0.07

SOTTO CAMICE 0.00 0.02

ARCO ALTEZZA

LETTINO

0.19 0.14

SOTTO PAZIENTE 8.94 289.97

La legge stabilisce i limiti di esposizione nei Decreti Legislativi

− 230/95 “Attuazione delle direttive 89/618/Euratom, 90/641/Euratom, 92/3/Euratom e

96/29/Euratom in materia di radiazioni ionizzanti”

− 187/00 “Attuazione della direttiva 97/43/EURATOM in materia di protezione

sanitaria delle persone contro i pericoli delle radiazioni ionizzanti connesse ad

esposizioni mediche

e successive modifiche ed integrazioni, che rappresentano i riferimenti normativi per

l’attività di radioprotezione.

Tabella 1.5

Limiti di esposizione fissati dalla legge

Lavoratori non esposti Lavoratori esposti

Cat. B Cat. A

ESPOSIZIONE ESTERNA mS/anno

Globale 1 6 20

Cristallino 15 50 150

Pelle 50 150 500

Estremità 50 150 500

I dati mostrano l’importanza crescente del monitoraggio dell’esposizione alle radiazioni

per il rispetto dei limiti massimi oltre i quali si potrebbe incorrere in danni alla salute. Ciò è

testimoniato anche dalle numerose pubblicazioni in tal senso [7], [8].

Page 19: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

10

1.3 Interazione particelle-materia

La rivelazione della radiazione è resa possibile dalla sua interazione con la materia,

perciò ogni sistema di rivelazione si basa sullo stesso meccanismo, per il quale il risultato

dell’interazione delle particelle con il mezzo è convertito in un segnale elettrico, che può

quindi essere letto, memorizzato ed elaborato.

Quando una particella energetica attraversa un mezzo, il campo elettrico associato alla

carica in movimento e quello generato dalla struttura elettronica del mezzo, determinano

un trasferimento di energia: in particolare la carica perde parte della sua energia a favore

del mezzo, e viene quindi convertita in portatori (coppie elettrone-lacuna, ioni, fotoni), i

quali sono a loro volta raccolti per la rivelazione della radiazione incidente. I principali

meccanismi di interazione variano con l’energia, le caratteristiche del target, la massa e la

carica della particella incidente e sono collisioni anaelastiche con la struttura atomica del

materiale, scattering elastico dai nuclei, reazioni nucleari, emissione della radiazione di

Cherenkov e radiazione di frenamento (o Bremsstrahlung); i primi due meccanismi di

interazione sono i più rilevanti, specialmente per particelle pesanti come protoni o ioni,

mentre gli altri risultano più importanti per particelle leggere, come elettroni o positroni ad

elevate energie [9].

Le collisioni avvengono prevalentemente con gli elettroni e raramente con i nuclei; in

tutti i casi, a causa del suddetto trasferimento di energia, esse portano gli atomi del mezzo

colpito ad uno stato eccitato e, se l’energia è sufficientemente elevata, determinano la

formazione di ioni (ionizzazione primaria). A sua volta uno ione altamente energetico può

innescare la generazione di nuovi ioni (ionizzazione secondaria). È bene sottolineare che

parlando di collisioni non si deve necessariamente pensare alle masse di due corpi che

entrano in contatto, ma in senso più generale all’interazione elettromagnetica fra particelle

cariche, che può avvenire perciò anche quando particella ed elettrone non entrano in

contatto; si parla in questo caso di collisioni a distanza.

Il processo di collisione è caratterizzato dalla sezione d’urto. Considerando un fascio

di particelle, con una distribuzione uniforme e F particelle per unità di tempo, che incide su

un dato target, chiamando Ns in numero medio di particelle diffuse nell’angolo solido dΩ

nell’unità di tempo, si può definire la sezione d’urto differenziale:

( )Ω

=ΩΩ d

dN

FE

d

d s1,

σ (1.4)

Page 20: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

11

La sezione d’urto totale può quindi essere ricavata come l’integrale su tutto l’angolo

solido:

∫ ΩΩ

=Ω dd

dE

σσ ),( (1.5)

Questa quantità ha le dimensioni di un’area ed è definita come la sezione normale alla

direzione del fascio al di fuori della quale la particella non viene deviata; tale definizione è

in realtà solo un’astrazione. Più precisamente σ può essere considerata come una misura

della probabilità d’interazione: maggiore è σ, maggiore è la probabilità di avere

un’interazione. Sulla base di questa ultima definizione σ può essere riferita non solo alle

collisioni ma anche ad altri tipi di interazioni.

1.3.1 Interazione dei fotoni con la materia

In base alla loro energia e alla natura del materiale, i fotoni subiscono nella materia

una grande varietà di processi, tra i quali quelli di maggiore rilevanza sono:

- effetto fotoelettrico

- effetto Compton

- creazione di coppie

rispettivamente per le basse, medie e alte energie.

Analizzando questi tipi di interazione si spiegano le principali caratteristiche dei

raggi X, in primo luogo la loro capacità di penetrare la materia molto maggiore rispetto alle

particelle cariche; ciò è dovuto al fatto che le sezioni d’urto che caratterizzano questi

processi sono molto più piccole rispetto a quelle associate ai processi relativi alle particelle

cariche. L’importanza relativa dei meccanismi di interazione è mostrata in Figura 1.3.

Ciascun processo può essere rappresentato con la sua sezione d'urto, che varia con

l’energia dei fotoni e con il numero atomico del materiale assorbente. La sezione d'urto

totale si ottiene sommando le sezioni d’urto relative ai singoli processi (in ordine,

rispettivamente, all’effetto fotoelettrico, all’effetto Compton, e alla creazione di coppie).

πστσ ++= ctot (1.6)

Quando, inoltre, un fotone interagisce con il mezzo colpito, esso viene assorbito o

comunque completamente rimosso dal fascio incidente; in altre parole un fascio di fotoni

Page 21: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

12

che attraversa un target è soltanto attenuato in intensità e non ridotto in termini di energia.

Figura 1.3 Sezione d’urto dei singoli meccanismi di interazione

L’attenuazione dell’intensità (I) di un fascio di fotoni che interagisce con la materia,

viene descritta da una legge di tipo esponenziale e dipendente dallo spessore (x) del mezzo

attraversato:

( ) ( )lxeIxI

µ−= 0 (1.7)

dove I0 è l’intensità del fascio incidente e µl è il coefficiente di assorbimento del materiale,

a sua volta definito come:

totAl n σµ = (1.8)

in cui σtot rappresenta la somma di tutte le σ delle interazioni sopra citate e nA è il numero

di atomi per unità di massa. La Figura 1.4 mostra l’andamento di σtot in funzione

dell’energia dei fotoni, nei casi di carbonio e piombo.

La lunghezza di assorbimento lµρλ /= , con ρ densità del mezzo, per alcuni materiali

a differente numero atomico, è riportata in Figura 1.5 al variare dell’energia dei fotoni

incidenti. La lunghezza di assorbimento lµρλ /= , con ρ densità del mezzo, per alcuni

Page 22: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

13

materiali a differente numero atomico, è riportata in Figura 1.5 al variare dell’energia dei

fotoni incidenti.

(a)

(b)

Figura 1.4 Sezione d’urto in funzione dell’energia dei fotoni nel carbonio (a) e nel piombo (b)

In un sensore di silicio (ρSi = 2.42 g/cm3), per fotoni nel range 1 – 100 keV, si ha

λ = (0.001 – 4) g/cm2, da cui un coefficiente di attenuazione µl = (2.42·103 – 0.6) cm-1.

Calcolando lo spessore di silicio ζ necessario ad attenuare il fascio incidente di un fattore e,

Page 23: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

14

tale che I(x) = I0/e ~ 30% I0 , si ottiene ζ = (4 – 1.5·104) µm. Per un sensore con spessore

inferiore ai 100 µm la radiazione non viene completamente assorbita nel mezzo; ci si

aspetta dunque di misurare solo parzialmente l'energia dei fotoni incidenti.

Figura 1.5 Lunghezza di assorbimento dei fotoni in materiali a vario Z [10]

Di seguito vengono descritti in sintesi i tre processi sopra citati.

L’effetto fotoelettrico consiste nell’urto tra un fotone e un atomo, con conseguente

assorbimento del fotone ed emissione di un elettrone dall’atomo, generalmente

appartenente ad una delle orbite più interne (Figura 1.6).

Figura 1.6 Illustrazione dell’effetto fotoelettrico

Page 24: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

15

Risulta, infatti, che un quanto ha maggiore probabilità di produrre effetti fotoelettrici

sugli elettroni degli strati atomici più legati. Perché siano rispettate le leggi di

conservazione dell’energia e dell’impulso, il fotone non può cedere tutta la sua energia ad

un elettrone libero: condizione necessaria affinché avvenga la cessione è che l’elettrone sia

legato ad un nucleo.

L’energia cinetica dell’elettrone emesso, detto fotoelettrone, è pari alla differenza tra

l’energia del fotone e l’energia di legame dell’orbita di appartenenza.

La sezione d’urto diminuisce molto rapidamente con l’energia dei fotoni incidenti; per

energie dei quanti inferiori a 1 MeV, la sezione d’urto è inversamente proporzionale a

(hν)3, dove hν è l’energia trasportata da un quanto, mentre per energie superiori la

diminuzione è più lenta. In corrispondenza delle energie di soglia del processo, inoltre,

presenta improvvise discontinuità per i differenti orbitali (M, L, K), come evidenziato dalla

traiettoria spezzata di µm (Figura 1.7).

Figura 1.7 Coefficiente di attenuazione massico per effetto fotoelettrico

Nell’ effetto Compton (Figura 1.8) il fotone interagisce con un elettrone atomico

considerato come un elettrone libero. Quando ci si riferisce ad un elettrone libero si intende

un elettrone la cui energia di legame è molto minore dell’energia del fotone che lo

colpisce. Pertanto mentre l’effetto fotoelettrico diventa molto probabile quando l’energia

Page 25: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

16

del fotone incidente è confrontabile con quella di legame, quando l’energia del fotone

cresce oltre il valore dell’energia di legame, l’effetto fotoelettrico decresce rapidamente e il

processo Compton diventa sempre più importante.

A seguito dell’urto, l’elettrone riceve parte dell’energia del fotone e viene emesso ad

un angolo θ, mentre il fotone, con energia ridotta, subisce una deflessione di un angolo φ.

Figura 1.8 Illustrazione del processo Compton

Se λ0 è la lunghezza d’onda del fotone incidente e λ quella del fotone scatterato,

studiando il processo Compton come urto tra due particelle e imponendo la conservazione

di energia e quantità di moto, si ricava:

)cos1(0 ϕλλλλ −=−=∆ c (1.9)

in cui λc è la lunghezza d’onda Compton.

La creazione di coppie (Figura 1.9) si verifica quando il fotone interagisce fortemente

solo con il campo elettromagnetico di un nucleo atomico, rilasciando tutta la sua energia

nel processo di creazione di una coppia, costituita da un elettrone e da un positrone.

Figura 1.9 Illustrazione della generazione di una coppia

Page 26: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

17

Il processo può avvenire solo se l’energia trasportata dai fotoni è sufficientemente elevata;

in particolare, essendo la massa a riposo dell’elettrone di 0.51 MeV, l’energia minima del

fotone per generare questo processo deve essere di 1.02 MeV.

1.3.2 Importanza relativa dei vari tipi di interazioni

Il coefficiente di attenuazione (calcolato dividendo la sezione d’urto per la densità del

mezzo massico ρ) viene utilizzato per valutare l’occorrenza dei vari tipi di interazione ed è

ampiamente utilizzato in radioprotezione perché consente di mettere a confronto materiali

con densità molto differenti. La Figura 1.10 e la Figura 1.11 mostrano rispettivamente

l’andamento per acqua e piombo, rappresentativi per materiali a basso Z, e silicio.

Per testare gli effetti prodotti dai raggi X sulla materia viene generalmente utilizzato

un fantoccio in materiale acqua equivalente; l’importanza dei vari tipi di interazione nel

fantoccio si evince dalla Tabella 1.6, in cui sono riassunte le percentuali di interazione in

base all’energia dei fotoni incidenti.

Figura 1.10 Coefficiente di attenuazione massico per acqua e piombo

Page 27: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

18

Figura 1.11 Coefficiente di attenuazione massico per il silicio [10]

Tabella 1.6

Importanza relativa dei tre processi in acqua

Relative Number of Interactions (%) Photon Energy (MeV)

σ Τ π

0.01 95 5 0

0.026 50 50 0

0.060 7 93 0

0.150 0 100 0

4.00 0 94 6

10.00 0 77 23

24.00 0 50 50

100.00 0 16 81

1.3.3 Materiali equivalenti dal punto di vista dell’attenuazione dei fotoni

Due materiali si dicono equivalenti per una determinata energia dei fotoni incidenti, se

in essi avvengono lo stesso numero e lo stesso tipo di interazioni, in volumi che

contengono masse uguali dei materiali confrontati. Il coefficiente di attenuazione massico

di un composto è ottenuto come somma dei contributi dei singoli elementi che lo

costituiscono, ciascuno moltiplicato per la relativa frazione di massa p:

∑=

=

N

i

ii

composto i

p1 ρ

µρµ

(1.10)

Page 28: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

La Radiologia Interventistica e la radioprotezione Capitolo 1

19

dove N è il numero di elementi del composto. Utilizzando una composizione in tipo e

percentuale di atomi molto prossima a quella del materiale da emulare, è possibile

raggiungere una situazione molto vicina a quella ideale di composti perfettamente

equivalenti.

Page 29: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Capitolo 2

Dosimetri commerciali

Nella radioprotezione degli operatori il monitoraggio individuale riveste un ruolo

importante in quanto consente di programmare in modo sicuro ed efficiente le esposizioni,

al fine di mantenere la dose ricevuta quanto più bassa possibile e comunque al di sotto dei

limiti stabiliti dalle normative vigenti [11]-[13]. La valutazione della dose cui sono

sottoposti i lavoratori è condotta mediante l’utilizzo di dosimetri individuali, vale a dire

opportuni dispositivi che consentono la determinazione dell’esposizione del singolo

individuo alle radiazioni ionizzanti. L’importanza dell’accuratezza nelle misure di dose

assorbita per scopi di radioprotezione è anzitutto legata alla necessità di non sottovalutare

gli effetti e le conseguenze per la salute umana che possono verificarsi. Inoltre un adeguato

livello di accuratezza nella dosimetria è necessario anche per evitare indebiti costi

economici per interventi preventivi o di rimedio non realmente necessari; vale a dire la

possibilità di avere a disposizione misure affidabili di dose consente di attuare

esclusivamente gli interventi strettamente necessari per la protezione degli operatori

esposti, in un’ottica di efficacia ed efficienza [14].

In base alle modalità di utilizzo dello stesso, il dosimetro può essere essenzialmente di

tipo total body (a corpo intero), da indossare a livello del torace e sopra l’eventuale camice

protettivo piombato, ad anello alle dita, al cristallino, o presentarsi come bracciale al

polso (Figura 2.1, Figura 2.2, Figura 2.3). Ogni dispositivo viene tarato su un fantoccio

equivalente tenendo conto della posizione in cui sarà posto e pertanto è indispensabile che,

a seconda della taratura, il dosimetro venga posto esclusivamente sulla parte del corpo di

interesse, altrimenti la misura fornita non potrebbe essere correlabile alla dose assorbita.

Page 30: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

21

Figura 2.1 Posizionamento delle diffrenti tipologie di dosimetri [15]

Figura 2.2 Esempio di dosimetro total body e relativo posizionamento [16]

Figura 2.3 Esempio di dosimetro ad anello e relativo posizionamento [16]

Talvolta, nel caso di operatori particolarmente esposti, viene fornito un secondo dosimetro

Page 31: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

22

total body da indossare sotto al camice piombato, [15]; ciò al fine di garantire che la

misura complessiva di dose sia affidabile e corrispondente all’effettiva esposizione anche

nel caso di massicce quantità di radiazioni ionizzanti. Le principali caratteristiche di un

dosimetro cui fare riferimento per caratterizzarne le prestazioni riguardano: sensibilità e

risoluzione, range e soglia di rivelazione, risposta lineare con la dose, omogeneità e

riproducibilità.

Le istruzioni per l’utilizzo dei dosimetri personali da parte del personale medico sono

dettate dall’articolo 68 del decreto legislativo 230/95, che sancisce le seguenti direttive

comportamentali:

− il dosimetro è personale e non può quindi essere ceduto o prestato ad altre persone;

− il dosimetro deve essere portato per tutto il tempo di permanenza nei locali interessati

dall’esposizione alle radiazioni ionizzanti e non può, salvo diversa indicazione, essere

trasportato all’esterno della Struttura d’appartenenza;

− il dosimetro total body deve essere sempre portato all’altezza del petto sul risvolto del

colletto o sul taschino del camice avendo cura che non sia schermato da alcun oggetto;

− quando viene indossato un indumento protettivo (grembiule e/o camice in gomma

piombifera), il dosimetro total body deve essere portato sotto tale indumento;

− il dosimetro a bracciale deve essere indossato al polso prima di effettuare ogni

manipolazione che comporti esposizioni a radiazione ionizzante;

− il dosimetro a bracciale deve essere sempre portato sotto eventuali guanti protettivi;

− al termine del lavoro, il dosimetro deve essere riposto in un luogo ove non sussista

alcuna possibilità d’esposizione alle radiazioni ionizzanti;

− il dosimetro non deve essere esposto di proposito a sorgenti di radiazioni ionizzanti;

− è obbligo del lavoratore l’accurata conservazione del dosimetro: in particolare, il

dosimetro non deve mai né venire a contatto di liquidi, né essere posto vicino a fonti di

calore, né essere aperto o manomesso in alcun modo;

− è obbligo del lavoratore consegnare, secondo la periodicità stabilita, il dosimetro alla

persona incaricata di effettuarne regolarmente il cambio;

− è fatto obbligo di segnalare tempestivamente l'eventuale deterioramento o smarrimento

del dosimetro al Servizio di Fisica Sanitaria, che provvederà alla sua sostituzione;

nell’attesa, l’operatore non può svolgere l’attività che lo espone a rischio da radiazioni

ionizzanti.

In questo capitolo verranno illustrate le diverse tipologie di dosimetri attualmente

Page 32: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

23

disponibili, descrivendone i principi teorici di funzionamento ed evidenziando i relativi

vantaggi e svantaggi applicativi.

2.1 Dosimetri passivi

I dispositivi certificati ed attualmente tipicamente sfruttati per la misura individuale

della dose sono dosimetri passivi, quali dosimetri a film e dosimetri a termoluminescenza

(TLD).

2.1.1 Dosimetri a film sottile (film badge)

Sono essenzialmente costituiti da un contenitore in cui è inserita una pellicola

fotografica. Una rappresentazione grafica è fornita in Figura 2.4.

Figura 2.4 Riproduzione grafica di un dosimetro a film

La pellicola è formata da un supporto, normalmente acetato di cellulosa, su cui è

depositata l'emulsione, vale a dire un sottile strato di gelatina (da un millimetro a qualche

centinaia di micron) contenente piccoli granuli di bromuro di argento (AgBr). Sotto

l'azione della radiazione un granulo di AgBr viene ionizzato, e durante i processi di

sviluppo e fissaggio il bromo viene asportato, lasciando solo l'argento. Di conseguenza sul

fondo di gelatina trasparente si passa dalla cosiddetta immagine latente (sviluppo),

costituita dall'argento metallico, all'annerimento della pellicola (fissaggio) proprio nei

punti dove è fissato l'argento. Il processo di sviluppo costituisce una fase estremamente

delicata in quanto un errore di 2°C nella temperatura di sviluppo porta ad un errore del

10% sulla lettura, mentre l'errore di 1 minuto sulla durata conduce a un errore del 20%; è

Page 33: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

24

perciò necessario agire con attenzione per la determinazione di temperatura e durata

ottimali per il processo.

La misura dell'annerimento della pellicola viene effettuata mediante il densitometro

(Figura 2.5). Un densitometro è un dispositivo messo a punto per misurare la densità ottica,

cioè il potere di assorbimento di luce, di un’immagine fotografica o stampata.

Figura 2.5 Schema di funzionamento di un densitometro [17]

Il fascio di luce prodotto da una sorgente di intensità I0 incide sul dosimetro con

intensità I, dopo aver attraversato un diaframma e la pellicola stessa. Una cellula

fotoelettrica libera a questo punto un numero di elettroni proporzionali all'intensità della

luce incidente, generando una corrente misurabile con un microamperometro in un circuito

esterno. Questo strumento richiede una taratura preventiva per il controllo dello zero del

circuito della cella: in assenza di film interposto, la lettura della corrente deve essere nulla,

mentre si deve avere corrente quando viene esaminata una pellicola esposta.

In base alla definizione di densità ottica (d0), un'emulsione ha densità ottica 1 se

trasmette un decimo della luce incidente:

=

I

Id 0

100 log (2.1)

Poiché la densità ottica in un punto dipende dall'energia ceduta nel punto dalle radiazioni,

essa è in diretta relazione con la dose, purché si abbia l'avvertenza di sottrarre prima il

fondo della pellicola. In particolare è possibile stabilire una ralazione lineare fra d0 e la

Page 34: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

25

fluenza di particelle Ф, attraverso cui risulta proporzionale alla dose assorbita. Pertanto,

indicando con S la sezione di un granulo, con n il numero di grani anneriti per cm2 e con N

il numero totale di grani per cm2 di superficie, si può scrivere

( ) eeSNd S

100 log1 Φ−−= (2.2)

che per piccole fluenze, ovvero SФ<<1, diventa

eNSd 102

0 logΦ= (2.3)

in accordo con quanto anticipato sopra.

Le emulsioni sono utilizzate negli intervalli di linearità fra la densità ottica e la fluenza.

Questi intervalli sono ricavabili dai grafici H-D, così chiamati dal nome degli autori Hurter

e Driffield, che mostrano l’andamento di d0 in funzione di Ф. Un esempio di grafico H-D è

riportato in Figura 2.6,in cui è evidenziato il tratto di caratteristica lineare.

Figura 2.6 Un esempio di grafico H-D [17]

Prima del suo impiego una pellicola deve essere tarata, per avere la curva di densità ottica

netta in funzione della grandezza dosimetrica da misurare (esposizione, dose, ecc.).

Si parla di fading per indicare la perdita d’informazione nel tempo; nei dosimetri a film

questa si attesta intorno al 20÷30% mensile, per cui è consigliabile sostituirli al personale

ogni 1÷2 mesi, mentre la lettura può essere ripetuta in ogni momento. Per questo motivo

sono ancora oggi spesso preferiti ai TLD. I dosimetri a film sottile sono impiegati per

fotoni e particelle β [17].

Page 35: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

26

2.1.2 Dosimetri a termoluminescenza (TLD)

Il fenomeno fisico sul quale si basa il funzionamento dei TLD è la termoluminescenza,

che si manifesta in alcune sostanze isolanti (ad esempio CaF2, LiF o BeO), dette fosfori,

sotto forma di una debole luce emessa per riscaldamento a seguito di una esposizione a

radiazione. Il meccanismo del fenomeno si spiega con la presenza di livelli energetici nel

gap proibito del materiale, originati dalla presenza di attivatori, come impurità o difetti

reticolari, nella struttura cristallina. L'energia ceduta dalla radiazione incidente produce il

passaggio di alcuni elettroni dalla banda di valenza V alla banda di conduzione C (Figura

2.7), con la conseguente formazione di lacune nella banda di valenza. Alcuni elettroni e

lacune si ricombinano immediatamente, mentre altri sono catturati in questi livelli

energetici metastabili e vi possono rimanere intrappolati a lungo, a meno che non

intervengano fenomeni in grado di fornire loro l’energia necessaria per sfuggire alle

trappole. In questo caso, alcuni elettroni passano nella banda di conduzione e ricadono,

esaurito il rispettivo tempo di vita medio, nella banda di valenza, dove possono

ricombinarsi con le lacune. È in questo processo, detto di termoluminescenza, che si

verifica l'emissione di luce visibile (Figura 2.7).

Figura 2.7 Meccanismo fisico della termoluminescenza [17]

Man mano che viene trasferito calore al cristallo, aumenta lo svuotamento delle

trappole, finché a una determinata temperatura tutte le trappole di un determinato livello

energetico risultano vuote. Il grafico dell'intensità della luce emessa in funzione della

temperatura, o del tempo di riscaldamento, presenta una successione di picchi,

corrispondenti alla completa liberazione delle trappole di un dato livello, preceduti da lente

risalite, legate all’inizio dello svuotamento di ogni nuovo livello. Ciascun picco successivo

Page 36: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

27

è piu intenso del precedente, in quanto i livelli sono man mano più energetici,

conseguentemente ogni nuova discesa è più ripida della precedente. Tale curva, graficata in

Figura 2.8, è caratteristica di ogni sostanza ed è detta curva di luminescenza (glow curve).

L’area di ogni picco è proporzionale alla dose assorbita.

Figura 2.8 Esempio di curva di luminescenza [17]

I TLD sono perciò realizzati sfruttando cristalli che esibiscono il fenomeno della

termoluminescenza; questi dispositivi “accumulano” la radiazione assorbita per un fissato

periodo temporale e periodiamente vengono sottoposti alla lettura tramite un processo di

riscaldamento a circa 400°C. La frequenza con cui avvengono i salti energetici è legata alla

frequenza della radiazione incidente; si può, quindi, risalire alla misura della dose di

radiazione ionizzante cui è stato esposto l’operatore nell’arco temporale considerato. Prima

di essere usato, il TLD deve essere azzerato, attraverso una preventiva fase di annealing,

allo scopo di svuotare le trappole e di renderle stabili, secondo procedimenti diversi per

ogni sostanza. Esempi di TLD sono quelli riportati in Figura 2.2 e Figura 2.3.

I TLD sono sensibili nel range energetico compreso tra 10 keV e 3 MeV. Le misure non

avvengono in tempo reale e i tempi di risposta sono lunghi, circa qualche giorno, visto che

le fasi di misura e di lettura del dispositivo sono separate e spesso affidate a servizi sanitari

differenti. La misura fornita, inoltre, è relativa alla dose integrale, non permettendo quindi

di ottimizzare istante per istante l'esposizione nelle procedure, e, poiché la periodicità di

sostituzione è mensile, si perde l'informazione sull'esposizione nei singoli interventi.

Page 37: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

28

2.2 Dosimetri attivi

Accanto ai dosimetri passivi sono disponibili in commercio dosimetri attivi (Active

Personal Dosimeters, APD), che sfruttano tecnologie a semiconduttore e si basano su

sistemi di rivelazione che forniscono una risposta diretta e istantanea della dose [18]. Il

passo avanti rispetto ai dosimetri passivi è proprio quello di fornire delle valutazioni in

tempo reale dell’esposizione alle radiazioni, talvolta anche grazie alla dotazione di segnali

acustici che allertano l’operatore nel caso di raggiungimento dei limiti previsti,

consentendo di intervenire tempestivamente ed efficacemente nella riorganizzazione delle

attività lavorative.

2.2.1 Dosimetri a semiconduttore e dosimetri DIS

Nei dosimetri a semiconduttore (diodi al silicio) la radiazione ionizzante interagisce

nella regione di svuotamento determinando la produzione di coppie elettrone-lacuna; le

particelle cariche generate vengono quindi separate e raccolte per effetto della differenza di

potenziale applicata Figura 2.9. Ciò produce nel diodo un impulso che viene a sua volta

processato dall’elettronica di elaborazione prevista.

Figura 2.9 Principio di funzionamento di un dosimetro a semiconduttore [18]

Generalmente utilizzati per raggi X e gamma, possono talvolta essere sfruttati per la

rivelazione di neutroni grazie all’utilizzo di materiali che convertono il flusso neutronico in

Page 38: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

29

particelle cariche [18].

Il dosimetro Direct Ion Storage (DIS) nasce dall’accoppiamento tra una camera a

ionizzazione e una cella di memoria non volatile che utilizza la tecnologia MOSFET

(Metal Oxide Semiconductor Field Effect Transistor), consentendo di rivelare raggi X,

raggi gamma, raggi beta e neutroni. La radiazione incidente induce la ionizzazione del

dispositivo, provocando un’alterazione della carica sul floating gate; la variazione della

carica è quindi direttamente correlabile con la dose assorbita e ciò consente di effettuare la

misura. Le prestazioni del dispositivo possono essere ottimizzate tramite la scelta più

opportuna del materiale che costituisce le pareti e il gas.

Figura 2.10 Camera di ionizzazione e cella di memoria MOSFET [18]

L’utilizzo del floating gate del MOSFET come uno degli elettrodi della camera a

ionizzazione permette la miniaturizzazione del dispositivo, evita la necessità di

un’alimentazione durante la fase di accumulazione della dose e consente che la lettura

avvenga senza distruzione dell’informazione dosimetrica [19]. La lettura della carica

immagazzinata, inoltre, viene svolta senza “disturbare” la carica stessa, misurando la

conducibilità del transistore.

2.2.2 Esempi di APD commerciali

Il presente paragrafo illustra alcuni esempi di dosimetri attivi attualmente

commercializzati, quali Unfors EDD-30, Philips DoseAware, Dosilab EDM-III,

ThermoScientific EPD-MK2+ e RaySafe i2, sottolineando le peculiarità di ciascuno.

− Unfors EDD-30

L’Unfors EDD-30 (Figura 2.11) è un semplice dosimetro formato da un piccolo rivelatore

a stato solido posto su un cavo collegato a un display. Il sensore può misurare la dose e il

Page 39: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

30

rateo di dose per una specifica parte del corpo, per esempio gli occhi, mani, piedi, o per il

corpo intero. Viene misurato, inoltre, anche il tempo totale di esposizione. Una volta

posizionati sensore e display si accende lo strumento e la dose viene automaticamente

misurata in accumulazione.

Figura 2.11 Unfors EDD-30 [20]

Raggiunto il livello impostato di dose o di rateo di dose si attiva un allarme sonoro che

avverte in tempo reale l’operatore del superamento dei limiti. La casa costruttrice imposta

livelli di allarme nominati body, eye e hand per produrre un segnale acustico di modo che

l’operatore venga stimolato a correggere il proprio comportamento e i propri metodi

durante l’esecuzione di una data procedura.

Tabella 2.1

Livelli di allarme impostati dalla casa costruttrice [20]

Set Up Livello di allarme 1

Rateo di Dose

Livello di allarme 2

Rateo di Dose

Livello di allarme 3

Rateo di Dose

Body 0.1 mSv/h 0.5 mS/h 2.5 mSv/h

Eye 0.3 mSv/h 1.5 mSv/h 7.5 mSv/h

Hand 1.0 mSv/h 5.0 mSv/h 25 mSv/h

FrEE 0.3 mSv/h 1.5 mSv/h 7.5 mSv/h

Il dosimetro opera su una banda di 10 Hz, alimentato con due batterie alcaline e si spegne

automaticamente dopo due ore di inattività o in assenza di radiazioni rilevate; il sensore ha

inoltre una risposta di rivelazione sferica, permettendo la misura della dose

indipendentemente dall’angolo incidente della radiazione [22].

Page 40: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

31

− Philips DoseAware

DoseAware consente di ottenere informazioni in tempo reale sulla dose assorbita,

fornendo un rapido accesso alla storia di esposizione di ciascun operatore. Il sistema si

compone di uno schermo touch screen (base station) che visulizza le informazioni relative

a ciascun lavoratore memorizzato (è prevista la possibilità di creare una rete con

molteplici base stations i cui dati sono elaborati da un apposito software), e di un piccolo

dosimetro personale (Personal Dose Meter) che rileva la radiazione e trasmette le

informazioni alla base station, consentendone la visualizzazione real time. Sono poi

forniti oggetti accessori utilizzati per riporre i dispositivi quando non in uso. La dotazione

è mostrata in Figura 2.12.

Figura 2.12 Il sistema DoseAware [23]

La stazione base viene posizionata nella stanza in cui vengono effettuate le procedure, in

modo che sia visibile a tutto il personale impegnato; gli operatori, ciascuno dei quali

indossa il dosimetro personale, possono controllare in tempo reale la rispettiva situazione,

grazie a tre livelli di attenzione crescente, vale a dire verde, giallo e rosso.

Il range di dose relativamente al sensore è compreso fra 1µSv e 10Sv, con una risoluzione

di 1µSv e un’incertezza con cui vengono fornite le misure che si attesta al 5%, [23].

− Dosilab EDM-III

Il dosimetro Dosilab EDM-III esibisce un un energy range di misura compreso fra 20 keV

e 6 MeV, di cui l’intervallo da 20 keV e 1.5 MeV per la rivelazione di fotoni (raggi X e

Gamma), e quello da 1.5 MeV a 6 MeV per radiazioni beta. Il display di cui è fornito il

dispositivo (Figura 2.13) permette di visualizzare i valori di corrente alternativamente per

misure di deep dose, con una profondità di 10 mm (Hp10), shallow dose, con una

profondità di 0.07 mm (Hp0.07), deep dose rate (Hp10/h) e shallow dose rate (Hp0.07/h).

Page 41: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

32

Lo stesso display informa relativamente a situazioni di allerta, come il raggiungimento dei

limiti di esposizione fissati per gli operatori o un basso livello di batteria. È possibile

immagazzinare fino a 50 esposizioni con almeno un minuto di intervallo fra due

esposizioni consecutive; qualora avvengano due esposizioni nell’arco di uno stesso

minuto, il dosimetro le considera come fossero una soltanto, sommando i risultati di

misura di ciascuna [24].

Figura 2.13 Il dosimetro Dosilab EDM- III

− ThermoScientific EPD-Mk2+

Nato come evoluzione del progetto originale Mk2, si tratta di un dispositivo utilizzabile

sia come dosimetro stand alone, che come elemento di un più complesso sistema

dosimetrico, grazie agli strumenti hardware e software messi a disposizione dalla casa

produttrice. Il dosimetro EPD-Mk2+ si presenta come mostrato in Figura 2.14.

Figura 2.14 Il dosimetro TermoScientific EPD-MK2+ [26]

Risulta sensibile ai raggi X, gamma e alle particelle beta, offrendo prestazioni avanzate nel

range tra 15 keV e 10 MeV. È prevista la possibilità di configurare un allarme acustico che

avverta il raggiungimento dei limiti di esposizioni, mentre display e funzioni sono

controllabili per mezzo di un singolo pulsante posizionato sul pannello frontale dell’unità,

opportunamente “incassato” per evitare operazioni indesiderate. È inoltre possibile

Page 42: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

33

eseguire dei controlli di integrità prima dell’utilizzo, quali test sulla batteria e sul detector,

o lettura della tensione fornita dalla batteria stessa [26].

− RaySafe i2

Il dispositivo RaySafe i2 fornisce informazioni accurate, real time e di facile lettura sulla

dose assorbita dagli operatori impegnati nelle procedure di RI. Il sistema dosimetrico nel

suo complesso (Figura 2.15) si compone in primo luogo di un dosimetro attivo (i2

Dosimeter), per la lettura e memorizzazione della dose secondo per secondo; i dati raccolti

sono quindi inviati con tecnologa wireless ad un display touch screen (i2 real time

display), che visualizza le informazioni provenienti da tutti i dosimetri collegati in tempo

reale; barre che possono essere di colore verde, giallo e rosso sono utilizzate per fornire

un’informazione qualitativa immediata del livello di pericolosità cui è giunto ciascun

opratore. Selezionando inoltre uno qualsiasi degli operatori memorizzati e presenti in lista

si accede alla storia personale di ciascuno. Accanto alla strumentazione hardware sono

infine forniti i software RaySafe i2 dose viewer e RaySafe i2 dose manager, per analisi

avanzate di dati, operazioni di archivio e gestione di display multipli [27].

Figura 2.15 Il sistema dosimetrico RaySafe i2 [27]

La Tabella 2.2 schematizza le pricipali caratteristiche dei dosimetri attivi descritti nel

paragrafo, consentendo un rapido confronto delle relative specifiche.

Nonostante i notevoli vantaggi sottolineati relativamente all’utilizzo dei sistemi

dosimetrici attivi, questi non sono ancora in grado di fornire le stesse prestazioni dei

dosimetri passivi con il tipo di raggi X utilizzati durante le procedure; la loro risposta è

infatti più scarsa rispetto ai TLD e l’energy range in cui lavorano ha un limite inferiore

maggiore (14-48 keV contro i 10 keV dei TLD).

Page 43: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dos

imet

ri c

omm

erci

ali

C

apit

olo

2

34

Tab

ella

2.2

Sch

ema

rias

sunt

ivo

dell

e sp

ecif

iche

dei

sen

sori

Unf

ors

ED

D-3

0, P

hili

ps D

oseA

war

e, D

osil

ab E

DM

-III

, T

herm

oSci

enti

fic

EP

D-M

k2+

e R

ayS

afe

i2

U

nfo

rs E

DD

-30

[2

1]-

[22

]

Ph

ilip

s D

ose

Aw

are

[2

3]

D

osi

lab

ED

M-I

II [

25

] T

he

rmo

Sci

en

tifi

c E

PD

-Mk

2+

[2

6]

Ra

yS

afe

i2

[2

7]

Tip

olo

gia

di

sen

sore

se

mic

on

du

tto

re

sem

ico

nd

utt

ore

se

mic

on

du

tto

re

sem

ico

nd

utt

ore

se

mic

on

du

tto

re

Ap

pli

cazi

on

e

pri

nci

pa

le

do

sim

etr

ia o

pe

rato

ri

do

sim

etr

ia o

pe

rato

ri

do

sim

etr

ia o

pe

rato

ri

do

sim

etr

ia o

pe

rato

ri

do

sim

etr

ia o

pe

rato

ri

Co

nn

ett

ivit

à

wir

ed

(se

nso

re c

oll

eg

ato

ad

un

'un

ità

di

visu

ali

zza

zio

ne

po

rta

tile

)

wir

ele

ss

inte

rfa

ccia

IR

fin

o a

1 m

wir

ele

ss r

ad

io c

om

mu

nic

ati

on

con

i d

osi

me

tri

– p

ort

e

eth

ern

et

10

/10

0 M

bit

/s

con

ne

ssio

ne

de

l d

ose

ma

na

ge

r

All

arm

e

si

si

si

Dim

en

sio

ni

sen

sore

6

x 1

1 x

22

mm

8

5 x

63

x 1

9 m

m

30

0 x

25

0 x

60

mm

Dim

en

sio

ni

alt

ri

dis

po

siti

vi

un

ità

di

visu

ali

zza

zio

ne

: 8

2 x

98

x 2

1 m

m l

un

gh

ezz

a c

avo

: 1

.5 m

En

erg

y r

an

ge

0

.01

4 –

0.1

20

Me

V (

±1

0%

) 0

.04

8 –

0.1

00

Me

V (

±3

0%

) 0

.02

– 6

Me

V

0.0

15

– 1

0 M

eV

N

-40

– N

-10

0 (

33

– 8

4 k

eV

)

N-1

00

– N

-12

0 (

84

– 1

01

ke

V)

Do

se r

an

ge

1

0 n

Sv

– 9

99

9 S

v –

1

μS

v –

1 S

v 0

μS

v –

16

Sv

1 μ

Sv

– 1

0 S

v

Do

se r

ate

ra

ng

e

0.0

3 m

Sv/

h –

2 S

v/h

4

0 µ

Sv/

h –

30

0 m

Sv/

h

0.5

μS

v/h

– 1

Sv/

h

0 μ

Sv/

h –

4 S

v/h

4

0 μ

Sv/

h –

15

0 m

Sv/

h (

±1

0%

)

15

0 m

Sv/

h –

30

0 m

Sv/

h (

±2

0%

)

Te

mp

o e

spo

sizi

on

e

10

ms

– 9

99

9 s

Ris

po

sta

sf

eri

ca (

v. d

ett

ag

li i

n [

22

])

an

iso

tro

pa

(v.

de

tta

gli

in

[2

6])

Se

nsi

bil

ità

Ca

lib

razi

on

e

N-8

0 (

80

Kvp

, 2

mm

Cu

an

d

4m

m A

l)

N-4

0,

N-1

00

, N

-12

0

Du

rata

ba

tte

rie

1

30

ore

(2

pil

e A

A)

1.5

V a

lca

lin

e:

45

– 5

0 c

on

tin

uo

,

~ 1

0 m

esi

in

OF

F m

od

e

3.6

V l

ith

ium

: 5

me

si c

on

tin

uo

, ~

10

me

si O

FF

mo

de

3 –

5 a

nn

i (d

ipe

nd

en

tem

en

te

da

ll’u

tili

zzo

qu

oti

dia

no

)

Page 44: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

35

La Tabella 2.3 riassume i principali vantaggi e svantaggi nell’impiego di sistemi

dosimetrici attivi e passivi.

Tabella 2.3

Schema riassuntivo sui vantaggi e svantaggi di dosimetri attivi e passivi

Vantaggi Svantaggi

Dosimetri

passivi

Facilmente gestibili in termini

di posizionamento

Determinazione non real time

della dose

Tempi di risposta lunghi (giorni)

Misura e lettura separati

Forniscono una misura di dose

integrale

Dosimetri

attivi

Determinazione real time della

dose

Possibilità di definizione di

opportuni livelli di intervento

Più efficace pianificazione

delle procedure di RI

Prestazioni inferiori con i raggi

X utilizzati nelle procedure

Energy range inferiore

Risposta più scarsa

2.3 Il progetto RAPID

Il progetto RAPID (Real Time Active Pixel Dosimetry) nasce da una collaborazione tra

l’Istituto Nazionale di Fisica Nucleare (INFN) di Perugia, l’Università degli Studi di

Perugia, il Servizio di Fisica Sanitaria dell’ASL3 dell’Umbria presso l’Ospedale di Foligno

e il Servizio di Fisica Sanitaria dell’ASL1 dell’Umbria presso l’Ospedale di Città di

Castello. Obiettivo del progetto è lo sviluppo di un nuovo approccio per effettuare il

monitoraggio degli operatori attraverso l’uso di rivelatori a matrice di pixel attivi (Active

Pixel Sensors, APS), che consenta essenzialmente di:

− effettuare un monitoraggio in tempo reale della dose assorbita dagli operatori;

− creare un archivio remoto delle dosi assorbite da ciascun operatore per ottimizzare la

pianificazione delle procedure e minimizzare le code, contribuendo ad una gestione più

efficace del lavoro.

La possibilità di comunicare il dato dosimetrico in tempo reale, infatti, favorisce una

Page 45: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Dosimetri commerciali Capitolo 2

36

maggior consapevolezza dell’esposizione a radiazioni ionizzanti e, conoscendo

l'esposizione, si potrà agire, istante per istante, su tutte le variabili che determinano la dose

finale, come modalità di acquisizione (pulsata, continua, alta o bassa risoluzione), utilizzo

degli ingrandimenti, posizione del rivelatore d’immagine, angolazione del fascio

radiogeno, distanza dal paziente. L’attività di sorveglianza radioprotezionistica risulta in tal

modo nettamente agevolata, poiché la conoscenza del dato dosimetrico permette di

intervenire immediatamente nel caso di superamento dei limiti di esposizione

dell'operatore. L’idea è inoltre che, fornendo dati già in formato digitale, la gestione degli

stessi risulta notevolmente semplificata, con l’ulteriore possibilità di creare database per

valutazioni volte a migliorare l'operatività dei lavoratori, delle procedure interventistiche e

dell'attività di radioprotezione in generale.

Per gli scopi elencati il dispositivo che si vuole progettare deve essere anzitutto portabile,

pratico da indossare, ad esempio come bracciale o fascia, naturalmente sensibile ai raggi X

utilizzati nelle procedure di RI, vale a dire dai 5keV in su, e fornire una misura accurata

della dose, del 10% circa.

La Figura 2.16 schematizza il sistema dosimetrico real time finale che si intende realizzare,

a partire dal monitoraggio della dose effetiva ricevuta dall’operatore (sensore), fino

all’elaborazione digitale dei dati e all’interfaccia wireless con un PC remoto.

Figura 2.16 Schema del sistema dosimetrico in base al progetto RAPID

Page 46: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Capitolo 3

Architettura del sistema

Nel Capitolo 3 verrà descritta l’architettura del sistema sviluppato nell’ambito del

progetto RAPID, individuando le pricipali funzioni e peculiarità dei singoli blocchi

costitutivi. In particolare, nel Paragrafo 3.2, verrà condotta un’analisi dettagliata del

sensore di immagine utilizzato come rivelatore di radiazione, omettendo il riferimento

bibliografico al manuale ed evitando di indicare in modo esplicito il nome del dispositivo

per motivi di riservatezza.

3.1 I blocchi costitutivi

Lo schema a blocchi del sistema è riportato in Figura 3.1.

Figura 3.1 I blocchi costitutivi del sistema

Si può distinguere un blocco funzionale dedicato all’acquisizione, elaborazione e

Page 47: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

38

trasmissione dati (sensore, Complex Programmable Logic Device (CPLD) e

microcontrollore (CC430)) e un blocco di ricezione (costituito da un CC1111, un System-

On-Chip (SoC) direttamente connesso al PC remoto). Il protocollo di trasmissione e

ricezione dati è proprietario di Texas Instruments ed è denominato SimpliciTI.

Di seguito verranno forniti maggiori dettagli sui singoli blocchi costitutivi.

− SENSORE

Il sensore utilizzato è un sensore di immagine commerciale a matrice di pixel attivi (Active

Pixel Sensor, APS), che si occupa della rivelazione della radiazione incidente. Si tratta

essenzialmente di un trasduttore, che converte la grandezza fisica che interessa misurare in

un segnale elettrico, a sua volta digitalizzato tramite un ADC a 10 bit integrato nel sensore

(per i dettagli si rimanda al paragrafo 3.2).

− CPLD

Il CPLD è un dispositivo programmabile la cui architettura è costituita da una

combinazione di una matrice di porte AND/OR completamente programmabili e un banco

di macrocelle. Le porte AND/OR sono programmabili in modo da realizzare una

moltitudine di funzioni logiche. Le macrocelle sono dei blocchi funzionali in grado di

performare logica combinatoria o sequenziale [28]. Il modello di CPLD impiegato nel

progetto è MAX 7000S, che appartiene alla famiglia MAX 7000 dell’ALTERA.

Nel CPLD è stata implementata la logica che si occupa dell’estrazione dai dati acquisiti

dell’informazione relativa al numero di fotoni incidenti attraverso una misura del numero

di pixel il cui segnale è maggiore di un determinato valore di soglia. Tale soglia, in questa

versione del sistema, non viene memorizzata nel CPLD ma può essere definita

esternamente attraverso un banco di 10 switch. La logica implementata consta

essenzialmente di un comparatore, per confrontare il segnale fornito dai pixel con la

soglia, e un contatore, che viene incrementato per il conteggio dei pixel sopra soglia. Si

prevede, inoltre, la possibilità di emulare internamente al chip il funzionamento del

sensore, per le fasi di test del dispositivo.

− CC430

Si tratta di un microcontrollore SoC (System On Chip) della Texas Instruments, che integra

al suo interno un core della famiglia MSP430, un transceiver RF e numerose ulteriori

periferiche in grado di performare molteplici applicazioni [29].

Il CC430 è in comunicazione sia con il sensore, attraverso il protocollo I2C, che con il

CPLD; ad ogni frame di dati, generato dal sensore ed elaborato dal CPLD, il

microcontrollore accede alle informazioni del contatore e lo azzera. Il CC430 si occupa

Page 48: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

39

quindi della trasmissione dei dati al PC remoto e dell’esecuzione dei comandi remoti, della

lettura/scrittura dei registri del sensore e della trasmissione del relativo contenuto.

Sensore e CC430 sono alloggiati su schede dedicate, denominate rispettivamente

SensorBoard e DemoBoard, mentre la scheda che consente l’interfacciamento fra i due

dispositivi è chiamata RapidBoard. Oltre al sensore, la SensorBoard ospita due regolatori

di tensione per l’alimentazione e un oscillatore al quarzo per la generazione del clock; la

scheda è alimentata a 5 V, mentre il sensore necessita di 2.8 V. È eventualmente possibile

montare il solo sensore direttamente sulla scheda d’interfaccia. La DemoBoard ospita il

CC430 insieme a tutta la circuiteria necessaria per l’adattamento d’impedenza dell’uscita

RF del chip con quella standard di 50 Ω del connettore SMA utilizzato per collegare

l’antenna; è inoltre possibile connettere un portabatteria per alimentare la scheda con due

pile AA e funziona a 3.3 V. SensorBoard e DemoBoard vengono entrambe connesse con la

RapidBoard, che ingloba cinque isolatori digitali e dei connettori, grazie ai quali è

possibile eseguire il debug del firmware e le misure sul rumore introdotto dalla parte RF, e

un connettore per le connessioni utilizzate sulla DemoBoard. È possibile selezionare due

diverse sorgenti di alimentazione, che sono:

• step-up DC/DC per generare la tensione di 5 V a partire dai 3.3 V di una cella

Li-Ion,

• alimentazione esterna a 5 V AC o DC.

È inoltre presente una serie di LDO (Low-dropout regulator) per generare tutte le tensioni

necessarie al corretto funzionamento dei sensori montati sulla scheda. Una matrice di

jumper consente di scegliere quale delle 2 possibili tensioni di alimentazione utilizzare.

− CC1111

Il CC1111 integra al suo interno un core appartenente alla famiglia 8051, un transceiver

RF CC1101; il modello utilizzato è il CC1111F32, che presenta una memoria flash

programmabile di 32 kB e una RAM di 4 kB, in un piccolo package di 6 x 6 mm [30].

Direttamente connesso al PC remoto, consente la ricezione dei dati dal CC430 e la

ricezione del contenuto dei registri del sensore; rappresenta inoltre un ponte per i comandi

remoti.

− Protocollo di trasmissione: TI SimpliciTI

La Texas Instruments fornisce una Application Programming Interface (API) in linguaggio

C chiamata SimpliciTI. Si tratta di un insieme di semplici librerie, composte da 5 funzioni

principali, che permettono di realizzare un protocollo di rete wireless con tutti i dispositivi

Page 49: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

40

che contengano un transceiver analogo a quelli utilizzati dal CC430 e dal CC1111.

3.2 Il sensore

Il sensore utilizzato nel sistema è un sensore di immagine commerciale con formato

Video Graphics Array (VGA), costituito da una matrice 668 x 496 (668 righe e 496

colonne, di cui solo 649 x 489 formano l’area attiva) di pixel attivi. Il sensore è

programmabile tramite un semplice bus seriale a due fili (two-wire bus) simile al

protocollo I2C, ed esibisce un consumo di potenza molto basso (70 mW a 2.8 V e 27

MHZ). Può operare in una modalità definita di default, o può essere programmato

dall’utente impostando i parametri d’interesse tramite registri dedicati; nel primo caso

viene fornita un’immagine in formato VGA a 30 fps. Nel chip è, inoltre, presente un ADC

che digitalizza il segnale di ciascun pixel con 10 bit. La Figura 3.2 e la Figura 3.3 mostrano

rispettivamente il diagramma a blocchi e la configurazione di default del sensore, con le

connessioni suggerite dalla casa costruttrice per un buon funzionamento del dspositivo.

Figura 3.2 Diagramma a blocchi del sensore

I blocchi costitutivi fondamentali e la relativa funzione sono sinteticamente di seguito

riassunti:

− VGA APS Array => si tratta della matrice 668 x 496 complessiva di pixel attivi;

− Analog Processing => i pixel convertono la radiazione di luce incidente in un segnale;

elettrico analogico. Questo viene processato dal blocco in esame prima del suo

Page 50: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

41

ingresso nell’ADC, al fine di filtrare le componenti di rumore e adattarne la dinamica

al range dell’ADC, per la massimizzazione del rapporto segnale-rumore di

quantizzazione (SQNR);

− ADC => esegue la conversione analogico-digitale del segnale prodotto dalla matrice di

pixel attivi. La codifica è effettuata su 10 bit;

− Timing and Control => fornisce la temporizzazione e la logica di controllo al sistema;

− Control Register => si tratta dei registri dedicati programmabili; insieme al Timing

and Control costituisce la parte digitale del dispositivo.

Figura 3.3 Configurazione di default del sensore

Con riferimento alla Figura 3.4 di seguito verranno elencati i segnali in ingresso/uscita che

consentono di definire il funzionamneto del sensore e di accedere ai dati acquisiti dal

sensore stesso.

− VAA, VAAPIX, VDD => rispettivamente alimentazione analogica (2.8 V),

alimentazione del pixel (2.8 V), alimentazione digitale (2.8 V);

− DGND, AGND => rispettivamente ground digitale e analogico;

− CLK_IN => master clock con una frequenza massima di 27 MHz, input;

− SCLK => segnale di clock seriale utilizzato dal protocollo I2C, input;

− OE_BAR => Output_Enable_Bar, quando alto disabilita i driver d’uscita del pixel,

input;

Page 51: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

42

− RESET_BAR => reset asincrono del sensore, quando basso ripristina la

configurazione di default, input;

− SCAN_EN => collegamento alla massa digitale, input;

− STANDBY => quando alto disabilita il sensore, input;

− SDATA => segnale di I/O che trasporta i dati seriali del protocollo I2C, bidirezionale;

− DOUT, i => con i che va da 0 a 9, trasporta il bit i-esimo in uscita dal pixel, output;

− FRAME_VALID => alto durante un frame di dati validi in uscita dal pixel, output;

− LINE_VALID => alto durante una linea di dati validi in uscita dal pixel, output;

− PIXCLK => pixel clock, segnale di clock di frequenza pari alla metà di quella del

master clock, utilizzato per temporizzare i dati in uscita dal sensore sincronizzandoli

con il suo fronte di salita, output.

Figura 3.4 Disposizione dei pin nel chip

Nel dettaglio, la matrice di pixel presenta le prime 18 colonne, contate da destra verso

sinistra, e le prime 6 righe, contate dall’alto verso il basso, otticamente nere. Tali pixel

vengono utilizzati per monitorare il livello del colore nero. In modo analogo anche l’ultima

colonna e l’ultima riga sono otticamente nere. Restano perciò 649 x 489 pixel attivi, di cui

altri 81 sono sfruttati per fornire una cornice spessa 4 pixel, con lo scopo di evitare effetti

di contorno durante l’interpolazione e la correzione del colore, mentre un’ulteriore riga

Page 52: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

43

aggiuntiva e un’ulteriore colonna aggiuntiva sono usate per consentire alle letture in uscita

specchiate orizzontalmente e verticalmente di partire dallo stesso colore. La restante

matrice di pixel attivi, che consente perciò la rivelazione vera e propria dell’immagine, è

un array 640 x 480, come mostrato in Figura 3.5.

Figura 3.5 Struttura della matrice di pixel attivi

Il sensore utilizza lo schema di colori RGB di Bayer per la rivelazione dell’immagine.

Si tratta di un modello additivo in cui rosso (Red), verde (Green) e blu (Blue) sono

sommati insieme in diversi modi per riprodurre un array di colori differenti. In particolare

l’array di filtri di colore di Bayer è un popolare formato per l’acquisizione digitale di

immagini colorate [31]; lo schema è mostrato in Figura 3.6, in cui si nota come metà del

numero totale di pixel è verde, mentre al blu e al rosso è assegnato un quarto ciascuno.

Figura 3.6 Il modello di colori RGB

Più nel dettaglio le righe pari contengono pixel di colore verde e rosso, mentre quelle

Page 53: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

44

LINE_VALID

PIXCLK

blanking Valid Image Data blanking

DOUT9-DOUT0 P0 (9:0) P1 (9:0) P2 (9:0) P3 (9:0) P4 (9:0) P5 (9:0) Pn (9:0)

dispari blu e verde; ed ancora alle colonne pari corrispondono i colori verde e blu, mentre

alle dispari verde e rosso. La Figura 3.6 mette anche in evidenza le direzioni in cui

avvengono le scansioni della matrice di pixel per la lettura di righe e colonne.

I dati immagine validi forniti da ciascuna scansione dell’array sono circondati da righe e

colonne di zeri (blanking, vuoti), il cui numero è programmabile tramite opportuni registri.

Il segnale LINE_VALID è alto quando vengono forniti dati immagine validi, vale a dire

per tutta la zona celeste di Figura 3.7.

Figura 3.7 Illustrazione spaziale della lettura dell’immagine

In particolare i dati validi forniti dai pixel sono sincronizzati con il segnale PIXCLK: per

tutto il tempo in cui LINE_VALID è alto un dato costituito da 10 bit viene generato in

uscita ad ogni periodo del PIXCLK (Figura 3.8). Il periodo del pixel clock è due volte

quello del master clock (CLK_IN) ed è tale per cui i fronti di salita del pixel clock

avvengano a metà di un periodo del master clock (Figura 3.9), dopo i fronti del segnale

DOUT. PIXCLK rimane alto per un intero periodo di CLK_IN e basso per un altro intero

periodo, ed è abilitato anche durante i blanking.

Figura 3.8 Diagramma temporale dei dati forniti dal pixel

Page 54: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

45

Figura 3.9 Andamento temporale relativo dei segnali master clock e pixel clock

Inoltre il segnale FRAME_VALID va alto 6 cicli di pixel clock prima che LINE_VALID

vada alto per la prima volta. Ciò è schematizzato in Figura 3.10.

Figura 3.10 Andamento temporale relativo dei segnali FRAME_VALID e LINE_VALID

I registri del sensore sono scritti e letti tramite il bus seriale a due fili. In tal senso il

sensore è un’interfaccia seriale che svolge la funzione di slave, ed è controllato dal clock

seriale SCLK, a sua volta pilotato dal master. I dati sono trasferiti da e verso il sensore

grazie al segnale seriale SDATA. La resistenza da 1.5 Ω di Figura 3.3 fa da pull up,

portando SDATA a VDD, mentre la funzione di pull down può essere svolta sia dal

dispositivo master che da quello slave; ciò è determinato, ad ogni istante assegnato, dal

protocollo di interfaccia seriale.

I registri sono a 16 bit, ed è possibile accedervi tramite il bus seriale a due fili con

sequenze di 8 o 16 bit. Una tipica sequenza di lettura o scrittura inizia con l’invio da parte

del master di uno start bit, al quale segue l’invio dell’indirizzo a 8 bit del dispositivo di

slave: l’ultimo bit dell’indirizzo determina il tipo di richiesta, 0 nel caso di scrittura e 1 in

quello di lettura. A sua volta lo slave risponde al master inviando un bit di ackowledgment

come conferma del proprio indirizzo.

In caso di scrittura il master trasferisce l’indirizzo a 8 bit del registro in

corrispondenza del quale deve avvenire la scrittura, con conseguente invio del bit di

ackowledgment da parte dello slave, a conferma dell’avvenuta ricezione dell’indirizzo. A

questo punto il master trasferisce i dati 8 bit alla volta, e al termine di ogni sequenza da 8

bit lo slave invia un nuovo bit di ackowledgment. Come detto il sensore utilizza registri a

16 bit, pertanto per completare la scrittura è necessario il trasferimento di due sequenze da

CLK_IN

PIXCLK

FRAME_VALID

LINE_VALID 6 cicli di clock pixel

Page 55: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

46

8 bit, dopo le quali l’indirizzo del registro viene incrementanto automaticamente, in modo

che la successiva scrittura avvenga all’indirizzo adiacente. Il termine della fase di scrittura

è sancito dall’invio di uno stop bit da parte del master.

Anche nel caso in cui la richiesta sia di lettura, il master invia dapprima l’indirizzo a 8

bit del registro, quindi, a seguito del segnale di ackowledgment da parte dell slave, lo start

bit e l’indirizzo di lettura, ad indicare che è prossima una sequenza di lettura. A questo

punto il master preleva sequenze di 8 bit alla volta (sono ancora sufficienti due sole

sequenze per leggere il registro, essendo questo a 16 bit), inviando un bit di

ackowledgment al termine di ciascuna di esse. Il registro viene autoincrementato ogni volta

che sono letti 16 bit, e il trasferimento si arresta quando il master invia un bit di not-

acknowledgment.

Per una più semplice e immediata comprensione delle fasi di lettura\scrittura dei

registri, si riassumono sinteticamente i pricipali passaggi.

Scrittura

− La procedura si avvia quando il master invia lo start bit

− Il master invia l’indirizzo a 8 bit del registro che si vuole scrivere

− Il sensore risponde con il bit di acknowledgment

− Si esegue la scrittura: il master trasferisce 8 bit alla volta e ad ogni 8 bit ricevuti lo

slave invia un bit di acknowledgment

− Trasferiti 16 bit la procedura si arresta con lo stop bit del master

Lettura

− La procedura si avvia quando il master invia lo start bit

− Il master scrive l’indirizzo del registro

− Il sensore risponde con il bit di acknowledgment

− Il master invia l’indirizzo di lettura

− Il sensore risponde con un nuovo bit di acknowledgment

− Il master legge 8 bit alla volta e al termine di ogni sequenza invia un bit di

ackowledgment

− Il trasferimento si arresta quando il master invia un bit di no-ackowledgment

Il dispositivo presenta numerosi registri programmabili per il controllo dei differenti

aspetti funzionali e comportamentali del sensore:

− Window Control => questi registri controllano le dimensioni e le coordinate iniziali

Page 56: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

47

della finestra e consentono di specificare un qualsiasi formato pari o inferiore al VGA

− Blanking Control => si tratta di registri per il controllo delle dimensioni della

porzione di blanking in una riga (blanking orizzontale) e tra i frame (blanking

verticale); il blanking orizzontale è specificato in temini di clock del pixel, mentre

quello verticale in termini del tempo di lettura di riga

− Pixel Integration Control => si occupano del controllo del tempo di integrazione dei

pixel; definiscono il numero di righe d’integrazione e il numero di cicli del master

clock che la logica di temporizzazione e controllo (timing and control di Figura 3.2)

deve attendere prima di asserire il reset per una data riga

− Pixel Clock Speed => il periodo del pixel clock si calcola come il numero assegnato

tramite il registro dedicato a cui vanno sommati due cicli di clock del master; il valore

di default è zero, vale a dire due cicli del master clock. PIXCLK può anche essere

opportunamente ritardato rispetto a DOUT tramite un ulteriore registro dedicato

− Reset => si tratta del registro utilizzato per il ripristino del sensore alla sua

configurazione di default, realizzato scrivendo prima 1 e poi 0 nel bit 0 del registro

− Digital Zoom => in modalità zoom la data rate del pixel è ridotta di un fattore 2 o 4 e

vengono aggiunte 1 o 3 ulteriori righe di blanking; lo scopo è quello di fornire alla

logica di controllo tempo a sufficienza per ripetere i dati, in modo da riempire una

finestra di dimensioni doppia o quadrupla

− True Decimation Mode => la decimazione viene eseguita nel caso di sensori privi di

filtraggio di colore. Esistono tre modalità con differenti fattori di decimazione: 2x, 4x e

8x, in cui per ogni riga/colonna letta vengono rispettivamente saltate una riga/colonna,

3 righe/colonne e 7 righe/colonne

− Real Mode => si tratta di registri che consentono di: invertire l’ordine di lettura delle

colonne (Column Mirror Image), invertire l’ordine di lettura delle righe (Row Mirror

Image), saltare la lettura di un numero predefinito di righe e colonne (Column and Row

Skip), cambiare il formato del segnale LINE_VALID (Line Valid), impostare

separatamente il guadagno per i pixel a seconda del colore verde, blu o rosso, oppure

definire un unico guadagno comune (Gain Setting)

3.3 CC430 e CC1111

Il dettaglio delle modalità di funzionamento del CPLD e del suo interfacciamento con

Page 57: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

48

il sensore e il microcontrollore verranno meglio approfonditi nel corso del Capitolo 4,

mentre lo studio e la caratterizzazione ulteriore della parte di ricezione e del CC430 non

sono oggetto del presente lavoro di tesi. Per tale motivo il paragrafo 3.3 fornisce una

generale descrizione dei dispositivi CC430 e CC1111 precedentemente introdotti.

CC430

La famiglia CC430 della Texas Instruments include due serie: la CC430F61xx e la

CC430F513x. Il dispositivo impiegato nel progetto appartiene alla serie CC430F61xx ed è

il CC430F6137, che comprende: MSP430 a 16 bit, transceiver RF CC1101, memoria flash

programmabile fino a 32 kB, RAM fino a 4kB, due timer a 16 bit, ADC a 12 bit, interfaccia

di comunicazione USCI (Universal Serial Communication Interface), DMA (Direct

Memory Access), modulo per il clock in tempo reale, e fino a 44 pin di I/O. Tipiche

applicazioni per questi dispositivi includono sistemi di sensori wireless analogici e digitali,

termostati, e ripartitori di calore. In Figura 3.11 è mostrato il diagramma a blocchi

funzionale della famiglia d’interesse CC430F61xx, che mette in evidenza tutti i circuiti

implementati sul chip e i bus di connessione.

Figura 3.11 Diagramma a blocchi funzionale della famiglia CC430F61xx [29]

Page 58: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

49

L’elenco completo dei pin disponibili e le rispettive modalità d’utilizzo sono reperibili

in [29], ed include: pin di I/O per applicazioni generali (general purpose digital I/O), pin di

I/O analogici, pin per massa e alimentazione analogiche e digitali, pin per il clock esterno,

pin per il reset del sistema alla configurazione inziale, e porte dedicate per le fasi di test.

CC1111

Le famiglie di dispositivi CCF1110Fx e CCF1111Fx della Texas Instruments vengono

impiegate per applicazioni wireless a basso consumo di potenza alle frequenze

315/433/868/915 MHz, nelle bande ISM (Industrial Scientific Medical) e SRD (Short

Range Devices), nei sistemi di sicurezza e nelle reti di sensori wireless, nel monitoraggo e

controllo industriale, ma anche nei campi dell’automazione domestica e della telemetria a

bassa potenza.

Per quanto riguarda il package e i pin disponibili (36 totali) si rimanda alla Figura

3.12. I pin si dispongono sui quattro lati del package e sono: porte per alimentazione e

massa analogiche e digitali, porte analogiche per l’oscillatore in cristallo presente sul chip,

pin d’ingresso all’LNA (Low Noise Amplifier) a RF, connessione USB e pin per il reset

del sistema alla configurazione di default [30].

Figura 3.12 Vista dall’alto del package della famiglia CC1111Fx [30]

Page 59: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura del sistema Capitolo 3

50

La Figura 3.13 mostra il diagramma a blocchi del sistema in esame, distinguendo fra

componenti anlogici, digitali o misti (si faccia riferimento alla legenda accanto

all’immagine). Si possono inoltre individuare tre categorie di circuiti: moduli connessi alla

CPU, moduli connessi alla sezione RF e moduli connessi all’area di distribuzione del clock

e dell’alimentazione.

Figura 3.13 Diagramma a blocchi delle famiglie CCF1110Fx/CCF1111Fx [30]

Page 60: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Capitolo 4

Circuito di elaborazione digitale e di emulazione

del funzionamento del sensore

Il Capitolo 4 descrive le specifiche e i blocchi costitutivi del circuito dedicato

all’elaborazione dei dati provenienti dal sensore e di un circuito in grado di emulare le

funzionalità del sensore stesso al fine di fornire uno strumento flessibile ed utile nella fase

di test. Entrambi i circuiti sono stati progettati per essere implementati su CPLD e, di

seguito, verranno illustrati i dettagli relativi alla modalità e ai criteri utilizzati nella

progettazione e nella verifica del loro funzionamento. In questo capitolo viene anche

riportata la descrizione dell’algoritmo di clustering implementato in linguaggio C e

attualmente utilizzato nella elaborazione dei dati. Nella versione finale del sistema si

intende sostituire tale elaborazione (effetuata mediante software) con l’elaborazione

effettuata dal circuito proposto.

4.1 Algoritmo di clustering

L’elaborazione dei dati prodotti dal sensore attraverso un opportuno algoritmo di

clustering permette di utilizzarlo come dispositivo dosimetrico. A questo scopo vengono

sfruttate essenzialmente due osservabili: il numero di fotoni rilevati e l’integrale di carica

in un frame. Un fascio di fotoni che interagisce con il volume sensibile del sensore genera

una nuvola di coppie elettrone-lacuna che vengono raccolte soltanto da alcuni pixel (Figura

4.1). L’entità della raccolta del singolo pixel può essere valutata misurando la caduta di

tensione ai capi del fotodiodo dovuta a tale interazione. L’implementazione dell’algoritmo

Page 61: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

52

attualmente utilizzato richiede : i) il calcolo dei valori di piedistallo (Vped(i,j)) e rumore

(σ(i,j)) per ogni pixel (i,j); ii) la scelta di due valori di soglia, rispettivamente T1 e T2.

Figura 4.1 Visualizzazione dei fotoni che colpiscono la matrice di pixel del sensore [37]

Vped(i,j) e σ(i,j) rappresentano rispettivamente il valore medio della tensione e la

deviazione standard di ogni pixel misurati in condizioni di buio, vale a dire in assenza di

luce e di sorgenti di radiazione. La scelta delle soglie T1 e T2 viene, invece, effettuata

cercando allo stesso tempo di massimizzare il numero di fotoni rilevati (ovvero

massimizzare l’efficacia) e di minimizzare il numero di falsi fotoni, rilevati a causa delle

fluttuazioni di rumore (ovvero minimizzare i falsi positivi). Sottraendo il valore di

piedistallo a ogni pixel e normalizzando per il corrispondente valore di rumore, si ottiene:

(4.1)

dove Vpix(i,j) è il segnale del pixel di posizione (i,j) in conteggi ADC. Il segnale

normalizzato S(i,j) viene confrontato con la soglia T1: ogni segnale maggiore della soglia

viene classificato come candidato centro (seed). Segue la verifica dell’isolamento

topologico del seed, ossia del fatto che il valore del segnale del seed sia un massimo

relativo e quindi un candidato fotone. Si procede quindi con il calcolo della prima

osservabile: il numero totale di fotoni in un frame [37].

La seconda osservabile, vale a dire l’integrale di carica, si ottiene invece ricostruendo

il segnale complessivo prodotto dai fotoni sommando quelli dei pixel appartenenti a un

raggruppamento (cluster): il segnale del pixel centrale viene sommato a quelli dei pixel

topologicamente connessi al centro e maggiori della seconda soglia T2, come viene

),(

),(),(),(

ji

jiVjiVjiS

pedpix

σ

−=

Page 62: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

53

mostrato in Figura 4.2. Un qualsiasi pixel si dice topologicamente connesso al pixel

centrale quando ha in comune con esso uno spigolo o un vertice. L’integrale della carica

generata dai fotoni su tutta la matrice del sensore si ottiene quindi sommando i segnali dei

cluster presenti in un frame (vale a dire dei candidati fotoni) [37].

Figura 4.2 Visualizzazione dei pixel in un cluster [37] : il pixel contrassegnato in giallo non è

topologicamente connesso al centro (S, in rosso). Degli 8 pixel topologicamente connessi solo i due in

arancio hanno un segnale superiore alla seconda soglia T2 e pertanto fanno parte del cluster

Per valutare se le due osservabili, ottenute dal sensore tramite l’applicazione

dell’algoritmo ora descritto, possano essere utilizzate come grandezze dosimetriche è stata

condotta un’analisi dei dati acquisiti in diverse sessioni di misura. Durante le sessioni sono

stati variati alcuni parametri del sensore (guadagno, tempo d’integrazione), dell’angiografo

(modalità grafia e scopia, e per la scopia modalità continua e pulsata al variare della

tensione, corrente, durata dell’impulso, numero di impulsi al secondo) e del setup di misura

(distanza dal fantoccio, angolo di incidenza della radiazione) [37]. L’analisi dei dati ha

consentito di ricavare la distribuzione statistica e l’incertezza relativa per ciascuna delle

due osservabili relativamente alle differenti condizioni operative messe in atto. La Figura

4.3 e la Figura 4.4 mostrano un esempio di distribuzione statistica del numero di fotoni

sopra la soglia T1 in un frame e la correlazione di questa osservabile con la sua incertezza

relativa, rispettivamente per la prima e la seconda osservabile [37].

Page 63: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

54

(a)

(b)

Figura 4.3 (a) Distribuzione statistica del numero di fotoni in un frame e (b) correlazione tra numero di

fotoni e la relativa incertezza [37]

(a) (b)

Figura 4.4 (a) Distribuzione statistica del segnale totale ricostruito e (b) correlazione tra il segnale totale

ricostruito e la relativa incertezza [37]

Le grandezze dosimetriche finora considerate sono ottenute attraverso una sofisticata

analisi offline, che prevede l'identificazione dei singoli fotoni attraverso l’algoritmo di

clustering descritto. Le incertezze nella misura del numero di fotoni e nella somma delle

energie misurate sono dell'ordine del 4-10% a seconda delle condizioni di funzionamento

dell'angiografo, della distanza del sensore dal fantoccio e dell'orientamento del sensore

rispetto alla direzione di diffusione dei fotoni. Questo algoritmo si basa sulla trasmissione

dell'intero frame di dati al PC per la successiva analisi offline; una simile procedura non è

facilmente praticabile in un dispositivo wireless a causa della banda passante molto grande

che viene richiesta al sistema (6 MB/s) per la trasmissione, e quindi a causa del consumo di

potenza che ne limiterebbe significativamente l’autonomia.

Al fine di ridurre la complessità computazionale dell’algoritmo è stata introdotta come

grandezza dosimetrica il numero di pixel il cui valore normalizzato S(i,j) superi la soglia T2

Page 64: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

55

in un frame [38]. In questo modo si è tenuto conto del comportamento del singolo pixel

mediante la sottrazione del piedistallo e la normalizzazione rispetto al rumore senza

effettuare considerazioni sul valore dei pixel a livello topologico. Malgrado ciò

l’implementazione di questo algoritmo risulta onerosa dal punto di vista di occupazione di

memoria poiché richiede la costruzione di due matrici aggiuntive oltre a quella di pixel del

sensore: una dei piedistalli e una dei valori di rumore. Anche dal punto di vista

computazionale rimane piuttosto gravoso, in quanto prevede non solo un semplice

confronto, ma un’operazione di normalizzazione per ciascun segnale associato a un pixel.

Per questo motivo, nel blocco di elaborazione del sistema RAPID è stato introdotto un

algoritmo online semplificato che viene direttamente applicato ai segnali digitali dei pixel

espressi in conteggi ADC; tale algoritmo inoltre non individua cluster poiché utilizza una

sola soglia anziché due. In questo modo l’unica operazione che viene eseguita è il

confronto con il valore di soglia assoluto, espresso in conteggi ADC e ricavabile con la

seguente relazione inversa:

pedT VTV +⋅= )( σ (4.2)

dove σ e Vped

sono le medie aritmetiche di rumore e piedistallo calcolate su tutti i pixel

della matrice e T un fattore moltiplicativo opportunamente scelto. Con questo algoritmo

semplificato la quantità di dati coinvolta è notevolmente inferiore e la complessità

computazionale viene significativamente ridotta. Per quanto riguarda le osservabili in

esame, la prima non sarà più il numero dei fotoni rilevati ma il numero di pixel sopra

soglia, mentre in luogo della seconda si utilizzerà la somma dei segnali di tali pixel sopra

soglia.

È stato verificato che per tutte le modalità di acquisizione dati si può utilizzare un

valore di T pari a 15. Infatti, se si considera la distribuzione sperimentale del rumore dei

singoli pixel del sensore (Figura 4.5), si può determinare un valore medio del rumore di

circa 0.9 conteggi ADC. Da un’ispezione della distribuzione integrale del rumore dei

singoli pixel (Figura 4.6) si può notare che la percentuale di pixel della matrice avente

rumore superiore ai 2 conteggi ADC è trascurabile. Per quanto riguarda i valori dei

piedistalli, da un’analisi della distribuzione dei piedistalli dei singoli pixel (Figura 4.7) si

ottiene un valor medio di 52 conteggi ADC, mentre la distribuzione integrale (Figura 4.8)

mostra che a partire da circa 65 conteggi ADC solo lo 0.1% dei pixel della matrice supera

Page 65: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

56

tale soglia. Sostituendo dunque a VT1 65 e a σ e Vped

0.9 e 52, rispettivamente, si ricava T

= 15.

Figura 4.5 Distribuzione sperimentale del rumore dei singoli pixel del sensore

Figura 4.6 Distribuzione integrale del rumore dei singoli pixel del sensore

Per giustificare la validità della scelta delle due nuove variabili dosimetriche (numero

di pixel sopra soglia e somma dei segnali dei pixel sopra soglia) si esegue il confronto tra il

comportamento di ciascuna con la corrispondente che si ricava nell’algoritmo di analisi

dati offline. In Figura 4.9 sono riportati gli andamenti in funzione del valore di soglia del

numero di pixel il cui valore normalizzato S(i,j) supera la soglia T2 in un frame (a) e del

numero di pixel che si trovano sopra la soglia VT in conteggi ADC. In entrambi i casi si

può notare un andamento decrescente con la soglia, con barre di errore che diminuiscono.

Page 66: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

57

Il numero assoluto è leggermente inferiore nel secondo caso, perché alcuni elementi che

venivano inclusi con l'algoritmo offline, che effettua una normalizzazione per ogni pixel,

adesso non vengono più selezionati inoltre T2 risulta essere minore di T. In Figura 4.10

sono messi a confronto gli errori relativi di ciascuna osservabile: l'algoritmo offline (a)

riesce a raggiungere una incertezza inferiore al 4%, mentre quello online (b) riesce

comunque a stare molto vicino al 4%, appena superiore. Ciò significa che il deterioramento

delle prestazioni non è rilevante.

Figura 4.7 Distribuzione sperimentale dei piedistalli dei singoli pixel del sensore

Figura 4.8 Distribuzione integrale dei piedistalli dei singoli pixel del sensore

Page 67: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

58

(a)

(b)

Figura 4.9 (a) Numero di pixel normalizzati sopra soglia in funzione del valore di soglia;

(b) numero di pixel sopra soglia in conteggi ADC in funzione del valore di soglia

Page 68: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

59

(a)

(b)

Figura 4.10 (a) Errore relativo del numero di pixel normalizzati sopra soglia in funzione del valore di soglia;

(b) errore relativo del numero di pixel sopra soglia in conteggi ADC in funzione del valore di soglia

Per quanto riguarda la seconda osservabile, in Figura 4.11 sono messi a confronto

l’integrale di carica in un frame (a) e la somma dei segnali dei pixel che si trovano sopra la

soglia VT in conteggi ADC (b), entrambe in funzione del valore di soglia. Anche in questo

caso l'andamento è molto simile. Gli errori relativi (riportati in Figura 4.12) anche in

questo caso si trovano appena sopra il 4%. Ciò corrisponde a un valore accettabile di

incertezza nella misura.

Le due osservabili sono state infine correlate con il tasso di dose misurato dall’APD

Page 69: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

60

Unfors EDD-30 (Figura 4.13) e dai TLD (Figura 19): ne è risultato che le variabili sono

linearmente correlate.

(a)

(b)

Figura 4.11 (a) Integrale di carica in un frame in funzione del valore di soglia;

(b) somma dei segnali dei pixel sopra soglia in conteggi ADC in funzione del valore di soglia

Page 70: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

61

(a)

(b)

Figura 4.12 (a) Errore relativo dell’integrale di carica in un frame in funzione del valore di soglia;

(b) errore relativo della somma dei segnali dei pixel sopra soglia in conteggi ADC in funzione del valore di

soglia

Page 71: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

62

(a)

(b)

Figura 4.13 (a) Correlazione tra il numero di pixel sopra soglia e il tasso di dose misurato dal dosimetro

commerciale Unfors EDD-30; (b) correlazione tra la somma dei segnali dei pixel sopra soglia e il tasso di

dose misurato dal dosimetro commerciale Unfors EDD-30

Page 72: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

63

(a)

(b)

Figura 4.14 (a) Correlazione tra il numero di pixel sopra soglia e il tasso di dose misurato dai TLD;

(b) correlazione tra la somma dei segnali dei pixel sopra soglia e il tasso di dose misurato dai TLD

4.2 Implementazione del circuito di elaborazione

Il circuito dedicato all’elaborazione dei dati provenienti dal sensore e un circuito in grado

di emulare le funzionalità del sensore sono stati progettati per essere implementati sul

CPLD descritto nel Capitolo 3. In particolare il CPLD utilizzato è l’EPM7256SQC208-10,

che appartiene alla famiglia MAX 7000S dell’ALTERA. In Figura 4.15 è riportato lo

schema a blocchi esemplificativo del circuito complessivo messo a punto.

Page 73: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Cir

cuit

o di

ela

bora

zion

e di

gita

le e

di e

mul

azio

ne d

el f

unzi

onam

ento

del

sen

sore

C

apit

olo

4

64

F

igu

ra 4

.15

Sch

ema

a bl

occh

i del

cir

cuit

o co

mpl

essi

vo r

eali

zzat

o su

CP

LD

Page 74: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

65

Si individuano due blocchi funzionali fondamentali:

o un blocco di confronto e incremento (il circuito di elaborazione vero e proprio)

costituito da un comparatore a 10 bit, e da un contatore a 14 bit, che implementano

l’algoritmo per il conteggio del numero di pixel sopra soglia;

o un blocco di emulazione del sensore MT9V011 che replichi il comportamento del

sensore nelle fasi di test.

Sono inoltre previsti tre multiplexer atti alla selezione dei segnali provenienti dal sensore o

dall’emulatore, consentendo pertando, in qualunque momento, di stabilire la modalità di

funzionamento del circuito.

Complessivamente il circuito riceve in ingresso i segnali:

− PIXCLK => segnale di clock con periodo 74.074 ns;

− START_SEQ => segnale che abilita il funzionamento dell’emulatore;

− STOP_SEQ => segnale che disabilita il funzionamento dell’emulatore;

− RESET_SINCRO => segnale di reset dei sincronizzatori, attivo basso;

− FRAME_VALID_S => segnale in uscita al sensore che abilita la scansione della

matrice di pixel;

− LINE_VALID_S => segnale in uscita al sensore che abilita la scansione di una riga

valida;

− EMU_SENSOR_SEL => segnale di controllo dei multiplexer che stabilisce se il

segnale d’uscita è prelevato dal sensore o dal suo emulatore: quando basso vengono

selezionati i segnali provenienti dal sensore, quando alto quelli dell’emulatore;

− DOUT_S => dati forniti dal sensore codificati su 10 bit;

− MAN_THR => soglia stabilita manualmente dall’esterno alla quale deve far

riferimento il comparatore per il confronto (banco di 10 bit);

− RESET_COUNTER => segnale di reset del contatore, attivo alto;

Il circuito restituisce in uscita i segnali:

− FRAME_VALID_MICRO => segnale FRAME_VALID inviato al microcontrollore.

Può essere quello proveniente dall’emulatore o quello prodotto dal sensore;

− LINE_VALID_MON => segnale LINE_VALID che può essere utilizzato per il

monitoraggio esterno. In modo analogo a FRAME_VALID, si può trattare del

LINE_VALID prodotto dell’emulatore o di quello generato dal sensore ;

− DOUT_MON => segnale di dati di 10 bit proveniente dal sensore o dall’emulatore,

prelevato dal circuito e utilizzato per il monitoraggio esterno;

Page 75: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

66

− OUT_COMP_MON => segnale prelevato all’uscita del comparatore, utilizzato per il

monitoraggio esterno;

− OUT_AND_MON => segnale prelevato in uscita all’AND che abilita il conteggio del

contatore, utilizzato per il monitoraggio esterno;

− NUMPIX_MICRO => numero di pixel sopra soglia conteggiato dal contatore, inviato

al microcontrollore;

Il blocco di confronto e incremento implementa il cuore della logica del CPLD, che si

occupa del conteggio del numero di pixel sopra soglia. Il comparatore esegue il confronto

tra il dato corrente (il segnale interno DOUT in Figura 4.15) e la soglia (entrambi di 10

bit), e restituisce un’uscita logica alta (1 logico) se il pixel è maggiore o uguale alla soglia

(MAN_THR), altrimenti restituisce un’uscita logica bassa (0 logico). Se l’uscita del

comparatore ha un valore logico alto, viene abilitato il contatore, che è sincrono con il

PIXCLK del sensore. In questo modo l’uscita del contatore corrisponde al numero di pixel

sopra soglia. Va sottolineata la presenza di una porta AND tra il comparatore e il

contatore: poiché non tutti i pixel della matrice corrispondono ad un dato valido, viene

eseguito un AND logico tra il risultato del confronto e il segnale LINE_VALID (si faccia

riferimento al paragrafo 3.2 del Capitolo 3).

Adottando la stessa notazione utilizzata nel paragrafo 4.1, si denoti con VT la soglia, e

con Vpix(i,j) il segnale del pixel di posizione (i,j). Se

Tpix VjiV ≥),( (4.3)

e contemporanemante LINE_VALID = 1, il contatore incrementa di un’unità il numero di

pixel sopra la soglia stabilita. Al termine della scansione della matrice, vale a dire quando

sono stati letti i pixel di tutte le righe, indicizzate da j, e di tutte le colonne, indicizzate da i,

l’uscita del contatore fornisce la quantità di pixel sopra soglia in un frame.

Un primo multiplexer, sulla base del segnale EMU_SENSOR_SEL che lo pilota,

stabilisce se la sequenza di dati DOUT in ingresso al comparatore provenga dal sensore

(DOUT_S) o dal circuito di emulazione (DOUT_EMU). In modo analogo un secondo

multiplexer è preposto alla selezione del segnale LINE_VALID (LINE_VALID_S o

LINE_VALID_EMU) in ingresso alla porta AND. Un terzo ed ultimo multiplexer

seleziona il segnale FRAME_VALID (FRAME_VALID_S o FRAME_VALID_EMU) da

inviare al microcontrollore.

Nei paragrafi 4.3 e 4.4 che seguono verrà approfondita la trattazione dei due blocchi

Page 76: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

67

funzionali fondamentali presentati. Per ciascuno di essi verrà descritta la realizzazione

circuitale e i risultati delle simulazioni behavioral, post-sintesi e timing. Sono stati

impiegati i software Quartus II e ModelSim (per la guida all’utilizzo dei software e per le

procedure di esecuzione delle simulazioni si rimanda a [32], [33], [34], [35], [36]).

4.3 Descrizione del circuito di elaborazione

La Figura 4.16 mostra la realizzazione circuitale del blocco di confronto e incremento.

Figura 4.16 Realizzazione circuitale del blocco di confronto e incremento

La verifica del corretto funzionamento è stata effettuata mediante la progettazione di un

opportuno testbench per le simulazioni behavioral, post-sintesi e timing. Gli stimoli forniti

al circuito e la durata delle simulazioni devono essere tali da consentire l’osservazione e la

verifica di tutte le possibili configurazioni di lavoro dello stesso. Nel dettaglio il testbench

messo a punto impone

− PIXCLK: segnale di clock con periodo 74.074 ns;

− LINE_VALID: inizialmente basso, commuta a 93.111 ns (con riferimento al circuito

di elaborazione complessivo, si può trattare del segnale prodotto dal sensore o dal suo

emulatore, ed è pertanto l’uscita del multiplexer che si occupa di questa selezione);

− RESET_COUNTER: inizialmente alto, va basso a 10 ns;

− DOUT: sequenza di dati di 10 bit specificati in un file dout.txt (anche in questo,

con riferimento al circuito complessivo di elaborazione, si può trattare dei dati generati

dal sensore o dal blocco di emulazione);

− MAN_THR: soglia fissata a 0000111100 (che in decimale corrisponde a 60).

Page 77: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

68

La durata della simulazione è stata fissata pari a 2 µs al fine di testare tutte le possibili

modalità di funzionamento del circuito. La Figura 4.17 mostra il risultato della simulazione

behavioral, testimoniando il corretto funzionamento del circuito a livello logico. Un’analisi

più dettagliata dei risultati ottenuti può essere condotta focalizzando l’attenzione sugli

effetti provocati dalle singole transizioni degli stimoli. In Figura 4.18 si può osservare che,

finché LINE_VALID assume valore logico 0 l’uscita DOUT fornita dal sensore è

anch’essa costituita da una sequenza di 10 zeri; quando LINE_VALID passa da 0 a 1

DOUT inizia a commutare ad ogni periodo di clock. La prima commutazione si ha con un

ritardo di 5 ns rispetto al fronte di salita di LINE_VALID. Il contatore non è ancora

abilitato al conteggio e non incrementa NUMPIX_MICRO.

Figura 4.17 Circuito di confronto e incremento: simulazione behavioral

Figura 4.18 Effetti della transizione di LINE_VALID sul circuito di confronto e incremento

Quando il dato corrente diventa maggiore della soglia stabilita (Figura 4.19), l’uscita del

comparatore (OUT_COMP_MON) va a 1, ed essendo ancora LINE_VALID alto, anche

Page 78: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

69

l’uscita dell’AND (OUT_AND_MON) va alta nello stesso istante. In corrispondenza del

successivo fronte di salita del clock, NUMPIX_MICRO commuta e si incrementa ad ogni

succesivo ciclo di clock. Se la soglia diventa maggiore del dato, OUT_COMP_MON e

OUT_AND_MON tornano bassi (Figura 4.20) e il contatore mantiene il valore di

NUMPIX_MICRO fisso a quello precedente fino alla prossima commutazione di

OUT_AND_MON. Quando poi LINE_VALID va basso, indipendentemente dall’uscita del

comparatore, il conteggio non è più abilitato (OUT_COMP_MON basso, ad indicare che il

dato corrente non è valido). In qualunque istante se RESET_COUNTER va alto provoca

l’azzeramento del contatore.

Figura 4.19 Dato corrente maggiore della soglia: il contatore è abilitato al conteggio

Figura 4.20 Dato corrente minore della soglia: il contatore non incrementa NUMPIX_MICRO

I risultati della simulazione post-sintesi sono in accordo con quanto ottenuto dalla

behavioral, e non vengono pertanto ulteriormente trattati. La simulazione timing (Figura

4.21), invece, consente di ricavare informazioni aggiuntive sui reali ritardi nel circuito.

Page 79: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

70

Figura 4.21 Risultato della simulazione timing del blocco di confronto e incremento

In particolare: quando il dato valido corrente diventa maggiore della soglia,

OUT_COMP_MON e OUT_AND_MON non commutano istantaneamente, ma con un

ritardo di 5.6 ns. Il contatore, inoltre, non inizia ad incrementare NUMPIX_MICRO in

corrispondenza del successivo fronte di salita del clock, ma lo fa con un ritardo di 3.1 ns.

La presenza di tali ritardi è ben visibile in Figura 4.22.

Figura 4.22 Simulazione timing: ritardi nel circuito di confronto e incremento

Negli ultimi istanti della simulazione LINE_VALID torna ad assume valore logico 0;

anche in questo caso la commutazione di OUT_AND_MON non avviene istantaneamente,

ma con un ritardo di 29.908 ns rispetto al fronte di discesa di LINE_VALID.

Page 80: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

71

4.4 Descrizione del circuito di emulazione del sensore MT9V011

L’idea è di introdurre nel CPLD un circuito che funga da emulatore del sensore

MT9V011, vale a dire un circuito che, a tutti gli effetti, si comporti come il sensore,

fornendo lo stesso andamento dei segnali. Nella pratica, per semplicità, si riproduce il

comportamento di una parte soltanto della matrice del sensore (Figura 4.23); il motivo

verrà meglio esplicato nel seguito di questo paragrafo.

Figura 4.23 Porzione di sensore emulato

Si consideri la Figura 3.10, che mostra l’andamento relativo dei segnali

FRAME_VALID (alto durante la scansione delle righe valide della matrice) e

LINE_VALID (alto durante la scansione dei pixel validi di una riga): LINE_VALID va

alto 6 cicli di pixel clock dopo la transizione di FRAME_VALID, e torna basso 6 cicli di

pixel clock prima. La scansione di una riga valida dura 640 cicli di pixel clock, che,

moltiplicati per il periodo di clock, pari a 74.074 ns, corrispondono a circa 47.407 µs. Al

termine di tale intervallo, si ha la scansione dei pixel non validi del blanking orizzontale, in

cui LINE_VALID è basso. Terminata la scansione dei pixel del blanking orizzontale si

passa alla scansione della successiva riga di pixel validi e LINE_VALID torna alto, fino a

quando non si giunge all’ultima riga valida (si ricordi che la scansione parte dal primo

pixel in alto a destra e procede verso il basso percorrendo le righe da sinistra verso destra).

In tutto questo intervallo FRAME_VALID resta alto. A questo punto inizia la scansione

delle righe non valide del blanking verticale, in cui sia LINE_VALID che

FRAME_VALID sono bassi. È in questa fase (FRAME_VALID basso) che avviene la

trasmissione dei dati al microcontrollore contenuto nel SoC, ed è perciò essenziale che la

sua durata sia esattamente quella reale che si ha utilizzando il sensore MT9V011, in modo

Page 81: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

72

tale da poter verificare che questo intervallo sia sufficiente per la completa trasmissione del

frame. Viceversa, la durata del blanking orizzontale, è uguale per tutte le righe scansionate.

Si può perciò ragionevolmente pensare di analizzare soltanto una parte di queste (a patto

che si tratti delle righe precedenti la zona di blanking verticale), senza perdere

informazioni importanti per gli scopi di emulazione. Per comodità si è scelto di

rappresentare un numero di righe tale per cui la durata della fase FRAME_VALID = 1 sia

circa il doppio di quella in cui FRAME_VALID = 0, che coincide con 62 righe esaminate.

Sono state messe a punto due differenti versioni per un circuito di emulazione che sia

in grado di offrire il comportamento illustrato. Le due versioni verranno descritte nei

sottoparagrafi 4.4.1 e 4.4.2.

4.4.1 Circuito di emulazione: versione 1

La Figura 4.24 mostra la macchina a stati descrittiva del comportamento del circuito di

emulazione del sensore MT9V011 nella sua prima versione. L’emulatore è pilotato, oltre

che dal segnale di clock, dai segnali START_SEQ e STOP_SEQ, che ne abilitano o

disabilitano il funzionamento. Sono presenti le seguenti variabili contatore:

• CYCLECOUNT: utilizzata per contare il numero di cicli di clock durante il quale si

rimane su uno stato;

• COUNT_DATA: usata per i dati in uscita;

• ROWCOUNT: usata per le righe valide della matrice da scandire;

Le variabili interne PresentState e NextState sono inoltre utilizzate per tenere traccia dello

stato presente e di quello successivo. Lo stato successivo viene assegnato in

corrispondenza del fronte di salita del clock.

Viene ora illustrata la codifica degli stati adottata.

S0 – IDLE

È lo stato iniziale della macchina, in cui FRAME_VALID e LINE_VALID sono entrambi

a zero. Il circuito di emulazione non è abilitato.

S1 – START OF FRAME

Il segnale START_SEQUENCER va alto e si passa dallo stato S0 allo stato S1. Ciò abilita

l’emulatore e dunque la scansione della matrice: FRAME_VALID va alto, mentre

LINE_VALID rimane basso per atri 6 cicli di clock.

S21 – SCANSIONE RIGA VALIDA

Dopo 6 cicli di clock (CYCLECOUNT = 6) anche LINE_VALID va alto: ha inizio la

scansione di una riga valida della matrice. La scansione dei pixel validi in una riga richiede

Page 82: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

73

640 cicli di clock, pari a 640 x 74.074 = 47.407 µs.

Figura 4.24 Macchina a stati del circuito di emulazione del sensore MT9V011

S22 – BLANKING ORIZZONTALE

Al termine della scansione di ciascuna riga di pixel validi (CYCLECOUNT = 640),

avviene la scansione dei pixel non validi (blanking orizzontake), per 244 cicli di clock, pari

a 244 x 74.074 = 18.074 µs circa. In questa fase LINE_VALID = 0, ad indicare che non si

sta scansionando una riga valida. Ogni volta che COUNT_VAL_LV = 244 si passa dallo

stato S22 allo stato S21, vale a dire si passa dalla scansione della riga successiva. Quando

CYCLECOUNT = 640, ci si trova nuovamente nel blanking orizzontale, e si passa a S22.

Questo comportamento viene ripetuto finchè tutte le 61 righe non sono scansionate.

S3 – END OF FRAME

Esaurita la scansione delle 62 righe (ROWCOUNT = 61 in quanto il conteggio parte da 0),

Page 83: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

74

si commuta dallo stato S21 allo stato S3: LINE_VALID = 0, mentre FRAME_VALID = 1

per 6 cicli di clock (6 x 74.074 = 444.44 ns circa).

S4 – BLANKING VERTICALE

Dopo 6 cicli di clock (CYCLECOUNT = 6), si passa alla scansione dei pixel non validi del

blanking verticale, in cui sia LINE_VALID che FRAME_VALID sono a zero. Questa fase

richiede 25868 cicli di clock, pari a 1.9161 ms circa; tale dato è equivalente al tempo reale

del sensore in cui FRAME_VALID = 0, e corrisponde all’intervallo in cui i dati vengono

trasferiti al microcontrollore. Quando CYCLECOUNT = 25868, si ritorna allo stato di

START OF FRAME, per l’inizio di una nuova scansione della matrice.

È utile fare alcune precisazioni:

− in un qualunque stato diverso da S0, una transizione da basso a alto del segnale

STOP_SEQ, comporta un ritorno allo stato di IDLE;

− i pixel in uscita al sensore sono ottenuti tramite una variabile contatore a 10 bit, che

viene incrementata soltanto quando LINE_VALID = 1;

− i due segnali di controllo START_SEQ e STOP_SEQ sono sincronizzati con il clock

tramite due circuiti sincronizzatori.

Sono state originariamente pensate tre possibili versioni per implementare la funzione

svolta dai sincronizzatori: il circuito MealySinc, una versione con due flip flop (che per

comodità verrà indicata con 2FF) ed una terza con tre flip flop (indicata con 3FF).

o MealySinc

In Figura 4.25 è mostrata la realizzazione circuitale del componente MealySinc (si fa

riferimento al solo sincronizzatore relativo al segnale START_SEQ, ma le medesime

considerazioni valgono per STOP_SEQ).

Figura 4.25 Il sincronizzatore MealySinc

Si vuole che il circuito sincronizzi l’ingresso asincrono START_SEQ al segnale PIXCLK,

restituendo pertando l’uscita sincrona START_SINCRO. È previsto un segnale per il reset

del sincronizzatore (RESET_SINCRO), che, in questa versione, è attivo basso. Il testbench

Page 84: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

75

realizzato stabilisce gli stimoli:

− PIXCLK: segnale di clock con periodo 74.074 ns;

− START_SEQ: inizialmente basso, commuta a 301 ns;

− RESET_SINCRO: inizialmente basso, assume valore logico 1 a 201 ns.

La simulazione ha durata pari ad 1 µs. Le simulazioni behavioral (Figura 4.26), post-

sintesi e timing testimoniano il corretto comportamento del componente. L’uscita sincrona

START_SINCRO va alta in corrispondenza del primo fronte di salita del clock successivo

alla transizione di START_SEQ, e scende in corrispondenza del primo fronte di salita del

clock successivo alla transizione da alto a basso dell’ingresso asincrono. Come già

anticipato il reset è attivo basso. Dalla simulazione timing è inoltre possibile trarre le

informazioni sui ritardi. Nel dettaglio l’uscita sincrona mantiene un ritardo di 2.8 ns

rispetto al fronte di salita del clock.

Figura 4.26 MealySinc: simulazione behavioral

o Versione con 2 FF

Questa seconda versione prevede la presenza di due FF di tipo D (Figura 4.27). A

differenza della precedente il reset è attivo alto, pertanto si utilizza un testbench che

impone gli stessi stimoli impiegati per MealySinc, ma con un RESET_SINCRO avente

andamento complementare.

Dalle simulazioni condotte (Figura 4.28) si evince che, ancora una volta, l’uscita

sincrona commuta da 0 a 1 in corrispondenza del primo fronte di salita del clock

successivo alla transizione dell’ingresso asincrono. Diversamente dalla precedente

versione, però, indipendentemente dalla durata dell’intervallo in cui START_SEQ resta

Page 85: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

76

alto, START_SINCRO rimane alto per un solo ciclo di clock, e scende in corrispondenza

del fronte di salita del clock. Il ritardo con cui l’uscita sincrona commuta rispetto al fronte

di salita del clok rimane di 2.8 ns.

Figura 4.27 Versione del sincronizzatore con 2 FF

Figura 4.28 Versione sincronizzatore con 2 FF: simulazione behavioral

o Versione con 3 FF

La terza versione con 3 FF (Figura 4.29) presenta nuovamente un reset attivo basso.

Per le simulazioni sono previsti gli stimoli:

− PIXCLK: consueto segnale di clock con periodo 74.074 ns;

− RESET_SINCRO: inizialmente basso, commuta definitivamente assumendo valore

logico 1 a 10 ns;

− START_SEQ: assume valore logico 1 negli intervalli tra 300 e 305 ns, e tra 595 e

Page 86: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

77

605 ns, mentre è a 0 nei restati istanti.

Figura 4.29 Versione del sincronizzatore con 3 FF

Dall’analisi dei risultati di simulazione (Figura 4.30) emerge che l’uscita sincrona va

alta non più in corrispondenza del primo fronte di salita del clock successivo alla

transizione dell’ingresso asincrono, ma al presentarsi di quello ancora seguente, e resta alta

per due cicli di clock, indipendentemente dall’intervallo in cui l’ingresso asincrono rimane

alto. Questa diversità di comportamento rispetto alla precedente versione è dovuta alla

maggiore latenza legata alla presenza di un ulteriore flip flop nel circuito. L’uscita sincrona

commuta con un ritardo di 2.8 ns rispetto al fronte di salita del clock.

Figura 4.30 Versione del sincronizzatore con 3 FF: simulazione timing

A seguito dell’analisi delle tre differenti versioni proposte si è scelto di utilizzare due

sincronizzatori di tipo MealySinc. In questo modo il blocco complessivo di emulazione del

Page 87: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

78

sensore MT9V011 risulta essere quello mostrato in Figura 4.31.

Figura 4.31 Realizzazione circuitale del blocco di emulazione del sensore MT9V011 nella sua versione 1

Il testbench per il circuito di emulazione complessivo prevede gli stimoli

− PIXCLK: segnale di clock con periodo 74.074 ns, in ingresso sia ai sincronizzatori,

per la sincronizzazione dei segnali START/STOP_SEQ, che al sensorEmulator;

− START_SEQ: inizialmente basso, va alto tra 701 e 1201 ns;

− STOP_SEQ: viene chiamato dopo lo START_SEQ quando è in corso la scansione del

secondo frame, e cioè tra 8.001201 e 8.001701 ms;

− RESET_SINCRO: inizialmente basso, va alto a 201 ns. È attivo basso;

Il circuito viene simulato per 9 ms, per consentire l’osservazione di tutte le transizioni. In

Figura 4.32 è mostrato il risulato della simulazione behavioral. La post-sintesi e la timing

forniscono lo stesso andamento complessivo dei segnali.

Figura 4.32 Prima versione del circuito di emulazione del sensore MT9V011: simulazione behavioral

Page 88: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

79

Quando START_SEQ va alto (Figura 4.33) esso abilita il funzionamento del circuito di

emulazione. FRAME_VALID_EMU (che abilita la scansione della matrice) va alto

298.999 ns dopo la transizione di START_SEQ, vale a dire circa 4 cicli di clock dopo. A

sua volta LINE_VALID_EMU (che abilita la scansione di una riga valida) va alto con un

ritardo di 6 cicli di clock rispetto al fronte di salita di FRAME_VALID_EMU (in accordo

con le informazioni fornite dal manuale del sensore). A questo punto, a partire dal

successivo fronte di salita del clock, il sensorEmulator fornisce in uscita un dato valido di

10 bit ogni ciclo di clock (DOUT_EMU infatti commuta ogni 74.074 ns).

Figura 4.33 Transizione da 0 a 1 di START_SEQ: la scansione è abilitata. Prima versione del circuito di

emulazione

Dopo la sua prima transizione, LINE_VALID_EMU resta alto per il tempo necessario alla

scansione di una riga valida, vale a dire per 640 cicli di clock, quindi torna basso per 244

cicli di clock (scansione dei pixel del blanking) e nuovamente alto per atri 640 cicli di

clock (). La sequenza di eventi descritta si ripete per 62 volte, dato che il circuito è

progettato per la scansione di 62 righe. Terminata la scansione delle 62 righe

LINE_VALID_EMU torna basso fino all’inizio del successivo frame.

FRAME_VALID_EMU scende 6 cicli di clock dopo (Figura 4.35). Per tutta la fase in cui

FRAME_VALID_EMU = 0 avviene la lettura dei pixel del blanking verticale, che richiede

25868 cicli di clock, esauriti i quali FRAME_VALID_EMU torna alto e 6 cicli di clock

dopo si avvia una nuova scansione della matrice. Infine, durante la scansione del secondo

frame, interviene STOP_SEQ (Figura 4.36). La scansione si interrompe, e i segnali

FRAME_VALID_EMU e LINE_VALID_EMU tornano insieme a 0 dopo circa 4 cicli di

clock (309.517 ns) il fronte di salita di STOP_SEQ.

Page 89: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

80

Figura 4.34 Comportamento di LINE_VALID_EMU quando FRAME_VALID_EMU è alto. Prima versione

del circuito di emulazione

Figura 4.35 Scansione della matrice terminata: LINE_VALID_EMU e FRAME_VALID_EMU tornano

bassi. Prima versione del circuito di emulazione

Figura 4.36 STOP_SEQ interviene e la scansione si arresta. Prima versione del circuito di emulazione

Page 90: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

81

È sempre necessario sottolineare il fatto che sia la simulazione behavioral che la post-

sintesi non consentono di valutare i ritardi reali presenti nel circuito. Per tale scopo è

indispensabile eseguire una simulazione timing. I risultati ottenuti in tal senso permettono

di capire che, a seguito della commutazione da 0 a 1 di START_SEQ,

FRAME_VALID_EMU non va alto esattamente in corrispondenza del fronte di salita del

clock, ma lo fa con un ritardo di 5 ns. Lo stesso ritardo è mantenuto nelle commutazioni di

LINE_VALDI_EMU.

4.4.2 Circuito di emulazione: versione 2

La seconda versione del circuito di emulazione del sensore MT9V011 (Figura 4.37)

prevede, essenzialmente, un contatore (counter) e l’elemento di emulazione vero e proprio,

vale a dire una nuova versione del sensorEmulator. I segnali d’ingresso e d’uscita del

circuito sono analoghi a quelli già visti nel sottoparagrafo 4.4.1 per la prima versione, fatta

eccezione per l’ulteriore segnale END_COUNT_ROW, il quale permette di stabilire

quando è terminata la scansione della matrice di pixel validi (alto quando l’ultima riga

valida è stata letta, basso altrimenti).

Figura 4.37 Realizzazione circuitale del blocco di emulazione del sensore MT9V011 nella sua seconda

versione

Counter e sensorEmulator sono connessi grazie ad alcuni segnali interni:

− reset -> reset_counter: il sensorEmulator produce in uscita il segnale reset_counter

Page 91: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

82

che viene quindi riportato in ingresso al counter (reset) per la reinizializzazione del

contatore (attivo alto);

− enable -> enable_counter: il segnale enable_counter in uscita al sensorEmulator

viene riportato in ingresso al counter (enable) per abilitarne (enable alto) o meno

(enable basso) il conteggio;

− end_count_6: quando alto indica che ci si trova nella fase della scansione della

matrice in cui frame_valid = 1 e line_valid = 0, per la quale sono infatti richiesti 6 cicli

di clock in base al manuale del sensore;

− end_count_640: quando alto identifica la fase di lettura di una riga di pixel validi

della matrice. Tale fase richiede 640 cicli di clock;

− end_count_244: quando alto identifica la fase di lettura dei pixel non validi del

blanking orizzontale. Sono necessari 244 cicli di clock;

− end_count_25868: quando alto indica che ci si trova nella fase in cui sia line_valid

che frame_valid sono bassi, vale a dire la fase di scansione dei pixel non validi del

blanking verticale. Richiesti 25868 cicli di clock;

− reset_counter_row, enable_counter_row: non connessi.

La macchina a stati descrittiva del comportamento di questa versione del circuito di

emulazione (Figura 4.38) prevede la stessa codifica degli stati già vista nella prima

versione, con la differenza che in questo caso i segnali che definiscono le transizioni da

uno stato all’altro sono i segnali end_count_6/640/244/25868 e END_COUNT_ROW

appena descritti.

Il counter produce dunque i segnali end_count_6/640/244/25868 che pilotano il

sensorEmulator e definiscono in quale degli stati riportati della macchina a stati ci si trova;

per la generazione dei suddetti segnali, a sua volta il counter viene pilotato dai segnali

enable e reset prodotti dal sensorEmulator. Il counter, inoltre, genera i segnali

end_count_6/640/244/25868 grazie ad una variabile a 15 bit chiamata int_count;

quest’ultima si incrementa con cadenza data dal segnale di clock contando il numero di

cicli di clock trascorsi, e determinando in questo modo quale dei segnali

end_count_6/640/244/25868 viene portato alto. Il conteggio è abilitato soltanto quando

enable = 1.

Per verificare il corretto funzionamento del blocco di emulazione descritto, è stato

realizzato un testbench che impone il seguente andamento ai segnali d’ingresso:

− PIXCLK: segnale di clock con periodo di 74074 ns;

Page 92: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

83

− START_SEQ: inizialmente basso, viene mandato alto a 501 ns per 500 ns. A

6002501 ns si alza nuovamente per avviare una seconda scansione della matrice;

− STOP_SEQ: si alza a 6001001 ns per 500 ns, interrompendo la scansione in corso;

− END_COUNT_ROW: inizialmente basso, commuta a 4001001 ns, ad indicare che è

stata scansionata l’ultima riga valida;

Figura 4.38 Macchina a stati del circuito di emulazione del sensore MT9V011 nella sua seconda versione

La durata della simulazione è stata scelta pari a 8 ms per osservare tutte le transizioni. Il

risultato della simulazione behavioral (Figura 5.4) testimonia il corretto funzionamento del

circuito come emulatore del sensore MT9V011.

Page 93: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

84

Figura 4.39 Seconda versione del circuito di emulazione: simulazione behavioral

In analogia con l’approccio finora adottato è utile analizzare nel dettaglio le singole

transizioni. In particolare: a seguito della prima transizione del segnale START_SEQ,

FRAME_VALID_EMU sale in corrispondenza del fronte di salita del clock

immediatamente successivo, mentre LINE_VALID_EMU commuta 6 cicli di clock dopo

(Figura 4.40). A questo punto, in corrispondenza del successivo fronte di salita del clock,

DOUT_EMU inizia a commutare ad ogni periodo di clock, fintantoché

LINE_VALID_EMU resta alto. LINE_VALID_EMU resta alto per tutto il tempo

necessario alla scansione di una riga valida, vale a dire 640 cicli di clock; tra la scansione

di una riga valida e l’altra LINE_VALID_EMU va basso per 244 cicli di clock, necessari

per il blanking orizzontale. In tutte queste fasi frame_valid resta alto.

Figura 4.40 Comportamento di FRAME_VALID_EMU, LINE_VALID_EMU e DOUT_EMU, quando

START_SEQ interviene. Seconda versione del circuito di emulazione

Quando END_COUNT_ROW va alto la scansione della matrice termina; ultimata la

Page 94: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

85

lettura dell’ultima riga valida LINE_VALID_EMU va basso, e 6 cicli di clock dopo

commuta anche FRAME_VALID_EMU (Figura 4.41).

Figura 4.41 Transizione da 0 a 1 di END_COUNT_ROW: scansione terminata. Seconda versione del

circuito di emulazione

Dopo 25868 cicli di clock in cui FRAME_VALID_EMU resta a zero per la scansione del

blanking verticale, riparte una nuova scansione della matrice. La lettura viene interrotta

dalla transizione da basso a alto del segnale STOP_SEQ (Figura 4.42): al successivo fronte

di salita del clock, infatti, sia FRAME_VALID_EMU che LINE_VALID_EMU tornano

bassi. L’inizio di una nuova scansione è infine forzato mandando ancora alto

START_SEQ. Come ci si aspetta, ancora una volta, LINE_VALID_EMU sale con 6 cicli

di clock di ritardo rispetto a FRAME_VALID_EMU.

Figura 4.42 Intervento di STOP_SEQ nel corso di un frame e successivo nuovo intervento di START_SEQ.

Seconda versione del circuito di emulazione

Page 95: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Circuito di elaborazione digitale e di emulazione del funzionamento del sensore Capitolo 4

86

Le simulazioni post-sintesi e timing (Figura 4.43) confermano il corretto comportamento

riscontrato con la behavioral, consentendo, come già visto, di fare ulteriori considerazioni

sui reali ritardi necessariamente presenti nel circuito.

Figura 4.43 Seconda versione del circuito di emulazione: simulazione timing

Terminata la scansione della matrice di pixel validi LINE_VALID_EMU e

FRAME_VALID_EMU tornano bassi con il consueto ritardo reciproco di 6 cicli di clock,

ma le transizioni non avvengono simultaneamente al fronte di salita del clock, bensì dopo

5 ns. Tale ritardo è ben visibile eseguendo uno zoom della simulazione complessiva, come

mostrato in Figura 4.44.

Figura 4.44 Ritardo tra il fronte di salita del clock e la transizione di LINE_VALID_EMU. Seconda versione

del circuito di emulazione

Al circuito di emulazione costituito dal counter e dal sensorEmulator vanno poi

aggiunti, anche in questa seconda versione, i due sincronizzatori MealySinc.

Page 96: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Capitolo 5

Verifica del circuito di elaborazione

Il Capitolo 4 ha presentato l’analisi dei singoli blocchi circuitali funzionali

all’implementazione della logica per il controllo del sensore di immagine. In questo

Capitolo verranno valutate le prestazioni complessive del circuito realizzato su CPLD. A

tale scopo sono stati utilizzati due testbench, che valutano separatamente il caso in cui sia

abilitato il circuito di emulazione del sensore, e quello in cui siano prelevati i reali segnali

prodotti dal sensore MT9V011. Nel primo caso, illustrato nel Paragrafo 5.1, si avrà

EMU_SENSOR_SEL = 1, mentre nel secondo (Paragrafo 5.2) EMU_SENSOR_SEL = 0.

Per ciascuna delle due condizioni verranno considerate entrambe le versioni del circuito di

emulazione per la valutazione dei risultati complessivi. In attesa della realizzazione della

scheda che ospita il CPLD il corretto funzionamento del circuito implementato è stato,

inoltre, verificato mappando la logica progettata su di un dispositivo programmabile di tipo

FPGA.

5.1 EMU_SENSOR_SEL = 1

Il circuito complessivo realizzato su CPLD nel caso in cui sia previsto il circuito di

emulazione nella sua prima versione, è riportato in Figura 5.1.

In questo caso il testbench prevede

− START_SEQ: inizialmente basso, va alto tra 450 e 1050 ns;

− STOP_SEQ: viene chiamato durante la scansione del secondo frame, per 500 ns;

− RESET_SINCRO: inizialmente basso, va alto a 50 ns;

− FRAME_VALID_S: fisso a 0, visto che interessa valutare l’emulatore;

Page 97: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Ver

ific

a de

l cir

cuit

o di

ela

bora

zion

e

C

apit

olo

5

88

F

igu

ra 5

.1 R

eali

zzaz

ione

cir

cuit

ale

del c

ircu

ito

com

ples

sivo

rea

lizz

ato

su C

PL

D c

he p

reve

de la

pri

ma

vers

ione

del

cir

cuit

o di

em

ulaz

ione

Page 98: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

89

− LINE_VALID_S: fisso a 0, visto che interessa valutare l’emulatore;

− DOUT_S: sequenza di 0, visto che interessa valutare l’emulatore;

− RESET_COUNTER: viene chiamato tra il primo e secondo frame per resettare il

contatore, attivo alto;

− MAN_THR: soglia su 10 bit fissa a 0000111100;

con un tempo di simulazione pari a 9 ms. Le simulazioni behavioral (Figura 5.2), post-

sintesi e timing mostrano il corretto funzionamento del circuito nella modalità selezionata.

Figura 5.2 Circuito di elaborazione complessivo, prima versione del circuito di emulazione,

EMU_SENSOR_SELECT = 1: simulazione behavioral

I segnali FRAME_VALID_MICRO e LINE_VALID_MON riportano in uscita il

frame_valid e il line_valid generati dal sensorEmulator, ad indicare che i multiplexer

rispondono correttamente al segnale di controllo EMU_SENSOR_SEL. Quando, fra il

primo e il secondo frame, RESET_COUNTER va alto, il contatore viene istantaneamente

resettato, e il conteggio riparte da zero (banco di 14 zeri). Per quanto concerne l’analisi

delle singole transizioni, la trattazione, a livello logico, è analoga a quella già condotta nel

sottoparagrafo 4.4.1 per il blocco di emulazione preso singolarmente. Nel caso sotto

esame, però, le informazioni sui ritardi tengono conto degli elementi circuitali aggiunti.

Nel dettaglio: FRAME_VALID_MICRO sale, a seguito della commutazione di

START_SEQ, con un ritardo di 12 ns rispetto al fronte di salita del clock (Figura 5.3). Lo

stesso ritardo rispetto al fronte di salita del clock, viene mantenuto sia nelle transizioni di

LINE_VALID_MON, sia in quelle di DOUT_MON, che inizia a commutare al fronte di

salita del clock successivo alla commutazione di LINE_VALID_MON. Anche l’inizio del

conteggio del numero di pixel sopra soglia quando il dato diventa maggiore o uguale alla

Page 99: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

90

soglia mantiene il ritardo di 12 ns. OUT_COMP_MON e OUT_AND_MON hanno una

transizione da basso ad alto 7.8 ns dopo la commutazione di DOUT_MON al presentarsi di

un dato maggiore della soglia (Figura 5.4).

Figura 5.3 Ritardo rispetto al fronte di salita del clock con cui sale FRAME_VALID_MICRO

Figura 5.4 Ritardo tra la commutazione di OUT_AND_MONITOR, e la transizione di DOUT al dato

maggiore della soglia

Tale ritardo viene mantenuto anche quando i due segnali tornano bassi dopo che

LINE_VALID_MON è andato a zero. Quando RESET_COUNTER va alto tra un frame e

l’altro per il reset del contatore, l’azzeramento del conteggio avviene con un ritardo di

10 ns rispetto al fronte di salita del reset.

Si consideri ora il caso in cui il circuito di emulazione introdotto nel CPLD sia quello

relativo alla seconda versione illustrata. Il circuito complessivo su CPLD è riportato in

Figura 5.5.

Page 100: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Ver

ific

a de

l cir

cuit

o di

ela

bora

zion

e

C

apit

olo

5

91

Fig

ura

5.5

Rea

lizz

azio

ne c

ircu

ital

e de

l cir

cuit

o co

mpl

essi

vo r

eali

zzat

o su

CP

LD

che

pre

vede

la s

econ

da v

ersi

one

del c

ircu

ito

di e

mul

azio

ne

Page 101: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

92

Il testbench impone lo stesso andamento dei segnali d’ingresso di quello già trattato in

questo paragrafo per la configurazione in Figura 5.1, fatta eccezione per il segnale

END_COUNT_ROW prima non presente, che, per semplicità, viene mantenuto fisso a 0.

In questo modo la scansione della matrice non viene interrotta, in quanto non viene

comunicata l’avvenuta lettura dell’ultima riga di pixel validi. Eseguendo la simulazione su

8 ms, sia la behavioral (Figura 5.6), che la post-sintesi e la timing, testimoniano un

comportamento in accordo con la precedente versione.

Figura 5.6 Circuito di elaborazione complessivo, seconda versione del circuito di emulazione,

EMU_SENSOR_SELECT = 1: simulazione behavioral

Quando START_SEQ va alto, infatti, l’emulatore è abilitato, e i segnali

FRAME_VALID_MICRO e LINE_VALID_MON riportano correttamente in uscita

FRAME_VALID_EMU e LINE_VALID_EMU. L’intervento di STOP_SEQ, viceversa,

disabilita l’emulatore, e i segnali FRAME_VALID_MICRO, LINE_VALID_MON,

OUT_AND_MON e OUT_COMP_MON tornano a 0 al successivo fronte di salita del

clock. Il conteggio del numero di cicli di clock necessario per ciascuna delle fasi nel corso

della scansione della matrice, fornisce risultati in accordo con la descrizione

precedentemente fornita della macchina a stati dell’emulatore. Per quanto riguarda l’analisi

dei ritardi, anche da questo punto di vista si confermano i risultati già ottenuti.

FRAME_VALID_MICRO e LINE_VALID_MON mantengono, infatti, un ritardo nelle

transizioni di 12 ns rispetto al fronte di salita del clock (Figura 5.7). OUT_AND_MON e

OUT_COMP_MON transiscono da 0 a 1 con un ritardo di 7.8 ns rispetto all’istante in cui

DOUT_MON commuta al dato maggiore della soglia (Figura 5.8).

Page 102: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

93

Figura 5.7 Ritardo tra LINE_VALID_MON e fronte di salita del clock

Figura 5.8 Ritardo tra la transizione da 0 a 1 di OUT_AND_MON e OUT_COMP_MON, e quella di

DOUT_MON al dato maggiore della soglia

5.2 EMU_SENSOR_SEL = 0

Si faccia ancora riferimento al circuito in Figura 5.1, ma questa volta si supponga che

i segnali siano prelevati dal sensore. Il testbench per la valutazione delle prestazioni

prevede l’andamento di seguito descritto per i segnali d’ingresso.

− START_SEQ: fisso a zero (il circuito di emulazione non è mai abilitato);

− STOP_SEQ: fisso a zero;

− RESET_SINCRO: attivo basso, è mantenuto fisso a 1;

− FRAME_VALID_S: fisso a 1 (è in corso la scansione di un frame);

− LINE_VALID_S: è mandato alto a 93.111 ns, e torna basso a 1856.85 ns;

− RESET_COUNTER: attivo alto, è mantenuto a zero (il contatore non viene resettato);

Page 103: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

94

− DOUT_S: sequenza di dati su 10 bit in uscita al sensore che vengono importati da un

file dout.txt nel testbench. I dati commutano alla frequenza del PIXCLK;

− MAN_THR: soglia impostata manualmente e pari a 0000111100.

La simulazione è fatta su 2 µs (Figura 5.9). Come ci si aspetta, LINE_VALID_MON

replica l’andamento di LINE_VALID_S, a conferma del corretto funzionamento del

multiplexer preposto alla selezione del segnale proveniente, in tal caso, dal sensore.

Figura 5.9 Circuito complessivo su CPLD, prima versione del circuito di emulazione

EMU_SENSOR_SEL = 0: simulazione behavioral

In modo analogo DOUT_MON replica DOUT_S. OUT_COMP_MON e

OUT_AND_MON si alzano nell’istante in cui il dato diventa maggiore o uguale alla soglia

impostata; il contatore inizia quindi a conteggiare il numero di pixel sopra soglia al

successivo fronte di salita del clock. Quando la soglia torna maggiore del dato esaminato

OUT_COMP_MON e OUT_AND_MON tornano bassi, mentre il contatore mantiene il

valore della commutazione immediatamente precedente. Quando, infine, LINE_VALID_S

torna basso, anche se il dato continua ad essere maggiore della soglia, la porta AND

restituisce OUT_AND_MON = 0, e il contatore non incrementa più il numero di pixel

conteggiati. La simulazione timing conferma l’andamento complessivo ottenuto con la

behavioral e la post-sintesi, ma, ancora una volta, aggiunge informazioni sui ritardi

temporali. Il segnale LINE_VALID_MON replica, infatti, LINE_VALID_S, ma con un

ritardo di 9 ns, mentre DOUT_S inizia a commutare con un ritardo di 5 ns rispetto al fronte

di salita di LINE_VALID_S. DOUT_MON replica in uscita la sequenza di dati DOUT_S

con un ritardo di 9 ns (Figura 5.10). OUT_AND_MON e OUT_COMP_MON salgono 3 ns

dopo il fronte di salita del clock (Figura 5.11), e, quando LINE_VALID_S torna basso,

OUT_COMP_MON scende con un ritardo di 9.8 ns (Figura 5.12).

Page 104: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

95

Figura 5.10 Analisi dei ritardi tra LINE_VALID_S e LINE_VALID_MON, e tra DOUT_S e DOUT_MON

Figura 5.11 Ritardo di OUT_AND_MON e OUT_COMP_MON rispetto al fronte di salita del clock

Figura 5.12 Ritardo tra il fronte di discesa di LINE_VALID_S e OUT_AND_MON

Essendo EMU_SENSOR_SEL = 0 l’emulatore non è abilitato, pertanto il

coportamento del circuito in Figura 5.5 (in cui è presente la seconda versione del circuito

di emulazione) è del tutto analogo a quello ora esaminato. Si riporta per completezza la

Page 105: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

96

simulazione behavioral in questo secondo caso (Figura 5.13), ma, per quanto detto, non si

procede oltre con l’analisi dei risultati.

Figura 5.13 Circuito complessivo su CPLD, seconda versione del circuito di emulazione

EMU_SENSOR_SEL = 0: simulazione behavioral

5.3 Occupazione delle risorse logiche su CPLD

Il Paragrafo 5.1 ha messo in evidenza come l’impiego della prima o della seconda

versione del circuito di emulazione non influisca sui ritardi finali che caratterizzano il

circuito. Lo studio del circuito complessivo implementato si conclude ora con l’analisi

delle risorse logiche occupate sul CPLD da ciascuna delle due versione di emulatore

progettate. La Tabella 5.1 riassume il grado di occupazione e la percentuale di utilizzo di

alcune delle principali risorse relative ad un CPLD (si faccia riferimento all’Appendice A

per le informazioni relative all’architettura del CPLD Altera MAX7000).

Tabella 5.1

Risorse occupate sul CPLD nei due differenti casi di impiego della prima o della seconda versione del circuito di emulazione

Risorse CPLD Emulatore (versione I) Emulatore (versione II)

Celle logiche 138/256 (54%) 109/256 (43%)

Registri 68/256 (27%) 62/256 (24%) Pin I/O 60/164 (37%) 61/164 (37%) Fan-out totale 1736 1182 Fan-out medio 8.15 6.72 Segnali globali 2 2

Come si può notare, nel caso di impiego della prima versione del circuito di emulazione, il

fun-out medio e complessivo risulta maggiore rispetto al caso in cui si scelga la seconda

Page 106: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

97

versione. Quest’ultima presenta un pin di I/O (input/output) in più, associato al segnale

aggiuntivo END_COUNT_ROW. Per quanto riguarda, invece, il numero di macrocelle e di

registri occupati, l’utilizzo della prima versione richiede 29 macrocelle e 6 registri in più

rispetto all’impiego della seconda. La Tabella 5.2 mostra il dettaglio delle macrocelle

occupate dalle singole istanze che compongono ciascun circuito. Il maggior numero di

macrocelle è dunque imputabile al sensorEmulator, che, nella sua seconda versione,

richiede soltanto 28 macrocelle, contro le 76 occupate dalla prima. Complessivamente,

pertanto, la prima versione del circuito di emulazione, comprensivo dei due Mealy_Sinc e

del sensorEmulator, occupa 78 macrocelle, mentre la seconda versione, che si compone

dei due Mealy_Sinc, del nuovo sensorEmulator e del counter, ne occupa soltanto 49.

Tabella 5.2 Dettaglio delle macrocelle occupate dalle singole istanze che compongono il cicuito complessivo

nei due casi di utlizzo della prima e della seconda versione del circuito di emulazione

Nome istanza Emulatore (versione I) Emulatore (versione II)

Mealy_Sinc 1 1 Mealy_Sinc 1 1 counter14bit 28 28 lpm_mux0 1 1 lpm_mux0 2 2 lpm_mux1 10 10 sensorEmulator 76 28 wordComparator10bit 17 17 Counter - 19

5.4 Modello temporale dei CPLD MAX 7000 di Altera per il calcolo

dei ritardi

L’architettura generale dei CPLD (Appendice A) rende possibile la predizione dei

ritardi prima ancora che questi vengano ricavati con la simulazione. Pertanto, prima di

programmare un dispositivo, è possibile determinare i ritardi nel progetto nel caso

peggiore. I ritardi temporali in un CPLD Altera della famiglia MAX 7000 sono predicibili

sfruttando il modello temporale fornito dalla casa costruttrice nel manuale della serie

([41]), insieme ai parametri temporali riportati per ciascun dispositivo (MAX 7000S nel

caso in questione).

All’interno di un dispositivo i ritardi temporali cui contribuiscono i singoli elementi

circuitali vengono chiamati parametri temporali interni, forniti dal costruttore per il

dispositivo di interesse. I parametri temporali esterni, invece, rappresentano i ritardi pin-

Page 107: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

98

to-pin, ognuno dei quali consiste di una combinazione di differenti parametri temporali

interni. L’elenco dettagliato dei parametri (interni ed esterni) ed il rispettivo significato è

riportato in [42], mentre il corrispondente valore numerico per ciacun componente della

famiglia MAX 7000 è rintracciabile nel manuale della serie [41]. Tutti i parametri sono

forniti con riferimento al caso peggiore.

Il modello temporale per la predizione dei ritardi nei dispositivi Altera è un

diagramma a blocchi semplificato che illustra la propagazione dei ritardi nel circuito,

mostrato in Figura 5.14. Per il calcolo dei ritardi di propagazione attraverso il dispositivo è

possibile seguire diversi percorsi che implementino la logica desiderata, sommando lungo

il cammino i corrispondenti parametri temporali interni.

Figura 5.14 Il modello temporale per il calcolo dei tardi nei CPLD Altera [42]

Come esempio di calcolo si faccia riferimento alla versione del sincronizzatore

implementata utilizzando 2 FF (Figura 4.27), e si supponga di voler calcolare il Clock-to-

Output Delay (tCO).

Il tCO è definito come il tempo necessario per ottenere un segnale valido in

corrispondenza del pin d’uscita di un registro a seguito della transizione del clock che

temporizza il registro stesso [43]. Nel caso sotto esame esso rappresenta pertanto il ritardo

tra il primo fronte di salita del clock successivo alla transizione dell’ingresso asincrono, e

la transizione da 0 a 1 dell’uscita sincrona, pari a 2.8 ns sulla base delle simulazioni

eseguite. Con riferimento allo schema a blocchi di Figura 5.14, in base alle informazioni in

[42] e al circuito in Figura 5.15, andremo a stimare il tCO utilizzando l’espressione (4.2).

Page 108: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

99

Figura 5.15 Modello circuitale per il calcolo di tCO [42]

Pertanto

ODRDGLOBINCO ttttt +++= (5.2)

dove tIN rappresenta il tempo necessario ai pin dedicati per pilotare gli ingressi, tGLOB il

ritardo che intercorre fra i pin d’ingresso e ogni funzione di controllo globale in una

macrocella, tRD il ritardo associato al registro, e tOD il ritardo legato al buffer d’uscita e alle

pad. Lo Speed Grade impostato nel progetto è pari a 10; pertanto, considerando i

corrispondenti valori per i parametri temporali interni mensionati, relativamente alla

famiglia di CPLD EPM7256S ([41]) d’interesse, si ottiene un ritardo stimato di 5 ns. È da

ricordare che tale risultato rappresenta una stima di caso peggiore.

Lo stesso ragionamento può essere adotatto per stimare il ritardo complessivo

attraverso il circuito considerato relativamente all’uscita. Si faccia ancora riferimento alla

versione con 2 FF del sincronizzatore. Sulla base delle simulazioni il ritardo tra la prima

commutazione da basso a alto dell’ingresso asincrono e quella dell’uscita sincrona vale

34.8 ns. Una volta stabilito un percorso valido tra l’ingresso e l’uscita, grazie al diagramma

in Figura 5.14, si procede sommando i parametri temporali interni che si incontrano lungo

il cammino stabilito. Nel caso in questione, in particolare, partendo dal blocco a sinistra

Input Delay si passa per i blocchi Global Control Delay, Global Control Delay, Register

Delay, e Output Delay, quindi, per tener conto dei ritardi associati alla presenza del

secondo FF, al blocco I/O Delay che è connesso al PIA Delay e si segue nuovamente il

percorso ora specificato. Pertanto

nstttttttttttttt ODRDLADPIAIOODRDLACPIAIOODRDGLOBIN 5.36=+++++++++++++

(5.3)

e 36.5 ns rappresenta il ritardo complessivo stimato per l’uscita asincrona nel caso

peggiore. TPIA indica il ritardo associato alla matrice di interconnessione programmabile

Page 109: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

100

(Programmable Interconnection Array, PIA. Si rimanda all’Appendice A per i dettagli

sull’architettura dei CPLD).

In modo analogo si può stimare il ritardo complessivo nella versione del

sincronizzatore in cui si utilizzano 3 FF (Figura 4.29), per la quale le simulazioni

forniscono circa 60 ns. Tenendo conto della presenza di un ulteriore FF si ha:

nstttttttt

tttttttttttt

ODRDGLOBPIAIOODRDGLOB

PIAIOODRDICPIAIOODCOMBLADPIAIN

5.49=++++++++

++++++++++++

(5.4)

Ancora una volta 49.5 ns rappresenta il ritardo stimato nel caso peggiore.

5.5 Verifica sperimentale su FPGA

In attesa che la scheda che ospiterà il CPLD e le connessione necessarie per

interfacciarsi con il sensore e il CC430 vengano realizzati, la logica implementata è stata

testata sull’FPGA di Xilinx Spartan 3 XC3S1000. In Figura 5.16 è mostrata la Starter Kit

Board utilizzata vista dall’alto. Per il ruolo svolto da ciascuno dei componenti

contrassegnato da un numero si rimanda al manuale della scheda ([44]).

Figura 5.16 Starter Kit Board dell’FPGA Spartan 3 di Xilinx

Page 110: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

101

I file VHDL precedentemente realizzati in Quartus II per il CPLD sono stati pertanto

importati nel software Xilinx ISE, in modo da implementare la stessa logica su FPGA, ed è

stata eseguita un’opportuna riassegnazione dei pin. L’obiettivo primario è stato quello di

verificare la corretta comunicazione tra il circuito di elaborazione (l’FPGA in questo caso)

che svolge l’operazione di confronto tra i dati forniti dal sensore e la soglia stabilita, il

microcontrollore CC430 e il PC remoto, tramite il protocollo TI SimpliciTI. Il test è stato

condotto in assenza del sensore reale, ottenendo pertanto i dati di 10 bit dal blocco di

emulazione del sensore implementato sull’FPGA. Per testare la correttezza della logica è

stato inoltre implementato un ulteriore blocco preposto all’emulazione del

microcontrollore (EMU_MICRO in Figura 5.17).

Figura 5.17 Schema a blocchi del circuito di emulazione del microcontrollore CC430

Il blocco di emulazione del microcontrollore consente di:

o generare il segnale di reset (RESET_COUNT_MICRO) del contatore a 14 bit che

fornisce il numero di pixel sopra soglia (NUMPIX_MICRO), grazie al segnale

d’ingresso FRAME_VALID. Tale segnale resta alto per tutta la durata di un frame ed

è basso tra un frame e l’altro. Il contatore viene resettato tra un frame e il successivo

mandando alto RESET_COUNT_MICRO. Quando il CC430 è connesso, la

transizione da alto a basso di FRAME_VALID provoca la richiesta di un interrupt al

microcontrollore per ricevere il numero di pixel sopra soglia e inviare il reset al

contatore a 14 bit. Si ricorda che l’emulatore del sensore prevede la scansione

soltanto di una parte della reale matrice di pixel (62 righe) tale da avere

FRAME_VALID alto per il doppio del tempo in cui è basso. L’emulatore, inoltre,

genera i dati tramite un contatore a 10 bit, il quale viene incrementato solo in

corrispondenza di un pixel valido della matrice (LINE_VALID alto) e viene resettato

tra un frame e l’altro per ripartire da zero;

o visualizzare il numero di pixel sopra soglia (sequenza di 14 bit) sui 4 display a 7

Page 111: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

102

segmenti presenti sulla Starter Kit Board. Per lo scopo è necessario che il circuito di

emulazione del microcontrollore generi i segnali DISP (a 6 bit) e AN (a 4 bit) come

segnali di comando dei display (i display sono contrassegnati dal numero 10 in

Figura 5.16, mentre i principi di funzionamento sono illustrati in [44]). La frequenza

di refresh di ciascun display è compresa fra 60 e 120 Hz; è pertanto necessaria una

frequenza di pilotaggio pari almeno a 4 volte un valore compreso fra il limite

inferiore e superiore per una corretta visualizzazione. I 50 MHz della scheda sono

stati opportunamente ridotti tramite un divisore di frequenza a circa 380 Hz.

Il resto della circuiteria implementata sulla scheda è stata pilotata con un clock a

12.5 MHz, ottenuto implementando un ulteriore divisore di frequenza che dividesse la

frequenza fornita dall’oscillatore al quarzo per 4, in modo da avvicinarsi ai 13.5 MHz del

CPLD.

Si elencano ora i test eseguiti e i risultati ottenuti per ciascuno di essi.

− Test 1

Prima di collegare il CC430 è stato verificato che i display visualizzassero correttamente le

cifre desiderate imponendo degli ingressi statici (si tenga conto del fatto che i display

visualizzano valori in esadecimale). Nel dettaglio gli 8 switch disponibili sulla scheda

(numero 11 in Figura 5.16) sono stati sfruttati per impostare manualmente 8 dei 14 bit da

visualizzare, mentre i restanti 7 più significativi sono stati forzati a 0. I 4 display sono in

grado di fornire al massimo il numero FFFF (65535 in decimale), mentre con gli switch a

disposizione si arriva a 255. Pertanto ciò che ci si attende è che i due display relativi agli 8

bit più significativi rimangano a 0, mentre gli altri due riportino un numero compreso tra 0

e 255 (FF in esadecimale).

− Test 2

Un secondo test prevede il collegamento del CC430 all’FPGA tramite la scheda di

interfaccia, ed ancora l’utilizzo di ingressi statici, ma generati in modo differente dal

precedente test. L’idea è stata quella di utilizzare uno shift register per generare un segnale

di 14 bit da inviare al microcontrollore fatto da 13 zeri e da un uno che si propaga.

L’evento che fa propagare l’uno è una transizione da alto a basso di FRAME_VALID, che

viene forzata manualmente tramite un pulsante sulla scheda dell’FPGA. Una volta stabilita

la connessione fra il CC430 e il CC1111, il programma di interfaccia con l’utente caricato

sul PC consente di avviare la ricezione dei dati. Ciò che ci si aspetta è una sequenza di

potenze del 2 da 1 a 8192, a conferma che tutti i collegamenti funzionano correttamente.

− Test 3

Page 112: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

103

Dagli ingressi statici si è passati quindi alla trasmissione dei dati generati dall’emulatore

del sensore. La soglia viene impostata tramite gli 8 switch, forzando i due bit meno

significativi restanti a 0 (la soglia arriva pertanto ad un massimo di 1020), mentre i segnali

di START e STOP che abilitano o disabilitano l’emulatore del sensore sono attivabili

manualmente. L’emulatore del sensore genera i dati tramite un contatore a 10 bit, e i valori

assunti vanno pertanto da 0 a 1023. Fissata la soglia, il numero di pixel sopra soglia ad

ogni frame deve essere lo stesso. In una prima fase è stato prolungato il tempo per il quale

FRAME_VALID resta basso a circa 10 s (nel sensore reale tale intervallo vale circa 2 ms)

in modo tale da avere sufficiente tempo per stabilizzare il numero di pixel sopra soglia sui

display, lasciando che l’emulatore del microcontrollore si occupasse della generazione del

segnale di reset del contatore. In queste condizioni è possibile fare un confronto tra il

numero sui display e quello ricevuto dal PC remoto. Successivamente sono state ristabilite

le tempistiche originarie, lasciando che fosse il CC430 a resettare il contatore fra un frame

e l’altro. In questo modo non è possibile effettuare il confronto con i display a causa dei

tempi troppo accelerati, mentre al PC remoto arriva un dato ogni circa 10 ms.

L’emulatore del sensore genera dati di 10 bit incrementando un contatore in

corrispondenza dei pixel validi, vale a dire quando LINE_VALID è alto. La durata di una

riga valida è di 640 cicli di clock, e il totale di righe scansionate è 62; pertanto il numero di

pixel scansionati in un frame è pari a 39680. Il contatore, però, essendo a 10 bit non può

contare fino a tale valore, ma arriverà di volta in volta a 1023 e ricomincerà da capo. Ne

deriva la necessità di un algoritmo che consenta, fissata la soglia, di predire il numero di

pixel sopra soglia che ci si aspetta di ottenere. L’algoritmo è di seguito descritto:

( ) ( )( ) ( ) ( )TTTNUMPIXTSe

TTNUMPIXTSe

−+−=⇒<

−=⇒≥

768102438768

102438768 (5.5)

, dove T è la soglia impostata e NUMPIX è il numero di pixel sopra soglia. Va tenuto

presente, inoltre, il fatto che la soglia, per i test fatti, arriva fino a 1020. Ne segue che il

numero di pixel che ci si aspetta di ottenere, fissata la soglia al suo minimo e massimo

valore, vale rispettivamente:

• T = 0 (soglia minima) ⇒ NUMPIX(T)=39680

• T = 1020 (soglia massima) ⇒ NUMPIX(T)=152

Al fine di ottenere risultati attendibili dall’esecuzione dei test elencati, è necessario

Page 113: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

104

seguire i passi di un’opportuna procedura nell’ordine di seguito riportato. La procedura fa

riferimento al test numero 3.

Collegare la Spartan 3 al CC430 tramite la schedina d’interfacciamento e

alimentare l’FPGA.

Programmare l’FPGA: dal software Xilinx ISE, una volta generato il file di

programmazione (con estensione .bit), fare doppio click su ‘Manage

Configuration Project (iMPACT)’ nella finestra dei processi per aprire il

corrispondente pacchetto software. Da qui seguire i passi: ‘File’ -> ‘New

Project’ -> selezionare ‘Configure devices using boundary scan (JTAG)’,

quindi ‘Ok’ -> selezionare il file .bit generato precedentemente e saltare

(‘Bypass’) la parte relativa alla programmazione della PROM -> click con il

tasto destro sul dispositivo, quindi ‘Program’.

Una volta collegata l’alimentazione il led sulla scheda del CC430 inizia a

lampeggiare, ad indicare che è in cerca di una connessione. Collegare il

CC1111 al PC in modo tale da stabilire la connessione; quando ciò avviene il

led smette di lampeggiare. (N.B. Il sistema al momento non funziona

correttamente se il CC1111 viene connesso al PC prima).

Dal PC lanciare il programma di interfaccia grafica e selezionare il file in cui si

intendono salvare i risultati del test corrente. Ciccare ‘START’ per avviare la

ricezione dei dati.

A questo punto sulla scheda dell’FPGA: resettare la scheda premendo il

pulsante collegato al ‘reset’ globale (L13), quindi per avviare il conteggio dei

pixel sopra soglia pigiare lo ‘start’ (M13). Per disabilitare l’emulatore del

sensore e terminare il conteggio premere ‘stop’ (M14). Per impostare la soglia

muovere gli switch (il pin F12 corrisponde al bit meno significativo, mentre il

K12 a quello più significativo).

Dal PC, per terminare la ricezione dei dati, cliccare ‘STOP’ nel programma di

interfaccia grafica. A questo punto è possibile aprire il file contenente la lista e

le tempistiche dei dati ricevuti.

Per programmare il CC430 viene utilizzato il software IAR Embedded Workbench. I passi

da eseguire sono: dal menu ‘Project’ -> ‘Download and Debug’, quindi dal menu ‘Debug’

-> ‘Go’.

Page 114: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Conclusioni

Il massiccio impiego delle radiazioni ionizzanti in applicazioni mediche si

accompagna al crescente interesse verso le problematiche associate alla radioprotezione

degli operatori sanitari. Mentre, infatti, il singolo paziente è, in linea generale, soggetto ad

una modesta dose di raggi X, l’operatore è chiamato ad eseguire svariate procedure e

spesso tra loro ravvicinate.

Il progetto RAPID, in cui è coinvolta l’Università degli Studi di Perugia, si pone come

obiettivo la realizzazione di un dosimetro individuale adatto alla rivelazione real time della

radiazione ionizzante, sfruttando un sensore di immagine a matrice di pixel attivi (Active

Pixel Sensor, APS). Il presente lavoro di tesi si è inserito nella progettazione e

realizzazione del circuito preposto al controllo e alla lettura di tale sensore. In particolare,

nell’ambito della mia attività, è stato progettato e verificato il funzionamento del circuito di

elaborazione dei dati su una logica programmabile di tipo CPLD. A tal fine è stato anche

progettato un circuito di emulazione del funzionamento del sensore. Nel dettaglio sono

state implementate due differenti versioni del circuito di emulazione e, per ciascuna di

esse, sono state analizzate le risorse logiche occupate sul CPLD. Le simulazioni

behavioral, post-sintesi e timing, condotte utilizzando i software Quartus II e ModelSim,

hanno dimostrato la correttezza del circuito progettato, consentendo la valutazione dei

ritardi temporali introdotti dai singoli blocchi costitutivi. La verifica sperimentale del

circuito progettato, in attesa della realizzazione della scheda su cui è allocato il CPLD, è

stata realizzata mappando la logica progettata su un dispositivo programmabile di tipo

diverso (ovvero su FPGA) per il quale si disponeva di una scheda di sviluppo. Tale

approccio ha permesso, inoltre, di testare il collegamento tra il circuito di controllo del

sensore, il microcontrollore e il PC remoto, sfruttando l’interfaccia grafica e il protocollo

di trasmissione dati Ti SimpliciTi. I test condotti su FPGA non hanno consentito di

verificare la corretta comunicazione tra il sensore e il circuito di controllo progettato, dato

Page 115: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Verifica del circuito di elaborazione Capitolo 5

106

che al momento non si dispone di una scheda di interfaccia tra il sensore e il dispositivo

FPGA.

Gli sviluppi futuri di tale lavoro riguardano la programmazione e la verifica

sperimentale dei circuiti progettati su CPLD e la verifica della corretta comunicazione tra

tutti i blocchi funzionali del sistema, vale a dire il sensore, la scheda su cui è alloggiato il

CPLD, il microcontrollore CC430, il transceiver CC1111 e il PC remoto.

Page 116: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Appendice A

Architettura di un CPLD commerciale

I dispositivi logici programmabili, o PLD (Programmable Logic Devices) sono stati

introdotti negli anni ’70. Agli inizi (si parla degli anni ‘60) c’era la logica discreta. I

sistemi erano costituiti da molti chip individuali connessi tra loro da un’incredibile quantità

di fili. In queste condizioni risultava difficile modificare il sistema una volta costruito, e,

d’altro canto, trascorso del tempo era altrettanto difficoltoso ricordare il ruolo di un

particolare chip. La fabbricazione richiedeva molto tempo, dato che ogni modifica nel

progetto implicava un nuovo inizio nella realizzazione dei collegamenti, nonché spesso la

costruzione di una nuova PCB (Printed Circuit Board). Questi problemi furono risolti

realizzando una matrice di porte AND e OR non connesse in un chip, che prende il nome

di PLD. Un PLD contiene una matrice di fusibili che possono essere aperti o lasciati chiusi

per connettere gli ingressi alle porte AND (Figura A.1). In questo modo è possibile

programmare il chip per eseguire la funzione logica desiderata.

Figura A.1 Architettura di un PLD [39]

Un seplice PLD era in grado di performare un modesto numero di equazioni logiche (al

massimo circa 20). Non era pertanto possibile implementare un progetto che richiedesse

una logica molto complessa su un singolo PLD, ma risultava necessario connetterne un

certo numero tramite fili. Il passo successivo fu allora quello di costruire chip

programmabili molto più grandi, chiamati CPLD, acronimo di Complex Programmable

Logic Devices, e FPGA, acronimo di Field Programmable Gate Array, consentendo di

Page 117: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura di un CPLD commerciale Appendice A

108

ottenere un sistema completo in un singolo chip.

Un CPLD contiene un banco di PLD i cui ingressi e le cui uscite sonno connessi per

mezzo di una matrice globale di interconnessione (global interconnection matrix in Figura

A.2). Pertanto un CPLD è programmabile a due livelli: è possibile programmare ogni PLD

e quindi programmare le interconnessioni tra i PLD stessi [39].

Figura A.2 Architettura di un CPLD [39]

Sono disponibili in commercio CPLD prodotti da svariate aziende costruttrici. Le più

note sono Altera, AMD (Advance Micro Devices), Lattice, Cypress e Xilinx.

Altera ha sviluppato tre famiglie di chip che rientrano nella categoria dei CPLD:

MAX 5000, MAX 7000 e MAX 9000. La famiglia MAX 7000 è quella più largamente

diffusa (nonché quella utilizzata nel progetto di questa tesi) e rappresenta lo stato dell’arte

in termini di capacità logica e velocità. La sua architettura generale è mostrata in Figura

A.3. Essa comprende una matrice di blocchi chiamati LAB (Logic Array Blocks), e fili di

interconnessione denominati PIA (Programmable Interconnect Array). La PIA consente la

connessione fra qualsiasi ingresso o uscita di LAB differenti. In analogia con quanto

introdotto sui CPLD, l’intero chip può essere visto come una matrice di PLD semplici. I

dispositivi MAX 7000 sono disponibili sia in tecnologia EEPROM, che in EPROM. A

partire dal 1996, inoltre, Altera ha introdotto la serie MAX 7000S, che consente la

programmazione In-System (ISP, In System Programmability). La struttura di un LAB è

mostrata in Figura A.4. Un LAB si compone di due gruppi di 8 macrocelle (a loro volta

osservabili in Figura A.5), ognuna delle quali comprende un certo numero di termini

prodotto programmabili che si collegano ad una porta OR e ad un flip-flop. Il flip-flop può

Global

interconnection

matrix

PLD

PLD

PLD

PLD

I/O

I/O

I/O

I/O

Page 118: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura di un CPLD commerciale Appendice A

109

essere di tipo D, JK, T o SR [40]. Ogni registro programmabile può essere temporizzato in

tre differenti modalità:

- tramite un segnale di clock globale. Tale modalità consente le migliori prestazioni

in termini di velocità del persorso tra clock e pin d’uscita;

- grazie un segnale di clock globale e abilitato da un clock di abilitazione attivo alto.

Tale modalità mantiene il vantaggio al punto precedente legato alla velocità di

collegamento tra clock e uscita, ed in più fornisce un segnale di enable ai flip-flop;

- tramite un clock a matrice implementato con un termine prodotto. In questo modo il

flip-flop può essere temporizzato da segnale provenienti da macrocelle o pin di I/O.

Figura A.3 Architettura della famiglia MAX 7000 dell’Altera [40]

Nei dispositivi EPM7032, EPM7064 e EPM7096 il segnale di clock globale è disponibile

da un pin dedicato (GCLK1). Nei CPLD MAX 7000E e MAX 7000S sono invece

disponibile due segnali di clock globale, ciascuno dei quali può essere vero o negato

(GCLK1 e GCLK2). I pin di I/O di tutti i dispositivi MAX 7000E e MAX 7000S possiedono

inoltre un rapidono accesso ai registri della macrocella, grazie a percorsi dedicati che

consentono di bypassare la PIA e la logica combinatoria.

Il numero di ingressi alla porta OR in una macrocella è variabile; la porta OR può

essere alimentata da alcuni o da tutti i cinque termini prodotto all’interno della macrocella,

e, in aggiunta, può avere fino a quindici termini prodotto extra dalle altre macrocelle nello

stesso LAB. Questa flessibilità rende i LAB della serie MAX 7000 più efficienti in termini di

area del chip occupata, in quanto le tipiche funzioni logiche non necessitano in genere più

di cinque termini prodotto, mentre l’architettura consentirebbe comunque di supportare

funzioni più complesse quando fosse richiesto [40]. Infatti, nonostante, come appena detto,

Page 119: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura di un CPLD commerciale Appendice A

110

la maggior parte delle funzioni logiche siano implementabili con i 5 termini prodotto

disponibili in ciascuna macrocella, Altera fornisce gli strumenti necessari per risolvere

logiche più complesse. Per fornire le risorse logiche mancanti nulla vieta di utilizzare

un’ulteriore macrocella; nonostante ciò le architetture MAX 7000 permettono l’impiego di

aggiuntivi termini prodotto detti expander. Gli expander costituiscono termini prodotto

addizionali per ogni macrocella all’interno di ciascun LAB, e si distinguono in:

- condivisibili (shareable expander), ovvero termini prodotto invertiti che sono

retroazionati nel LAB;

- paralleli (parallel expander), vale a dire termini prodotto “presi in prestito” da

macrocelle adiacenti.

Figura A.4 Architettura di un LAB della famiglia MAX 7000 dell’Altera [40]

In un un CPLD Altera i ritardi temporali sono predicibili. Questa è una caratteristica

che accomuna tutti i CPLD (e che li differenzia ad esempio dall’FPGA), essenzialmente

dovuta al fatto che tutte le connessioni passano necessariamente per la matrice di

interconnessione (PIA), e viaggiano pertanto attraverso il medesimo percorso. Un’empio di

come Altera consenta di stimare i ritardi nel circuito implementato, prima ancora di

verificarli tramite le simulazioni, è stato fornito nel paragrafo 5.4.

Page 120: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Architettura di un CPLD commerciale Appendice A

111

Figura A.5 Architettura di una macrocella in un LAB della serie MAX 7000 [40]

I CPLD MAX 7000S consentono la programmazione In-System tramite uno standard

industriale di interfaccia JTAG a 4 pin. L’architettura di questi dispositivi genera

internamente l’elevata tensione di programmazione richiesta per programmare le celle

EEPROM, consentendo una programmazione In-System con solo una singola tensione di

alimentazione di 5 V. Durante la programmazione i pin di I/O sono di tipo tri-state e

connessi a pull-up in modo da eliminare conflitti sulla scheda [41].

I CPLD Altera MAX 7000 offrono una modalità operativa che consente di ridurre il

consumo di potenza (power saving mode) lungo persorsi definiti dall’utente o sull’intero

dispositivo. Questa caratteristica consente di ridurre la potenza totale dissipata fino al 50%

e oltre, sfruttando il fatto che la maggior parte delle apllicazioni logiche richiedono

soltanto una piccola frazione di gate per operare alla massima frequenza [41].

Page 121: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Bibliografia

[1]. Società Italiana di Radiologia Medica, http://www.radiointerventistica.org/org/index.php.

[2]. C.Bartolozzi, Università di Pisa, http://www.rad.unipi.it/.

[3]. National Council on Radiation Protection and Measurement, NCRP, “Radiation

protection for procedures performed outside the radiology department”, 2000,

Publication 133.

[4]. M. Paolucci et al., “A real time active pixel dosimeter for interventional radiology”,

Radiation Measurements Journal, vol. 46, Issue 11, November 2011, pp 1271-

1276 (ISSN: 1350-4487; doi:10.1016/j.radmeas.2011.07.006).

[5]. M.Pelliccioni, “Fondamenti fisici della Radioprotezione”, Pitagora Editrice,

Bologna, 1989.

[6]. G.F.Knoll, “Radiation detection and measurement”, Wiley Ed., 1979.

[7]. Gruppo di studio per la garanzia di qualità in radiologia diagnostica e interventistica,

“Linee guida per la garanzia di qualità in radiologia diagnostica e interventistica”,

Rapporti ISTISAN 07/26.

[8]. Piccagli, Sghedoni, Tassoni, “Caratterizzzione dell'irraggiamento del personale

medico in chirurgia vascolare”, Atti del V Congresso Nazionale AIFM, Castelvecchio

Pascoli (LU), Italia, 17-20 settembre 2007.

[9]. William R. Leo, “Techniques for Nuclear and Particle Physics Experiments”, Berlin

and Heidelberg: Springer, 1987.

[10]. D.E. Groom (LBNL), and S.R. Klein (LBNL), “Passage of particles through matter”

Revised April 2006 by H. Bichsel (University of Washington).

[11]. Claude Leroy and Pier Giorgio Rancoita, “Principles of radiation interaction in

matter end detection”, World Scientific Publishing, Singapore, 2004.

[12]. International Commission on Radiological Protection, ICRP, “Radiological Protecion

and safety in medicine”, Publication 73.

[13]. National Council on Radiation Protecion ans Measurement, NCRP, “Use of personal

monitor to estimate affective dose equivalent to workers for external exposure to

low-LET radiation”, Publication 122.

[14]. R. F. Laitano, “L’importanza delle misure di dose assorbita in radioprotezione e nelle

applicazioni mediche delle radiazioni ionizzanti”, Istituto Nazionale di Metrologia

delle Radiazioni Ionizzanti, ENEA, Centro Ricerche Casaccia, Roma.

Page 122: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Bibliografia

113

[15]. Servizio Sanitario Regionale, Emilia Romagna, Azienda Unità Sanitaria Locale di

Rimini, “Manuale informativo per i lavoratori”, http://www.ausl.rn.it.

[16]. Environmental Health & Safety Department, Dosimetry, Harvard Campus Services,

http://www.uos.harvard.edu.

[17]. Luigi Enrico Casani, “I rivelatori di radiazioni”, Dispense di Fisica Applicata per il

V° anno del corso sperimentale in Fisica Ambientale e Sanitaria per l’Europa

(F.A.S.E.), Roma, 2004/2005.

[18]. S. Romani, SOGIN, Area Disattivazione Caorso, “Stato dell’arte della dosimetria

personale attiva”, Roma, 23-25 Febbraio 2011.

[19]. V.K. Mathur, “Nuclear Instruments ans Methods in Physics Research Section B:

Beam Interactions with Materials and Atoms”, M. Breese, L.E. Rehn, C. Trautman,

2001.

[20]. S.Chiriotti, M. Ginjaume, E. Vano, R. Sanchez, J.M. Fernandez, M.A. Duch, J.

Sempau, “Performance of several active personal dosemeters in inteventional

radiology and cardiology”, ORAMED 2011.

[21]. Unfors, Unfors EDD-30 Dosimetri personali elettronici.

[22]. Unfors, Sensor Characteristics Unfors EDD-30.

[23]. Philips, Philips DoseAware system.

[24]. E. Mergel, S. Feige, U. Hausler, “Occupational exposure of medical staff due to

diagnostic X-ray examination in veterinary medicine“, Eurosafe.

[25]. I. Clairand, J-M. Bordy, E. Carinou, J. Daures, J. Debroas, M. Denoziere, L.

Donadille, M. Ginjaume, C. Itiè, C. Koukorava, S. Krim, A-L. Lebacq, P. Martin, L.

Struelens, M. Sans-Mercè and F. Vanhavere, “ Use of active personal dosimeters in

interventional radiology/cardiology: tests with continous and pulsed fields in

laboratory conditions – Oramed project“, ORAMED 2011, Barcellona, 20-22

Gennaio.

[26]. ThermoScientific, ThermoScientific EPD-MK2+ Electronic Personal Dosimeter,

Product Specifications.

[27]. RaySafe, RaySafe i2 Real-time radiation insight.

[28]. Xilinx, CPLD, What is a CPLD?, http://www.xilinx.com/cpld.

[29]. Texas Instruments, MSP430 SoC with RF Core.

[30]. Texas Instruments, CC111Fx/CC1110Fx, Low-Power SoC (System-on-Chip), with

MCU, Memory, Sub-1GHz RF Transceiver, and USB Controller.

[31]. B. E. Bayer, Color imaging array, US Patent No. 3971065.

Page 123: PROGETTO E REALIZZAZIONE DI UN CIRCUITO PER IL ......Figura 4.15 Schema a blocchi del circuito complessivo realizzato su CPLD 64 Figura 4.16 Realizzazione circuitale del blocco di

Bibliografia

114

[32]. Wasaam Ahmad, “Altera Quartus II tutorial”, Department of Electrical and

Computer Engineering, University of Illinois, Chicago.

[33]. Altera, Quartus II tutorial, Quartus II introduction.

[34]. Altera, Quartus II tutorial, Compile a design.

[35]. Altera, Quartus II tutorial, Run Timing Analysis.

[36]. Overview: Using the ModelSim Software with the Quartus II Software,

http://www.slac.stanford.edu.

[37]. E. Conti, P. Placidi, M. Biasini, L. Bissi, A. Calandra, B. Checcucci, S. Chiocchini,

R. Cicioni, R. Di Lorenzo, A. C. Dipilato, A. Esposito, M. Paolucci, D. Passeri, A.

Pentiricci, A. Scorzoni, L. Servoli, “Use of a CMOS Image Sensor for an Active

Personal Dosimeter in Interventional Radiology”, accettato per pubblicazione su

IEEE Transactions on Instrumentation and Measurement.

[38]. L. Servoli et al., "CMOS imagers as Dosimetric devices in Interventional Radiology

procedures," ICTR-PHE 2012, Poster session (abstract), February 27-March 2, 2012,

Geneva (Switzerland).

[39]. XESS, What are CPLDs and FPGAs?, http://www.xess.com.

[40]. Stephen Brown and Jonathan Rose, “Architecture of FPGAs and CPLDs: A

Tutorial”, Department of Electrical and Computer Engineering, university of

Toronto.

[41]. Altera, MAX 7000 Programmable Logic Device Family Data Sheet, September 2005,

ver. 6.7.

[42]. Altera, Understanding Max 7000 Timing, Application Note 94, May 1999, ver. 2.

[43]. Altera, Using Timing Analysis in the Quartus II Software, Application Note 123,

January 2001, ver. 2.0.

[44]. Spartan-3 Starter Kit Board User Guide, UG130 (v1.1), May 13, 2005.