Vai al contenuto
PLC Forum


Can Bus : - Terminologia e qualche chiarimento


rob10kg

Messaggi consigliati

Su un libro (libretto) in mio possesso (BUS DI CAMPO A CONFRONTO) si dice sul CAN BUS :"come meccanismo di scambio dei messaggi fra un master e gli SLIO (slave) si utilizza da una parte il polling e dall'altra la comunicazione event driven."

Che significa,che i due metodi d'accesso sono combinati o che come nel PROFIBUS puoi scegliere tra l'uno o l'altro?

Poi : " Per evitare le collisioni viene utilizzato il processo CSMA/CA.Questo processo esegue un arbitrato per bit di tipo non distruttivo in base al quale,in caso di accesso contemporaneo di più componenti,l'identificativo nel frame dati viene utilizzato per risolvere i conflitti sul BUS in maniera non distruttiva.I bit vengono rappresentati sul BUS nelle condizioni dominante e recessiva.Tutti i componenti collegati sul BUS ascoltano in parallelo e sono sempre pronti alla ricezione.Quando il BUS è libero,i componenti possono richiedere l'accesso.In questo modo può capitare che che i diversi nodi accedano al BUS contemporaneamente.In tal caso si imporrebbe il bit dominante dell'identificativo di un messaggio,ossia il bit recessivo dell'altro messaggio verrebbe sovrascritto,mentre il nodo che trasmette in modalità recessiva si commuterebbe nel modo ricezione.Poichè due componenti collegati sul BUS non possono mai avere uno stesso identificativo,ne deriva che il sistema di risoluzione delle collisioni è di tipo non distruttivo."

Secondo me è spiegato da cani.Vi chiedo : che significa " condizione dominante e recessiva " riferito a come i bit vengono rappresentati sul BUS.

Poi :"il bit recessivo viene sovrascritto e si impone il bit dominante (beh lo dice la parola stessa Ndr) e il nodo che trasmette in modalità recessiva si commuterebbe nel modo ricezione" . Domanda : come fa a sapere che è avvenuta una collisione se stava trasmettendo???.

Poi :"...ne deriva che il sistema di risoluzione delle collisioni è di tipo non distruttivo".Fatemi un esempio di sistema di risoluzione delle collisioni di tipo distruttivo grazie.

Non voletemi male.Ciao.

Link al commento
Condividi su altri siti


non e' spiegato da cani, e' chiarissimo

i nodi can hanno un'interfaccia trhee state che rimane in ricezione anche quando trasmette

il primo dato trasmesso quando un nodo va in comunicazione e' il suo indirizzo

se un nodo rileva una trasmissione sulla linea non trasmette, tenta di trasmettere dopo un tempo random

se due nodi accedono contemporaneamente

ambedue contemporaneamente trasmettono l'indirizzo

quello con indirizzo piu' alto rileva che un certo bit forzato basso non e' suo e smette di trasmettere

quello con l'indirizzo piu' basso non rileva nulla e va avanti

il nodo ovviamente riconosce l'identita' della sua trasmissione quando la riceve e non esistono collisione autogene

non ci saranno altre collisioni perche' nessun nodo andra' in trasmissione

ne ci saranno collisioni dal secondo nodo perche' ha troncato la trasmissioni

ma in questo modo il primo nodo non ha perso nemmeno un bit, cioe' nulla e' andato distrutto

questo perche' l'hardware can ha la capacita' di troncare la trasmissione in qualsiasi momento, a livello di bit in trasmissione

un esempio di collisione distruttiva e' ethernet

tutti i nodi sono i ricezione

chiunque puo' andare in trasmissione

ovvio che anche in ethernet il nodo e' in ricezione anche mentre trasmette

se un nodo trasmette gli altri non vanno in trasmissione, lo fanno dopo random

se due nodi vanno in trasmissione si ha la collisione

il nodo ovviamente riconosce l'identita' della sua trasmissione quando la riceve e non esistono collisione autogene

a questo punto abedue abortiscono e trasmettono dopo random

ma quanto trasmesso e' abortito e ignorato da tutti gli ascoltatori, cioe' distrutto, sara' ritrasmesso

spero che la pedestria della mia spiegazione ti abbia aiutato, comunque (ethernet a parte) e' la stessa cosa che hai scritto tu

Link al commento
Condividi su altri siti

Ciao Piero.Che significa collisione autogena? Secondo : credevo che nelle reti Ethernet fossi applicata il massimo della tecnologia e degli sforzi per garantire il massimo dell'efficienza ma da quanto dici tu essendo la risoluzione delle collisioni di tipo distrutttivo ossia non verificata in tempo reale dai singoli nodi si configura alla fine come una perdita di dati quindi peggioramento delle prestazioni.Il CAN potendo verificare istante per istante quello che succede sul BUS può per cos' dire correggere in tempo reale eventuali perdite di dati.Strano che un BUS utilizzato solo in industria sia meno intelligente di uno standard sfruttato addirittura dagli appassionati di computer nel loro ambito domestico.

Link al commento
Condividi su altri siti

A proposito di CAN BUS ecco uno stralcio di articolo tratto da internet

La nuova generazione di vetture importa un’innovazione tecnologica che rivoluziona l’impianto

elettrico delle vetture.

L’esigenza di far comunicare un numero sempre più elevato di centraline elettroniche e la complessità

di queste, porta inevitabilmente ad un aumento insostenibile di collegamenti dedicati e la

duplicazione di medesimi sensori necessari a diversi dispositivi con conseguente aumento di costi

di produzione e soprattutto ingombro fisico.

Per risolvere tale problematica è stato adottato il sistema CAN (Controller Area Network).

Il CAN è un bus seriale di comunicazione dati progettato per le applicazioni real time, nato specificatamente

per l’industria automobilistica.

Sviluppato dalle aziende Bosch e Intel, in seguito si è affermato anche come bus di campo nel

settore della tecnica di automazione.

Link al commento
Condividi su altri siti

per collisione autogena intendo che se il nodo non verificasse i suoi stessi dati in tempo reale li scambierebbe per dati di un'altro nodo, cioe' per una collisione, cio' non avviene

per la verita' questa non e' l'unica caratteristica particolare del can

lo stesso e' un'evoluzione del manchester, quest'ultimo si limitava a sdoppiare i bit, can can il clock di trasmissione e' varie volte piu' alto del clock apparente, per questo richiede un chip dedicato

questo eleva l'immunita' ai disturbi

esso non e' nemmeno paragonabile a protocolli token quali bitbus, interbus o profibus

non realizza la struttura multimaster con artifizi ma lo e' strutturalmente

come ethernet ha la caratteristica dell'altissima efficenza con il pregio di non essere necessariamente real time

non puo' raggiungere (attualmente) la banda passante di ethernet ma puo' essere incapsulato nel tcp/ip

non e' direttamente pragonabile con ethernet che ha il pregio della notevole scalabilita' nonche' della capacita' di gestire un numero di nodi neanche paragonabile con quelli di un bus di campo (in classe A 254^3)

opportuno a questo punto precisare che quando si parla di perdita di dati non e' da interdersi nel senso lessicale del termine, vuol dire che quello specifico blocco verra' reinviato una seconda volta (in linea teorica un terza, una quarta ....... una enne.sima finche' arriva correttamente)

Modificato: da Piero Azzoni
Link al commento
Condividi su altri siti

Grazie Piero.Una domanda : cosa intendi dire per "può essere incapsulato nel TCP/IP " ?.Da noi in azienda quando si vuol connettere una rete di un determinato BUS ad un'altra si utilizza un gateway come "interfaccia".Non è sufficiente?

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...