Sei sulla pagina 1di 43

Corsato Davide

cl. 5^TB

18/06/2005

I.T.I.S. F. SEVERI di PADOVA

ESAMI DI STATO A.S. 2004/2005

TESINA DI APPROFFONDIMENTO

SISTEMA GPS E STAZIONE DI LOCALIZZAZIONE


SATELLITARE

IL SISTEMA GPS
1. Generalit
Il sistema G.P.S. (GLOBAL POSITIONING SYSTEM) avviato dagli U.S.A. a partire dagli anni
70, e completato nel 1993, stato realizzato per motivi principalmente militari (vedi Guerra del
golfo), per rispondere allesigenza del Ministero della difesa degli Stati Uniti di seguire il percorso
di mezzi militari sulla terraferma ed in mare in modo da localizzarne la posizione in ogni momento
e consentirne eventuali operazioni di supporto e di salvataggio.
Il sistema pu essere diviso in tre segmenti:
1. Segmento spaziale;
2. Segmento di controllo;
3. Segmento di utilizzazione.
1.1 Il segmento spaziale
Il segmento spaziale costituito da 24 satelliti che ruotano attorno alla terra ad una quota di circa
20.200 Km, divisi in gruppi di quattro (4 X 6 = 24), quindi operanti su sei piani orbitali sfasati tra
loro di un angolo di 60 (6 X 60 = 360), e formanti un angolo di 55 rispetto al piano equatoriale.
Con questa configurazione spaziale sono visibili almeno quattro satelliti in ogni posizione della
terra, poi vedremo il perch. Di questi satelliti 21 sono attivi, mentre tre sono di scorta, cio pronti
ad entrare in funzione quando qualcuno dei 21 non fosse pi in grado di operare. Infatti esiste una
vita media anche per i satelliti, che in questo caso si aggira attorno ai 10 anni.
I satelliti completano lorbita in circa 12 ore quindi si trovano quasi allo stesso punto ogni giorno
allo stesso tempo siderale.
1.1.1 I satelliti artificiali

1.1.1.1 Generalit
I satelliti usati per il Sistema di Posizionamento Globale hanno una massa di circa 8 tonnellate e
comprendono oltre alla strumentazione standard (pannelli solari, accumulatori, sistemi di
trasmissione, ecc.) quattro orologi atomici, due al cesio e due al rubidio e dei retrorazzi per
eventuali correzioni di orbita.

Le leggi che governano il moto dei satelliti sono le stesse che governano il moto dei pianeti intorno
al sole. Tali leggi sono state enunciate da
Keplero e sono :
Prima legge - I pianeti descrivono orbite
ellittiche con il Sole in uno dei due fuochi.
Seconda legge Il raggio vettore, ossia la
congiungente il centro del Sole con il centro
del pianeta, descrive aree uguali in tempi
uguali. In conseguenza di tale legge, la
velocit risulta massima in vicinanza del
Sole e minima (a) distanze maggiori.
Le aree dei due triangoli azzurri sono uguali. Per la 2
legge i tempi impiegati dal pianeta per passare da P1 a P2
e da P3 a P4 sono perci uguali. Presso il perielio il
pianeta pi veloce che presso l'afelio.

Terza legge - I quadrati dei tempi T di


rivoluzione dei pianeti sono proporzionali
ai cubi dei semiassi maggiori a delle loro
rispettive orbite . In altre parole il rapporto
T2/a3 uguale per tutti i pianeti. In conseguenza di questa legge si ha che il periodo aumenta per i
pianeti pi distanti dal Sole o per i satelliti pi distanti dalla Terra.
Essendo lorbita ellittica, la distanza di un pianeta dal Sole varia continuamente: il punto
dellorbita pi vicino al Sole si dice perielio quello pi lontano afelio.
Per la seconda legge la velocit orbitale continuamente variabile ed massima al perielio e
minima allafelio.
Conoscendo il tempo di rivoluzione di un pianeta, la terza legge consente di ricavarne
immediatamente la distanza media dal Sole prendendo come unit la distanza Terra-Sole (Unit
astronomica). Ad esempio Saturno compie una rivoluzione intorno al Sole in 29.46 anni : la sua
distanza media vale la radice cubica del quadrato di tale periodo, ossia 9.54 unit astronomiche.
La terza legge di Keplero regola
anche i tempi di rivoluzione dei
satelliti artificiali
attorno alla
Terra. Un satellite che gravita a 6.5
raggi terrestri in unora percorre 15
gradi
e quindi compie una
rivoluzione in 24 ore; perci se
orbita sul piano equatoriale della
Terra, appare sempre fisso sopra
una medesima localit. Un tale
satellite si dice sincrono.
Le tre leggi di Keplero non sono
indipendenti fra loro, ma sono
derivate da una legge pi generale
e precisamente da quella di
gravitazione universale. Come
noto, tale legge si esprime con la
relazione:

Dove F il modulo della forza di attrazione fra le due masse m1 e m2, distanti tra loro del raggio r e
G la costante di gravitazione universale pari a 6.67 *
10-11 m3/Kgs.
Generalmente si considera il corpo di massa pi piccola orbitante, secondo una traiettoria ellittica,
attorno a quello di massa maggiore, considerato fisso in uno dei due fuochi dellorbita.
Come noto si definiscono i seguenti parametri che sono rappresentati nella figura a lato :
a = semiasse maggiore
b = semiasse minore
c = semidistanza focale
e = eccentricit (rapporto c/a)

Leccentricit varia da 0 a 1. Il valore 0 corrisponde a una circonferenza; con i valori prossimi a 1


lellisse appare molto schiacciata.
La figura mostra il moto di un pianeta attorno al sole situato nel fuoco F1. Gli estremi dellasse
maggiore (punti A e P) rappresentano i punti di minima e massima distanza del pianeta dal Sole e
sono denominati rispettivamente perielio e afelio; se riferiamo lorbita alla Terra avremo il perigeo
e lapogeo.
La posizione di un pianeta sullorbita, in un certo istante, individuata mediante la distanza ed
un angolo v, contato a partire dal perielio. Il calcolo alquanto complesso e laborioso e si rende
necessario quando si vogliono effettuare osservazioni astronomiche mediante il sestante; non
disponendo di appositi programmi per personal computer, si utilizzano i dati ricavati dalle note
effemeridi nautiche dellIstituto Idrografico della Marina o dalle analoghe pubblicazioni straniere.
Nel caso di satelliti artificiali in orbita attorno alla Terra la posizione pu essere determinata
soltanto mediante piccoli calcolatori, come quelli presenti allinterno di ogni normale ricevitore
satellitare di tipo GPS.
1.1.1.2 Periodo e velocit
Tutti i satelliti in uso nella navigazione, nella meteorologia
e nelle comunicazioni hanno uneccentricit quasi nulla,
per cui le rispettive orbite possono essere considerate
circolari.
La forza gravitazionale esercitata dalla Terra data dalla
relazione di Newton :

Dove la distanza fre i baricentri della Terra e del


Satellite ed pari alla somma del raggio Rt della Terra e
delle quota Q (costante) del satellite: a = Rt + Q .
Nello studio del moto circolare noto che per deviare un corpo con velocit V dal moto rettilineo
necessario esercitare su di esso una forza centripeta costantemente diretta verso il centro della
traiettoria ed alla quale si oppone una forza diretta verso lesterno della forza centrifuga di valore
esattamente uguale alla precedente.
4

Nel caso in esame la forza centripeta coincide con la forza gravitazionale con cui la Terra attira il
satellite e la cui espressione data dalla legge di Newton. Tale forza in equilibrio con la forza
centrifuga la cui relazione la seguente:

Eguagliando le due precedenti relazioni cio :

Si ottiene il seguente valore della Velocit V del satellite :

Il periodo orbitale, nel caso di moto circolare uniforme, si pu calcolare


a, per la
velocit dividendo la circonferenza dellorbita pari a 2 ottenuta con la precedente relazione. Si
avr, quindi :

Esprimendo a = RT + Q in Km, T in minuti e V in Km/sec, si ottengono le seguenti relazioni


semplificate :
Nel caso in esame la forza
centripeta coincide con la forza
gravitazionale con cui la
Terra attira il satellite e la cui
espressione
data dalla
legge di Newton. Tale forza in
equilibrio con la forza
centrifuga la cui relazione la
seguente:

Eguagliando le due precedenti relazioni cio :

Si ottiene il seguente valore della Velocit V del satellite :

Il periodo orbitale, nel caso di moto circolare uniforme, si pu calcolare


a, per la
velocit dividendo la circonferenza dellorbita pari a 2 ottenuta con la precedente relazione. Si
avr, quindi :

Esprimendo a = RT + Q in Km, T in minuti e V in Km/sec, si ottengono le seguenti relazioni


semplificate :

Con tali relazioni stata compilata la sottostante tabella relativa ad alcuni satelliti meteorologici e
nautici.

1.1.1.3 La suborbita
Il piano dellorbita di un satellite interseca la superficie terrestre, supposta sferica, secondo una
circonferenza massima, detta suborbita. Ad ogni posizione del satellite sulla sua orbita corrisponde
un ben preciso punto di proiezione sulla suborbita, tale punto si chiama subsatellite, che analogo
al punto subastrale nel cerchio daltezza nella navigazione astronomica.I punti in cui la suborbita
taglia lequatore terrestre sono chiamati nodi; e precisamente si chiama nodo ascendente quello in
cui il subsatellite passa dallemisfero sud a quello nord, laltro detto nodo discendente.

Essendo il piano orbitale fisso nello spazi, la


traiettoria descritta dal punto subastrale,
relativamente alla superficie terrestre, sarebbe
unortodromia soltanto in assenza di rotazione
terrestre. A causa di questultima, la linea dei nodi
NaN, subisce una rotazione apparente contraria a
quella della Terra, ossia ruota verso ovest di 360 in
un giorno sidereo e, quindi, 15/h (regressione
sullequatore o retrogradazione dei nodi).In realt il
piano orbitale non fisso nello spazio a causa di
varie perturbazioni, per cui la rotazione oraria della
linea dei nodi diversa da quella indicata di una
quantit variabile a seconda della forma e
dellinclinazione dellorbita. (Si rammenta cha la
rotazione appare oraria soltanto ad un osservatore
situato nellemisfero Nord).
Il moto del subsatellite avviene, quindi, lungo una particolare traiettoria non chiusa, la cui
rappresentazione sulla carta mercatoriana riportata nella figura seguente.
6

Nella figura sottostante, che rappresenta lemisfero Nord, sono mostrate le successive posizioni
assunte dalla suborbita rispetto alla sfera terrestre. La figura mostra, inoltre, come un osservatore
posizionato in O possa osservare il satellite soltanto durante una serie limitata di passaggi
e,precisamente, solo quelli che rientrano nei limiti dellorizzonte apparente dellosservatore (area
tratteggiata della figura).

1.1.1.3 Parametri orbitali


Come per le stelle in astronomia, cos per i satelliti per individuare in ogni istante la loro posizione
nello spazio occorrono i seguenti sei parametri orbitali :
a semiasse maggiore dellorbita;
e eccentricit dellorbita
t0 istante del passaggio del satellite dal perigeo
av ascensione retta del nodo ascendente, contata nel
piano equatoriale a partire dal punto vernale y
(equinozio di pri-mavera), come nel caso
astronomico.
I inclinazione del piano orbitale rispetto al piano
dellequatore terrestre; va contata nel nodo ascendente
da 0 a 180, in senso antiorario dallequatore verso la
suborbita

