Indice

 

Prefazione del Consiglio di Classe                     p.   3

Abstract                                                 p.   5

Introduzione                                                           p.   6

 

Capitolo 1: Schema a blocchi                         p.   7

1.1             Composizione del sistema

1.2            Schema a blocchi

1.3            Schema ridotto

1.4            La realizzazione pratica

 

Capitolo 2: La stazione centrale                             p.  14

2.1            Schemi a blocchi

2.2          La comunicazione seriale

2.3          La memorizzazione dei grafici

2.4          Alcune funzioni interessanti

2.5          Il protocollo di comunicazione

2.6          Il simulatore

 

Capitolo 3: La centralina                              p.  31

3.1            Schemi a blocchi

3.2          Il modello Falcom

3.3          La sezione di adattamento

 

Capitolo 4: La trasmissione seriale                         p.  41

4.1            Generalità

4.2          Asincrona e sincrona

4.3          La parità

4.4          Interfaccia seriale RS-232

4.5          Piedinatura del connettore RS-232

4.6          Possibili schemi di collegamento

4.7          RS-232 con PIC 16F84

 

Capitolo 5: Il microprocessore PIC 16F876         p. 57

                   5.1   Generalità uP

5.2          La scelta del uP

5.3          Calcolo del pin I/O

5.4          Caratteristiche principali del PIC 16F876

5.5          Il programma a bordo del Pic

 

Capitolo 6: La conversione A/D                                      p.  74

6.1            Generalità

6.2          Classificazioni

6.3          Conversioni ad approssimazioni successive

6.4          Realizzazione pratica con ADC0801

6.5          L’ADC 0808

 

Capitolo 7: La rete GSM-UMTS                      p.  90

7.1            Il concetto di rete cellulare

7.2          Le tappe temporali

7.3          Frequenze di funzionamento

7.4          Elementi della rete

7.5          UMTS

7.6          Aspetti tecnologici dell’UMTS

 

 

Appendici                                                p. 105

 

A1 :  Il programma di centrale

A2 : Il programma sul  PIC 16F876

A3 :  Il programma simulatore

A4 :  Schema convertitore A/D

A5 :  Schema della scheda con PIC 16F876

A6 :  Il modulo FALCOM

A7 :  Possibile piano di montaggio

A8 :  Circuito stampato scheda PIC

A9 :  Circuito stampato scheda A/D          


Prefazione del Consiglio di Classe

 

 

Sempre più negli ultimi anni si è reso necessario avvicinare la scuola al mondo del lavoro.

Per ottenere questo risultato sono percorribili varie strade: una è la partecipazione dei futuri periti a stage aziendali (che per evidenti motivi devono avere una durata limitata nel tempo con la conseguenza di un ridotto coinvolgimento degli studenti nelle problematiche dell’azienda).

Una seconda strada potrebbe essere quella di far partecipare attivamente gli alunni allo sviluppo di un progetto come se fossero realmente a lavorare in un’azienda.

Per quanto riguarda la prima metodologia, gli studenti hanno partecipato ad uno stage di cinque settimane presso una importante azienda elettronica della zona, nota a livello mondiale per l’alta tecnologia che produce.

La seconda metodologia ha dato come risultato questa  dispensa: il Consiglio di Classe ha individuato un progetto di una certa complessità da sviluppare nell’intero arco di due anni scolastici nell’ambito delle ore di TDP e dell’area di progetto.

Per lo sviluppo del lavoro gli studenti hanno dovuto seguire il tipico iter aziendale:

 

 

 

 

·        Analisi delle specifiche

·        Progettazione

·        Realizzazione

·        Documentazione

L’impostazione a blocchi dello sviluppo del progetto, ormai pratica comune in qualsiasi attività produttiva, ha permesso di dividere il lavoro tra i vari studenti: ogni singolo “pezzo” dell’intero sistema è stato affidato di volta in volta a uno o più studenti, responsabili “in toto” della loro parte: alcuni si sono occupati del software (fortemente presente come componente immateriale in tutto questo lavoro), alcuni dell’hardware, altri della documentazione, badando comunque che alla fine tutti avessero fatto un po’ di tutto.

Questa suddivisione ha permesso ulteriormente di assecondare gli interessi personali degli studenti con il risultato accessorio di una maggior produttività.

Il ruolo dell’insegnante è stato di coordinatore dell’attività; l’intervento diretto è stato volutamente ridotto al minimo, e comunque solo per quelle poche parti che oggettivamente erano fuori della portata degli studenti. Questa scelta ha portato ad ottenere un prodotto che, anche se per alcuni aspetti può essere incompleto o evidentemente perfettibile, nell’insieme è più che apprezzabile.

 


Abstract

 

The plan  presented in this duplicated lectures notes was made by the fifth class of the electronic course with the collaboration of the chemistry course. It consists of a plan of environmental telecontrol: a computer side in the operative center telecontrols the level of air pollution, it has a dialogue with some external devices in the town. The devices connected with the central unit by GSM’s net, can measure CO2, Ozono, CO, Temperature, how explaned with an outline in the picture below.

 


 

 



Introduzione

 

Il progetto presentato in questa dispensa è stato realizzato dalle due classi quinte del corso di elettronica, con la collaborazione del corso di chimica. Si tratta di un progetto di monitoraggio ambientale: un computer posto nella centrale operativa monitorizza il livello di inquinamento, interrogando alcune centraline poste in città. Le centraline, collegate all’unita centrale tramite la rete GSM, sono in grado di misurare CO2, Azoto, CO, temperatura, come spiegato schematicamente in figura.     

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 


Capitolo 1: Schema a blocchi

 

1.1: Composizione del sistema

1.2: Schema a blocchi

1.3: Schema ridotto

1.4: La realizzazione pratica
1.1   Composizione del sistema

 

Il sistema e composto da blocchi remoti dislocati nel territorio (centraline) e da una stazione centrale .

 



Centralina

 
 


Stazione centrale

 

 

 


Nella stazione centrale è posto un computer collegato alla linea periferica GSM che provvederà a raccogliere i dati provenienti dalle centraline. Il PC elaborerà i dati e sarà  in grado di fornire valori, percentuali e grafici. Le centraline effettueranno delle misurazioni sulle grandezze inquinanti presenti nell’aria. A bordo delle stazioni periferiche e presente un telefono cellulare (GSM). E' evidente che il progetto, nel suo insieme, affronta aspetti elettronici e chimici.  Relativamente a questi ultimi, ci appoggeremo agli studenti del corso di chimica. Anche la parte elettronica risulta molto complessa, è quindi stata divisa tra due classi: la nostra classe si è occupata prevalentemente della progettazione dei blocchi software e hardware digitale, mentre l'altra classe ha affrontato la progettazione e realizzazione dei blocchi analogici (sensori, amplificatori…….).

 

 

1.2  Schema a blocchi

 

Nella figura seguente è illustrato lo schema a blocchi del sistema dove sono evidenziati alcuni particolari delle centraline.           

                                           


CENTRALINA

                                           


                                                   

Lo schema a blocchi del sistema può essere rielaborato come segue:

 

 


  

 

In questo modo si è evidenziato il blocco di collegamento dati.

Questo ci permette di sviluppare una versione "ridotta" del sistema  come illustrato nella figura seguente:

PC centrale

 

Linea seriale

 

Centralina

 
                                                                                                            

                                                                                                                                                                               

                                                                                                                                                                                                                                                                                                                                                           

 

 

 

1.3    Schema ridotto

 

La semplificazione precedente ci permette, nella fase iniziale, di fare a meno della parte a radio frequenza semplificando molto la fase di messa a punto del software. Per semplificare ulteriormente il sistema si è operato come illustrato nella figura seguente.


 


·        BLOCCO 1: Unità centrale

·        BLOCCO 2: Simulatore degli apparati di trasmissione dati, GSM e Telefono, utilizzati per la ricezione e la trasmissione dati.

