Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Calcolo della sincronizzazione dei bit della rete CAN. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / Automobile. Dispositivi elettronici

Commenti sull'articolo Commenti sull'articolo

Quando si utilizza l'interfaccia CAN, un grosso problema è legato all'impostazione della velocità di trasmissione e ricezione delle informazioni nel modulo CAN del microcontrollore. L'articolo descrive i principi generali di questa installazione secondo le specifiche Bosch. Ad esempio, vengono fornite le formule di base per il calcolo dei valori dei parametri scritti nei registri di controllo dei moduli CAN dei microcontrollori ARM LPC23xx e STM32F103 e viene considerato un programma sviluppato dall'autore che aiuta a scegliere l'opzione migliore.

L'interfaccia CAN (controller area network - rete locale del controller) è nata a metà degli anni '80 del secolo scorso dalla società tedesca Robert Bosch Gmbh, che l'ha creata come mezzo economico per combinare controller che controllano i sistemi del veicolo in una rete informativa. Il fatto è che con il miglioramento della tecnologia automobilistica, è migliorata anche l'elettronica che controlla il motore, il cambio e altri meccanismi. Ciò ha portato al fatto che dozzine di fili provenienti da sensori e attuatori, nonché fili che collegano diversi blocchi tra loro, hanno iniziato ad allungarsi verso ciascuna unità elettronica dell'auto. Tutto ciò non solo ha reso l'auto più pesante, ma ha anche influito sulla sua affidabilità, sicurezza e manutenibilità.

Con la diffusione di questa interfaccia, reti simili iniziarono ad essere utilizzate in altri settori, in particolare per l'automazione dei processi tecnologici. L'elevata affidabilità della protezione delle informazioni contro la distorsione quando si lavora in condizioni difficili e una velocità di trasmissione sufficientemente elevata (fino a 1 Mbps) ha permesso di utilizzare CAN in luoghi diversi dal suo scopo originale. L'affidabilità della rete è assicurata dalla presenza di avanzati meccanismi di rilevamento e correzione degli errori, autoisolamento dei nodi difettosi e insensibilità a un elevato livello di interferenza elettromagnetica.

L'ideologia CAN si basa sul modello OSI / ISO a sette livelli (in termini semplici, si tratta di una divisione virtuale dei processi di trasmissione e ricezione delle informazioni in sette livelli). Non ha senso approfondire quest'area, poiché è ampiamente trattata in molte fonti, ad esempio in [1]. Attualmente sono standardizzati due livelli: fisico (parzialmente) e canale.

Il mezzo di trasmissione fisico non è definito nella specifica Bosch CAN, ma è generalmente inteso come una rete di tipo bus con un livello fisico sotto forma di una coppia di fili secondo lo standard ISO 11898. I tipi di connessione e la velocità di trasmissione non sono attualmente standardizzati, ma sono solitamente specificati nelle specifiche degli strati sovrastanti.

Tutti i nodi della rete sono collegati a due fili della linea che li collega (CAN_H e CAN_L) in parallelo. Alle estremità della linea di comunicazione devono essere installati i terminatori - resistori con una resistenza di 120 ohm. In assenza di trasmissione, la tensione su entrambi i fili relativi alla carrozzeria o al filo comune dell'impianto tecnologico è di 2,5 V. Un'unità logica (secondo la terminologia adottata in CAN, un bit con tale valore è detto recessivo) corrisponde a uno stato del bus in cui il livello di tensione sul filo CaN_H è superiore a quello su CAN_L. Zero logico (un bit con tale valore è chiamato dominante) - viceversa. Quando più trasmettitori operano contemporaneamente, il bit recessivo nella linea viene soppresso da quello dominante.

Si assume che lo stato passivo del bus corrisponda al livello di quello logico. È in esso quando non vengono trasmessi messaggi. La trasmissione dei messaggi inizia sempre con il bit dominante. I cavi del bus nel modulo CAN di ciascun nodo sono collegati a un chip speciale, un driver del bus che svolge le funzioni di un ricetrasmettitore. Inoltre, il driver può fornire alcune funzionalità aggiuntive:

