Introduzione
Overview Introduzione I Bus di Sistema Principi di Funzionamento Il BUS VME Reti Industriali Principi ProfiBus
Cosa Sono i Bus di sistema? Un bus è un comune collegamento elettrico tra moltii dispositivi. Il bus di sistema, presente in tutti i microcalcolatori, è composto da 50 a 100 fili in rame incisi sulla scheda madre ed è dotato di connettori separati ad intervalli regolari per l innesto dei moduli di memoria e di I/O (Tanebaum Architettura del calcolatore )
La nascita del Bus di Sistema: UNIBUS Le Architetture dei primi sistemi IBM 370, HP 2100 L UNIBUS
Evoluzione dei BUS (I) IBM74 (Anni 60) Comunicazioni indipendenti UNIBUS (Anni 60-70) Introduzione del Backplane, un unico canale BUS industriali e VME(dagli anni 80) Massimo utilizzo del concetto di bus di sistema, modularità portata all estremo, lo standard VME
Evoluzione dei BUS (II) I PC: dal PC Bus A PCI (dagli anni 80 ) Molteplici Bus, sia per la compatibilità con il passato (ISA), che per la gestione dedicata di parti del sistema (AGP), il PCI come standard de facto Reti Industriali I moduli diventano nodi di una rete, i concetti di bus di sistema e quello di rete si cominciano a confondere, lo standard Profibus
Gli Standard Esempi di noti standard IEEE 796 (Multibus I) IEEE 896 (Futurebus) IEEE 1014 (VME) IEC 61158 (Profibus, Foundation Fieldbus) Devono definire Caratteristiche Meccaniche Caratteristiche Elettriche Caratteristiche Logico/Funzionali
Sintesi di alcune Caratteristiche Meccaniche ed Elettriche Inserzione Diretta Indiretta Meccaniche Dimensione Standardizzazione delle Unità Elettriche Logica Positiva o Negativa Tempi di ritardo Tempi di salita/discesa
Caratteristiche Logico Funzionali Struttura Dimensione del Bus Numero e tipo dei segnali Modalità Sincrona Asincrona Meccanismo di allocazione del Bus Gestione delle Interruzioni Protocollo Insieme di regole per lo scambio dei segnali Descrizione della Tempificazione di ciascuno dei segnali coinvolti
Principi di Funzionamento
I ruoli dei Dispositivi Dispositivi Attivi (Master) Sono in grado di avviare dei trasferimenti sul bus Dispositivi Passivi (Slave) Sono in attesa, aspettando richieste di trasferimento Il ruolo di un dispositivo può cambiare nel tempo; un dispositivo può comportarsi da master o da slave incontesti differenti. Lo standard che definisce il bus deve fornire le regole per gestire tali condizioni o vietarle
Cenni a Problemi Elettrici - Driver del Bus - I segnali binari emessi dai dispositivi non sono in grado di alimentare il bus, il Driver del bus è esenzialmente un amplificatore digitale Driver BUS Receiver Ruolo Master Il Dispositivo è sia Master che Slave Transceiver Ruolo Slave
Le linee del BUS Interfaccia Periferica Decodifica Indirizzi Circuiti di Controllo Registri Dati e Stato BUS Linea Indirizzi Linea Dati Linea Controllo
Protocolli di Comunicazione Un Protocollo è quell insieme di regole che gestiscono la comunicazione tra due entità. Protocollo Sincrono E previsto un segnale di sincronizzazione (clock) che permette di gestire la temporizzazione delle comunicazioni Protocollo Asincrono Tutta la temporizzazione della comunicazione è gestita dal protocollo stesso attraverso lo scambio dei messaggi.
Protocollo Sincrono
Protocollo Asincrono (Ingresso)
Protocollo Asincrono (Uscita)
Arbitraggio del Bus Il Problema Bus MultiMaster: E ammesso più di u dispositivo Master sul BUS Arbitraggio: Gestione delle contese tra i vari Master Le Soluzioni Distribuito/ Daisy Chain Centralizzato/Parallelo Centralizzato/Daisy Chain
Daisy Chain (Multibus I) Il Master che intende utilizzare la linea controlla la linea di BUSY Se libera la asserisce La Logica del Master richiede l accesso al BUS TXRQ CMND Logica del Master BPRO BPRN AEN Logica del Master BPRO Logica del Master BPRN BUSY BCLK
Centralizzato Parallelo (Multibus I) Tutte le linee di richiesta vanno all arbitro Tutte le linee di ack vanno all arbitro L arbitro definisce le priorità Nota: adottato anche in EISA e PCI Logica del Master BPRN BPRO ARBITER Logica del Master BPRN BPRO
Centralizzato Daisy Chain (VME) Il Controllore gestisce diverse liste La Linea BBSY è comune a tutte e permette di sincronizzare le richieste Nessun modulo può fare richiesta con BBSY asserita BBSY Controller BRi BGiOUT BGiOUT BGiOUT BGiN BGiN BGiN BGiN
L esempio del VME
Lo Standard VME Standard IEEE 1014 Nato nel 1987, E il più diffuso dei BUS industriali Lo standard è considerato un riferimento generale per la sua chiarezza
Gli elementi definiti dallo standard Devices Functional Module Backplane Interface Logic Backplane
Le Linee del Bus VME Trasferimento dati (DTB) Arbitraggio del bus Bus per la Priorità degli Interrupt Bus di Utilità
Data Transfer Bus Lines Gestisce esplicitamente anche sistemi piccoli Trasferimenti da 8,16,32 bit Indirizzi a 16,24,32 bit 33 Diversi tipi di cicli di BUS Trasferimenti a blocchi (limitati a 256 byte) ciclo indivisibile lettura/modifica/scrittura ciclo solo indirizzo
Data Transfer Bus Lines 4 tipi di dispositivi Master e Slave Controllore di locazione (genera interrupt su certi indirizzi) Timer del Bus
Arbitraggio del Bus Linee 6 linee bus e 4 linee per il canale Daisy-Chain Tre tipi di arbitraggio A priorità RoundRobin Singolo livello
Priority Interrupt Bus lines Due classi di sottosistemi per le priorità Sistema a singola gestione (singolo interrupt handler) Sistema a gestione distribuita (2 o più interrupt handler)
Linee di utilità Segnale di clock a 16 Mhz NON viene usata per i cicli di bus, ma per le misurazioni del tempo 2 linee per il Bus seriale VMS Linee di inizializzazione, ripristino e controllo
Dal Bus di Sistema alla rete industriale
Dai Bus di Sistema alle Reti Industriali Un BUS di sistema permette la realizzazione di un sistema modulare Quando i moduli cominciano a crescere in complessità, ad essere più indipendenti l uno dall altro si comincia ad affermare il concetto di rete I Moduli non sono più schede di un BUS, ma dispositivi che dialogano attraverso pile di protocolli di rete Ad oggi i termini BUS di sistema e rete industriale vengono spesso confusi tra loro
Problema Un mittente A vuole comunicare delle informazioni ad un destinatario B. Mittente A Destinatario B ciao come stai? ciao come stai???? Siamo sicuri che l'informazione arrivi a destinazione nel giusto ordine non in ritardo e corretta?
Per risolvere il precedente problema occorre implementare una comunicazione Safety Sono sicuro che l informazione arriva a destinazione nel giusto ordine non in ritardo e corretta Questo argomento è di particolare interesse per Ansaldo Segnalamento Ferroviario che si occupa della sicurezza ferroviaria
COMUNICAZIONE SAFETY Correttezza dati Correttezza del percorso Continuità del flusso di dati Tempestività Occorre garantire che un dato ricevuto corrisponda al dato inviato Solo determinati percorsi dell informazione devono essere leciti Occorre rilevare l eventuale mancata ricezione di un dato prima di processare ulteriori dati ricevuti Occorre garantire che le anomalie di funzionamento del canale siano rilevate e gestite in tempo reale.
L insieme di regole per la gestione di una comunicazione (Safety) è detto Protocollo di Comunicazione (Safety) ISO/OSI Profibus RS232 Application Layer Presentation Layer Session Layer Transport Layer Network Layer Data Link Layer Physical Layer Application Layer Application Inte rface Remote Channel Manager Conne ction Manage r Safety Layer Data Link Layer Physical Layer Application Layer Transport and Safety Layer Data Link Layer Physical Layer
FASI PER IL PROGETTO DI UN PROTOCOLLO DI COMUNICAZIONE Ideazione e descrizione Verifica Valutazione delle prestazioni Conformità alle normative europee
IDEAZIONE E DESCRIZIONE PDU (Protocol Data Unit): formato dell unità di trasporto dei dati Primitive: funzioni messe a disposizione del protocollo di livello superiore Descrizione in linguaggio informale Descrizione in linguaggio formale (scientifico): UML (Unifield Modeling Language)
PDU n byte byte 1 byte 2... n TSLType TSLData TSL Frame header body DL header DLData DLD TSLType Rappresenta il tipo particolare di PDU TSLData Contenuto variabile in lunghezza e significato a seconda del tipo particolare di PDU
Primitive dei servizi offerti (1) PRIMITIVE SERVIZIO TSL_OpenChannel Apertura di un canale di comunicazione TSL_CloseChannel Chiusura di un canale di comunicazione TSL_SafSend TSL_Send Invio di un messaggio con misure di sicurezza Invio di un messaggio senza misure di sicurezza
Primitive dei servizi offerti (2) PRIMITIVE TSL_Receive TSL_Accept TSL_Hook SERVIZIO Ricezione di un messaggio con sospensione del chiamante Ricezione di un messaggio con rilascio del controllo al chiamante se non presente alcun pacchetto Ricezione di un messaggio con l accodamento dei vari pacchetti in un buffer
Descrizione del protocollo in UML(1)
Descrizione del protocollo in UML(2) Stato annidato della parte ripetitiva del mittente when(timeout) when(errore) TxPck 0 when(rxnack) Mittente Sequenza 0 check nack H attesa ack 0 when(rxack) check ack 0 when(rifiuta) TxPck0 when(errseq) when(fine Pacchetti) when(accetta) TxPck 1