CAN Bus su tracce PCB anziché cavo a doppino intrecciato: punti da considerare

Aug 16 2020

Per risparmiare sui costi del sistema in uno dei miei progetti attuali (niente cavi) vorrei eliminare il cavo CAN e aggiungere tracce al PCB (una coppia da sinistra a destra per collegare i connettori + 1 coppia stub al CAN ricetrasmettitore su ogni scheda). Dato che ho comunque una catena continua di PCB collegati da un connettore con pin liberi, questo sembra abbastanza ragionevole da fare. Sto progettando di implementare CAN con una velocità abbastanza bassa (125kbits/sec).

Ogni PCB ha più o meno questo aspetto:

Il sistema è impostato così ed è lungo circa 50m!

Ho letto un paio di altre domande (es . qui , qui e qui ) e articoli e note applicative (come this , this e this ). Ma non sono neanche lontanamente in grado di comprenderlo appieno.

Ho un paio di domande per questo:

Il primo riguarda l'impedenza della linea di trasmissione.

  • Lo standard 120Ohm è di impedenza differenziale o single ended per ogni CAN_H e CAN_L?
  • come raggiungere un'impedenza di 120 Ohm su una scheda a 4 strati? (Uso lo stack-up standard a 4 strati JLCPCB e con il loro calcolatore non raggiungo 120 Ohm per single ended e per differenziale mi avvicino solo con 3,5 mil di traccia + 4 mil di spaziatura, che è vicino al loro minimo assoluto).
  • Posso/devo aggiungere componenti extra alle tracce del bus, per raggiungere i 120Ohm?

Per quanto riguarda la schermatura:

  • Nonostante l'argomento dell'impedenza, nella specifica CAN si consiglia un cavo a doppino intrecciato schermato. In tal caso, devo instradare meglio le linee CAN su uno degli strati interni e schermarlo con un piano GND sopra, accanto e sotto?

Per quanto riguarda il doppino intrecciato:

  • Avrebbe senso modellare le tracce sul PCB in modo simile a un doppino intrecciato (ad esempio qualcosa del genere

Nel complesso le domande possono essere riassunte in:

Quale larghezza della traccia, spaziatura su quale strato mi danno il miglior risultato per lunghe tracce CAN su un PCB a 4 strati e come lo schermo?

Risposte

1 Mr_Engineer Aug 22 2020 at 02:05

Non ho progettato specificamente con il bus CAN, ma ho implementato coppie differenziali USB e linee di trasmissione single ended WiFi (2,4 Ghz).

Il tuo problema sembra una classica linea di trasmissione differenziale. 125 kbit/sec dovrebbero essere abbastanza indulgenti. 1Mb/sec è più difficile.

Se hai il lusso di una scheda a 4 strati, instrada sicuramente i segnali CAN sugli strati interni. Questo ti darà l'equivalente di un cavo schermato. Gli strati esterni dovrebbero essere piani di terra o di potenza. I piani di terra e di potenza dovrebbero essere accoppiati capacitivamente tra loro, rendendoli più o meno equivalenti ai fini della schermatura.

La tua idea di tracce incrociate per creare una coppia "intrecciata" è intrigante, ma sospetto che ti causerà più grattacapi: 1) riflessioni del segnale su ogni via 2) ogni via sepolta è un potenziale punto difettoso per la produzione della scheda. # 2 dipende dalla qualità della tua pensione. Implementerei una coppia differenziale tradizionale (Zo=120ohm).

Per calcolare la spaziatura della linea di trasmissione, ho trovato molto utile il toolkit di Saturn PCB:http://saturnpcb.com/pcb_toolkit/Noterò che per raggiungere la tua impedenza caratteristica di 120, probabilmente avrai bisogno di tracce più ampie.

Secondo questo documento TI, una discrepanza nelle lunghezze dei cavi può causare problemi di riflessione con il bus CAN.https://www.ti.com/lit/an/slla279a/slla279a.pdf.

