COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf ·...

128
UNIVERSITÀ DEGLI STUDI DI PADOVA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA TESI DI LAUREA COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISK Relatore: Ch.mo Prof. D.Ciscato Laureando: Alessandro Stocco Dipartimento di Elettronica e Informatica Anno Accademico 2001/2002

Transcript of COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf ·...

Page 1: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

UNIVERSITÀ DEGLI STUDI DI PADOVA

FACOLTÀ DI INGEGNERIA

CORSO DI LAUREA IN INGEGNERIA INFORMATICA

TESI DI LAUREA

COMPENSAZIONE ADATTATIVA DELLEVIBRAZIONI NEGLI HARD DISK

Relatore: Ch.mo Prof. D.CiscatoLaureando: Alessandro Stocco

Dipartimento di Elettronica e Informatica

Anno Accademico 2001/2002

Page 2: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

2

Page 3: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

3

A mio papà

Pietro

Page 4: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

4

Page 5: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

5

INDICE

INTRODUZIONE pag 07

CAPITOLO 1CONTROLLO DELLE TESTINE NEGLI HARD DISK

1.1 HARD DISK DRIVE 19

1.2 VOICE COIL MOTOR 10

1.3 POSITION ERROR SIGNAL 12

1.4 SOPPRESSIONE DELLE VIBRAZIONI 13

CAPITOLO 2ORGANIZZAZIONE DEL SISTEMA SPERIMENTALE

2.1 IL DISCO 17

2.2 HDD SERVO EVALUTATION BOARD 18

2.3 SCHEDA DI CONVERSIONE AD/DA 21

2.4 SUPER 10 EVALUTATION BOARD 24

2.4.1 LA MEMORIA 24

2.4.2 I PORT 26

2.4.3 IL CANALE DI COMUNICAZIONE SERIALE (SSC) 28

2.4.4 ACCESSO ESTERNO AL BUS DATI 28

2.4.5 AMBIENTE DI SVILUPPO SOFTWARE 31

2.5 ACCELEROMETRO ROTAZIONALE MEMS L6671 32

2.5.1 TECNOLOGIA MEMS 32

2.5.2 ARCHITETTURA DEL RAC 34

2.5.3 COMUNICAZIONE TRA RAC E SUPER 10 34

2.5.4 FILTRO INTERNO 37

2.5.5 REGISTRI 38

2.6 SHAKER 42

CAPITOLO 3PRINCIPI TEORICI SUL CONTROLLO ADATTATIVO

3.1 CENNI SUL CONTROLLO ADATTATIVO 45

3.2 PERFORMANCE SURFACE 46

3.3 LMS ED FILTERED-X LMS ALGORITHM 48

3.4 VELOCITA’ DI APPRENDIMENTO 51

Page 6: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

6

CAPITOLO 4ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

4.1 IDENTIFICAZIONE DI Gout E REALIZZAZIONE DELL’ALGORITMO 53

4.2 CRITERI DI SOGLIA 56

4.2.1.1 SOGLIA SULL’INTEGRALE DELLE CRESTE 57

4.2.1.2 SOGLIA SULLA STIMA DELL’ERRORE QUADRATICO MEDIO 58

4.2.2 SOGLIA SULL’ACCELERAZIONE ANGOLARE 59

4.3 STRUTTURE DATI 60

4.4 ESTENSIONE DEL PES 63

4.5 SEGNALE DI ACCELERAZIONE ANGOLARE 65

CAPITOLO 5RISULTATI SPERIMENTALI

5.1 FEED-FORWARD STATICO CON GUADAGNO ADATTATIVO 69

5.2 FEED-FORWARD DINAMICO CON FILTRO ADATTATIVO 76

5.3 CONCLUSIONI E SVILUPPI FUTURI 89

APPENDICE ACONFIGURAZIONE DEI REGISTRI SUPER 10 93

APPENDICE BLISTATO DEL PROGRAMMA 105

BIBLIOGRAFIA 127

RINGRAZIAMENTI

Page 7: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

7

INTRODUZIONE

L’argomento trattato da questa tesi, svolta presso il laboratorio di Elettronica

Industriale dell’università di Padova, si colloca all’interno di un più ampio progetto atto

al miglioramento delle prestazioni degli hard disk drive (HDD) commerciali.

In particolare in questo lavoro si vuole migliorare le prestazioni di inseguimento di traccia

di un dispositivo HDD sollecitato da vibrazioni.

Un disco sottoposto a vibrazioni presenta difficoltà nel mantenere la testina nel

centro traccia. Se gli scostamenti della testina sono tali da superare il 5% dell’ampiezza

della traccia la correttezza delle operazioni di scrittura e lettura non sono più assicurate.

In queste condizioni le operazioni sul disco non vengono eseguite finché il controllo della

testina non riesce ad riallineare la testina con il centro traccia. Questo è causa di

rallentamenti ed un complessivo calo di prestazioni da parte del dispositivo di

memorizzazione.

Mantenere piccolo lo scostamento attraverso un controllo più preciso dà inoltre la

possibilità di aumentare la densità con cui si memorizzano le tracce nei dischi,

conseguentemente si può aumentare la capacità totale del disco a parità di volume.

L’interesse a questo tipi di problematiche è sempre più crescente dato il diffondersi

di applicazioni mobili di sistemi basati su processore elettronico ( si pensi ad esempio ai

notebook, cellulari, computer di bordo di autoveicoli ecc.). Le vibrazioni a cui è sottoposto

il disco non sono solo dovute a fonti esterne. Disturbi nell’inseguimento di traccia da

parte della testina possono essere dovuti a cause interne al supporto del disco, tra le quali

si citano le vibrazione autoindotte dovute alla rotazione dei dischi e allo spostamento del

braccetto meccanico sui dischi.

Si stanno diffondendo in commercio dei dispositivi (chip) in grado di misurare le

accelerazioni angolari e/o lineari. Questi sensori costruiti in tecnologia MEMS possono

essere usati con profitto nel problema della soppressione delle vibrazioni.

Page 8: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

8

Conseguentemente lo studio per il perfezionamento del sistema di compensazione

delle vibrazioni si è rivolto a tecniche feed-forward possibili data la misura offerta da

questi tipi di accelerometri.

Un hard disk drive è un prodotto industriale di larga produzione, i suoi parametri

tipici (centro massa braccetto, resistenza degli avvolgimenti VCM e così via) possono

variare significativamente da disco a disco all’interno di dichiarate fasce di tolleranze.

Tecniche di filtraggio che usano parametri fissi richiederebbero una sintonizzazione per

ogni disco prodotto per ottenere il miglior risultato possibile, questo comporterebbe un

eccessivo dispendio di risorse.

Sono state proposte di recente tecniche che usano algoritmi adattativi per

sintonizzare i parametri in modo da ottenere il miglior controllo possibile per ogni

specifico disco. Il lavoro che è stato sviluppato è appunto l’implementazione e la

valutazione di una di queste tecniche.

Il lavoro è stato sviluppato presso il Dipartimento di Elettronica ed Informatica

(DEI) dell’università di Padova, sotto la guida dei professori Ch.mo Prof. Doriano

Ciscato e del Prof. Dott. Ing. Roberto Oboe, e con i preziosi consigli del Dott. Ing.

Federico Marcassa e del Dott.Ing. Riccardo Antonello.

Page 9: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 1CONTROLLO DELLE TESTINE NEGLI HARD DISK

1.1 HARD DISK DRIVE

L’ hard disk drive è attualmente uno dei più importanti dispositivi di

memorizzazione in commercio. Il dispositivo è costituito da una serie di dischi

coassiali liberi di ruotare attorno al loro asse. Ogni faccia dei dischi è ricoperta da

materiale magnetico ad alta coercitività.Modificando la magnetizzazione di tali

superfici è possibile catturare e mantenere delle informazioni.

Le operazioni di lettura e scrittura avvengono tramite lo spostamento di una

serie di braccetti meccanici solidali tra loro che presentano alla loro estremità delle

testine elettromagnetiche.

Figura 1.1 – Hard Disk Drive

Page 10: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 1

10

Le testine, sfruttando la formazione di un cuscinetto d’ aria, planano sui dischi

in movimento a distanze ridottissime dell’ ordine dei 50 nm.

La memorizzazione dei dati avviene su traiettorie circolari concentriche dette

tracce. Le tracce a loro volta sono divise in porzioni chiamati settori.

Per leggere (o scrivere) su di una particolare traccia è necessario spostare la testina

da una zona generica ad una posizione particolare sopra il disco, ed in particolare

sulla posizione dove la traccia di interesse sta ruotando per effetto del motore

mandrino.

Il servoposizionamento della testina è uno dei compiti più importanti per il

dispositivo hard disk. Si possono individuare due distinte fasi nel movimento delle

testine ossia la:

• FASE DI SEEK : la testina deve raggiungere una prefissata traccia, in

questa fase è determinante avere una elevata velocità di spostamento.

• FASE DI TRACK FOLLOWING : la testina è posizionata sulla traccia di

interesse e non deve allontanarsi dal centro traccia, in questa fase quello

che più interessa è la precisione dell’ inseguimento.

Nel proseguimento di questo lavoro si privilegerà lo studio del sistema hard

disk nella seconda di queste fasi. Si cercherà in particolare di mantenere la testina il

più vicino possibile al centro traccia sebbene il disco venga disturbato da agenti

esterni e interni.

1.2 VOICE COIL MOTOR

Il movimento delle testine è dovuto ad un motore chiamato VOICE COIL

MOTOR (VCM). Il VCM può essere schematizzato con il consueto schema a blocchi

per un motore elettrico in corrente comandato sulle armature (figura 2.1).

I disturbi che entrano nel motore sono disturbi di coppia e agiscono all’ interno

del modello. Il compito del controllo del posizionamento delle testine è di calcolare il

comando u(t) a dispetto dei disturbi agenti.

Page 11: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONTROLLO DELLE TESTINE NEGLI HARD DISK

11

Figura 1.2 – Schema a blocchi VCM

I simboli della figura si riferiscono a:

• v : tensione applicata agli avvolgimenti del VCM

• e : forza contro elettromotrice

• Ra , La : resistenza e induttanza degli avvolgimenti

• B , J : coefficiente di attrito e momento di inerzia

• Kφ : costante di coppia

• τ : coppia motrice

• τd : coppia di disturbo

• ω , θ :velocità e posizione angolare VCM

L’ ingresso del sistema è costituito da C.I. (controllore di corrente), S.P. (stadio

di potenza) e dalla resistenza di sensing Rs. Data l’ ampia banda di controllo di questo

loop rispetto alle frequenze di interesse(>20kHz), il sistema a catena chiusa che

controlla la corrente è assimilabile ad un guadagno costante (transconduttanza), cioè

I(t) = Ki u(t). La coppia di disturbo τd viene introdotta per tenere in considerazione

effetti quali l’ attrito aerodinamico dovuto alle correnti d’ aria generate dalla rotazione

dei dischi, la forza elastica dei flat cable dedicato alla trasmissione dei dati ed altri

ancora la cui modellizzazione è tuttora oggetto di studio. Il coefficiente di attrito

viscoso B risulta trascurabile. In via semplificativa si può considerare il modello del

VCM come un doppio integratore.

K

u(t) C.I.S.P.

Rs

F(s) s

1 1 Ra + s La

B + s J

φ

v +

- -

i

+

ω

θ

+

τ

τ

φ

K

+

e

d

Page 12: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 1

12

1.3 POSITION ERROR SIGNAL

Al fine di attuare un controllo a catena chiusa è essenziale disporre di un

segnale proporzionale allo scostamento dal centro traccia della testina. Il segnale in

questione è il comunemente chiamato Position Error Signal (PES).

I costruttori di hardware adottano abitualmente diverse tecniche per estrarre questo

segnale dal processo hard disk.

Il metodo dedicated servo riserva la superficie di un disco di sola lettura alla

memorizzazione di segnali di sincronismo dai quali è possibile estrarre il PES e

l’ indice di traccia. Più comune per dischi di piccole dimensioni è invece il metodo

sector servo (oppure embeded servo), metodo del dispositivo in uso in questo lavoro,

il quale riserva per ogni traccia un numero costante di settori contenenti i segnali di

sincronismo per la generazione del PES.

Figura 1.3 – Disposizione dati su di un disco

La distanza angolare tra servo settori, ossia i settori riservati alla generazione

del PES, è costante in ogni traccia in questo modo il tempo che trascorre tra la

lettura di due servo settori consecutivi è sempre costante (figura 1.3).

E’ messo a disposizione inoltre un segnale (nel caso in esame chiamato

SGATE) che indica quando la testina si trova in corrispondenza di un servo settore.

Questo segnale è importante perché può essere usato come segnale di

sincronismo per il controllo digitale dal momento che il tempo, che intercorre tra due

servosettori consecutivi, è pari al periodo di campionamento.

All’ interno dei servo settori sono memorizzati dei pattern ossia sequenze di

dati prestabiliti ( burst ) i quali consentono la ricostruzione della distanza della testina

dal centro traccia e il numero della traccia stesso. Il disco usato in questo lavoro

Settore Dati

Traccie

Servo Settore

Page 13: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONTROLLO DELLE TESTINE NEGLI HARD DISK

13

possiede quattro tipi diversi di burst : A , B , C , D. Il calcolo del PES è condotto a

partire dai valori delle differenze A-B , B-A , C-D e D-C. Per maggiori dettagli si

può fare riferimento a [3].

1.4 SOPPRESSIONE DELLE VIBRAZIONI

L’ hard disk quindi è progettato per essere controllato in modo digitale da un

microcontrollore il quale è inserito a bordo della scheda elettronica di supporto del

disco. Uno schema di principio del controllo è riportato in figura 1.4.

Figura 1.4 – Schema di principio controllo hard disk.

Nel controllo ad anello ad anello chiuso C sta a rappresentare la serie del

controllore nel discreto seguito da un holder (DAC) e P rappresenta il processo hard-

disk.

Nel grafico sono stati messi in evidenza i disturbi che possono entrare nel

processo. Nel proseguo si farà però riferimento ad uno schema nel quale i disturbi

sono riportati all’ ingresso del disco come mostrato in figura 1.5.

Figura 1.5 – Schema di controllo con disturbo riportato in ingresso

C P

D i s t u r b i

-

+

C e n t r o T r a c c i a

C P

d

-

+ C e n t r o T r a c c i a

G r e f

+ +

θθθθ ..

u

Page 14: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 1

14

In particolare nella figura 1.5 si è rappresentato il blocco Gref che rappresenta

la serie tra il blocco risultante dalla manipolazione dello schema a blocchi di figura

1.4 ed il blocco che lega l’ accelerazione angolare con il disturbo generico. Il segnale

di disturbo che si sovrappone al comando u(t) prodotto dal controllo è stato chiamato

d(t) e rappresenta il disturbo che si vuole sopprimere.

Nello schema è stato esplicitata..θ perché è possibile mediante accelerometri

rotazionali (RAC rotational accelerometer) produrre una misura dell’ accelerazione

angolare alla quale il disco è soggetto. Questa misura è un dato molto importante per

individuare l’ entità delle vibrazioni a cui è sottoposto un disco, l’ accelerazione

angolare è infatti una delle principali cause del deterioramento delle prestazioni

dell’ inseguimento traccia negli attuali dischi.

Disponendo quindi della misura dell’ accelerazione è attuabile uno schema a

controllo ad azione diretta ( feed-forward ). Si tenta cioè filtrare opportunamente il

dato di accelerazione in modo da produrre una stima del segnale di disturbo

denominato d(t).

Figura 1.6 – Compensazione feedforward

Il sensore RAC, come si vedrà nel seguito, ha una larghezza di banda limitata

ed una propria dinamica, nello schema di figura 1.6 il blocco RAC vuole appunto

tenere in considerazione questo aspetto.

C P

d

- +

C e n t r o T r a c c i a

G r e f

+ +

θθθθ ..

u

G f f

θθθθ ..

d

-

^

^

R A C

P E S

Page 15: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONTROLLO DELLE TESTINE NEGLI HARD DISK

15

Il segnale di riferimento nello schema di controllo di figura 1.6 indicato come

‘centro traccia’ è pari a zero.

Nel proseguimento del lavoro sarà utile considerare invece dello schema di

figura 1.6 lo schema di figura 1.7 a) , nel quale il blocco Gout sta ad indicare la f.d.t.

che ha come ingresso il segnale d(t) ed uscita il segnale PES (il quale corrisponde

anche al segnale di uscita del processo hard disk) vedi figura 1.7 b).

Figura 1.7 – a) Schema di controllo ridotto, b) f.d.t. Gout

La progettazione del filtro Gff è stato argomento di due precedenti tesi ([1]-

[2]). Il risultato prodotto in questi lavori è risultato valido per il disco sottoposto ai

test su di una banda inferiore rispetto alla banda complessiva del sensore. Si cerca

quindi di individuare dei metodi diversi per la sintesi del filtro di compensazione con

il quale ridurre il più possibile l’ effetto delle vibrazioni sul segnale di errore (PES) e

aumentare la banda su cui la compensazione agisce. Oltre a questo si vuole rendere il

più generale possibile il metodo di compensazione in modo da garantire una efficace

compensazione su ogni diverso dispositivo. Nelle produzioni di beni di largo

consumo su larga scala, come nel caso degli hard-disk, sono comuni sostanziali

differenze nei parametri tra le singole unità prodotte. I metodi di sintesi del filtro di

feed-forward basati su modelli matematici a parametri fissi o da identificazioni su di

un singolo disco, possono non essere tali da garantire la miglior compensazione per

ogni singolo dispositivo prodotto. Inoltre il segnale di uscita dell’ accelerometro può

risultare significativamente diverso rispetto a quello di un altro accelerometro e che

R A C

d

G r e f θθθθ ..

d ^

^ G f f

G o u t +

-

P E S

θθθθ ..

Gout =P

1+CP

PESd

a)

b)

Page 16: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 1

16

altre variazioni di parametri nei dischi possono attribuirsi alle variazioni di

temperatura e all’ invecchiamento dell’ apparato.

Da queste osservazioni è nata l’ idea di utilizzare tecniche di controllo

adattative per raggiungere una più efficace compensazione e allo stesso tempo

realizzare una procedura di autosintonizzazione dei parametri.

Figura 1.8 – Compensazione feedforward adattativa

Nello schema di principio riportato in figura 1.8 viene messo in evidenza che il

filtro Gff subisce una regolazione dei propri parametri attraverso un algoritmo di

aggiornamento dei parametri (AAP).

Si noti che con l’ uso di un controllo adattativo si passa da un sistema di

controllo tempo-invariante ad uno tempo variante.

R A C

d

G r e f θθθθ ..

d ^

^ G f f

G o u t +

-

P E S

θθθθ ..

A A P

Page 17: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2ORGANIZZAZIONE DEL SISTEMA SPERIMENTALE

2.1 IL DISCO

L’ hard disk drive usato nella sperimentazione è un disco commerciale con una

capacità di 4.3 GByte e una densità di 13 kTPI (kilo Tracks Per Inch). La velocità di

rotazione del disco è di 5400 giri/min dalla quale si ricava facilmente che la

frequenza di rotazione è di 90 Hz. La frequenza di campionamento del disco è di

Tpes ≈ 116 µsec e la corrispondente frequenza di Nyquist è FNyquist = 1/(2 Tpes) =

=_4.31 KHz.

Dalla frequenza di rotazione e dal periodo di campionamento del PES si può

risalire al numero di servosettori per ogni traccia ossia :

Il disco dopo circa 96 campioni del segnale PES ha compiuto un giro su se

stesso.

969010116

11#

6≈

⋅⋅≈

⋅= −FrTpes