·        BLOCCO 3: Formato da un PC che simula la parte delle centraline, che hanno il compito di rilevare le grandezze ambientali e tramite gli apparati di trasmissione inviarle al PC. Per simulare le centraline è stato utilizzato un programma in QBASIC che riproduce lo stesso comportamento delle unità remote. Per i dettagli sul simulatore vedere Cap.2.

 

 

 

 

1.4: La realizzazione pratica

 

Seguono alcune fotografie del prototipo realizzato in laboratorio.


 

 


 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 


Capitolo 2: La stazione centrale

2.1: Schemi a blocchi

2.2: La comunicazione seriale

2.3: La memorizzazione dei grafici      

2.4: Alcune funzioni interessanti

2.5: Il protocollo di comunicazione

2.6: Il simulatore 


2.1: Schemi a blocchi

 

La stazione centrale è composta da un PC collegato alla linea telefonica GSM tramite un modem FALCOM (vedi cap. 3)

 


 

 

 



Il compito del programma della centrale è di richiedere alle centraline, a intervalli regolari, i valori delle grandezze monitorate, di salvarli sul disco e fare il loro grafico.

Casella di testo: CENTRALINA

 

 

 


Il nucleo del sistema è il programma di gestione il cui diagramma di flusso è riassunto nella figura seguente:


 


 

 

 


L’interrogazione delle centraline dovrà avvenire in modo automatico a intervalli regolari ma, per semplicità, nel nostro lavoro le richieste vengono eseguite a mano.

 

La figura nella pagina seguente mostra il pannello principale del programma.


 


Il diagramma di flusso più dettagliato del precedente è illustrato

nella figura seguente:


 

 


2.2: La comunicazione seriale

 

Il dialogo con la centralina avviene su linea telefonica per mezzo di un modem; il dialogo con il modem avviene tramite linea seriale.

 


 


La gestione della seriale è implementata nel componente software  MSCOMM.OCX che si prende cura di tutti gli aspetti, alleggerendo notevolmente il lavoro di programmazione.

In particolare la ricezione dei caratteri in arrivo è ottenuta con un procedimento di “interrupt”, gestito anche questo dal componente sopra citato.

 

Il seguente diagramma di flusso  mostra nel dettaglio la gestione della seriale.


 


 

 


Principali funzionalità del componente MSCOMM

 

Per l’output si utilizza il comando:  MSCOMM1.OUTPUT=”……”  

 

 

 

Per l’input si utilizza l’interrupt.

L’interrupt è un insieme di segnali hardware asincroni che, se si verificano, bloccano lo stato del programma e vengono elaborati immediatamente. La routine lanciata dall’interrupt è:

RICEVI_CHAR

 

In ricezione si deve avere una stringa del tipo “$XX*#” letta con il comando: a=MSCOMM1.INPUT

Dalla stringa devono essere estratti i dati validi che verranno poi salvati negli array per poter essere visualizzati in qualsiasi momento.

 

2.3        La memorizzazione dei grafici.

 

Per essere in grado di visualizzare i grafici in qualsiasi momento, si usano degli ARRAY. Negli ARRAY vengono memorizzati i dati ricevuti, distinti secondo il loro tipo. Ad ogni array è associato un contatore, in modo da sapere in che posizione dobbiamo scrivere.

Dopo aver memorizzato il campione si incrementa di 1 il valore del puntatore.

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Valori CO

Valori CO2

Valori Oz

Valori temp

 

 

 

Esempio:

 

Valori_CO (Count_CO) = RISU         Tramite questo comando  si definisce in che array  salvare 

 

Count_CO = Count_CO+1                  Incremento il puntatore  per il prossimo campione.


Usando i valori degli array elaboro un grafico


 


 



  CO                         C2                       OZ                   TM

 


Per tracciare i valori sul grafico usiamo la sub: traccia_punto che  disegna il grafico stesso.

L’impostazione dei grafici dipende dalle sub opt_grandezze_mouseUp.

 

 

 

2.4       Alcune funzioni interessanti

 

All’inizio del programma bisogna impostare i valori corretti dei vari parametri, in particolare della seriale. Ciò viene fatto dall’evento FORM_LOAD.

 

MSCOMM1.COMMPORT=1

Indica l’ingresso della porta COMM1

 

MSCOMM1.RTHRESHOLD=1  

Abilita l’interrupt in ricezione

 

MSCOMM1.SETTINGS=”1200,n,8,1”    

Indica velocità  1200, nessuna parità, 8 bit di dati e un bit di

stop.

 

Uno dei punti focali del programma consiste nel riconoscimento delle stringhe in arrivo dalle centraline. Queste operazioni vengono eseguite dalla funzione PROCESSA_STRINGA_RX.

Questa controlla che i dati provenienti dalla centralina siano validi. Sono validi se il primo carattere è uguale a $ (bit di start) e l’ultimo carattere deve essere uguale a # (bit di stop). Ė realizzata come segue:

IF(MID$(STRINGA_RX,1,1)=”$”) AND _

   (MID$(STRINGA_RX,5,1) =”#”) _

THEN

      Stringa ok

ENDIF

 

Quindi una volta controllato che la stringa sia esatta mi ricavo i valori numerici, salvandoli in RISU.

STRINGA_VALIDA=MID$ (STRINGA_RX, POS_DOLLARO + 3, POS_CANCELLETTO –1)

Questo comando serve per ottenere la stringa desiderata in codice ascii.

Tipo = MID(STRINGA_RX, POS_DOLLARO +1, 2)

 

 

Un'altra importante funzionalità è la memorizzazione dei campioni letti, implementata dalla subroutine  SALVA_VALORE.

Salvo negli array il valore numerico. Ogni volta, oltre ad incrementare il contatore, devo salvare anche l’ora in cui il dato è arrivato.

IF GRANDEZZA_RICHIESTA $= XX THEN

     VALORI_XX (COUNT_XX)= RISU

     ORARIO_XX (COUNT_XX)= TIME

     COUNT_XX= COUNT_XX + 1

END IF

 

Per avere un grafico di un certo giorno, di una certa settimana, di un certo mese abbiamo scelto di creare un file per ogni giorno rispettivamente per CO, CO2, ozono e temperatura. Nei files deve venire memorizzato il valore, l’ora in cui vengono rilevati i dati e deve essere specificato il giorno in cui vengono presi i valori.

 

 

 

 

 

Esempio file:

      NOME: CO_15_03_02.dat

            ORA     VALORE

8.0                                                                10 %

9.0                                                                15 %          

10.0                                                            13 %

 

 

2.5: Protocollo di comunicazione

 

Nel nostro progetto le grandezze da rilevare sono quattro; è necessario quindi prevedere un linguaggio di comunicazione tra il Pc e le centraline tale da mettere in condizione queste ultime di capire quale delle quattro stiamo richiedendo.

La stringa trasmessa dalle centraline avrà il seguente formato:

 

$XX#

 

Comandi dall’unità Centrale

$:  Carattere di inizio stringa; è il primo carattere

     trasmesso dai sensori che indica l’inizio della

     trasmissione del dato.

 

XX:  indica la grandezza richiesta e possono essere:

2C ( Anidride Carbonica )

CO ( Ossido di Carbonio )

OZ ( Ozono )

TM ( Temperatura )

 

 #:  Carattere di fine stringa; indica la fine della   trasmissione dei dati.

 

Risposta della periferiche

La risposta delle periferiche deve essere:

 

$XX*#

 

$:        Carattere di inizio stringa; è il primo carattere trasmesso dai sensori che indica l’inizio della

trasmissione del dato.

 

XX:     Indica il tipo di grandezza che la periferica ci spedisce ( 2C; CO; OZ; TM ).

 

*:   Carattere ascii  di risposta. Contiene il valore letto dal convertitore A/D nelle centraline.

 

#:  Carattere di fine stringa; indica la fine della trasmissione dei dati.

 

      Nota: Tutti i caratteri sono espressi con codici ASCII.

 

 

2.6: Il simulatore

 

Il compito principale del programma è quello di simulare le

centraline per il rilevamento dei parametri TEMP, CO, 2C,OZ


 


·        Aspetta che gli venga richiesta una grandezza.

·        Controlla che parametro gli viene richiesto.

·         Commuta il valore numerico in codice ASCII.

·        Controlla se il numero di ingresso è composto da cifre e se vi fossero delle lettere deve sostituirle con zero. 

·        Spedisce una stringa del tipo : $OZX#

 

 


 

Il seguente diagramma di flusso chiarisce nel dettaglio le operazioni effettuate.

 


 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


CAPITOLO 3: La centralina

3.1: Schemi a blocchi

3.2: Il modulo Falcom

3.3: La sezione di adattamento

 

 

 

 

 

 

 

 

 

 

3.1 : Schema a blocchi

 

Lo schema a blocchi di massima è illustrato nella figura seguente:

 


 

 


Sono connesse alla linea telefonica GSM per mezzo del modulo Falcom.


La prossima figura contiene una descrizione più accurata della struttura logica di ogni unità.

 

 

 

 

 


Si notano le parti principali da cui sono composte :

 

1)                       Sensori

