Progettazione di circuiti CAN-Bus: Linee guida per il layout di PCB CAN-Bus

Davide Bortolami
|  Creato: ottobre 3, 2020  |  Aggiornato: marzo 15, 2024
Linee Guida per la Progettazione di PCB CAN-Bus

Ci sono tre componenti principali in un nodo CAN-bus:

 

  1. Microprocessore
  2. Controllore CAN-bus
  3. Trasmettitore CAN-bus

Il controllore CAN-bus implementa tutte le caratteristiche di basso livello del protocollo di rete, ISO 11898–1, mentre il trasmettitore comunica con lo strato fisico. Sono necessari trasmettitori diversi per diversi strati fisici, come can ad alta velocità, can a bassa velocità tollerante ai guasti o can ad alta velocità con velocità dati variabile.

In un'implementazione tipica, il controllore CAN-bus e il microprocessore sono unificati in un microcontrollore abilitato CAN. Sul mercato sono disponibili controllori CAN-bus esterni con interfaccia SPI, principalmente prodotti da Microchip, ma spesso possono aggiungere costi e complessità non necessari.

In questo articolo, daremo un'occhiata alla progettazione del circuito dal trasmettitore al connettore can-bus. È il momento di sporcarsi le mani e progettare la nostra circuiteria CAN-bus!

Primo Passo - Scegliere il Giusto IC

Tutti i trasmettitori CAN-bus operano in modo simile, poiché si collocano tra il microcontrollore (o FPGA) che implementa il controllore CAN-bus e il CAN-bus stesso. Tuttavia, ci sono alcune differenze che dovresti considerare attentamente.

Una rapida ricerca nella categoria Octopart appropriata rivela che i principali produttori di trasmettitori CAN-bus sono, in ordine decrescente per il numero di IC offerti, NXP Semiconductors, Microchip, Texas Instruments, Maxim Integrated, Analog Devices e ST Microelectronics.

Tutti questi trasmettitori sembrano simili, ma differiscono nelle loro caratteristiche e prestazioni.

Protezione ESD

I primi trasmettitori CAN-bus sul mercato includevano pochissima protezione dagli eventi di ESD (Scarica Elettrostatica). Richiedevano che tutta la protezione I/O fosse implementata con componenti esterni.

Fortunatamente, questo non è più il caso. Ecco alcuni IC casuali e la loro tolleranza ESD HBM (Human Body Model) sui pin del bus:

Numero di Parte 

Produttore

Tolleranza ESD HBM

L9616

ST Microelectronics

6kV

IFX1050G

Infineon

6kV

TJA1051

NXP Semiconductor

8kV

LTC2875

Linear Technology

25kV

MAX14883E

Maxim Integrated

22kV

Una maggiore tolleranza all'ESD può permetterti di risparmiare sulla protezione esterna, ma dovresti essere consapevole che spendere qualche centesimo in più per diodi TVS di qualità può migliorare drasticamente l'affidabilità.

Se la tua applicazione ha limitazioni di spazio e non devi gestire molta ESD, allora la soluzione tutto-in-uno è quella giusta. Nel mio caso, ho optato per un TVS esterno e un trasmettitore più economico.

Tensione di Funzionamento

La maggior parte dei trasmettitori sul mercato opera a 5V, ma i circuiti integrati progettati per 3.3V sono estremamente popolari così. Tensioni di alimentazione inferiori non sono possibili senza ricorrere all'uso di convertitori dc-dc. Alcuni circuiti integrati, come il MAX14883E di Maxim Integrated, includono un ingresso di alimentazione a livello logico che consente l'interoperabilità con dispositivi a 1.8V indipendentemente dall'alimentazione del trasmettitore.

Simplified Block Diagram
Figura 1. Diagramma a blocchi semplificato del MAX14883E, cortesia di Maxim Integrated

Nel mio caso, il mio MCU opera a 3.3V, quindi sceglierò anche questa tensione per i trasmettitori CAN-bus.

Velocità

Tutti i trasmettitori CAN-bus ad alta velocità possono operare fino a 1Mbps su reti piccole. I trasmettitori CAN-FD possono operare fino a 5Mbps, ma molti di essi sono limitati a velocità inferiori, come 2Mbps.