w argomento del perigeo, ossia langolo, nel piano dellorbita, fra la direzione del nodo ascendente
e la direzione del perigeo.
La posizione dellorbita rispetto al meridiano di Greenwich si ottiene calcolando la longitudine
terrestre N del nodo ascendente mediante la seguente relazione :

N = N Ts

dove Ts rappresenta il tempo siderale riferito al primo meridiano.

A seconda dellinclinazione si hanno diversi tipi di orbite:


Orbita equatoriale (i= 0).
Un caso particolare quello in cui il periodo orbitale uguale a quello di
rotazione della Terra. Tali satelliti sono detti geostazionari o geosincroni.
Sono geostazionari molti satelliti meteorologici, tutti i satelliti per le
comunicazioni Tv commerciali e quelli nellambito
del sistema Immarsat.
Orbita diretta (i <90).
E il caso generale. Tuttavia se il periodo orbitale
uguale a quello di rotazione della Terra essi diventano
sincroni.

Orbita Polare (i=90).


Appartengono a tale categoria diversi satelliti
Meteorologici e quelli dei sistemi dinacizazione Transit o
Navisat, abbandonato dopo lintroduzione del GPS.
Orbita retrograda (i>90).
Con unopportuna inclinazione, lorbita diventa
eliosincrona come nel caso di alcuni satelliti meteorologici
polari NOAA.

1.1.1.4 Le perturbazioni dellorbita


Lorbita di un satellite subisce diverse perturbazioni causate principalmente :
1) Dalla forma non perfettamente sferica della Terra e dalla non uniforme distribuzione della sua
massa;
2) Dalla presenza di altri corpi celesti, in particolare Sole e Luna;
8

3) Dallattrito con latmosfera terrestre (aerodynamic drag);


4) Dalla pressione esercitata dalla radiazione solare.
Tali perturbazioni modificano continuamente le orbite e, quindi, i relativi dati orbitali; nel caso in
cui un satellite sia costretto a mantenere una particolare orbita, necessario intervenire da Terra con
manovre correttive, attuate mediante laccensione, e per tempi molto brevi, di piccoli motori (detti
Thrusters) per ripristinare la situazione iniziale. Lesaurimento del propellente (normalmente
idrazina) determina la fine del servizio del satellite che viene spento e abbandonato al suo destino.
Nel caso di satelliti in orbita bassa, si utilizza lultima riserva di combustibile, per trasferirle su
orbite di parcheggio molto alte.
Lattrito con latmosfera varia notevolmente con la quota e produce una perdita di energia cinetica
che si traduce in una perdita di quota ad ogni giro. La traiettoria diventa, quindi, una specie di
spirale ellittica che porta il satellite sempre vicino alla Terra fino a quando la raggiunge,
disintegrandosi.
Un analogo effetto, anche se molto pi piccolo, prodotto dalla radiazione solare sui satelliti di
grandi dimensioni.
E stata calcolata la durata di un satellite, nel caso in cui non si intervenisse con manovre correttive;
ad esempio, un satellite di 50 Kg, ad una quota di 150 Km impiegherebbe un giorno prima di
arrivare sulla Terra; alla quota di 500 Km impiegherebbe 365 giorni.
Le maggiori perturbazioni sullorbita di un satellite, escludendo lattrito, sono quelle prodotte dalla
forma non perfettamente sferica della Terra. Essa, infatti, presenta un rigonfiamento equatoriale
che determina sui satelliti particolari moti precessionali, analoghi a quelli che avvengono entro le
girobussole, che producono due effetti :

b) La rotazione dellasse maggiore dellorbita che consiste in una continua rotazione del suddetto
asse sul piano dellorbita ed intorno al centro della Terra. Leffetto prodotto una continua
variazione dellargomento w del perigeo.
Leffetto di maggiore interesse , nel nostro caso, il primo che risulta particolarmente evidente nel
caso di satelliti situati su orbite basse ed angoli di inclinazione prossimi a 0 e 180. Ad esempio, un
satellite avente una quota Q = 1000 Km ed una inclinazione i = 50 presenta una precessione
N
= 4/giorno.
A causa delle suddette perturbazioni, i parametri orbitali di un satellite cambiano, quindi, con
continuit. Per avere i loro valori sempre aggiornati necessario determinare costantemente la
posizione del satellite inseguendolo (tracking) nella sua traiettoria mediante tecniche particolari
basate su osservazioni ottiche fatte da telescopi oppure con osservazioni radioelettriche di tipo
Doppler o radar.
1.1.1.5 Orbite sincrone e geostazionarie
Ponendo nellespressione del periodo il valore di
T = 23h 56m 04s,
ossia la durata della rotazione diurna della Terra, si ottiene
a = 42100 Km e quindi Q = a RT = 35730 Km.
Se un satellite orbita alla quota indicata in un piano
coincidente con quello equatoriale ed in una direzione
concorde con quella terrestre, esso appare sempre fisso
sulla verticale di un punto e, quindi, appare geostazionario.
Presentano
questa
caratteristica
diversi
satelliti
meteorologici, come il Meteosat, satelliti per le
9

comunicazioni marine del sistema Immarsat e satelliti per le comunicazioni radiotelevisive.


Se lorbita fuori dal piano equatoriale, il satellite non appare fisso su un dato punto della
superficie terrestre e la sua traiettoria apparente diventa una specie di curva ad otto come
rappresentato nella figura a lato. In tal caso lorbita sincrona, ma non geostazionaria. La latitudine
massima alla quale arriva il subsatellite coincide con linclinazione del piano dellorbita.
1.1.1.6 Orbite eliosincrone
Un satellite sincrono al Sole, ossia eliosincrono, quando la sua orbita fissa rispetto al Sole; in
tal caso il satellite sorvola le stesse aree della superficie terrestre circa alla stessa ora del giorno.
Per realizzare tale condizione lorbita deve essere
retrograda ( i > 90).
Se un satellite viene lanciato su una di tali orbite
in modo che esso sia in piena luce, presumibile,
rispettando le condizioni sopradette, che esso
continui a sorvolare le stesse zone in piena luce
per tutta la sua vita.
Nella tabella sono mostrati alcuni esempi dove si pu osservare che le orbite sono tutte retrograde e
quasi polari. Molti satelliti meteorologici della serie NOAA (National Oceanic and Atmosferic
Administration), definiti polari, in realt sono collocati su orbite retrograde con langolo di
inclinazione i di poco superiore a 90.
1.1.1.7 Area di acquisizione di un satellite
Per poter captare segnali emessi da un satellite
sufficiente che esso sia sopra lorizzonte apparente
dellosservatore, indipendentemente dallora del
giorno. Conducendo dal satellite le semirette tangenti
alla sfera terrestre, su di essa si individua un cerchio
minore che rappresenta la linea dellorizzonte
geometrico del satellite. La calotta della superficie
terrestre, racchiusa da tale linea rappresenta larea di
acquisizione e qualsiasi osservatore terrestre situato
allinterno di essa, ha la possibilit di ricevere i
segnali dal satellite.
Come si vede dalla figura a loto larea ha per centro il
subsatellite S a raggio sferico D che si pu calcolare
risolvendo il triangolo con vertici nel satellite, nel
centro della terra e nel punto di tangenza T.
RT
Si ha, quindi: cos D =
Rt + Q
In pratica larea di acquisizione minore di quella calcolata con la superiore formula poich occorre
considerare laltezza di mascheramento Hm (mask Height) che laltezza minima sullorizzonte
che deve avere un satellite per essere osservato radioelettronicamente, in quanto, i segnali
provenienti dal satellite prossimo allorizzonte possono subire deviazioni ed essere molto disturbati.
Laltezza di mascheramento viene in genere fissata dalloperatore nei ricevitori satellitari
assumendo valori tra 5 e 10.
10

La figura sulla sinistra evidenzia la diminuzione del


raggio dellarea di acquisizione.
Laltezza di mascheramento rappresenta, quindi,
laltezza minima per osservare un satellite e produce una
diminuzione nel raggio dellarea di acquisizione. (D =
DHm)
Tutte le considerazioni sino ad ora svolte hanno valenza
puramente geometrica: In realt il satellite pu essere
visto anche prima per effetto della rifrazione e della
depressione eodetica, nel caso di un osservatore con
una certa elevazione rispetto alla superficie terrestre.
Nella sottostante tabella sono riportati alcuni esempi relativamente ai satelliti di maggiore
importanza per la navigazione e relativamente a una Hm = 0.

Raggio dellarea di acquisizione di un satellite in base alla sua quota.

1.1.1.8 Orizzonte radioelettrico dellosservatore


Un satellite visibile solo quando la sua altezza apparente ha maggiore dellaltezza di
mascheramento Hm e precisamente : ha > Hm
Con tale altezza si pu calcolare il raggio dellorizzonte radioelettrico dellosservatore, che
rappresenta un cerchio minore della sfera
terrestre, con centro nellosservatore, entro il
quale possono essere captati i segnali dal
satellite. Il raggio di tale orizzonte ha lo
stesso raggio dellarea di acquisizione del
satellite dato dalla relazione :

In altre parole, il satellite pu essere


osservato se la sua orbita interseca il cerchio
dellorizzonte radioelettrico.
Nella figura a lato larco S1S2 rappresenta il
tratto di suborbita visibile dallosservatore,
dove S1 il punto di inizio del contatto ed
S2 la fine.

11

Conducendo da O, punto in cui si trova losservatore, la perpendicolare sferica alla suborbita, si


individua il punto in cui il satellite passa alla minima distanza da O e, quindi, dove raggiunge la
massima altezza sullorizzonte.
1.1.1.9 Durata del passaggio
Nellipotesi di orbita circolare e fissa rispetto alla superficie terrestre, larco di visibilit S1S2 viene
percorso con velocit angolare costante e pari a 360/T, per cui la durata del passaggio del satellite
data dalla seguente relazione:

Con S1S2 espresso in gradi e T in minuti o


ore. Dallimmagine a lato si vede che la durata
massima del passaggio si ha quando
losservatore situato sulla suborbita. Nel
caso pi generale, il calcolo della suddetta
durata nonch delle coordinate altazimutali
dei punti S1, S2, Sm alquanto laborioso a
causa della continua variazione della
longitudine del nodo ascendente, prodotto
principalmente dal moto diurno della Terra.
La determinazione diretta dei punti del
sorgere, del tramonto e di culminazione
superiore alquanto laboriosa, per cui, in
pratica, il problema si risolve con un elaboratore elettronico calcolando ripetutamente le coordinate
altazimutali apparenti del satellite ad intervalli di tempo prefissati e, quindi, interpolando si
ottengono i dati richiesti. Tale procedura seguita da tutti i ricevitori satellitari GPS quando devono
stabilire quali satelliti sono visibili in un certo intervallo di tempo.
1.1.1.10 Effetto doppler
Leffetto doppler un fenomeno che
interessa tutte le onde di qualsiasi natura
(sonore, elettromagnetiche, ecc. ) e
consiste in una variazione della frequenza
ricevuta quando esiste un moto relativo fra
la sorgente che emette ed il ricevitore delle
onde.
Quando un satellite in avvicinamento la
frequenza ricevuta maggiore di quella
trasmessa, in caso contrario, con satellite in
allontanamento,la
frequenza

in
diminuzione. La variazione nulla quando
il satellite passa alla minima distanza
12

dallosservatore a cui corrisponde la massima altezza.