2)                      Amplificatore per l’adattamento del segnale

3)                      Conversione A/D

4)                      Scheda con microprocessore

5)                      Modulo GSM/Modem tipo Falcom

 

 

 

Con l’aiuto dei sensori possiamo rilevare la temperatura, la             presenza di CO2,O2,Oz e eventuali altre sostanze presenti nell’aria.

I dati raccolti vengono inviati al multiplexer e successivamente al convertitore A/D.

Il convertitore trasformerà la grandezza rilevata in un dato digitale. A questo punto il sistema di controllo, su richiesta dell’unità centrale, elaborerà i dati e li invierà per mezzo del telefono cellulare (FALCOM A2D-1) preposto al collegamento.

 

 

3.2 : Il modulo Falcom

 

Il Falcom è un  apparato che permette una facile connessione ad ogni tipo di terminale, è capace di ricevere e trasmettere dati per via telefonica molto velocemente e con il suo modem può accedere ad Internet.

 

FALCOM A2D-1 e formato da:

 


 

 

 

 

 

 

 


Come si è visto, noi utilizzeremo questo modulo per mettere in comunicazione le centraline remote col PC centrale: la cpu locale invia i dati al Falcom per mezzo della linea rs 232. Il falcom invierà quindi alla stazione centrale.

 

 

Caratteristiche tecniche meccaniche

 

·        Consumo di potenza: 40 mA/12V in ricezione, 210mA/12V in trasmissione

·        Potenza fornita: La centralina trasmette a –85dBm

·        Peso: 160g

·        Temperatura di lavoro: da –20 a +56°C 

·        Alimentazione: 10,8-31,2 Volt

·        Dimensioni: 115x54x33mm

 

Da queste caratteristiche si nota che può essere integrato perfettamente nella nostra applicazione, in  particolare risultano molto utili i larghi intervalli di temperatura e la tensione di    alimentazione, nonché il basso consumo che ben si adatta a un alimentazione a batteria.

 

 

 

 

3.3 : La sezione d’adattamento

 

Questa parte del progetto è stata creata dalla classe 5A.  Seguono alcune brevi note lasciano gli approfondimenti alla loro documentazione finale.

Tutti i sensori utilizzati nel progetto necessitano di  un circuito d’adattamento del segnale d’uscita al fine di renderlo compatibile con il range del convertitore A-D (0¸5V). Avendo sensori con 2 o 3 terminali, gli amplificatori sono necessariamente diversi: in ogni modo è possibile darne qui una  descrizione di massima.

Esso fondamentalmente si basa su una sezione d’amplificazione del segnale d’uscita presente sull’elettrodo del sensore denominato “sensing”; il guadagno dell’operazionale si ottiene modificando i valori dei due trimmer Rg e Rf. Un secondo operazionale permette la regolazione della tensione d’offset del circuito: tramite un trimmer multigiri è possibile cioè regolare il segnale d’uscita esattamente a 0V quando il sensore non è a contatto con il gas specifico. Quest’operazione è fondamentale in quanto il convertitore A-D non accetta tensioni negative in ingresso. I componenti principali sono rappresentati da operazionali estremamente stabili nei confronti della temperatura e nel tempo: come ad esempio l’ICL 7650. Inoltre per realizzare il circuito d’offset sono stati utilizzati due diodi di tensione di riferimento LM 336-2,5V. Per quanto riguarda il sensore d’ossigeno a due elettrodi realizzato da un’azienda diversa si fa ricorso ad un circuito convertitore corrente-tensione realizzato con un operazionale che presenta una tensione d’ingresso d’offset di 10mV (nel nostro caso un TLC27L2 realizzato in un contenitore a montaggio superficiale). Un resistore di carico permanente è inserito tra i due elettrodi per evitare polarizzazioni indesiderate durante i periodi di inutilizzazione, ma anche per far si che in uscita dell’A.O. l’offset sia praticamente nullo.

Nella pagina successiva si possono vedere i due circuiti in questione.

 


Circuito utilizzato per i sensori a due terminali

 

 


 

 


Circuito utilizzato per i sensori a tre terminali

 

 

 

SEZIONE DEI SENSORI

 

Tutti i sensori a tre terminali utilizzati nel progetto sono stati realizzati dall’azienda tedesca Sensoric , mentre quelli per l’ossigeno a due terminali sono stati fabbricati dalla Sixth Sence. Comunque tutti sono importati e distribuiti in Italia dalla Tecnosence.

 


I sensori utilizzati.

 

 


Lo schema della pagina seguente mostra il dettaglio  dell’amplificatore per il sensore di temperatura.

 

schema ampli sensori

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

Capitolo 4: La trasmissione seriale

 

4.1 : Generalità

4.2: Asincrona e sincrona

4.3: La parità

4.4: Interfaccia seriale RS-232

4.5: Piedinatura del connettore RS-232

4.6: Possibili schemi di collegamento

4.7: RS-232 con PIC 16F84

 

           

 

 

 

 

4.1: Generalità

 

Con queste note si intende fornire una breve panoramica delle tecniche di comunicazione seriale tra dispositivi digitali quali stampanti, terminali, unità di elaborazione, ecc., con particolare riferimento alla RS-232.

Una trasmissione di tipo seriale si ottiene quando gli 8 bit che costituiscono in un carattere, vengono trasmessi sequenzialmente e tramite un solo circuito, risulta così possibile l’impiego di linee telefoniche bifilari per collegamenti a grande distanza, naturalmente a velocità inferiori a quelle di tipo parallelo. In realtà questo non è vero in assoluto, soprattutto a causa di difficoltà di disallineamento temporale. Tra i segnali (skew) dei molti trasmettitori in un bus parallelo, la velocità dipende anche dal tipo di tecnologia adottate per la trasmissione (infatti, una trasmissione inviata tramite fibra ottica o cavi etherenet è equivalente alla velocità di trasmissione di un bus PCI a 32 fili).

 

 


               

 


 


 



4.2: Asincrona e sincrona

 

Vi sono due tipi di trasmissione seriale: asincrona e        sincrona.

Quando la distanza tra due caratteri consecutivi non è costante la trasmissione seriale è di tipo asincrona e per indicare l’inizio e la fine di ciascun carattere si fa uso rispettivamente di uno space, (0 logico) come bit di start, e di un mark, ( 1 logico) come bit di stop.

Dopo ogni transizione da uno a zero della linea, in ricezione inizia una procedura di controllo che consiste nel verificare se dopo T/2 secondi   (T = durata del bit), la linea è ancora a livello zero. Se la risposta è affermativa, il segnale ricevuto viene campionato per nove volte consecutive ad intervalli di T secondi.

 

 

 

 

 

 

 