Il data-rate finale del sistema sarà limitato dalla capacità del bus, dall'allocazione degli identificatori CAN-bus e dal tipo di frame CAN trasmessi. Lo scenario peggiore è solitamente un baud rate effettivo di un terzo del massimo.

Isolamento

Un trasmettitore CAN-bus isolato può essere necessario per requisiti di sicurezza. Ad esempio, introdurre un isolamento galvanico può proteggere la parte a bassa tensione dei tuoi circuiti nel caso in cui il bus venga in contatto con tensioni pericolose. Lo stesso isolamento può anche migliorare la comunicazione interrompendo i loop di terra e consentendo differenze più sostanziali nel potenziale di terra tra i nodi.

Ovviamente, i trasmettitori CAN-bus isolati richiederanno un'alimentazione altrettanto isolata.

Funzionalità di risparmio energetico

Molti trasmettitori includono un ingresso per la selezione della modalità che può essere utilizzato per mettere l'IC a basso consumo energetico e spegnere il trasmettitore. Tipicamente, il ricevitore rimane attivo e il pin RXD può essere utilizzato per attivare un'interruzione di risveglio nel microcontrollore.

L'ingresso per la selezione della modalità a volte funge anche da controllo della pendenza quando viene tirato alto o basso attraverso una resistenza di almeno alcuni kOhm. Ridurre la pendenza del segnale, anche se può limitare la larghezza di banda, consente al trasmettitore di limitare la quantità di interferenza elettromagnetica che produce.

Intervallo di Tensione del Bus e in Modalità Comune

Tutti i trasmettitori conformi a ISO 11898-2 devono essere in grado di sopportare tensioni continue su CANH e CANL tra -3V e +32V rispetto al terreno senza rompersi, sopportare transienti da -150V a 100V, e essere in grado di operare con una tensione del bus in modalità comune tra -2V e +7V.

Praticamente tutti i circuiti integrati sul mercato superano questi requisiti, con una gara informale su chi può mostrare i numeri più significativi che si svolge in background.

Ecco alcuni esempi:

Numero di Parte

Produttore

Tensione continua su CANH e CANL

L9616

ST Microelectronics

-5V a +36V

IFX1050G

Infineon

-40V a +40V

TJA1051

NXP Semiconductor

-58V a +58V

LTC2875

Linear Technology

+60V a +60V

MAX14883E

Maxim Integrated

+63V a +63V


Tensioni superiori a 50V sono ora standard, poiché molti veicoli presentano catene cinematiche ibride che operano a 48V, e il trasmettitore dovrebbe essere in grado di sopportare un cortocircuito del bus alla rotaia di alimentazione di tensione più alta del sistema.

Impedenza di Ingresso

Non ci sono regole precise e immutabili su quanti nodi si possono inserire in una rete, ma uno dei parametri più critici sarà l'impedenza di ingresso tra CANH e CANL sul tuo trasmettitore.

Un'alta impedenza di ingresso avrà un'influenza marginale sul bus e consentirà un numero maggiore di nodi.

Protezione Intelligente

Alcuni trasmettitori implementano ampie funzionalità di protezione, come:

  • Timeout dello stato dominante: se il bus rimane dominante per troppo tempo, ad esempio a causa di un guasto hardware o software, il driver di uscita viene disabilitato.
  • Spegnimento termico.
  • Blocco per sottotensione: il dispositivo viene disabilitato in condizioni di sottotensione.
  • Stato sottoalimentato recessivo: quando non alimentato correttamente, il dispositivo non guida il bus in alcun modo.
  • Limitazione di corrente: protezione in caso di cortocircuito sia verso la tensione positiva che negativa.

Autobaud e Solo Ascolto

La maggior parte dei trasmettitori CAN-bus include una modalità solo ascolto che riporta il TXD al RXD senza effettivamente guidare il bus. Questa funzionalità è spesso utilizzata per determinare automaticamente il baud rate del bus.

La Mia Scelta

Nel mio progetto, ho scelto un TJA1051, principalmente perché sono parsimonioso, ed è uno dei circuiti integrati più economici sul mercato. La pagina del prodotto può essere trovata qui.

Utilizzando il pannello "Ricerca Parti del Produttore", ho immediatamente trovato i modelli dei componenti, completi di footprint e 3D, e li ho posizionati nello schema. Il modello è stato automaticamente scaricato dalle librerie cloud di Altium 365™.

