CANhack.de CAN interfaccia RKS+CAN
Hardware CAN, Software CAN, Protocolli CAN - Forum CAN-Bus per il tuo progetto CAN-Bus.

Terminazione livello basso: guida e soluzioni

 
Nuovo argomento Rispondi 🔗 ⭐ 🖨 CANhack.de - Indice » Bus CAN Generale
Autore Messaggio
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio26-09-2017, 18:46    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Ciao a tutti,

Probabilmente ho bisogno di un modulo CAN a bassa velocità e questo ha una diversa configurazione elettrica.

Attualmente, a differenza dei sistemi ad alta velocità, non si trovano schede complete per questo componente, ma solo singoli chip, come i modelli TJA 1054/55, anche in formato SMD.

Da quello che riesco a trovare sulle schede tecniche dei canali a bassa velocità (Low Speed CAN) è solo che il livello di tensione minimo (livello logico basso) è diverso.

Durante il funzionamento ad alta velocità, i livelli di tensione del bus CAN sono rispettivamente di 2,5 volt per CanHi e CanLo, con una resistenza di terminazione di 120 ohm collegata x volte. Durante il funzionamento a bassa velocità, la tensione di CanHi è di 0 volt e quella di CanLo è di 5 volt.

Ora la domanda è se posso semplicemente utilizzare un trasceiver ad alta velocità e, invece della normale terminazione, collegare una resistenza da 120 ohm tra CanHi/CanLo. Per le comunicazioni a bassa velocità, potrei collegare CanHi con 120 ohm a 0 volt e CanLo con la stessa resistenza a 5 volt, o qualcosa di simile.

Finora ho trovato solo informazioni sui valori di 0 e 5 volt, ma non su quanti ohm sono necessari per utilizzarli.


Tradotto il 19-08-2026, 18:23.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio27-09-2017, 9:41    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Ho trovato un documento dettagliato sul transceiver CAN a bassa velocità TJA1055 che descrive anche la terminazione.

Ogni nodo CAN a bassa velocità (CanLo) deve essere collegato a +5 volt e CanHi a GND, con una resistenza totale di 100 ohm verso ciascun livello. Tuttavia, ogni nodo deve avere una resistenza minima di 500 ohm collegata al transceiver.

La terminazione viene gestita da questo transceiver: in caso di errore, viene impostata su un valore superiore a pochi ohm tramite resistenze interne; normalmente, viene bypassata e, in questo caso, non tollera valori inferiori a 500 ohm esterni.

Analizzando i circuiti di pilotaggio dei transceiver a bassa velocità TJA1055 e ad alta velocità TJA1050, si può osservare se le linee CANHi/CANLo vengono collegate direttamente all'alimentazione (Vcc) o alla massa.

L'ingresso è la differenza tra i valori CanHi e CanLo.

Potrebbe funzionare utilizzare un trasmettitore-ricevitore ad alta velocità per segnali a bassa velocità, se si terminano esternamente i pin CanHi/CanLo con resistenze appropriate collegate a GND/VCC, in modo da ottenere il livello logico appropriato.

All'ingresso, il transceiver ad alta velocità potrebbe gestire la differenza di potenziale, che a bassa velocità è di -5 volt anziché 0 volt nell'alta velocità.

I livelli di riferimento e le differenze sono simili sia per le velocità elevate che per quelle basse.

https://www.nxp.com/docs/en/supporting-information/AH0801.pdf


Tradotto il 19-08-2026, 18:26.
Torna su
postmann
CAN-Profi
CAN-Profi


Iscritto il: 23/05/2013
Messaggi: 145
Karma: +64 / -0   Grazie, mi piace!


Supporto CAN

CAN-Diagnose piace questo.
Messaggio29-09-2017, 20:32    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Un bus CAN a bassa velocità generalmente non ha terminazioni.

Secondo la norma ISO 11898-3, dato che il CAN può funzionare con una velocità massima di 125 KB/s ed è dotato di tolleranza agli errori, non è necessaria/consentita alcuna terminazione del bus.