riservosetto )1.2(

Page 18: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

18

2.2 HDD SERVO EVALUTATION BOARD

Attraverso la scheda denominata HDD SERVO EVALUTATION BOARD

ALTERA è possibile commutare dal controllo interno (programmato sul DSP

montato sull’ elettronica di bordo del disco) al controllo residente su un DSP esterno

(Super 10).

Figura 2.1 – Schema di principio dell’innesto ALTERA sull’ HDD

Questo passaggio è reso possibile dall’ innesto della scheda ALTERA sui

segnali che mettono in comunicazione due particolari chip dell’ HDD. I chip in

questione sono il ‘Bellini’ , adibito alla trasmissione del canale, ed il chip ‘Atlantis’ ,

preposto al controllo del VCM. Le linee di segnale vengono tagliate fisicamente

quindi fatte passare sull’ ALTERA come mostrato in figura 2.1 (per maggiori dettagli

sulle linee in questione si rimanda a [1]). L’ interruttore è realizzato con un deviatore

meccanico con circuito antirimbalzo e da due interruttori elettronici integrati nel chip

MAX 313 (U22 nella scheda). All’ integrato sono connessi due jumper (J9) per rende

trasparente l’ interruttore all’ HDD, qualora fosse necessario, così da rendere attivo il

controllo elaborato dal canale.

Il componente principale di questa scheda è l’ FGPA (Field Programmable

Gate Array) ALTERA il cui compito è quello di convertire i segnali provenienti dal

disco in un formato compatibile con il DSP (Super 10) che sarà utilizzato per la

Bellini

(Canale)

Atlantis (Controllo

VCM)

HDD

Super 10 (Controllo esterno)

ALTERA interruttore

o

Page 19: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

19

programmazione del controllo esterno. I dati che fluiscono serialmente dal disco all’

ALTERA vengono decodificati e ripartiti in altre linee di segnale uscenti dalla

scheda. In particolare si citano, oltre ai segnali di trasmissione sul bus dati, i segnali

di interruzione INT_GRAY, il quale segnala la presenza sul bus della servobanda

(16 bit) e INT_ABCD. Quest’ ultimo segnale di interruzione occorre dopo un

microsecondo dal INT_GRAY ed è caratterizzato da sei impulsi, distanziati tra loro

di un microsecondo, i quali segnalano la presenza sul bus dei valori dei burst

(disposti sugli 11 bit meno significativi) per il calcolo del PES. All’ accensione della

scheda è necessaria la programmazione dell’ FPGA attraverso l’ uso di un apposito

programma residente in una memoria ROM esterna o su di un PC. In quest’ ultimo

caso la trasmissione del programma non è diretta, infatti è necessario l’ uso di un cavo

di interfacciamento detto Altera Bit Blaster il quale si connette con il connettore 9.

Una rapida rassegna degli altri connettori interessati nella realizzazione del sistema

sperimentale sono qui sotto rappresentati.

Figura 2.2 – HDD SERVO EVALUATION BOARD ‘ALTERA’ e suoi

connettori

ALTERA

BNC2

BNC1

HDD SERVOEVAL. BOARD

U22

U7

U8 U9

J9

MAX313

DEMUX 3:8

S2 CONN5

CONN1

CONN9

CONN7

CONN8

Buffer8LSB

Buffer8MSB

CONN2J11J10

1

2 3 4 5 6 7

8 9

10

11 12

14

13

15 16

SP

DACREF

VCMSENSE

BSP

CONN8

SUMIN

1

2 3 4 5 6 7 8 9

10

11 12

14 13

15 16

26 27

18 17

20 19

21 22

23 24 25

28 29

31 30

32

GND GND

Gclock

Gstrobe Gdato

ASData BSData ASCloc BSCloc ASEn BSEn GND

SG

CONN7

1

2 3

4 5 6 7 8 9

10 11

12

14 13

15 16

26 27

18 17

20 19

21

22 23

24 25

28 29

31 30

32

A3 A4

D15

D14

D13

D12 D11

D10 D9 D8 D7

D1 D0

CONN5

A5 D6 D5

D4 D3 D2

TOHDD

TODSP

SUPER 10

TOHDD

3

TODSP

SUPER 10

FROMAD/DA(DAC1)

Page 20: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

20

Nella figura 2.2 si possono notare altri importanti apparati della scheda. Il

connettore BCN2 serve per l’ iniezione e condizionamento del comando analogico al

VCM del disco. Anche la boccola BNC1 è collegata direttamente al punto di

iniezione se preventivamente si connettono tra loro SUMIN e SP1.

Sul connettore quadrato presente al centro della scheda ( vedi figure 2.2 e 2.3 )

è possibile estrarre segnali di controllo tra cui i già citati INT_GRAY ed INT_ABCD

ed i segnali CS4 (Chip Select 4) connesso alla Super 10, RSTOUT di reset output

delle periferiche connesse alla Super 10 durante la fase di inizializzazione e il RSTIN

di reset input per disabilitare il chip ST10 sull’ HDD evalutation board.

RSTOUT

CS4

INT_ABCD

INT_GRAY

RSTIN (GND)

Figura 2.3 – Connettore quadrato Altera

Sull’ ALTERA sono presenti due buffer (nella scheda contrassegnati come U8 e

U9) che imprimono sul bus dati i valori elaborati dalla scheda circa il valore della

servobanda e della composizione dei segnali generati dal passaggio della testina sui

burst. Entrambi i buffer sono abilitati dalla linea Y0 di un decoder 3:8 interno alla

scheda ( si veda figura 2.4 ) riferito come chip U7 .

La linea Y0 è attivata quando il decoder è abilitato e gli ingressi hanno il valore

A=0, B=0 e C=0. Dato che la scheda ALTERA è “vista” come periferica della Super

10 si è convenuto di usare il segnale di Chip Select 4 (CS4) del bus di controllo per

abilitare il decoder e di associare agli ingressi A,B e C i segnali del bus indirizzi

A3,A4 e A5.

1 Disporre di due connettori per l’ iniezione permette di eseguire identificazioni, si veda il cap 4.

Page 21: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

21

Figura 2.4 – Connessione buffer ALTERA – bus

Al segnale di chip select 4 è stato associato via software una zona della

memoria esterna della Super 10 corrispondente agli indirizzi dal 140000h al

14FFFFh. Se dal programma di controllo si punta a questa zona di memoria si attiva

il chip select 4 e di conseguenza si abilitano il decoder se inoltre si punta ad una

locazione di memoria con indirizzo tale che i bit di indirizzo siano A3=A4=A5=0

allora il decoder attiva i buffer e sul bus dati verranno posti i valori processati

dall’ ALTERA.

2.3 SCHEDA DI CONVERSIONE AD/DA

Per l’ elaborazione di segnali analogici di comando e per l’ estrazione di altri

segnali per l’ analisi del sistema complessivo è stato necessario disporre di una

scheda di conversione D/A e A/D. Questa scheda è collegata al bus dati ed è abilitata

Figura 2.5 – Connessioni di ingresso e uscita della scheda AD/DA

bus dati

bus indirizzi

bus contollo

dall’

ALT

ER

A

dall’

ALT

ER

A

A3 A4 A5

D0

D7

D8

D15

U7 U8

U9

Y0

Y7

A B C

/CS4

HC244

HC138 HC244

BUS DATI + LINEA CS4 + LINEE A3,A4 e A5 proveniente da SUPER 10

ALL’ALTERA COMANDO VCM

DA

C 1

D

AC

3

DA

C 2

AD

C 2

A

DC

1

AI STRUMENTI DI MISURA

AI STRUMENTI DI MISURA

SCHEDA AD/DA

Page 22: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

22

direttamente dal DSP Super 10. La scheda è composta da due dispositivi DAC

AD7538 a 14 bit e da due dispositivi ADC ADS7804 a 12 bit. Gli integrati sono

comandati da un decoder 3:8 il quale a sua volta è abilitato dalla linea CS4 in perfetta

analogia con i buffer dell’ ALTERA. Nel lavoro svolto non sono stati usati gli ADC,

inseriti per un lavoro precedente, mentre è stato necessario aggiungere alla scheda un

terzo DAC (DAC3) utile per la fase di identificazione.

Figura 2.6 – Decoder scheda AD/DA

Anche questa scheda è quindi una periferica della Super 10 e tutti i dispositivi

sono mappati nella stessa porzione di memoria del decoder dell’ ALTERA (140000h)

ovviamente ogni diverso dispositivo periferico ha un indirizzo diverso da un altro si

sfruttano pertanto le diverse configurazione dei bit A3,A4 e A5. Tutti i dispositivi

che non vengono attivati dall’ indirizzamento devono essere tali da porre le proprie

uscite sul bus in alta impedenza in modo da non creare eventuali conflitti.

Nella tabella 2.1 sono riassunti gli indirizzi associati ai diversi integrati.

A15 … A6 A5 A4 A3 A2 A1 A0 HEX Disp. selezionato

0100 0000 00 0 0 0 X X X 140000÷140007 BUFFER ALTERA

0100 0000 00 0 0 1 X X X 140008÷14000F DAC 3

0100 0000 00 1 0 0 X X X 140020÷140027 ADC 1

0100 0000 00 1 0 1 X X X 140028÷14002F ADC 2

0100 0000 00 1 1 0 X X X 140030÷140027 DAC 1

0100 0000 00 1 1 1 X X X 140038÷14002F DAC 2

Tabella 2.1 - Indirizzi dispositivi su scheda A/D D/A

bus indirizzi

bus contollo

A3 A4 A5

U2

Y0

Y7

A B C

/CS4

74LS138

/EN1

ADC1 ADC2 DAC1 DAC2

DAC3

Y5 Y4 Y3 Y2 Y1

Y6

Page 23: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

23

Si riportano di seguito le caratteristiche principali dell’integrato DAC AD7538.

Numero di bit 14 con offsetTempo di assestamento 1,5 usec (MAX)

Alimentazione Singola +12V (tollera sino a +15V)Schema R-2R

Tabella 2.2 – Caratteristiche DAC

La quantizzazione operata dal DAC è riassunta nella tabella 2.3. Il

collegamento delle uscite del DAC con il bus è stato realizzato connettendo le 14

uscite dell’ AD7538 con le linee meno significative del bus dati (D0 – D13). Nella

programmazione si dovrà percui tener presente questo aspetto con aggiunta di

opportune operazioni di shift per allineare il dato con gli ingressi del DAC.

Binary Input

MSB LSB

Analog Outout (Vout) Analog Outout (Vout)

Vref = 5V

11 1111 1111 1111 +Vref(8191/8192) 4,9994 V

10 0000 0000 0001 +Vref (1/8192) 610 uV

10 0000 0000 0000 0 V 0

01 1111 1111 1111 -Vref (1/8192) - 610 uV

00 0000 0000 0000 -Vref (8191/8192) - 4,9994 V

.Tab 2.3 – Conversione DAC

Nel dettaglio sui collegamenti di uscita dei dispositivi si segnala la connessione

del DAC1 con il BNC2 dell’ ALTERA. Il DAC1 pone in forma analogica il comando

del VCM precedentemente elaborato dal microcontrollore. Le uscite dei DAC2 e

DAC3 sono stati, di volta in volta assegnate ai vari strumenti di misura ossia l’

oscilloscopio e l’ analizzatore di spettro DSA 35665A.

Page 24: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

24

2.4 SUPER 10 EVALUTATION BOARD

Il SUPER 10 della ST Microelectronics è un Digital Signal Processor (DSP)

progettato appositamente per le applicazioni riguardanti gli hard disk e tuttora viene

montato su alcuni dischi in commercio. Il controllo digitale diretto esterno,

sviluppato in un precedenza nel laboratorio (cfr [3]) è eseguito da questo processore.

Il clock della CPU è impostabile sino a 140 MHz mentre la gestione delle periferiche

può arrivare sino ai 70 MHz.

2.4.1 LA MEMORIA

La dimensione della memoria della scheda è di 16 MByte. La sua struttura

viene suddivisa in 256 segmenti (dal seg. 0 al seg. 255) da 64 KByte ed ogni

segmento è a sua volta diviso in 4 pagine da 16 KByte. Non tutta la memoria è

disponibile all’ utente difatti sono presenti segmenti e pagine riservati. Ad esempio il

segmento 191 è riservato per operazioni di start-up.

Merita una citazione a parte la DPRAM (‘Dual Ported Ram’ ) contenuta in un

segmento della memoria, è sede degli SFR (‘Special Function Register’ ) registri

speciali per il controllo di tutte le attività del processore e degli GPR (‘General

Purpose Register) cioè dai 16 registri (R0-R15) utilizzati per le varie elaborazioni.

Quasi tutte le istruzioni consentite dal microcontrollore usano come operatore uno di

questi registri. Un banco di GPR può essere sostituito con un altro gruppo di GPR

sempre residente in memoria DPRAM. Questa operazione è detta context switch ed

è eseguita dalla CPU semplicemente assegnando ad il puntatore, che individua i

registri GPR correnti, un nuovo valore relativo ad una nuova porzione di memoria

non sovrapposta alla precedente, nella quale saranno contenuti i nuovi valori di R0-

R15 . Tutto questo dopo aver memorizzato nello stack interno (operazione di push)

l’ indirizzo dei GPR appena sostituiti. Per ritornare al contesto originario sarà quindi

sufficiente eseguire un pop dello stack interno e per caricare il registro che punta

all’ insieme dei registri di contesto. Tale puntatore è chiamato CP (sta per Context

Pointer).

Nella figura 2.7 viene schematizzata la struttura della memoria.

Page 25: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

25

FF FFFF

Segment255

FF 0000

FE FFFF

C0 0000

BF FFFF

Segment 191Reserved

BF 0000

40 FFFF

Segment 64

40 0000

20 FFFF

Segment 32

20 0000

02 FFFF

Segment 2

02 0000

01 FFFF

Segment 1

01 000000 FFFF

Segment 0

00 0000

1.9Mbyte

64Kbyte

Ext.memory

2

Mbyte Ext

. I/

O

7.9

Mbyte

Ext.

M

emory

64Kbyte Sta

rtup

M

emory

4Mbyte

InternalProgram

Memory

00 FFFFRAM /SFR 00 F000

00 EFFFInternal I-O

00 E00000 DFFF

Data

Page

3

00 C000

Data

Page

2

InternalData

SRAM

24 Kbyte

08 0000

Data

Page

1

04 0000

Data

Page

0

ExternalMemory

00 0000

FF FFFF

Segment255

FF 0000

FE FFFF

C0 0000

BF FFFF

Segment 191Reserved

BF 0000

40 FFFF

Segment 64

40 0000

20 FFFF

Segment 32

20 0000

02 FFFF

Segment 2

02 0000

01 FFFF

Segment 1

01 000000 FFFF

Segment 0

00 0000

1.9Mbyte

64Kbyte

Ext.memory

2

Mbyte Ext

. I/

O

7.9

Mbyte

Ext.

M

emory

64Kbyte Sta

rtup

M

emory

4Mbyte

InternalProgram

Memory

00 FFFFRAM /SFR 00 F000

00 EFFFInternal I-O

00 E00000 DFFF

Data

Page

3

00 C000

Data

Page

2

InternalData

SRAM

24 Kbyte

08 0000

Data

Page

1

04 0000

Data

Page

0

ExternalMemory

00 0000

Figura 2.7 – Organizzazione della memoria

Il bus indirizzi della board è a 16 bit, i quali sono insufficienti per indirizzare

16Mbyte totali di memoria in modo diretto, infatti ne servirebbero 24. Vengono a tal

proposito usati i DPP (‘Data Page Pointer’ ), ossia dei registri che hanno il compito di

completare un indirizzo di 16 bit per crearne uno a 24. I DPP disponibili sono quattro

e ogni qual volta una variabile viene dichiarata è necessario specificare il DPP

assegnato. Il DPP contiene i 10 bit più significativi dell’ indirizzo, individua quindi

una particolare pagina di memoria (ne sono presenti 256 * 4 = 1024 cioè 210). Il resto

dell’ indirizzo viene specificato dall’ utente (o assegnato dalla CPU) in 14 bit meno

significativi di una parola mentre nei rimanenti 2 bit della parola viene ripetuto per

convenzione il valore (da 0 a 3) del DPP in uso. La figura 2.8 mostra graficamente la

operazione di indirizzamento.

Page 26: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

26

00

00

00

00

31 16 15 14 13

15 14 13 0

0

Figura 2.8 – Composizione di un indirizzo con i Data Page Pointer

Ad esempio se l’ utente richiede l’ indirizzo B190h, verrà usato il DPP2 (i due

bit più significativi di B sono 10 bin = 2 dec) quindi il contenuto dei 10 bit più

significativi del DPP2 sono la parte più significativa dell’ indirizzo totale. Se DPP2

fosse caricato con 000Ah si otterrebbe come indirizzo completo 2B190h.

2.4.2 I PORT

La scheda del DSP Super 10 contiene dei port programmabili ossia delle serie

di pin con i quali si può comunicare con l’ esterno e le cui funzioni possono essere

impostate via software.

POR

T 2

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

P2.8

P2.9

P2.10

P2.11

P2.12

P2.13

P2.14

P2.15

PWM Channel 0

PWM Channel 1

I/O

I/O

I/O

I/O

I/O

I/O

External Interrupt 0

External Interrupt 1

External Interrupt 2

External Interrupt 3

External Interrupt 4

External Interrupt 5

External Interrupt 6

External Interrupt 7

POR

T 2

P2.0

P2.1

P2.2

P2.3

P2.4

P2.5

P2.6

P2.7

P2.8

P2.9

P2.10

P2.11

P2.12

P2.13

P2.14

P2.15

PWM Channel 0

PWM Channel 1

I/O

I/O

I/O

I/O

I/O

I/O

External Interrupt 0

External Interrupt 1

External Interrupt 2

External Interrupt 3

External Interrupt 4

External Interrupt 5

External Interrupt 6

External Interrupt 7

POR

T 3

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

P3.8

P3.9

P3.10

P3.11

P3.12

P3.13

P3.14

P3.15

I/O

SSC MRST

SSC MTSR

I/O

SSC Clock

I/O

I/O

POR

T 3

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

P3.8

P3.9

P3.10

P3.11

P3.12

P3.13

P3.14

P3.15

I/O

SSC MRST

SSC MTSR

I/O

SSC Clock

I/O

I/O

Figura 2.9 – Alternate Function dei port P2 e P3

DPP0DPP1DPP2DPP3

Page 27: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

27

In particolare sono disponibili all’ utente i port P2 e P3 da 16 pin ciascuno più il P5

con 5 pin disponibili. Ogni bit dei port può essere impostato come canale di

comunicazione di input oppure output . Alla maggior parte dei pin dei port è inoltre

associata una Alternate Function, una funzione particolare per la quale il port può

lavorare. Nei test condotti sono stati usati i port P2 e P3 mentre il P5 sede del

General Purpose Timer non è stato usato. Nella figura 2.9 si illustrano le Alternate

Function dei port in uso.

Nel sistema in questione sono state usate le Alternate Function dei pin P2.8 ,

P2.9 cioè come pin di richiesta di interruzione esterna. Nel dettaglio P2.8 è connessa

alla linea INT_GRAY dell’ Altera ed il P2.9 è connesso con la linea INT_ABCD. I

port P3.13, P3.8 e P3.9 sono anch’ essi usati nella modalità Alternate Function e sono

dedicati alla comunicazione seriale oggetto di approfondimento nel successivo

paragrafo. Invece alcuni port sono usati come canali di input ed output come nel

caso del port P2.2 in output segnale di Enable dell’ accelerometro e dei P2.4, P2.5,

P2.6, P2.7 e P2.10 in input collegati a una serie di 5 switch montati sulla scheda. Tali

switch si sono rilevati particolarmente utili nella fase di misura. La gestione

software dei segnali dei port associati agli SW1, SW2 e SW3 consente di indirizzare

su di un DAC (in questo caso è stato scelto il DAC2) il valore di una variabile

definita nel programma di controllo. Lo SW0 invece è stato usato per abilitare o

meno la compensazione di feedforward. Lo SW4 è stato adibito

all’ abilitazione/disabilitare l’ algoritmo di adattamento.

Si riassumono di seguito le funzioni degli switch.

SW0 Descrizione

0 Disabilitata compensazione feedforward

1 Abilitata compensazione feedforward

SW4 Descrizione

0 Disabilitata algoritmo di adattamento

1 Abilitata algoritmo di adattamento

Page 28: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

28

Tabella 2.4-Descrizione switch

2.4.3 IL CANALE DI COMUNICAZIONE SERIALE (SCC)

La Super 10 è dotata di una porta ad alte prestazioni per l’ I/O seriale in

modalità sincrona. Questa porta si è resa indispensabile per poter far comunicare il

DSP con l’ accelerometro rotazionale, il quale ha una propria interfaccia seriale.

Tale porta è ricavata sul port 3 come si può notare dalla figura 2.9. I pin P3.13,

P3.8 e P3.9 realizzano in modalità Alternate Function l’ interfaccia fisica della linea

seriale. Il segnale di clock che sincronizza la trasmissione dei dati è generato dal pin

SSCClock. Il protocollo di trasmissione è ampiamente personalizzabile ma

sostanzialmente si ha sempre una trasmissione del dato in corrispondenza di un

fronte del clock mentre la ricezione sul fronte immediatamente successivo del clock.

La scheda Super 10 può lavorare sia come ‘Master’ che come ‘Slave’ nella

trasmissione dei dati dal momento che si possono far comunicare tra di loro anche

diverse schede Super 10. Appositi registri vengono impostati per definire le modalità

in uso (vedi Appendice A) nel caso in esame la modalità è quella ‘Master’ mentre lo

‘Slave’ è l’ accelerometro.

2.4.4 ACCESSO ESTERNO AL BUS DATI

L’ accesso alla memoria esterna del processore viene regolata per mezzo di

appositi moduli denominati External Bus Controller, che fanno uso di appositi

segnali di Chip Select e di Ready per la trasmissione dei dati. La scheda ALTERA

come già descritto usa il Chip Select 4 per accedere al bus. Vi è la possibilità di

SW1 SW2 SW3 Variabile Selezionata (in ingresso al DAC2)

0 0 0 Weights

0 0 1 DebugFlag

0 1 0 PES

0 1 1 DF2

1 0 0 Pa

1 0 1 EQM

1 1 0 SUMEQM

1 1 1 Accelerometro

Page 29: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

29

selezionare sino a 7 zone di memoria diverse ed associare ad ognuna di esse un

particolare segnale di Chip Select e una particolare modalità di lettura e scrittura con

la quale una periferica può accedere al bus. Nelle operazioni di scrittura e lettura in

modalità demultiplexata vengono individuate sei distinte fasi. Attraverso appositi

registri (vedi Appendice A) sono impostabili i tempi di clock delle singole fasi. Ad

ogni Chip Select quindi può essere assegnata una configurazione personalizzata

nell’ uso del bus. Si stabilisce in questo modo come verrà usato il bus dalla periferica

corrispondente a quel particolare Chip Select. Le periferiche in uso sono quindi del

tipo “memory mapped”.

La Super 10 offre la possibilità di prelevare i dati trasmessi dalle zone di

memoria esterna riservate alle periferiche e copiare il contenuto in una qualsiasi altra

area di memoria. Questo è reso possibile dai Peripherial Event Controller (PEC) un

insieme di registri che definiscono tra quali locazioni di memoria spostare i dati. I

registri sono tre il PECSEGx , DSTPx ed il SRGPx (x è un intero nell’ insieme [0,7])

i quali si combinano come mostrato in figura 2.10 per definire gli indirizzi di

sorgente e destinazione tra i quali spostare i dati.

DSTSEGxSRCSEGx

DSTPxSRCPx

Source Pointer Destination Pointer

Segment OffsetSegmentAddress

Segment OffsetSegmentAddress

23 231516 160 15 0

07815

PECSEGxDSTSEGxSRCSEGx

DSTPxSRCPx

Source Pointer Destination Pointer

Segment OffsetSegmentAddress

Segment OffsetSegmentAddress

23 231516 160 15 0

07815

PECSEGx

Figura 2.10 – Composizione indirizzi con modalità PEC

Una caratteristica dei PEC è quella di usufruire di un campo contatore che

stabilisce quanti dati spostare prima di far partire la routine di interruzione. In questo

lavoro il campo contatore serve per contare sul trasferimento dei 6 dati riferiti al

segnale INT_ABCD sulla composizione dei burst (dai quali si risale al PES), mentre

al segnale INT_GRAY il contatore sarà impostato ad uno.

La Super 10 può gestire sino a 64 sorgenti di interrupt distinte, per questo si

devono definire i livelli di priorità per ognuna interruzione. L’ assegnazione dei livelli

Page 30: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

30

di priorità sono definiti dai cosiddetti Interrupt Priority Level (ILVL) e Group Level

(GL). I Group Level vanno da 0 a 4 mentre gli Interrupt Priority Level vanno da 0 a

15 costituiscono di fatto una gerarchia a griglia nella quale i valori più alti sia nel

livello che nel gruppo hanno priorità maggiore. Le interruzioni che fanno uso di PEC

possono avere solo dei determinati valori di priorità. Nella tabella 2.5 si mostra

come possono essere disposti i vari PEC. Decidendo il PLEV (ossia proprietà di

livello esclusiva dei PEC) è assegnato di conseguenza il ILVL ed il GL a seconda del

PEC (da 0 a 7) usato.

PEC Channel Assignement ILVL

PEC4 PEC5 PEC6 PEC7 15PEC0 PEC1 PEC2 PEC3 14PEC4 PEC5 PEC6 PEC7 13PEC0 PEC1 PEC2 PEC3 12PEC4 PEC5 PEC6 PEC7 11PEC0 PEC1 PEC2 PEC3 10PEC4 PEC5 PEC6 PEC7 9PEC0 PEC1 PEC2 PEC3 8

/ 0 ÷ 7

0 1 2 3

Tabella 2.5 – Livelli di priorità dei PEC

Oltre alle interruzioni esterne, il DSP deve gestire quelle generate in modo

automatico dall’ architettura del processore stesso o da dispositivi hardware presenti

sulla scheda stessa, è il caso delle interruzioni di debug, di stack overflow,

interruzioni di reset software o hardware e così via. Queste interruzioni sono

classificate come Hardware Trap ed hanno livelli prioritari intrisecamente più grandi

rispetto alle interruzioni esterne.

Gli interrupt sono gestiti dalla scheda in modo vettorizzato cioè ad ogni

sorgente di interrupt viene associato in modo univoco un puntatore, il quale servirà

all’ Instruction Pointer (IP) per puntare alla procedura di interruzione invocata.

L’ insieme di questi puntatori è arrangiato in una tabella detta VECTOR TABLE

(VCT_TABLE) la quale è stata posta per convenzione all’ indirizzo C00000h.

PLEV = 00

PLEV = 01

PLEV = 10

PLEV = 11

Page 31: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

31

2.4.5 AMBIENTE DI SVILUPPO SOFTWARE

La programmazione del microcontrollore avviene mediante linguaggio

assembly proprietario e attraverso l’ uso del compilatore EDE (‘Embedded

Development Enviroment’ ) della TASKING sotto sistema operativo WINDOWS

98. Il programma viene quindi inviato da un comune PC alla scheda Super 10 via

seriale per mezzo del software CROSS VIEW. Oltre alla trasmissione del programma

il software CROSS VIEW permette di gestire al meglio la scheda Super 10 attraverso

la visualizzazione delle celle di memoria e dei registri, la monitorizzazione dello

stato della scheda ed inoltre permette l’ esecuzione del programma in modalità debug.

Prima di ogni prova sperimentale è stato necessario configurare correttamente

l’ hard disk ed in particolare posizionare la testina su di una specifica traccia (si è

scelto la 3000h) e far seguire indefinitamente questa traccia. Tutto questo è ottenuto

tramite HYPERTERMINAL, un programma della HILGRAVE che permette di usare

l’ interfaccia seriale per la comunicazione diretta con il disco. Da HYPERTERMINAL

quindi si lancia un programma (U4.HT) che contiene le impostazioni con le quale si

vuole configurare il disco. Si descrivono brevemente i comandi di questo programma

che sono stati usati.

Comando Descrizione

CTRL+Z Accesso al prompt dei comandi

/3 Rende disponibile i comandi del livello 3

Sxxxx Con xxxx codice esadecimale della traccia su cui si vuole

posizionare il VCM.

W Visualizza informazioni sulla servobanda, cilindro e codice Grey

della servobanda

CTRL+R Reset del controllore interno

Tabella 2.6 – Comandi del programma U4.HT su HYPERTERMINAL

Page 32: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

32

2.4 ACCELEROMETRO ROTAZIONALE (RAC)

MEMS L6671Il sensore a cui è affidato il compito di fornire un segnale proporzionale al

disturbo dovuto alle vibrazioni è un accelerometro rotazionale in tecnologia MEMS

(Micro Electro Mechanical System) della ST Microelectronics.

Si tratta di un chip a 24 piedini che rileva accelerazioni angolari attorno al

proprio asse Z inteso come l’ asse perpendicolare al piano del corpo dell’ integrato.

A

Z axis

A

- Trasmissione dati su linea bidirezionale

- PLL digitale

- Filtro digitale del secondo ordine in uscita

- Registri per la configurazione interna e la

regolazione del guadagno e dell’ offset

- Coda per la memorizzazione dati in uscita

- Banda 800 Hz (dichiarata)

- Sensitività 2.5 rad/(sec^2)

- Fondo scala 200 rad /(sec^2)

Figura 2.11 – Caratteristiche Accelerometro RAC L6671

Il chip ha incorporata una porta seriale con cui può comunicare con l’ esterno.

Possiede al suo interno integrato un sistema di PLL digitale per la sincronizzazione

dei segnali. Ha una banda che arriva sino agli 800 Hz e produce dati su 8 , 16 oppure

32 bit.

2.5.1 TECNOLOGIA MEMS

Nel processo produttivo dei chip al silicio è possibile con aggiunta di pochi

nuovi passi ottenere un dispositivo MEMS. Questi dispositivi sfruttano una struttura

particolare del wafer di silicio la quale viene opportunamente combinata con

elementi meccanici ed elettrici. Nel chip vengono costruiti dei microscopici pettini in

una struttura fissa (statori) mentre degli altri pettini questa volta mobili (rotori)

vengono fatti combaciare a quelli fissi come in figura 2.12. La parte mobile viene

quindi appesa ad una sospensione. I denti dei pettini costituiscono le armature di

Page 33: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

33

piccolissimi condensatori e le intercapedini tra i pettini vengono riempite con del gas

che funge da dielettrico. Un movimento del chip causa una variazione delle capacità

dei micro-condensatori dal momento che solo una armatura è fissa mentre l’ altra per

inerzia si muove. Attraverso la misurazione delle variazioni di capacità, che sono

dell’ ordine dei fF, si può risalire all’ accelerazione subita dal chip.

Figura 2.12 – MEMS : dettaglio statori – rotori

Nell’ accelerometro rotazionale i diversi pettini sono disposti come i raggi di

una ruota come si vede nella figura 2.13 e le armature sono alimentate da tensioni

sinusoidali ( figura 2.13 in basso).

Figura 2.13 – RAC : foto layout fisico e schema di principio

Page 34: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

34

2.5.2 ARCHITETTURA DEL RAC L6671

L’ integrato L7661 contiene altri dispositivi oltre al vero è proprio

accelerometro. L’ architettura su cui si basa è una struttura Σ−∆, seguita da un filtro

decimatore e da una filtro digitale, il tutto può essere sincronizzato mediante un PLL

integrato che può essere agganciato ad una sorgente di sincronismo interna oppure

una esterna. Inoltre il chip contiene una interfaccia seriale con caratteristiche

particolarmente adatte alla comunicazione con la Super 10, nonché una serie di

registri per le impostazioni interne. Il RAC si basa su tecnologia TTL a 3.3V ma può

tollerare segnali di ingresso anche dell’ ordine dei 5V.

.

Figura 2.14 – Schema a blocchi RAC L6671

2.5.3 COMUNICAZIONE TRA RAC E SUPER 10

La comunicazione tra il RAC ed il DSP avviene per mezzo dell’ interfaccia

seriale presente a bordo dell’ integrato L6671. I pin interessati sono gli SPC , SPD e

SPE.

In SPC viene ricevuto il segnale di clock della trasmissione che arriva dal port

P3.13 della Super 10 (sul quale è impostato via software un baud-rate di 12.5MHz).

SPE serve per abilitare la trasmissione e deve essere attivato e disattivato per ogni

byte trasmesso, questo piedino viene collegato al P2.2. Il piedino SPD è la linea su

cui viaggiano i bit del dato in trasmissione ed è collegato al pin P3.8 che a sua volta è

connesso attraverso una resistenza con P3.9 per prevenire elevati valori di corrente

che si possono presentare in particolari condizioni (per dettagli si veda [1]).

Con l’ utilizzo del PLL interno è possibile avere tutti i segnali di clock usati

internamente al dispositivo sincronizzati. In questo modo si può disporre del dato

dell’ accelerometro con una velocità selezionabile. Il segnale di PLL è preso

A/DCONVERTER

DIGITALFILTER

SERIALIFC

PLL

SENSOR

CLOCK IN

Page 35: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

35

direttamente dall’ ALTERA in dettaglio la linea INT_GRAY che dà un impulso ogni

116 µsec viene intercettata sul pin P2.8 e portata al piedino CK_IN

dell’ accelerometro. Il piedino CK_IN difatti è l’ ingesso del PLL digitale.

Nella figura sottostante vengono riprodotte le connessioni usate.

Figura 2.15 – Connessioni accelerometro – Super 10

Nella figura 2.15 sono riportati i nomi di tutti i piedini utilizzabili. In

particolare si può notare il piedino REF_CAP che fa capo ad un nodo al quale è

stabilita una tensione costante di 2.25 V la quale deve essere il più possibile stabile.

Mediante REF_CAP è possibile connettere delle capacità di filtro per ripulire da

eventuale disturbi il nodo in questione, in questo modo si vuole rendere più stabile il

valore di tensione richiesto. Altri piedini sono disposti per le alimentazioni, masse e

funzioni di test che non sono state prese in considerazione.

Il protocollo di lettura-scrittura di un dato di accelerazione angolare su 8 bit si

basa sulla trasmissione half-duplex di un word (due byte).

Si riassume brevemente le modalità con le quali si realizzano le operazioni di

lettura-scrittura dei dati.

SCRITTURA SUI REGISTRI DEL RAC

RAC L6671

SPC SPD SPE

CK_IN P2.2

SUPER 10

P2.8

P3.13 P3.8

AGND VDD-A

DGND VDD-D

1

12 13

24

N.C. N.C.

TEST_ST FUNCT_TEST

REF_CAP HV_EPROM

+

+

C esterna

0 0 1 1

6xxx h

R R R R D D D D D D D D

Page 36: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

36

Nel primo bit si indica con il valore 0 che si tratta di una operazione di scrittura

sull’ accelerometro, i successivi tre bit contengono sempre 110 codice identificativo

del dispositivo. Seguono quattro bit con i quali si dà il valore del registro interno sul

quale si vuole scrivere. Il byte successivo contiene il valore da memorizzare. Una

operazione di scrittura comporterà quindi la trasmissione di un word con valore

esadecimale 6xxxh, nel quale x può assumere una qualsiasi configurazione tra 0 ed F.

LETTURA :

FASE 1 – INVIO RICHIESTA

Nella fase di lettura si alternano due fasi. La prima fase è di invio richiesta per

la lettura di un dato contenuto in uno dei registri messi a disposizione. La richiesta

consiste nella trasmissione di un primo bit 1 che identifica la richiesta della lettura

seguita da quattro bit che identificano il dispositivo e che come per la scrittura sono

sempre 110. I successivi 4 bit danno le coordinate del registro da leggere che in

particolare può essere un registro della coda fifo dedicata alla memorizzazione dei

dati dell’ accelerazione angolare. Segue una maschera di 8 bit con i quali vengono

messi in ‘or’ i dati contenuti nel registro. Per questo una richiesta di dato assume

sempre la configurazione Exxxh.

FASE II – RISPOSTA DELL’ACCELEROMETRO

Nella seconda fase viene inviato dal RAC due byte di risposta. Il primo

contiene le stesse informazioni della richiesta di lettura precedentemente inoltrata e il

1 0 1 1

Exxx h

R R R R M M M M M M M M

1 0 1 1 R R R R D D D D D D D D

Page 37: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

37

secondo byte contiene il valore effettivamente presente nel registro. In caso di

anomalie nella trasmissione viene inviato il dato 80h che segnala un eventuale errore.

2.5.4 FILTRO INTERNO

Visualizzando il segnale di uscita dell’ accelerometro è possibile rilevare una

consistente rumorosità sovrapposta al segnale utile. Integrato nel chip è presente un

filtro digitale del secondo ordine i cui coefficienti sono impostabili arbitrariamente

(su 8 bit di modulo più uno di segno) attraverso i registri del RAC. Tale filtro ha

comunque dei valori di default per i coefficienti che vengono prelevati nella fase di

boot del dispositivo da una memoria flash anch’ essa contenuta nel chip. Il filtro di

default è un IIR del secondo ordine la cui funzione di trasferimento è qui sotto

descritta :

102

103

104

-30

-20

-10

0

10IIR Filter (default parameter) - Bode Diagrams

[Hz]

Mag

nitu

de [

dB]

102

103

104

-150

-100

-50

0

Frequency [Hz]

Pha

se [

deg]

Figura 2.15 – Filtro di default RAC: IIR del 2° ordine

21

21

22

110

22

110

116255255104866

)()(

)( −−

−−

−−

−−

+−++=

++++

==zz

zzzbzbbzazaa

zXzY

zH )2.2(

Page 38: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

38

Si può notare dai diagrammi di Bode della f.d.t. del filtro che all’ interno della

banda utile del sensore [0-800Hz] il filtro dà uno sfasamento al massimo di –45° e

presenta una lieve amplificazione nelle frequenze più alte.

2.5.5 REGISTRI

Sono presenti numerosi registri, ben 48, da otto bit ciascuno i quali contengono

i parametri di impostazione dell’ accelerometro e una coda fifo nella quale transitano

i valori misurati dell’ accelerazione angolare. I quattro bit disponibili per lo

indirizzamento sono insufficienti per coprire tutti i registri per questo motivo i

registri sono stati divisi in tre banchi. Per passare da un banco ad un altro è

necessario accedere ad il registro 111 detto miscellaneous register quindi impostare il

campo BS1-BS0 con il valore binario del banco a cui si intende accedere.

Nella seguente tabella si mostra la collocazione dei vari registri all’ interno dei

banchi.

Indirizzo Banco 1 Banco 2 Banco 30000 FIFO_Low FIFO_Low FIFO_Low0001 Not Used Not Used Not Used0010 FIFO_High FIFO_High FIFO_High0011 Not Used Not Used Not Used0100 CTRL_Reg1 CTRL_Reg1 CTRL_Reg10101 CTRL_Reg2 CTRL_Reg2 CTRL_Reg20110 PLL_PRESC_MULT FLASH_Reg1 PLL_COMPARE_Reg0111 PLL_MULT FLASH_Reg2 PLL_RST_VALUE_Reg1000 IIR_A0 GAIN_Low Not Used1001 IIR_A1 GAIN_High Not Used1010 IIR_A2 OFFSET_Low Not Used1011 IIR_B1 OFFSET_High Not Used1100 IIR_B2 CURR_BANDGAP Not Used1101 IIR_SIGN_BIT BAND_CSACT_REG Not Used1110 DSC_Reg CS_TRIM Not Used1111 MISC_Reg MISC_Reg MISC_Reg

Tabella 2.6 – Disposizione in banchi dei registri interni del RAC

I dati riguardanti l’ accelerazione transitano nella struttura fifo disposta sui

registi 0 e 2 dei banchi 1 e 2. La coda fifo viene riempita con i dati partendo dal

registro FIFO_Low del banco 1 successivamente viene riempito il registro

FIFO_Low del banco 2 una volta finiti registri ‘Low’ vengono riempiti i registri

FIFO_high sempre dal banco 1 sino al 2.

Quando viene letto un dato vengono sovrascritti automaticamente i registri

‘Low’ con quelli ‘High’ .

Page 39: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

39

I registri più rilevanti in questo lavoro sono stati i seguenti:

• CTRL_Reg1 : Registro di controllo 1 (presente su tutti e tre i banchi)

PDN IEN CS1 CS0 OPDN B2 B1 B0

Il significato dei campi del registro sono riassunti nella successiva tabella.

PDN Chip Power Down : (0) chip on , (1) chip power down mode

IEN Interrupt enable: (0) interrupt signal avaible to the external

(1) pad in high Z

CS1-CS0 Clock Source Selection

(00) Clock from CLK pin ,

(01) Internal Oscillator

(10) Clock from PLL locking on CLK pin

(11) Clock from PLL locking on FIFO_low register reading

ODPN Oscillator Power Down : (0) oscillator toggling

(1) oscillator turned off

B2-B0 Control bit definition : (000) Normal mode

In questo registro è stata impostata la configurazione 60h. Si è lavorato cioè in

Normal mode, non si è usato l’ oscillatore interno in quanto è stato usato il pin di

clock come ingresso del segnale di PLL.

• CTRL_Reg2 : Registro di controllo 2 (presente su tutti e tre i banchi)

DSCR DSC CEN OWL1 OWL0 IFB DF SO

DSCR Delayed Synchronous Conversion Reference

(0) CK_IN or FIFO_LOW_read depend on CS0 value

DSC Delayed Synchronous Conversion enable

(0) DSC disable (1) DSC enable

Page 40: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

40

CEN Chip enable on the Offset and Gain adjustment unit

(0) clip disabled

(1) clip enable

OWL1-OWL0 Output Word Length selection

(00) 8 bit

(01) 16 bit

(10) 32 bit

(11) 32 bit

IFB IIR Filter Bypass : (0) IIR on , (1) IIR off

DF Decimation Factor Selection

(0) Decimate by 16 , (1) Decimate by 32

SO Sinc Order selection: (0) second order , (1) third order

Questo registro quindi incorpora l’ abilitazione o meno del filtro IIR. Spesso

nelle prove è stato utile disabilitare il filtro per capire quale influenza potesse avere

lo sfasamento introdotto da questo filtro sulle elaborazioni prodotte. La

configurazione di questo registro maggiormente usata è stata : 02h.

Altri importanti registri sono i quattro seguenti, i quali hanno il compito di

impostare il guadagno e l’ offset del segnale prodotto dall’ accelerometro :

• OFFSET_LSB : Registro di impostazione della parte meno significativa

dell’ offset

OL.7 OL.6 OL.5 OL.4 OL.3 OL.2 OL.1 OL.0

• OFFSET_MSB : Registro di impostazione della parte più significativa

dell’ offset

OH.7 OH.6 OH.5 OH.4 OH.3 OH.2 OH.1 OH.0

Page 41: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

41

• GAIN_LSB : Registro di impostazione della parte meno significativa del

guadagno

GL.7 GL.6 GL.5 GL.4 GL.3 GL.2 GL.1 GL.0

• GAIN_MSB : Registro di impostazione della parte più significativa del

guadagno

GH.7 GH.6 GH.5 GH.4 GH.3 GH.2 GH.1 GH.0

Nelle prove è stato costantemente regolato l’ offset per ottenere un segnale di

accelerazione a riposo a valor medio nullo. A tal proposito va segnalato che il valore

medio dell’ accelerometro può subire variazioni nei lunghi periodi. I registri di

guadagno invece non sono mai stati modificati.

Viene di seguito riportata la struttura del registro usato per passare attraverso i

vari banchi di memoria.

• MISC_Reg : Miscellaneous Register

RES PLLT IOD3 IOD2 IOD1 IOD0 BS1 BS0

RES Force SW reset on device (high active)

PLLT PLL Test using external clock source

(0) : PLL clock from internal oscillator

(1) : clock from SPE pad

IOD3-IOD0 Internal Oscillator Divider (000 Default)

BS1-BS0 Register bank Select. At reset (00)

(00) Bank 1 , (01) Bank 2 , (10) Bank 3 , (11) not used

Page 42: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

42

2.4 SHAKER

Le sollecitazioni esterne applicate al disco sono state ottenute mediante uno

shaker rotazionale. Lo shaker è costituito da un corpo metallico a forma di “L” entro

il quale è fissato un motore. L’ albero del motore è inserito su un soprastante piatto

plastico che è libero di oscillare.

Figura 2.16 – Shaker Rotazionale

Il meccanismo è stato fissato saldamente ad un tavolo robusto mediante

morsetti e il disco rigido è stato avvitato tramite supporti metallici sul piatto.

Il sistema di sollecitazione è inserito in un anello di retroazione. All’ estremità

del piatto è presente un sensore PSD con il compito di rilevare i movimenti del

piatto dal suo punto di riferimento (si veda figura 2.16) .

Il motore è pilotato da un amplificatore operazionale di potenza secondo uno

schema di conversione tensione\corrente. Il segnale di riferimento all’ ingresso del

controllo dello shaker, spesso sinusoidale, è stato prodotto da un generatore di forme

d’ onda.

L’ attivazione dell’ azione di shaking è delegata all’ azionamento di un

interruttore inserito sulla scheda elettronica sede dello stadio di potenza e del

����

���

oscillazioni

oscillazioni

PSD

Page 43: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ORGANIZZAZIONE DEL SISTEMA SPERIMETALE

43

controllore dello shaker. Lo shaker riesce a produrre movimenti rotazionali regolabili

in frequenza ed ampiezza.

Con questo strumento si vorrebbe ottenere una linearità tra il comando di

posizione e l’ accelerazione angolare prodotta dal motore sul disco rigido. Come si

vedrà in seguito questo non si verifica per tutte le frequenze nella banda del sensore

RAC a causa di risonanze dovute alla meccanica dello shaker ed al tavolo su cui

poggia il sistema.

In figura 2.17 viene riassunto schematicamente tutto l’ insieme della

strumentazione usata nella sperimentazione.

Figura 2.17 – Schema di principio sulla disposizione strumentale

Analizzatore di spettro

Oscilloscopio

Controllo Shaker

Accelerometro rotazionale L6671

Shaker

HDD

Super 10

DSP

PC

ALTERA

Scheda AD/DA DAC 1

DAC 2 DAC 3

LINEA Bus Digitale

Analogica

Bit Blaster

Page 44: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 2

44

Page 45: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 3PRINCIPI TEORICI SUL CONTROLLO ADATTATIVO

3.1 CENNI SUL CONTROLLO ADATTATIVO

Tra le più recenti tecniche di controllo, il controllo adattativo ha suscitato

molto interesse in ambito sia accademico che industriale.

Un controllore è detto adattativo quando oltre all’ azione di controllo opera una

variazione dei propri parametri in seguito ad una variazione della dinamica del

processo da controllare. Tale controllo è molto utile quando il processo controllato è

soggetto a forti variazioni dei propri parametri, alcuni esempi si possono trovare in

svariati campi dal campo aerospaziale al campo robotico. Cambi di assetto di volo

negli aerei o cambi di centro di massa nei robot manipolatori possono far variare

significativamente la dinamica del sistema da controllare, mettendo in seria difficoltà

i classici controlli tempo-invarianti.

Nell’ ambito industriale il controllo adattativo è apprezzato per la sua capacità

di autosintonizzazione dei parametri con la quale si conferisce un grado di

personalizzazione del controllo dedicato ad ogni singolo dispositivo prodotto.

Per effettuare la sintesi di un controllo adattativo è necessario sviluppare una

legge di aggiornamento dei parametri. Per la scelta di tale legge si è fatto riferimento

ai testi [10] - [11] e [12].

Page 46: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 3

46

3.2 PERFORMANCE SURFACE

Si consideri quale filtro di feed-forward per la compensazione delle vibrazioni

(Gff), un filtro FIR definito dalla (3.1).

Come già discusso nel capitolo 1 , tale filtro ha come ingresso il segnale ACC

(accelerazione angolare) e ha come uscita il valore stima del disturbo (dovuto alla

vibrazione) ^

d .

Figura 3.1 – Schema di principio compensazione tramite filtro FIR

Si definisce come vettore di stato il seguente Xk =[ACC(k) ACC(k-1)..

…ACC(k-N+1)]’ ossia il vettore contenente gli N dati dell’ accelerazione angolare

più recenti (verrà nel proseguo anche indicato come vettore ACC(k) ).

L’ uscita del filtro FIR, ^

d è data dalla moltiplicazione del vettore di stato con il

vettore contenente i pesi del filtro definito come Wk1=[w0(k) w1(k) … wN-1(k)]’ nel

quale in particolare si fa notare la dipendenza dal tempo k dei parametri.

Dal momento che si vuole produrre l’ uscita desiderata dk , (ossia si vuole

eliminare il disturbo d ) viene definito errore il seguente:

Considerando ora i segnali definiti nello schema di controllo non più segnali

deterministici ma processi stocastici, si possono fare ulteriori considerazioni.

1 Nella notazione in uso il grassetto indica vettore oppure matrice mentre il pedice k rappresental’ istante di campionamento generico.

KTk XW−=−= kkkk ddde

^ )2.3(

d

d ^

G f f + -

^ θθθθ ..

e ( F IR ) ( A C C )

11

110 )(.....)()(),( +−

−− +++= N

N zkwzkwkwzkGff )1.3(

Page 47: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

PRINCIPI TEORICI SUL CONTROLLO ADATTATIVO

47

Si pone come obbiettivo la minimizzazione dell’ errore quadratico medio cioè

della quantità definita come:

][ 2keE=ξ )3.3(

Se si assume che Xk e dk siano statisticamente stazionari allora si può dire che

Si definiscono il vettore e la matrice seguenti

Queste matrici contengono valori costanti dovuti all’ assunzione della

stazionarietà per le variabili Xk e dk. In questi termini la (3.4) diviene :

In questa scrittura si riconosce una tipica forma quadratica nella variabile Wk .

Questa funzione è chiamata performance surface in quanto individua nei suoi

punti l’ entità dell’ errore quadratico medio e quindi la prestazione del metodo di

filtraggio adottato. E’ da notare che questa superficie è convessa. Esisterà un solo

punto di ottimo di ξ che si ottiene facilmente derivando la (3.6) .

In via teorica quindi si potrebbe conoscere direttamente qual è il filtro di

compensazione migliore, dal punto di vista della minimizzazione dell’ errore

quadratico medio, se si fosse a conoscenza della matrice R e del vettore P. Purtroppo

questi valori non sono noti a priori.

KTKK

TKK

TK

KTKK

TKK

TK

WXWXXW

WXWXXW

][2][][

]2[][2

22

kk

kkk

dEEdE

ddEeE

−+=

=−+==ξ )4.3(

][ TKXP kdE= ][ T

KK XXR E= )5.3(

KT

KTK

KTKK

TKK

TK

WPRWW

WXWXXW

2][

][2][][][2

22

−+=

=−+==

k

kkk

dE

dEEdEeEξ )6.3(

PRW -1* = )8.3(

)7.3(022 == P - RWWδ

δξ

Page 48: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 3

48

Resta comunque un risultato importante il fatto che la performance surface

associata al filtro FIR è convessa e che esiste un solo minimo globale, infatti con

l’ uso di opportuni algoritmi iterativi di discesa si potrà quindi raggiungere la

soluzione ottimale a partire da qualsiasi punto iniziale. Nella sperimentazione il

punto iniziale è sempre stato posto a Wk = [0 0 .. 0]’ .

3.3 LMS E FILTERED-X LMS ALGORITHM

L’ algoritmo noto in letteratura come LMS algorithm propone di prendere come

stima dell’ errore quadratico medio il valore puntuale dell’ errore quadratico stesso.

Quindi indica come possibile metodo di discesa iterativa lungo la performance

surface un classico metodo di Newton ( cfr [6] ). Il metodo di Newton ha come

equazione di discesa la seguente :

Nella quale il simbolo ∇eK sta ad indicare il gradiente dell’ errore rispetto al

peso Wk, mentre µ è il passo dell’ aggiornamento e che nel proseguito verrà indicato

come adaptation gain. Il valore del gradiente è dato da :

nella quale si è tenuto conto della derivata della (3.2).

In definitiva l’ equazione di aggiornamento risulta avere la seguente forma :

Il vantaggio che offre questo metodo è la semplicità dell’ equazione di

aggiornamento, ideale quindi per essere implementata nel DSP e fatta funzionare nel

tempo limitato concesso dall’ algoritmo di controllo dell’ intero processo

Ke∇−=+ µk1k WW

KXK

N

k

k

K

N

k

k

K e

we

we

e

we

we

e 2:::::::::::::2::::::::::::

1

0

1

2

0

2

−=

������

������

∂∂

∂∂

=

������

������

∂∂

∂∂

=∇

−−

Kk1k XWW Ke +=+ µ2

)9.3(

)10.3(

)11.3(

Page 49: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

PRINCIPI TEORICI SUL CONTROLLO ADATTATIVO

49

L’ algoritmo fin qui considerato implica la conoscenza del segnale d(t), ossia il

segnale disturbo, ma questo segnale non è noto nel caso in esame. Il segnale che si

prende invece in considerazione è il PES attraverso il quale si cerca di osservare

l’ effetto del disturbo d(t). Si passa percui da una configurazione tipica dell’ LMS

algorithm (figura 3.2) alla versione filtrata-x (Filtered-x LMS Algorithm oppure

FXLMS Algorithm) di figura 3.3 .

Figura 3.2 - Schema a blocchi LMS Algorithm

Figura 3.3 - Schema a blocchi del Filtered-x LMS Algorithm

k 1 k ACC(k) W W K e + = + µ 2

..

R A C

d G r e f

θθθθ

d ^

G f f

G o u t +

-

P E S

θθθθ

..

L M S

e

( A C C )

)]()[(2^

koutGkPES ACCWW k1k ⋅+=+ µ

R A C

d G r e f

θθθθ

d

^

G f f

G o u t

+

-

P E S

θθθθ

..

L M S

e

G o u t

..

^

( A C C )

Page 50: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 3

50

Nello schema a blocchi di figura (3.3) si è fatto uso della f.d.t. Gout la quale,

come in precedenza indicato, vuole rappresentare la f.d.t. che ha come ingresso il

segnale d(t) e come uscita il PES ossia:

Sempre nella figura 3.3 outG^

sta ad indicare una f.d.t. che approssima Gout.

Questo può sembrare una forte limitazione nella generalità del metodo che si

vuole adottare dal momento che si deve ricorrere ad una identificazione della f.d.t.

Gout su di un particolare disco, tuttavia il fatto di dover disporre della f.d.t Gout non

è limitante in quanto in diversi lavori è stato provato che basta una funzione

abbastanza vicina a quella reale per avere risultati apprezzabili.

La versione filtrata-x deriva dalla manipolazione dei diagrammi a blocchi con

l’ aggiunta delle ipotesi che il numero di parametri da regolare sia fisso e che le

variazioni dei parametri sia lenta. Questo tipo di tecnica di filtraggio viene

diffusamente usata nel campo della soppressione del rumore acustico con buoni

risultati.

Si noti che la scelta di implementare un filtro FIR a numero di parametri fisso

garantisce comunque la stabilità del filtro una volta disabilitato il processo di

adattamento. Se invece si usasse un IIR non si avrebbe la certezza che l’ adattamento

converga ad un minimo globale dal momento che nella performance surface per filtri

IIR potrebbero esistere anche minimi locali . Lo svantaggio nell’ uso di un FIR è che

richiede un maggior numero di parametri (più elevato ordine) per approssimare lo

stesso comportamento che si otterrebbe con un IIR di basso ordine.

L’ equazione di aggiornamento che è stata quindi usata è la seguente :

Nella (3.13) ACC sta ad indicare il vettore di stato del filtro Gff ossia il vettore

che contiene N campioni dei dati passati dell’ uscita dell’ accelerometro. Esprimendo

la (3.13) in forma scalare si ottiene:

CPP

Gout+

=1

)12.3(

)]()[(2^

koutGkPES ACCWW k1k ⋅+=+ µ )13.3(

Page 51: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

PRINCIPI TEORICI SUL CONTROLLO ADATTATIVO

51

Mentre il filtro che si vuole implementare ha la seguente forma:

Il grado del filtro sarà oggetto di successive osservazioni ma si anticipa fin

d’ ora che non sarà possibile scegliere un grado molto elevato difatti il tempo di

calcolo per il filtro e l’ aggiornamento dei parametri dovrà essere compatibile con il

tempo messo a disposizione dal controllo del sistema complessivo. Il filtro digitale

Gff e l’ algoritmo di aggiornamento dei parametri dovrà essere inserito nello stesso

codice che realizza il controllo a catena chiusa del VCM mediante uno stimatore

asintotico dello stato (cft [3]).

3.4 VELOCITA’ DI APPRENDIMENTO

Nella determinazione della velocità con la quale l’ algoritmo LMS (filtrato-x

LMS) converge gioca un ruolo fondamentale il paramento µ ossia l’ adaptation gain.

Più alto è questo valore più veloce dovrebbe essere la convergenza dell’ algoritmo di

Newton.

Purtroppo questo valore non può essere grande a piacere. Come dimostrato in

[10]-[12] esiste difatti un vincolo di stabilità ossia :

max

2<µ< )16.3(

Nella quale λmax sta ad indicare il più grande autovalore della matrice di

autocorrelazione degl’ ingressi (accelerazione angolare) R.

Per questa ragione il metodo LMS risulta fortemente dipendente nella velocità

di convergenza dal tipo di segnale in ingresso.

)](ACC)[(2i)W(k,i)1,W(k ikGoutkPES −⋅+=+ µ 1.....0 −= Ni )14.3(

11

110 )(.....)()(),( +−

−− +++= N

N zkwzkwkwzkGff )15.3(

Page 52: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 3

52

E’ possibile percui incorrere in una sbagliata taratura di tale parametro: se si

pone l’ adaptation gain troppo alto c’ è il rischio di una instabilità

nell’ aggiornamento, se si pone troppo piccolo si ottengono tempi di convergenza

eccessivamente lunghi.

Si è potuto verificare sperimentalmente che se si aumenta l’ ordine del filtro

adattativo è necessario porre un µ più basso rispetto a filtri di ordine inferiore con

una conseguente diminuzione nella velocità di convergenza.

Page 53: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4ELABORAZIONE NUMERICA DEI SEGNALI DI

RIFERIMENTO

4.1 IDENTIFICAZIONE DI Gout E REALIZZAZIONE

DELL’ ALGORITMO

Come in precedenza visto è necessario ottenere una stima della f.d.t. del blocco

nominato Gout. A questo scopo è stato adoperato l’ analizzatore di spettro HP

DSA35665 A. E’ stato necessario collegare i pin SP e SUMIN presenti sul

connettore 8 dell’ ALTERA, per avere la possibilità di accedere direttamente tramite

BNC1 al SUMPOINT, ossia il punto nel quale viene mandato il segnale di comando.

Figura 4.1 – Connessioni sul DSA per l’identificazione di Gout

C H 1 C H 2 S O U R C E

H P D S A 3 5 6 6 5 A

5 0 mv

S U M P O IN T ( B N C 1 ) P E S

Page 54: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

54

I connettori del DSA sono stati collegati con l’ ingresso e l’ uscita del blocco da

identificare, quindi è stata avviata una identificazione in modalità swept sine con la

quale è stata inviata al sistema di sollecitazione una sinusoide in modulazione di

frequenza. In questo modo è stato ‘spazzolata’ la banda di frequenza nella quale

interessa identificare la f.d.t. (stessa banda sensore RAC), dalla frequenza minore alla

frequenza maggiore e con livello di tensione applicato alla sinusoide congruo con

l’ entità del comando del VCM (50mV). Le connessioni dei BNC del DSA è riassunta

nella figura 4.1.

I dati risultanti dall’ elaborazione sono stati raccolti da postazione remota e

successivamente sono stati elaborati con il programma MATLAB 5.3. In questo

ambiente è stata invocata una procedura di FITTING (invfreqs.m) con la quale è

stato possibile estrarre la f.d.t. del secondo ordine che approssima in modo migliore

(nel senso dei minimi quadrati) la f.d.t. appena identificata. Quindi si è passati da una

f.d.t. continua ad una discreta tramite una discretizzazione di tipo matched (funzione

matlab c2dm.m).

Nella figura 4.2 sottostante è riportato il risultato ottenuto.

Figura 4.2 – Identificazione Gout

101

102

103

-10

0

10

20

30Diagramma di Bode di Gout

Frequency - [Hz]

Mag

nitu

de -

[dB

]

IdentificazioneApprossimazione

101

102

103

-400

-300

-200

-100

0

Frequency - [Hz]

Pha

se -

[D

eg]

Page 55: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

55

Nella figura 4.2 la linea rossa indica la risposta in frequenza della seguente

f.d.t.:

Successivamente è stato realizzato il filtro digitale che simula il

comportamento della Gout stimata. La realizzazione è una semplice cella del

secondo ordine ad uscite multiple dallo stato nella quale è stato opportuno operare

una modifica dei coefficienti per poter memorizzare tutti i coefficienti in ambiente ad

aritmetica a virgola fissa con notazione in complemento a due. Successivamente è

stato condotto uno studio sullo scalamento delle variabili necessario per evitare

eventuali overflow.

I coefficienti e lo schema della realizzazione sono di seguito riportati.

Figura 4.3 – Realizzazione Gout

Coeff Decimale Q151

C2 0.8076 675E

C3 -0.6626 AB31

D1 0.3019 26A4

D2 -0.8765 8FCF

D3 0.5747 498E

Tabella 4.1– Coefficienti Realizzazione

1 Per rappresentazione Q15 si intende la rappresentazione a virgola fissa su 16 bit con 1 bit di segno e15 bit di parte frazionaria

C 2

C 3

D 2

D 3

D 1

2

........θθθθ P a

S 3

S 1

S 2

z

z

- 1

- 1

21

21

21

211

6626,06151,115747,08765,03019,0

166626,06151,11

1948,90237,148301,4)( −−

−−

−−

−−−

+−+−⋅=

+−+−=

zzzz

zzzz

zGout

)1.4(

Page 56: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

56

4.2 CRITERI DI SOGLIA

Un passo di fondamentale importanza nell’ algoritmo di adattamento è capire

quando sia necessario attivare la procedura di aggiornamento dei parametri. Si cerca

quindi di trovare un criterio con il quale segnalare alla procedura di adattamento che

i parametri correnti non sono più adeguati allo scopo di una corretta compensazione.

Per avere una idea dell’ entità del disturbo dovuto alle sollecitazioni rotazionali

si può osservare la figura 4.4 che rappresenta il segnale PES del sistema sottoposto a

vibrazioni sinusoidali a varie frequenze e di pari ampiezza.

Figura 4.4 – Effetti delle vibrazioni rotazionali sul PES

Il segnale PES non sollecitato (nella figura PES0Hz) è corrotto da numerosi

disturbi, molti dei quali hanno le maggiori componenti nelle alte frequenze. Come si

può inoltre notare i disturbi esterni maggiormente influenti nell’ evoluzione del PES

sono quelli ad alte frequenze questo dovuto oltre all’ effetto filtrante dovuto alla

dinamica del VCM, alla maggior precisione di stima da parte dello stimatore

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.1

0

0.1

0Hz

PE

S

PES in sollecitaz ione rotaz ionale (misure in ampiezza variabili DSP)

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.1

0

0.1

20H

z P

ES

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.1

0

0.1

100H

z P

ES

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.1

0

0.1

200H

z P

ES

Time [sec]

Page 57: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

57

asintotico dello stato responsabile del controllo a catena chiusa. Tanto più lenti sono i

disturbi tanto meglio lo stimatore asintotico riesce a predire lo stato.

Per rilevare che il PES è soggetto a vibrazioni non ben compensate una

semplice soglia di livello sullo stesso segnale si è dimostrata troppo sensibile a picchi

spuri e in ogni caso di difficile taratura. Dal grafico della figura precedente infatti si

può anche osservare che non c’ è molta differenza nei livelli massimi tra il segnale

PES200Hz e il segnale PES0Hz, quanto piuttosto una modifica della forma d’ onda

dell’ errore.

Si è perciò ricorso ad altri metodi per stabilire l’ abilitazione della

compensazione: i criteri che sono stati considerati sono state sostanzialmente due.

4.2.1.1 SOGLIA SULL’ INTEGRALE DELLE CRESTE

Un primo approccio consiste nel valutare l’ area del PES che sta al di fuori di

prestabilite soglie. Tali soglie vengono calcolate al 3σ del segnale di errore senza

sollecitazioni ovvero al valore entro il quale si trova il 99.9% dei campioni.

Il calcolo dell’ area avviene in forma di media mobile su un numero prestabilito

di campioni passati. Nella sperimentazione è stato spesso usata una media mobile su

dieci campioni. Ad ogni iterazione quindi vengono calcolati i seguenti valori

Se il valore SUMPES supera una prestabilita soglia allora entra in funzione

l‘adattamento. Nella figura seguente si rappresentano graficamente i vari passaggi.

��� −

=0

|)(|)(

ESThresholdPiPESiABSPES

�−=

=i

NiK

kABSPESiSUMPES )()(

ESThresholdPPESse <||

altrimenti)2.4(

)3.4(

Page 58: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

58

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09-0.2

0

0.2

PE

S

Algoritmo di media mobile

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.090

0.05

0.1

AB

SP

ES

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.090

0.02

0.04

0.06

SU

MP

ES

time [sec]

Figura 4.5 – Criterio integrale di creste

4.2.1.2 SOGLIA SULLA STIMA DELL’ERRORE QUADRATICO MEDIO

Il secondo metodo tenuto in considerazione è più congruo con la teoria del

filtraggio LMS ed Filtered X-LMS è consistita nell’ inserire una soglia sulla stima

dell’ errore quadratico medio.

Purtroppo non si dispone di tale dato, percui è necessario considerare una sua

approssimazione. E’ stato pertanto preso in considerazione quale stima di ξ il valore

della media mobile fatta su un predefinito numero di valori del PES(i)2 passati. Il

procedimento può essere sintetizzato dalle (4.2).

L’ adattamento inizia se il valore SUMEQM è superiore ad una prestabilita

soglia. Come si può notare nelle (4.2) la stima dell’ errore quadratico medio

SUMEQM(i) non è divisa per il numero di campioni questo allo scopo di guadagnare

][Ε= 2)(iPESξ )4.4(

;)()( 2iPESiMEMOEQM = �−=

=i

NiK

kMEMOEQMiSUMEQM )()( )5.4(

Page 59: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

59

tempo di calcolo. Si terrà conto di questa convenzione nel regolare la soglia che

rileverà quando SUMEQM è diventata troppo grande.

Viene di seguito riportato andamenti tipici dell’ algoritmo di soglia.

0 100 200 300 400 500 600 700 800-0.2

0

0.2

PE

SAlgoritmo di soglia EQM

0 100 200 300 400 500 600 700 8000

0.005

0.01

0.015

EQ

M

0 100 200 300 400 500 600 700 8000

0.01

0.02

Time/Sampling Time

EQ

M(2

0)

Figure 4.6 – Criterio EQM

Sono stati eseguiti diversi tentativi nell’ aumento delle unità della media

mobile, questo in primo luogo per migliorare la stima dell’ errore quadratico medio

ed in secondo luogo per rilevare nel modo migliore componenti armoniche del PES

a basse frequenze dovute a sollecitazioni esterne. Un buon compromesso tra impiego

di tempo di calcolo e precisione nella stima è stato raggiunto con una scelta di 20

campioni.

4.2.2 SOGLIA SULL’ACCELERAZIONE ANGOLARE

Non sono state considerate solamente soglie sul segnale PES. E’ stata infatti

introdotta una ulteriore soglia sul segnale di accelerazione. Il suo compito è quello di

inibire qualsiasi tipo di aggiornamento dei parametri se il segnale di accelerazione

non supera in modulo un determinato valore di minimo. Questo per non correre il

rischio di andare ad adattare i parametri del filtro su sequenze rumorose prodotte dal

sensore RAC.

Page 60: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

60

4.3 STRUTTURE DATIL’ algoritmo è stato studiato appositamente per la sperimentazione; è stata

perciò conferita una struttura ad alto grado di personalizzazione nel flusso del

programma. L’ algoritmo può implementare diversi tipi di adattamento : da un

semplice guadagno adattativo sino ad un filtro FIR del 39 ordine. Nelle strutture per

il rilevamento di soglia è impostabile il numero di campioni che entrano nella media

mobile. Eventuali saturazioni o inibizioni di parte dell’ algoritmo sono comandate da

un word particolare chiamato KOA (Kind of Adaptation) composto da sedici flags il

cui scopo è qui sotto riassunto.

BIT SIGNIFICATO

0 (0) 2u costante ; (1) 2u variabile

1 (0) filtraggio di ACC con Gout disabilitata ; (1) abilitata

2 (0) soglia EQM disabilitata ; (1) abilitata

3 (0) Saturazione incremento pesi disabilitata ; (1) abilitata

Per incremento si intende quella quantità che viene calcolata e che

viene sommata ai pesi precedenti per eseguire l’ aggiornamento dei

parametri.

4 (0) Saturazione pesi disabilitata ; (1) abilitata

5 (0) Soglie sul segnale accelerometro disabilitato ; (1) abilitato

6 (0) Wait window OFF ; (1) Wait Window ON

Abilita o meno una finestra temporale negli istanti di accensione di

controllo nella quale non viene eseguita nessun adattamento

7 (0) Delay OFF , (1) Delay ON

Per Delay si intende una operazione di inibizione della procedura di

aggiornamento successivamente ad un adattamento.

8 (0) Leaky OFF , (1) Leaky ON

9 (0) Disabilitazione software adattamento ; (1) ON

10 (0) Filtro sulla derivata dell’ accelerometro OFF , (1) ON

11 (0) Saturazione sull’ accelerometro OFF , (1) ON

12 Non usato

13 (0) estensione del PES ON , (1) estensione OFF

Page 61: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

61

14 Flag che viene posto a 1 se è esaurita la finestra temporale Wait Window

15 Flag che viene posto a 1 se è stata eseguita una operazione di adattamento

Tabella 4.2– Registro interno KOA

Alcune delle funzioni implementate come ad esempio il leaky (cft. [12]) sono

stati introdotte per tener conto di alcuni aspetti numerici di rilievo. Nel caso del leaky

algorithm si sostituisce l’ operazione

Con una del tipo

Dove il fattore γ ∈(0,1) in grado di conferire una perdita nell’ algoritmo di

aggiornamento in modo da evitare problemi numerici di tipo integrativo.

Si tenga presente che l’ implementazione dell’ algoritmo non è la migliore da

un punto di vista computazionale. La struttura sviluppata permette un uso più

maneggevole da un punto di vista sperimentale ma una volta trovata la

configurazione migliore il numero di istruzioni può essere considerevolmente ridotto.

Si elencano le strutture dati principali definite all’ interno dell’ algoritmo :

• NweightCost : Costante che imposta l’ ordine del filtro di adattamento

• Weights : Vettore contenente i coefficienti del filtro FIR. Weights(0)

è stato usato come Kff nel caso si imposti il valore NweightsCost ad 1.

• Weights_1 : vettore contente i parametri del filtro che si useranno nella

successiva iterazione

• AccPast : Vettore contenete i valori delle accelerazioni negli istanti di

campionamento precedenti

• Pa : Vettore contenente i valori ottenuti dal filtraggio del valore di

accelerazione con il filtro Gout.

• NMA_1 : numero di campioni meno 1 che entrano nella media mobile per

la determinazione dell’ innesco procedura di adattamento

• EstimateD : stima del disturbo causato da vibrazioni agente sul disco

)](ACC)[(2i)W(k,i)1,W(k ikGoutkPES −⋅+=+ µ )6.4(

)](ACC)[(2i)W(k,i)1,W(k ikGoutkPES −⋅+ =+ µγ )7.4(

Page 62: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

62

• DebugFlag : variabile di utilità in fase di debug

• DF2 : seconda variabile di utilità di debug

• CODA_PES : coda per la memorizzazione di 800 campioni della

variabile PES. L’ istante di memorizzazione è impostabile attraverso il

registro R10 del contesto INIT_RB. La relazione tra questo registro è la

seguente trec= R10 * 800 * Tcamp. La precedente relazione nasce dal fatto

che prima di memorizzare gli 800 campioni definitivi la procedura carica

R10 meno uno insiemi di 800 campioni provvisori i quali vengono riscritti

finchè non si raggiunge gli 800 campioni dichiarati come definitivi .

• CODA_TR : questa coda contiene 800 campioni del dato di traccia,

mantiene i dati a partire dallo stesso istante della coda precedente

• CODA_VAR2A e CODA_VAR2B :Code ausiliare per memorizzare 800

campioni di eventuali altre variabili di interesse prese allo stesso istante

delle code precedenti

• PES_After :Coda per la memorizzazione dei 800 campioni PES in un

tempo successivo all’ esecuzione di eventuali adattamenti. Solitamente

l’ adattamento è stato fatto partire a ta= (R10+1) * 800 * Tcamp, mentre

questa coda memorizza i campioni dopo un tempo

tafter=ta+R7*800*Tcamp=(R10+R7+1)*800*Tcamp. Nel quale si fa riferimento

al valore impostato come contatore sul registro R7 dalla procedura Salva.

Si noti che se i valori contenuti nei registri R10 ed R7 sono eccessivamente

grandi si possono attendere anche tempi dell’ ordine di secondi / minuti per

effettuare il salvataggio.

• ACC_After : Come la precedente questa coda salva il dato

dell’ accelerazione angolare dopo il tempo tafter.

• AdGain_After : Come la precedente questa coda salva 800 campioni

di variabili di interesse generale sempre all’ istante tafter , in prevalenza è

stata usata nella memorizzazione dell’ evoluzione del guadagno adattativo.

Page 63: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

63

4.4 ESTENSIONE DEL PES

Quando le sollecitazioni a cui è sottoposto il disco sono molto elevate si corre

il rischio di non poter più disporre di un corretto segnale PES. Si è constatato

sperimentalmente che se gli scuotimenti sono eccessivamente forti la testina può

uscire dalla traccia che si sta inseguendo provocando una alterazione del PES. In

questi casi accade che il segnale d’ errore non rappresenta più una informazione sullo

scostamento della testina dalla traccia in inseguimento quanto invece una

indicazione dello scostamento della testina dalla traccia adiacente. La situazione è

documentata dalla figura 4.7 seguente, nella quale si osserva che il PES sottoposto a

forti sollecitazioni presenta dei picchi che non sono tali da dare continuità alla forma

d’ onda.

Figura 4.7 – PES in elevata vibrazione

L’ informazione del PES è pertanto insufficiente per la determinazione della

posizione della testina. L’ informazione completa è rappresentata dalla coppia PES e

numero di traccia.

Da un’ analisi sperimentale si è constatato che il segnale PES in fase di track

following su una specifica traccia dà informazioni ‘corrette’ , riguardanti cioè la

traccia in esame, solo se il valore resta approssimativamente all’ interno del range

[-0.25 , 0.25 ] ossia quando il PES varia all’ interno del +25% e –25% dell’ ampiezza

di traccia. Superato questi limiti l’ FPGA Altera passa al DSP i valori dei burst per la

composizione del PES riferiti non alla traccia in inseguimento ma a quella

immediatamente adiacente.

0 0 . 0 1 0 . 0 2 0 . 0 3 0 . 0 4 0 . 0 5 0 . 0 6 0 . 0 7 0 . 0 8 0 .0 9-0 . 8

-0 . 6

-0 . 4

-0 . 2

0

0 .2

0 .4

0 .6

0 .8P E S s o lle c ita to a i 4 1 0 H z

Tim e [ s e c ]

Am

plit

ude

DS

P

Page 64: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

64

Figura 4.8 – Rappresentazione del PES

Quando il PES rappresenta scostamenti riferiti a tracce adiacenti si possono

individuare valori entro [-0.75 , -0.5] per la traccia superiore e [0. 5 , 0.75] per la

traccia inferiore. In figura 4.8 è rappresentata schematicamente la situazione

esprimendo il PES in funzione dello sviluppo radiale.

Considerato che si dispone dell’ informazione della traccia alla quale è riferito

il PES si è prodotto un calcolo correttivo. L’ algoritmo che opera l’ estensione del PES

è semplice. Supponiamo che la traccia in inseguimento sia la 3000h .Se il dato

traccia è maggiore di uno rispetto al numero della traccia in inseguimento (ossia

3001h) e se il PES è negativo allora si aggiunge al PES il valore 1. Viceversa con

traccia inferiore di 1 rispetto alla traccia in inseguimento(2FFFh) e PES positivo si

sottrae 1. Con questo metodo sono rappresentati scostamenti che interessano anche le

Figura 4.9 – PES Esteso

0,75

0,5 0,25

PES

x

Traccia 3001 Traccia 2FFF Traccia 3000

0,75

0,5 0,25

PES

x

Traccia 3001 Traccia 2FFF Traccia 3000

Page 65: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

65

tracce limitrofe alla traccia in fase di lettura/scrittura (figura 4.9) . Il valore d’ errore

quindi può sfruttare tutte le configurazioni (da -1 a +1) della variabile alla quale è

assegnato

Se lo scostamento è tale da essere più grande del campo di rappresentazione

per la variabile PES viene impostato a zero il valore contenuto nella variabile. In

questo modo l’ adattamento dei parametri del filtro non viene eseguito in

corrispondenza di eccessive sollecitazioni (confronta con formula 3.13).

Usando questo tipo di estensione il PES della figura 4.7 diviene quello di figura 4.10.

Figura 4.10 – PES esteso in elevata vibrazione

4.5 SEGNALE DI ACCELERAZIONE ANGOLARE

Il segnale di accelerazione angolare presenta alcuni inconvenienti che si

possono rilevare dannosi per la regolazione automatica dei parametri del filtro

adattativo.

Il segnale sebbene filtrato prima dell’ uscita dall’ accelerometro presenta ancora

un consistente rumore di fondo (figura 4.11).

Figura 4.11 – ACC in quiete

0 .0 1 0 . 0 2 0 . 0 3 0 . 0 4 0 . 0 5 0 .0 6 0 .0 7 0 .0 8 0 .0 9-0 .1

-0 .0 5

0

0 .0 5

0 .1

T im e [ s e c ]

DS

P A

mpl

itude

0 0 . 0 1 0 . 0 2 0 . 0 3 0 . 0 4 0 . 0 5 0 . 0 6 0 . 0 7 0 . 0 8 0 . 0 9-0 . 8

-0 . 6

-0 . 4

-0 . 2

0

0 . 2

0 . 4

0 . 6

0 . 8P E S e s te s o s o l le c i ta t o a i 4 1 0 H z

T im e [ s e c ]

Am

plitu

de D

SP

Page 66: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

66

Dall’ analisi del diagramma della DFT del segnale (figura 4.12) si può

osservare che le componenti spettrali maggiori nel disturbo sono presenti nelle

frequenze che vanno dai [0 – 1.3 KHz] . Per ridurre il rumore sarebbe opportuno

l’ uso di filtri con frequenza di taglio ai circa 800Hz i quali però possono

introdurre sfasamenti del segnale troppo pesanti per una compensazione di tipo

statico o per filtri FIR di basso ordine.

Figura 4.12 – FFT del segnale ACC in quiete

Oltre al rumore di fondo il segnale di accelerazione è soggetto a errori di tipo

picco spurio. Nella figura 4.13 è rappresentato un esempio della situazione.

Figura 4.13 – Segnale di accelerazione angolare affetto da problemi di tipo

picco spurio

Questo tipo di errore crea seri problemi all’ algoritmo di aggiornamento dei

parametri. L’ aggiornamento dei parametri infatti viene eseguito sul valore

puntuale dell’ accelerazione, un picco spurio se elevato può in primo luogo

0 500 1000 1500 2000 2500 3000 3500 4000 45000

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8Spettro ACC

Freq - Hz

Mag

nitu

de [

V/H

z]

0 . 0 1 0 . 0 2 0 . 0 3 0 . 0 4 0 . 0 5 0 . 0 6 0 . 0 7 0 . 0 8 0 . 0 9

-0 . 0 8

-0 . 0 6

-0 . 0 4

-0 . 0 2

0

0 . 0 2

0 . 0 4

0 . 0 6

0 . 0 8

0 . 1

0 . 1 2

T im e [ s e c ]

DS

P A

mpl

itude

Page 67: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

ELABORAZIONE NUMERICA DEI SEGNALI DI RIFERIMENTO

67

causare l’ attivazione dell’ adattamento, quindi successivamente può spostare

consistentemente la configurazione dei parametri.

Per rimuovere questo tipo di errore si può pensare di effettuare un controllo

sulla derivata del segnale e in caso di valori eccessivi eliminare il dato ritenuto

sbagliato. Questo metodo però comporta che non siano più rilevabili

sollecitazioni di tipo impulsivo da parte dell’ accelerometro limitandone di molto

la propria funzionalità. Un compromesso accettabile è quello di conservare

comunque il dato di accelerazione ma inibire la procedura di adattamento su quel

valore, questo d’ altro canto comporta una introduzioni di nuove variabili

nell’ algoritmo.

Page 68: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 4

68

Page 69: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5RISULTATI SPERIMENTALI

5.1 FEED-FORWARD STATICO CON GUADAGNO

ADATTATIVO

Il primo tipo di compensazione presa in considerazione è un semplice feed-

forward statico. Si cerca cioè di adattare un guadagno attraverso il quale moltiplicare

il segnale di uscita dell’ accelerometro.

∧..∧θ⋅= ffKd

I risultati ottenuti dall’ implementazione del filtered-x LMS sono stati

confrontati con il guadagno statico tempo-invariante KffBest.

032.0=ffBestK

Tale guadagno è stato trovato in precedenza in altri lavori ([1]-[2]) in via

sperimentale facendo variare un trimer digitale in modo continuo e scegliendo il

valore ritenuto il migliore nella maggior parte della banda del sensore.

Per la valutazione dell’ effetto della compensazione è stata considerata la

funzione di sensitività, ossia la relazione che intercorre tra l’ errore PES ed il segnale

di accelerazione. Per ricavare tale funzione è stato usato il DSA al quale sono stati

Page 70: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

70

passati nei due canali di ingresso rispettivamente ACC (segnale accelerometro) ed il

PES, quindi il sistema è stato sollecitato in modo swept sine, ossia allo shaker è stata

inviata una sinusoide modulata in frequenza a partire da frequenze basse sino ad

arrivare a frequenze più elevate. Il sistema in questo modo è stato sollecitato

istantaneamente da vibrazioni a singola armonica. Come si noterà anche nel seguito

la velocità con la quale viene modulata la frequenza, è fondamentale ai fini della

misura. L’ algoritmo, infatti, non può convergere istantaneamente al valore ottimale

ma deve invece esaurire un transitorio. Se la misura viene effettuata in modo troppo

rapido non viene dato il tempo all’ algoritmo di convergere. Questo problema sarà

tanto più sentito quanto più l’ ordine del filtro di compensazione sarà elevato.

In presenza di compensazione adattativa ci si aspetta che per ogni frequenza di

sollecitazione, l’ algoritmo di regolazione dei parametri sia in grado di trovare il

miglior valore possibile per il guadagno. In questi termini ci si aspetta che Kff sia

una funzione della frequenza di sollecitazione Kff(f).

I risultati ottenuti sono raffigurati in fig 5.1.

Figura 5.1 – Funzione di sensitività

Il sistema presenta due evidenti risonanze a frequenze attorno ai 42 e 53 Hz.

Queste risonanze sono dovute alla struttura su cui poggia il sistema, il tavolo infatti

presenta dei modi risonanti che vengono sollecitati dalle vibrazioni prodotte dallo

shaker. Le vibrazioni del tavolo possono essere facilmente percettibili appoggiando

una mano sul piano di lavoro.

500 550 600 650 700 750 800

-20

-10

0

10

20

30

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestKff Adattativo

101

102

103

-40

-30

-20

-10

0

10

20

30

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestKff Adattativo

Page 71: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

71

Oltre a queste due risonanze è presente una ulteriore risonanza ai 410 Hz,

questa è invece dovuta alla meccanica dello shaker. In prossimità di questa frequenza

risonante si sente lo shaker produrre un rumore simile ad un fischio.

Come si può notare dal grafico nelle basse frequenze la compensazione

adattativa non riesce ad aggiornare il guadagno, questo è principalmente dovuto alla

difficoltà di rilevare la presenza di disturbi nel segnale PES (vedi figura 4.4), infatti

la componente nell’ errore dovuta alle vibrazioni esterne è nascosta dal rumore di

fondo del PES. Questo oltre a far diventare difficoltosa l’ innesco della procedura di

adattamento del parametro, crea dei problemi nel calcolo stesso del nuovo parametro

di guadagno.

In corrispondenza delle prime risonanze si osserva una difficoltà oggettiva del

metodo di feed-forward; infatti anche usando guadagni tempo-invarianti non è

possibile migliorare significativamente la compensazione.

Nel feed-forward adattativo le risonanze provocano una continua accensione

dell’ algoritmo di aggiornamento, dal momento che per ogni valore di guadagno

calcolato, la procedura non riscontra miglioramenti apprezzabili. Si è notato che in

corrispondenza delle prime due risonanze l’ algoritmo tende ad evolvere in verso

guadagni bassi e addirittura negativi. In via cautelativa si è deciso di saturare il

guadagno al di sopra di una certa soglia e si è deciso di impedire al guadagno di

assumere valori negativi.

Nel tracciamento del grafico 5.1a, superate le frequenze risonanti l’ adattamento

comincia a funzionare in circostanze meno critiche, si nota che il sistema comincia a

trarre beneficio dalla compensazione feed-forward. Il processo di adattamento non è

però istantaneo come si è osservato in precedenza la velocità di convergenza dipende

fortemente dal valore µ il quale non può essere grande a piacere. E’ necessario un

transitorio quindi affinché si raggiunga una situazione di regime.

Poco prima dei 200Hz l’ algoritmo riesce a regolare il guadagno ad un valore

opportuno, tale garantire le stesse prestazioni, che si ottengono con Kffbest.

Nelle frequenze successive ossia dai 200Hz ai 400Hz l’ algoritmo funziona in

modo corretto, continuando a eguagliare o migliorare lievemente la compensazione

fatta attraverso Kffbest.

La risonanza meccanica a 410 Hz ha lo stesso effetto delle precedenti risonanze, in

questo caso però si riscontra la tendenza dell’ algoritmo nell’ evolvere verso valori

elevati.

Page 72: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

72

Si tenga presente che in questa frequenza i segnali PES e ACC crescono molto

rispetto ai loro valori tipici, riscontrabili al di fuori delle risonanze. In particolare si

deve porre estrema attenzione all’ andamento delle variabili di stato della

realizzazione Gout, le quali possono causare errori di overflow se l’ ingresso della

realizzazione non è opportunamente scalato.

Subito dopo il picco risonante si osserva un comportamento migliore nel

grafico da parte del guadagno adattativo rispetto al guadagno fisso. In questa regione

lo sfasamento dell’ uscita dell’ accelerometro è tale da rendere inefficace la

compensazione statica.

Per poter osservare in modo migliore il comportamento nelle alte frequenze è

stata ripetuta la prova esclusivamente nel campo di frequenze che vanno dai 500 agli

800 Hz. In questa regione non ci sono particolari risonanze, quanto piuttosto un

progressivo indebolimento del segnale di accelerazione che agli 800Hz ha la stessa

entità del segnale a riposo; si ritiene percui che questa frequenza sia quella limite

nella banda utile del sensore, come documentato anche nei data sheets del

dispositivo. In questa regione del grafico si osserva come il guadagno adattativo sia

in grado di abbassare il proprio valore sino a raggiungere il valori bassi o addirittura

nulli: in questa regione la compensazione statica non può più dare beneficio al

sistema a causa dell’ eccessivo sfasamento del segnale di accelerazione angolare.

Si è constatato, quindi, che se il sistema viene sollecitato ad una frequenza

all’ interno della banda [200Hz - 400Hz], l’ algoritmo riesce a regolare il guadagno

adattativo a valori tali da garantire una compensazione statica efficace.

Se dopo una fase di sollecitazione in questa banda si riesamina la funzione di

sensitività si può osservare che la funzione di sensitività migliora anche nelle basse

frequenze.

Si segnala pertanto la capacità del sistema di compensazione adattativa di

trattenere valori opportuni del guadagno nelle basse frequenze frutto di precedenti

sollecitazioni. Nella figura 4.2 si mostra la funzione di sensitività del sistema con

sollecitazione preliminare ai 200Hz.

Page 73: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

73

Figura 5.2 – Funzione sensitività del guadagno adattativo con fase di

sollecitazione preliminare ai 200Hz

Come ulteriore misura per la valutazione del metodo di compensazione sono

stati considerati gli spettri di potenza del segnale PES.

Nelle figure 5.3 che seguono vengono confrontati gli spetti di potenza del PES

che si ottiene in assenza di compensazione, in compensazione adattativa e in

compensazione con Kff Best.

Nella figura 5.3 b) si può notare lo spettro di potenza del sistema sollecitato

con una sinusoide a 50 Hz In questi spettri di potenza si può notare che a 50 Hz

l’ effetto della compensazione a guadagno adattativo è pressoché identico a quello

ottenuto in assenza di compensazione con un vistoso picco ai 50 Hz. Questo picco

sarebbe dimezzato se venisse usata una compensazione con Kff Best. Questa frequenza

ricade infatti all’ interno della banda di basse frequenze nella quale si sono

manifestati problemi nella procedura di soglia per l’ innesco dell’ algoritmo di

aggiornamento dei parametri.

Alle sollecitazioni sinusoidali di frequenza 100 Hz ( figura 5.3 c) ) si ottiene