Manufacturer Part Search panel
Figura 2. Pannello di ricerca dei componenti del produttore all'interno di Altium Designer.

Secondo Passo - Passivi Corollari

Filtraggio

Non devo mica menzionare che avremo bisogno di condensatori di bypass locali, vero?

Inoltre, alcuni condensatori aggiuntivi di piccoli valori, tipicamente da 40 a 100pF sulle linee CANH e CANL e connessi a terra, possono aiutare ad assorbire l'energia ESD e migliorare la resilienza EMI. Come sempre, con l'aumento della capacità del bus si ha una diminuzione della velocità del bus, un aumento del carico sulla fase di uscita del trasmettitore e un aumento del consumo di energia.

Terminazione

Il bus CAN dovrebbe essere terminato ad entrambe le estremità con una resistenza da 120 ohm. Naturalmente, potremmo calcolare correttamente la potenza (standard da 1/4W, 1/2W se siamo paranoici), posizionare la nostra graziosa piccola resistenza e chiamarla una giornata. Ma perché semplificare le cose?

Una tecnica più sofisticata, adottata in quasi tutte le schede CAN-bus provate nell'industria che ho visto finora, è la terminazione divisa.

Nella terminazione divisa, si utilizzano due resistori da 60 ohm in serie, per un totale di 120 ohm. Il nodo elettrico tra i due resistori è collegato a terra attraverso un condensatore, solitamente di 4.7nF.

Il valore del condensatore è stato calcolato per ottenere una frequenza di taglio di -3db alla frequenza fondamentale della rete.

Nel mio caso, la rete dovrebbe avere una velocità di trasmissione di 1mbit/s. Assumendo lo scenario peggiore, quando la rete trasmette una sequenza di bit alternati (01010101) il segnale sarà un'onda quadra di frequenza 500kHz, ovvero pari alla metà della velocità di trasmissione.

Conoscendo la resistenza a 60 ohm, possiamo quindi calcolare il condensatore.

Se dobbiamo approssimare il valore del nostro condensatore, uno leggermente più piccolo interferirà meno con il nostro prezioso segnale. Di conseguenza, 4.7nF, che è il valore più ampiamente adottato.

Se avete bisogno di una libreria di componenti passivi, raccomando vivamente la Celestial Library di Mark Harris. È gratuita, estesa e accuratamente curata.

Diodi TVS

Se il tuo sistema non è soggetto a forti scariche elettrostatiche (ESD), la protezione inclusa nel circuito integrato del trasmettitore potrebbe essere tutto ciò che serve.

I diodi TVS (Transient Voltage Suppressor) sono una scelta comune a causa della loro bassa capacità equivalente parallela.

Altri dispositivi di protezione da sovratensioni, come i MOV, spesso presentano un'alta capacità parassita che può limitare le velocità di trasmissione dei dati sul bus, specialmente per bus con molti nodi.

Sul mercato sono disponibili diversi diodi TVS progettati appositamente per il CAN-bus, per esempio, NUP2105L di ON Semiconductor, che ho deciso di impiegare in questo progetto.

Per quanto riguarda il trasmettitore, ho posizionato il modello con un clic dalle librerie di Altium 365 utilizzando il pannello di ricerca dei componenti del produttore, senza dover disegnare il simbolo schematico e l'impronta.

Placement of the NUP2105L TVS diode using the Manufacturer Part Search panel
Figura 3. Posizionamento del NUP2105L TVS diode using the Manufacturer Part Search panel.

Terzo Passo - Progettare il PCB

Mantenere tutto Compatto (A differenza di Questo Articolo)

Se il tuo circuito fosse senza protezione, tutta la corrente EMI andrebbe direttamente nel tuo trasmettitore dal tuo connettore, e poi di nuovo attraverso il piano di massa. Questo è ciò che la corrente vuole fare perché quella è la via di minore impedenza.

Tutti i componenti di protezione dovrebbero essere il più vicino possibile a quel percorso per evitare di aumentare l'area del loop. Inoltre, tutta la protezione dovrebbe essere il più vicino possibile al connettore e al bordo della scheda per prevenire l'accoppiamento del rumore con il resto del circuito.

Naturalmente, non è possibile stipare tutto in prossimità diretta del connettore, quindi dobbiamo stabilire delle priorità. La regola generale è posizionare per primo il componente che deve affrontare l'aggressore EMI "peggiore".