- regolazione dello slew rate del segnale variando la corrente in ingresso;
- protezione delle uscite del trasmettitore da danni in caso di possibili cortocircuiti dei cavi CAN_H e CAN_L con circuiti di potenza che utilizzano l'unità di limitazione di corrente incorporata, nonché da un aumento di tensione a breve termine su questi cavi;
- protezione termica interna;
- una modalità a basso consumo in cui il ricevitore continua a segnalare lo stato del bus al controllore in modo che quando rileva l'attività del bus, possa mettere il conducente in condizioni di normale funzionamento.

La codifica delle informazioni per la trasmissione sul bus viene eseguita utilizzando il metodo NRZ (Non Return to Zero). Ha uno svantaggio significativo: quando si trasmette una lunga sequenza di unità, si scopre che non ci sono pause tra di loro. Ciò fa sì che il destinatario non sia in grado di distinguere tra tale sequenza e una pausa tra i messaggi. Per risolvere questo problema viene utilizzato il cosiddetto bitstaffing (Bit Stuffing - bit stuffing). Consiste nel fatto che dopo cinque bit identici trasmessi di seguito, nel loro flusso viene inserito un bit aggiuntivo con valore opposto. Il ricevente, trovati cinque bit identici di fila, cancella quello che li segue, inserito durante la trasmissione.

Due tipi di identificatori sono definiti a livello di collegamento: Standard CAN (11 bit di lunghezza) e Extended CAN (29 bit). Definiscono il formato del messaggio.

Tra i livelli superiori si possono notare le specifiche CAL/CANopen, CAN Kingdom, DeviceNet e SDS (Smart Distributed System), maggiori dettagli si possono trovare su Internet [2].

Per definizione, una rete CAN combina un numero limitato di controllori situati localmente all'interno della stessa installazione, stanza o più stanze vicine. Non va oltre i confini dell'oggetto tecnologico. L'ideologia della rete si basa su diversi punti. Innanzitutto, il controllore trasmittente ascolta continuamente i propri segnali trasmessi sulla rete. In questo modo è possibile eseguire la verifica bit per bit della correttezza delle informazioni trasmesse (check bit monitoring) da parte di più nodi, a differenza, ad esempio, delle reti Ethernet. Se il bit ricevuto dal controller è diverso dal bit trasmesso dal controller, la trasmissione si interrompe e viene generato un errore di bit.

Quando si trasmette un identificatore di messaggio, questo meccanismo viene utilizzato per risolvere le collisioni e durante la trasmissione di informazioni ne viene verificata la correttezza. Se viene rilevato un errore in esso, il trasmettitore interrompe il suo messaggio ed emette un frame di errore sul bus per notificare questo evento agli altri nodi della rete. Per confermare la ricezione di un messaggio, il frame di dati contiene un campo ACK. In questo campo, ogni nodo che ha ricevuto il messaggio trasmesso conferma alla sua fonte che è stato ricevuto. Un messaggio non confermato viene inviato di nuovo dal trasmettitore finché non viene ricevuto un riconoscimento.

Tutti i nodi di rete ricevono le informazioni trasmesse, quindi è impossibile inviare un messaggio a un particolare nodo. Ma se i controller moderni dispongono di strumenti di filtraggio del traffico, questo non è un grosso problema.

La rete CAN è decentralizzata. Questo può essere considerato un grande vantaggio, se deviamo leggermente dalla solita ideologia, secondo la quale la rete deve avere un nodo master che la controlla e nodi slave che eseguono i suoi comandi. In una rete decentralizzata, i nodi sono più intelligenti. Continua a funzionare se qualcuno di loro fallisce.

Le informazioni vengono trasmesse tramite messaggi in formato standard - Data Frame (trasmissione di informazioni), Remote Transmission Request Frame o semplicemente Remote Frame (richiesta di informazioni), Error Frame (messaggio di errore), Overload Frame (messaggio di sovraccarico del controller).

I frame di dati più comunemente usati. Il loro formato e contenuto sono riportati in Tabella. 1 per standard e in tabella. 2 per frame estesi. Il frame di richiesta di informazioni differisce dal frame informativo (formato standard o esteso) solo per il fatto che il bit RTR è sempre recessivo e non vi è alcun campo di informazioni.

Tabella 1