un miglioramento nello spettro di potenza del PES attraverso compensazione

adattativa ma non della stessa entità del miglioramento ottenuta con Kff Best. Si noti

però che l’ uso della compensazione costante (Kff Best) riduce il picco ai 100 Hz però

peggiora lo spettro del PES alle alte frequenze. Con la compensazione adattativa

come si vedrà le componenti armoniche alle alte frequenze non vengono mai

eccessivamente peggiorate. Questo si traduce nel miglioramento del fattore 3σ

(valore entro cui stanno statisticamente 99.9% dei campioni) del segnale PES.

Alle vibrazioni a 200 Hz (figura 5.3 d) ) la compensazione adattativa agisce già

meglio della compensazione a valore costante. Il picco ai 200 Hz è ridotto allo stesso

101

102

103

-40

-30

-20

-10

0

10

20

30

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestKff Adattativo

Page 74: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

74

Figura 5.3 – Spettri di potenza PES

Un altro aspetto di interesse nell’ uso del metodo di compensazione di feed-

forward è osservare come peggiora il comportamento del sistema con la

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenz a del PES in modalità IDLE

Non comprensatoKff BestKff Adattativo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 50Hz

Non comprensatoKff BestKff Adattativo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 100Hz

Non comprensatoKff BestKff Adattativo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 200Hz