Nel nostro caso, diodi TVS devono gestire eventi ad alta velocità e ad alta corrente. Poiché gli impulsi veloci sono ricchi di componenti ad alta frequenza, se lasciati liberi di muoversi sulle nostre schede, si accoppieranno con ogni traccia disponibile e interromperanno il funzionamento.

Quindi il TVS va per primo.

Se non avessimo le resistenze di terminazione in mezzo, il filtro a modo comune andrebbe al secondo posto.

Example routing
Figura 4. Esempio di routing.

Nel nostro esempio di PCB, c'è ancora spazio per miglioramenti. Il diodo TVS potrebbe essere ruotato di 180 gradi per ridurre ulteriormente l'area del loop ESD. Anche i condensatori C5 e C6 potrebbero essere ruotati di 180 gradi e spostati un po' a destra.

Usare i Piani

Ogni guida per il layout dei PCB contiene scritti del tipo "piani di massa questo" o "piani di massa quello", e se vuoi tenere l'EMI lontano dal ventre morbido delle tue schede, non c'è scampo.

Deve esserci un piano di massa proprio sotto al segnale che stai collegando a massa per mantenere il percorso di minore impedenza il più corto possibile. I tuoi diodi TVS dovrebbero scaricare gli impulsi direttamente al piano di massa, collegati allo schermo del cavo (se disponibile) attraverso una connessione a bassa induttanza.

Usa Tecniche di Via a Bassa Impedenza

Non ha molto senso spendere tutti i nostri sudati soldi in condensatori se il loro effetto verrà annullato dall'induttanza delle tracce di massa.

Examples of low-inductance and high-inductance via design. In red the return path
Figura 5. Esempi di design di via a bassa e alta induttanza. In rosso il percorso di ritorno.

In questo progetto, ho utilizzato vie ai margini del pad. A differenza della tecnica via-in-pad, non richiede un passaggio aggiuntivo nella fabbricazione del PCB e quindi non aumenta il costo. La via deve essere coperta; altrimenti, la pasta saldante fluirà all'interno, e il pad non sarebbe adeguatamente bagnato.

Puoi trovare documentazione sulle proprietà delle vie in Altium Designer qui.

Detail view of low-inductance via design
Figura 6. Vista dettagliata del design di via a bassa induttanza.

Passo Cinque - Condivisione (Il Pitch di Vendita Non Adulterato)

Diciamo che abbiamo ora trascorso ore a leggere articoli scritti da figure dubbie, a ricercare trasmettitori, a testare e validare il nostro perfetto sottocircuito CAN-bus. E ora?

Il primo passo è progettare il tuo circuito in un unico documento schematico, utilizzando porte per input e output, similmente a quanto faresti per un design gerarchico.

Complete circuit with input and output ports
Figura 7. Circuito completo con porte di ingresso e uscita.

Utilizzando il pannello esplora, crea una nuova cartella "Managed Schematic Sheets".

Add folder window inside the Explorer panel
Figura 8. Finestra di aggiunta cartella all'interno del pannello Esplora.

Una volta creata la tua cartella, tutti gli utenti all'interno della tua organizzazione avranno accesso ad essa, e potrai procedere a caricare il foglio schematico.

Explorer panel with newly added managed schematic sheet
Figura 9. Pannello Esplora con il nuovo foglio schematico gestito aggiunto.

Ora puoi posizionare il tuo foglio schematico gestito in qualsiasi progetto.

Place managed schematic sheet command
Figura 10. Comando per posizionare il foglio schematico gestito.

Il tuo nuovo foglio schematico gestito sarà differenziato dal simbolo verde "reuse".

Managed schematic sheet placed on a SchDoc
Figura 11. Managed schematic sheet placed on a SchDoc.

Se ti piacerebbe sapere perché tutto è blu invece che giallo e rosso, controlla il mio articolo precedente sullo stile di progettazione.

Suggerimenti e Trucchi

Aggiungi un'Ulteriore Terminazione per i Rametti

Una terminazione "debole" opzionale, per esempio 1.3 kOhm, può aiutare a migliorare la resilienza EMI dei nodi con una lunga distanza del rametto. La stessa resistenza, tuttavia, contribuisce a caricare la rete, riducendo il numero di nodi, diminuendo l'impedenza nominale finale del bus e riducendo la velocità massima.

