👉 SCARICA LA TERZA EDIZIONE DEL CATALOGO EMI/EMC 👈

Decodifica del protocollo seriale CAN XL

Posted by Batter Fly 05/07/2023 0 Comment(s) 6063 Strumenti di Misura,

CAN XL è il protocollo di rete controller-area di 3a generazione, che si basa e supporta la compatibilità retroattiva con le reti Classic CAN e CAN FD

Decodifica del bus CAN XL

CAN XL è il protocollo di rete controller-area di terza generazione, che si basa e supporta la compatibilità retroattiva con le reti Classic CAN e CAN FD. È destinato alle reti veicolari, che collegano più controller e sensori utilizzando un singolo bus differenziale. Grazie all'elevato livello di robustezza e all'uso della topologia a bus con un minimo bisogno di cablaggio, i protocolli controller-area network stanno trovando sempre più applicazioni nei nuovi settori industriali.

Il protocollo CAN XL è regolato dal gruppo CAN in Automation (CiA). https://www.can-cia.org.

CAN XL offre supporto per velocità di trasmissione dati più elevate e payload dati più lunghi rispetto ai suoi predecessori, consentendo velocità di trasferimento fino a 20 Mbit/s e fino a 2048 byte per frame. Per supportare le velocità di trasferimento dati più elevate, è stato introdotto un nuovo tipo di transceiver CAN SIC XL, che fornisce bordi di segnale veloci, basso ringing e simmetria richiesta per il trasferimento dati ad alta velocità.

CAN XL può ancora essere utilizzato con tipici transceiver CAN, High Speed CAN o CAN SIC su bus di tipo misto o se non è richiesta una velocità di trasmissione elevata per l'applicazione.

Le capacità di bit rate e payload dati più elevate consentono a CAN XL di colmare il divario tra CAN FD e Automotive Ethernet 100BASE-T1. CAN XL fornisce supporto per l'incapsulamento Ethernet ed è progettato per l'integrazione nei sistemi di rete TCP/IP.

Trasmissione

CAN XL utilizza un bus differenziale a due fili, composto dai segnali CAN High (H) e CAN Low (L).

I livelli effettivi di tensione del segnale dipendono dalla topologia del bus e dal tipo di transceiver utilizzato (ad esempio se il bus è composto solo da dispositivi CAN XL o da una combinazione di dispositivi CAN XL con dispositivi Classic CAN e/o CAN FD).

Il frame CAN XL è composto da una fase di arbitrato, una fase di dati XL e una seconda fase di arbitrato.

Durante le fasi di arbitrato, i bit del frame vengono trasferiti alla "velocità nominale", tipicamente fino a 500 kbit/s. La fase di dati XL viene solitamente trasferita a una velocità di bit molto più elevata, di almeno alcuni megabit al secondo, nota come velocità di bit dei dati XL.

Ci sono due stati logici: Logica 0 e Logica 1. Durante le fasi di idle del bus e di arbitrato, la Logica 0 è rappresentata da uno stato "dominante", mentre la logica 1 è rappresentata da uno stato "recessivo".

Uno stato recessivo viene raggiunto quando il bus non viene attivamente pilotato, mentre lo stato dominante viene raggiunto quando almeno un nodo sta pilotando il bus. Questo fornisce un meccanismo di arbitrato che consente a un bit dominante di un nodo di sovrascrivere un bit recessivo trasmesso da un altro nodo. Ogni nodo deve leggere attivamente lo stato del bus durante la trasmissione e interrompere immediatamente la trasmissione se lo stato del bus non corrisponde a quello trasmesso. In questo scenario, un altro nodo ha "vinto" l'arbitrato.

L'arbitrato può avvenire solo durante le fasi di arbitrato e solo un nodo può trasmettere sul bus durante la fase di dati CAN XL in un determinato momento.

Durante lo stato di idle del bus, il bus si trova solitamente in stato recessivo, con i segnali CAN H e CAN L entrambi intorno a 2,5V, notando che la tensione differenziale è prossima allo zero. Durante uno stato dominante, CAN H viene portato verso 5V, mentre CAN L viene portato verso 0V, risultando in una tensione differenziale positiva.