Non comprensatoKff BestKff Adattativo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 500Hz

Non comprensatoKff BestKff Adattativo

102.4

102.5

102 .6

102.7

102.8

-55

-50

-45

-40

-35

-30

-25

-20

-15

-10

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 500Hz

Non comprensatoKff BestKff Adattativo

a) b)

c) d)

e) f)

Page 75: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

75

compensazione attivata senza che agisca nessun disturbo (modalità ‘IDLE’ ). In

questo caso il segnale che viene mandato in feed-forward è il rumore

dell’ accelerometro moltiplicato per il guadagno di feed-forward, si va quindi a

‘sporcare’ il segnale di comando del VCM precedentemente calcolato. Si ricorda che

il guadagno adattativo può variare significativamente a seconda delle frequenze di

sollecitazione alla quale il sistema è stato sottoposto. Quando una sollecitazione

cessa il guadagno adattativo viene mantenuto inalterato sino a quando non si

ripresentano le condizioni per aggiornare nuovamente il parametro. Nei confronti dei

spettri del PES in modalità ‘IDLE’ si è considerato per il metodo adattativo lo

spettro generato da un guadagno adattativo ottenuto da un sistema precedentemente

sollecitato con una sinusoide a 200 Hz. Questo perché si ritiene che in prossimità dei