Osservando la figura si vede che il satellite in avvicinamento fra listante del sorgere (punto S1) e
listante di massima altezza (punto Sm), mentre in allontanamento fra il predetto punto Sm e il
punto del tramonto S2.
Rappresentando in un grafico la variazione di frequenza in funzione del tempo si ottiene una curva
come quella raffigurata a lato che strettamente legata alla posizione del ricevitore. Pertanto, se al
passaggio di un satellite, si effettuano delle misure delleffetto doppler si in grado di calcolare la
posizione del ricevitore. Tale tecnica era utilizzata nel sistema di navigazione satellitare TRANSIT.
Nel caso pi generale delle comunicazioni con i satelliti, la variazione f pu essere di alcuni Khz
per cui i dispositivi ricevuti, per mantenersi sintonizzati sulla frequenza portante, devono tenerne
conto.

Il grafico mostra la curva doppler


calcolata per un satellite polare NOAA
(fs = 137 MHz).

1.2 Il segmento di controllo


Il segmento di controllo composto da sei stazioni di controllo che hanno la funzione di calcolare
ed inviare ai satelliti i dati relativi sia agli orologi atomici che sono presenti in essi, sia alle orbite
dei satelliti stessi. In particolare gli orologi atomici dei satelliti sono sincronizzati ad ogni giro con il
tempo di Colorado Springs e il tempo GPS scandito da lUSNO (United States Naval
Observatory) Master Clock basato su 12 orologi al cesio e 12 orologi allidrogeno aggiornato ogni
100s e con unaccuratezza dellordine dei 100 ps nelle 24 ore.

13

Ricevuti questi dati, ogni satellite li utilizza per inviare ai ricevitori il proprio Segnale di
Navigazione cio quel segnale che contiene tutte le informazioni riguardo al satellite stesso e che
sono indispensabili al ricevitore GPS per calcolare la propria posizione rispetto al satellite
trasmittente.
Queste sei stazioni possono essere di tre tipi:
Stazione di controllo principale, a Falcon Colorado, controlla e coordina le altre stazioni;
Stazione di monitoraggio, controlla i dati dei satelliti visibili e li trasferisce alla stazione
principale;
Antenne di terra, che trasmettono i dati ai satelliti.
1.3 Segmento di utilizzazione
Il segmento di utilizzazione quello che ci riguarda pi da vicino e consiste nellinsieme dei
ricevitori, militari e civili, in grado di ricevere ed elaborare segnali satellitari.
1.3.1 Funzionamento

14

Il principio su cui si basa il


funzionamento del GPS
piuttosto semplice. Prendiamo
il caso che si voglia conoscere
in che punto della Terra ci
fig. 1
Fig. 2
troviamo. Se sappiamo che
siamo ad una distanza di
10000 km da un dato satellite
A ci significa che la nostra
posizione si trova sulla sfera
che ha come centro A e come raggio 10000 km Se poi
conosciamo la nostra distanza (ad esempio 11000 km) da un altro satellite (B) possiamo sapere che
ci troviamo sullintersezione fra le due sfere, una di centro A e raggio 10000 km e laltra di centro B
e raggio 11000 km; questa intersezione non altro che un cerchio (Figura2).
Se infine misuriamo la nostra distanza da un terzo satellite C
(trovando che essa pari a 9000 km) noi saremo in grado di
determinare la nostra posizione poich esistono solo due punti
nello spazio in cui le tre sfere determinate dai tre satelliti si
possono incontrare (Figura 3).
Fig. 3.
Lultimo problema che rimane decidere quale dei due punti
rimasti quello corrispondente alla nostra posizione. Per fare
ci basta notare come solo uno di questi due punti si trovi sulla
superficie terrestre (ed quindi quello che interessa a noi),
mentre laltro nello spazio.
Il sistema sopra illustrato vale solo in linea teorica, infatti
perch sia possibile determinare la posizione dellutente con
questo metodo sono necessari tre misurazioni perfette cio non affette da grossi errori, ma questo
renderebbe necessario lutilizzo, da parte dellutente, di un orologio atomico (che per molto
costoso). Per risolvere questo problema sufficiente fare unaltra misurazione da un quarto satellite.
1.3.2 Misurazione della distanza da un satellite
Finora abbiamo parlato di fare delle misurazione della distanza da diversi satelliti; ora vedremo
come possibile per un ricevitore GPS calcolare questa distanza.
Innanzi tutto necessario conoscere la velocit con cui il segnale arriva dal satellite; questa velocit
la velocit della luce (300000 km/s). Il secondo problema deriva dal fatto che, per determinare il
tempo necessario al segnale per arrivare al ricevitore, indispensabile sapere quando questo
partito dal satellite. Per risolvere questo secondo problema si utilizza il seguente metodo: si
sincronizzano il satellite e il ricevitore in modo che generino lo stesso codice nello stesso momento;
quando riceviamo il segnale non dobbiamo far altro che controllare da quanto tempo il nostro
ricevitore ha generato lo stesso codice; questa differenza di tempo quanto ha impiegato il segnale
per raggiungerci.

D = c " (T 2 ! T 1)

A questo punto moltiplichiamo il tempo trovato per la velocit della luce (c) ed abbiamo la distanza
cercata.

15

1.3.3 La trasmissione via satellite


1.3.3.1 Aspetti generali
La trasmissione via satellite ha rivoluzionato il mondo delle telecomunicazioni in quanto ha
permesso la trasmissione dei dati, dei programmi radio-televisivi e delle comunicazioni vocali in
modo istantaneo su scala mondiale.
Le comunicazioni via
satellite
impiegano
delle
antenne
ricetrasmittenti
che
lavorano alla frequenza
delle microonde: una
stazione situata a terra
trasmette il segnale al
satellite su una certa
frequenza, il satellite,
una volta ricevuto tale
segnale, lo trasla su
unaltra frequenza e lo
ritrasmette verso altre
stazioni situate sempre
a terra.
Il motivo per cui
vengono
usate
frequenze diverse per le
trasmissioni da e verso il satellite sta nella necessit di evitare le interferenze reciproche tra i
segnali.
Gli apparecchi che, sui satelliti, effettuano la ricezione e la trasmissione dei segnali sono chiamati
transponder; questi apparecchi operano solitamente in tre diverse gamme di frequenza: la maggior
parte tra i 4 e i 6 GHz, ma ci sono anche transponder che arrivano tra i 12 e 14 GHz e tra i 21 e 30
GHz.
Oltre alla banda trasmissiva molto ampia il satellite presenta anche altre caratteristiche vantaggiose:
Garantisce unampia copertura geografica;
Permette di raggiungere luoghi isolati o comunque difficilmente raggiungibili con altri
mezzi;
Il costo della comunicazione via satellite indipendente dalla distanza tra le stazioni
terrestri;
Infine, grazie alla capacit di diffusione (broadcasting), lo switching della comunicazione
verso diversi destinatari si realizza facilmente e senza unit specificatamente dedicate a
questa funzione.
Il satellite presenta per anche degli svantaggi:
In primo luogo avendo una copertura geografica molto estesa comporta che tutte le stazioni
di terra, situate nel cono dazione del satellite, possono ricevere i segnali trasmessi, con il
rischio di intercettare informazioni riservate; questo il motivo per cui si ricorre alla
crittografia;
Inoltre, un problema rilevante costituito dalle cosiddette eclissi del satellite, che si
verificano quando la terra viene trovarsi tra la congiungente del satellite con il sole; in
questo caso lenergia delle batterie solari del satellite diminuisce causando una perdita di

16

potenza nei componenti elettronici del satellite determinando un deterioramento della qualit
del segnale;

Un altro tipo do eclissi, sempre relativamente al satellite, la cosiddetta eclissi di sole, che
avviene quando il satellite si trova tra la terra e il sole, questo causa un disturbo sul segnale
ricevuto dal satellite;

Ci sono poi i problemi legati alle interferenze sul segnale in viaggio per e da il satellite, tali
interferenze possono essere dovute sia ad altre trasmissioni via radio sia semplicemente
allazione dellatmosfera terrestre, la quale, se soggetta a violenti temporali, pu in effetti
disturbare il segnale; in particolare le perturbazioni atmosferiche hanno ripercussioni tanto
maggiori quanto maggiore la gamma di frequenze utilizzata dal satellite;
Un altro limite che lo spazio disponibile per i satelliti sullorbita geostazionaria
comunque limitato, questo ostacola il lancio e lutilizzo di altri satelliti;
Lultimo
problema
rilevante legato al
tempo
di
propagazione
del
segnale: si stimato
che un messaggio
scambiato tra due
stazioni
terrestri
attraverso un satellite
impiega un tempo
totale di 240 ms.

17

1.3.3.2 Tecniche di multiplazione nella trasmissione via satellite


Per sfruttare la grande ampiezza di banda di un satellite necessario convogliare simultaneamente
parecchie informazioni. Per fare questo si usano due tecniche fondamentali:
Frequecy Division Modulation (FDM), ovvero multiplazione a divisione di frequenza;
Time Division Modulation (TDM), ossia multiplazione a divisione di tempo.
Il principio fondamentale su cui si basa la tecnica FDM illustrato in figura:

Utente n1

Utente n2

Utente n3

Utente n4

Banda trasmissiva totale messa a disposizione dal satellite


Questa tecnica prevede che lampiezza totale della banda disponibile venga divisa in un certo
numero di intervalli ciascuno dei quali viene messo a disposizione di un solo canale trasmissivo,
cos ogni utente utilizza la propria banda trasmissiva, contemporaneamente agli altri utenti, per
trasmettere dati.
Nella tecnica TDM, invece, la divisione non viene pi effettuata sulla banda di frequenza
disponibile, bens sul tempo di funzionamento del satellite:

Dati
da/per
lutente
n1

Dati
da/per
lutente
n2

Dati
da/per
lutente
n3

Dati
da/per
lutente
n4

Tempo di funzionamento del satellite

Dati
da/per
lutente
n1

In questa tecnica, il tempo di funzionamento del satellite suddiviso in periodi unitari, chiamati
time-slot, fissi e ripetitivi. Durante il primo intervallo trasmette un solo utente, il quale ha a
disposizione tutta la banda del satellite, finiti lintervallo di tempo a disposizione, lutente smette di
trasmettere o ricevere e subentra lutente successivo e cos via.
Un inconveniente comune alle due tecniche costituito dalla possibilit che gli utenti facciano un
uso saltuario della risorsa a loro assegnata: usando la tecnica FDM, per certi periodi vi saranno
alcuni canali trasmissvi scarsamente utilizzati, se invece viene usata la tecnica TDM vi sar un
numero pi o meno grande di time-slot inutilizzati. Utilizzando la tecnica FDM possono verificarsi
delle interferenze tra i canali con frequenza diversa, quindi si inseriscono tra i canali utente delle
bande inutilizzate (guardband) per ridurre il rischi di interferenza.
1.3.3.3 Tecniche di trasmissione dati via satellite
Si possono usare tecniche di trasmissione dati satellitare su base dinamica, per ovviare ai difetti
delle tecniche di multiplazione del segnale, come la pool/select, anche se come vedremo queste
determinano un rendimento disastroso dei canali trasmessivi.
18