Campo Lunghezza, bit (byte) Valore
Inizio cornice 1 Dovrebbe essere dominante (0)
Р РґРμРЅС, РёС "РёРєР ° С, РѕС 11
Richiesta di trasferimento (RTR) 1 Dovrebbe essere dominante (0)
Funzionalità di estensione dell'identificatore (IDE) 1 Dovrebbe essere dominante (0)
Riservato (rO) 1
Lunghezza campo informazioni (DLC) 4 Specificato in byte
Campo informazioni (0 - 8) Informazioni trasmesse
Checksum (CRC) 15 Calcolato sull'intero frame
Delimitatore di checksum 1 Deve essere recessivo (1)
Intervallo di conferma (ACK) 1 Il trasmettitore invia recessivo (1), il ricevitore inserisce dominante (0)
Delimitatore di riconoscimento 1 Deve essere recessivo (1)
Fine del fotogramma (EOF) 7 Deve essere recessivo (1)

Tabella 2

Campo Lunghezza, bit (byte) Valore
Inizio cornice 1 Dovrebbe essere dominante (0)
ID A 11 Prima parte dell'identificatore
Spoofing della richiesta di trasferimento (SRR) 1 Deve essere recessivo (1)
Funzionalità di estensione dell'identificatore (IDE) 1 Deve essere recessivo (1)
ID B 18 La seconda parte dell'identificatore
Richiesta di trasferimento (RTR) 1 Dovrebbe essere dominante (0)
Riservato (r1 e r0) 2
Lunghezza campo informazioni (DLC) 4 Specificato in byte
Campo informazioni (0 - 8) Informazioni trasmesse
Checksum (CPS) dell'intero frame 15 Calcolato sull'intero frame
Delimitatore di checksum 1 Deve essere recessivo (1)
Conferma (ACK) 1 Il trasmettitore invia un recessivo, il ricevitore inserisce un dominante
Delimitatore di riconoscimento 1 Deve essere recessivo (1)
Fine del fotogramma (EOF) 7 Deve essere recessivo (1)

Un Error Frame consiste in un campo Error Flag, che contiene sei bit dello stesso valore (e quindi viola la regola del bitstaffing), e un campo Error Delimiter di otto bit recessivi. La sua trasmissione fa sì che tutti i nodi della rete registrino un errore di formato e trasmettano automaticamente i loro frame di errore alla rete. Il risultato di questo processo è la ritrasmissione automatica delle informazioni alla rete da parte del nodo che ha trasmesso il messaggio originale.

L'Overload Frame ripete la struttura e la logica dell'Error Frame, ma viene trasmesso da un nodo che al momento non è in grado di elaborare il messaggio in arrivo e quindi richiede una ritrasmissione. Attualmente, non è praticamente utilizzato.