200 Hz l’ algoritmo di aggiornamento funzioni correttamente, come già osservato, in

tale frequenza non sono presenti problemi quali risonanze e neppure problemi

sull’ individuazione del disturbo. Come si può vedere lo spettro di potenza del PES

risulta mediamente migliore con guadagno adattativo.

Si può notare inoltre che in tutti gli spettri del PES, misurati in assenza di

sollecitazione esterne, è sempre presente un picco ai 90 Hz e suoi multipli. Questo

componente di disturbo è generata dal moto rotazionale dei dischi, che come in

precedenza indicato ha frequenza pari a 90 Hz. Come si può notare dai grafici questa

componente di disturbo non viene mai compensata correttamente.

In definitiva l’ adattamento del guadagno risulta corretta dai 200 Hz ai 800 Hz,

mentre la compensazione adattativa dà beneficio sino ai 400Hz (come con Kffbest).

L’ implementazione di questo metodo di soppressione delle vibrazioni richiede

l’ introduzione di poche righe di codice nell’ algoritmo di controllo.

Come limitazione rimangono diversi aspetti sull’ individuazione nelle basse

frequenze di disturbi a partire dal segnale PES e la limitata velocità di convergenza.

Purtroppo se sul disco sono presenti disturbi generati da cause diverse dalla

semplice accelerazione angolare o comunque da disturbi non misurabili (anche a

causa di eccessivo sfasamento) direttamente dall’ accelerometro si possono

riscontrare problemi di convergenza nell’ aggiornamento del guadagno. Una

informazione più completa sui disturbi agenti sul disco sarebbe costituita dalla

conoscenza oltre dell’ accelerazione rotazionale anche delle accelerazioni lineari.

Page 76: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

76

5.2 FEED-FORWARD DINAMICO CON FILTRO

ADATTATIVO

Successivamente lo studio si è rivolto all’ analisi di compensazioni feed-

forward adattativi di tipo dinamico. La compensazione è ottenuta dal segnale di

accelerazione filtrato dal filtro adattativo Gff.

∧..∧

⋅= θffGd

Come già detto il filtro Gff è un filtro FIR di ordine prestabilito.

Nella seguente figura (5.4) si mostra l’ effetto della compensazione dinamica

adattativa al variare dell’ ordine del filtro Gff, sul segnale PES.

Figura 5.4 – Andamenti del PES con compensazione dinamica di vario

ordine

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Non

Com

pens

ato PES in sollecitazione ai 200 Hz

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Kff

ad.

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Gff

10°

ord

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Gff

20°

ord

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Gff

30°

ord

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

Gff

39°

ord

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09

-0.10

0.1

IIR 6

°

Time [Sec]

Page 77: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

77

Come si può notare all’ aumentare dell’ ordine si riscontra un progressivo

miglioramento del PES. Questo miglioramento può essere quantificato nei valori

dell’ errore quadratico medio (stimato) e del parametro 3σ calcolati su 800 campioni

dei vari segnali PES considerati nella figura 5.4.

I dati sono riassunti nella tabella 5.1.

Tipo di compensazione Errore Quadratico Medio su 800

campioni (*103)3σσσσ

Assenza 1,87 0,129

Costante Adattativa 1,17 0,101

FIR 10° ord. Adattativo 0,94 0,090

FIR 20° ord. Adattativo 0,78 0,082

FIR 30° ord. Adattativo 0,72 0,079

FIR 39° ord. Adattativo 0,74 0,080

IIR 6° ord. 3,11 0,167

Errore Quadratico Medio su 800

campioni (*10-3)3σσσσ

Sistema in quiete e senza

compensazioni attivate

0,67 0,076

Tabella 5.1 – a) Valori caratteristici del PES in sistema sollecitato ai 200Hz

– b) Valori caratteristici del PES in condizione di quiete

Come si può notare, il miglioramento è progressivo sino alle compensazioni

tramite filtro FIR del 30° mentre non si osservano miglioramenti sostanziali per filtri

di ordine superiore . Sempre nella figura 5.4 è riportato l’ andamento del segnale

PES ottenuto mediante una compensazione attraverso un filtro IIR del 6° ordine a

parametri fissi. Tale filtro è stato calcolato in lavori precedenti (cfr. [1]-[2])

attraverso procedure di identificazione sul disco in esame ed è stato ritenuto il

miglior risultato ottenuto. La sua f.d.t. è la seguente :

zzzzzzzzzzzz

zH IIR 623456

23456

10557,30298,01137,04537,06589,00178,01234,02167,02987,00468,10871,04923,1

)( −⋅−+−+−+++−−+= )1.5(

a)

b)

Page 78: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

78

Il filtro all’ aumentare dell’ ordine si è dimostrato meno robusto nella procedura

di aggiornamento dei parametri, è stato pertanto ridotto l’ adaptation gain rispetto ai

valori usati nella compensazione statica (si usava 2µ = 0.0156).

Come fatto per la compensazione statica si è valutato la funzione di sensitività

tra accelerazione angolare e PES. Le prove di compensazione adattativa sono state

eseguite considerando un filtro FIR del 39° ordine. Le prestazioni del filtro sono state

confrontate in particolare con quelle del filtro IIR del 6° ordine precedentemente

indicato. Nelle figure 5.5 vengono mostrati i risultati ottenuti.

Figure 5.5 – Funzioni di sensitività FIR adattativo del 39° ordine

Tutte le misure effettuate sono largamente dipendenti dalla durata stessa della

misura. Come osservato anche in precedenza nella modalità swept sine viene

mandato al comando dello shaker una sinusoide modulata in frequenza. Se la

101

102

103

-40

-30

-20

-10

0

10

20

30 2 µµµµ = 4.39 10-3

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestIIR 6° ord.FIR 39° ord. Adattativo

101

102

103

-40

-30

-20

-10

0

10

20

30 2 µµµµ = 7.81 10-3

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestIIR 6° ord.FIR 39° ord. Adattativo

101

102

103

-40

-30

-20

-10

0

10

20

30 2 µµµµ = 8.30 10-3

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestIIR 6° ord.FIR 39° ord. Adattativo

500 550 600 650 700 750 800

-20

-10

0

10

20

30

Frequency [Hz ]

Mag

nitu

de

[dB

]

Funzione di Sensitività tra segnale accelerometro e PES

2 µµµµ = 4.39 10-3Non comprensatoKff BestIIR 6° ord.FIR 39° ord. Adattativo

a) b)

c) d)

Page 79: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

79

persistenza della sinusoide su di una singola frequenza (o frequenze tra loro vicine)

non è sufficientemente lunga l’ algoritmo di adattamento non ha il tempo di

convergere alla soluzione migliore.

Lo strumento di misura non offre la possibilità di regolare manualmente la

velocità con la quale si esegue la modulazione di frequenza nel metodo swept sine.

L’ unico metodo per modificare la velocità di misura è stato quello di aumentare il

numero di punti che l’ analizzatore di spettro deve tracciare per comporre il grafico.

Quindi si sono eseguite misure con molti punti e quindi più lente, in modo da

dare più tempo all’ algoritmo per convergere alla soluzione.

Nella figura 5.5 a) b) c) sono riportate le varie funzioni di sensitività al variare

del fattore di apprendimento 2µ.. Tutte le funzioni di sensitività raffigurate,

presentano un andamento alle basse frequenze che peggiora lievemente le prestazioni

del sistema in assenza di compensazione. Come già discusso in questo campo di

frequenze è estremamente difficile per l’ algoritmo osservare l’ effetto delle vibrazioni

sul PES. Molto probabilmente in queste frequenze l’ algoritmo di aggiornamento dei

parametri può essere innescato in modo involontario da una sequenza del segnale

PES ad alto contenuto rumoroso.

Come è possibile osservare nella figura 5.5 a) superata la seconda frequenza

risonante l’ algoritmo riesce ad adattarsi su parametri opportuni tanto da raggiungere

le stesse prestazioni del filtro IIR del 6 ordine. Si può osservare sempre nelle

frequenze immediatamente superiori a quelle risonanti come la velocità di

convergenza dell’ algoritmo aumenti all’ aumentare del fattore 2µ. Con 2µ = 4.39 10-3

il filtro adattato raggiunge l’ andamento del filtro IIR ai 200 Hz, con 2µ = 7.81 10-3

accade ancora ai 200Hz ma con andamento mediamente migliore ed infine con 2µ =

8.30 10-3 ai 100Hz.Purtroppo non si può aumentare arbitrariamente il valore 2µ pena

l’ instabilità dell’ algoritmo di aggiornamento dei parametri.

Per frequenze superiori a 250 Hz si nota inoltre un miglioramento delle

prestazioni rispetto al filtro a parametri fissi.

Purtroppo al passaggio nella frequenza risonante ai circa 410 Hz l’ algoritmo di

adattamento subisce variazioni tali da rendere instabile il processo di aggiornamento

dei parametri a seguito di una eccessivo aumento del valore di accelerazione in

concomitanza all’ aumento del PES . E’ stato pertanto disattivato manualmente il

processo di adattamento in corrispondenza di tali frequenze. La disattivazione

Page 80: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

80

dell’ algoritmo sarebbe potuta essere eseguita in modo automatico in via software con

un rilevamento di soglia del segnale di accelerazione ma questo avrebbe impedito

all’ algoritmo di lavorare correttamente per le frequenze non soggette a risonanze.

Infatti nelle frequenze non risonanti l’ algoritmo di aggiornamento rimane stabile

sebbene il valore di accelerazione aumenti di molto. In queste frequenze l’ algoritmo

di aggiornamento dei parametri riesce a mantenere la stabilità probabilmente per il

fatto che il PES compensato rimane contenuto, come viceversa non accade per le

frequenze risonanti.

Per le frequenze immediatamente superiori alla risonanza cioè dai 500Hz gli

800Hz si osserva ( Figura 5.5 d) ) che il filtro adattativo riesce a fornire una

compensazione efficiente sino a circa ai 600Hz. Superata questa frequenza il filtro

non peggiora rispetto all’ andamento che si otterrebbe in assenza di compensazione.

Nelle alte frequenze ( oltre 500Hz ) si è notato un comportamento più robusto in

presenza di valori 2µ bassi.

Nell’ analisi dello spettro di potenza del PES (figura 5.6) si può notare che per

vibrazioni ai 50 Hz non c’ è alcuna compensazione da parte del filtro FIR, mentre il

filtro IIR opera in quel campo già una consistente attenuazione della principale

armonica rumorosa. Alle sollecitazioni sinusoidali a 100 Hz si nota già nello spettro

del PES una consistente attenuazione da parte del filtro adattativo, il filtro IIR opera

ancora una migliore compensazione dell’ armonica principale del disturbo ma alle

alte frequenze l’ IIR è tale da aumenta il contenuto spettrale del PES mentre il FIR

adattativo lo lascia circa inalterato. Ai 200 Hz si può già osservare una migliore

compensazione da parte del FIR rispetto all’ IIR su tutte le frequenze che vanno dai

180 agli 800 Hz.

Alle sollecitazioni sinusoidali a 500 Hz il filtro adattativo si comporta bene

tanto da cancellare la componente spettrale a 500Hz del PES e mantenere limitata

tutta la composizione spettrale del segnale, alle stesse vibrazioni il filtro IIR presenta

un ridotta capacità di attenuazione dell’ armonica principale e un aumento di tutto il

contenuto spettrale del PES.

In modalità ‘IDLE’ si osserva ancora un abbassamento del contenuto spettrale

del PES in compensazione adattativa (filtro adattato a vibrazioni 200Hz) rispetto alla

compensazione a parametri fissi.

Page 81: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

81

Figure 5.6 – Spettri di potenza del segnale PES sottoposto a diversi regimi

di sollecitazioni esterne

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenz a del PES in modalità IDLE

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo (200Hz)

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 50Hz

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 100Hz

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 200Hz

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo

101

102

103

-60

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenza del PES sollecitato ai 500Hz

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo

102 .3

102.5

102.7

-50

-40

-30

-20

-10

0

Frequency [Hz ]

Po

we

r [V

2/H

z]

Spettro di potenz a del PES sollecitato ai 500Hz: dettaglio

Non comprensa toCompensato con IIR 6° ord.Compensato con FIR 39° ord. adatta tivo

a) b)

c) d)

e) f)

Page 82: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

82

Ulteriori prove sono state condotte per cercare di risolvere i problemi dovuti

all’ instabilità dell’ algoritmo di adattamento in corrispondenza delle frequenze

risonanti e alla velocità di misura del metodo swept sine. Si è quindi pensato, di

disabilitare la procedura di aggiornamento dei parametri del filtro dopo una

sufficientemente lunga fase apprendimento su vibrazioni a frequenza fissa.

In questo modo si vuole dare il tempo all’ algoritmo di convergere alla

soluzione migliore e con l’ algoritmo di aggiornamento disabilitato si esclude la

possibilità di instabilità.

E’ stato in questo modo analizzato il comportamento di filtri formati a partire

da sollecitazioni a singola armonica. I risultati prodotti dall’ analisi della funzione di

sensitività sono riprodotti in figura 5.7.

Le funzioni sensitività mostrano chiaramente che il filtro adattativo regola i

propri parametri allo solo scopo di cancellare la componente armonica di disturbo, a

scapito però delle altre frequenze non rumorose. Nei grafici di figura 5.7 si notano

regioni nelle quali la compensazione peggiora la situazione che si ha in assenza di

compensazioni

Figure 5.7 – Funzioni di sensitività FIR 39° ordine adattativo bloccato

dopo apprendimento con rumore sinusoidale

Un ulteriore tentativo è stato condotto sostituendo la fase di apprendimento a

singola sinusoide con una fase di apprendimento su sollecitazioni in rumore bianco.

Le funzioni di sensitività prodotta da questo tipo di filtro è rappresentata nella figura

5.8 .

101

102

103

-40

-30

-20

-10

0

10

20

30

Frequency [Hz ]

Po

wer

[V

2/H

z]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensa toKff BestIIR 6° ord.FIR 39° ord. con apprendim ento sinusoida le a i 100Hz

101

102

103

-40

-30

-20

-10

0

10

20

30

Frequency [Hz ]

Po

wer

[V

2/H

z]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensa toKff BestIIR 6° ord.FIR 39° ord. con apprendim ento sinusoida le a i 200Hz

Page 83: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

83

Figure 5.8 – Funzioni di sensitività FIR 39° ordine adattativo bloccato

dopo apprendimento con rumore bianco

In questo caso non si è osservato un miglioramento della compensazione

prodotta, l’ andamento dei figura 5.8 è simile al comportamento che si ottiene con

sistema sollecitato a singola sinusoide a frequenza ai 400 Hz.

Dopo aver analizzato questo tipo di risposta si è cercato di identificare la

risposta in frequenza tra il riferimento di tensione dello shaker e il segnale

dell’ accelerometro. Ossia la seguente :

Figura 5.9 – Schema di principio per l’identificazione della risposta in

frequenza Shaker-RAC

R A C S H K

C H 1 C H 2 S O U R C E

H P D S A 3 5 6 6 5 A

3 ,5 v

θθθθ

.. ^

θθθθ

..

R e f

101

102

103

-40

-30

-20

-10

0

10

20

30

Frequency [Hz ]

Po

we

r [V

2/H

z]

Funzione di Sensitività tra segnale accelerometro e PES

Non comprensa toKff BestIIR 6° ord.FIR 39° ord. con apprendim ento in rumore bianco

Page 84: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

84

L’ identificazione ha fornito il risultato di figura 5.10. Dai diagrammi di Bode

appare evidente la presenza della risonanza ai 410 Hz , nella quale il segnale di

accelerazione angolare risulta quasi 10 volte più grande del valore prodotto nella

banda utile, infine si può notare l’ effetto di un modo risonante proprio del tavolo nel

picco ai 42 Hz .

Figura 5.10 – Diagrammi di bode f.d.t. SHK-RAC

Il rumore bianco in ingresso dalla serie shaker-RAC esce fortemente colorato

come si vede chiaramente in figura 5.11, nella quale è rappresentato un segnale di

accelerazione del sistema sollecitato con sinusoide a 400Hz in confronto con il

segnale di accelerazione del sistema sollecitato con rumore bianco.

Questo quindi spiega perché usando rumore bianco l’ algoritmo ha prodotto una

risposta simile al filtro che si otterrebbe sollecitando il sistema con rumore

sinusoidale ai 400Hz.

1 01

1 02

1 03

-8 0

-6 0

-4 0

-2 0

0

F re q ue n c y [H z ]

Mag

nitu

de [

dB]

f.d .t. ing re s s o s ha k e r - us c i ta a c c e le ro m e tro

1 01

1 02

1 03

-6 0 0

-4 0 0

-2 0 0

0

2 0 0

F re q ue n c y [H z ]

Pha

se [

deg]

Page 85: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

85

Figura 5.11 - Confronto tra segnali di accelerazione angolare

Per poter osservare quale sia il comportamento del filtro con fase preliminare

in rumore bianco è necessario eliminare la risonanza presente nel sistema meccanico.

Sono stati fatti a tal proposito diversi tentativi.

Il primo tentativo è stato quello di cambiare posizione dello shaker, il quale è

stato adagiato su di un lato ma questo non ha portato nessun miglioramento. Si è con

questo potuto escludere che la causa della risonanza fosse dovuta a modi torsionali

della struttura ad “ L” dello shaker.

Un secondo tentativo è stato quello di sostituire il motore dello shaker. Si è

passati quindi ad un motore trifase brushless, nella speranza che le eventuali

risonanze meccaniche tipiche del motore ricadessero all’ esterno della banda del

sensore RAC.

Figura 5.12 – Cambio Motore shaker

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09-0.2

-0.1

0

0.1

0.2

AC

C a

i 400

Hz

Confronto tra segnali di accelerazione angolare (in ampiezza variabile DSP)

0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09-0.1

-0.05

0

0.05

0.1

AC

C in

WN

Time [sec]

Page 86: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

86

Il nuovo motore è stato comandato in catena aperta attraverso lo stadio

amplificatore di potenza usato con il motore precedente. A tal fine si è realizzata la

semplice interfaccia elettronica per comandare gli avvolgimenti del motore in modo

da produrre un effetto di shaking. Nella quale i diodi di potenza df1 e df2 servono per

generare due opposte semionde mentre i diodi dp1 e dp2 sono di protezione per

l’ amplificatore di potenza

Figura 5.13 – Elettronica di comando motore brushless

Dall’ analisi della f.d.t. (figura 5.14) non si sono constatati miglioramenti, anzi

si è riscontrata la presenza di una risonanza simile a quella del sistema precedente in

una frequenza più bassa ( 250Hz ).

Figura 5.14 – Diagrammi di Bode del sistema a motore brushless

+

-

+ Vcc

- Vcc

Dp1

Dp2

Df2

Df1

��

��

��

REF

101

102

103

-80

-60

-40

-20

0

Frequency [Hz]

Mag

nitu

de [

dB]

f.d.t. ingresso shaker - uscita accelerometro

101

102

103

-200

-100

0

100

200

Frequency [Hz]

Pha

se [

deg]

Page 87: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

87

Dopo essere tornati al sistema originario è stato effettuato un ulteriore

tentativo. Sono stati rinforzati i supporti che fissano il disco sul piatto. Questo per

escludere che le vibrazioni ad alte frequenze potessero innescare vibrazioni sui

supporti stessi

Figura 5.15 – Cambio supporti

Nella risposta in frequenza di figura 5.16 si può osservare che non ci sono stati

sostanziali miglioramenti rispetto alla situazione originaria figura 5.10. La risposta in

frequenza risulta mediamente più bassa ma la risonanza non è stata eliminata.

Figura 5.16 – Diagrammi di Bode del sistema con supporti rinforzati

101

102

103

-60

-40

-20

0

Frequency [Hz]

Mag

nitu

de [

dB]

f.d.t. ingresso shaker - uscita accelerometro

101

102

103

-600

-400

-200

0

200

Frequency [Hz]

Pha

se [

deg]

Page 88: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

88

Per valutare in modo più approfondito quindi le prestazione del filtro adattativo

si è pensato di costruire un grafico per punti, ottenuti dalla funzione sensitività di

filtri adattati su singole frequenze. Il filtro subisce una fase di apprendimento

sufficientemente lunga per assicurarsi la convergenza dei parametri alla soluzione,

consecutivamente viene inibita la possibilità di riaggiornare i parametri. Sui filtri

così generati vengono misurate la funzioni di sensitività. Si ottengono in questa

maniera delle funzioni di sensitività dello stesso tipo di quelle illustrato in figura 5.7.

Da queste funzioni di sensitività si raccolgono i valori in corrispondenza alla

frequenza alla quale è stato effettuato l’ apprendimento.

Il grafico di figura 5.17 può anche essere considerato come la funzione di

sensitività di un filtro adattativo a velocità di apprendimento molto elevata.

Tramite il procedimento adoperato si è quindi reso la misura indipendente dal

tempo entro il quale viene eseguita.

Il risultato è mostrato per le frequenze che vanno dai 60 ai 750 Hz.

Il grafico mostra che l’ andamento della funzione di sensitività può essere

considerevolmente ridotto con l’ uso del metodo adattativo. A partire dai 100 Hz si

eguaglia il comportamento del filtro IIR. Prima dei 200Hz il filtro adattato migliora

la funzione di sensitività dell’ IIR e in alcune frequenze successive il miglioramento