I primi otto campioni così ottenuti vengono interpretati come caratteri e resi disponibili in forma parallela, mentre il nono campione, corrispondente al bit di stop, è utilizzato per una conferma a posteriori della esatta individuazione del sincronismo di carattere. Il principale svantaggio di una trasmissione asincrona è nella sua limitata efficienza; infatti, almeno il 20% del tempo è dedicato ai bit di start e di stop. Quindi ove si debbano trasferire con continuità rilevanti quantità di dati può essere conveniente eliminare i bit di start e di stop, e fare ricorso ad una trasmissione seriale di tipo Sincrona.

Nel caso di trasmissione sincrona i dati binari vengono trasmessi con continuità e sincronizzati con il clock di trasmissione. Pertanto è necessario che all’interfaccia di ricezione siano noti i sincronismo di bit e di carattere. Il sincronismo di clock viene generalmente fornito all’interfaccia da parte del modem che, a sua volta, lo estrae dal segnale ricevuto. Invece il sincronismo di carattere viene ricavato direttamente dall’interfaccia servendosi dei caratteri di sincronismo che vengono trasmessi con regolarità, ad esempio ogni 100 caratteri. Il vantaggio di questo tipo di trasmissione si ha in termini di efficienza rispetto alla trasmissione asincrona, ma si ha una maggiore complessità del modem e dell’interfaccia.

 

 

4.3: La parità

 

Nella trasmissione asincrona oltre ai bit dei dati (in numero variabile tra 5 o 8) si può inserire un bit di parità per verificare la correttezza del dato.

 

 

 

 

 

 


Esistono tre tipi di parità:

·        NONE: Nessun tipo di parità, cioè nessun bit aggiunto.

·        PARI: Detto anche Even, il numero di mark (incluso il bit di parità) è sempre pari.

·                   DISPARI: Detto anche Odd, il numero di mark (incluso il bit di parità) è sempre dispari.

 

Per esprimere più facilmente il tipo di parità usata si usano delle sigle contenenti il numero di bit trasmessi, il tipo di parità usata e il numero dei bit di stop; per esempio se si trova scritto 8n1, significa che si sono trasmessi 8 bit di dati, che si è usata la parità di tipo None e che si è trasmesso un solo bit di stop.

Tenendo conto che esiste un solo bit di start, un singolo blocco di bit è quindi, per l’esempio riportato, costituito rispettivamente da 10 unità (1+8+0+1). Da notare che di questi bit solo 8 sono utili.

 


 

4.4: Interfaccia seriale RS232

 

L’applicazione più comune delle interfacce seriali è il collegamento di due dispositivi numerici, indicati generalmente dall’acronimo DTE (Data Terminal Equipment), tramite modem o DCE (Data Communication Equipment).

 

 

 

 


     

      

 

Per rendere possibile l’interfacciamento (cioè il collegamento elettrico e meccanico e il corretto riconoscimento dei segnali di controllo) tra due dispositivi è necessario che le rispettive interfacce siano tra loro compatibili e cioè soddisfino entrambe a certe specifiche. Nel caso di interfacce seriali si fa spesso riferimento alla normativa EIA, RS-232C, equivalente alle specificheV.24, V.25 del CCITT (Comitato di consulenza telefonico e telegrafico). La normativa EIA RS-232 è stata studiata per i collegamenti seriali tramite modem, ma è molto comune anche un collegamento tra due interfacce RS-232 tramite un cavo invertente che prende il nome di Null-Modem.

 

 

4.5: Piedinatura del connettore RS232

 

Sigla

25 pin

9 pin

In\out

Nome

Txd

2

3

O

Dati trasmessi

RxD

3

2

I

Dati ricevuti

Rts

4

7

O

Request to send

Cts

5

8

I

Clear to send

Dtr

20

4

O

Data terminal ready

Dsr

6

6

I

Data set ready

Ri

22

9

I

Ring indicator

Dcd

8

1

I

Data carrier detect

Gnd

7

5

-

Massa

-

-

1

-

Terra

 

Sono disponibili sul PC 2 tipi di connettori RS-232: DB9 (9 pin) e DB25 (25 pin).

La tabella precedente contiene i nomi dei segnali, il numero dei pin e la direzione del segnale (0 = uscita dal PC,  1 = ingresso nel PC

 

 

 

4.6: Possibili schemi di collegamento

 

Come si è visto, il collegamento seriale è utilizzato per lo scambio di dati tra dispositivi. Supponendo che siano pc, possiamo schematizzare due tipologie: computer molto distanti, o computer molto vicini.

   Linea

 
       

 

 

 

 

 

 


In questo secondo caso per ricevere e trasmettere un segnale RS-232 sono necessari un minimo di 3 fili: ricezione, trasmissione e massa.

Eventuali altri fili servono per il cosiddetto handshake tra PC e periferica, cioè per sincronizzare in hardware la comunicazione.

 

 

 

 

 

 


In questo secondo caso sono presenti almeno 2 coppie di                                  fili aggiuntivi:                      

·        Rts\Cts: quando il PC inizia la trasmissione pone Rts alto, la periferica risponde quando si pone 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.

 

Un uso alternativo dei pin Rts e Dtr è l’utilizzo come fonte di alimentazione del dispositivo collegato alla porta seriale stessa. 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 permettono di arrivare tranquillamente a 10 mA o anche più. Attenzione che è una sorgente non regolata.

 PC

 

 PC

 
 

 

 

 

 

 

 

 


Nel caso non si disponga di un cavo con i fili incrociati, si può far ricorso a un dispositivo (null modem) che provvede a realizzare l’incrocio.

 

 

 

 

 

 

 

 

 

 


4.7: Trasmissione di un byte seriale con il microprocessore PIC 16C84

 

 

· COSA  SIGNIFICA  TRASMETTERE  UN  BYTE  SERIALE

 

Trasmettere un byte seriale significa trasmettere 8 bit, che formano in byte, una alla volta, con un ritardo tra uno a l’altro di 833 uS (1200 bit/sec), secondo lo standard di trasmissione asincrona RS 232.

 

 

 

 

 

 


                                                                                                                                                

 

 

 

 

 

·  SVOLGIMENTO  DEL  PROGRAMMA

 

Per programmare il microprocessore PIC 16C84, in modo che trasmetta tramite il piedino di uscita della PORT  B il byte designato in partenza, useremo un compilatore di linguaggio C. Il programma verrà così sviluppato:

Supponendo che il byte che vogliamo trasmettere sia 10010111, noi dobbiamo per prima cosa far trasmettere dal processore il Bit start, che sarà sempre a livello basso, (PORT B=0x00), e successivamente dovremmo far trasmettere il byte, partendo dalla trasmissione del Bit 0 e poi degli altri in successione, che si farà in questo modo:

·        Eseguire un AND logico tra il byte da trasmettere e il numero 0x01(00000001), in modo che il risultato dipenda dal Bit 0 poiché se il Bit 0 è 1 il risultato(RIS) è 0X01, altrimenti il RIS è 0x00;

·        Eseguire una condizione la quale dichiari che se RIS è 0X01 la PORTB=0x01, (livello alto), altrimenti la PORTB=0X00, (livello basso);

·        Eseguire uno shift a destra del byte, ossia uno spostamento verso destra dei Bit in modo da ottenere questo risultato: si passa da 10010111 a 01001011, in modo che il Bit1, prenda il posto del Bit0 che è già stato trasmesso;

·       Dare un ritardo di 833 uS (1200 bit/sec)

 

Queste operazioni andranno ripetute per 8 volte, ossia per il numero di Bit (utilizzando un ciclo for), in modo che i Bit vengano trasmessi tutti.

 

 

 

 

 

 

 

·  ESEMPIO DI CODICE IN LINGUAGGIO C

 

/*==================================================

Function carattere

==================================================*/

void tx_char(chair cin)

{

     char i, ris;                //definizione le variabili

 

     for(i=0;i<8;i++)           //trasmetto 8 bit

     {

        //esegue la AND logica tra il byte da trasmettere e il  

//numero 0x01

        ris=cin&0x01;

 

//condizione che definisce la PORT B=0x01 (livello //alto) se il bit da trasmettere è 1

         if(ris=0x01)

         {

              PORT B=0x01;

         }

         else

          {     //condizione che definisce la PORT  B=0x00

//(livello basso) se il bit da trasmettere è 0

        PORT B=0x00;

          }

          rit_833_micro( );   //ritarda di 833uS la

//trasmissione tra  un bit

//e l’altro

        cin =cin>>1;                //shift a destra del byte da       

//trasmettere

         }

    }


 

 

 

 

 

 

 

 

 

 

Capitolo 5: Il microprocessore PIC 16F876

5.1: Generalità sui uP

5.2: La scelta del uP

5.3: Calcolo dei pin I/O

5.4: Caratteristiche principali del PIC16F876

5.5: Il programma a bordo del Pic

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.1: Generalità sui uP

 

Un microprocessore, (uP) è un circuito elettrico che elabora dati e informazioni; viene utilizzato nella didattica, per elaborare testi, per controllare processi industriali e altre applicazioni.

Nel nostro progetto verrà utilizzato come interfaccia tra i convertitori analogico-digitale e le schede  GSM, come viene spiegato nel disegno che segue.

 

Casella di testo: SENSORI
Casella di testo: A\D

 

 

 


Esso dovrà svolgere le seguenti funzioni:

Ø     Ricevere i dati digitali dal convertitore A\D, li rielabora e tramite il GSM li invia al PC.

Ø     Ricevere comandi dal PC e li esegue. 

 

In generale microprocessore è un unità di elaborazione caratteristica dei Personal Computer (PC); si caratterizza per le dimensioni decisamente contenute.

Può svolgere anche da solo un’ampia gamma di funzioni, poiché può riunire molte centinaia di migliaia di componenti in un singolo Cip.

Un microprocessore integrato contiene tipicamente una memoria per l’immagazzinamento del programma; può anche disporre di un estensione di memoria ad accesso casuale (RAM) per contenere dati transitori. La memoria per il programma  può essere a sola lettura (ROM), cioè una memoria il cui contenuto può essere letto più volte, ma non modificato, o, in molti casi, una EPROM o EEPROM: queste ultime sono riscrivibili, quindi permettono di modificare più volte il contenuto, e quindi il programma stesso.

Sono presenti anche alcuni registri per contenere le istruzioni, per contenere l’indirizzo delle istruzioni da eseguire, per i dati e un unità aritmetica-logica (ALU).

Solitamente l’integrato dispone anche di unità di I/O per collegarsi a dispositivi esterni.

 

 

 

5.2: La scelta del microprocessore

 

La scelta del uP da utilizzare riveste notevole importanza nello sviluppo di un progetto. Essendo in qualche modo il “motore” del sistema, esso influenzerà tutte le scelte successive. La sua scelta per oltre, dovrà essere tra le prime cose da fare per gli stessi motivi per cui si è detto.

Abbiamo adottato da tempo i uP della  Microchip della famiglia Pic, e quindi risulta scelta quasi obbligatoria mantenere questa soluzione, non fosse altro che per il know-hoow sviluppato.

Fortunatamente la famiglia dei  Pic è molto vasta e permette di affrontare un vasto numero di problemi.

Le caratteristiche principali dei Pic sono le seguenti:

·        Sono sistemi “single-chip” cioè in un unico circuito integrato sono contenuti CPU (Central Processing Unit), unità di I/O (Input/Output), EEPROM e RAM per il programma

·        Sono in tecnologia RISC ( Reduced Instruction Set Conpeter) quindi piuttosto veloce

·        Accetta quarzi fino a 20 MHz ottenendo tempi ridottissimi per ogni istruzione(200 usec)

·        Consumi molto ridotti

 

Gli aspetti principali che devono essere presi in considerazione, per la scelta del uP sono i seguenti:

a)    Dimensione della memoria EEPROM e RAM necessaria al nostro sistema