Transceiver CAN SIC XL

Il transceiver CAN SIC XL è in grado di funzionare in modalità "lenta" e modalità "veloce". La modalità lenta utilizza lo schema di segnalazione dominante/recessivo che è obbligatorio durante la fase di arbitrato.

Quando le velocità di bit dei dati XL superano diversi megabit al secondo, spesso è necessario passare il transceiver alla modalità "veloce". Durante la modalità veloce, gli stati "dominante" e "recessivo" vengono sostituiti rispettivamente dagli stati "level_0" e "level_1". Gli stati level_x vengono trasferiti in modalità di pilotaggio push-pull e a livelli di tensione leggermente diversi per supportare le velocità di bit dei dati più elevate.

Sottocodifica PWM

Quando viene utilizzato un transceiver CAN SIC XL e si richiede la modalità "veloce", è necessario che un nodo sia in grado di comandare il proprio transceiver per entrare/uscire dalla modalità "veloce".

Per mantenere la compatibilità dei pin e all'indietro tra i transceiver, è stato preferito non aggiungere un segnale di controllo aggiuntivo per supportare questa funzione.

Invece, il metodo di codifica dei dati utilizzato sul pin TxD dal nodo al suo rispettivo transceiver viene utilizzato per effettuare il passaggio. Durante la modalità "lenta", i dati vengono trasferiti utilizzando la codifica non return to zero (NRZ) come è tipico per tutte le generazioni precedenti di CAN. Durante la modalità "veloce", i dati vengono trasferiti utilizzando la codifica pulse-width modulation (PWM), dove il ciclo di lavoro di ogni simbolo PWM rappresenta lo stato del bus.

Il decodificatore CAN XL in PicoScope 7 supporta sia la sottocodifica NRZ che la sottocodifica PWM.

Metodi di bit stuffing

CAN XL implementa due schemi di bit stuffing, il bit stuffing dinamico che si applica durante la prima fase di arbitrato di un frame e il bit stuffing fisso che si applica durante la fase dei dati XL. Non viene effettuato alcun bit stuffing durante la seconda fase di arbitrato.

Il bit stuffing dinamico è coerente con quello utilizzato nei frame di Classic CAN e CAN FD, dove se in qualsiasi punto sono presenti cinque bit consecutivi dello stesso livello logico, viene inserito un bit aggiuntivo chiamato bit di stuffing nel flusso di bit. Il bit di stuffing ha il livello logico opposto a quello del bit che lo precede, fornendo una transizione garantita del segnale nel flusso di bit che consente a tutti i ricevitori di sincronizzarsi su quella transizione.

Il bit stuffing fisso viene utilizzato durante la fase CAN XL, a partire dal bit DL1 nella fase ADS. Un bit di stuffing viene inserito nel flusso di bit in ogni posizione dell'11º bit, indipendentemente dal modello di bit che lo ha preceduto. Lo stato logico del bit di stuffing è sempre opposto a quello del bit precedente.