può arrivare sino ai 20dB. La compensazione risulta efficace sino ai 650 Hz.

Figura 5.17 – Funzione di sensitività di filtri adattati a singola armonica

60 70 80 90 100 200 300 400 500 600 700 800-40

-30

-20

-10

0

10

20

30

Frequency [Hz]

Ma

gn

itu

de

[d

B]

Funz ione di Sensitività tra segnale accelerometro e PES

Non comprensatoKff BestIIR 6° ord.FIR 39° ord. adattato su singola armonica

Page 89: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

RISULTATI SPERIMENTALI

89

5.3 CONCLUSIONI E SVILUPPI FUTURI

Sono state provate varie soluzioni in diverse configurazioni per la

compensazione adattativa mediante algoritmo filtered-x LMS.

La compensazione mediante guadagno statico se da un lato ha mostrato

capacità di sintonizzazione al miglior guadagno possibile nelle frequenze [200 Hz –

800Hz] dall’ altro ha esibito una forte dipendenza dal PES. Se questo parametro è

piccolo l’ algoritmo non si adatta, seppur esiste una configurazione del guadagno

migliore rispetto a quella in uso. E’ comunque vero che se il segnale d’ errore è

contenuto non è indispensabile una modifica del parametro.

Si segnala che l’ implementazione dell’ algoritmo per l’ aggiornamento del

guadagno non richiede molte istruzioni. Sono stati proposti in letteratura anche altri

lavori per la regolazione del guadagno con tecnica LMS che non fanno uso del filtro

Gout (cft [9]), con una ulteriore riduzione delle istruzioni. Questo tipo di soluzione è

stata provata anche nel contesto di questo lavoro ed il risultato è stato simile a quello

ottenuto con tecnica FXLMS.

Con la compensazione di tipo dinamico il numero di istruzioni in esecuzione

aumenta sensibilmente all’ aumentare dell’ ordine del filtro FIR, che come detto deve

avere un grado elevato per ottenere effetti paragonabili ad un IIR. Si è rilevato

comunque che gradi eccessivi, oltre cioè ad un certo limite, del filtro non comportano

miglioramenti. Con ordini elevati problemi numerici diventano più consistenti.

La stabilità dell’ algoritmo di adattamento rimane fortemente dipendente dal

valore che può assumere il dato di accelerazione come è descritto anche dal vincolo

di stabilità 3.15 per l’ adaptation gain.

max

2<µ<

Nella quale si ricorda che λmax è l’ autovalore massimo della matrice di

autocorrelazione del dato di accelerazione angolare.

Come accade per le prove effettuate con compensazione sempre abilitata in

corrispondenza di sollecitazioni di elevata entità, come quelle prodotte da risonanze

l’ algoritmo può non convergere . In genere , per disturbi più lievi, l’ algoritmo ha

Page 90: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CAPITOLO 5

90

mostrato la propria capacità di sintonizzazione dei parametri riuscendo al di fuori

delle basse frequenze a riprodurre l’ andamento del filtro digitale ottenuto in [1] e [2].

Per le frequenze contenute nei [250 Hz-650 Hz] eccezion fatta per la frequenza

risonante dei 410Hz il filtro prodotto è risultato essere anche migliore rispetto a

quello a parametri fissi.

Un altro dato interessante è la composizione spettrale del PES in

compensazione adattativa che è tale da garantire quasi sempre un valore del

parametro 3σ basso. Questo si traduce con il fatto che la compensazione oltre a

ridurre le armoniche nello spettro del PES prodotte dal disturbo è tale da non

‘sporcare’ eccessivamente tutte le altre non interessate direttamente dal disturbo

agente.

Lo studio sulla formazione di un filtro adattativo dopo una fase preliminare di

apprendimento a rumore bianco, purtroppo non ha avuto seguito per problemi

intrinseci dell’ attrezzatura a disposizione.

Sicuramente nello sviluppo futuro di questo lavoro sarebbe interessante capire

se una sollecitazione con rumore composto da più armoniche o lo stesso rumore

bianco siano tali da produrre un filtro che una volta bloccato sia in grado di

compensare una vasta gamma di frequenze e ripetere o magari migliorare le

prestazione del filtro IIR.

Se questo risultasse vero si disporrebbe di un metodo per trovare un filtro ‘ad

hoc’ per ogni disco in sollecitazione.

Come ulteriori sviluppi futuri si possono indicare la ricerca per ottenere

algoritmi con µ variabile.

Per la rilevazione di vibrazioni in bassa frequenza si potrebbe inoltre ricorrere a

filtri che amplificano le componenti a bassa frequenza quindi innescare tramite soglie

la procedura di adattamento, cercando nel contempo di trovare un filtro tale da

ripulire il segnale di accelerazione e del PES da rumori al di fuori della banda

dell’ accelerometro. Tutto questo è stato provato con scarsi risultati ma non si esclude

che uno studio più accurato possa portare a qualche miglioramento.

Altri sviluppi potrebbero arrivare nel caso fosse a disposizione dei sensori

meno rumorosi e a banda più elevata. L’ uso inoltre della compensazione potrebbe

essere arricchito del dato sulle accelerazioni lineari.

Page 91: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

93

APPENDICE A

CONFIGURAZIONE DEI REGISTRI SUPER 10

Nella programmazione del microcontrollore Super 10 sono attivate numerose

impostazione di registri, necessarie per garantire la corretta definizione e

temporizzazione dei segnali. Qui di seguito si riportano le configurazioni adottate e si

commenta brevemente il significato delle scelte fatte.

REGISTRO CPUCON1

VECSC Scaling factor of Vector Table

Imposta lo spazio tra due vettori successivi asll’ interno ella

Vector Table, che contiene gli indirizzi delle procedure

associate agli interrupt esterni.

(00) : 2 word , (01) : 4 word , (10) : 8 word , (11) : 16 word

WDTCTL Configuration of Watchdog Timer : (0) disabilita le funzioni

di configurazione del timer

SGTDIS Segmentation Disable/Enable control

Impostato a (0) abilita l’ accesso a tutti i segmenti di memoria,

altrimenti si accederebbe solo al seg 0

INTSCXT Enable Interruptibility of Switch Context : (0) OFF (1) ON

BP Enable Brench Prediction unit : (0) OFF (1) ON

ZCJ Enable Zero Cycle function : (0) OFF (1) ON

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

R VECSC

WDTCTL

SGT DIS

INT SCXT BP ZCJ

0 0 0 0 hex

bin

Page 92: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

94

REGISTRO PSW :

ILVL CPU priority level

Riporta il valore corrente del livello di priorità della CPU;

una eventuale richiesta di interrupt viene eseguito solo se ha

livello superiore a questo.

IEN Interrupt Enable control bit

(0) Interrupt e PEC OFF , (1) ON

BANK Register Bank selection

Se posto a (00) i 16 registri ineterni sono definiti come

globalmente accesibili, altrimenti con altre configurazioni si

possono impostare dei banchi locali di registri.

USR1,2 Flags disponibili all’ utente

E End of table flag

Impostato a (1) quando un operando di una istruzione della

ALU termina in 8000h o 80h

Z Zero flag

Impostato ad (1) se l’ ALU dà come risultato un valore nullo

V Overflow Flag

Impostato ad (1) se nell’ ALU è stato provocato un overflow

C Carry Flag

Impostato ad (1) quando il risultato di un’ operazione

nell’ ALU comporta il riporto di bit

N Negative Flag

Impostato ad (1) quando il risultato di un’ operazione

nell’ ALU comporta un valore negativo

In questo registro sono configurabili solo i campi IEN, BANK, USR1,2 mentre

gli atri campi sono a sola lettura e identificano lo stato del processore. In particolare i

flags E,Z,V,C ed N possono essere combinati per ottenere strutture if… then nella

programmazione assembly.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 E Z V C N

0 0 0 0 hex

bin

USR 1

USR 2 BANK R IEN ILVL

Page 93: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

95

REGISTRO FEIxIC (con x = 0..7) : Fast Extenal Interruot Control

Questo registro configura una delle 8 possibili richieste di interruzione esterna.

IR Interrupt Request Flag

(0) : non ci sono richieste di interruzione dall’ interrupt x

(1) : è pendente la richiesta di interruzione dell’ interrupt x

IE Interrupt Enable control bit

(0) Interrupt x disabilitato , (1) abilitato

ILVL Interrupt priority level

Definisce il livello di priorità associato all’ interrupt x

GLVL Group Priority Level

Campo con il quale si discrimina tra richieste di interrupt

dello stesso livello: in caso di richieste contemporanee con lo

stesso ILVL vince quella con GLVL più alto

Nel programma complessivo vengono generate quattro chiamate ad interrupt esterno.

Nel dettaglio sono :

• Interrupt Seek (FEI4IC , ILVL=5h e GLVL=0) : viene segnalato al processore

che deve essere a

• Interrupt Servobanda (FEI7IC , ILVL=Fh e GLVL=3h) : segnala che sono resi

disponibili i dati circa la servobanda dall’ elettronica esterna

• Interrupt PES(FEI6IC , ILVL=Fh e GLVL=2h) : segnala che sono in arrivo i sei

dati riguardanti i servo burst dai quali si ricostruisce il PES

• Interrupt Salva(FEI5IC , ILVL=4h e GLVL=0) : viene generata per salvare i dati

memorizzati nelle strutture dati predisposte

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

R ILVL GLVL IR IE

Page 94: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

96

Registro PECCx (x =0..7) Peripherial Event Controller Control

EOPINT End of PEC Interrupt

Se posto a (0) il livello di priorità alla fine del PEC rimane

inalterat, altrimenti viene aggiornato con un valore contenuto

in un registro apposito.

PLEV PEC level selection

I PEC vengono distinti dai loro livelli di priorità.

INC Increment Control Field

Definisce se si devono aggiornare i puntatori alla sorgente e

destinazionedei PECx

(00) invariati , (01) incrementa destinazione, (10) incrementa

sorgente , (11) incrementa entrambi

BWT Bit or Word Transfer

(0) si trasferice un byte , (1) si trasferisce un word

COUNT PEC Counter

Si imposta il numero di trasferimenti con le eccezioni di

(00) non viene eseguito il PEC ma una semplice interruzione

(FF) trasferimento di dati continuo

Nel lavoro in questione sono presenti due impostazioni PECC uno per trasferire il

dato riguardante la servobanda, l’ altro per i due principali valori dei servoburst (i

rimanenti quattro vengono mascherati).

COUNT

PEC 6

BWT PLEV R INC EOP

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

R

PEC 7 0

0

1

1

0

0

0

0

0

0

0

0

0

0

0

1

2

2

0

2

(PES)

(SERVO BANDA)

3

0

0

1

h

h

Page 95: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

97

REGISTRO EXICON – Extenal Interrupt Control Register

Determina su quale fronte (di salita o di discesa) del segnale di interruzione

viene avviata la routine corrispondente.

EXIxES External Interrupt x Edge Selection

(00) : Interrupt Disabilitato

(01) : Fronte di salita

(10): Fronte di discesa

(11) : Su entrambi

REGISTRO EXISEL – External Interrupt Source Selection

Questo registro definisce quale sarà la sorgente fisica del segnale di interruzione.

EXIxSS External Interrupt x Source Selection

(00) : Ingresso dal pin EXxIN associato all’ interrupt x

(01) : Ingresso da ‘Alternate function’ specifica

(10) : ingresso proveniente da una alternate function in ‘Or’

logico tra EXxIN e ‘Alternate Function’ associate

(11) : come la precedente in questo caso però si esegue un

‘And’

0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0

5 5 0 0 hex

bin

EXI7ES EXI3ES EXI5ES EXI4ES EXI6ES EXI2ES EXI1ES EXI0ES

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 hex

bin

EXI7SS EXI3SS EXI5SS EXI4SS EXI6SS EXI2SS EXI1SS EXI0SS

Page 96: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

98

REGISTRO EBCMOD0 – External Bus Controller Mode Selection

Registro responsabile della configurazione riguardante l’ accesso al bus da

periferiche eterne.

RDYPOL Ready pin polarity

Definisce se il pin relativo al segnale ‘Ready’ è attivo a

livello alto (1) oppure basso (0)

RDYDIS Ready pin disable

(0) : pin ‘Ready’ abilitato , (1) : disabilitato

ALEDIS ALE pin disable

(0) : pin ALE abilitato , (1) : disabilitato

BTYDIS BHE pin disable

(0) : pin BHE abilitato , (1) : disabilitato

WRCFG Write Configuration Control

L’ operazione di scrittura può essere gestita per mezzo dei

segnali /BHE e /WR (0) oppure con /WRH /WRH (1)

EBCDIS EBC pin disable

Se posto a (0) ogni accesso al bus attiva i pin relativi

all’ EBC, altrimenti non vengono alterati (1)

SLAVE Slave bus enable

Il gestore bus può operare in modalità master (0) oppure

slave(1)

ARBEN Bus arbitration pins enable

Il processo di controllo del bus può utilizzare 3 segnali

ulteriori, /HOLD /HLDA /BREQ (0) oppure lasciare i pin

relativi in stato tristate

CSPEN CS pin enable

Con questo campo si selezionano quanti pin di Chip Select

attivare; va da 0h (nessun pin attivato ) a 8h (attivi /CS0-CS7)

APEN Adress pin enable

Con questo campo si selezionano quanti pin del bus indirizzi

attivare oltre ai 16 meno significativi di default; va dal valore

0h a 8h (in quest’ ultimo caso sono attivati 24 bit di indirizzo)

0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0

0 8 8 8 hex

bin

RDY POL CSPEN

ARB EN

WR CFG

RDY DIS

ALE DIS

BYT DIS

EBC DIS

SLAVE APEN

Page 97: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

99

REGISTRO TCONCSx (x=0..7)

L’ accesso alla memoria esterna da parte di periferiche può venire eseguita

anche per mezzo di opportuni controlli di canale messi a disposizione dal DSP. I

segnali in questione sono i Chip Select ai quali sono associati ulteriori registri per

regolare la temporizzazione delle fasi di lettura e scrittura.

Nel progetto è stato adoperato il Chip Select 4.La configurazione qui sotto riportata

si riferisce appunto al TCONCS4.

WRPHFx Write Phase F

Temporizzazione in colpi di clock fase F del pattern di

scrittura

RDPHFx Read Phase F

Temporizzazione in colpi di clock fase F del pattern di lettura

PHEx Phase E

Fase comune alla lettura e scrittura, come del resto anche le

successive

PHDx Phase D

PHCx Phase C

PHBx Phase B

PHAx Phase A

0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1

7 7 0 7 hex

bin

0 PHEx WRPHFx RDPHFx PHDx PHAx PHBx PHCx

Page 98: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

100

REGISTRO FCONCSx (x=0..7) Function Configuration for Chip Select

Channel x

BTYPx Bus Type Selection

Si seleziona la modalità di accesso al bus indirizzi

(00) Demultiplexer a 8 bit

(01) Multiplexer a 8 bit

(10) Demultiplexer a 16 bit

(11) Multiplexer a 16 bit

RDYMOD Ready Mode

Si imposta un segnale di ‘Ready’ asincrono (0) oppure

sincrono (1)

RDYENx Ready Enable

(0) : l’ accesso viene contrallato dal campo PHEx del registro

TCONCSx

(1) : l’ accesso al bus viene controllato anche dal segnale

Ready

ENCSx Enable Chip Select x

Abilita (1) o meno (0) il corrispondente pin di Chip Select

Riassumendo le impostazione adottate per il Chip Select 4 mediante FCONCS4 :

Chip Select attivo sul relativo pin senza l’ uso del segnale Ready in modalità

demultiplexer a 16 bit.

0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1

0 0 2 1 hex

bin

0 BTYPx EN CSx

RDY ENx

RDY MOD 0

Page 99: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

101

REGISTRO ADDRSELx – Address Selection x

Una volta configurato le modalità di accesso al bus non resta altro che definire quale

sia la finestra di memoria esterna a cui si fa riferimento definendo la dimensione e

l’ indirizzo di partenza. Queste informazioni posso essere codificate nel presente

registro.

RGSZ Window Size Range Start Address

0000 4 KB A23 – A12

0001 8 KB A23-A13

0010 16 KB A23-A14

0011 32 KB A23-A15

0100 64 KB A23-A16

0101 128 KB A23-A17

0110 256 KB A23-A18

0111 512 KB A23-A19

1000 1 MB A23-A20

1001 2 MB A23-A21

1010 4 MB A23.A22

1011 8 MB A23

11xx Riservato

Nel lavoro si vuole usare una finestra di 4 Kbyte (dimensione minima) che

parta dall’ indirizzo 014000h. Si selezioni percui il valore 0000 su RGSZ. Servono 12

bit per chiarire quale sia l’ indirizzo di partenza si prende percui 014h come

definizione del campo RGSAD.

0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0

0 1 4 0 hex

bin

RGSAD RGSZ

Page 100: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

102

Come ultime impostazioni si menzionano quelle relativa alla porta SSC usata per

mettere in comunicazione l’ accelerometro L6671 con la scheda Super 10.

REGISTRO SSCCON – Synchronous Serial Channel Control Register

Questo registro ha una duplice configurazione dei campi a seconda del valore

del suo bit più significativo SSCEN. Di seguito si riportano entrambe le codifiche.

SSC EN SSC Enable Bit = ‘0’

Se questo campo è posto a (0) la trasmissione e ricezione

sono disabilitate e i campi seguenti svolgono funzioni di

impostazioni per la comunicazione seriale

SSCMS SSC Master Select Bit

(0) : SSC in modalità slave: in SCLK entra il clock

(1) : SSC in modalità master: in SCLK esce il clock

SSCAREN SSC Automatic Error Bit Enable

Se posto a (1) resetta automaticamente la seriale in caso di

errore da parte del Baud Rate Generator

SSCBEN SSC Baud Rate Error Check Enable Bit

Se posto a (1) verifica la natura eventuale di un eventuale

errore proveniente dal Baud Rate Generator

SSCPEN SSC Phase Error Check Enable Bit

Se posto a (1) verifica il regolare svolgimento delle fasi di

trasferimento della seriale.

SSCREN SSC Receive Error Check Bit Enable

Se posto a (1) controlla se si sono verificati errori in fase di

ricezione

SSCTEN SSC Transmit Error Check Bit Enable

Se posto a (1) controlla se si sono verificati errori in fase di

trasmissione

SSCLB SSC Loop Back Bit

0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1

4 0 5 F hex

bin

SSC EN=0

SSC TEN

SSC BEN

SSC MS R

SSC AREN

SSC PEN

SSC REN SSCBM

SSC LB

SSC PO

SSC PH

SSC HB

Page 101: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

CONFIGURAZIONE REGISTRI SUPER 10

103

(0) : input e output separati (‘normal output’ )

(1) : il pin di input e quello di outout coincidono (‘half

duplex mode’ )

SSCPO SSC Clock Polarity Control Bit

(0): clock a livello logico basso in fase di attesa

(1) : clock a livello logico alto in fase di attesa

SSCPH SSC Clock Phase Control Bit

(0) : Trasmissione sul fronte di attivazione del clock,

ricezione sull’ altro fronte

(1) : ricezione sul fronte di attivazione del segnale di clock,

trasmissione sull’ altro

SSCHB SSC Heading Control Bit

Trasmissione prima del LSb (0) o del MSb (1)

SSCBM SSC Data Width Selection

(0h) : riservato

(1h) – (Fh) : la dimensione del dato trasferito è (SSCBM+1)

Ricapitolando le impostazioni si è scelto di trasmettere in modalità half duplex un

dato di 16 bit.

Il clock in attesa è alto la ricezione avviene sui fronti di salita e la trasmissione sui

fronti di discesa.

Si riporta ora la configurazione che assume il registro SSCCON quando SSC EN = 1

SSC EN SSC Enable Bit = ‘1’

Se questo campo è posto a (1) la trasmissione e ricezione

sono abilitate e i campi seguenti svolgono funzioni di flag di

stato di controllo della porta seriale

SSCMS SSC Master Select Bit

Stessa funzione nel caso SSCEN=0

SSCBSY SSC Busy Flag

(0) : la linea serial è in attesa

(1) : la linea seriale è occupata

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 bin

SSC EN=1

SSC TE

SSC BE

SSC MS R

SSC BSY

SSC PE

SSC RE SSCBC R

Page 102: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE A

104

SSCBE SSC Baud Rate Error Flag

Se posto a (1) verifica c’ è stato un errore nel Baud Rate

Generator

SSCPE SSC Phase Error Flag

Se posto a (1) si è verificato un errore nella fase di ricezione

del dato.

SSCRE SSC Receive Error Flag

Se posto a (1) significa che è arrivato un dato prima che

venisse letto il buffer di ricezione.

SSCTE SSC Transmit Error Flag

Se posto a (1) significa che è stata effettuata una trasmissione

prima che il buffer di trasmissione sia stato aggiornato

SSCBC SSC Bit Count Field

Contatore dei bit trasferiti; va usato in sola lettura

I campi SSCBSY e SSCBC sono a sola lettura.

Page 103: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

105

APPENDICE B

LISTATO DEL PROGRAMMA ASSEMBLY

Si riporta di seguito la parte più significativa del listato del programma usato.

;------------------------------------------------------------------------; ; ; ; ; ; ADAPTATIVE COMPENSATION IN HDD SERVO LOOP ; ; ; ; ; ; COPYRIGHT University of Padova, ALL RIGHT RESERVED. ; ; ; ; ; ;----------------------------------------------------------------------- ; ; Title : feedf_acc_SM.ASM ; ; Project : Changed1 ; ; File : Feedf_acc_ff_SM.ASM ; ; --------------------------------------------------------------------- ; ; Promemoria : P2.8 si collega a int Gray da Altera pin Varie. ; ; P2.0 in input collegato al general BUSY degli ADC(tramite partitore); ; P2.1 output per il CK scheda AD-DA ; ; P2.4 in input da SW0 per compensazione on/off; ; A3,A4 e A5 alla scheda AD-DA ; ; P3.13 SPC ; Tx-Rx SPD ;; P2.2 SPE ;

; Uscita DAC1 : comando per HDD su BNC2 Altera; ; CHIP SELECT 4 a \CS della scheda DAC e ADC ; ;------------------------------------------------------------------------;

$SEGMENTED $EXTEND2INIT_RB REGDEF R0-R15INTEXT REGDEF R0-R15REG_CTRL REGDEF R0-R15CONTESTOADATT REGDEF R0-R15

global INIT_PROCglobal TRACK_PROC0global TRACK_PROC1 SSKDEF 1

;file DATI.ASMEXTERN DPP1:DATA_INPUT_OFF:WORD ;SECTION DATA CONN3BUFFEREXTERN DPP1:DAC_3:WORDEXTERN DPP1:ADC_1:WORDEXTERN DPP1:ADC_2:WORDEXTERN DPP1:DAC_1:WORDEXTERN DPP1:DAC_2:WORD

[…];===============================================================; DICHIARAZIONE VARIABILI DELLA PARTE ALGORITMICA DI ADATTAMENTO;===============================================================

EXTERN DPP3:DebugFlag:WORDEXTERN DPP3:DF2:WORD

EXTERN DPP2:PES_After:WORDEXTERN DPP2:ACC_After:WORDEXTERN DPP2:AdGain_After:WORDEXTERN DPP2:CODA_END2:WORD

Page 104: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

106

EXTERN DPP2:MEMOEQM:WORDEXTERN DPP2:SUMEQM:WORD

EXTERN DPP2:COUNTER_ONE:WORDEXTERN DPP2:COUNTER_TWO:WORDEXTERN DPP2:COUNTER_SAVE:WORDEXTERN DPP2:COUNTER_SAVE_I:WORDEXTERN DPP2:EQM:WORD

EXTERN DPP2:KOA:WORD

EXTERN DPP3:S1Gout:WORDEXTERN DPP3:S2Gout:WORDEXTERN DPP3:S3Gout:WORD

EXTERN DPP3:CC2Gout:WORDEXTERN DPP3:CC3Gout:WORD

EXTERN DPP3:CD1Gout:WORDEXTERN DPP3:CD2Gout:WORDEXTERN DPP3:CD3Gout:WORD

EXTERN DPP2:Pa:WORDEXTERN DPP2:Weights:WORDEXTERN DPP2:Weights_1:WORDEXTERN DPP2:AccPast:WORDEXTERN DPP2:EstimateD:WORDEXTERN DPP2:DelayV:WORDEXTERN DPP2:CountDown:WORDEXTERN DPP2:Accelerometro_1:WORD

;===============================================

;ADDRSEL1 per la comunicazione con l'ALTERAADDRWINDOW1SIZE EQU 00hADDRWINDOW1START EQU 0140h

; traccia per il track following ===============track_in EQU 3000hTRPIU1 EQU 3001hTRMENO1 EQU 2FFFh; ==============================================

filter_on EQU 0 ; 0 = off 1 = onCHANGE_INTERNAL_IIR EQU 0 ; 0 = off 1 = on

; ==============================================; COEFF HDD; ==============================================

[…];========================================================================;Costanti relative a IVC;========================================================================

[…];=========================================================

Kff EQU 0418h ; è KffBest

;============================================================;============================================================; COSTANTI DELLA PARTE ALGORITMICA DI ADATTAMENTO;============================================================

AdaptationGain2 EQU 110h;;------------------------------------; a seconda dell'ordine del filtro bisogna; cambiare l'adaptationgain2;------------------------------------

ThresholdPESH EQU 07aeh ; calcolati al 3 sigma del PESThresholdPESL EQU 0f70ah ; calcolati al 3 sigma del PES

Page 105: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

107

ThresholdAccH EQU 51eh ;ThresholdAccL EQU 0fae1h ;

MAXACCE EQU 0A00h ;MINACC EQU 0F500h ;

ThresholdEQM EQU 126h ;ThresholdEQMWarning EQU 7000h ;

MAXWEIGHT EQU 0CCCh ;MINWEIGHT EQU 0F333h ;

MAXINC EQU 147h ;MININC EQU 0FEB8h ;

MAXEQMPES EQU 2001h ;MAXABSPES EQU 1000h ;

MAXPES EQU 4000h ;MINPES EQU 0C000h ;

ACCINCH EQU 3d7h ;ACCINCL EQU 0FC28h ;

NWeightsCost EQU 40 ; ORDINE FIR = NWeigthCost -1 ;NMA_1 EQU 19 ;

DelayA EQU 50 ;Leaky EQU 7fdfh ; il fattore di Leaky è .999

NIR EQU 0 ; New IIR Rac

;============================================================;============================================================

INIT_CODE SECTION CODE GLOBAL 'ROM'

ASSUME DPP0:TRACK_PROC0,DPP1:NOTHING,DPP2:NOTHING,DPP3:SYSTEM

INIT_PROC PROC FAR