In primo luogo, necessario che il satellite o una qualsiasi stazione terrestre svolga funzioni di
master. Se questa funzione svolta dal satellite il funzionamento il seguente:
Il satellite interpella la stazione A (fa il pool della stazione A) per sapere se essa ha necessit
di trasmettere o meno, la richiesta del satellite impiega 120ms per giungere alla stazione A e
la risposta della stazione impiega altri 120 ms per raggiungere il satellite; quindi un totale di
240 ms per sapere se la stazione deve trasmettere o no;
Supponiamo che A non deve trasmettere, per cui il satellite passa alla stazione B; se ci sono
100 stazioni e tutte rispondono negativamente al pool il satellite impiega 24 secondi per
effettuare lintero ciclo, si tratta di un tempo che rende il poooling negatico un evento
catastrofico;
Se invece A risponde positivamente al pool del satellite essa invia i dati al satellite quindi
passano altri 240 ms perch avvengano le operazioni;
Supponiamo ora che tali dati siano diretti alla stazione B, il satellite deve fare il select della
stazione B per verificare se in grado di ricevere e ci richiede altri 240 ms (120 ms per la
richiesta e 120 ms per la risposta);
Se B risponde positivamente, occorrono poi altri 120 ms perch essa venga raggiunta dai
dati, per un totale quindi di 600 ms perch i dati vadano da A a B.
Ora vediamo come cambiano le cosa se la funzione master svolta da una stazione di terra. Cos
tutte le funzioni di pool devono passare per i satelliti con un conseguente peggioramento dei tempi.
Se per esempio la stazione C funge da master per trasmettere i dati da A a B il sistema satellitare
necessita di 1200 ms un tempo enorme.
Il rendimento dei protocolli a domanda e risposta come il pool/select dipende anche da altri due
fattori:
Il tempo di propagazione dei segnali;
La lunghezza dei blocchi di dati trasmessi.
La dipendenza da entrambi questi fattori di tipo inversamente proporzionale e i motivi sono
intuitivi:
Per il primo fattore, chiaro che, per ogni domanda e ogni risposta, le stazioni in
comunicazione devono attendere che i segnali si propaghino tra mittente e destinatario e,
durante questa attesa nono possono che rimanere inattive;
In secondo luogo, quando una stazione trasmette blocchi di dati corti, essa sfrutta solo una
parte del tempo o dellintervallo di frequenza a propria disposizione, il che significa che
sfrutta solo una parte della capacit trasmissiva della linea.
Facendo studi sul rendimento in funzione del tempo di propagazione e della lunghezza dei blocchi
da trasmettere, si trovato che i lunghi tempi di propagazione del satellite consigliano lutilizzo
delle tecniche a domanda e risposta principalmente per il trasferimento dei dati piuttosto che per
applicazioni di tipo interattivo, infatti, per il trasferimento dei dati, possibile scegliere la
lunghezza dei blocchi in modo da minimizzare leffetto negativo dovuto alla distanza.
Le cose potrebbero migliorare se il trasferimento dei dati fosse attuato con linvio di un trenoo di
blocchi senza dover attendere la conferma per ogni blocco. Si comportano in questo modo le
tecniche a finestra (window): secondo queste tecniche, una stazione, una volta autorizzata alla
trasmissione, pu inviare un certo numero di blocchi consecutivi, senza dover attendere alcuna
risposta, fino al massimo permesso dalla window usata. In tal modo, mentre il primo blocco
ancora in viaggio, la stazione pu far partire il secondo e poi il terzo e cos via, minimizzando cos
leffetto del ritardo di propagazione.
Ci si potrebbe chiedere, allora, quali miglioramenti si possono ottenere estendendo quanto pi
possibile la dimensione della finestra:

19

Supponiamo che il canale via satellite in esame consenta una velocit di trasmissione di 50
kbps (50000 bit al secondo), che la stazione trasmittente invii blocchi lunghi 1000 bit e che
la finestra sia di 8 blocchi;
1
La stazione invia i primi 8 blocchi (8000 bit), impiegando un tempo di 160 ms ( 8 ! s );
50
Poi deve aspettare la conferma della stazione ricevente, quanto tempo dopo arriva la
conferma? Servono 160 ms perch gli 8 blocchi vengano trasmessi in linea, 120 perch essi
arrivino al satellite, 120 perch arrivino alla stazione ricevente, 120 ms perch la stazione
ricevete invii il messaggio di conferma al satellite e altri 10 ms perch il messaggio di
conferma arrivi dal satellite alla stazione trasmittente, il tempo che intercorre tra l0invio dei
dati e la conferma di avvenuta ricezione di 640 ms;
Di questi 640 ms, la stazione trasmittente impiegata solo per i primi 160 ms (per linvio
dei blocchi), mentre per i restanti 480 ms essa rimane inattiva, otteniamo cos un rendimento
del 25%.

Se invece la finestra fosse di 50 blocchi, la stazione trasmittente invierebbe 50 blocchi consecutivi


1
impiegando un tempo di 1 secondo ( 50 ! s ), attendendo poi i soliti 480 ms. il tempo complessivo
50
di 1.48 secondi, il che fornisce un rendimento del 66%.
chiaro quindi che il rendimento migliora allaumentare della dimensione della finestra.
facile inoltre considerare che il rendimento migliora anche allaumentare della lunghezza del
blocco. Consideriamo, per esempio, una finestra di 50 blocchi e una dimensione di 2000 bit per
ciascun blocco: in questo caso, il tempo di trasmissione doppio rispetto a quello visto prima, ossia
vale 2.48 secondi, il tempo di attesa sempre di 480 ms, quindi il rendimento dell80%
chiaro che, per aumentare sia la dimensione della finestra sia la dimensione dei blocchi,
necessario che le stazione rice-trasmittenti terrestri abbiano una capacit di memorizzazione
sufficientemente elevata: il motivo che ogni stazione deve poter allocare in memoria tutti i blocchi
di una finestra, in modo da poter rimediare ad eventuali situazioni di errore; considerando che il
costo delle memorie di massa va via via diminuendo, la rilevanza di questo limite si assottiglia.
Un limite pi consistente invece legato alla lunghezza dei blocchi di dati trasmessi: si tratta di un
parametro che va impostato, di volta in volta, in modo da ottenere il desiderato tasso medio di
errore. Per esempio, se non si vuole superare il limite di 1 errore ogni 100 bit trasmessi, trasmettere
blocchi da 1000 bit significa, in pratica, assicurarsi il collasso della linea; anche una lunghezza di
500 bit per blocco non sarebbe accettabile, in quanto servirebbe, in media, una ritrasmissione ogni
due blocchi, con la stessa probabilit di errore anche per i messaggi trasmessi per la seconda volta.
Per la trasmissione analogica via satellite, il tasso medio di errore compreso tra 10 !5 (cio 1 bit
errato ogni 100000) e 10 !6 (cio un bit errato ogni milione).
1.3.3.4 Il segnale GPS
I satelliti G.P.S. generano due diversi segnali di tipo numerico, che vengono chiamati L1 ed L2, alle
frequenze portanti rispettivamente di 1575.42 Mhz e 1227.60 MHz, modulati in BPSK (Binary
Phase Shift Keying), dei quali il primo serve per la localizzazione grossolana, quella di tipo civile, e
laltro per la localizzazione pi precisa, di tipo militare. Sono in uso tre codici pseudo-casuali
(PRN):
il codice comune di acquisizione dati (C/A) con una frequenza di 1023 Mhz e un periodo di 1
ms, trasmesso su L1;
il codice di precisione P, presente su L1 come P1 e su L2 come P2, che ha una frequenza di
10.23 Mhz;
20

codici di identificazione del satellite e di messaggio sullo satato dellorbita e del satellite.
La misura t viene eseguita confrontando il codice binario C/A in arrivo dal satellite con una sua
replica generata dal ricevitore. I due segnali vengono correlati e viene misurato il disallineamento
temporale t.

Nella figura evidenziato il ritardo di propagazione del segnale (definito come TOA, Tme Of
Arrival), e la successiva sincronizzazione.
1.3.4 Errori
Oltre agli errori dovuti agli orologi vi sono altri fattori che determinano lesattezza delle
misurazioni.
Uno di questi fattori ad esempio la ionosfera (uno strato di particelle cariche che va da 100 a 300
km di altezza); infatti le particelle di cui essa composta abbassano la velocit del segnale rendendo
imprecisa la misurazione della distanza dal satellite.
Un altro fattore che fa variare la
precisione delle misurazioni la
posizione dei satelliti; lerrore in
questo caso minimo quando un
satellite allo zenit e gli altri tre
sono equispaziati intorno al
ricevitore.

1.3.5 Precisione del sistema


Dipende da alcune variabili:
Tempo impiegato nella misura;
Tipo di ricevitori utilizzati;
Algoritmo di correzione applicato alle misure;
Da 30 a 100 metri per qualunque ricevitore utilizzato in modo autonomo.

21

STAZIONE DI LOCALIZZAZIONE SATELLITARE

Fig.1

22

1. Generalit
La nostra stazione di localizzazione satellitare composta da due elementi distinti:
La stazione mobile di localizzazione, con trasmettitore radio;
Il ricevitore radio, collegato al PC, per lelaborazione dei dati pervenuti dal satellite.
La necessit di costruire due apparati nasce dal fatto che sarebbe stato molto difficile, se non
impossibile, elaborare correttamente i dati ricevuti dal satellite con lausilio di un microcontrollore
della serie PIC16F87X. Quindi la decodifica della mantissa stata delegata ad un programma
appositamente strutturato con la possibilit di una visualizzazione cartografica della posizione
determinata dal sistema GPS.
Schema a blocchi

SISTEMA DI LOCALIZZAZIONE A G.P.S.


(Global Position System)

SCHEDA CON
MICROCONTROLLORE
PIC16F876 E
DISPLAY LCD

RICEVITORE
SATELLITARE
A 9600 bit/s

MODULO
TRASMETTITORE
FSK 433,65MHz

UNITA MOBILE

MODULO
RICEVITORE
FSK 433,65MHz

SCHEDA INTERFACCIA
SERIALE RS232

INTERFACCIA PER COMPUTER REMOTO

2. La stazione mobile di localizzazione


Questo apparato (fig.1) costituito principalmente da quattro elementi distinti:
Il sistema di ricezione satellitare Trimble Lassen SK8;
Il sistema di visualizzazione su schermo LCD;
Il sistema di trasmissione radio dei dati raccolti;
Il sistema di gestione e di controllo con microcontrollore.
Lunit mobile formata da un ricevitore satellitare Trimble Lassen SK8, un display compatibile
Hitachi HD44780U e un modulo trasmettitore FSK da 433,65MHz, collegati su una scheda con
microcontrollore PIC16F876.

23

La scheda con microcontrollore acquisisce i dati dal ricevitore satellitare con il protocollo TSIP
(Trimble Standard Interface Protocol) a una velocit di 9600 bit/s.
I dati acquisiti dal microcontrollore, nonch le coordinate della posizione dellantenna del ricevitore
satellitare, vengono inviati al modulo trasmettitore a intervalli regolari, che saranno ricevuti e
opportunamente elaborati da un computer remoto per visualizzare a monitor la posizione dellunit
mobile.
Il display a LCD visualizza lo stato della ricezione o della trasmissione in corso, oppure eventuali
errori. Il led rosso, collegato in parallelo allabilitazione del modulo trasmettitore, segnala
uneventuale trasmissione in corso; il led verde si accende quando il circuito acceso e il led
bicolore viene pilotato via software per eventuali segnalazioni del programma.
La scheda, provvista di apposito interruttore, alimentata da una batteria a 12V e mediante uno
stabilizzatore di tensione fornisce 5V costanti per lalimentazione del ricevitore, del
microcontrollore, del display e del trasmettitore. Inoltre la scheda, anche con interruttore aperto,
fornisce tramite 78L05, 5V opportunamente stabilizzati per il mantenimento del backup dei dati;
questo accorgimento serve per mantenere in memoria del ricevitore lultima posizione delle
coordinate prima dello spegnimento, in modo da accorciare i tempi di riavvio alla prossima
accensione dello stesso.
Il circuito provvisto di un trimmer per regolare il contrasto del display LCD.
HITACHI LCD HD44780U
J3