Campi
SOF Inizio del Frame. Un singolo bit dominante per segnalare l'inizio di un frame CAN, CAN FD o CAN XL.
Identificatore di priorità Identificatore di priorità del frame. Lungo 11 bit.
Per i dispositivi CAN classici e CAN FD con campi ID di 29 bit, ciò rappresenta gli 11 bit superiori (ID [28:18]).
È durante questa fase che il meccanismo di arbitrato consente a un nodo di priorità superiore di sopprimere la trasmissione da parte di un nodo di priorità inferiore che potrebbe aver iniziato a trasmettere contemporaneamente.
RRS/RTR Per i frame CAN classici, questo è il flag Richiesta Terminale Remota (RTR), che indica che un dispositivo, di solito un controller, sta richiedendo un messaggio da un altro dispositivo sul bus identificato dal suo ID di priorità.
Per CAN FD e CAN XL, questo è il flag Sostitutivo Richiesta Remota (RRS), che è un bit dominante statico poiché i frame remoti non sono supportati in CAN FD e CAN XL.
IDE Flag di Estensione dell'Identificatore. Questo flag è disponibile solo nei frame CAN classici e CAN FD per indicare se viene utilizzato un ID di priorità di 29 bit. In tal caso, i restanti 18 bit dell'ID di priorità seguono (ID [17:0]).
Nei frame CAN XL, gli identificatori di priorità a 29 bit non sono supportati, quindi questo bit viene sempre trasmesso come uno stato dominante statico.
FDF Flag di Frame FD, questo indica se il frame è in formato FD (o superiore). Questo bit viene sempre trasmesso nello stato recessivo per i frame CAN FD e CAN XL.
Per i frame CAN Classici, questo stesso bit è indicato come bit riservato 'r0' e viene sempre trasmesso nello stato dominante.
XLF Flag di Frame XL, questo indica se il frame è in formato XL. Questo bit viene sempre trasmesso nello stato recessivo per i frame CAN XL.
Per i frame CAN FD, questo stesso bit è indicato come bit riservato 'res' e viene sempre trasmesso nello stato dominante.
Questo bit non esiste nei frame CAN Classici.
resXL Questo bit viene sempre trasmesso nei frame CAN XL come stato dominante statico. Questo bit è riservato per future espansioni del protocollo.
ADS Questa fase rappresenta l'arbitraggio verso la fase dati del protocollo. Durante questa fase, la velocità di trasmissione passa dalla velocità nominale alla velocità dei dati XL. Se viene utilizzato un transceiver CAN SIC XL, viene commutato in modalità "veloce" anche durante questa fase.
La fase ADS fornisce un modello di bit con bordi di sincronizzazione appositamente progettati per gestire il passaggio alle modalità di trasferimento della fase dati XL.
SDT Tipo di unità di dati di servizio.
Il campo SDT indica il tipo di dati mappato sul campo dati del frame (ad esempio, tunneling Ethernet).
SEC Flag di contesto esteso semplice. Il significato di questo flag è determinato dal valore del campo SDT.
DLC Codice di lunghezza dati. Si riferisce alla lunghezza in byte del carico utile dati contenuto nel frame.
Per i frame CAN XL, questo è un campo di 11 bit che consente valori interi non firmati da 0 a 2047. La lunghezza effettiva del carico utile dati è DLC+1, il che significa che la lunghezza minima del carico utile dati è di 1 byte e la massima di 2048 byte.
SBC Campo di conteggio dei bit di riempimento. Questo campo indica il numero di bit di riempimento dinamici inseriti nel flusso di bit durante la fase di arbitrato. I valori validi vanno da 0 a 3.
Questo campo è codificato in gray code ed è accompagnato da un bit di parità pari.
PCRC Campo CRC di prefazione. Si tratta di un CRC di 13 bit calcolato sulla fase di arbitrato e sui campi della fase di controllo fino al campo PCRC stesso.
Il calcolo include i bit di riempimento dinamici, ma esclude i bit di riempimento fissi e vari bit costanti all'interno del flusso di bit (ad esempio SOF, RRS, IDE, FDF, XLF, resXL, ADS).
VCID ID virtuale CAN. Questo consente di separare un singolo bus fisico CAN (XL) in bus virtuali per più applicazioni simultanee.
AF Campo di accettazione. Questo campo contiene un indirizzo a 32 bit, tuttavia l'interpretazione dipende dal campo SDT.
DATA Questo è un campo di lunghezza variabile che contiene il carico utile dei dati per il frame. La lunghezza si presume corrisponda a quella riportata dal codice di lunghezza dati (DLC).
(F)CRC CRC del frame. Si tratta di un CRC a 32 bit calcolato sull'intero frame.
Il calcolo esclude i bit di riempimento dinamico e fisso, così come altri bit costanti nel flusso di bit (ad esempio SOF, RRS, IDE, FDF, XLF, resXL e ADS).
FCP Modello di controllo del formato. Si tratta di un pattern di sincronizzazione fisso fornito per assistere nella fase DAS.
DAS Questo rappresenta il passaggio dalla fase dei dati XL all'ultima fase di arbitraggio del frame. Durante questa fase, la velocità di trasmissione passa dalla velocità dei dati XL alla velocità nominale. Se viene utilizzato un transceiver CAN SIC XL, viene commutato in modalità "lenta" durante questa fase.
Le fasi FCP e DAS insieme forniscono un pattern di bit con bordi di sincronizzazione appositamente progettati per gestire la transizione dalla fase dei dati XL alla fase di arbitraggio.
ACK Riconoscimento del frame.
Durante questa fase, un nodo trasmittente invia bit recessivi. I nodi riceventi segnalano la ricezione completa e valida del frame tramite l'asserzione di bit dominanti durante lo slot di ACK. Lo slot di ACK è seguito da un bit delimitatore di ACK.
EOF Fine del frame.
La fase di fine del frame consiste in sette bit recessivi consecutivi. Qualsiasi traffico durante il periodo di EOF è considerato un errore.

