CAN Resistori di trasmissione e terminazione


8

Ho provato a configurare una rete CAN usando microcontrollori PIC18F25K80 e un MCP2551 per comunicare tra loro. Posso usare due semplici fili come bus CAN collegando semplicemente il CANL, CANH dei ricetrasmettitori? Non ho nemmeno potuto trasmettere dati con la configurazione che ho realizzato con due fili! Devo terminarli con una certa resistenza?


Prova a usare una coppia intrecciata e preferibilmente una coppia intrecciata schermata
Andy aka

Se la lunghezza del bus è piccola, potrebbe funzionare ma è sempre meglio avere una terminazione.
Swanand,

2
@Swanand: No. Terminare la linea è solo una parte dello scopo dei resistori. L'altra parte è garantire lo stato passivo del bus. In questo senso, sono come la resistenza di pullup di un bus open collector. Senza il resistore, lo stato passivo non è definito.
Olin Lathrop,

Risposte:


5

C'è un'ipotesi di uno 0 V comune tra i due circuiti, o almeno una differenza tra gli 0 V dei circuiti all'interno della tensione di differenza della modalità comune.

Per una corretta trasmissione CAN, è necessario

  • cablaggio continuo tra i due nodi, da CANH a CANH e da CANL a CANL. Circuito non attraversato, non in corto, non aperto. La coppia intrecciata non è assolutamente necessaria a velocità dati inferiori / cavi molto corti, ad esempio pochi cm a 50 kbaud in laboratorio.
  • almeno un resistore di terminazione, non funzionerà affatto senza uno. Man mano che le velocità dei dati / la lunghezza dei cavi aumentano, dovresti davvero averne uno ad ogni estremità, del valore giusto, 120R.
  • almeno un ricevitore in esecuzione alla stessa velocità dati (e altri tempi di bit) per inviare l'impulso ACK, altrimenti si ricevono ripetizioni infinite dal trasmettitore del primo messaggio.
  • riferimento 0V comune tra tutti i nodi

Ho scoperto che uno 0v comune è molto importante per le velocità più elevate. In un sistema che avevamo, una differenza GND di soli 0,3 V tra i valori annotati era sufficiente per causare un numero significativo di errori nei messaggi. Riducendo tale differenza aggiungendo fili più spessi, si è ridotto il numero di errori.
Rocketmagnet,

5

Il bus CAN richiede la terminazione con 120 ohm.

Inserisci qui la descrizione dell'immagine

Uso il metodo di terminazione split, con un condensatore ceramico basso (10 nF) sul pin Vref sull'ultimo dispositivo sul bus. È il pin 5 sull'MCP2551 .


1
La terminazione divisa con condensatore a terra va bene, ma non ha senso collegare quel condensatore a Vref dell'MCP2551. Stai cercando una terra AC. Nella migliore delle ipotesi questa è una fonte di tensione e funzionerà come pure la terra reale, ma quel pin ha una capacità di corrente limitata e non è destinato ad assorbire i transitori.
Olin Lathrop,

2
Attacchi il centro della divisione al Vref e il condensatore dal centro a GND.
Rocketmagnet,

Ho lasciato il pin Vref scollegato e ho usato la terminazione standard usando la risoluzione 120ohm, ma non riuscivo ancora a comunicare tra le schede.
Arun Shekhar R,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.