Bus di campo 1 Bus di campo Nel progettare un sistema che permetta l interrogazione di sensori e il pilotaggio di attuatori la tendenza è quella di servirsi di interfacce digitali al posto di collegamenti analogici con linee 4-20 ma, molto diffuse nel passato. 2 1
Bus di campo Nel progettare un sistema che per metta l interrogazione di sensori e il pilotaggio di attuatori la tendenza è quella di servirsi di interfacce digitali al posto di collegamenti analogici con linee 4-20 ma, molto diffuse nel passato. 3 Bus di campo I sensori con uscita digitale hanno al loro interno gli stadi di amplificazione e di conversione, viceversa gli attuatori contengono i circuiti di potenza. Si tratta quindi a loro volta di sistemi embedded in miniatura Diviene quindi essenziale la disponibilità di un sistema di comunicazione affidabile, veloce e semplice per far colloquiare tutti gli elementi del sistema. Questo sistema di comunicazione è detto BUS DI CAMPO o Fieldbus 4 2
Bus di campo Definizione IEC (International Electrotechnical Commission ): si dice BUS DI CAMPO (o fieldbus) un sistema di comunicazione seriale fra diversi nodi di un sistema quali dispositivi di campo (sensori attuatori ecc.) dispositivi di controllo (PLC, sistemi embedded ecc.) La comunicazione fra i nodi è gestita mediante un protocollo caratteristico del bus di campo Il protocollo di comunicazione è inquadrato nella definizione dei livelli ISO/OSI. La connessione fra diversi nodi è realizzata mediante una interfaccia elettrica. Un protocollo può prevedere diversi tipi di interfacce elettriche 5 Modello ISO/OSI 6 3
Modello ISO/OSI Nel caso dei bus di campo l attraversamento dei 7 livelli del modello ISO/OSI richiederebbe tempi rilevanti e incompatibili con applicazioni real time e di controllo di processo. I protocolli per bus di campo fanno quindi riferimento ad una versione ridotta del modello ISO/OSI. 7 Requisiti del bus di campo I dati istantanei sono aggiornati alla frequenza di campionamento dei sensori. Il ritardo di trasmissione dei dati dai sensori e di quelli per gli attuatori non deve pregiudicare la stabilità del sistema. I dati istantanei relativi al processo si riferiscono tutti allo stesso periodo di tempo (coerenza temporale). Se più dispositivi controllori usano una stessa variabile, essi devono disporre in ogni istante dello stesso valore per tale variabile (coerenza spaziale). 8 4
Requisiti del bus di campo Garantire interoperabilità anche se vengono utilizzati dispositivi di costruttori diversi (necessità di standard). Il ritardo di trasmissione di messaggi di tipo sporadico deve essere minimo (ad es. allarmi). Deve essere possibile collegarsi al bus con interfacce semplici ed economiche. In alcuni casi possono essere richiesti particolari requisiti di affidabilità e sicurezza (ad es. funzionamento in ambienti disturbati da forti campi elettromagnetici). 9 Modalità di accesso al BUS Centralizzato o Master/slave: c'è un dispositivo master che controlla il bus e coordina gli accessi dei dispositivi slave. Distribuito o Token Ring: diversi dispositivi possono prendere il controllo del bus secondo un ordinamento. Multiplo o Multimaster, tutti i dispositivi gestiscono autonomamente l'accesso al bus (necessita della gestione delle collisioni). 10 5
Arbitraggio Se più dispositivi richiedono l accesso al bus Contemporaneamente occorre definire una strategia di arbitraggio per designare un vincitore. Nel caso delle architetture Master/slave e Token Ring l arbitraggio non è necessario. Nel caso di architettura Multimaster è richiesto arbitraggio 11 Banda passante utile (BPU) La banda passante utile o BPU misura la effettiva velocità di Trasmissione dato un certo supporto fisico ed una data Architettura. Il caso più favorevole (2 nodi, comunicazione unidirezionale) misura la BPUmax che è un buon parametro di confronto fra i diversi approcci. 12 6
Banda passante utile (BPU) All aumentare del numero di nodi, le diverse architetture presentano BPU diverse 13 Norma IEC 61158 La norma IEC 61158 codifica alcuni fra i più diffusi Fieldbus: Type 1 Foundation Fieldbus H1 Type 2 ControlNet Type 3 PROFIBUS Type 4 P-Net Type 5 FOUNDATION Fieldbus HSE (High Speed Ethernet) Type 6 SwiftNet (a protocol developed for Boeing, since withdrawn) Type 7 WorldFIP Type 8 Interbus 14 7
Panorama industriale PLC (Programmable Logic Controller) 15 PLC - Struttura 16 8
PROFIBUS come fieldbus per PLC 17 Evoluzione di PROFIBUS 18 9
Diffusione del Profibus 19 Implementazione di Profibus 9.6 kbit/s to 12 Mbit/s 100 to 1200 m 31.25 kbit/s up to 1900 m up to 15 km 20 10
Livello fisico di Profibus 21 Protocollo Profibus 22 11
Protocollo Profibus 23 Interfaccie Profibus VPC3+S PROFIBUS-DP Slave Controller with serial Interface SPI, IIC, parallel-interface BGA 48pin Package 6x8mm 4kByte communication RAM function and software compatible to VPC3+C and SPC3 from Siemens Supporting PROFIBUS-DP-V0, DP-V1 and DP-V2 protocol HW - PLL für DP-V2 - ISOM Ultra Low Power, Vcc 3.3V Software stack and Evaluation-Kit 14.00 24 12
Interfacce per PC e sistemi embedded Basate su transceiver RS485 PCI slot 1550 1550 crio module 1650 1650 25 CAN bus La norma IEC 61158 NON codifica altri bus di campo molto diffusi ed in particolare il bus CAN (Controller Area Network) Il CAN bus è standardizzato dalla normativa ISO* 11898 ISO 11898-1 - the CAN protocol ISO 11898-2 - high-speed physical layer for CAN ISO 11898-3 - low-speed fault-tolerant physical layer for CAN ISO 11898-4 - Time-Triggered CAN ISO 11898-5 - "High-speed medium access unit with low-power mode ISO 11992-1: CAN fault-tolerant per autoveicoli * ISO = International Organization for Standardization 26 13
CAN bus CAN bus, sviluppato dalla Bosch nel 1985 per le esigenze del settore automobilistico, è un bus ad altissima affidabilità, multi-master a rilevazione di collisione che consente la connessione fino a un massimo di 100 nodi (CAN 2.0B) Velocità: CAN 2.0A (basic/standard CAN) 250Kbit/s (typ 40 Kbit/s) CAN 2.0B (extended/full CAN) 40m a 1Mbit/s, 6Km a 10kbit/s. 27 CAN bus I messaggi sono inviati in broadcast I singoli dispositivi decidono se sono interessati ai messaggi che viaggiano sul bus Gestione dei vari livelli di priorità associati ai singoli messaggi Pensato per operare in presenza di forti campi elettromagnetici Rilevamento e segnalazione di errori Ritrasmissione automatica di messaggi errati Gestione di errori temporanei Isolamento automatico dei dispositivi difettosi 28 14
CAN bus - Messaggi I messaggi CAN contengono un campo Identificativo e un campo Dati. I messaggi sono inviati a tutti i dispositivi connessi al bus (broadcast). 29 CAN bus - Struttura del messaggio 2.0A 2.0B 30 15
CAN bus Ricezione del messaggio I dispositivi si interessano ai messaggi che viaggiano sul bus sulla base del campo Identificativo. Il controllo dell'identificativo da parte dei dispositivi è effettuato con dei filtri e delle maschere. Se l'identificativo è accettato il campo Dati viene memorizzato, altrimenti il messaggio è scartato. 31 CAN bus Trasmissione del messaggio I dispositivi devono attendere che il bus sia libero prima di partire con l'invio di un messaggio. Se due o più dispositivi iniziano contemporaneamente una trasmissione viene utilizzato l'identificativo dei messaggi per arbitrare il bus. 32 16
CAN bus Arbitraggio Se due dispositivi iniziano a trasmettere contemporaneamente: Entrambi continuano fino a quando non inviano un bit differente. Un bit pari a 0 (dominante) vince su un bit pari a 1 (recessivo). Il dispositivo che vince continua la trasmissione, quello che perde si ferma e ritrasmetterà tutto il messaggio in seguito. 33 CAN bus Arbitraggio 34 17
CAN bus Gestione degli errori Vengo effettuati controlli su 5 livelli durante l'invio e la ricezione di messaggi: Stuffing error - a transmitting node inserts a high after five consecutive low bits (and a low after five consecutive high). A receiving node that detects violation will flag a bit stuffing error. Bit error - A transmitting node always reads back the message as it is ending. If it detects a different bit value on the bus than the one it sent, and the bit is not part of the arbitration field or in the acknowledgement field, an error is detected. Checksum error - each receiving node checks CAN messages for checksum errors. Frame error - There are certain predefined bit values that must be transmitted at certain points within any CAN Message Frame. If a receiver detects an invalid bit in one of these positions a Form Error (sometimes also known as a Format Error) will be flagged. Acknowledgement Error - If a transmitter determines that a message has not been ACKnowledged then an ACK Error is flagged. 35 CAN bus Gestione degli errori Ogni dispositivo è munito di 2 contatori: Errori in trasmissione (incremento se errore in trasmissione, decremento se trasmissione ok) Errori in ricezione (incremento se errore in ricezione, decremento se ricezione ok) A seconda del valore dei contatori il dispositivo può interagire sul bus o essere isolato. 36 18
CAN bus CRC Una sequenza di bit ridondanti, detta CRC (Cyclic Redunancy Check), viene aggiunta alla fine dell unità dati in modo tale che l intera sequenza costituisca un numero binario esattamente divisibile per un altro numero binario prefissato. Il destinatario divide la sequenza binaria ricevuta per il numero binario prefissato e accetta i dati in caso di resto nullo, mentre li rigetta nel caso in cui il resto risulti diverso da zero. 37 CAN bus Livello fisico 4.20 /m 38 19
CAN bus Livello fisico PMA(Physical MediaumAttachment): Detta la struttura di ogni nodo CAN e come è connesso al Bus. Il nodo can è composto da tre parti principali. Microcontroller: E il cuore del nodo can e gestisce tutte le operazioni che la periferica deve svolgere. Can Controller: Trasmette e riceve dati seriali dal microprocessore al bus (e viceversa). Transceiver: Rileva lo stato del bus valutando la differenza di tensione tra CAN_H e CAN_L. 39 CAN bus Microcontrollers Il protocollo è complicato e richiede dispositivi appositi per la sua gestione oppure si deve ricorrere a microcontrollori con gestione del CAN integrata. Esiste una grande varietà di microcontrollori con interfaccia CAN. ES. ST 3.55 40 20
CAN bus Microcontrollers Il microcontrollore normalmente prevede la gestione del protocollo ma non l interfaccia elettrica verso il bus 41 CAN bus interface 1.53 42 21
CAN bus interface 43 CAN bus interface PCI USB 234 222 44 22
CAN bus considerazioni Pensato per applicazioni ad altissima affidabilità (Automotive, avionics, ecc.). Vantaggi: affidabilissimo : P errore < (4.7 x 10-11 x error rate) alta velocità di trasferimento dati (fino a 1Mbit/s 40m max) multimaster con arbitraggio Svantaggi cablaggio costoso (2 wire+gnd) affidabilità spesso eccessiva protocollo complicato, difficilmente implementabile se non mediante appositi dispositivi integrati 45 Bus alternativi 46 23
CAN vs LIN 47 LIN consortium Consortium formed in 1998. Five Car manufacturers ONE Semiconductor Supplier (Motorola) One tool Supplier (VCT) Specification finalised on 02/02/00 Official Launch at SAE March 00 Open Specification. Motorola Ready to support LIN with extensive device families and new parts already in discussion/ spec finalization loop. First dedicated LIN part available Q3 00 Daimler- Chrysler VW LIN Spec VCT BMW AUDI Volvo 48 24
LIN Key features THE KEY FEATURES OF LIN ARE: Low cost single-wire implementation Enhanced ISO 9141, VBAT-based speed up to 20Kbit/s Acceptable speed for many applications (limited for EMI-reasons) Single Master / Multiple Slave concept No arbitration necessary Low cost silicon implementation based on common UART/SCI interface HW Almost any microcontroller has necessary hardware on chip Self synchronization in the slave nodes without crystal or ceramics resonator Significant cost reduction of hardware platform Off-the-shelf slaves Flexibility because of configuraton features Guaranteed latency times for signal transmission Predictable systems possible 49 Data Transmission master control unit polling master task slave task slave control unit slave task slave control unit slave task inter-frame 13 bit spacing Break synch field $55 identifier field next Next 13 synch bit break field Master Task response spacing 2 byte 1 byte data block parity time Slave Task time 50 25
Message frame Synch Byte: Specific Pattern for Determination of Time Base (Determination of the time between two rising edges) A Synch Byte precedes any Message Frame ID-Field: Message Identifier: Incorporates Information about the sender, the receiver(s), the purpose, and the Data field length. Length 6 Bit. 4 classes of 1/2/4/8 Data Bytes. The length coding is in the 2 LSB of the ID-Field. Each class has 16 Identifiers. A total of 64 Message Identifiers are possible. 2 Parity Bits protect this highly sensitive ID-Field. 51 LIN Communication - Data from Slave to Master quartz Master Node LIN Master Task Slave Task Rec Slave Task Trans identifier synch field synch break Slave Node Slave Task Rec Slave Task Trans data byte data byte checksum Single-master / multi-slave protocol Time triggered, no arbitration Identifier denotes message content, not physical address Multicast messages Baud rate synchronization through protocol Power saving sleep mode 52 26
LIN Communication - Data from Master to Slave(s) quartz Master Node LIN Master Task Slave Task Rec Slave Node A Slave Task Rec Slave Task Trans Slave Task Trans Slave Node B Slave Task Rec Slave Task Trans 53 LIN Communication - Data from Slave to Slave quartz Master Node LIN Master Task Slave Task Rec Slave Node A Slave Task Rec Slave Task Trans Slave Task Trans Slave Node B Slave Task Rec Slave Task Trans 54 27
LIN Message Frame message header message response synch break 13 bit synch field identifier 0 to 8 data fields checksum Synchronisation frame Identifier byte Synchronisation field Message 55 LIN phisycal interface Electronic Control Unit Bus Voltage master: 1kΩ slave: 30kΩ UART Rx Tx Bus VBAT 8...18V 60% 40% recessive logic 1 controlled slope ~2V/µs dominant logic 0 GND Time Example capacitances master: 2.2nF Note: slave: 220pF The LIN specification refers to the ECU connector voltages! 56 28
LIN transceiver 0,68 57 Taking account of Ground-Shift The detection point for data transitions can be affected by voltage references. Ground shift can change this reference by a significant amount, affecting the bit timing of the data Sense voltage Data timing Available bit sampling zone can reduce worst case bit width to around 40us at 20k baud This affects the overall baud rate tolerance required for safe LIN communications 58 29
Combining CAN and LIN 59 RS232 vs RS485 Characteristics of RS232, RS422, RS423 and RS485 RS232 RS423 RS422 RS485 Differential no no yes yes Max number of drivers Max number of receivers 1 1 1 10 1 10 32 32 Modes of operation half duplex full duplex half duplex half duplex half duplex Network topology point-to-point multidrop multidrop multipoint Max distance (acc. standard) 15 m 1200 m 1200 m 1200 m Max speed at 12 m Max speed at 1200 m 20 kbs (1 kbs) 100 kbs 1 kbs 10 Mbs 100 kbs 35 Mbs 100 kbs Max slew rate 30 V/µs adjustable n/a n/a Receiver input resistance 3..7 kω 4 kω 4 kω 12 kω Driver load impedance 3..7 kω 450 Ω 100 Ω 54 Ω Receiver input sensitivity ±3 V ±200 mv ±200 mv ±200 mv Receiver input range ±15 V ±12 V ±10 V 7..12 V Max driver output voltage ±25 V ±6 V ±6 V 7..12 V Min driver output voltage (with load) ±5 V ±3.6 V ±2.0 V ±1.5 V 60 30