Skip to main content

Diagnosi CANbus

Diagnosi di guasti hardware

La maggior parte dei problemi CAN sono riconducibili a cablaggi errati o dispositivi CAN difettosi. I potenziali errori includono quanto segue:

  • Resistenze terminali mancanti o dimensionate in modo errato

    Il bus deve essere terminato esattamente con una resistenza terminale di 120 Ω all'inizio e alla fine.

  • Baud rate differenti

    Tutti gli abbonati devono utilizzare la stessa velocità di trasmissione.

  • Cortocircuito tra CANLow, CANHigh, CANGround, V+

  • CANLow e CANHigh scambiati

  • Diverse lunghezze di CANHigh e CANLow

  • CANHigh e CANLow non sono un doppino. Di conseguenza, i segnali possono essere interrotti più facilmente.

  • Diverse fonti di messa a terra per CANGround

  • Messa a terra bilaterale del cavo CAN bus

    Quando entrambe le estremità della schermatura del cavo CAN bus sono messe a terra, possono formarsi anelli di messa a terra che possono causare interruzioni.

  • Cavo bus troppo lungo

    La lunghezza massima del bus dipende dalla velocità di trasmissione impostata (vedi tabella).

Bit rate

Lunghezza del cavo

10 kbps

6,7 km

20 kbps

3,3 km

50 kbps

1,0 km

125 kbps

500 m

250 kbps

250 m

500 kbps

125 m

1 Mbps

25 m

Rilevamento guasti hardware

_can_img_error_hw1.png
Procedura. Controllo della resistenza del terminale

La resistenza terminale viene utilizzata per adattare l'impedenza di un nodo all'impedenza del cavo di trasmissione utilizzato. In caso di mancata corrispondenza dell'impedenza, il segnale trasmesso non viene completamente assorbito dal carico e parte di esso viene riflesso nel cavo di trasmissione. Se le impedenze della sorgente, del cavo di trasmissione e del carico sono le stesse, queste riflessioni vengono eliminate. In questo test viene misurata la resistenza seriale dei cavi della coppia dati CAN e delle resistenze terminali collegate.

  1. Disattivare l'alimentazione di tutti i nodi CAN.

  2. Misurare la resistenza tra CAN_H e CAN_L al centro e alla fine della rete.

    Il valore misurato dovrebbe essere compreso tra 50 Ω e 70 Ω. Il valore dovrebbe essere lo stesso in tutte le posizioni della rete.

  3. Se il valore è inferiore a 50 Ω, assicurarsi di quanto segue:

    • Non vi è alcun cortocircuito tra i cavi CAN_H e CAN_L.

    • Non esistono più di due resistori terminali.

    • I nodi non hanno ricetrasmettitori difettosi.

  4. Se il valore è maggiore di 70 Ω, assicurarsi di quanto segue:

    • Non esiste alcun circuito aperto nel cablaggio dei cavi CAN_H e CAN_L.

    • Il sistema bus ha due resistori terminali, ciascuno da 120 Ω, uno a ciascuna estremità.

_can_img_error_hw2.png
Procedura. Tensione di CAN_H/CAN_L

Ogni nodo contiene un ricetrasmettitore CAN che invia segnali di differenza. Quando la comunicazione di rete è inattiva, le tensioni CAN_H e CAN_L sono di circa 2,5 V. I ricetrasmettitori difettosi possono far variare le tensioni a circuito aperto e interrompere la comunicazione di rete.

  1. Disattivare l'alimentazione di tutti i nodi CAN.

  2. Interrompe tutte le comunicazioni di rete.

  3. Misurare la corrente continua tra CAN_H e GND.

    Il valore misurato deve essere compreso tra 2,0 V e 4,0 V. Se è inferiore a 2,0 V o superiore a 4,0 V, è possibile che uno o più nodi abbiano un ricetrasmettitore difettoso.

  4. A una tensione inferiore a 2,0 V, è necessario controllare la continuità dei cavi CAN_H e CAN_L.

  5. A una tensione superiore a 4,0 V, è necessario verificare la sovratensione.

_can_img_error_hw3.png
Procedura. Terra

La schermatura della rete CAN può essere collegata a terra in un solo punto. Questo test indica se la schermatura è collegata a terra in più posizioni.

  1. Separare lo scudo da terra.

  2. Misurare la resistenza di corrente continua tra lo schermo e la terra.

  3. Collegare lo schermo a terra.

    La resistenza dovrebbe essere maggiore di 1 MΩ. Se è inferiore, è necessario cercare una messa a terra aggiuntiva dello schermo.

_can_img_error_hw4.png
Procedura. Controllo della resistenza del ricetrasmettitore CAN

I ricetrasmettitori CAN hanno un circuito che controlla CAN_H e un altro circuito che controlla CAN_L. L'esperienza ha dimostrato che i danni elettrici a uno o entrambi i circuiti possono aumentare la corrente di dispersione in questi circuiti.

Utilizzare uno strumento di misura della resistenza per misurare la corrente di dispersione.

  1. Separare il nodo dalla rete. Lascia il nodo senza corrente.

  2. Misurare la resistenza di corrente continua tra CAN_H e CAN_GND.

  3. Misurare la resistenza di corrente continua tra CAN_L e CAN_GND.

    Normalmente la resistenza dovrebbe essere compresa tra 1 MΩ e 4 MΩ o superiore. Se è inferiore a questo intervallo, è probabile che il ricetrasmettitore CAN sia difettoso.

_can_img_error_hw5.png

Gestione degli errori di un controller CAN

La gestione degli errori è integrata nel protocollo CAN ed è estremamente significativa per le prestazioni di un sistema CAN. La gestione degli errori mira a rilevare gli errori nei messaggi CAN in modo che il mittente possa inviare nuovamente un messaggio non riuscito. Ogni controller CAN cerca di rilevare gli errori all'interno di un messaggio. Quando viene rilevato un errore, il nodo di rilevamento invia un flag di errore e quindi interrompe il traffico del bus. Gli altri nodi rileveranno l'errore causato dal flag di errore (se non hanno già rilevato l'errore originale). Adotteranno le misure appropriate e rifiuteranno il messaggio corrente.

Questi contatori e anche lo stato del bus spesso forniscono informazioni iniziali sulla causa dell'errore durante la diagnosi degli errori CAN. Queste informazioni possono essere lette CODESYS tramite l'interfaccia utente e l'applicazione.