DISWDTBCLR IEN

;============================================================; CONFIGURAZIONE DEI DPP

MOV R0,#300hMOV DPP0,R0 ; 11 0000 0000 : C0 0000...C0 3FFF

MOV R0,#05hMOV DPP1,R0 ; 00 0000 0101 :01 4000...01 7FFF

MOV R0,#02hMOV DPP2,R0 ; 00 0000 0010 : 00 8000...00 BFFF

MOV R0,#03hMOV DPP3,R0 ; 00 0000 0011 : 00 C000...00 FFFF

; =====================================================================; CONFIGURAZIONE DEI BUS;======================================================================

;EBCMOD0 -------------------------------------------- MOV R0,#0888h MOV EBCMOD0,R0

; =====================================================================; CONFIGURAZIONE DEI BUS; BUS 0 ==> CS0;======================================================================

; TCONCS0 --------------------------------------------MOV R0,#0040h

Page 106: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

108

MOV TCONCS0,R0;FCONCS0 ----------------------------------------------

MOV R0,#0021hMOV FCONCS0,R0

; =====================================================================; CONFIGURAZIONE DEI BUS; BUS 1 ==> CS1;======================================================================;ADDRESEL1 ---------------------------------------------

MOV R0, #ADDRWINDOW1SIZE + (ADDRWINDOW1START)MOV ADDRSEL4,R0 ;1

; TCONCS1 --------------------------------------------MOV R0, #7707hMOV TCONCS4,R0

;FCONCS1 ----------------------------------------------MOV R0,#0021hMOV FCONCS4,R0

;------------------------------------------------------NOP

;===================================EINIT

;===================================NOP

MOV CP , #INIT_RBNOP

; FINE PROCEDURA INIZIALIZZAZIONE

;================================================================================; SSC REGISTER;================================================================================

MOV R0,#405FhMOV SSCCON,R0MOV R0,#01h ;BAUD RATE TIMER RELOAD REGISTER 01hMOV SSCBR,R0MOV R0,#8000hOR SSCCON,R0

;=====================================================================================; INIZIALIZZAZIONE PORT 2: INPUT P2.0 riceve il Busy dal partitore; OUTPUT P2.1 per abilitazione start_conversion ADC1; OUTPUT P2.2 Enable per il RAC; INPUT P2.4 compensazione f.f. on/off switch 0; INPUT P2.5,P2.6,P2.7 variabile da visualizzare switch 1, 2 e 3.; INPUT P2.8 <== INT0 ,P2.9 <== INT1; INPUT P2.10 blocca adattamento (seconda serie switch); INPUT P2.11 switch libero; INPUT P2.12 switch libero; INPUT P2.13 switch libero;==================================================================================== BFLDL DP2,#0FFh,#0Eh BFLDH DP2,#0FFh,#00h

;=====================================================================================; INIZIALIZZAZIONE PORT 3: OUTPUT P3.1 P3.0;==================================================================================== BFLDL DP3,#1fh,#0Fh BFLDL P3,#0Fh,#0Fh BFLDH DP3,#22h,#22h BFLDH P3,#22h,#22h MOV R0,#220Fh

MOV ODP3,R0;=============================================================

BFLDH MCW,#6h,#4h;=============================================================

;========================================================================;Configurazione registri per la gestione della seek (nella procedura sperem);========================================================================

SCXT CP , #REGSEEK

[…]POP CP

Page 107: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

109

;========================================================================;Configurazione registri per la gestione del filtro notch e del repetitive;========================================================================

SCXT CP , #FEED

[…]POP CPNOP

;========================================================================;Configurazione registri per la gestione del Track Following;========================================================================

;Inizializzazione puntatori e registriSCXT CP , #REG_CTRL ;Registri:

[…];Inizializzazione variabili stimatore

[…]POP CP

NOP;fine inizializzazione

;========================================================================;--- Configurazione fase rilievo comando medio ------

;======================================================================== SCXT CP , #REGSETOFF

[…] pop CP

;----------------------------------------------------

;Configurazione REGISTRI INTERRUPTEXTR #1BFLDL EXICON, #0Fh, #05h ; salita gray - discesa abcd

;========================================================================;Configurazione registri per la gestione dell'interrupt 0 (Lettura servobanda);========================================================================

SCXT CP , #INTEXT1NOPMOV R0 , #21845MOV R1 , #TRMOV R2 , #0MOV R3 , R0SHL R3 , #1MOV R11 , #PRE_TRACK

BSET P2.2MOV R4,#6420h ; VALORE DI INIZ. PER IL CTRL_REG1 DEL L6671