LCD1

+5 V
VPP
VDD

6
5
4
3
2
1

R5

VDD

RB7
RB6

C9

20

+5 V

J4
1
2
3
4
5
6
7
8
9
10
11
12
13
14

VBACKUP

RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0

22pF

VDD

28
27
26
25
24
23
22
21

MCLR Vp

RB7/PGD
RB6/PGC
RB5
RB4
RB3/PGM
RB2
RB1
RB0/INT

18
17
16
15

RC7/RX
RC6/TX
RC5
RC4

19

RB3
RB2
RB1
RB0

C10

100nF

RJ45 6/6
TO ICD-MODULE

10k

RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VRF+
RA4/T0CK1
RA5/AN4
RC0
RC1
RC2
RC3
OSC1/CLKIN
OSC2/CLKOUT

VSS

VSS

VPP

RB4
RB5

2
3
4
5
6
7

14
13
12
11
10
9
8
7
6
5
4

D7
D6
D5
D4
D3
D2
D1
D0

+5 V

LCD

CON

8k2
RV2

2X16

E
R/W
RS

R6

22k

0-3,8V
-

visualizzatore LCD 2x16


J5

+12 V

11
12
13
14
9
10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

R7
220
OSC1
OSC2

DL3
LED ROSSO

U3
PIC16F876

STRIPGPS

OSCILLATORE AL QUARZO
OSC2

TX-DFM-12V 433,65 MHz

E2
ANTENNA EMITTENTE

OSC1
Y1
4,000 MHz

C11
22pF

C12
22pF

SEZIONE DI ALIMENTAZIONE
D3
POWER SWITCH
S2

U4

D4
J6-1
J6-2

1
2

C13
1000uF

C14

7805
3

+5 V
C15

1!

47 !F
16 V

C16

R8
220

1!

LED VERDE
DL4

+12 V

D5

U5
1
C17
470 !F

C18
1!

M
2

78L05
3
C19
47 !F
16 V

VBACKUP

Trasmettitore (Unit Mobile)

C20
1!

Title
Size
A3
Date:

Sistema di localizzazione GPS


Document Number
1.0
Monday, March 29, 2004

Rev
4.0
Sheet

of

Schema elettrico unit mobile di localizzazione


2.1 Il sistema di ricezione satellitare Trimble Lassen SK8
Questo apparato costituito principalmente da una scheda di elaborazione dati e da unantenna
satellitare. Pi specificatamente il modulo riceve i segnali GPS attraverso il connettore dellantenna,
24

li amplifica e li passa al convertitore di radiofrequenza. Un oscillatore al quarzo a 12.504 Hz usato


dal convertitore per produrre i segnali usati dal DSP ad 8 canali, questo estrae il segnale modulato
alla velocit di 50 bit al secondo, gli 8 canali recano le informazione degli 8 satelliti pi alti
sullorizzonte, infine una CPU elabora queste informazioni per estrapolare i dati.
un sistema autonomo che provvede alla ricerca e alla selezione dei satelliti fornendo come uscita
la mantissa contenente le informazioni per ricavare la posizione della stazione mobile. Lesecuzione
delle operazioni, da parte di questo apparato, non immediata in quanto al momento
dellaccensione esso deve provvedere alla ricerca dei satelliti, quando ne ha trovato almeno uno,
provvede al download dellalmanacco, con la posizione aggiornata di tutti i satelliti satelliti e le
informazioni relative alla sincronizzazione con lorologio atomico del satellite, poi ricerca gli altri
tre satelliti e ne ricava i dati relativi riguardanti il tempo di trasmissione per poi permettere la
corretta localizzazione della stazione.
In questo caso si distinguono due tipi di attivazione:
Avvio a freddo (cold start), consiste nella prima volta che il ricevitore attivato; in due
minuti, al massimo, il sistema individua un numero sufficiente di satelliti, mentre sono
necessari almeno quindici minuti per caricare nella RAM, dellunit dinterfaccia, un
almanacco completo;
Avvio a caldo (warm start), avviene quando il ricevitore rimasto spento per un periodo di
tempo relativamente breve, quindi lultimo almanacco ricevuto memorizzato con una
conseguente approssimativa conoscenza della posizione dei satelliti. Questo comporta una
riduzione del tempo di attesa per ottenere una prima acquisizione della posizione.
Il modulo Trimble comunica con lhardware dellutente attraverso due diversi protocolli: il TSIP e
il NMEA. La nostra scheda a microcontrollore utilizza post RS-232 compatibili impostati in modo
da poter acquisire dati inviati con protocollo TSIP.

INGRESSO e USCITA
Velocit: 9600 Baud
Bit per parola: 8
Tipo di parit: dispari
Bit di stop: 1

Caratteristiche port con protocollo TSIP

Il protocollo TSIP mette a disposizione dellutente 75 comandi per configurare il sistema. Il sistema
di trasmissione basato sullinvio di pacchetti di informazioni. Ogni pacchetto inizia con u8n
codice di comando che equivale a byte10 ed un altro byte che identifica il significato ed il
formato dei dati che seguono. I pacchetti terminano con due byte di controllo 10 e 03.
La struttura del pacchetto la seguente:
<DLE><id><byte della stringa di dati><DLE><EXT>
<DLE>: il byte 10;
<EXT> : il byte 03;
<id> : il byte di identificazione del pacchetto, pu assumere tutti i valori tranne 10 e 03;
I byte della stringa di dati possono assumere qualsiasi valore;
25

la fine del pacchetto preceduta da un numero dispari di byte <DLE> seguito da <EXT>.
Nella tabella descritto il pacchetto informazioni da noi usato:
BYTE
0-3
1-7
8-11
12-15
16-19

ITEM
Latitudine
Longitudine
Altitudine
Istante di rilevazione

TIPO DI DATO
Singolo
Singolo
Singolo
Singolo
Singolo

UNITA DI MISURA
Radianti; + per il nord, - per il sud
Radianti; + per lest, - per lovest
Metri
Metri
Secondi

2.2 Il sistema di visualizzazione su schermo LCD


Il display LCD stato introdotto per una maggiore intelleggibilit dellapparato, in quanto su di
esso vengono visualizzate in tempo reale le operazioni svolte dalla stazione. Si tratta di un metodo
comunicativo che rende il sistema pi intuitivo i facile da usare, infatti indica istantaneamente se il
localizzatore ha travato i satelliti, se ha inviato i dati contenenti la posizione al PC per
lelaborazione, ecc.
La visualizzazione gestita ovviamente da microcontrollore attraverso il programma di gestione
della stazione.
2.3 Il sistema di trasmissione radio
Tutti i dati ricevuti da satellite ed elaborati dal sistema di ricezione satellitare vengono inviati alla
stazione ricevete collegata al PC attraverso un collegamento radio realizzato con lausilio dei
modulini trasmittenti e riceventi FM digitali Aurel.
Questi moduli trasmettono ad una frequenza di circa 433 Mhz in 2FSK.

Modulo trasmettitore FM digitale


Aurel TX-DFM -12V
Pin-out
1) +12V
2) Tx-enab1e
3) Ground
4) Data input
5) Aux . output
9) Ground
13) Ground
15) RF Output
16) Ground

Frequenza portante in assenza di modulazione (pin 4 < 0,5V):


433,65 MHz ottenuta mediante risuanatore SAW;
Modulazione 2FSK con !f= + 150 KHz (pin 4 > 3V);
Frequenza di modulazione in onda quadra: 10

KHz max.

Baud rate max: 19200 bit/s;


Impedenza di uscita RF: 50 ";
Potenza di uscita RF su carico da 50

26

": <10 mW (<10 dBm)

2.4 Il sistema di gestione e di controllo


Tutta la gestione della stazione gestita da un microcontrollore della serie PIC16F876 con
opportuno programma interamente realizzato da noi.
Il programma provvede alla memorizzazione dei dati provenenti dal modulo Trimble, assicurandosi
di salvare solo quelli corretti, allinvio dei dati attraverso il trasmettitore Aurel e alla gestione del
display.
Sotto riportato lintero programma di gestione.
;

gps.asm

;****************************************************************************
LIST P=16F876
;INCLUDE FILE, CHANGE DIRECTORY IF NEEDED
INCLUDE "P16F876.INC"
E
RS
CHAR

EQU
EQU
EQU

04H
05H
020H

CONT1
CONT2
CNTBYTE
TEMP
STATUS_TEMP EQU
W_TEMP
START_TX
CT_NIBBLE
CT_LEVEL
CTRL_BYTE
LAST_BYTE

EQU
EQU
EQU
EQU
025H
EQU
EQU
EQU
EQU
EQU
EQU

021H
022H
023H
024H

ORG
GOTO

0000H
START

ORG

0004H

GOTO

IRQ

CLRF

CT_LEVEL
memoria

026H
028H
029H
030H
031H
032H

;fine blocco RAM utilizzato per salvare dati

;ultimo blocco RAM da trasmettere

;il PC caricato con questo indirizzo quando riceve l'interrupt


;l'indirizzo di ritorno dall'interrupt salvato sullo stack

START
;azzero il contatore utilizzato per il controloo dei dati salvati in

;****************************Impostazioni del Ricevitore seriale**************


BCF
BCF
MOVLW
MOVWF

STATUS,RP0
STATUS,RP1
B'10010000'
RCSTA

;banco 0

;SPEN RX9 SREN CREN X FERR OERR RX9D


;-abilito la porta seriale su RC7 e RC6 (RX\TX)
;-imposto la ricezione(di tipo asincrono) a 8 bit
;-abilito la ricezione continua

(10010000)

;*************************Impostazioni del Trasmettitore seriale**************


BCF
BSF
MOVLW
MOVWF

STATUS,RP1
;banco 1
STATUS,RP0
B'00100100'
TXSTA
;CSRC TX9 TXEN SYNC X BRGH TRMT TX9D
;-imposto la trasmissione a 8 bit

27

(00000100)

;-imposto il modo di trasmissione asincrono


;-imposto la modalit High Speed
;****************************Impostazioni del Baude Rate Generator************
MOVLW
MOVWF

19H
SPBRG

;imposto la velocit a 9600 Baud (25D)


;la formula per il baud rate Fosc/(16(x+1))
;con x=valore in SPBRG e Fosc=4 MHz

;********************************Impostazioni dei port************************


MOVLW
MOVWF

'10000000'
TRISC

;RC7=RX=ingresso

MOVLW
MOVWF

'11000000'
TRISB

;RB7 RB6 settato come ingressi (ICD)

MOVLW
MOVWF

FFH
TRISA

;port A settato come ingressi (ALTA IMPEDENZA)

BCF

STATUS,RP0

RC6=TX=uscita

;banco 0

;***************************INIZIALIZZAZIONE DEL DISPLAY**********************


INIDSP BCF
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
MOVLW
CALL
BSF

PORTB,E
033H

RITARDO
;RITARDO DI 0.2S PER SETUP DI Vdd
;SET DI INTERFACCIA A 4 BITS
VISBYTE

032H
028H
08H
0FH
06H
01H

VISBYTE
;SETTAGIO PER 2 LINEE E 5X7 CHR. FONT
VISBYTE
;TURN OFF DISPLAY AND CURSOR
VISBYTE
;TURN ON DISPLAY AND CURSOR
VISBYTE
;SHIFT AUTOMATICO A DESTRA
VISBYTE
;CLR DISPLAY
VISBYTE
PORTB,RS
;INVIO DI DATI AL DISPLAY: RS A LIVELLO H

Movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call

'C'
visbyte
'O'
visbyte
'R'
visbyte
'S'
visbyte
'A'
visbyte
'T'
visbyte
'O'
visbyte
'.'
visbyte
'.'
visbyte
'.'
visbyte

CALL

RITARDO

BCF
MOVLW

;EN A LIVELLO L

01H

PORTB,RS
;INVIO DI ISTRUZIONI AL DISPLAY: RS A LIVELLO L
;CLEAR DISPLAY

28

CALL
BSF

VISBYTE
PORTB,RS

movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call

'M'
visbyte
'I'
visbyte
'N'
visbyte
'O'
visbyte
'Z'
visbyte
'Z'
visbyte
'I'
visbyte
'.'
visbyte
'.'
visbyte
'.'
visbyte

CALL

RITARDO

BCF
MOVLW
CALL
BSF

PORTB,RS
01H
VISBYTE
PORTB,RS

Movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call

'V'
visbyte
'E'
visbyte
'R'
visbyte
'Z'
visbyte
'A'
visbyte
'.'
visbyte
'.'
visbyte
'.'
visbyte

CALL

RITARDO

BCF
MOVLW
CALL
BSF

;INVIO DI DATI AL DISPLAY: RS A LIVELLO H

PORTB,RS
01H
VISBYTE
PORTB,RS

;******************************Indirizzamento Indicizzato(indiretto)**********
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVF
MOVWF

040H
START_TX
;inizio blocco RAM utilizzato per salvare i dati
058H
STOP_TX
;fine blocco RAM utilizzato per salvare i dati
LAST_BYTE
;ultimo dato salvato in RAM da trasmettere
START_TX,W
FSR
;inizializzo il registro indice (FSR) all'indirizzo di partenza

;**********************************Impostazioni Interrupt*********************
MOVLW

B'11000000'

29

MOVWF

INTCON

;imposto il registro per la gestione globale degli interrupt (INTCON)


;-abilito tutti gli interrupt non mascherati
;-abilito tutti gli interrupt periferici non maschrati

BSF
MOVLW
MOVWF
BCF

PIE1

STATUS,RP0
;banco 1
B'00100000'
;imposto il registro per la gestione degli interrupt periferici
(PIE1)
;-abilito l'interrupt di ricezione USART
STATUS,RP0
;banco 0

;******************************************************************************
GOTO

MAIN

;****************************GESTIONE INTERRUPT*********************************
IRQ

MOVWF
MOVF
MOVWF
BCF

W_TEMP
;salvo il contenuto dell'accumulatore in una variabile
temporanea
STATUS,W
STATUS_TEMP ;salvo il contenuto del registro status in una variabile temporanea
RCSTA,CREN

;...................Test dell'interrupt del ricevitore seriale................


RET

BTFSS

PIR1,RCIF
;controllo se il byte ricevuto stato trasferito a RCREG
;Se RCIF=1 (buffer USART pieno),salta l'istruzione successiva
RET

GOTO

;..................Ricezione di un byte ogni volta che c' un interrupt.......


BANKSEL
BCF
BCF
BCF
MOVF
MOVWF

PIE1
;banco 1
PIE1,RCIE
;-disabilito l'interrupt di ricezione USART
STATUS,RP0
;banco 0
PIR1,RCIF
;resetto il flag di ricezione USART (buffer vuoto)
RCREG,W
;carico il byte ricevuto...
CTRL_BYTE
;...e lo sposto in CTRL_BYTE

;***************************CONTROLLO*******************************************
MOVF
SUBLW
BTFSC
GOTO
MOVF
SUBLW
BTFSC

00H

01H

GOTO

CT_LEVEL,W
;-carico il contatore in W...
;...ne sottraggo 0
STATUS,Z
;controllo il bit Z del registro STATUS
;-se 0: salto l'istruzione successiva
;-se 1 (locazione 40h): eseguo l'istruzione successiva
CTRL_10
;
CT_LEVEL,W
;-carico il contatore in W...
;...ne sottraggo 0
STATUS,Z
;controllo il bit Z del registro STATUS
;-se 0: salto l'istruzione successiva
;-se 1 (locazione 41h): eseguo l'istruzione successiva
CTRL_4A
;

;*******************************************************************************
R_CTRL
MOVF
MOVWF
INCF
MOVF
SUBWF
BTFSS

GOTO
CLRF
CALL
CALL
CALL

CTRL_BYTE,W ;carico il dato ricevuto in W


;...e lo salvo in memoria
FSR,F
;incremento il registri indice FSR
STOP_TX,W
;carico l'ultimo indirizzo di RAM in W...
FSR,W
;...ne sottraggo l'indirizzo del registro FSR...
STATUS,Z
;...e controllo il bit Z di STATUS
;-in questo modo verifico se sono stati salvati tutti i byte
RETINT
;
CT_LEVEL
;se s, azzero il contatore...
VISRAM
;
INVIO
;...scrivo sul display...
TX
;...e invio i dati
INDF

30

FINE_RX
CLRF
MOVF
MOVWF
BCF
MOVF

CT_LEVEL
START_TX,W

;azzero il contatore
;preparo l'indirizzamento indiretto per successiva ricezione

RCSTA,CREN
RCREG,W

;abilito la ricezione continua


;carico il dato ricevuto in W

FSR

;.......................Fine IRQ: ripristino i registri.......................


RETINT
BANKSEL
BSF
BCF
MOVF
MOVWF
SWAPF
SWAPF
BSF
RETFIE

PIE1
;banco 1
PIE1,RCIE
;abilito l'interrupt di ricezione USART
STATUS,RP0
;banco 0
STATUS_TEMP,W
;recupero il registro di stato....
STATUS
;...e lo ripristino
W_TEMP,F
W_TEMP,W
;ripristino W senza modificare il registro STATUS
RCSTA,CREN ;abilito la ricezione continua
;istruzione di ritorno da una subroutine di interrupt

;*************_RITARDO= (2+((3*CONT1)+5)*CONT2)*TCY_************************
RITARDO
MOVLW
MOVWF
MOVLW
MOVWF

0FFH
CONT1
0FFH
CONT2

DELAY
MOVF
MOVWF

CONT1,W
TEMP

DELAY1
DECFSZ
GOTO
MOVF
MOVWF
DECFSZ
GOTO
RETURN

TEMP,1
DELAY1
CONT1,W
TEMP
CONT2,1
DELAY1

;******INVIO A LCD I DATI CONTENUTI NELLA RAM DA START_TX A STOP_TX*********


;
;VISRAM
;
MOVF
START_TX,W
;
MOVWF
FSR
;
BCF
PORTB,RS
;
MOVLW
01H
;
CALL
VISBYTE
;
BSF
PORTB,RS
;VISRAM1
;
MOVF
INDF,W
;
CALL
VISBYTE
;
INCF
FSR,F
;
MOVF
STOP_TX,W
;
SUBWF
FSR,W
;
BTFSS
STATUS,Z
;
GOTO
VISRAM1
;
RETURN
;************INVIO A LCD IL BYTE CONTENUTO NELL'ACCUMULATORE*******************
VISBYTE
MOVWF
MOVLW
MOVWF
NIBBLE

CHAR
02H
CT_NIBBLE

31

SWAPF
MOVLW
ANDWF
MOVLW
ANDWF
IORWF
BSF
NOP
NOP
BCF

CHAR,F
B'11110000'
PORTB,F
B'00001111'
CHAR,W
PORTB,F
PORTB,E

MOVLW
MOVWF
MOVLW
MOVWF
CALL
DECFSZ
GOTO
RETURN

0FFH
CONT1
0DH
CONT2

PORTB,E

DELAY
CT_NIBBLE,1
NIBBLE

;*****************CONTROLLI MEMORIA****************************************
CTRL_10
MOVF
SUBLW
BTFSS

10H

GOTO
INCF
GOTO
CTRL_4A
MOVF
SUBLW
BTFSS

04AH

GOTO
INCF
GOTO

CTRL_BYTE,W ;carico il byte ricevuto in W...


;...ne sottraggo 10h...
STATUS,Z
;...e controllo il bit Z di STATUS
;in questo modo controllo se il byte ricevuto 10h
FINE_RX
CT_LEVEL,1
;se s, incremento il contatore...
R_CTRL ;...e salvo il dato in memoria
CTRL_BYTE,W ;carico il byte ricevuto in W...
;...ne sottraggo 4Ah...
STATUS,Z
;...e controllo il bit Z di STATUS
;in questo modo controllo se il byte ricevuto 4Ah
FINE_RX
CT_LEVEL,1
;se s, incremento il contatore...
R_CTRL
;...e salvo il dato in memoria

;***************TRASMETTO I BYTE CONTENUTI NELLA RAM*********************


TX
BCF
BSF

STATUS,RP0
PORTC,4

;banco 0
;ABILITO TX A 433 MHZ

CALL
BSF
BSF

RITARDO
STATUS,RP0
TXSTA,TXEN

;RITARDO DI 0.2

START_TX,W

;carico in W l'indirizzo del primo byte da inviare

;ABILITO IL TX DEL PIC

TXRAM
MOVF
MOVWF
TXRAM1
MOVF
CALL
INCF
MOVF
SUBWF
BTFSS
GOTO
CALL
BCF
RETURN

FSR
INDF,W
TXW
FSR,F
LAST_BYTE,W
FSR,W
;
STATUS,Z
TXRAM1

;carico il primo byte da inviare in W...


;...e lo trasmetto
;incremento il registro indice
;controllo se ho trasmesso tutti i byte
;
;

RITARDO
PORTC,4

;RITARDO DI 0.2S
;SPENGO TX A 433 MHZ

;**************TRASMISSIONE SINGOLO BYTE*********************************


TXW
BSF

TATUS,RP0

;banco 1

32

TXW1
BTFSS
GOTO

TXSTA,1
TXW1

BCF
MOVWF

STATUS,RP0
TXREG

;controllo se il registro di trasmissione vuoto (TRMT=1)


;banco 0
;sposto il contenuto di W (byte ricevuto) nel registro di trasmissione

RETURN
;************************************************************************
INVIO
BCF
MOVLW
CALL
BSF

PORTB,RS
01H
VISBYTE
PORTB,RS

Movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call

'I'
visbyte
'N'
visbyte
'V'
visbyte
'I'
visbyte
'O'
visbyte
''
visbyte
'D'
visbyte
'A'
visbyte
'T'
visbyte
'I'
visbyte
'.'
visbyte
'.'
visbyte
'.'
visbyte

CALL

RITARDO

RETURN
;****************PROGRAMMA PRINCIPALE**************************************
MAIN
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call
movlw

'R'
visbyte
'I'
visbyte
'C'
visbyte
'E'
visbyte
'R'
visbyte
'C'
visbyte
'A'
visbyte
''
visbyte
'G'

33

call
movlw
call
movlw
call
movlw
call
movlw
call
movlw
call

visbyte
'P'
visbyte
'S'
visbyte
'.'
visbyte
'.'
visbyte
'.'
visbyte

CALL
CALL

RITARDO
RITARDO

BCF
MOVLW
CALL
BSF

PORTB,RS
01H
VISBYTE
PORTB,RS

GOTO

MAIN

END

