CAN-BUS BMW by Automotive
immagini visibili ai soli utenti registrati
immagini visibili ai soli utenti registrati
immagini visibili ai soli utenti registrati
CAN= Controller Area Network effettuato mediante comunicazione digitale di tipo seriale su doppini intrecciati che possono essere schermati (ad esempio l'antenna dell' EWS ha i doppini schermati per evitare disturbi esterni nel processo di confronto codici)
I vantaggi principali sono quelli di permettere un dialogo "veloce" tra vari dispositivi e permettere elevata affidabilità in caso di errori.
----------------------I nodi----------------------
I nodi sono i soggetti che dialogano tramite la rete can per gestire il funzionamento della moto.
Sulle piattaforme 1200X sono 4:
- BMSK (by Bosch): Centralina gestione parametri motore e iniezione.
- ZFE (by Loewe): Centralina gestione assorbimenti delle utenze e controllo funzionamento delle stesse. (clacson, manopole risc, prese corrente, assorbimento fari e frecce)
- KOMBI (by Siemens): Centralina gestione display con controllo della funzionalità blocchetto comandi più controllo EWS.
- ABS (by FTE o Automotive se post 2006): Centralina di gestione ABS.
immagini visibili ai soli utenti registrati
Qualcosa di un pò più serio....
immagini visibili ai soli utenti registrati
immagini visibili ai soli utenti registrati
----------------------I sensori----------------------
Le R1200X sono piene di sensori che automaticamente forniscono informazioni riguardanti le periferiche gestite dai singoli nodi.
Ogni nodo è in grado di elaborare i valori dei sensori da lui controllati, amplificarli, convertirli in digitale ed immetterli nella rete CAN con un livello di priorità.
Ad esempio, il sensore temperatura aria nel filtro, i sensori di temperatura dei cilindri, il pressostato, il sensore induttivo della posizione dell'albero motore, i sensori induttivi della posizione degli alberi a camme, il sensore di regime, i sensori ABS ....trasformano una grandezza fisica in analogica.
Tale valore resistivo analogico viene direttamente trasformato in digitale dal nodo che controlla il sensore e immesso nella rete CAN.
Questi nodi dialogano con tutti i sensori-attuatori- utenze sotto la loro "visione" e sono "auto-diagnosticanti", in quanto riescono a riconoscere un errore di un sensore/componente controllato o proprio del nodo.
Errore che può portare all'auto esclusione del componente che lo provoca da parte del nodo controllore.
Esempio:
Sonda lambda in avaria oltre la soglia di temperatura di funzionamento.
La BMSK rivela l'errore del componente.
Per 5s a 1Mbit/s la BMSK riazzera l'errore automaticamente e rifà il test del componente in oggetto.
Se il componente permane in errore, la BMSK auto-esclude la sonda entrando in gestione motore emergenza.
La BMSK dialoga con la Kombi, la quale farà apparire sul display il simbolo di potenza massima non disponibile e triangolo rosso acceso.
In questa modalità, l'iniezione del motore viene gestita rispettando una curva fissa in memoria eprom, e il componente escluso non compromette il funzionamento del motore stesso.
L'errore permanente comparirà quando verrà attaccato alla moto un sistema diagnosi (BMW o altro che sia).
----------------------Capacità "Multi Master"----------------------
E' la capacità del CAN su BMW, che permette a tutti i nodi di dialogare contemporaneamente richiedendo informazioni dalla rete CAN o immettendo informazioni sulla stessa.
Ogni tipo di informazione che viaggia sulla rete ha un identificativo che permette ai nodi di capire il valore di priorità che ha l'informazione stessa e se l'informazione è utile al nodo stesso.
In base al livello di priorità il nodo decide se elaborare l'informazione in quel frangente di tempo in base a processi già in corso o a problemi con priorità maggiore già attivi.
L'errore con priorità inferiore a quello presente non verrà quindi analizzato dal nodo, ma tenuto in coda all'esterno del nodo stesso.
Coda che permane anche a moto spenta e con batteria attaccata. Se la batteria viene staccata tali informazioni vengono perse.
Il controllo dei messaggi, l'arbitraggio tra i nodi per rispettare le priorità, il riconoscimento di nodi in avaria, viene effettuato dalla CPU presente che gestisce la rete CAN.
Il nodo può riconoscere anche il messaggio come "non interessante" per se stesso e quindi rimetterlo in rete senza elaborarlo.
Esempio grafico della gestione delle informazioni; accettazione-analisi-non accettazione del messaggio.
immagini visibili ai soli utenti registrati
Entrando più nel "cuore" del nodo, con lo schema sotto si apprezza la struttura del nodo stesso che permette di gestire intelligentemente i messaggi;
immagini visibili ai soli utenti registrati
- CAN Transceiver:
Monitora le doppie linee del CAN (H= High speed - L= Low Speed). E' la porta di accesso a tutti i messaggi che transitano sul CAN.
- CAN Controller:
Riceve i dati dal Transceiver e ne valuta la compatibilità con il nodo. Se compatibile con l'attività del nodo, in base al livello di priorità del messaggio e ad una eventuale coda di messaggi, invia il messaggio al Microcontroller.
Ha anche la funzione di riconoscere messaggi di errore presenti nella rete CAN, provenienti dal Microcontroller stesso o da un sensore controllato dal nodo.
- Microcontroller:
E' il cervello del nodo. In base a come programmato gestisce tutte le operazioni che il nodo deve effettuare.
----------------------I Tipi di messaggi----------------------
-Data Frame
Messaggio immesso in rete da un nodo trasmettitore verso i nodi riceventi. E' il messaggio più comune che circola nella rete can. La sua struttura digitale è composta da "campi separati" ben distinti con ognuno una propria funzione.
Qui sotto c'è lo schema della struttura di un messaggio "data frame"......
immagini visibili ai soli utenti registrati
Il messaggio è delimitato dai campi di apertura e chiusura (start e end of frame) che servono al nodo ricevente per capire se il messaggio recepito è integro. Tali campi sono di 1 bit.
Se non leggesse la coda del messaggio "end of frame" il nodo ricevente manderebbe un "error frame" al nodo che gli ha spedito il messaggio di ricezione incompleta. (vedi avanti)
Il campo "Arbitration" (formato da 29bit) è il grado di priorità che il nodo speditore del messaggio dà allo stesso. In base a questo campo il CAN Transceiver del nodo sarà precedenza ad un messaggio rispetto agli altri.
Ad esempio se nel can ci sono contemporaneamente il messaggio di "serbatoio in riserva", "faro anteriore bruciato", "sonda lambda 1 guasta", il nodo Kombi avrà come priorità la gestione e la visualizzazione sul display del messaggio sonda guasta (priorità 4/4 e triangolo giallo con simbolo elettronica motore accesi), e ogni 20sec alternerà il simbolo di riserva serbatoio (priorità 3/4).
Nel campo "control" (6 bit) ci sono le informazioni sulla lunghezza del messaggio "data".
Nel campo "data" ci sono i bit (max 64) con le informazioni contenute nel messaggio. E' il contenuto del messaggio stesso.
I campi CRCF (15bit) e ACK (2bit) servono al nodo ricevente per segnare il messaggio come "letto" e a quello speditore per capire se il messaggio è stato letto correttamente. (il messaggio difatti viene rispedito al mittente "firmato"). Servono anche al nodo ricevente per identificare il messaggio come errato (vedi avanti).
-Remote Frame
E' un messaggio che spesso viene mandato in coda al Data Frame, per sollecitare il nodo ricevente per elaborare e processare il messaggio.
Aumenta il livello di priorità del data frame. La sua struttura, rispetto a quella del data frame, è priva del campo "data".
-Interframe Space
Ha una funzione separatrice tra messaggi data o remote frame.
-Overload frame
Messaggio inviato da un nodo con una coda di messaggi numerosa, tale da rendere non eseguibile altra analisi di messaggi.
I nodi che dialogano con lui ritarderanno l'invio di successivi data frame.
-Error Frame
Questo messaggio è mandato da un nodo che rileva un errore in un data o remote frame a causa di:
1) Errori nella trasmissione/ricezione messaggi dovuti al campionamento del can receiver.
2) Segnale lungo la linea can attenuato.
La struttura dell'error frame è la seguente....
immagini visibili ai soli utenti registrati
Il campo error flag (6bit) è composto dal nodo per indicare se il messaggio di errore deve essere attivo o passivo.
Se attivo, tutti i messaggi data o remote frame vengono cancellati dalla rete e richiesto il re-invio.
Se passivo, il campo CRCF del data frame viene segnato come errato e il messaggio non verrà più considerato da alcun nodo e marchiato come "errato".
---------------------- Gestione di un errore di trasmissione/ricezione----------------------
1) Il controller di un nodo rileva un errore in trasmissione o ricezione di un data o remote frame.
2) Il nodo trasmette un error frame.
3) Il messaggio viene ignorato da tutti i nodi o cancellato (error flag attivo o passivo)
4) Il messaggio viene ritrasmesso dal nodo mittente.
---------------------- Gestione dei guasti; contatori dei nodi----------------------
Ogni Microcontroller di un nodo ha 2 contatori:
1) Contatore guasti in ricezione. (REC)
2) Contatore guasti in trasmissione. (TEC)
Servono al nodo per autogestire la propria condizione.
****REC e TEC< 128; Il nodo può continuare a funzionare normalmente.
****REC e/o TEC>128 e <256; Il nodo viene considerato come poco affidabile e per segnare successivi REC deve ricevere obbligatoriamente un Passive Flag, mentre per trasmettere altri error frame deve attendere un tempo superiore agli altri nodi.
**** REC e/o TEC> 256; Il nodo si AUTOESCLUDE dal sistema CAN per trasmettere dati, ma resta sempre in ricezione nel caso venisse rimesso in funzione dal sistema can. (ad esempio ad ogni on-off del quadro).
I contatori REC e TEC sono azzerabili mediante uno stacco batteria.
Un esempio di nodo in stato OFF sulla mia 1200RT;
immagini visibili ai soli utenti registrati
In questo caso il nodo KOMBI aveva un TEC>256 (264) per can disattivato e nodo ancora in funzione. (ho staccato la batteria appena ruotata la chiave del quadro senza attendere il riposizionamento dei motorini degli iniettori).
Spero sia stato utile a capire come funzioni la logica delle nostre amate plasticose.