Ogni nodo di rete ha un driver bus, un controller CAN (responsabile dell'interazione con la rete, implementando il protocollo di scambio) e un microcontrollore. Molto spesso, un controller CAN è combinato con un microcontrollore. In questo caso, sono sufficienti due microcircuiti per creare un nodo di rete CAN: un microcontrollore e un driver del bus.

La sincronizzazione in CAN è strettamente correlata al modo stesso in cui le informazioni vengono trasmesse sulla rete. L'utente ha la possibilità di programmare la velocità di trasferimento delle informazioni (da 1 Kbps a 1 Mbps), la posizione del punto di campionamento del bit (momento) nel suo intervallo di trasmissione e il numero di campioni di ciascun bit. Grazie a ciò, la rete può essere ottimizzata per un'applicazione specifica. Ma crea anche qualche problema.

Qualsiasi informazione trasmessa sul bus seriale può essere suddivisa in bit elementari, il tempo di trasmissione di questo bit elementare NBT (Nominal Bit Time) determina la velocità di trasferimento delle informazioni NBR (Nominal Bit Rate) - il numero di bit trasmessi al secondo da un trasmettitore ideale senza ripristinare gli intervalli di clock:

NBR=1/NBT(1)

Come mostrato in fig. 1, l'intervallo NBT è suddiviso in diversi segmenti non sovrapposti, ciascuno dei quali è costituito da un numero intero di segmenti temporali, chiamati quanti di tempo (TQ).


Fig. 1

Poiché la velocità di trasmissione NBR per tutti i nodi della rete deve essere la stessa, utilizzando la formula (1) di solito trovano il valore NBT richiesto e quindi selezionano la durata di ciascuno dei segmenti che lo compongono:

NBT=TSincronizzaSeg + TPropSeg + TPS1 + TPS2(2)

doveSincronizzaSeg - durata del segmento di sincronizzazione; TPropSeg - durata del segmento di propagazione; TPS1 - durata del segmento di fase 1; TPS2 - durata del segmento della fase 2.

Segmento di temporizzazione (SyncSeg) - primo in ordine, utilizzato per sincronizzare i nodi sul bus. L'arrivo del dislivello iniziale sarà previsto all'interno di questo segmento. La sua durata è fissa e sempre pari a 1TQ.

Segmento di distribuzione (PropSeg) serve a compensare i ritardi del segnale fisico tra i nodi. La sua durata dipende dal tempo di propagazione del segnale dal nodo trasmittente al nodo ricevente e viceversa, compresi i ritardi associati al driver del bus. Può assumere valori da 1TQ a 8TQ.

Segmenti di fase 1 e 2 (PS1 e PS2) vengono utilizzati per compensare la distorsione di fase delle cadute del bus. Durante la sincronizzazione del ripristino dell'orologio, il ricevitore può allungare PS1 o accorciare PS2. Secondo le specifiche originali di Bosch, la durata di PS1 e PS2 può variare da 1TQ a 8TQ, ma per alcuni moduli CAN questi valori potrebbero essere diversi.

Tra i segmenti PS1 e PS2 si trova un momento chiamato punto di campionamento bit. Legge e interpreta il livello logico del segnale. In alcuni controller CAN esiste una modalità per la lettura tripla del livello del segnale di ciascun bit. Ma anche in questo caso, il punto principale è considerato tra PS1 e PS2, e gli altri due contribuiscono alla corretta decisione sul valore del bit secondo il criterio di maggioranza (due o tre campioni dello stesso livello).

Come accennato in precedenza, il tempo nominale di trasmissione del bit è costituito da un numero intero di intervalli di tempo TQ. La durata del quanto dipende dalla frequenza del generatore di clock del modulo Fosc e il suo fattore di divisione dal prescaler BRP. Relazioni tra TQ, Fosc e BRP sono diversi per diversi tipi di microcontrollori. Ad esempio, per MSR2510 la formula è valida

TQ = 2 (BRP + 1)/Fosc . (3)

Per i microcontrollori STM32F e LPC23xx, la formula è simile alla seguente:

TQ = (BRP + 1)/Fosc . (4)

Quando si sceglie la durata dei segmenti, è più conveniente utilizzare gli intervalli di tempo TQ, piuttosto che le unità di tempo standard. Qui e sotto indicheremo il nome del segmento (ad esempio, PropSeg) e la sua durata in quanti. Ci sono diversi requisiti che devono essere soddisfatti:

PropSeg+PS1 ≥ PS2; (5)

PropSeg+PS1 ≥ Tpuntello; (6)

PS2 > SJW. (7)

Tpuntello in disuguaglianza (6) - ritardo di propagazione del segnale nella rete. Supponendo che tutti i nodi della rete abbiano ritardi interni simili, il ritardo di propagazione può essere calcolato utilizzando la formula

Tpuntello = 2 (Tautobus + Tcmp + TDRV), (uno)

doveautobus - tempo di andata e ritorno del segnale nell'ambiente fisico del bus; Tcmp - ritardo nel comparatore di ingresso; TDRV - ritardo nel driver di uscita.

SJW (Larghezza del salto di sincronizzazione - la larghezza del salto di sincronizzazione) in disuguaglianza (7) - la durata del segmento di transizione di sincronizzazione, introdotto inoltre per regolare la durata della ricezione di un bit secondo necessità. Utilizzato per sincronizzare la ricezione con i messaggi trasmessi. Inoltre, le interferenze esterne creano situazioni in cui la velocità di trasmissione nominale pianificata nella rete non corrisponde alla velocità effettiva. Questo segmento aggiuntivo viene utilizzato anche per compensare questa differenza. La durata di SJW si trova all'interno di 1TQ-4TQ.

I segmenti PS1 e PS2, insieme a SJW, vengono utilizzati per compensare la deriva del clock del nodo. PS1 e PS2 possono essere allungati o accorciati secondo necessità. La sincronizzazione si verifica su una transizione da uno stato del bus recessivo (1) a uno dominante (0) e controlla la quantità di tempo tra quella transizione e il punto di campionamento del bit. Una transizione è sincronizzata se avviene in un segmento SyncSeg, altrimenti c'è un errore di fase - l'intervallo di tempo tra la transizione e la fine del SyncSeg, misurato in intervalli di tempo TQ.

Esistono due tipi di sincronizzazione: hardware e risincronizzazione. L'hardware viene eseguito solo una volta durante la prima transizione da recessivo a dominante, terminando il periodo di riposo del bus. Questo bordo indica l'inizio del frame (SOF - Start of Frame). La sincronizzazione hardware reimposta il contatore di sincronizzazione, facendo sì che l'edge si trovi all'interno di SyncSeg. A questo punto tutti i ricevitori sono sincronizzati con il trasmettitore.

Il reclocking con ripristino dell'orologio viene eseguito per mantenere l'orologio iniziale impostato dall'hardware. Senza il ripristino del clock, i ricevitori possono andare fuori sincrono a causa della deriva della frequenza dei generatori di clock nei nodi di rete. Questa temporizzazione si basa sul DPLL (Digital Phase Locked Loop), che confronta la posizione effettiva della transizione da recessivo a dominante sul bus con la posizione della transizione prevista all'interno del SyncSeg e regola la temporizzazione dei bit secondo necessità.

L'errore di fase e è determinato dalla posizione del bordo rispetto al segmento SyncSeg, misurato in TQ:

e = 0 - la transizione è all'interno del segmento SyncSeg;

e > 0 - la transizione è prima del punto di campionamento, gli intervalli di tempo TQ vengono aggiunti a PS1;

e < 0 - la transizione avviene dopo il punto di campionamento del bit precedente, gli intervalli di tempo TQ vengono sottratti da PS2.

Il reclocking con ripristino dell'orologio non può avvenire all'inizio di un frame, poiché l'orologio hardware è già stato eseguito lì.

Se il valore assoluto dell'errore di fase è minore o uguale a SJW, il risultato dell'hardware e della risincronizzazione è lo stesso. Se l'errore di fase è maggiore di SJW, la risincronizzazione non può compensare completamente l'errore di fase.

È consentita una sola sincronizzazione tra due punti campione. Mantiene un intervallo prestabilito tra la caduta di livello e il punto di campionamento, consentendo al livello del segnale di stabilizzarsi e filtrando le variazioni di segnale più brevi rispetto a PropSeg + PS1.

La sincronizzazione è anche correlata all'arbitrato. Tutti i nodi sono strettamente sincronizzati con quello che ha iniziato a trasmettere per primo. Ma il segnale di un altro nodo, che ha iniziato la trasmissione poco dopo, non può essere perfettamente sincronizzato. Tuttavia, il primo trasmettitore non vincerà necessariamente l'arbitrato, quindi i ricevitori devono sincronizzarsi non con esso, ma con quello che lo ha vinto. Lo stesso accade nel campo ACK, dove è necessario sincronizzarsi con il nodo che per primo ha iniziato a trasmettere il bit di riconoscimento. Tutto ciò porta ad una diminuzione della deriva reciproca ammissibile della frequenza dei generatori di clock installati nei nodi del bus.

Esistono diverse regole di sincronizzazione:

- vengono utilizzate solo le transizioni dallo stato recessivo a quello dominante (da uno a zero);

- è consentita una sola sincronizzazione all'interno di una trasmissione di bit;

- la transizione è utilizzata per la sincronizzazione, a condizione che il livello logico del segnale letto al punto campione precedente sia diverso dal livello impostato sul bus immediatamente dopo la transizione;

- il nodo trasmittente non ripristina intervalli di clock con errore di fase positivo (e > 0), cioè non si adegua al proprio messaggio. Ma i ricevitori si sincronizzano come al solito;

- se il valore assoluto dell'errore di fase è maggiore del salto di fase SJW, allora la durata del segmento di fase corrispondente (PS1 o PS2) viene modificata in un valore pari a SJW.

Quanto sopra porta al fatto che la lunghezza fisica del bus è limitata dalla velocità di trasferimento delle informazioni attraverso di esso. Tutti i nodi su un bus devono leggere i suoi stati all'interno dello stesso intervallo di bit. Di conseguenza, risulta che la velocità di trasferimento massima di 1 Mbps è raggiungibile solo con una lunghezza del bus non superiore a 30 m.

Considera come è configurato il controller CAN in microcontrollori specifici.

Nei microcontrollori della famiglia LPC (ad esempio, la serie LPC23xx), i registri CANxBTR vengono utilizzati per impostare la velocità di trasmissione sul bus CAN, dove x è il numero del controller CAN (possono essere 1 o 2, in alcuni casi - 4). Qui vengono impostati i seguenti parametri (gli intervalli dei numeri dei bit di registro da essi occupati sono indicati tra parentesi quadre):

BRP (CANxBTR[9:0]) - Valore del prescaler della frequenza del bus APB per il suo ulteriore utilizzo da parte del controller CAN. Questo parametro determina la durata del quanto temporale TQ, che è determinato dalla formula (4) quando F viene sostituito in essoosc=1/tAPB, doveAPB - periodo di ripetizione degli impulsi sul bus di sistema APB del microcontrollore.

SJW (CANxBTR[15:14]) - l'ampiezza del salto di sincronizzazione nei quanti TQ è una in più rispetto al valore qui specificato.

TSEG1 (CANxBTR[19:16]) e TSEG2 (CANxBTR[20:22]) - la durata dei segmenti (rispettivamente PS1 e PS2) in TQ quanta è uno in più rispetto ai valori specificati qui.

SAM (CANxBTR[23]) - imposta il numero di letture del valore di ogni bit: 0 - una volta, 1 - tre volte. Quest'ultima opzione viene utilizzata, di norma, nelle reti a bassa velocità.

Quando scegli queste opzioni, devi essere guidato dalle seguenti regole:

TPS2 ≥ 2 QT (9)

TPS2 ≥TSJW (10)

TPS1 ≥TPS2 (11)

I microcontrollori della serie STM32F hanno un registro simile e si chiama CAN_BTR. Contiene i seguenti campi:

BRP (CAN_BTR[9:0]), TS1 (CAN_BTR[19:16]) e TS2 (CAN_BTR[22:20]) - coincide nello scopo e nella posizione nel registro con i campi BPR, TSEG1 e TSEG2 del registro CANxBTR discusso sopra. Quando si calcola il valore di TQ, la formula (4) deve essere sostituita con Fosc=1/tPCLK, dovePCLK - periodo di ripetizione degli impulsi sul bus VPB del microcontrollore.

SJW (CAN_BTR[25:24]) - differisce dal campo dell'omonimo registro CANxBTR solo per i bit occupati nel registro.

LBKM (CAN_BTR[30]) - uno in questo registro imposta la modalità di loopback, in cui il messaggio trasmesso viene ricevuto dal proprio ricevitore, ma non inviato alla rete.

SILM (CAN_BTR[31]) - un'unità in questo registro imposta la modalità silenziosa, in cui il controller riceve messaggi provenienti dalla rete, ma non trasmette nulla.

Entrambe le modalità menzionate vengono utilizzate per il debug.

Per i microcontrollori in esame, la formula (2) è semplificata per l'assenza dei segmenti SyncSeg e PropSeg. Sono sostituiti da un segmento con una durata di 1TQ. La formula per loro è simile a questa:

NBT=TQ+TPS1 + TPS2 (12)

La velocità di trasmissione sul bus CAN in bit al secondo viene calcolata nel programma utilizzando la formula

NBR = (F/(BRP + 1)) (1/(PS1 +PS2 +3)) (13)

dove F è la frequenza del bus di sistema APB o VPB rispettivamente per STM32F o LPC23xx. Se il parametro SJW è diverso da zero, il massimo

BRmax = (F/(BRP + 1)) (1/(PS1 +PS2 - SJW + 2)) (14)

e minimo

BRverbale = (F/(BRP + 1)) (1/(PS1 +PS2 + SJW + 4)) (15)

valori di baud rate sul bus CAN, nell'intervallo tra i quali è prevista la sincronizzazione.

La finestra del programma CANTools è mostrata in fig. 2. I dati iniziali per esso sono il tipo di microcontrollore, la velocità di trasferimento delle informazioni richiesta e la frequenza del bus di sistema, da cui viene sincronizzato il controller CAN. Iniziando il calcolo, dovresti, prima di tutto, scegliere il tipo di microcontrollore. Nel programma in esame, ci sono solo due opzioni: LPC23xx o STM32F103. Successivamente, imposta la velocità di trasmissione richiesta sul bus CAN in kilobit al secondo. Successivamente, puoi impostare la frequenza del bus di sistema in megahertz. Resta solo da premere il pulsante sullo schermo "Calcolo" e ottenere il risultato.


Fig. 2

Il programma funziona come segue: il valore BRP cambia in un ciclo da 0 a 512. La frequenza degli intervalli di tempo e il loro numero contenuto nell'intervallo NBT sono calcolati per la frequenza del bus di sistema, il valore BRP e la velocità di trasmissione dati. Il numero di quanti deve essere un numero intero e minore di 23 - il valore massimo che può essere scritto nei registri del microcontrollore. Quindi scorre i valori TSEG2 da 2 a 7 con una corrispondente diminuzione del valore di TSEG1. La loro somma rimane costante.

Lo schermo visualizza la frequenza di ripetizione quantistica Fsc=1/TQ, attraverso una linea continua - la durata del quanto TQ, quindi il valore del campo BRP del registro corrispondente. Successivamente, ogni coppia di linee descrive il risultato di una delle opzioni di calcolo.

I parametri TSEG1 e TSEG2 nella prima riga della coppia corrispondono agli omonimi campi del registro CANxBTR dei microcontrollori LPC23xx o ai campi TS1, TS2 del registro CAN_BTR del microcontrollore STM32F103. Viene fornita la loro somma, il valore di ciascuno dei campi, nonché il valore del campo SJW, se non è nullo. L'ultima riga visualizza il valore esadecimale CANBTR, che deve essere scritto nel registro CANxBTR o CAN_BTR (a seconda del tipo di microcontrollore) per implementare l'opzione calcolata.

La seconda riga della coppia visualizza i valori della velocità massima e minima di trasferimento delle informazioni sul bus CAN (se SJW > 0) e la posizione del punto campione del bit rispetto all'inizio della sua trasmissione in percentuale di la durata dell'intervallo di trasmissione.

Per alcuni valori BRP, i risultati del calcolo non vengono visualizzati. Ciò significa che la velocità di ripetizione dell'intervallo di tempo o la velocità di trasmissione sul bus CAN, calcolata dalla formula (13), è risultata espressa come un numero frazionario. In tali casi, non viene effettuato alcun calcolo.

Il programma CANTools, automatizzando il processo di calcolo, non fornisce raccomandazioni su quali combinazioni di parametri sono meglio utilizzate in un'applicazione reale. Lo sviluppatore della rete deve scegliere l'opzione migliore tra quelle proposte, sulla base delle conoscenze e dell'esperienza esistenti. Per coloro che hanno appena iniziato a padroneggiare CAN, l'autore può consigliare di essere guidato dalla seguente regola: l'intervallo tra l'inizio di un bit e il punto del suo campionamento dovrebbe essere compreso tra il 70 e l'85% della durata del bit . Forse, in realtà, dovrai testare praticamente diverse opzioni tra quelle proposte dal programma.

Il programma CANTools può essere scaricato da ftp://ftp.radio.ru/pub/2014/01/can.zip.

Letteratura

  1. Modello di rete OSI.
  2. Rete di controllo dell'area.

Autore: A. Abramovich

Vedi altri articoli sezione Automobile. Dispositivi elettronici.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Macchina per diradare i fiori nei giardini 02.05.2024

Nell'agricoltura moderna si sta sviluppando il progresso tecnologico volto ad aumentare l'efficienza dei processi di cura delle piante. Presentata in Italia l'innovativa macchina per il diradamento dei fiori Florix, progettata per ottimizzare la fase di raccolta. Questo attrezzo è dotato di bracci mobili, che permettono di adattarlo facilmente alle esigenze del giardino. L'operatore può regolare la velocità dei fili sottili controllandoli dalla cabina del trattore tramite joystick. Questo approccio aumenta significativamente l'efficienza del processo di diradamento dei fiori, offrendo la possibilità di adattamento individuale alle condizioni specifiche del giardino, nonché alla varietà e al tipo di frutto in esso coltivato. Dopo due anni di test della macchina Florix su diverse tipologie di frutta, i risultati sono stati molto incoraggianti. Agricoltori come Filiberto Montanari, che utilizza una macchina Florix da diversi anni, hanno riscontrato una significativa riduzione del tempo e della manodopera necessari per diluire i fiori. ... >>

Microscopio infrarosso avanzato 02.05.2024

I microscopi svolgono un ruolo importante nella ricerca scientifica, consentendo agli scienziati di approfondire strutture e processi invisibili all'occhio. Tuttavia, vari metodi di microscopia hanno i loro limiti e tra questi c'è la limitazione della risoluzione quando si utilizza la gamma degli infrarossi. Ma gli ultimi risultati dei ricercatori giapponesi dell'Università di Tokyo aprono nuove prospettive per lo studio del micromondo. Gli scienziati dell'Università di Tokyo hanno presentato un nuovo microscopio che rivoluzionerà le capacità della microscopia a infrarossi. Questo strumento avanzato consente di vedere le strutture interne dei batteri viventi con sorprendente chiarezza su scala nanometrica. In genere, i microscopi nel medio infrarosso sono limitati dalla bassa risoluzione, ma l’ultimo sviluppo dei ricercatori giapponesi supera queste limitazioni. Secondo gli scienziati, il microscopio sviluppato consente di creare immagini con una risoluzione fino a 120 nanometri, ovvero 30 volte superiore alla risoluzione dei microscopi tradizionali. ... >>

Trappola d'aria per insetti 01.05.2024

L’agricoltura è uno dei settori chiave dell’economia e il controllo dei parassiti è parte integrante di questo processo. Un team di scienziati dell’Indian Council of Agricultural Research-Central Potato Research Institute (ICAR-CPRI), Shimla, ha trovato una soluzione innovativa a questo problema: una trappola per insetti alimentata dal vento. Questo dispositivo risolve le carenze dei metodi tradizionali di controllo dei parassiti fornendo dati sulla popolazione di insetti in tempo reale. La trappola è alimentata interamente dall'energia eolica, il che la rende una soluzione ecologica che non richiede energia. Il suo design unico consente il monitoraggio sia degli insetti dannosi che utili, fornendo una panoramica completa della popolazione in qualsiasi area agricola. “Valutando i parassiti target al momento giusto, possiamo adottare le misure necessarie per controllare sia i parassiti che le malattie”, afferma Kapil ... >>

Notizie casuali dall'Archivio

Piattaforma wireless a 6 Gbps 03.03.2016

Le reti cellulari di quinta generazione saranno eterogenee. In pratica, ciò significherà che l'accesso dell'abbonato alle linee di comunicazione sarà effettuato non solo collegandosi alle stazioni base degli operatori di telecomunicazioni, ma anche utilizzando le reti locali a radiofrequenza.

Si tratta delle cosiddette reti RAN, che forniranno una trasmissione dati ad alta velocità senza caricare le stazioni base. Tali reti territoriali, ad esempio, sono progettate per essere utilizzate per la gestione del traffico o per i voli con droni. Le reti RAN sono destinate a mmWave a carico relativamente basso.

Un gruppo di società giapponesi, tra cui Tokyo Institute of Technology, Sony, Japan Radio e KDDI R&D Laboratories, ha presentato una piattaforma completa per l'organizzazione delle reti RAN. Gli sviluppatori hanno creato una soluzione per il trasferimento di dati su uno smartphone a velocità fino a 6,1 Gbps. Un gigabyte di dati a questa velocità verrà trasferito in meno di due secondi.

La rete sarà full duplex a due stadi per la trasmissione di dati nella banda a 40 GHz e per il funzionamento dei dispositivi client nella banda a 60 GHz. Verrà così eliminato il problema sotto forma di forte attenuazione delle onde radio nel range millimetrico e, per la particolare topologia della rete, il problema di garantire una quantità di traffico garantita in caso di precipitazioni, che spengono anche il segnale millimetrico , sarà risolto.

Altre notizie interessanti:

▪ Tastiera a tre pulsanti

▪ Diagnosticare un raffreddore prima che compaiano i sintomi

▪ Tieni i piedi al caldo

▪ Piattaforma wireless a 6 Gbps

▪ Metallo migliorato con ceramica

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito Fatti interessanti. Selezione di articoli

▪ Articolo sull'elicottero. Storia dell'invenzione e della produzione

▪ articolo Perché gli Stati Uniti hanno cambiato il gesto pronunciando il giuramento di fedeltà alla bandiera nel 1942? Risposta dettagliata

▪ articolo Versatore di vernici e solventi. Istruzioni standard sulla protezione del lavoro

▪ articolo Antenna stilo a sei bande. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Un orologio che scompare in una scatola. Messa a fuoco segreta

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:




Commenti sull'articolo:

Petrovich2015
Il circuito è buono, ma il diametro del filo dell'avvolgimento secondario del trasformatore è discutibile con transistor così potenti


Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024