3. La stazione ricevente
Linterfaccia per il computer remoto costituita principalmente da un modulo ricevitore 2FSK da
433,65MHz e un Max232 per poter interfacciare serialmente un PC.
Il circuito alimentato da un
alimentatore da tavolo, ed
Modulo ricevitore FM digitale
provvisto
di
apposito
Aurel RX-DFM-3V3
interruttore
di
accensione,
tramite un 7805 stabilizza la
tensione a 5V per poter
alimentare correttamente il
modulo ricevitore e il Max 232.
Il Max 232 converte i livelli
TTL
provenienti
dalla
demodulazione FSK in livelli 12V e +12V per lo standard
seriale RS232. Il led verde si
accende quando il circuito
Pinout
acceso e il led rosso si accende
1)Rf lnput
10) Aux. Output
17) Ground
quando il modulo ricevitore
2) Ground
11) Carrier detect
18) Data output
riconosce la portante trasmessa.
7) Ground
12) Ground
19)RX-enable
8) Squelch level
14) Ground
20) +3,3V Supply
Il trimmer presente serve per
regolare il livello dello squelch
in caso di disturbi.
Il PC collegato deve avere un apposito programma per riconoscere e visualizzare le coordinate
inviate.
Nella figura successiva riportato lo schema elettrico dell0unit di interfaccia con il computer
remoto.

34

E1
ANTENNA RICEVENTE

+5 V1

P1
1
6
2
7
3
8
4
9
5

13
8
12
9
C1

4.7uF

CONNECTOR DB9

4
5

TO REMOTE COMPUTER

C2

1
3

R1IN
R2IN
R1OUT
R2OUT
C1+
C1C2+
C2-

J1

6
1

U1

C
C
V

2
3
2
X
A
M

T1IN
T2IN
T1OUT
T2OUT

CARDET

D
N
G

R2

RV1
10K
V-

4.7uF

DATAOUT

11
10
14
7

V+

6
DATAOUT

C3

5
1

10K

4.7uF

C4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

LED GIALLO
DL2

4.7uF

RX-DFM-3,3V 433,65 MHz


+5 V1
DATAOUT

+5 V1
R4

DL1
LED ROSSO

10K

SEZIONE di ALIMENTAZIONE

R1
220

D1

J2-1

J2-2

R3
CARDET

S1

D2

U2

POWER SWITCH

1
C5
1000uF

C6
1!

M
2

7805
3

Q1
10k

+5 V1
C7

47 !F

+
16 V

C8
1!

INTERFACCIA PER PC REMOTO(RICEVITORE)


Title

Sistema di localizzazione GPS

Size
A
Date:

Document Number

Rev
Sheet

of

4. Lo standard RS-232
Lo standard RS-232 un protocollo seriale di tipo asincrono
Seriale significa che i bit che costituiscono linformazione sono trasmessi uno alla volta su di un
solo filo. Questo termine in genere contrapposto a "parallelo": in questo caso i dati sono trasmessi
contemporaneamente su pi fili, p.e. 8, 16 o 32.
Parlando astrattamente si potrebbe pensare che la trasmissione seriale sia intrinsecamente pi lenta
di quella parallela (su di un filo possono passare meno informazioni che su 16). In realt questo non
vero in assoluto, soprattutto a causa della difficolt di controllare lo skew (disallineamento
temporale tra i vari segnali) dei molti trasmettitori in un bus parallelo, e dipende dalle tecnologie
adottate: p.e. in una fibra ottica, in un cavo ethernet, USB o FireWire (tutti standard seriali) le
informazioni transitano ad una velocit paragonabile a quella di un bus PCI a 32 fili. In questa nota
applicativa si parler solo di interfacce seriali "lente" cio gestibili da PC e microcontrollori
"normali", in particolare RS-232
Asincrono significa, In questo contesto, che i dati sono trasmessi senza laggiunta di un segnale di
clock, cio di un segnale comune che permette di sincronizzare la trasmissione con la ricezione;
ovviamente sia il trasmettitore che il ricevitore devono comunque essere dotati di un clock locale
per poter interpretare i dati. La sincronizzazione dei due clock necessaria ed fatta in
corrispondenza della prima transizione sulla linea dei dati.
Le unit di misura
Le unit di misura della velocit di trasmissione sono essenzialmente due: il baud ed il bit per
secondo (bps o, meno spesso, b/s), spesso trattate erroneamente come sinonimi.
Il baud rate indica il numero di transizioni al secondo che avvengono sulla linea; il bps indica, come
dice il nome, quanti bit al secondo sono trasmessi lungo la linea.
Nel caso di trasmissione binaria (cio presente un livello alto ed uno basso) le due cose
ovviamente coincidono, da cui la parziale equivalenza dei due termini. Nel caso di trasmissioni a
35

pi livelli, invece, possibile trasmettere con una sola transizione pi bit: se per esempio posso
trasmettere otto diversi valori di tensione tra 0 ed 7 volt, con un solo valore di tensione invio tre bit
(0V = 000, 1V = 001, 2V = 010) ed in questo caso una trasmissione a 1000 baud equivale ad una
a 3000 bps.
In questa nota parler solo di segnali binari trasmessi secondo lo standard RS232: quindi il baud
rate, pari all'inverso della durata di un bit, coincidente numericamente con il bps.
Half-duplex e full-duplex
Le due parole sono riferiti a sistemi con un solo ricevitore ed un solo trasmettitore, come nel caso di
un sistema che utilizza la RS232.
Il primo termine indica che la trasmissione bidirezionale ma non avviene contemporaneamente
nelle due direzioni: un dispositivo (ricevitore, listener o Rx) ascolta e laltro (trasmettitore, talkner o
Tx) emette segnali. Quando necessario si scambiano i ruoli.
La trasmissione full-duplex indica che la trasmissione bidirezionale e contemporanea. In questo
caso sono necessari ovviamente due fili oppure qualche altro sistema per distinguere i due messaggi
contemporanei nelle due direzioni. Lo standard RS232 full-duplex in quanto utilizzato un
conduttore separato per ciascuna direzione delle informazioni. Il vincolo in genere limitato alla
necessit che trasmissione e ricezione abbiano lo stesso formato.
Se la trasmissione sempre in un solo verso, si parla di simplex.
Come fatto un segnale RS-232
La cosa pi semplice per descrivere un segnale RS232 partire con un esempio.
Nellimmagine che segue visualizzato, in modo idealizzato, cosa appare collegando un
oscilloscopio ad un filo su cui transita un segnale RS-232 8n2 a 9600 bps rappresentante il valore
binario 00110000.

