|
INTRODUZIONE
Il
protocollo CAN (Controller Area Network) è stato inizialmente creato dal
fornitore tedesco di sistemi automobilistici Bosch a metà degli anni 1980
per applicazioni automotive come metodo per consentire una comunicazione
seriale robusta. L'obiettivo era rendere le automobili più affidabili,
sicuri e con maggiore efficienza energetica riducendo il peso e la
complessità del cablaggio. Sin dal suo inizio, il protocollo CAN ha
guadagnato grande popolarità nel campo della automazione industriale e
nelle applicazioni per autoveicoli / camion. Altri mercati in cui le
soluzioni con impiego di reti di comunicazioni può portare attraenti
vantaggi (apparecchiature medicali,di testing) stanno cominciando a
utilizzare il protocollo CAN. L'obiettivo di questo tutorial è spiegare
alcuni dei principi fondamentali e i vantaggi di scegliere il CAN come
soluzione di sistemi con comunicazione di rete.
PANORAMICA
SUL CAN
La
maggior parte delle applicazioni di rete seguono un approccio a strati per
la implementazione di sistema. Questo approccio sistematico consente l'interoperabilità
tra prodotti provenienti da produttori diversi. Uno standard (norma) è
stato creato dalla International Standards Organization (ISO) come modello
da seguire per questo approccio a strati. Questo standard si chiama ISO
Open Systems Interconnection (OSI) Network Layering Reference Model ed e'
mostrato in figura 1.

Fig.1
- modello a strati per reti ISO/OSI
Il
protocollo CAN implementa la maggior parte dei due strati più bassi (Data
Link e Physical Layer) di questo modello di riferimento. La sessione
relativa al mezzo di comunicazione del modello è stato volutamente
lasciato fuori dalla specifica CAN della BOSCH per consentire ai
progettisti di sistema di adattare e ottimizzare il protocollo di
comunicazione su più supporti doppino (twisted pair), singolo filo,
otticamente isolato, RF, IR, ecc) e per avere la massima flessibilità.
Tuttavia questa flessibilità porta a dei problemi di interoperabilità.
Per facilitare alcuni di questi problemi, l'Organizzazione
internazionale per la standardizzazione (ISO) e la SAE (societa di
ingegneria per l'automobile) hanno definito alcuni protocolli basati
sul
CAN che includono la definizione della interfaccia in modo da avere ale
che tutti i due strati più bassi dello standard OSI specificati. Sono
stati definiti lo standard ISO11898 utilizzato per applicazioni ad
alta velocità, l'ISO11519 per applicazioni a bassa velocità, e o
standard J1939 (elaborato dal SAE) per applicazioni su camion e autobus.
Tutti e tre i protocolli utilizzano un bus differenziale a 5V come
l'interfaccia fisica. Il resto degli strati di ISO / OSI del protocollo
sono lasciati liberi per essere implementati dagli sviluppatori di
software di sistema. I livelli più alti del protocollo detti HLP (Higher
Layer Protocols) sono generalmente utilizzati per implementare i
cinque strati superiori del modello di riferimento OSI. I livelli HLP
definiscono alcune funzioni:
1)
standardizzare le procedure di avvio tra cui i la velocità di bit
utilizzata (bit rate);
2)
la distribuzione degli indirizzi tra i nodi partecipanti o i tipi di
messaggi;
3)
determinare la struttura dei messaggi;
4)
fornire le routine per la gestione degli errori a livello di sistema
|