Più è meglio. O no?

Se non sei limitato dal costo e la protezione degli ingressi è fondamentale per te, dovresti considerare l'aggiunta di un secondo livello di protezione:

Un MOV (Varistore a Ossido Metallico) o GDT (Tubo a Scarica di Gas) per "assorbire" energia maggiore rispetto a quella che il TVS può gestire.
Un dispositivo di limitazione della corrente tra il MOV/GDT e il trasmettitore, come un resistore ad alta impulso, un varistore o un TBU® (un varistore a semiconduttore di fascia alta venduto da Bourns).

Dovresti sempre tenere a mente, tuttavia, che questi dispositivi possono aumentare la tua capacità equivalente del bus e ridurre le tue velocità di trasmissione dati e aumentare il consumo di corrente.

I Common-mode Chokes Sono Fantastici, Ma Pericolosi

I filtri di modo comune sono il tipo più comune di filtro utilizzato sul CAN-Bus, e funzionano benissimo, ma hanno alcuni svantaggi che dovresti considerare.

Le bobine a modo comune possono creare risonanze con la capacità parassita del bus CAN-bus, portando ad un aumento del rumore in alcune specifiche bande di frequenza. Questo effetto può rendere le proprietà EMI dei dispositivi CAN-bus imprevedibili, poiché l'induttanza nelle bobine a modo comune è raramente specificata con precisione, e la capacità parassita può variare enormemente con la lunghezza dei cavi. Se viene utilizzato un cavo non schermato, la capacità può variare a seconda della prossimità del cavo alle superfici metalliche collegate a terra.

Come tutti sappiamo, gli induttori a modo comune si comportano come induttori in modo comune. Ovviamente. Alcune condizioni di guasto, come un cortocircuito verso l'alimentazione o la terra, possono causare alte correnti transitorie in modo comune. In alcuni casi, la sovratensione creata dall'induttanza della bobina a modo comune può danneggiare i trasmettitori CAN-bus. Queste sovratensioni possono essere piuttosto difficili da diagnosticare, poiché si creano dopo la protezione da sovratensione, che è tipicamente posizionata al bordo della scheda.

Il terzo svantaggio delle bobine... possono essere costose. I segnali differenziali ad alta velocità richiedono una perdita di corrente molto bassa.

Alcuni produttori di IC, in particolare Texas Instruments, stanno promuovendo dispositivi isolati e altamente tolleranti agli EMI per reti CAN-bus "senza bobine".

Mi piacciono molto, quindi ho deciso di optare per un filtro a modo comune specificamente progettato per applicazioni CAN-bus.

Conclusione

Devo essere innamorato del CAN-bus. Tra la sua infinita flessibilità e l'estrema resistenza alle interferenze elettromagnetiche, è senza dubbio uno degli standard più eccitanti al mondo.

Con Altium Concord Pro puoi condividere senza problemi i tuoi schemi all'interno della tua organizzazione, consentendo il riutilizzo del design e riducendo al minimo lo sforzo ingegneristico per lanciare nuovi prodotti.

Hai altre domande? Chiama un esperto di Altium.

Sull'Autore

Sull'Autore

David Bortolami è un ingegnere elettronico con una vasta conoscenza della progettazione di circuiti stampati e PCB. Attualmente è il direttore di Fermium, una piccola azienda britannica che produce alcuni degli strumenti scientifici più avanzati al mondo per l'insegnamento e la ricerca.
"Ogni prodotto può essere realizzato due volte più buono alla metà del costo: si tratta di scavare nel motivo per cui dovrebbe esistere e quindi eliminare il resto".
In qualità di imprenditore, David ha esperienza con tutti gli ostacoli della produzione, progettazione di prodotti elettronici-meccanici integrati, conformità ai requisiti EMC e normativi. In passato ha diretto uno dei più grandi Fablab / Hackerspace and Coworkings italiani ed è stato responsabile dell'ingegneria PCB per aziende specializzate in industrie pesanti da EMI, come gli inverter elettronici.
Puoi contattare David direttamente a: d@fermium.ltd.uk

Risorse correlate

Documentazione Tecnica Correlata

Tornare alla Pagina Iniziale
Thank you, you are now subscribed to updates.