INTERFACCIAMENTO -...
Transcript of INTERFACCIAMENTO -...
Universita degli studi di Salerno
Facoltà di Ingegneria
D.I.I.I.E.
Corso di Strumentazione Elettronica di Misura
INTERFACCIAMENTO
Università degli studi di Salerno 10 Giugno 1999
1
Esigenze attuali sugli impianti di processo
• Controllo
• Monitoraggio
• Supervisione
Necessità di comunicazione tra dispositivi
Caratteristiche della comunicazione
Tra dispositivi di diversa natura
Su brevi e lunghe distanze 0.1-1000mt
Veloce 100-10M bps
2
Tipi di comunicazione
Comunicazione Parallela
Veloce Brevi distanze Cablaggio più costoso
Comunicazione Seriale Lenta Lunghe distanze Cablaggio poco costoso
Modalità di comunicazione
Polling Interrupt DMA DMA+Interrupt
3
Trasmissione seriale
1. Modalita di trasmissione asnicrona Necessità di clock locali Complessità del protocollo: start bit
carattere trasmesso bit di parità stop bit
riduzione dell’efficienza di trasmissione
2. Modalita di trasmissione sincrona Necessità di linee di clock globali Protocollo più leggero Controllo dell’errore fatto su pacchetti di dati e non sul singolo carattere, cicli di ridondanza (Cyclic Redundancy Check)
Tipologie dei collegamenti
Punto a punto multipunto
Simplex half duplex full duplex
A B A B A B B A
4
Necessità di adottare degli standard (ANSI EIA IEEE CCITT ISO)
Tipi di Trasmissione seriale Trasmissione single ended Trasmissione double ended Vantaggi : connessioni minime; basso costo per piccole distanze; richiede un solo filo per il segnale; semplice da implementare;
Vantaggi: alta immunità ai rumori di modo comune; lunghe distanze (fino a 1.2 km)
Svantaggi: bassa immunità al rumore di modo comune; alta probabilità di degradazione del segnale poiché vi è una sola massa; possibilità di cross-talk sulle linee per accoppiamenti induttivi e capacitivi; possibilità di irradiare; il costo aumenta per grandi distanze poiché bisogna utilizzare cavi schermati per tenere il valore di capacità>2500pF;
Svantaggi: costi più elevati; necessità di trasmettere utilizzando doppini e non cavi singoli; necessità di una corretta terminazione della linea;
RS232 RS422 RS485
5
Trasmissione Single Ended
Disturbo sul Canale
RX
TX
6
Trasmissione Differenziale
Disturbo sul Canale
RX
TX
7
Recomended Standard 232
Nasce dalla esigenza di comunicazione tra un Data Terminal Equipment (DTE)ed un Data Comunication Equipment (DCE)
D T E
D T E
Specifiche Tecnic Tipo di trasmissione Tipo di Logica Massima velocitTrasmissione Tensione di uscita
Livello di ricezione
Slew rate Capacità di carico
Tipo di comunicazioneMassimo numero di drMassimo numero di ric
Mo d e
mhe
Non bilanNegata
à di 19200 bp
• 5 15V • -5 -15V• >3V va• < -3V v30 V/uS m2500 pF mequivalen
Full dupleivers 1 evitori 1
8
M o d e
mciata
s
valore logico 0 valore logico 1 lore logico 0 alore logico 1 ax ax
ti a circa 20m x
Caratteristiche funzionali dei segnali di interfaccia Connettore DB25
Pin Nome simbolico Descrizione
1 PG Massa di protezione
2 TX Transmitted data (to
DCE)
3 RX Received data (from
DCE)
4 RTS Request to Send (to
DCE)
5 CTS Clear to Send (from
DCE)
6 DSR Data Set Ready (DCE
ready)
7 SG Signal Ground
8 DCD Data Carrier Detect
(from DCE)
9-11 Non usati * In alcuni casi 9 e 10
+12 e –12V
12 DSR secondario Data Set Ready (DCE
ready)
13 CTS secondario
9
14 TX secondario
15 TSET DCE-DTE Transmitter Signal
Element Timing
(Transmitter clock)
(from DCE)
16 RX secondario (from DCE)
17 RSET Recieved Signal
Element Timing
(Reicever clock) (from
DCE)
18
19 RTS secondario
20 DTR Data Terminal Ready
(to DCE)
21 SQD Signal Quality Detector
22 RI Ring Indicator (from
DCE)
23 DSRS Data Signal Rate
Selector
24 TSET DTE-DCE Transmitter Signal
Element Timing (To
DCE)
25 TEST Test mode (from DCE)
10
Protective Ground Normalmente collegato alla struttura esterna di uno dei dispositivi, il DCE o il DTE, e opportunamente collegato a terra. L’unico scopo di tale connessione è di proteggere il sistema da shock elettrici accidentali. È considerato opzionale. Transmit Data Linea di trasmissione dei bit di informazione dal DTE (periferica) a DCE (computer). Il DTE mantiene tale linea al valore logico 1 quando non ci sono dati da trasmettere; la trasmissione del dato su questa linea è possibile solo se i segnali Request To Send, Clear To Send, Data Set Ready e Data Terminal Ready, quando presenti, assumono valore logico 0. Receive Data Linea di trasmissione dei bit di informazione dal DCE (computer) a DTE (periferica).Il dato (bit) primario viene inviato su questa linea dal DCE al DTE. Questo segnale viene mantenuto ad un valore logico 1 quando DCE non trasmette dati e viene portato a 0 per un breve intervallo di tempo dopo una transizione della linea Request To Send da 1 a 0, per consentire il completamento della trasmissione.
11
Request To Send Abilita i circuiti di trasmissione. DTE utilizza questo segnale quando intende trasmettere dati a DCE. Questo segnale, in combinazione con Clear To Send, coordina il trasferimento dati da DTE a DCE. Un valore logico 0 su questa linea mantiene DCE in modalità di trasmissione; DCE riceverà i dati da DTE e li trasmetterà attraverso il canale di comunicazione. Una transizione da 1 a 0 su questa linea segnala a DCE di completare la trasmissione dati in corso e di portarsi nella modalità di ricezione. Clear To Send Segnale di risposta a DTE. Quando attivo, indica a DTE che la trasmissione può iniziare (sulla linea Transmit Data). Se CTS è attivo contemporaneamente ai segnali Request To Send, Data Set Ready e Data Terminal Ready i dati provenienti da DTE vengono inviati lungo il canale di trasmissione. La non attività del segnale CTS viene interpretata da DTE come non disponibilità di DCE a ricevere dati (DTE, quindi, attende ad inviare dati). Data Set Ready Con questa linea DCE avvisa DTE che il canale di comunicazione è disponibile, cioè che DCE è pronto a trasmettere o a ricevere.
12
Signal Ground Riferimento di tensione per tutti gli altri segnali. Receive Line Signal Detect (or Data Carrier Detect) DCE utilizza questa linea per segnalare a DTE che sta ricevendo un “buon segnale”, cioè una portante analogica in grado di assicurare una demodulazione dei dati ricevuti priva di errori. +P E’ mantenuto ad una tensione di +12 Volts DC a scopo di test. -P E’ mantenuto ad una tensione di -12 Volts DC a scopo di test. Secondary Receive Line Signal Detect Questo segnale è attivo quando il canale di comunicazione secondario sta ricevendo un “buon segnale”, cioè una portante analogica in grado di assicurare una demodulazione dei dati ricevuti priva di errori. Questo segnale è analogo a Receive Line Signal Detect.
13
Secondary Clear To Send Segnale di risposta a DTE. Quando attivo, indica a DTE che può dare inizio alla trasmissione sul canale secondario (linea Transmit Data) Secondary Transmitted Data Linea di trasmissione dati secondaria, utilizzata sia da DTE a DCE, sia da DCE a ATE. Questo segnale equivale a Transmitted Data. Transmission Signal Element Timing Segnale di clock inviato da DCE a DTE, in modo che DTE sia in grado di sincronizzare il proprio circuito di output che pilota la linea Transmitted Data. La frequenza del segnale di clock dipende dal bit- rate associato alla linea Transmitted Data. La transizione da 1 a 0 denota il punto centrale del tratto di segnale corrispondente ad un bit sulla Transmitted Data. Secondary Receive Data Linea impiegata per l’invio dei dati (bit) da DCE a DTE. Quando il canale secondario è utilizzato a scopo diagnostico o per interrompere il flusso di dati sul canale primario, questo segnale non viene fornito.
14
Receiver Signal Element Timing Segnale di clock inviato da DCE a DTE in modo che DTE sia in grado di sincronizzare il proprio circuito di ricezione che pilota la linea Received Data. La frequenza del segnale di clock dipende dal bit-rate della trasmissione sulla linea Received Data. La transizione da 1 a 0 indica il punto centrale del tratto di segnale corrispondente ad un bit sulla Received Data. Secondary Request To Send Richiesta di dati effettuata sul canale secondario da DTE e rivolta a DCE. Questo segnale equivale a Request To Send. Data Terminal Ready Se questo segnale è a livello logico 1, DCE viene informato che DTE è pronto per la ricezione. Il segnale DTR deve essere attivo prima che DCE attivi il segnale Data Set Ready, indicando così di essere connesso al canale di comunicazione. Se il segnale DTR assume il valore logico 0, DCE interrompe la trasmissione in corso. Signal Quality Detector Linea usata da DCE per indicare se c’è o meno una elevata probabilità che si verifichi un errore nella ricezione dei dati. Viene posta ad un valore logico 0 se la probabilità di errore è elevata.
15
Ring Indicator Linea usata da DCE per segnalare a DTE che sta per giungere una richiesta di collegamento. Il segnale Ring Indicator viene mantenuto sempre a livello logico 0, tranne quando DCE riceve un segnale di chiamata in arrivo. Data Signal Rate Selector Linea utilizzata per selezionare il bit-rate di trasmissione del DCE. In caso di connessione sincrona il bit-rate può assumere uno tra due valori possibili; se la trasmissione è di tipo asincrono, il bit-rate può assumere un valore compreso all’interno di due intervalli specificati dallo standard. Transmitter Signal Element Timing Linea usata da DTE per inviare a DCE un segnale di clock. La transizione da 1 a 0 indica il punto centrale del tratto di segnale corrispondente ad un bit sul Transmitted Data. Nota: i nomi dei segnali assegnati ai pin sono gli stessi per DCE e per DTE. Transmit Data è una linea di trasmissione nel punto di connessione del cavo RS-232 a DTE e di ricezione nel punto di connessione del cavo RS-232 a DCE; Data Set Ready è una linea di ricezione nel DTE e di trasmissione nel DCE, e così via.
16
Connettore DB9
Pin Nome simbolico Descrizione 1 DCD Data Carrier Detect 2 RD Recieved Data Line 3 TD 4 DTR Data Transmission
Ready 5 GND Ground 6 DSR Data Set Ready 7 RTS Request To Send 8 CTS Clear To Send 9 RI Ring Indicator
Configurazione Null Modem
DCD DCDRD RD TD TD
DTR DTRGND GND
D T E
DSR DSRRTS RTSCTS CTSRI RI
1
17
D T E
2Protocollo Collegamento Asincrono con modem
DSR
RTS
DCD
CTS
DTR
18
Problemi legati al sincronismo dei bit e dei caratteri. Il destinatario deve essere in grado di interpretare correttamente i bit ricevuti e quindi deve sapere quando campionare la linea per prelevare il bit. Se il campionamento avvenisse durante la transizione di livello il risultato sarebbe indeterminato. Il punto di campionamento ideale è al centro del bit stesso. Nel caso di trasmissione asincrona, il dispositivo ricevente ha un orologio (clock) che è sincronizzato sull'impulso di partenza (start) all'inizio di ogni carattere. Essendo noto il numero di bit per ogni carattere, non è difficile mantenere il passo con i bit in arrivo per tutta la durata della trasmissione del carattere. Nel caso di trasmissione sincrona, i blocchi di dati possono essere molto lunghi e piccole differenze di velocità tra i due orologi di trasmissione e di ricezione possono dar luogo ad errori. In ricezione è necessario avere un segnale di sincronismo (clock) atto a distinguere un bit dal successivo
1 0 0 1
segnale disincronismo
sequenza di bit
Fig. 11 - Sincronismo dei bit.
Oltre al sincronismo dei bit, bisogna effettuare il sincronismo dei caratteri, cioè riconoscere il gruppo di bit che individua il carattere nella sequenza di quelli ricevuti. Due sono i metodi più usati per determinare quale sia il primo bit del carattere. • Se la trasmissione è sincrona, la durata di ogni bit è la stessa e tutti i caratteri sono
contigui. Il destinatario deve individuare solo il primo bit del primo carattere e quindi, conoscendo la dimensione del carattere e la velocità di trasmissione, può contare i gruppi di bit ed impacchettare correttamente i caratteri in arrivo. Per identificare il primo bit si fa precedere ogni blocco di dati da una sequenza tipica di sincronizzazione ricorrendo ad un carattere speciale di controllo della trasmissione.
• Se la trasmissione è asincrona, non c'è nessuna relazione temporale tra un carattere ed il successivo, anche se possono essere al limite in sequenza come nella trasmissione sincrona. Il destinatario deve ristabilire la sincronizzazione per ogni carattere e quindi essere in grado di riconoscerne il primo bit. Per far ciò si fa precedere ogni carattere da un impulso di inizio (bit di start) che informa il destinatario dell'inizio della trasmissione. Infatti la linea è nello stato di idle (1) quando non c'è trasmissione e si invia uno 0 come bit di start. Il destinatario
19
riconosce la transizione 1-0, aspetta per la durata di mezzo bit e poi ad intervalli di un bit campiona la linea e ricostruisce il carattere in arrivo. Alla fine del carattere viene trasmesso un bit di stop (1) per permettere al destinatario di stabilizzarsi prima che venga trasmesso un altro carattere.
Il controllo e la correzione degli errori Il controllo e la correzione degli errori sono funzioni indispensabili, per la presenza del rumore in ogni canale di comunicazione che può alterare i dati trasmessi. Le tecniche di controllo più diffuse sono: • controllo di ridondanza orizzontale (parità). Si usa principalmente nella
trasmissione di caratteri singoli. Consiste nell'aggiungere agli n bit di ogni carattere un ulteriore bit (P) detto di parità, in modo da portare il numero di bit di valore 1 ad un valore dispari (parità dispari) o pari (parità pari). Se ad es. il numero dei bit ad 1 è 4, il bit di parità sarà 1 se la parità è dispari e 0 altrimenti. Questa tecnica non consente di riconoscere se ci sono nello stesso carattere due bit errati (o meglio un numero pari di bit errati).
• controllo di ridondanza verticale. Si usa principalmente nella trasmissione di pacchetti di caratteri. È realizzato calcolando, in una sequenza di caratteri, l'OR esclusivo su tutti i bit che stanno nella stessa posizione all'interno di ciascun carattere (BCC). In tal caso il campo di ridondanza è costituito da un carattere inviato alla fine della sequenza cui si riferisce. Questa tecnica ha le stesse limitazioni della precedente, nel senso che non è capace di rilevare due errori sulla stessa riga. Spesso viene usata congiuntamente con quest'ultima, consentendo un maggiore margine di rilevamento (Fig. 12).
•
CarattereP B7 B6 B4 B3 B2 B1 B01
1
0
0
0
0
0 00 0
000
01
00
00
0
0 0
00
0
1
10
11 11
1 10 1
11
1
11110 1 1 1
111
11
11
111
1
1 11
1 1
10 00
0
0000
1
123456789
1112131415BCC
11 1000
11 100011 1001
0 011 1
0 011 1
0 011 1
0 011 1
1
01
00
0
1
1
11
1
1
10
0 0
000
Fig. 12 - Controllo di parità orizzontale e verticale.
20
• controllo ciclico di ridondanza (CRC). Permette la rilevazione di errori multipli. Si considera il flusso di dati come una stringa di bit del tipo:
D(x) = anxn+an-1xn-1+ ... + a1 x + a0 in cui il coefficiente dell'i-esima potenza di x rappresenta la i-esima cifra binaria della stringa a partire da a0. Tale polinomio viene diviso algebricamente per un polinomio generatore G(x):
D(x) = Q(x) * G(x) +R(x) dove Q(x) ed R(x) sono i polinomi quoziente e resto. Il CRC è costituito dal resto R(x). Se il polinomio G(x) è del sedicesimo grado, R(x) è al più del quindicesimo, cosicché il campo di ridondanza è costituito da 2 bytes (Fig. 13), che vengono trasmessi in coda al pacchetto dati. Il destinatario calcola il CRC sui dati con la stessa tecnica e lo confronta con quello ricevuto. Questa tecnica consente di individuare errori di trasmissione, su uno o più bit, e di richiedere la ritrasmissione del pacchetto. La scelta di G(x) è molto importante, perché occorre che tutti i polinomi che danno lo stesso resto, differiscano tra loro per un numero abbastanza elevato di coefficienti, in modo da assicurare una certa affidabilità al metodo. Questo metodo consente di risparmiare sul numero di bit di ridondanza trasmessi.
A B C D E F G H I J K L
C
C
Direzione della trasmissione
Bit di parita`
Bit di dati
Pb6
b0
Caratteri
di controllo
C
C
R R
Fig. 13 - Blocco di dati con caratteri di controllo.
21
22
Recomended Standard 422
Nasce dalla esigenza di aumentare la massima distanza tra il trasmettitore ed il ricevitore rispetto allo standard 232
Rt
RX
TX
Specifiche Tecniche Tipo di trasmissione Bilanciata Tipo di Logica negata Tensione di uscita differenziale < 6V Massima velocità di Trasmissione
10 Mbps
Impedenza d’uscita del generatore
100 Ω
Impedenza d’ingresso del ricevitore
4kΩ
Lunghezza massima 1200m Tipo di comunicazione Half duplex Massimo numero di drivers 1 Massimo numero di ricevitori 10 (per problemi di impedenza
di carico)
23
NOTE: benché lo standard RS422 è stato progettato per un
collegamento half-duplex del tipo 1→N, esso viene solitamente
utilizzato per un collegamento punto a punto.
Caratteristica velocità/lunghezza del cavo per rs422
1000
100
10
1M 10M 10k 100k
L
U N G H E Z Z A (m)
VELOCITA’ (BIT/S)
24
Recomended Standard 485
Aumenta (rispetto alla RS422) il numero di drivers e migliora le caratteristiche elettriche; è ora possibile realizzare una rete di Tx/Rx.
RX
TX/RX
RX
RtRt
Specifiche Tecniche Tipo di trasmissione Bilanciata Tipo di Logica negata Tensione di uscita differenziale < = 6V Massima velocità di Trasmissione
10 Mbps
Lunghezza massima 1200m Tipo di comunicazione Half duplex o full duplex Massimo numero di drivers 1 Massimo numero di ricevitori (unità di carico)
32 (per problemi di impedenza di carico)
25
Lo standard specifica solo le caratteristiche meccaniche ed
elettriche dei dispositivi RS485, ma non dice nulla riguardo al
protocollo da utilizzare per la comunicazione.
I costruttori di dispositivi 485 hanno implementato diversi
protocolli.
Attualmente il più utilizzato è il protocollo ASCII cosi realizzato.
Fine messaggioDato trasmesso
Indirizzo dispositivo 485 (esadecimale)
Carattere inizio messaggio
“#0110.000\r”
BUS RS485 Dispositivo RS485
PC
26
Supervisory Control and Data Acquisition (SCADA)
Un sistema SCADA è capace di raccogliere e mandare
informazioni a stazioni remote, di cui monitora le attività.
Scada è pensato come sistema supervisore poiché solitamente non
è responsabile delle funzioni di controllo primario, lasciate alle
stazioni remote.
Un sistema SCADA è capace di comunicare utilizzando mezzi
diversi (linee telefoniche, RF, MW, sistemi satellitari) e protocolli
differenti (RS232, RS422, RS485, ecc.).
27
COMPONENTI PRINCIPALI DI UN SISTEMA SCADA
DISPOSITIVO HOST
È il cuore del sistema scada ;solitamente si tratta di un PC o una
workstation; è la parte del sistema che contiene le basi di dati ed il
software per la gestione dell’informazione.
Il dispositivo HOST comunica solamente con il modulo MTU
DISPOSITIVI Master Terminal Unit (MTU)
Il dispositivo MTU effettua un polling sui dispositivi RTU
(posizionati anche a decine di km dal dispositivo MTU) che
solitamente vede in una condizione master/slave. Il suo compito è
la raccolta dati dai dispositivi RTU, l’invio al dispositivo HOST e
viceversa. In alcuni casi i dispositivi HOST e MTU coincidono.
28
DISPOSITIVI Remote Terminal Unit (RTU)
I dispositivi RTU sono posizionati sul campo e si occupano di
prelevare i dati di misura dai sensori e di fungere da attuatori per
dispositivi semplici quali valvole e motori. Essi effettuano un
condizionamento del segnale ricevuto ed eventualmente una
piccola pre-elaborazione. I dispositivi RTU comunicano soltanto
con il dispositivi MTU in una condizione di slave.
29
Esempio di sistema SCADA
In Questo esempio il dispositivo Host ed il dispositivo MTU coincidono
Comunicazioni Radio
Modem
Remote Terminal Unit 2
Remote Terminal Unit 2
Modem
Remote Terminal Unit 1
Master Terminal Unit HOST
l i n e a t e l e f o n i c
aControllo distribuito
30