b)   Ordine di grandezza della velocità di esecuzione

c)    N° di piedini di I/O necessari

 

 

Per il punto a) non si prevedono problemi, essendo il nostro programma troppo ''esigente'' in fatto di occupazione di memoria.

La velocità di esecuzione (punto b) tra un limite inferiore fissato nella velocità della trasmissione seriale. Nel nostro caso si lavorerà a 9600 bit/sec, quindi tempi per trasmettere 1 bit di 104 usec, cioè sufficientemente grandi per essere gestiti da un Pic.

Il punto c) ha bisogno di un'analisi più approfondita.

 


5.3: Calcolo dei pin di I/O

 

 


 


                                                                                                                     

Nello schema a blocchi della figura precedente sono evidenziati i pin I/O necessari:

·        Il convertitore A/D è collegato con il microprocessore tramite 8 Bit di dati, 3 bit per il controllo canale, 2 bit per il colloquio hand-shake.

·        Il Falcom è un telefono cellulare tipo GSM collegato ad un modem. Il modem è utilizzato per mettere in comunicazione le centraline remote con il PC centrale. Il collegamento con il uP avviene tramite 2 bit, 1 di trasmissione e 1 di ricezione.

·        Anche il display è collegato con il uP tramite 2 bit, 1 di trasmissione e 1 di ricezione.   

 

     

IL NUMERO NECESSARIO DI PIN I/O E' QUINDI 17.

 

Dall'analisi dei data-sheets si trova che il Pic 16F876 è adatto alle nostre esigenze. Possiamo quindi già abbozzare una possibile configurazione del sistema


 

 

 

 


5.4: caratteristiche principali del pic 16f876

 

 

I microprocessori della Microchip sono raggruppabili in tre insiemi principali: modelli base, middle-range e high-range. Noi useremo il PIC16C84 che fa parte del insieme middle-range. Lo utilizzeremo come interfaccia tra il convertitore analogico-digitale, che serve per convertire i dati analogici dei sensori in dati digitali, e la scheda GSM che spedisce poi i dati al PC per mezzo del suo modem.

Le sue principali caratteristiche sono:

Ø            Architettura RISC (Reduced Istruction Set Computer) con 35 istruzioni

Ø            Frequenza di clock massimo: 20 MHz

Ø            8K EEPROM interna per il programma

Ø            22I\O pin con controllo individuale di direzioni

Ø                Watchdog timer

 

Lo schema a blocchi del chip è illustrato nella figura seguente.



 


Si notano in particolare 3 porte I/O, il convertitore A/D (non utilizzato nel nostro lavoro), i timer.


La mappa della eeprom è la seguente; in figura è evidenziato anche lo stack.

 


 

 


La figura seguente mostra la mappa della memoria RAM.



 


Si nota la notevole dotazione dei registri interni, molto utili in fase di programmazione.

 


 

5.5: Il programma a bordo del pic

 