Lampiezza del segnale caratterizzata da un valore "alto" pari a circa +12V ed un valore "basso"
pari a 12V. Da notare che, nello standard RS-232 un segnale altro rappresenta lo zero logico ed
uno basso un uno, come indicato nel disegno e rovesciato rispetto al comune pensare.
A volte un segnale alto (+12V, cio uno zero logico) indicato come space ed uno basso (-12V,
uno logico) come mark.
Tutte le transizioni appaiono in corrispondenza di multipli di 104us (pari ad 1/9600 cio ciascun bit
dura esattamente l'inverso del baud rate).
La linea si trova inizialmente nello stato di riposo, bassa (nessun dato in transito); la prima
transizione da basso in alto indica linizio della trasmissione (inizia il "bit di start", lungo
esattamente 104us). Segue il bit meno significativo (LSB), dopo altri 104 uS il secondo bit, e cos
via, per otto volte, fino al bit pi significativo (MSB). Da notare che il byte trasmesso "al
contrario", cio va letto da destra verso sinistra. Segue infine un periodo di riposo della linea di
almeno 208us, cio due bit di stop e quindi (eventualmente) inizia un nuovo pacchetto di bit.
36

Le varianti possibili sono le seguenti:

Se la trasmissione pi veloce o pi lenta, la distanza tra i fronti varia di conseguenza (p.e. a


1200 bps le transizioni avvengono a multipli di 0,833 mS, pari a 1/1200)

Invece di trasmettere 8 bit, ne posso trasmettere 6, 7 o anche 9 (ma questultima possibilit


non prevista dalle porte seriali dei normali PC)

Alla fine possibile aggiungere un bit di parit

Alla fine la linea rimane nello stato di riposo per almeno 1 o 1.5 o 2 bit; notare che, se non
ho pi nulla da trasmettere, il riposo molto pi lungo, ovviamente. Molti sistemi non possono
utilizzano 1.5 bit di stop
In genere il formato del pacchetto trasmesso indicato da una sigla composta da numeri e cifre, per
esempio 8n1 e 7e2:

La prima cifra indica quanti bit di dati sono trasmessi (nei due esempi 8 e 7)

La prima lettera il tipo di parit (rispettivamente nessuna ed even-parity)

La seconda cifra il numero di bit di stop (rispettivamente 1 e 2)


Tenendo conto che esiste sempre un solo bit di start, un singolo blocco di bit quindi, per i due
esempi riportati, costituito rispettivamente da 10 (1+8+0+1) e 11 (1+7+1+2) bit. Da notare che di
questi bit solo 8 e, rispettivamente, 7 sono effettivamente utili.
Lo standard originale prevede una velocit fino a 20Kbps. Uno standard successivo (RS-562) ha
portato il limite a 64Kbps lasciando gli altri parametri elettrici praticamente invariati e rendendo
quindi i due standard compatibili a bassa velocit. Nei normali PC le cosiddette interfacce seriali
RS-232 arrivano in genere almeno a 115Kbps o anche pi: pur essendo formalmente al di fuori di
ogni standard ufficiale non si hanno particolari problemi di interconnessione.
Ovviamente sia trasmettitore che ricevitore devono accordarsi sul modo di trasmettere i dati prima
di iniziare la trasmissione.
E' importante garantire il rigoroso rispetto della durata dei singoli bit: infatti non presente alcun
segnale di clock comune a trasmettitore e ricevitore e l'unico elemento di sincronizzazione dato
dal fronte si salita del bit di start. Come linea guida occorre considerare che il campionamento in
ricezione effettuato di norma al centro di ciascun bit: l'errore massimo ammesso quindi pari alla
durata di mezzo bit (circa il 5% della frequenza di clock, considerando che anche il decimo bit deve
essere correttamente sincronizzato). Naturalmente questo limite non tiene conto della possibile
difficolt di riconoscere con precisione il fronte del bit di start (soprattutto su grandi distanze ed in
ambiente rumoroso) e della presenza di interferenze intersimboliche tra bit adiacenti: per questo
spesso si consiglia caldamente di usare un clock con una precisione migliore dell'1% imponendo di
fatto l'uso di oscillatori a quarzo.
Il bit di parit
Oltre ai bit dei dati (in numero variabile tra 5 ed 8) viene inserito un bit di parit (opzionale) per
verificare la correttezza del dato ricevuto. Esistono cinque tipi di parit:

None: nessun tipo di parit, cio nessun bit aggiunto

Pari (even): il numero di mark (incluso il bit di parit) sempre pari

Dispari (odd): il numero di mark (incluso il bit di parit) sempre dispari

Mark: il bit di parit vale sempre mark

Space: il bit di parit vale sempre space


I parametri elettrici RS-232
La tensione di uscita ad un trasmettitore RS232 deve essere compresa in valore assoluto tra 5V e
25V (quest'ultimo valore ridotto a 13V in alcune revisioni dello standard). A volte le tensioni in
uscita sono intenzionalmente diminuite a +/- 6V anzich 12V per permettere minori emissioni
EMC, peraltro sempre critiche, e favorire maggiori velocit di trasmissione..
37

Il ricevitore deve funzionare correttamente con tensioni di ingresso comprese, sempre in modulo,
tra i 3V ed i 25V. molti ricevitori commerciali considerano semplicemente una tensione di soglia al
valore di +2V (sopra viene riconosciuto un segnale alto, sotto uno basso) anche se ci non
pienamente aderente alla norme.
Limpedenza di uscita deve in ogni situazione essere maggiore di 300 ohm (anche a dispositivo
spento). Limpedenza di ingresso deve essere compresa tra i 3 ed i 7Kohm . La corrente prelevabile
in uscita mantenendo i corretti valori logici deve essere di almeno di 1.6mA (in genere per
maggiore di quasi un ordine di grandezza) e nel caso di corto circuito deve essere minore di 100mA.
Infine lo slew-rate (cio la pendenza del grafico del segnale nel passare da 1 a 0 o viceversa) deve
essere minore di 30V/us per evitare eccessive emissioni elettromagnetiche.
Come collegare una porte TTL o CMOS alla RS232
In genere i segnali utilizzati dai sistemi digitali variano tra 0 e 5V e non sono quindi quindi
direttamente compatibili con la standard RS232. In commercio esistono appositi traslatori di livello
che hanno il compito di fornire sia in trasmissione che in ricezione gli opportuni livelli pur non
modificando la forma del segnale trasmesso.
Alcuni integrati (per esempio i classici 1488 e 1489, rispettivamente un trasmettitore ed un
ricevitore, ambedue a quattro canali) sono molto usati in sistemo in cui presente (oltre
all'alimentazione logica di 5V o 3.3V ) un'alimentazione duale a +/-12V. Questo integrato, come
praticamente tutti i circuiti di questo tipo, contiene un inverter per ciascun canale e quindi nel
segnale in uscita o in ingresso uno zero logico appare come 0 volt, cio in quella che a molti sembra
essere la rappresentazione ovvia dei segnali digitali.
L'uso di questi integrati semplice ma non sempre attuabile a causa della necessit di disporre di
tre alimentazioni: si pensi per esempio alle apparecchiature alimentate a batteria.
Il MAX232 (ed integrati simili, fatti da un po' tutti i produttori di semiconduttori) un circuito
integrato che permette il collegamento tra logica TTL o CMOS a 5V e le tensioni RS-232, partendo
solo da un'alimentazione a 5V.
Per ottenere la tensione positiva e negative necessarie per il funzionamento dell'integrato usata
una configurazione a pompa di carica, costituito da circuiti interni all'integrato e quattro
condensatori esterni di circa 1 uF. La capacit effettiva dipende dal tipo di integrato e dalla relativa
frequenza di commutazione; a volte i condensatori sono presenti all'interno dell'integrato stesso.
Sono disponibili anche integrati che richiedono un'alimentazione di solo 3.3V (p.e. il MAX3232).
La sezione ricevente del MAX232 costituita da due porte invertenti che accettano in ingresso una
tensione di +/- 12V (o altra tensione compatibile allo standard RS232) ed in uscita hanno un segnale
TTL compatibile.
La sezione trasmittente ha due driver con in ingresso TTL compatibile ed in uscita un driver capace
di erogare una tensione di poco meno di +/- 10V, compatibile con lo standard RS232 (dipende dal
carico).
Un circuito a pompa di carica
Per ricavare le tensioni positive e negative necessarie per garantire i livelli richiesti dalla RS232
pratica comune utilizzare un duplicatore ed un invertitore di tensione a pompa di carica.

38

Le figure A e B mostrano come viene ottenuto il raddoppio della tensione. Una immagine che rende
l'idea quella di un contenitore (C2) che preleva acqua da una fonte e la riversa in un secondo
contenitore (C1) posto a maggiore altezza. Pi in dettaglio:

Inizialmente il condensatore C2 viene connesso tra massa e Vcc; quindi la corrente (in blu)
carica C2 alla tensione di alimentazione (in giallo)

C2 viene successivamente connesso tra Vcc ed un secondo condensatore C1; La tensione ai


capi di C1 deve essere uguale alla somma di Vcc e quindi C2 si scarica verso C1, che aumenta la
propria tensione rispetto a massa

Il processo ripetuto fino a quando la tensione ai capi di C1 uguale a 2Vcc: in questo caso
infatti C2 non si scarica pi
Analogamente le figure C e D mostra l'inversione di tensione:

Inizialmente C2 caricato alla tensione di alimentazione (magari, come nel disegno da


2Vcc, ricavata con il precedente circuito)

Quindi C2 connesso tra massa e C1 avendo cura di invertire le polarit. In questo modo C1
si carica a -2Vcc
Il limite dei circuiti a pompa di carica la limitata quantit di corrente disponibile (infatti se prelevo
corrente da C1 questo tende a scaricarsi, facendo scendere la tensione); nel circuito integrati
generalmente all'interni dei driver per RS232 la corrente disponibile di qualche mA sufficiente al
solo funzionamento del driver stesso.
La piedinatura del connettore RS-232 del PC
Sono disponibili sul PC due tipi di connettori RS-232: DB9 (nove pin) e DB25 (25 pin, il
connettore originale e presente solo sui PC pi vecchi); ambedue i connettori sono maschi e
praticamente identici dal punto di vista funzionale anche se non coincidente con quello proposto
dallo standard ufficiale.
Nell'immagine sono visualizzati in basso i
due tipi di connettori utilizzati sui PC di
vecchia generazione. Quello in alto
relativo alla porta parallela.
Non ho riportato un disegno dello schema
per un semplice motivo: in genere crea
solo problemi interpretativi in particolare
se non specificato se si tratta del
connettore maschio o di quello femmina e
se la vista dal lato connettore o dal lato
dei pin. Molto meglio leggere i numeri
sempre riportati sul connettore plastico.
Una nota: quello usato dal PC non il connettore previsto ufficialmente dallo standard che assegna
una funzione a tutti e 25 i pin del connettore DB25.
39

Di seguito la tabella con indicati i nomi dei segnali, il numero dei pin e la direzione del segnale (O
= uscita dal PC).
Sigla
TxD
RxD
RTS
CTS
DTR
DSR
RI
DCD
GND
-

25pin
2
3
4
5
20
6
22
8
7
-

9pin
3
2
7
8
4
6
9
1
5
1

In/Out
O
I
O
I
O
I
I
I
-

Nome
Dati trasmessi
Dati ricevuti
Request To Send
Clear To Send
Data Terminal Ready
Data Set Ready
Ring Indicator
Data Carrier Detect
Massa
Terra

Perch tanti fili ?


In teoria per ricevere e trasmettere un segnale RS-232 bastano tre fili: ricezione, trasmissione e
massa. Spesso lo anche in pratica.
Gli altri fili (spesso opzionali, ma dipende dallapplicazione) servono per il cosiddetto handshake
tra PC e periferica (o tra PC e PC) cio per sincronizzare in hardware la comunicazione.
Sono presenti due coppie di fili:

RTS/CTS: quando il PC inizia la trasmissione pone RTS alto, la periferica risponde quando
pronta ponendo CTS alto. Per interrompere la trasmissione la periferica pone CTS basso.

DTR/DSR: Quando il PC collegato per la prima volta, pone alto DTR. La periferica
risponde ponendo alto DSR
Purtroppo questo modo di procedere ha uninfinit di variazioni (in particolare le librerie MSWindows contengono anche errori implementativi !). La parola dordine : arrangiarsi per tentativi.
Un uso alternativo dei pin RTS e DTR l'utilizzo come fonte di alimentazione del dispositivo
collegato alla porta seriale stessa. L'esempio classico il mouse seriale ma nulla impedisce di
collegare un microcontrollore generico o qualche altro circuito. Unico ed importante limite la
corrente erogata, visto che questi pin non sono pensati per questo uso: opportuno limitarsi ad un
paio di mA anche se molti PC (ma non i portatili) permettono di arrivare tranquillamente a 10mA o
anche pi. Attenzione che una sorgente non regolata.
Uart
Gli UART integrati che permettono di trasformate il segnale parallelo proveniente dal processore in
segnale seriale. In genere vengono gestite dall'hardware tutte le funzioni a basso livello necessarie
(inserimento dei bit di start e di stop, generazione o riconoscimento del bit di parit, generazione di
interrupt) e spesso presente un buffer FIFO che permette di ricevere ed inviare dati anche quando
la CPU impegnata. La descrizione di una UART va oltre gli scopi di questo tutorial: vi rimando
quindi ad altre risorse disponibili in rete.
A volte, usando microcontrollori, questa funzione viene svolta in software anche se spesso in questo
modo non si superano i 9600bps.

40

5. La visualizzazione cartografica
I dati raccolti e inviati al computer remoto vengono elaborati da un programma realizzato in visual
basic che permette di visualizzare su una cartina il punto esatto nel quale si trova lapparato mobile
di localizzazione. Il programma permette di impostare la velocit di trasmissione (baudrate) nonch
di ricevere informazioni da eventuali altre stazioni mobili.

La finestra iniziale del programma non appena riceve i dati dal ricevitore fornisce subito i valori
delle coordinate in latitudine e longitudine, il numero dei satelliti localizzati dalla stazione mobile a
la sua altitudine. Nella finestra di sinistra possibile anche lorario sincronizzato con il satellite ed
accedere alla funzione di visualizzazione
cartografica. In questa sezione abbiamo
memorizzato diverse cartine con diverse zone
ma soprattutto con diverse scale in modo da
verificare anche la precisione del nostro
apparato.
Di seguito riporto i risultati delle nostre prove
di laboratorio.
La cartina a fianco comprende il territorio
comunale di Padova e si nota che il
programma localizza la nostra stazione
mobile nella zona di Mortise.

41

La cartina riportata sopra illustra in modo inequivocabile la massima precisione del nostro apparato.
Abbiamo inserito nella foto aerea del nostro istituto un reticolato geografico che ci ha permesso di
stabilire il grado di precisione del localizzatore. Lunico problema rilevato la portata dei
trasmettitori Aurel, che si aggira attorno al centinaio di metri, che ha un po limitato le nostre prove
per il resto posso dire che le prove hanno dato un risultato molto soddisfacente premiando i nostri
sforzi.
6. Conclusioni finali
La conclusione del nostro progetto stata molto gratificante perch ci ha permesso di toccare con
mano i risultati che ci eravamo prefissati ottenere. Con laiuto molto paziente del prof. ing. Mitrotta
siamo riusciti nel nostro intento approfondendo un tema molto interessante e di attualit come le
trasmissioni satellitari.
7. Ringraziamenti
Ringraziamenti speciali vanno fatti a : Minozzi Gianmaria & Verza Pierpaolo che mi hanno
sopportato, Guidotti Lorenzo, Marini Patric & Bettella Luca per aver fatto un bel lavoro, prof. ing.
Ercole Mitrotta per laiuto e la disponibilit, il prof. ing. Daniele Consolaro per le delucidazioni
42

sullargomento forniteci, la 5^TB perch sotto sotto una bella classe, gli U.S.A. per aver inventato
il sistema GPS (solo per questo per), mia mamma, mio pap e mio fratello.
8. Bibliografia e fonti
http://www.Ilmondodelletelecomunicazioni.it
http://digilander.libero.it/ingemitrotta/lezioni.htm sito del prof. ing. Ercole Mitrotta
http://users.ioi.it/sandry
http://tanzilli.com
http://www.itchiavari.org/topografia/index.html sito del dipartimento di tipografia e GPS
http://spazioinwind.libero.it/tvsat/index.htm
http://host.uniroma3.it
http://www.ien.it/ sito dellIstituto Elettrotecnico Nazionale Galileo Ferrarsi
Enciclopedia Encarta 2002
Enciclopedia De Agostini

43

Potrebbero piacerti anche