Come decodificare CAN XL in PicoScope 7

La decodifica di CAN XL è inclusa di serie in PicoScope 7. Per decodificare le forme d'onda CAN XL in PicoScope 7, seleziona la decodifica seriale dal menu degli strumenti "Altro..." per aprire la finestra di decodifica seriale.

Seleziona CAN XL dall'elenco dei protocolli disponibili e clicca su "Next" per procedere.

Seleziona il canale di ingresso corrispondente nel PicoScope per il segnale di dati CAN XL. La sorgente dei dati può essere il segnale CAN XL TXD, CAN H o CAN L dal bus differenziale.

È necessario solo un singolo canale differenziale per decodificare CAN XL. Tuttavia, se desideri, è possibile decodificare utilizzando i segnali differenziali catturando sia CAN H che CAN L e utilizzando un canale matematico per calcolare VDIFF. Il canale matematico può essere utilizzato come sorgente di dati per il decoder.

Una volta scelto e configurato il canale dei dati, imposta le seguenti opzioni in base al bus CAN XL in prova;

Tasso di trasferimento dati XL
La velocità di baud utilizzata durante la fase dei dati XL.

Tasso di trasferimento dati FD
La velocità di baud utilizzata per la fase dei dati dei pacchetti CAN FD con abilitata la commutazione del tasso di trasferimento (BRS = 1).

Se non ci sono dispositivi presenti sul bus che inviano pacchetti CAN FD, questo campo può essere ignorato.

Tasso di trasferimento nominale
La velocità di baud utilizzata durante la fase di arbitrato per i pacchetti CAN XL.

Questa impostazione si applica anche a eventuali pacchetti Classic CAN e alla fase di arbitrato di eventuali pacchetti CAN FD presenti sul bus.

Alto o Basso
Seleziona se la fonte dei dati rappresenta il segnale CAN High o CAN Low.

Se si decodifica il CAN TXD, selezionare CAN LOW.

Una volta configurate tutte le opzioni, fare clic su "Avanti" per passare alla scheda "Visualizzazione".

Nella scheda "Visualizzazione", configurare i seguenti campi come richiesto e fare clic su "Fine" quando si è completato.

Nome
Imposta il nome dell'istanza del decoder. PicoScope popola automaticamente questo campo con un nome predefinito, ma è possibile aggiornarlo come preferito.

Formato di visualizzazione del grafico
Seleziona il formato da utilizzare per i dati dei pacchetti grezzi visualizzati sul grafico dell'onda.

Formato di visualizzazione della tabella
Seleziona il formato da utilizzare per i campi dei dati dei pacchetti grezzi nella tabella di output del decoder.

Contenuti della tabella
Seleziona se la tabella visualizza i dati di tutti i buffer dell'onda catturata o solo il buffer attualmente visualizzato.

Decodifica tra indicatori di tempo
Se gli indicatori di tempo sono impostati, il decoder analizzerà solo i dati tra le posizioni degli indicatori.

Ora sarà possibile fare doppio clic su un pacchetto nella vista grafica per visualizzare lo stesso pacchetto nella vista tabella e viceversa, o utilizzare la funzione di zoom per concentrarsi sulle aree appropriate dei pacchetti decodificati.

Leave a Comment