Come accennato in precedenza, il programma di gestione delle centraline non è molto grande e non svolge compiti significativamente complessi. Deve sostanzialmente aspettare che arrivino dei comandi dalle centrale ed eseguirli. Essendo però situato in una  postazione fisicamente non raggiugibile dalla centrale, è stato necessario inserire una serie di accorgimenti per garantire il corretto funzionamento anche in condizioni critiche (ad esempio l'interruzione non prevista di una chiamata, mancanza improvvisa di alimentazione, errore della trasmissione dei dati ecc.). Il diagramma di flusso (semplificato) è illustrato nella figura seguente .


 

Ovale:    start
 


Esegui comando

 
   

 

 

 

 

 

 


                                                       no

 

                             

                                   si    

 

 

 

Il pic legge i sensori solo quando è interrogato. L’unita centrale a intervalli regolari chiama la centralina pic a cinque letture di vari sensori a distanza una dall'altra, poi fa la media (scartando eventuali false letture) e salva sul disco.

 

 

Il diagramma seguente mostra il flusso del dialogo tra pc e centralina.

 


 
 
 
 
 

 

 

 

 

 

 

 


Il diagramma del dialogo può essere riassunto come segue :

 

·        La centralina chiama il gsm

·        Il falcom spedisce la stringa “ RING ” al up della centralina che provvede a rispondere alla chiamata.

·        Quando il collegamento è stabilito, alla centrale arriva la stringa “CONNECT” che viene riconosciuto.

·        La centrale spedisce la stringa " 333 "alla centralina per indicare l'inizio del dialogo.

·        La centralina spedisce " ACK " .

·        La centrale riconosce “ACK” e inizia a inviare i comandi.

 

La comunicazione sarà interrotta solo dalla centrale che indicherà tale evento alle periferiche  con il messaggio “$FF# “. La periferica risponderà con “ACK” ed uscirà dal ciclo di esecuzione comandi.

Un diagramma di flusso più dettagliato è illustrato nella figura seguente.


 

 


       

 

 


                                                           No

 

                                                  Si

Risponde alla telefonata

 
 

                                                      

Decisione: Arrivato  “333” 

 

                                                               No

 

                                          Si

Spedisce "ACK"

 
                                             

Decisione: Arrivato
Comando? 
                           

                                                            

                                                     No

 

                                   Si

Si

 
Decisione: Comando è
$ff#
                                                           

 


No

 
                                   


Nel diagramma di flusso si notano alcuni cicli chiusi in se stessi; sono evidenti PUNTI CRITICI da trattare con cautela: potrebbe non uscire più e bloccare il sistema. Per evitare tali situazioni, all'interno dei cicli sono inseriti dei time-out, trascorsi i quali il programma si resetta.

                                                                                                                           

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CAPITOLO 6: La conversione A/D

 

6.1: Generalità

6.2: Classificazioni

6.3: Conversioni ad approssimazioni successive

6.4: Realizzazione pratica con ADC0801

6.5: L’ADC 0808
6.1: Generalità

 

 

I convertitori analogici - digitali trasformano una tensione (grandezza analogica) in un codice binario ad esso corrispondente (grandezza digitale).

 

 

            X                                                                     Y

Convertitore A/D

 
 

 


         Analogico                                                 Digitale

 

 

E’ evidente che la corrispondenza tra x e y (y = F(x)) non sarà una

 

funzione né lineare  né biunivoca.

 


 


Dalla figura si nota che tanto maggiore è il N° di bit dell’uscita, tanto migliore sarà l’approssimazione ottenuta.

Si potrebbe pensare quindi che sia una buona soluzione l’utilizzo di convertitori con un grande numero di bit, ma considerazioni sul rumore elettrico (sempre presente) ne limitano praticamente il numero. Valori compresi tra 8 e 12 sono attualmente i più utilizzati.

 

Il convertitore a/d all’interno del nostro circuito serve a rendere  leggibile al computer, che funziona con sistema binario, i dati analogici esterni ad esso; permettendo così che si possa creare un’interazione tra la macchina ed il mondo esterno.

Il convertitore sono oggetti piuttosto precisi, ma non perfetti, bisogna infatti tenere conto di alcune limitazioni:

 

-        Il valore numerico in uscita è rappresentato con un numero finito di cifre (bit).

-        La conversione è caratterizzata da una quantizzazione  in ampiezza.

-        Il processo di conversione richiede un intervallo di tempo finito per la sua esecuzione.

 

 

 

 

 

6.2: Classificazione

 

L’operazione può avvenire in molti modi, tuttavia un criterio di classificazione dei convertitori a/d è suggerito dalla velocità di conversione, si hanno quindi:

 

A.   I convertitori veloci (flash) in cui la codifica insegue continuamente le variazioni  dell’ingresso analogico; le principali caratteristiche sono 3:

·        Sono costruttivamente complessi

·        Hanno modesta risoluzione (6 - 10 bit)

·        Hanno tempi di conversione brevissimi (nano secondi).

 

B.    I convertitori per misure in cui la codifica è assai più lenta ma la precisione è elevata:

·        A integrazione

·        Ad approssimazioni successive

 

 

La precisione

 

La precisione di un convertitore è definita dalla  scarto tra il valore convertito ed il valore reale della grandezza in esame. Le cause che possono alterare la precisione di un convertitore sono:

·        La deriva, inteso come l’effetto della temperatura, dell’invecchiamento del componente e  delle fluttuazioni dell’alimentazione.

·        La non linearità del componente.

 

 

La sensibilità

 

La sensibilità è rappresentata dal più piccolo livello di tensione che può essere convertito. La più piccola variazione di tensione a cui e sensibile il convertitore definisce il potere risolutivo che non è da confondere con la sensibilità, in quanto il circuito può avere scarsa sensibilità (cioè non avverte tensioni prossime allo zero), ma buon potere risolutivo (cioè avverte piccole variazioni delle sue caratteristiche di comportamento dinamico).

 

 

Tempo di conversione

 

 Rappresenta il tempo complessivamente impiegato dal circuito per eseguire la conversione in digitale di una tensione analogica.

 

 

 

6.3: Il convertitore ad approssimazioni successive

 

1)       Sono attualmente i più diffusi

2)      Risoluzione da 8 a 18 bit

3)      Buoni tempi di conversione

4)      Errori generalmente contenuti


 

 

 

 


Il convertitore ad approssimazioni successive è composto da 3 principali elementi :

 

1)    Un convertitore digitale/analogico (D/A) con ingresso a n bit che rende in uscita un segnale analogico Vr il cui valore è proporzionale al valore numerico N posto al suo ingresso.

2)   Un comparatore.

3)   Una unità logica di controllo (SAR) che può variare il valore numerico N secondo una particolare strategia.

 

Nel circuito è poi presente anche un oscillatore locale (clock) che segna il susseguirsi le fasi di conversione.

 

Funzionamento

 

Si opera mediante una ricerca del valore attuata a passi sempre più fini.

 

1)    Inizialmente , rispondendo al comando di start e dal successivo primo impulso del clock , la SAR pone in ingresso al D/A una parola binaria N con il bit più significativo ( MSB ) a livello H e tutti gli altri al livello L;

2)   Il d/a genera una tensione Vr ;

3)   Il comparatore confronta il segnale di ingresso Vx con il segnale di riferimento Vr : una uscita al livello H segnala che Vx è Maggiore di Vr;

4)   Al successivo impulso di clock la SAR esamina lo stato della uscita del comparatore x determinare se Vx e maggiore o minore di Vr.  In funzione del risultato del confronto la SAR decide di fissare il valore del bit più significativo di N:

·        Se Vx è maggiore di Vr il bit viene stabilmente fissato al livello H.

·        Se Vx è minore di Vr il bit viene riportato e fissato al livello L;

 

5)   Immediatamente dopo aver fissato il livello del bit più significativo la SAR porta al livello H il secondo bit ( a partire dal MSB );

6)   Il D/A genera quindi una tensione Vr che assume due diversi valori a seconda dello stato di MSB;

7)   Il comparatore confronta il segnale di ingresso Vx con il nuovo segnale di riferimento Vr ed al succesivo impulso di clock la SAR, in base all’ uscita del comparatore, stabilisce a quale livello fissare il livello del secondo bit in analogia a quanto fatto al punto 4.

·        Se Vx è maggiore di Vr il secondo bit viene stabilmente fissato al livello H,

· Se Vx è minore di Vr il secondo bit viene riportato e fissato al  livello L;

 

8)   Il ciclo poi riprende dal punto 5 con la SAR che agisce, in successione , su tutti i bit di cui dispone;

9)   La conversione  a termine quando la SAR , operato l’ ultimo esame dell' uscita del comparatore, stabilisce a quale livello fissare l'ultimo bit, quello   ‘’ meno significativo’’. Quindi per un convertitore, ad esempio 8 bit , sono sufficienti 8 cicli. 

 

Cause di intercezza

Come tutti i dispositivi reali anche il convertitore A/D ad approssimazioni successive è fonte di incertezza: alla incertezza di quantizzare, intrinseca nel processo di conversione ed ineliminabile, si aggiungono le incertezze provocate dalle seguenti cause:

-        non linearità del DAC.

-        Sensibilità non infinita ed offset non nullo del comparatore.

 

Pregi principali

-        Elevata risoluzione (fino a 18 bit),

-        Relativa rapidità di conversione

-        Economicità.

 

 

 

 

 

 


6.4: Realizzazione di un prototipo con ADC0801

 

Nella fase di messa a punto del nostro progetto abbiamo realizzato un circuito di prova utilizzando un 0801.


Lo schema a blocchi del circuito di prova è il seguente

Casella di testo: Buffer di                Potenza Casella di testo: LED

 

 


La figura seguente contiene lo schema elettrico completo.


schema elettrico 0801
Analizzando lo schema elettrico si nota :

·        La tensione da misurare è stata ottenuta con il potenziometro P1 (vedi fig. seguente).

·        La coppia di componenti R1,C1 serve per realizzare il circuito di clock, il condensatore C2 è per il filtraggio dell’ amplificazione.

·        Il pulsante SW serve solo per l’avvio del processo di conversione, che per il resto avviene automaticamente, in maniera ciclica.

·        L’ integrato 74LS245 fornisce la corrente necessaria a pila per i Led.  

·        Il segnale nel connettore  con10  verrà poi collegato con un uP per l’elaborazione.           

 

 

 

6.5: Il convertitore ADC 0808

 

Nel nostro sistema di rilevazione è necessario poter leggere più di un sensore, risulta quindi  necessario utilizzare un componente che lo permetta.

Per compatibilità con il prototipo a 1 canale illustrato nel paragrafo precedente, abbiamo scelto un componente della stessa famiglia : l’ ADC0808.

 


 

 


dalla figura si nota che è un convertitore a un canale solo, preceduto da un multiplexer analogico .

Il canale che legge è selezionato dal’ esterno perchè l’ ADC 0808 è ad approssimazioni successive con un tempo di conversione di circa 100 usec.

E’ evidente che se fossero necessari tempi di conversione ridotti, l’uso di un multiplexer non sarebbe opportuno , ma nel nostro caso la velocità non è richiesta .

E’ sicuramente più importante che l’interfacciamento verso il nostro sistema sia realizzabile semplicemente, come in effetti risulta anche dalla figura seguente.

 

 


 

 


L’operazione di lettura avviene come segue:

1.      Selezione canale

2.    Avvio la conversione con START=1

3.    Aspetto il file della conversione (END = 1)

4.    Leggo i dati

 

 

Il diagramma seguente illustra quanto sopra:

 


 

 

 

 


 
 
 
 

 

 

 

 

 

 

CAPITOLO   7: La rete GSM- UMTS
7.1:  Il concetto di rete cellulare
7.2: Le tappe temporali
7.3: Frequenze di funzionamento
7.4: Elementi della rete
7.5: UMTS
7.6: Aspetti tecnologici dell’UMTS
7.1: Concetto di rete cellulare

 

Il concetto di rete cellulare è stato ideato dai laboratori Bell in America nel 1947, ci sono poi voluti circa 35 anni perché la tecnologia fosse in grado di perfezionare il concetto e creare le prime reti ed apparecchi cellulari analogici.

Un network cellulare fondamentalmente è formato da una serie di stazione base, ognuna delle quali copre un'area relativamente piccola ma che viste nella globalità possono fornire copertura di aree molto estese. Utilizzando stazioni a bassa potenza diventa possibile riutilizzare le frequenze in modo più regolare e questo garantisce una maggiore capacità del sistema.

 

 



7.2: Le tappe temporali

 

Le principali tappe dello sviluppo della rete sono riunite nella tabella che segue:

1947

Ideazione del concetto di rete cellulare

1982

 

-        La  Telecom e la PTT Olandese propongono al CEPT (Conference of European  Post and Telecommunications) lo sviluppo di un nuovo standard per la telefonia cellulare digitale che soddisfi la domanda europea

-        La  CE ( Comunità Europea ) emana una direttiva che richiede agli stati membri di riservare frequenze nella banda dei 900 MHz per il roaming della rete GSM

1986

Vengono stabilite le tecniche di trasmissione radio per la rete GSM

1992

-        Gennaio: Parte il primo gestore GSM in Finlandia  ( Oy Radiolinja Ab )

-        Dicembre. 13 gestori attivi in 7 aree

-        Congresso mondiale GSM a Nizza con 630 partecipanti

1994

-        Viene lanciato il primo network  GSM in Sud Africa

-        Introdotti i servizi data/fax della Phase 2

-        Vodacom è il primo gestore al mondo ad implementare la trasmissione data/fax

-        Congresso mondiale GSM ad Atene con 780 partecipanti

-        Dicembre: 69 gestori attivi in 43 aree

1998

-        La prima SIM Card GSM viene sprotetta negli USA

-        Oltre 2 milioni di utenti GSM 1900

-        Primo roaming con iridium

-        100 milioni di utenti GSM 900/1800/1900 nel mondo a luglio

2000

UMTS è il nuovo sistema mobile di terza generazione

 

 Attualmente l’Italia è uno dei primi paesi al mondo per l’utilizzo e la capillarità di penetrazione della rete GSM.

 

 

 

 



7.3:  Frequenze di funzionamento

 


Negli Stati Uniti la frequenza di funzionamento per i telefoni cellulari analogici della prima rete era compresa tra gli 824 e gli 894 MHz. Nel 1985, in Gran Bretagna si inaugura la rete TACS (Total Access Comunication System), basata su un sistema analogico che era una versione modificata dell'AMPS e utilizzava 1.000 canali nell'intervallo di frequenze tra 890 e 960 MHz. La rete si trasforma successivamente in ETACS con 1.320 canali nella banda 872-950 MHz. Nel 1988, mentre in Giappone Motorola raggiunge le 10.000 unità vendute, in Europa si inizia a lavorare sulla prima rete digitale: il GSM (Group Special Mobile, poi General System for Mobility). L'evoluzione si dimostrava necessaria per valicare i confini nazionali, in quanto ogni rete cellulare sino a quel momento usava standard hardware e software propri.

Poiché lo spettro radio rappresenta una risorsa limitata da condividere fra tutti gli utenti, è stato scelto un metodo (chiamato Time and Frequency Division Multiple Access) per suddividere la banda nel maggior numero possibile di 'spicchi'; precisamente in 124 portanti spaziate di 200 kHz. Ciascuna di queste frequenze viene poi divisa nel dominio temporale mediante un apposito schema. L'unità fondamentale del tempo in tale schema è chiamato 'burst period' (circa 0,57 millisecondi); otto periodi sono raggruppati in un cosiddetto 'frame' (circa 4,6 millisecondi), che forma l'unità di base per la definizione dei canali logici. I canali sono definiti dal numero e dalla posizione dei relativi periodi burst; tali definizioni sono cicliche e l'intero pattern si ripete ogni 3 ore circa. In un canale viaggiano dati di controllo e dati relativi alla voce. Tra i dati che vengono continuamente irradiati sui canali bidirezionali ci sono le informazioni sulla stazione base, l'assegnazione delle frequenze, i segnali per sincronizzare l'unità mobile con lo slot temporale della cella, il segnale di chiamata in arrivo, il segnale di richiesta dell'unità mobile per l'accesso alla rete, ecc.

                                            

 

7.4: Elementi della rete GSM

 

 

Sim Card

La Sim Card identifica l’abbonamento dell’utente presso la rete del gestore. La rete non premette l’accesso all’utente se l’abbonamento non è attivo o la Sim card risulta rubata. Un’altra funzione importante della Sim Card è l’autenticazione dell’abbonato.

MS

Mobile Station

Il telefono cellulare GSM

BTS          Base Transceiver Station

E’ l’interfaccia radio che interagisce con la MS ed è alla base della “cella”. Le BTS non sono componenti intelligenti ma sono controllate da una BSC.

BSC           Base     Station Controller

Controllano una serie di BTS

MSC       Mobile Swiching Centre