; (#20h = 0010 0000b) per clock agganciato tramite PLL al pin ;CLK_IN; #64h E': 0b PER OP. DI WRITE SUL CHIP, 110b IDENT. DEL L6671,; 0100b PER IL CODICE DEL CTRL_REG1

MOV SSCTB,R4 ; PASSA IL VALORE AL TRASMITTER BUFFER REGISTERNOPNOPNOPNOPNOP

WAIT2 :NOPJB SSCBSY , WAIT2 ; ASPETTA CHE L'OPERAZIONE DI TRASMISSIONE SIA COMPLETATA.BCLR P2.2NOPBSET P2.2

;________________________________________________;; #6502 se voglio abilitare il filtro IIR ;; #6506 se si vuole disabilitare il filtro IIR ;;________________________________________________;

MOV R4 , #NIRCMP R4 , #0JMPR cc_NE , NIRlabelMOV R4, #6502h ; #65h E': 0b PER OP. DI WRITE SUL CHIP, 110b PER IL CODICE DEL L6671,; 0101b PER IL CODICE DEL CTRL_REG2; (#06h = 0000 0110b CONSIGLIATO PER COMPATIBILITA' CON IL L6670)JMPR NoNIRlabel

NIRlabel : MOV R4, #6506h ;

Page 108: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

110

NoNIRlabel: MOV SSCTB,R4 ; PASSA IL VALORE AL TRASMITTER BUFFER REGISTERNOPNOPNOPNOPNOP

WAIT_L6671: NOPJB SSCBSY , WAIT_L6671

; ASPETTA CHE L'OPERAZIONE DI TRASMISSIONE SIA COMPLETATA.

; ----------- scrittura registro di offset del RAC ----------------BCLR P2.2NOPNOPBSET P2.2MOV R4,#6F21h ; registro MISC, seleziona il banco 2 di registriMOV SSCTB,R4NOPNOPNOPNOPNOP

WAIT_banco1:NOPJB SSCBSY , WAIT_banco1

; ASPETTA CHE L'OPERAZIONE DI TRASMISSIONE SIA COMPLETATA.NOPNOPBCLR P2.2NOPNOPNOPNOPBSET P2.2MOV R4,#6A86h ; scrivo nel LSB del registro di regolazione OFFSETMOV SSCTB,R4NOPNOPNOPNOPNOP

WAIT_6A : NOPJB SSCBSY , WAIT_6ANOPNOPNOPBCLR P2.2NOPNOPBSET P2.2MOV R4,#6BFFh ; scrivo nel MSB del registro di regolazione OFFSETMOV SSCTB,R4NOPNOPNOPNOPNOP

WAIT_6B : NOPJB SSCBSY , WAIT_6BNOPNOPNOPBCLR P2.2

;------------------------------------------NOPNOPBSET P2.2MOV R4,#6F20h; registro MISC, RIseleziona il banco 1 di registriMOV SSCTB,R4NOPNOPNOPNOPNOP

WAIT_banco0:NOPJB SSCBSY , WAIT_banco0BCLR P2.2NOP

Page 109: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

111

NOP; ----------------- INIZIALIZZAZIONE ELEMENTI DELLA TABELLA_PTR ------------------------

MOV R4 , #Weights ; SW3 SW2 SW1MOV TABELLA_PTR,R4 ; Weights 0 0 0MOV R4 , #DebugFlag ;MOV TABELLA_PTR+2 ,R4 ; DebugFlag 0 0 1MOV R4 , #pesprefiltro ;MOV TABELLA_PTR+4 ,R4 ; Pes 0 1 0MOV R4 , #DF2 ;

MOV TABELLA_PTR+6 ,R4 ; DF2 0 1 1MOV R4 , #Pa ;MOV TABELLA_PTR+8 ,R4 ; Pa 1 0 0MOV R4 , #EQM ;

MOV TABELLA_PTR+10 ,R4 ; EQM 1 0 1MOV R4 , #SUMEQMMOV TABELLA_PTR+12 ,R4 ; SUMEQM 1 1 0MOV R4 , #accelerometroMOV TABELLA_PTR+14 ,R4 ; ACCELE 1 1 1

;-----------------------------------------------------------------------------------------MOV R4 , #0MOV S0 , R4 ; inizializzazione variabili di stato filtraggio IIR Tempo-inMOV S1 , R4MOV S2 , R4MOV S3 , R4MOV S4 , R4MOV S5 , R4MOV S6 , R4

MOV R4 ,#24449MOV N0 , R4

MOV R4 ,#1427 MOV N1 , R4MOV R4 ,#-17150MOV N2 , R4MOV R4 ,#-4894MOV N3 , R4

MOV R4 ,#3550MOV N4 , R4

MOV R4 ,#2021MOV N5 , R4

MOV R4 ,#292MOV N6 , R4

MOV R4 , #21592MOV D1 , R4MOV R4 , #-14866MOV D2 , R4MOV R4 , #3727MOV D3 , R4MOV R4 , #-976MOV D4 , R4MOV R4 , #291 ; -(-3.5567e-6)*8192MOV D5 , R4MOV R4 , #0MOV D6 , R4

;=================================================================; INIZIALIZZAZIONE DEI PARAMETRI ADATTAMENTO;================================================================= ;---------------------------------------------------

; INIZIALIZZAZIONE VARIABILI Gout ; ATTENZIONE SI REALIZZA IN EFFETTI Gout/16 ; PER RAPPRESENTARE IN MODO IMMEDIATO I COEFFICIENTI ;---------------------------------------------------

MOV R4 , #0hMOV S1Gout , R4MOV S2Gout , R4MOV S3Gout , R4

MOV R4 , #675EhMOV CC2Gout , R4

Page 110: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

112

MOV R4 , #0AB31hMOV CC3Gout , R4

MOV R4 , #26A4hMOV CD1Gout , R4MOV R4 , #8FCFhMOV CD2Gout , R4MOV R4 , #498EhMOV CD3Gout , R4

;--------------------------------------------------- ; INIZIALIZZAZIONE VARIABILI NIR

;---------------------------------------------------

MOV R4 , #0hMOV S1NIR , R4MOV S2NIR , R4MOV S3NIR , R4

MOV R4 , #4ce8hMOV CC2NIR , R4MOV R4 , #0c7bdhMOV CC3NIR , R4

MOV R4 , #79chMOV CD1NIR , R4MOV R4 , #0f39hMOV CD2NIR , R4MOV R4 , #79chMOV CD3NIR , R4

;--------------------------------------------------- ; INIZIALIZZAZIONE FINESTRA MEDIA MOBILE ;---------------------------------------------------

PUSH R0MOV R0 , #NMA_1; NMA_1 è il numero di camp. presi nella media mobile meno unoMOV R4 , #0h ;MOV SUMEQM , R4 ; AZZERA SUMEQMMOV R11 , #SUMEQM ;MOV R4 , #MEMOEQM ;

CyMA: CMP R0 , #0 ;JMPR cc_EQ,ExCyMA ;MOV [R4+] , [R11] ; AZZERA MEMOEQM(i)SUB R0 , #1 ;JMPR CyMA ;

ExCyMA:POP R0

;-----IMPOSTAZIONE REGISTRO Kind Of Adaptation---------------------------------; KOA.0 Tipo di Adaptation Gain : (0) = COSTANTE ,(1) = VARIABILE

;(cioè adaptationgain2=SUMEQM); KOA.1 Inserimento Gout : (0) = OFF ,(1) = ON; KOA.2 Abilitazione soglia EQM : (0) = disattivata ,(1) = attivata; KOA.3 Saturazione incremento : (0) = OFF ,(1) = ON; KOA.4 Saturazione del peso : (0) = OFF ,(1) = ON; KOA.5 Soglie accelerometro : (0) = OFF ,(1) = ON; KOA.6 Attivazione WaitWindow : (0) = OFF WW (adatt da subito) , (1) = ON

;Adattamento dalla seconda finestra temporale; KOA.7 Abilitazione Ritardo : (0) = OFF ,(1) = ON; KOA.8 Abilitazione Leaky : (0) = OFF ,(1) = ON; KOA.9 Disabilita Adattamento : (0) = Adatt. ON ,(1) = Adatt. OFF; KOA.10 Abilitazione Filtro incrementi accelerometro : (0) = OFF , (1) = ON; KOA.11 Saturazione Accelero. : (0) = OFF , (1) = ON; KOA.12 Usa PES esteso : (0) = OFF , (1) = ON; KOA.13; KOA.14 Flag che segnala l'abilitazione della seconda finestra temporale : Da impostareinizialmente a zero; KOA.15 Flag che segnala quando è stato effettivamente adattato il filtro : Da impostareinizialmente a zero;----------------------------------------------------------------------------- BFLDL R4 , #0FFh , #06h

BFLDH R4 , #0FFh , #06hMOV KOA , R4

Page 111: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

113

;---------------------------------------- ; Inizializzazione dei contatori ;----------------------------------------

MOV R4 , #2hMOV COUNTER_ONE , R4

MOV R4 , #010MOV COUNTER_TWO , R4MOV R4 , #19MOV COUNTER_SAVE , R4MOV R4 , #ACC_AfterMOV COUNTER_SAVE_I , R4MOV R4 , #0hMOV DF2 , R4MOV Accelerometro_1 , R4MOV R4 , #DelayAMOV DelayV , R4

;------------------------------------------------------------------------------ ; Inizializzazione a zero dei pesi ;------------------------------------------------------------------------------

MOV R4 , #NWeightsCostMOV R11 , #WeightsPUSH R12PUSH R13PUSH R14PUSH R15

MOV R12 , #Weights_1MOV R13 , #AccPastMOV R14 , #Pa

LoopAzzera : CMP R4 , #0 JMPR cc_EQ , FineLoopAzz MOV [R11] , R2 ; in R2 c è 0

MOV [R12] , R2MOV [R13] , R2MOV [R14] , R2ADD R11 , #2

ADD R12 , #2 ADD R13 , #2 ADD R14 , #2 SUB R4 , #1 JMPR LoopAzzera

FineLoopAzz:

;------------------------------------------------------------------------------ ; Inizializzazione del contesto di adattamento ;------------------------------------------------------------------------------

SCXT CP , #CONTESTOADATTMOV R5 , KOAMOV R8 , #0MOV R12, DF2POP CP

;=========================================================================; FINE INIZIALIZZAZIONE PARAMETRI ADATTAMENTO;=========================================================================

MOV R4,#0E000h; prepara il comando per la lettura del RAC in R4NOP

MOV R11 , #PRE_TRACKPOP R15

POP R14POP R13POP R12POP CP

NOP;========================================================================;Configurazione registri per INTERRUPT SEEK RIPETUTE;======================================================================== SCXT CP , #REG_RSEEK

[…]POP CP

Page 112: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

114

;CONFIGURA INTERRUPT P2.8 MOV R0, #7fh ;7f MOV FEI0IC ,R0 ; LEVEL 15 PRIORITY 3

MOV PECC7 , #01hMOV R0,#0100hMOV PECSEG7,R0MOV R0,#TRMOV DSTP7,R0

MOV R0,#DATA_INPUT_OFF ;dichiarata all'inizio per risolvere prob.indirizzoMOV SRCP7,R0NOP

;CONFIGURA INTERRUPT P2.9 MOV R0, #3eh MOV FEI1IC ,R0 ; LEVEL 15 PRIORITY 2

MOV PECC6 , #202h ;202 due copie e incr dest.MOV R0,#0100hMOV PECSEG6,R0MOV R0,#PESABMOV DSTP6,R0

MOV R0,#DATA_INPUT_OFFMOV SRCP6,R0NOP

;CONFIGURA INTERRUPT sperem

MOV R0, #50h ;4c MOV FEI4IC ,R0 ; LEVEL 4 PRIORITY 0

;CONFIGURA INTERRUPT salva

MOV R0, #48h ;5c MOV FEI5IC ,R0 ; LEVEL 2 PRIORITY 0

;CONFIGURA INTERRUPT RIPSEEK

MOV R0, #4Ch ;6c MOV FEI6IC ,R0 ; LEVEL 3 PRIORITY 0

;Puntatori coda salvataggio dati

MOV R0,#CODA_PES MOV R1,#CODA_TR

MOV R2,#CODA_END1 MOV R12,#CODA_VAR2A MOV R13,#CODA_VAR2B

;============================================== ; Variabili salvate ;==============================================

;SALVATO SU CODA_TR ====================MOV R7 , #accelerometro ;#TR;=======================================;SALVATO SU CODA_PES ====================MOV R4 , #pesprefiltro;========================================; Impostazione delle variabili ausiliare che si desidera memorizzareMOV R8 , #DebugFlag ;questo è per CODA_VAR2AMOV R9 , #Weights ;questo è per CODA_VAR2B;=======================================

MOV R5 , #1MOV R10, #250 ; QUANDO ESEGUE IL SALVATAGGIOMOV R11 , #CODA_PES+100 ; PUNTO DI CAMBIO TRACCIANOPBSET IENNOPNOP

ciclo: NOP ; CICLO DURANTE IL QUALE ASPETTANO GLI INTERRUPTJMPR cicloRETS

INIT_PROC ENDP

;===================FINE MAIN PRG===========================================

Page 113: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

115

TRACK_PROC0 PROC TASK EXTINT_TASK_0 INTNO EXTINT_INUM_0 = 018h

NOPNOPNOPBSET P2.2 ; ENABLE PER LA SERIALE

NOPNOP

BFLDL FEI0IC , #0C0h , #00h ;disabilita la routine di lettura tracciaSCXT CP , #INTEXT1

NOP MOV PECC7 , #01h BFLDL FEI1IC , #0C0h , #40h ;ABILITAZIONE INTABCD e IR==0

;--- Servobanda -->TracciaCOMUL R0 , [R1]costore [R11] , MAHCOADD R3 , R2;---COSTORE [R1],MAHMOV SSCTB,R4 ;SERIALENOPNOPNOPNOPNOPPOP CPRETITRACK_PROC0 ENDP

PROC_PARI PROC NEARSHR R9 , #1JMPR cc_C , PES_OKNEG R11NEG R8

PES_OK: XOR R9 , R9COLOAD R9 , R8COABSCOSUB R9 , R11JNB MSW.8 , P23 ;BIT NEGATIVEMOV R11 , R8RET

P23: SUB R11 , #unterzoCMP R8 , R9JMPR cc_N , ABNEGNEG R11

ABNEG: RETPROC_PARI ENDP

PROC_DISPARI PROC NEAR SHR R9 , #1JMPR cc_NC , PESD_OKNEG R8NEG R11

PESD_OK: XOR R9 , R9 COLOAD R9 , R11COABSCOSUB R9 , R8JNB MSW.8 , PD23NEG R11RET

PD23: COADD R9 , R8COSTORE R14 , MAHCOLOAD R9 , R8COABSCOSUB R9 , R14JNB MSW.8 , PD23_2SUB R8 , #unterzoCMP R11 , R9JMPR cc_NN , DCMAG0NEG R8

DCMAG0: MOV R11 , R8RET

PD23_2: MOV R9, PRE_TRACKCMP R9, TRJMPR cc_EQ , CDMAG0XOR R9, R9

Page 114: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

116

SUB R11 , #dueterziRET

CDMAG0: ADD R11 , #dueterziXOR R9, R9RET

PROC_DISPARI ENDP

TRACK_PROC1 PROC TASK EXTINT_TASK_1 INTNO EXTINT_INUM_1 = 019h

;SALVATAGGIO REGISTRI MAC - PER EVITARE PERDITE DI DATI NELL'ATTIVAZIONE DI SPEREMPUSH MSWPUSH MAHPUSH MALPUSH MDHPUSH MDL

;--------------------------------------; ALGORITMO DI CONTROLLO;--------------------------------------

SCXT CP , #REG_CTRL

[…]COSTORE R14 , MAH ; Salva il comando per liberare l'accumulatoreMOV U_nocomp , R14 ; Copia il comando non compensato in TABELLA_PTR

; ------------------- SERIALE ---------------------------------WAIT_ME: NOP

JB SSCBSY , WAIT_ME ; ASPETTA CHE L'OPERAZIONE DI TRASMISSIONE SIA COMPLETATA.NOPMOV R9,SSCRBNOP

BFLDH R9, #0FFh, #00h ; CANCELLA BYTE PIU' SIGNIFICATIVO CMP R9, #0080h

JMPR cc_NZ,acc_ok ; SE CODICE VALIDO, MEMORIZZALOMOV R9, last_RAC ; SE CODICE NON VALIDO, USA IL COMANDO PRECEDENTE

acc_ok: MOV last_RAC, R9 ; aggiorna last_RAC BCLR P2.2 ; DISABLE PER LA SERIALE

;-------FILTRO NEW IIR RAC----------------------------

MOV accelerometro , R9

PUSH IDX1 PUSH R4 PUSH R2 PUSH R8 MOV R4 , #NIR CMP R4 , #0 JMPR cc_EQ , SkipNIR

MOV IDX1 , #S2NIR MOV R4 , #CC2NIR CoMUL [IDX1+] , [R4+] ; ACC = S2Gout * CC2Gout CoSHL #1h ; ACC = 2*(S2Gout*CC2Gout)

ASHR R9 , #1h ; scalamento ingresso di 2 CoADD R8 , R9 ; ACC = accelerometro+2*(S2Gout*CC2Gout)

MOV IDX1 , #S3NIR MOV R4 , #CC3NIR COMAC [IDX1] , [R4] ; ACC = accelerometro+2 * (S2Gout*CC2Gout)+S3Gout*CC3Gout

COSTORE R2 , MAH ; MOV S1NIR , R2 ; S1Gout=accelerometro*CC1Gout+2*(S2Gout*CC2Gout)+

+S3Gout*CC3Gout MOV R4 , #CD3NIR COMUL [IDX1+] , [R4+] ; ACC = CD3Gout * S3Gout COMACM [IDX1+] , [R4+] ; ACC = CD3Gout* S3Gout+CD2Gout*S2Gout; S3Gout <- S2Gout COMACM [IDX1+] , [R4+] ; ACC = CD3Gout* S3Gout+CD2Gout*S2Gout+CD1Gout*S1Gout ;

e S2Gout <- S1Gout COSHL #1h ; Scalamento dell'uscita COSTORE R4 , MAH ; Pa = CD3Gout*S3Gout+CD2Gout*S2Gout+ CD1Gout * S1Gout;

MOV Accelerometro , R4

Page 115: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

117

SkipNIR: POP R8 POP R2 POP R4 POP IDX1

;=============================================================================================; ADATTAMENTO;=============================================================================================

SCXT CP , #CONTESTOADATT PUSH IDX1 MOV R0 , #Weights ; Weights === Weigths(k) MOV R1 , #Weights_1 ; Weights_1 === Weights(k+1) MOV R5 , KOA ; registro kind of adapt. BCLR R5.15 ;questo bit segnala quando è stata effettuata un passo di adattamento MOV R6 , #NWeightsCost ; MOV R9 , accelerometro ; MOV R11 , pesprefiltro ; MOV R12, DF2 ; DF2 contatore di eventi

;------------------------------------------------------------------------; Aggiornamento Pa a AccPast;------------------------------------------------------------------------

CMP R6 , #1 JMPR cc_EQ , OnlyG MOV R4 , #Pa ADD R4 , #NWeightsCost-2 ADD R4 , R6 MOV R7 , R4 SUB R7 , #2 MOV R14 , #AccPast ADD R14 , #NWeightsCost-2 ADD R14 , R6 MOV R15 , R14 SUB R15 , #2

CyAggPaAcc: CMP R6 , #1h ; JMPR cc_EQ, ExCyAggPaAcc ; MOV [R4],[R7] ; MOV [R14],[R15] ; SUB R4 , #2 SUB R7 , #2 SUB R14 , #2

SUB R15 , #2 SUB R6 , #1 JMPR CyAggPaAccExCyAggPaAcc: MOV R6 , #NWeightsCostOnlyG :

;------------------------------------------------------------------------; FILTRO SUGLI INC ACCELEROMETRO;------------------------------------------------------------------------

JNB R5.10 , DisableACCINCMOV R4 , AccelerometroMOV R7 , Accelerometro_1SUB R7 , R4

CMP R7 , #ACCINCHJMPR cc_SGT , SkipACCINC ; saltando a questa label si mantiene in

;AccPast il valore memorizzato in precedenza (Accelerometro(i-1))CMP R7 , #ACCINCLJMPR cc_SLT , SkipACCINC ; " " " "

DisableACCINC: MOV AccPast, R9SkipAccInc :

MOV R9 , accelerometroMOV Accelerometro_1 , R9

;------------------------------------------------------------------------; SATURAZIONE DEL'ACCELEROMETRO;------------------------------------------------------------------------

JNB R5.11, NoSatAcc ;COLOAD R8 , R9 ;MOV R3 , #MINACC ;

Page 116: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

118

COMAX R8 , R3 ; /------MAXACCMOV R3 , #MAXACC ; /COMIN R8 , R3 ; MINACC---/

COSTORE R9 , MAH ;MOV accelerometro , R9 ;

NoSatAcc :;------------------------------------------------------------------------; Filtro Gout : ( Pa = GOUT * Acceler ); ---------; Accelerom ---| Gout |--- Pa; ---------;------------------------------------------------------------------------

MOV IDX1 , #S2Gout MOV R4 , #CC2Gout CoMUL [IDX1+] , [R4+] ; ACC = S2Gout * CC2Gout CoSHL #1h ; ACC = 2*(S2Gout*CC2Gout)

ASHR R9 , #2 ; scalamento ingresso di 2 CoADD R8 , R9 ; ACC = accelerometro+2*(S2Gout*CC2Gout)

MOV IDX1 , #S3Gout MOV R4 , #CC3Gout COMAC [IDX1] , [R4] ; ACC = accelerometro + 2 * (S2Gout*CC2Gout) +

;S3Gout*CC3Gout JNB MSW.14 , NoOverFlowS1;Ciclo di controllo overflow parziale dello stato 1 ADD R12 , #1h ; MOV DF2 , R12 ;

NoOverFlowS1: ; COSTORE R2 , MAH ; MOV S1Gout , R2 ; S1Gout = accelerometro*CC1Gout + 2 *

;*(S2Gout*CC2Gout) + S3Gout*CC3Gout MOV R4 , #CD3Gout COMUL [IDX1+] , [R4+] ; ACC = CD3Gout*S3Gout COMACM [IDX1+] , [R4+] ; ACC = CD3Gout*S3Gout+CD2Gout*S2Gout;S3Gout<- S2Gout COMACM [IDX1+] , [R4+] ; ACC = CD3Gout*S3Gout+CD2Gout*S2Gout+CD1Gout*S1Gout

; e S2Gout <- S1Gout COSHL #2 ; Scalamento dell'uscita COSHL #1 ; per fare in modo che il Pa ha circa la stessa

;entità ai 100 Hz del segnale accelerometro (sperimentalmente) COSTORE R4 , MAH ; Pa = CD3Gout* S3Gout + CD2Gout * S2Gout + CD1Gout *

S1Gout ; NEG R4 ; MOV Pa , R4

;------------------------------------------------------------------------; CALCOLO ERRORE QUADRATICO MEDIO;------------------------------------------------------------------------

MOV R2 , #EQM ; COMUL R11 , R11 ; PES^2 COSHR #2 ; PES^2/4 COSTORE [R2] , MAH ;

;------------------------------------------------------------------------; CALCOLO SUMEQM;------------------------------------------------------------------------

MOV R2 , #MEMOEQMMOV R3 , EQMMOV R10, #MAXSUMPESMOV R6 , #NMA_1

CySUMPES: CMP R6 , #0JMPR cc_EQ , ExCySUMPESADD R3 , [R2+]JMPR cc_V , SaturaSUMPESSUB R6 , #1JMPR CySUMPES

ExCySUMPES: CMP R10 , R3JMPR cc_SGT, SkipSaturaSUMPES

SaturaSUMPES: ; Saturazione di SUMEQMMOV R3 , R10

SkipSaturaSUMPES: MOV R2 , #SUMEQM ; Riga necessaria al verificarsi di overflow MOV [R2] , R3 ; SUMEQM ora è caricata

;------------------------------------------------------------------------; Aggiornamento dei Tap Weights : Weights(k+1)-->Weights(k);------------------------------------------------------------------------

MOV R6 , #NWeightsCostCyAggWeights: CMP R6 , #0

Page 117: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

119

JMPR cc_EQ, ExCyAggWeights MOV [R0+] , [R1] ADD R1 , #2 SUB R6 , #1 JMPR CyAggWeights

ExCyAggWeights:;------------------------------------------------------------------------; PES ESTESO;------------------------------------------------------------------------

JNB R5.12 , ExExtendPES MOV R3 , tr CMP R3 , #TRPIU1 JMPR cc_SGT , AzzPES JMPR cc_EQ , TracciaPiu

CMP R3 , #TRMENO1 JMPR cc_SLT , AzzPES

JMPR cc_EQ , TracciaMeno JMPR ExExtendPES

AzzPES: MOV pesprefiltro , R8 JMPA ExCyAdat

TracciaPiu : CMP R11 , #0 JMPR cc_SGT , AzzPES ADD R11 , #8000h JMPR ExExtendPES

TracciaMeno : CMP R11 , #0 JMPR cc_SLT , AzzPES SUB R11 , #8000hExExtendPES: MOV pesprefiltro, R11

;------------------------------------------------------------------------; Delay;------------------------------------------------------------------------

Del1: JNB R5.7 , NoDelayAMOV R6 , DelayVSUB R6 , #1CMP R6 , #-1JMPR cc_NE , L1AMOV R6 , #0

L1A: MOV DelayV , R6CMP R6 , #0hJMPA cc_NE , ExCyAdat

NoDelayA: ;-------------------------------------------------------------------------; RIPRISTINO REGISTRI;-------------------------------------------------------------------------

MOV R0 , #Weights MOV R1 , #Weights_1

MOV R6 , #NWeightsCost MOV R9 , AccPast

;------------------------------------------------------------------------; ABILITAZIONE ALG ADATTAMENTO NELLA PRIMA FINESTRA TEMPORALE;------------------------------------------------------------------------

JNB R5.6, NoWaitWindow JNB R5.14, ExCyAdat ; KOA.14 segnala in quale finestra

; temporale per salvare i dati ci si trovaNoWaitWindow:;------------------------------------------------------------------------; SOGLIA EQM;------------------------------------------------------------------------

JNB R5.2 , SgAcc MOV R3 , SUMEQM CMP R3 , #ThresholdEQM JMPR cc_SLT, ExCyAdat

CMP R3 , #ThresholdEQMWarningJMPR cc_SGT, ExCyAdat

Page 118: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

120

;------------------------------------------------------------------------; SOGLIE ACCELEROMETRO;------------------------------------------------------------------------

SgAcc: JNB R5.5 , OkDeviAdatCMP R9 , #ThresholdAccHJMPR cc_SGT , OkDeviAdatCMP R9 , #ThresholdAccLJMPR cc_SGT , ExCyAdat

;------------------------------------------------------------------------; SOGLIE PES;------------------------------------------------------------------------

SgPES: JNB R5.13 , OkDeviAdat CMP R11 , #MAXPES JMPR cc_SGT , ExCyAdat CMP R11 , #MINPES JMPR cc_SLT , ExCyAdat

;------------------------------------------------------------------------; Ciclo entro il quale avviene l'adattamento vero e proprio;------------------------------------------------------------------------OkDeviAdat : JB P2.10 , ExCyAdat BSET R5.15

;-------------------------------------------------------------------------; All'attivazione di un adattamento si scarica la struttura dati MEMOEQM E EQM; si cancellano quindi elementi in memoria dovuti al filtro precedente;-------------------------------------------------------------------------

MOV R7 , #NMA_1 MOV EQM , R8 ; EQM = [0] MOV R3 , #EQM ; R3 -> [0] MOV R13 , #MEMOEQM

CyEraseMEM: CMP R7 , #0 JMPR cc_EQ , ExCyEraseMEM

MOV [R13+] , [R3] SUB R7 , #1 JMPR CyEraseMEM

ExCyEraseMEM:;--------------------------------------------------------------------------; CARICAMENTO DELAYV PER PROSSIME ITERAZIONI;-------------------------------------------------------------------------- MOV R7 , #DelayA ;

MOV DelayV , R7 ;

MOV R9 , #AccPast MOV R7 , #Pa

JB R5.9 , ExCyAdat ; se KOA.9 e a 1 non si esegue adattamento

;------------------------------------------------------------------------; CARICAMENTO ADAPTATION GAIN;------------------------------------------------------------------------

AG2IF: JB R5.0 , AG2VariabileMOV R2 , #AdaptationGain2 ;AdaptationGain2 = 2* muJMPR AG2VariabileSkip

AG2Variabile: MOV R2 , SUMEQM ADD R2 , #100h

AG2VariabileSkip:;------------------------------------------------------------------------; CICLO INTERNO PER ADATTARE CIASCUN PESO;------------------------------------------------------------------------InterCyAdat : CMP R6 , #0

JMPR cc_EQ , ExCyAdat;------------------------------------------------------------------------; Gout OR NOT Gout;------------------------------------------------------------------------

JB R5.1 , GoutYESCOMUL R11 , [R9] ;ACC = Accele(k-i) * PES(k)JMPR GoutYESSkip

Page 119: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

121

GoutYES: CoMUL R11 , [R7] ; ACC = Pa(k-i) * PES(k)GoutYESSkip: CoSTORE R3,MAH ;

CMP R3,#0FFFFh ; *****X PROBLEMI NUMERICIJMPR cc_EQ,NoSom ; attenzione underflowCOMUL R3 , R2 ; ACC = AdaptationGain2 * PES(k) * (Gout) *Accel(k-i)

;------------------------------------------------------------------------; VALUTA SE SOMMARE OPPURE NO L'INCREMENTO;------------------------------------------------------------------------

COSTORE R3,MAH ; *****X PROBLEMI NUMERICICMP R3,#0FFFFh ; *****X PROBLEMI NUMERICIJMPR cc_EQ,NoSom ; attenzione underflowJMPR GoOn ;

NoSom : COLOAD R8 , R8 ; JMPR NoSatInc ;GoOn :;------------------------------------------------------------------------; SATURAZIONE INCREMENTO AL PESO CORRENTE;------------------------------------------------------------------------; JNB R5.3 , NoSatInc ;

MOV R3 , #MININC ; COMAX R8 , R3 ; /------MAXINC MOV R3 , #MAXINC ; / COMIN R8 , R3 ; MININC---/

NoSatInc :

;------------------------------------------------------------------------; LEAKY;------------------------------------------------------------------------

JNB R5.8 , NoLeaky COSTORE R3 , MAH

MOV R13 , #Leaky COMUL R13 , [R0] CoADD R8 , R3 JMPR SkipNoLeaky ;ACC = Leaky * W_i(k) + 2 * PES(k) * Accel(k-i)

NoLeaky :

;------------------------------------------------------------------------ COADD R8 , [R0] ;ACC = W_i(k) + 2 * mu * PES(k) * Accel(k-i)

SkipNoLeaky:;------------------------------------------------------------------------; SATURAZIONE DEL PESO CORRENTE;------------------------------------------------------------------------

JNB R5.4 , NoSatW ;MOV R3 , #MINWEIGHT ;COMAX R8 , R3 ;MOV R3, #MAXWEIGHT ; /-------- MAXWEIGHTCOMIN R8 , R3 ; / ; MINWEIGHT ---/

NoSatW :;------------------------------------------------------------------------ COSTORE [R1] , MAH ;W_i(k+1) = W_i(k) + 2 * mu * PES * Accel(k-i);------------------------------------------------------------------------

ADD R0, #2ADD R1, #2ADD R7, #2ADD R9, #2SUB R6, #1

JMPR InterCyAdatExCyAdat:;------------------------------------------------------------------------; FINE DEL CICLO DI ADATTAMENTO;------------------------------------------------------------------------

;------------------------------------------------------------------------; AGGIORNAMENTO MEMOEQM;------------------------------------------------------------------------

MOV R6 , #NMA_1MOV R2 , #MEMOEQMADD R2 , R6ADD R2 , #NMA_1-2

Page 120: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

122

MOV R13 , R2SUB R13 , #2

CyAgMEMOPES: CMP R6 , #1JMPR cc_EQ , ExCyAgMEMOPES

MOV [R2] , [R13]SUB R2 , #2SUB R13, #2SUB R6 , #1JMPR CyAgMEMOPES

ExCyAgMEMOPES: MOV R2 , EQM

MOV MEMOEQM , R2;-------------------------------------------------------------------; RIPRISTINO REGISTRI;-------------------------------------------------------------------

MOV R0,#WeightsMOV R1,#Weights_1MOV R6,#NWeightsCost

;-------------------------------------------------------------------; SALVATAGGIO Weights_1 in ACC_After;-------------------------------------------------------------------

JNB R5.15 , StopSave ;se non c'è stata variaz. nei pesi nn si memo. nienteMOV R14 , COUNTER_SAVE_I;contatore relativo all'indirizzo della coda su cui

;si memorizza (Acc_After)MOV R15 , COUNTER_SAVE ; contatore relativo al numero del set dati

;(nella coda Acc_After ce ne stanno 19...)CMP R15 , #0JMPR cc_EQ , StopSave2

WtoACCAfterCy:CMP R6 , #0JMPR cc_EQ , StopSave1MOV [R14+] , [R1]ADD R1 , #2SUB R6 , #1JMPR WtoACCAfterCy

StopSave1: SUB R15 , #1 ;

MOV COUNTER_SAVE , R15 ;si tiene traccia dei val. dei contatori aggiornati MOV COUNTER_SAVE_I ,R14 ;

JMPR StopSave ;

StopSave2: MOV R6 , #19 ; la coda è stata riempita si ricomincia da capo a salvare.... MOV COUNTER_SAVE , R6 ; si reimpostano i contatori SAVE

MOV R6 , #ACC_After ;MOV COUNTER_SAVE_I , R6 ;

StopSave:

;-------------------------------------------------------------------; MOV R8 , #Kff; MOV Weights , R8; MOV R8 , #0;-------------------------------------------------------------------; CALCOLO DEL COMANDO DI COMPENSAZIONE;-------------------------------------------------------------------

MOV R6 , #NWeightsCostMOV R9 , #AccPast ; R9 -> AccPastCOLOAD R8 , R8 ; ACC = 0

CyEstD: CMP R6 , #0JMPR cc_EQ, ExCyEstDMOV R4 , [R0] ; R4=[Weight(i,K)]COMAC R4 , [R9+] ; ACC = ACC + Accele(k-i-1) * Weight(i,K)ADD R0 , #2SUB R6,#1JMPR CyEstD

ExCyEstD:

COSTORE R4 , MAH ;CMP R4 , #0FFFFh ;***************JMPR cc_NE , HereD ; PROBLEMI NUMERICIMOV R4 , R8 ;**************

HereD: MOV EstimateD , R4 ;

Page 121: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

123

POP IDX1 POP CP

;===================================================================; FINE ADATTAMENTO;===================================================================

MOV R15 , [R10+] ; R10 ---> RESL[2] = 8000h

; ----------------------------- FILTRAGGIO -----IIR6ord--------------MOV R0,#filter_onJMPR cc_Z,end_filter

Filtro6: MOV R9 , accelerometro push IDX1

MOV R12 , #0MOV R0 , #S0MOV R8 , #D6 ; #D2 per filtro del 2° ordineMOV IDX1 , #S5 ; #S1COLOAD R12 , R12 ; ACC=0

; COASHR #2COMACM [IDX1+],[R8+] ;ACC=ACC+D6*S5 e S6=S5 ; MA D6 == 0COMACM [IDX1+],[R8+] ;,rnd ;ACC=ACC+D5*S4 e S5=S4

COASHR #13 ;ACC = ACC /8192 poiche' D5 era memorizzato *8192 !COMACM [IDX1+],[R8+] ;ACC=ACC+D4*S3 e S4=S3COMACM [IDX1+],[R8+] ;ACC=ACC+D3*S2 e S3=S2COMACM [IDX1+],[R8+] ;ACC=ACC+D2*S1 e S2=S1COMACM [IDX1+],[R8+] ;ACC=ACC+D1*S0 e S1=S0COADD R12 , R9 ;ACC = ACC + INGRESSO

; COSHL #2COSTORE [R0], MAHSUB IDX1,#4MOV R0 , [R0]COMUL R0 , [R8+] ; N0 * S0

COMAC [IDX1-],[R8+] ;ACC=ACC+N1*S1COMAC [IDX1-],[R8+] ;ACC=ACC+N2*S2COMAC [IDX1-],[R8+] ;ACC=ACC+N3*S3COMAC [IDX1-],[R8+] ;ACC=ACC+N4*S4COMAC [IDX1-],[R8+] ;ACC=ACC+N5*S5COMAC [IDX1],[R8] ;ACC=ACC+N6*S6COSHL #1COSTORE R9 , MAHMOV EstimateD , R9POP IDX1

end_filter:;-------------------------FINE FILTRO--------------------------------

;------------------------ ABILITAZIONE O MENO DELLA COMPENSAZIONE F.F. ---------------

JB P2.4 , no_comp_ff ; SE LO SWITCH 0 (ASSOCIATO AL PORT P2.4); ; NON E' "ON" (= AD UN LIVELLO LOGICO BASSO),

; NON ESEGUIRE LA SOMMA DEL COMANDO E DELLA LETTURA ; DELL'ACCELEROMETRO.

MOV R9 , EstimateD ; ADD R14 , R9 ; no_comp_ff: NOP

NOP

;----ESEGUE SCRITTURA SUL DAC_1 DEL COMANDO CALCOLATO PREVIA AGGIUSTAMENTO OFFSET + #num BIT

ADD R14 , R15 ; SOMMA 8000ASHR R14 , #2 ; DATI IN FORMATO 14 BIT PER IL DAC

MOV DAC_1 , R14 ; SCRIVE SUL DAC1 ADIBITO ALL'INIEZIONE DEL COMANDONOP

[…]; -- SCRITTURA SUL DAC_2 DI UNA VARIABILE SCELTA PER MEZZO DEGLI SWITCH 1, 2 E 3. ------

XOR R9 , R9 ; R9.0 POSTO A ZERO PER INDIRIZZI SEMPRE PARIBMOVN R9.1 , P2.5 ; SWITCH 1 "OFF" -----> P2.5 "0"BMOVN R9.2 , P2.6 ; SWITCH 2 "OFF" -----> P2.6 "0"BMOVN R9.3 , P2.7 ; SWITCH 3 "OFF" -----> P2.7 "0"

ADD R9 , #TABELLA_PTR ; R9 -> TABELLA_PTR + condizione SWITCHMOV R11 , [R9] ;R11 = [TABELLA_PTR+cond SWITCH] ora praticamente R11

; contiene un puntatore MOV R9 , [R11] ; in R9 viene inserito il valore puntato ADD R9 , #8000h ; OFFSET PER IL DAC

Page 122: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

124

ASHR R9 , #2 ; 14 BIT PER IL DACMOV DAC_2, R9 ; MANDA AL DAC2 IL VALORE DI R9

;------------------------------------------------------------NOPNOP

;----------------------SCRITTURA DAC_3--------------------------

MOV R9 , pesprefiltro ADD R9 , #8000h ; offset per il DAC3,

ASHR R9 , #2 ; 14 BIT PER IL DACMOV DAC_3 , R9

[…];FINE ALGORITMO DI CONTROLLO

RETI

TRACK_PROC1 ENDP

sperem PROC NEAR

SCXT CP , #REGSEEK

[…]POP CPret

sperem ENDP

IVC PROC NEAR

SCXT CP , #REG_IVC

[…]IVC ENDP

setoffu PROC near SCXT CP , #REGSETOFF

[…]pop CPret

setoffu ENDP

;================================================================;;PROCEDURA DI SALVATAGGIO DATI;;================================================================

salva PROC TASK salva_TASK INTNO INT_INUM_1 = 01dh

SCXT CP , #INIT_RB ; NOP ; N.B. R2 -> CODA_END1 ;Salvataggio dati

CMP R0 , R2 ; verifica se si è arrivati alla fine della codaJMPR cc_NE , save ; se non si è alla fine si salta a "save"CMPD1 R10 ,#0 ; ; controlla se il contatore R10 è nullo e decrementa R0JMPR cc_EQ , no_save ;MOV R0,#CODA_PES ; inizializzazione si deve ripuntare all'inizio : R0 -> CODA_PESMOV R1,#CODA_TR ; R1 -> CODA_TR

MOV R12,#CODA_VAR2A ; R12 -> CODA_VAR2A MOV R13,#CODA_VAR2B ; R13 -> CODA_VAR2Bsave: ;Primi 1600 dati

MOV [R0+],[R4] ;R4 -> PES R0->CODA_PES[i_ma], CODA_PES[i_ma] = PES, R0 ;viene incrementato (di 1 word)

MOV [R1+],[R7] ; R7 -> TR R1->CODA_TR[i_ma], CODA_TR[i_ma] = TR , R1 increm;Secondi 1600 datiMOV [R12+],[R8]MOV [R13+],[R9]

noxequeo: CMP R10 , #0JMPR cc_EQ , change

Page 123: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

LISTATO DEL PROGRAMMA

125

POP CPRETI

change: CMP R0 , R11JMPR cc_EQ , cambioPOP CPRETI;MODIFICO I PARAMETRI TARGET

cambio:mov R14 , OFF_UFLAG2jmpr cc_Z , nochangeforsetoffMOV R14 , #TARGET;#TARMOV R15 , #03000h ; <----- ; new target

MOV [R14] , R15 ;<--------------------Togliere se si usa ripseek

nochangeforsetoff: POP CP RETI

no_save: ADD R10,#1 MOV R7 , KOA JB R7.14 , NoNewSet

MOV R6,#PES_After;MOV R1,#ACC_AfterMOV R12,#AdGain_AfterMOV R13,#CODA_END2

BSET R7.14 MOV KOA , R7

MOV R3,#0 ;#100h ; contatoreMOV R8,#DebugFlag ; #accelerometro ;MOV R9,#Weights ;

;R4 punta ancora al valore impostato prima del loop main prg (PES)

NoNewSet:CMP R6 , R13JMPR cc_NE, SAVE2CMPD1 R3,#0hJMPR cc_EQ, NO_SAVE2

MOV R6,#PES_After;MOV R1,#ACC_AfterMOV R12,#AdGain_After

SAVE2: MOV [R6+],[R4] ;MOV [R1+],[R8]

MOV [R12+],[R9]POP CPRETI

NO_SAVE2: ADD R3,#1hPOP CPRETI

salva ENDP

;--------------------------------------------------------------------------; DEFINIZIONE VECTOR TABLE;--------------------------------------------------------------------------VCT_TABLE SECTION DATA PUBLIC 'VCT';EXTMEM;/**** Trap Number 00, Vector Location 00H ***/ //--- HW reset, SW reset, Watchdog TimerOverflowDB 0FAH , SEG INIT_PROCDW SOF INIT_PROC

[…];/**** Trap Number 18H, Vector Location 60H ***/ //--- External interrupt 0DB 0FAH , SEG TRACK_PROC0DW SOF TRACK_PROC0;/**** Trap Number 19H, Vector Location 64H ***/ //--- External interrupt 1DB 0FAH , SEG TRACK_PROC1DW SOF TRACK_PROC1

[…]VCT_TABLE ENDS

END

Page 124: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

APPENDICE B

126

Page 125: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

127

BIBLIOGRAFIA

[1] N.Tolot ” REALIZZAZIONE DELL’ INTERFACCIA HARDWARE PER UN

SISTEMA DI COMPENSAZIONE DELLE VIBRAZIONEI NEGLI HARD

DISK” . Tesi di laurea, DEI. Università di Padova A.A. 2000-2001.

[2] G.Tomasi ” REALIZZAZIONE DEL SOFTWARE PER UN SISTEMA DI

COMPENSAZIONE DELLE VIBRAZIONEI NEGLI HARD DISK” . Tesi di

laurea, DEI. Università di Padova A.A. 2000-2001.

[3] F.Marcassa “ CONTROLLO DI POSIZIONE DI TESTINE DI HARD DISK

MEDIANTE ST10” . Tesi di laurea, DEI. Università di Padova A.A.1999-

2000.

[4] D.Ciscato ” APPUNTI DI ELETTRONICA INDUSTRIALE, A.A.2001 -

2002” . Libreria Progetto Padova.

[5] R.Oboe ” APPUNTI DELLE LEZIONI INGEGNERIA E TECNOLOGIA

DEI SISTEMI DI CONTROLLO A.A.1998-1999” . Libreria CUSL Padova.

[6] G.Bortolan, K.Thomaseth “ CONTROLLI AUTOMATICI II, Algoritmi

iterativi di discesa, A.A. 2000-2001” DEI, Università di Padova.

[7] R.Oboe “ USE OF MEMS BASED ACCELEROMETERS IN HARD DISK

DRIVES” . In Proceedings of 2001 IEEE/ASME, pp 1142-1147, luglio 2001

[8] M.T.White ” CONTROL TECHNIQUES FOR INCREASED

DISTURBANCE REJECTION AND TRACKING ACCURACY IN

MAGNETIC DISK DRIVES” .Doctoral Dissertation No. 97-001 presso

Computer Mechanics Laboratory Università di Berkley, giugno 1997.

Page 126: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

128

[9] D.Y.Abramovitch “ REJECTING ROTATIONAL DISTURBANCES ON

SMALL DISK DRIVES USING ROTATIONAL ACCELEROMETERS” . In

Proceedings of the 13th World Congress of IFAC, vol. O, pp. 483-488, luglio

1996.

[10] K.J.Astrom, B.Wittenmark ” ADAPTIVE CONTROL” , Addison-Wesley

1995

[11] B.Widrow, S.D.Stearns ” ADAPTIVE SIGNAL PROCESSING” , Prentice

Hall 1985.

[12] S.M.Kuo, D.R.Morgan ” ACTIVE NOISE CONTROL SYSTEM Algorithms

and implementations” John Wiley & Sons Inc. 1996

Page 127: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

129

RINGRAZIAMENTI

Quale momento migliore per dire alle persone che mi vogliono bene quanto siano

importanti per me! Il mio primo pensiero è per mio padre, che non ha potuto

vedermi finire gli studi universitari. Questa tesi è dedicata a lui perché le cose più

importanti della mia vita le ho imparate da lui e se ho avuto la possibilità di studiare

e di capire è stato in gran parte merito suo. Grazie papà. Oggi mi mancherà anche

mia nonna Luigia con la quale ho vissuto assieme tutta la mia infanzia e che è

sempre stata tanto affettuosa e tanto tanto paziente con me.

Un grazie immenso a mia madre Rosaria che ha fatto di tutto per permettermi di

studiare e di essere felice. Tante grazie a mia sorella Rosanna che ha creduto in me e

mi ha sostenuto, ti sarò grato per sempre.

Ringrazio di cuore Elisa che con me è sempre stata tenera e dolce e ha saputo

pazientare più di chiunque altro in quest’ ultimo periodo (e non solo), grazie Eli.

Un grosso bacio alle mie sorelle Felicita e Giuseppina che si sono costantemente

informate sui miei progressi ed hanno avuto la pazienza di chiedermi per 28 volte e

più “ Com’ è andato l’ esame” !!, vi ringrazio tanto. Un “ pugno sul naso” (affettuoso)

ai miei splendidi nipotini Eleonora, Giampietro, Andrea e Anna.

Un sentito grazie ai professori Doriano Ciscato e Roberto Oboe che mi hanno dato la

preziosa possibilità di lavorare con loro e che sono sempre stati disponibili e cortesi.

Un grazie agli amici del laboratorio per primo Michele (ogni promessa è debito) che

non si è mai lamentato sebbene ho dovuto usare spesso il suo computer e perché i

suoi tarallucci sono proprio buoni. In bocca al lupo a Manuel e Roberto tra poco

tocca a voi mi raccomando! Ad Alessandro ‘pianista’ un in bocca al lupo per l’ esame

di stato. Grazie naturalmente a Riccardo, con il quale ho trascorso molto tempo in

questi ultimi sei mesi, per avermi dato suggerimenti e per avermi aiutato in momenti

di abbattimento ad abbattermi ancora di più! Sto scherzando ti auguro di realizzarti e

di essere felice. E come non ringraziare gli amici del gruppo ‘G8’ e gli amici di

Caselle con i quali ho passato innumerevoli serate e momenti piacevoli.

Un enorme grazie infine a tutti i miei amici con i quali ho condiviso gli anni

dell’ università. In bocca al lupo per il vostro futuro.

GRAZIE A TUTTI, GRAZIE DI CUORE

Page 128: COMPENSAZIONE ADATTATIVA DELLE VIBRAZIONI NEGLI HARD DISKweb.tiscali.it/omedas/Cadv_hdd.pdf · 2004-09-26 · L’hard disk quindi è progettato per essere controllato in modo digitale

130