La terminazione descritta da voi è adatta per un CAN ad alta velocità.


Tradotto il 19-08-2026, 18:27.
Torna su Profilo MP
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio29-09-2017, 21:20    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Credo che per il bus CAN ad alta velocità, ogni estremità tra i terminali CANHi e CANLo sia terminata con una resistenza da 120 ohm.

La terminazione descritta per ogni nodo CanHi rispetto a GND, CanLo rispetto a VCC, e i 100 Ohm totali per tutti i nodi sono completamente diversi.

Il documento a cui si fa riferimento descrive le caratteristiche del trasmettitore-ricevitore a bassa velocità tja1055, successore del modello tja1054.

Ho sentito anche altrove che il segnale LowSpeed è un CAN con tensione di 5 volt, dove CanLo è il riferimento a terra (Gnd), e questo deve provenire da qualche parte, come si voglia chiamare.

Con il mio dispositivo, misuro una tensione di circa -10.x volt tra CanHi e CanLo, il che suggerirebbe una terminazione a bassa velocità. Tuttavia, secondo la scheda tecnica, il componente tja 1055 ha solo una tensione operativa compresa tra 4.x e 5.x volt, quindi una differenza di potenziale di 10 volt non è spiegabile.


Tradotto il 19-08-2026, 18:30.
Torna su
postmann
CAN-Profi
CAN-Profi


Iscritto il: 23/05/2013
Messaggi: 145
Karma: +64 / -0   Grazie, mi piace!


Supporto CAN

CAN-Diagnose piace questo.
Messaggio30-09-2017, 11:43    Oggetto: Terminazione livello basso: guida e soluzioni Cita

I resistenze da 120 ohm ai due capi di una rete CAN, come descritto, sono in realtà solo un valore teorico e non vengono utilizzate nelle applicazioni pratiche.

La terminazione con una resistenza di 100 Ohm tra il cavo CAN e l'alimentazione è una terminazione divisa. Questo sistema include anche un condensatore e un induttore appropriati, ed è generalmente il tipo di terminazione più comune nel settore automobilistico.

Ciò che è effettivamente irrilevante, dato che un bus CAN a bassa velocità non viene terminato. Stai utilizzando un transceiver compatibile con lo standard ISO 11898-3, sei sicuro che la rete sia una rete a bassa velocità?

Nell'industria automobilistica, ad esempio, si utilizza spesso il CAN ad alta velocità e si riduce la velocità di trasmissione (baud rate). In questo caso, l'utilizzo di resistenze di terminazione avrebbe senso.


Tradotto il 19-08-2026, 18:32.
Torna su Profilo MP
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio30-09-2017, 12:38    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Qual è quindi la terminazione pratica per il CAN ad alta velocità, o intendi dire che ogni nodo CAN ad alta velocità ha una resistenza da 120 ohm tra i pin CAN High e CAN Low, non solo alle estremità?

In uno dei miei adattatori OBD è possibile misurare una resistenza di 120 ohm tra i terminali CAN High e CAN Low, mentre nell'altro non lo è.

Sarebbe necessario poter effettuare ulteriori misurazioni, basandosi sulle diverse terminazioni e sui livelli di tensione, per determinare se si tratta di un sistema CAN ad alta velocità o a bassa velocità.

Per un sistema CAN ad alta velocità, si dovrebbero misurare 120 ohm o meno tra i terminali CAN High e CAN Low, a causa della presenza di più collegamenti in parallelo.
Inoltre, ho visto in una scheda tecnica che un pin configurato come input con resistenza di pull-up viene portato a 2,5 volt quando è nello stato di bassa impedenza, mentre attraverso resistenze di pull-up più elevate viene collegato a 5 volt e a GND.