E’ l’interfaccia fra il sistema della stazione base e il sottosistema di indirizzamento del gestore di telefonia mobile, inoltre collega la rete cellulare alla rete fissa (PSTN). La MSC genera tutte le informazioni di addebito delle chiamate e si assicura che vengano indirizzate all’abbonamento relativo. Il compito MSC è abbastanza complesso, in quanto l’abbonato GSM può essere in qualsiasi posto coperto dalla rete del gestore, inoltre può muoversi durante una chiamata e passare da una cella alle altre.

VLR     Visitor’s location Register

E’ un database collegato alla MSC contenente le informazioni riguardo ogni Mobile Station gestita dalla MSC. Le informazioni temporaneamente immagazzinate nel VLR sono sufficienti per permettere ad ogni abbonato di fare e ricevere chiamate. Questo comprende l’identità della Mobile Station, l’area in cui è stata registrata l’ultima volta e tutte le altre informazioni riguardo l’abbonato ed i servizi supplementari da lui attivati.

HLR         Home  Location Register

E’ il database  centrale di tutti gli abbonati che contiene dettagli sulle loro identità, i servizi ai quali possono accedere e l’area in cui l’abbonato e’ stato registrato l’ultima volta. I due elementi utilizzati per indirizzare le chiamate verso gli abbonati sono l’IMSI e il MSISDN.

IMSI International nel Mobile Subscriber Identity

E’ il numero esclusivo assegnato all’abbonato e memorizzato nella Sim Card, E’ utilizzato dal gestore per le comunicazioni.

MSISDN Mobile Subscriber Integrated Services Digital Network

E’ il numero dell’abbonato che e’ collegato all’HLR. Le chiamate in arrivo per l’abbonato sono convertite nel numero IMSI dall’HLR in modo da consentire di essere indirizzato alla Mobile Station.

 


La figura  mostra schematicamente quanto sopra riportato:.

 

 


7.5: Introduzione dell’UMTS

 

 

Il mondo delle comunicazioni si sta evolvendo. Il boom del GSM (Global Sistem Mobile) e fenomeni comunicativi globali quali Internet, stanno portando in mano all’utente accessori che un tempo sembravano relegati al mondo dei film di fantascienza.

Le esigenze dei singoli utenti stanno andando più in là del semplice bisogno di comunicazione vocale. Un intero mercato domanda ormai complesse convergenze fra i mass media oggi più diffusi.


E’ per questo che l’industria Europea delle telecomunicazioni ha accettato la sfida e ha proposto il nuovo strumento per comunicare del 21° secolo: L’UMTS che evolve le tre sezioni della comunicazione attuale: Cellulare, Terrestre e Satellitare. L’UMTS permetterà di fare tutto ciò che oggi possiamo ottenere dal nostro cellulare.

 

 

 

 


Prestazioni che un UMTS può offrire

 

Capacità di trasmissione dell’UMTS

L’UMTS offre un’alta capacità di trasmissione dati ed una interconnessione totale con le reti satellitari e terrestri

Modalità di connessione UMTS e costi

Capacità di connessione mondiale semplice e sempre agli stessi prezzi (bassi)

Accessibilità totale con altri sistemi di comunicazione e velocità

Capacità di convergenza di telefonia, computer e altri servizi multimediali.

Possibilità di accesso a vari tipi di mass media, in svariate combinazioni, a banda larga e a banda stretta , dalla voce ai testi alle immagini a velocità di interconnessione istantanea.

Servizi di intrattenimento di alta qualità.

Possibilità di download di enormi files e di navigazioni on-line,  con funzioni di telecomunicazione portate all’ennesima potenza

 

 

 

 

7.6: Aspetti tecnologici dell’ UMTS

 

L’avvento dei sistemi digitali di terza generazione, sarà un passo avanti epocale nella storia delle nuove tecnologie.

Comparato ai telefoni di seconda generazione, infatti un terminale UMTS avrà una enorme disponibilità di banda in più, ed una velocità di trasferimento dati dagli attuali 9600 bit al secondo a circa 2 milioni.

Il passaggio ai sistemi di TERZA GENERAZIONE comporterà una attenta pianificazione strategica da parte  dell’ETSI, in modo che l’impatto di questa tecnologia possa essere facilmente assorbito dall’utenza. Ruolo principale del progetto UMTS risiede nella convergenza tecnologica che questo porterà, ovvero nella possibilità di avere su di un solo terminale multimediale, diversi servizi ora appannaggio di svariati mass media.

 

 

 

I PASSAGGI VERSO LA TERZA GENERAZIONE

 

Prima

Analogico

1980

Basata sulla voce, standards multipli ( NMT, TACS etc)

Seconda

Digitale

1990

Basata sulla voce standards  multipli ( GSM, CDMA, TDMA )

Seconda e terza

Data rate più elevato

Inizio 2000

Nuovi servizi ad alta velocità per abituarci alla transizione tra la seconda e la terza generazione. Includono GPRS ed EDGE.

Terza

Multimedia digitale

2002

Basata su voce e dati, standard singolo con diverse modalità

 

 

L’UMTS integrerà tutti i presenti e i futuri servizi in un unico sistema di telecomunicazione, ma per fare ciò ci sarà bisogno di una nuova tecnologia di accesso radio a divisione di codice e di frequenza, si dovrà passare dall’attuale FDMA/TDMA al futuro W-CDMA/FDD, che consentirà una maggiore disponibilità dello spettro radio, pur dovendo in alcuni paesi ridiscutere le allocazioni radio delle reti televisive. Lavorando infatti  l’UMTS  nella banda 1900-2200 Mhz, si va a porre in contrasto con quelle televisioni via etere che trasmettono appunto usando quelle frequenze (in Italia è il caso di RAI 1 ). La velocità di trasmissione dati tramite l’UTRA dipenderà dalla cella in cui si trova. Infatti le celle classiche verranno divise in macro-celle, micro-celle, micro pico-celle e pico celle. Si passerà quindi da un minimo di 144 Kbit/s nelle macro-celle, ad una stratosferica velocità di 2.048 Mbit/s nelle pico-celle.

Dal 2002 le industrie costruttrici di SIM card sono in grado di produrre carte con una maggiore capacità di memoria, una CPU più veloce, una enorme capacità di sostenere mole di dati. Queste innovazioni porteranno alla creazione dell'USIM (UMTS Subscriber Identity Module), che darà al servizio UMTS il necessario supporto per essere realizzato. Difatti le nuove card saranno in grado di memorizzare tutti quei dati che l'utente vorrà prelevare nel suo uso della rete UMTS. Inoltre le card potranno essere utilizzate come carte di credito, bancomat o per pagare qualunque altro tipo di transazione economica senza dover essere rimosse dal terminale. La compatibilità dei vari terminali nelle diverse reti sarà assoluta. La card diverrà una specie di hard disk nella quale l'utente potrà scegliere i diversi tipi di programmi da installare, a seconda dell'utilizzo della carta stessa.

Ma il vero punto di forza della tecnologia UMTS sarà la compatibilità IP (Internet Protocol). La connessione con la rete sarà assicurata da collegamenti iperveloci e quotidianamente aggiornati secondo la crescita e le innovazioni di Internet stessa. Infatti i terminali UMTS saranno in grado di auto-apprendere e di conseguenza di evolvere tecnologicamente a seconda di ciò che si troveranno di fronte. Questi nuovi servizi permetteranno una ulteriore personalizzazione del media che incrementerà l'utilizzabilità e la flessibilità dello strumento.

 


 

 

 

 

 

 

 


 

 

 

 

 

 


Appendici

 

A1 :  Il programma di centrale

A2 : Il programma sul  PIC 16F876

A3 :  Il programma simulatore

A4 :  Schema convertitore A/D

A5 :  Schema della scheda con PIC 16F876

A6 :  Il modulo FALCOM

A7 :  Possibile piano di montaggio

A8 :  Circuito stampato scheda PIC

A9 :  Circuito stampato scheda A/D