Ricordarsi di fornire resistori di terminazione da 120 ohm (attraverso le linee can bus) all'estremità trasmittente e all'ultimo ricevitore sul bus.

Connettore: dovrebbe andare bene finché i contatti sono puliti. Separare i pin del can bus dagli altri pin ad alta velocità con un pin di messa a terra in mezzo. Personalmente, includerei anche piazzole di saldatura o un connettore CAN nel caso in cui sia necessario ricorrere al cablaggio tra i circuiti stampati. In tal caso, metterei resistori da 0 ohm in serie con le linee CAN sul connettore principale. Questo ti darà la flessibilità di disabilitare le linee CAN sul connettore e tornare al cavo. Progettare un piano B è economico mentre si dispone il circuito stampato.

La larghezza e la spaziatura della traccia dipendono dallo stack del PCB. Usa il toolkit di Saturn PCB con la scheda "Coppie differenziali".

Userei uno stackup come

L1=Massa, L2=linee segnale/trasmissione, L3=Potenza, L4=segnale o

L1=Massa, L2=linee segnale/trasmissione, L3=segnale, L4=Alimentazione.

Se hai un riempimento di rame su altri strati, puoi legarli a terra con punti di cucitura. Non instradare segnali ad alta velocità in parallelo con la coppia differenziale a meno che non siano separati da un riempimento a terra (schermatura). Se i segnali ad alta velocità devono incrociarsi su strati adiacenti, renderli perpendicolari.

1 schnedan Aug 22 2020 at 03:30

Per tracciare le linee differenziali NON dovresti progettarle come fili a doppino intrecciato ... Le vie si comportano come induttori e qualsiasi cambio di direzione normalmente causa riflessioni. Quindi quello che vuoi e qual è l'optimum è una semplice linea retta.

Normalmente si dispongono le linee differenziali una accanto all'altra (se non lo si fa è un accoppiamento lento... che funziona anche in alcuni casi), NO virate a 90°, è necessario mantenere entrambe le tracce alla stessa lunghezza (quasi) e stub corti ( nel caso si può parlare di qualche cm - pensate di trovare i valori nella norma). La distanza tra le linee e la larghezza delle tracce deve essere calcolata, quindi con il materiale del circuito stampato e lo spessore dello strato si mantiene l'impedenza richiesta di 120 Ohm...

Potresti provarehttps://sourceforge.net/projects/atlc/ohttp://www.hdtvprimer.com/KQ6QV/atlc2.htmlper calcolare le linee di trasmissione differenziali.

Kicad viene fornito anche con un calcolatore della linea di trasmissione, o buon vecchiohttp://www.hp.woodshot.com/HP AppCad... Trovi anche materiale per le normali calcolatrici programmabili.

Se segui le regole per sistemi molto più sofisticati come LVDS, CAN non dovrebbe mai deluderti: è piuttosto robusto anche in ambienti molto difficili.

https://www.ti.com/lit/an/snla302/snla302.pdf

Non l'ho controllato ma per quanto mi ricordo questi numeri vanno bene

  • 1 Mbit/s 40 m 0,3 m
  • 500 kBit/s 100 m 0,8 m
  • 250 kBit/s 200 m 1,5 m
  • 100 kBit/s 500 m 3,0 m
  • 57 kBit/s 1000 m 5,0 m
  • 38 kBit/s 2000 m 7,0 m

PS: Come ha affermato Mr_Engineer: è necessario terminare. Ma entrambe le estremità (è un vero bus quindi ogni nodo ascolta e trasmette)! entrambi con 120 Ohm (è 60 Ohm in cc, ma 120 Ohm per la frequenza media/dominante del bus...) - abbiamo un prodotto con un solo lato terminato e funziona per più di 20 m di lunghezza della linea, ma poi è necessario modificare i valori. Rimani con lo standard!