In un circuito CAN a bassa velocità, non c'è una terminazione specifica tra le linee CAN High e CAN Low; la resistenza misurata tra di esse dovrebbe essere molto alta.
Invece, il segnale CanLo viene portato a un livello inferiore rispetto ai 5 volt (probabilmente tramite una diodo negativo) e a un livello superiore rispetto al ground a 5 volt (probabilmente tramite una diodo positivo), in ogni nodo, con una resistenza totale di 100 ohm.
Questo termine è anche utilizzato come 'terminazione' nella nota applicativa a cui si fa riferimento.


Tradotto il 19-08-2026, 18:36.
Torna su
postmann
CAN-Profi
CAN-Profi


Iscritto il: 23/05/2013
Messaggi: 145
Karma: +64 / -0   Grazie, mi piace!


Supporto CAN

Messaggio30-09-2017, 21:59    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Se si misura la tensione su CAN High e CAN Low in una rete ad alta velocità (ad esempio, tramite la presa OBD), si dovrebbero ottenere circa 0-0,5 V per il bus Low Power e una resistenza di circa 60 Ohm. Questo perché viene utilizzata una terminazione divisa.

Con un adattatore OBD, in teoria, non dovresti essere in grado di misurare nulla (ovvero, la resistenza dovrebbe essere molto alta). Questo perché la terminazione è presente nel veicolo. Se anche nell'adattatore fosse presente una terminazione (come i 120 Ohm che hai misurato), ciò potrebbe influire negativamente sull'equalizzazione dell'impedenza delle onde. Tuttavia, dovrebbe comunque funzionare, poiché il bus CAN diagnostico nella maggior parte dei veicoli non ha un carico elevato.

La nota applicativa collegata non è progettata per un CAN a bassa velocità; sebbene il transceiver possa supportarlo (è conforme allo standard ISO 11898-3), l'utilizzo con un CAN a bassa velocità potrebbe non funzionare, ad esempio, in un sistema di diagnostica.

Devi innanzitutto determinare quale standard CAN viene utilizzato (11898-2, 11898-3 o altri standard; ce ne sono molti).

Quando sarai pronto, avrai bisogno della velocità di trasmissione (baud rate). Se si tratta di un CAN a bassa velocità, è relativamente semplice, poiché può raggiungere al massimo 125 kbps. Il CAN ad alta velocità è più complesso.

Quando si analizzano le tensioni sul bus CAN, è necessario capire cosa sta facendo la rete in quel momento. In un veicolo, si distinguono diverse situazioni:

- Basso consumo: tensione tra CAN High e CAN Low pari a 0V, tra CAN H e massa pari a 0V e tra CAN L e massa pari a 0V (transceiver disattivato).
- Bus Idel a bassa potenza: tensione tra CAN High e CAN Low pari a 0V, tra CAN H e massa pari a 0,5V e tra CAN L e massa pari a 0,5V (il transceiver è in modalità di riposo).
- Bus recessivo: tensione tra CAN High e CAN Low pari a 0V, tra CAN H e massa pari a 2,5V e tra CAN L e massa pari a 2,5V (con una leggera fluttuazione, dato che il livello del bus varia).
- Bus Dominant: Tensione tra CAN High e CAN Low di 2V, tra CAN H e massa di 3,5V e tra CAN L e massa di 1,5V (quest'ultima varia leggermente a causa delle fluttuazioni del livello del bus).

In un sistema CAN industriale (come Safety CAN, TT CAN, ecc.), è possibile utilizzare tensioni diverse.

Per cosa intendi utilizzare il transceiver?


Tradotto il 19-08-2026, 18:41.
Torna su Profilo MP
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio30-09-2017, 22:53    Oggetto: Terminazione livello basso: guida e soluzioni Cita

La nota applicativa collegata non è pensata per un CAN a bassa velocità.
Già nella prima pagina c'è scritto:

Titolo: Transceiver CAN con tolleranza agli errori - TJA1055T.

La terminologia 'fault-tolerant' (resistente ai guasti) in riferimento a un sistema 'single line can' indica già una bassa velocità, poiché non esistono sistemi ad alta velocità che siano anche fault-tolerant.

Inoltre, i modelli TJA1055 e 54 sono transceiver a bassa velocità.


Tradotto il 19-08-2026, 18:43.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio30-09-2017, 23:10    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Con un adattatore OBD, in teoria, non dovresti essere in grado di misurare nulla (ovvero la resistenza dovrebbe essere molto alta), poiché la terminazione è presente nel veicolo. Se anche nell'adattatore è presente una terminazione (quindi i 120 Ohm che hai misurato), questo potrebbe avere un impatto negativo sull'allineamento dell'impedenza delle onde.
Come ho capito io, alla fine del cavo deve essere presente una resistenza ohmica pari all'impedenza caratteristica del cavo stesso, e questa resistenza deve essere indipendente dalla lunghezza del cavo, al fine di evitare riflessioni.

Si potrebbe pensare che ciò debba verificarsi su ogni ramo del cavo, anche se il carico sul bus aumenta di conseguenza.

Si potrebbe discutere se la resistenza dovesse essere all'interno dell'unità principale o nell'adattatore; nel caso del protocollo di diagnostica CAN, è probabile che il gateway sia presente solo a una delle estremità e la presa OBD all'altra, quindi in teoria non dovrebbe fare differenza. Tuttavia, se la resistenza fosse sia nell'unità principale che nell'adattatore, si avrebbero 60 ohm totali, il che sarebbe errato.


Tradotto il 19-08-2026, 18:45.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio30-09-2017, 23:31    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Nelle tensioni del CAN.
Come accennato in precedenza, misuro una tensione di -11,5 volt tra i pin CANHi e CANLo nel dispositivo CAN in questione quando è nello stato di 'deep sleep' con una tensione della batteria di 13,5 volt; durante il funzionamento, la differenza di potenziale tra CANHi e CANLo è di circa -10 volt.

Questo potrebbe essere spiegato solo con il protocollo CAN a bassa velocità, che è terminato contro l'intera tensione della batteria e non solo a 5 volt; il transceiver tJA1055 per CAN a bassa velocità, secondo la scheda tecnica, funziona solo a 5 volt.

Questa tensione è così alta che, con questo dispositivo, posso comunicare senza problemi tramite il bus da un chip MCP2515/TJA1050 a un ELM327, e tutti e tre i dispositivi possono essere collegati allo stesso bus.

Proverò ancora a trasmettere gli identificativi 0x7FF per vedere se ricevo una conferma (ACK) da uno di essi. Anche con tutte le velocità di trasmissione (baud rate) che conosco, ovvero 83.3, 125, 250 e 500 kbps, potrebbe essere ancora possibile farlo.

Il dispositivo dovrebbe essere attivabile anche tramite il CAN bus, ma non ci sono riuscito ancora; al momento devo utilizzare l'accessorio (Acc).
Non so se ci sia una sequenza specifica, se sia necessaria una determinata ID/messaggio, o semplicemente del traffico generico, anche se quest'ultimo dovrebbe già essere presente.

Potrebbe anche essere che il modulo Raspberry Pi Socket CAN non configuri correttamente la velocità di trasmissione (baud rate) di 83,3 per il chip MCP2515; potrei verificarlo misurando con un analizzatore logico.

Ho letto su un forum che nei sistemi Mercedes ci sarebbe una velocità di trasmissione dati di 83,3 baud per il CAN a bassa velocità e che si dovrebbe utilizzare il chip TJ1054 per il bus comfort.

Quanto spesso si legge di cose diverse...?


Tradotto il 19-08-2026, 18:50.
Torna su
postmann
CAN-Profi
CAN-Profi


Iscritto il: 23/05/2013
Messaggi: 145
Karma: +64 / -0   Grazie, mi piace!


Supporto CAN

Messaggio01-10-2017, 10:34    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Posso aiutarti con questo icon_smile.gif.

In realtà, nelle auto Mercedes sono presenti reti CAN con una velocità di 83,3 kB, ma si tratta di reti CAN ad alta velocità. Le reti CAN a bassa velocità non vengono utilizzate da Mercedes.

A quanto ne so io, il valore 83.3 non viene utilizzato sul CAN bus dedicato al comfort, ma sul CAN bus della centralina principale (telematica/audio).

Procurati un altro trasmettitore/ricevitore e poi attiva la risposta all'ID 0xA1h o 0x20h (a seconda del veicolo). Questo è il segnale di accensione, che viene sempre trasmesso.

Non devi fare nulla in merito a questo, Mercedes ha una disposizione a stella e la programmazione è centrale nella stella.


Tradotto il 19-08-2026, 18:52.
Torna su Profilo MP
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio01-10-2017, 21:18    Oggetto: Terminazione livello basso: guida e soluzioni Cita

A quanto ne so io, il valore 83.3 non viene utilizzato sul CAN del comfort, ma sul CAN della centralina principale (telematica/audio).
Non è lo stesso (Can B)?

Pensavo che l'unità centrale multimediale dovesse essere collegata allo stesso CAN bus dell'albero dello sterzo e del computer di bordo. Se fosse un altro CAN bus, cosa dovrebbe ancora essere collegato al 'Comfort CAN'? In tal caso, dovrebbero essere instradate molte connessioni.

D'altra parte, alcune centraline hanno connettori per 2 cuffie, e per il modello Vito dovrebbe essere necessario questo tipo di connessione.


Tradotto il 19-08-2026, 18:53.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio01-10-2017, 21:46    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Ora ricevo conferme (ACK) dal dispositivo in modalità sleep profondo a 83,3 kbps utilizzando il chip mcp2515/tja1050, senza alcuna terminazione, solo con il chip tja1050 e il dispositivo collegati, per ogni ID che ho provato finora.

È già un miglioramento. Avevo già provato con 83,3 kbps, ma non so perché ora funzioni. Devo fare delle prove per capire se il problema è legato all'ELM327, alla resistenza da 120 ohm o a qualcos'altro.

Poiché il dispositivo, come detto, presenta un'alta impedenza e assorbe circa -10 volt tra i pin CanHi/Lo, è comprensibile che non sia necessaria ulteriore terminazione per riportare la tensione a un valore positivo di +x volt.
Una frequenza di 83,3 kHz dovrebbe presentare poche problematiche in termini di riflessioni, soprattutto considerando i miei cavi di pochi centimetri.

Ora inizierò a sperimentare con messaggi più specifici.

Non sai esattamente cosa debba contenere precisamente nei messaggi di accensione identificati come 0x20 o 0xA1?


Tradotto il 19-08-2026, 18:56.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio02-10-2017, 2:11    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Ho finalmente trovato le specifiche del sistema CAN bus di Mercedes.

https://drive.google.com/file/d/0B1Rb8jOWwErbQ19CM3dnZmsyRlU/view

https://mbworld.org/forums/audio-electronics/580108-w211-can-b-hacking-2.html

Successivamente, è evidente che il Can B/Body Can è un bus CAN a bassa velocità con una velocità di trasmissione di 83 kbps, poiché la presenza di errori può portare a una connessione del filo CAN direttamente a Vcc o a massa, consentendo potenzialmente un funzionamento in modalità single-wire.
Anche i livelli che ho misurato sono specificati come segue: CanLo è di circa 11 volt in stato dormiente e 4 volt quando attivo; per CanHi non sono sicuro se il valore attivo sia effettivamente solo 0,65 volt, perché il diagramma non è del tutto chiaro su questo punto.

Sono sorpreso che funzioni proprio con questi livelli anomali, soprattutto considerando il mio trasceiver ad alta velocità (ricevo le conferme), perché teoricamente la differenza di tensione tra i livelli attivo e inattivo è ancora negativa, e dovrebbe essere positiva nel caso del CAN ad alta velocità. Nel caso del CAN a bassa velocità, non sono sicuro.

Tutto questo non sembra affatto corrispondere a come ho interpretato le specifiche del transceiver a bassa velocità tja1054/55, e mi fa pensare che potrebbe essere necessario un transceiver completamente diverso.


Tradotto il 19-08-2026, 18:58.
Torna su
alex
Ospite




 


Account gratuito, nessun supporto sviluppo CAN

Messaggio02-10-2017, 3:18    Oggetto: Terminazione livello basso: guida e soluzioni Cita

Dopo 1,5 mesi di ricerche, ho finalmente scoperto come accendere il mio dispositivo CAN tramite il protocollo CAN, grazie al thread a cui si fa riferimento su mbworld.org e a un progetto GitHub trovato lì.

https://github.com/jumph4x/can-bus-w211.git

È necessario inviare il comando '0 0xFF' una o due volte sull'ID 0 per farlo funzionare.
con il comando 'id 0 0x00' si riattiva, e tutto funziona a 83 kbps (o forse 83,3 kbps?).

Con Linux Socket CAN, il risultato è simile a questo:

cansend can0 000#FF
cansend can0 000#FF

cansend can0 000#00

Ammetto che sembra piuttosto semplice una volta capito come funziona, ma a parte un unico thread su mbworld che ho trovato di recente, in realtà nessuno sapeva fornire informazioni utili.

La spiegazione è che nel byte 0 dell'ID, i bit relativi al terminale 15 indicano lo stato di accensione.

Ulteriori informazioni dettagliate sono disponibili nel thread e nel progetto GitHub collegato relativo al sistema CAN bus di Mercedes.


Tradotto il 19-08-2026, 19:01.
Torna su
CAN-Diagnose
Administrator
Administrator
Avatar-CAN-Diagnose

Iscritto il: 07/06/2011
Messaggi: 575
Karma: +29 / -0   Grazie, mi piace!
Località: Ländle



Messaggio02-10-2017, 21:35    Oggetto: Terminazione livello basso: guida e soluzioni Cita

alex ha scritto:
Ho consolidato le informazioni sul sistema CAN bus di Mercedes.
Non capisco perché tu abbia rimosso questa informazione, soprattutto perché altrimenti non ci sono altre informazioni di questa qualità.
Quello che ho scoperto pezzo per pezzo è frammentato in diversi dei miei thread e non si trova nemmeno con la parola chiave "Mercedes".
Ho linkato questo thread in altri forum, quindi dovrò rimuovere quei link e specificare direttamente lì.
Non riesco a capire perché tu stia omettendo informazioni.

Chiarimento sul motivo per cui sei stato escluso.

1.) Contributi che consistono solo in link e non contengono alcun testo, a cosa servono? Qui non si fanno "piogge di link".
2.) I collegamenti a cose protette da copyright non sono assolutamente consentiti e, inoltre, salvarli in qualche pastebin non serve a nulla!
3.) I documenti che contengono link esterni potrebbero diventare inutili nel tempo, poiché i link potrebbero non essere più validi.
4.) Trovo che sia irrispettoso chiedere aiuto qui, ricevere assistenza e poi pubblicare solo link e deviare l'argomento.

Perciò: Ciao.
Dipl.-Ing. (FH) Rainer Kaufmann - Embedded Software Freelancer
System RKS+CAN: CANHack.de CAN-Bus Interface


Tradotto il 19-08-2026, 19:04.
Torna su Profilo MP WWW
Nuovo argomento Rispondi 🔗 ⭐ 🖨 CANhack.de - Indice » Bus CAN Generale
Articoli e argomenti simili
Argomento Forum
Nessun nuovo messaggio Messaggi veloci: come inviarli subito CAN Abitacolo / Comfort
Nessun nuovo messaggio Segnale di velocità: guida e ottimizzazione CAN Abitacolo / Comfort
Nessun nuovo messaggio Trasmettitore Ricevitore Bassa Velocità Microcontrollori ed elettronica, programmazione
Nessun nuovo messaggio L'infotainment tramite CAN-Bus è sempre a bassa velocità? Bus CAN Generale
Vai a:  
Non puoi scrivere nuovi argomenti in questo forum.