IT202000013222A1 - Procedimento di clock recovery, circuito e sistema corrispondenti - Google Patents
Procedimento di clock recovery, circuito e sistema corrispondenti Download PDFInfo
- Publication number
- IT202000013222A1 IT202000013222A1 IT102020000013222A IT202000013222A IT202000013222A1 IT 202000013222 A1 IT202000013222 A1 IT 202000013222A1 IT 102020000013222 A IT102020000013222 A IT 102020000013222A IT 202000013222 A IT202000013222 A IT 202000013222A IT 202000013222 A1 IT202000013222 A1 IT 202000013222A1
- Authority
- IT
- Italy
- Prior art keywords
- signal
- value
- duration
- bit
- timing
- Prior art date
Links
- 238000011084 recovery Methods 0.000 title description 16
- 238000000034 method Methods 0.000 claims description 30
- 238000012795 verification Methods 0.000 claims description 26
- 125000004122 cyclic group Chemical group 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 7
- 238000000605 extraction Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000006855 networking Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0331—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
- H04L7/0087—Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/048—Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Description
DESCRIZIONE dell?invenzione industriale dal titolo:
?Procedimento di clock recovery, circuito e sistema corrispondenti?
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione ? relativa al clock recovery.
Una o pi? forme di attuazione possono essere usate, per esempio, nel campo automotive.
Una o pi? forme di attuazione possono essere usate in applicazioni che coinvolgono un networking parziale. La zona delle portiere o la gestione del motore nel campo automotive possono essere esempi di tali applicazioni.
Sfondo tecnologico
Un clock recovery efficace ? una caratteristica desiderabile in applicazioni come il networking parziale CAN, principalmente in quelle applicazioni che usano un oscillatore di bassa precisione (un errore di periodo superiore al 5%, fino al /-10%, per esempio) eventualmente senza una compensazione di errore in temperatura.
I circuiti di recovery dei dati e del clock tradizionali possono essere basati sull?aggancio in frequenza con la frequenza di oscillazione di un oscillatore interno agganciato al bitrate di un segnale in arrivo.
Un tale approccio pu? condurre a recuperare adeguatamente errori di periodo nell?intervallo del /-5%. Un recovery di errori pi? grandi (per esempio, del /-10% su un ampio intervallo di temperatura) pu? comportare una compensazione di errore feed-forward con l?obiettivo di recuperare la deviazione del periodo dell?oscillatore rispetto alla temperatura.
Per esempio, la deviazione del periodo dell?oscillatore pu? essere interpolata rispetto alla temperatura di giunzione effettiva di una circuiteria a semiconduttore di oscillatore in base a valori di errore misurati durante l?effettuazione dei test automatizzati (effettuazione dei test ATE) e memorizzati in una memoria programmabile una volta sola (OTP, ?One-Time Programmable?). Il segnale di ingresso pu? cos? essere agganciato correttamente a condizione che la differenza massima tra l?interpolazione lineare e l?errore di periodo reale dell?oscillatore sia minore del 5%, per esempio.
Scopo e sintesi
Uno scopo di una o pi? forme di attuazione ? di contribuire a migliorare le prestazioni di clock recovery in contesti quali quelli discussi in precedenza, per esempio.
Secondo una o pi? forme di attuazione, tale scopo ? raggiunto per mezzo di un procedimento avente le caratteristiche esposte nelle rivendicazioni che seguono.
Una o pi? forme di attuazione possono essere relative a un circuito corrispondente. Un circuito di recovery di dati e clock per l?uso in un sistema di networking (parziale) pu? essere un esempio di un tale circuito.
Una o pi? forme di attuazione possono essere relative a un sistema corrispondente. Una rete CAN per l?uso nel settore automotive pu? essere un esempio di un tale sistema.
Le rivendicazioni sono parte integrante dell?insegnamento tecnico qui fornito con riferimento a forme di attuazione illustrative.
Una o pi? forme di attuazione possono facilitare il recovery della frequenza di clock da un bitstream di ingresso.
Una o pi? forme di attuazione possono comportare di decodificare una trama (?frame?) di sincronizzazione e di misurare il tempo tra due fronti di discesa consecutivi in essa, con una pendenza del timer corretta prendendo in considerazione un valore intero di un numero di bit come un valore di livello minimo (?floor?). Un frame di sincronizzazione susseguente (successivo) pu? essere decodificato effettuando una verifica di ridondanza (come una verifica di ridondanza ciclica o CRC). Se l?esito della verifica ? positivo, il valore intero selezionato nella fase precedente ? convalidato; altrimenti, il valore intero ? cambiato in un altro valore intero come, per esempio, un valore di livello massimo (?ceiling?) se il valore precedente ? stato preso come valore di floor.
Una o pi? forme di attuazione possono facilitare il fatto di correggere adeguatamente un errore di periodo dell?oscillatore di fino al /-10% senza fare ricorso a una compensazione feed-forward.
Breve descrizione delle figure
Una o pi? forme di attuazione saranno ora descritte, a puro titolo di esempio, con riferimento alle figure annesse, nelle quali:
la Figura 1 ? un esempio di uno schema a blocchi di un possibile contesto di uso di forme di attuazione,
la Figura 2 illustra un frame CAN,
la Figura 3 ? un esempio del possibile effetto dell?imprecisione del clock di un oscillatore in un contesto come rappresentato a titolo di esempio nella Figura 1,
la Figura 4 ? un esempio di uno schema a blocchi di un approccio tradizionale nel clock recovery,
le Figure 5A e 5B sono esempi di diagrammi temporali di un possibile funzionamento di un circuito basato sul concetto delineato nella Figura 4,
la Figura 6 ? un esempio di uno schema a blocchi di forme di attuazione secondo la presente descrizione,
la Figura 7 ? un esempio di un diagramma di flusso di un possibile funzionamento di un circuito secondo lo schema a blocchi della Figura 6,
la Figura 8 ? un esempio di uno schema circuitale di una possibile implementazione di una soluzione come rappresentato a titolo di esempio nella Figura 6, e
le Figure 9A e 9B sono esempi di diagrammi temporali di un possibile comportamento nel tempo di segnali che possono essere presenti in forme di attuazione della presente descrizione.
Descrizione dettagliata di forme di attuazione illustrative
Nella descrizione che segue, sono illustrati vari dettagli specifici, allo scopo di fornire una comprensione approfondita di vari esempi di forme di attuazione della presente descrizione. Le forme di attuazione possono essere attuate senza uno o pi? dei dettagli specifici o con altri procedimenti, componenti, materiali, ecc. In altri casi, operazioni, materiali o strutture note non sono illustrate o descritte in dettaglio al fine di evitare di rendere poco chiari vari aspetti delle forme di attuazione. Un riferimento a ?una forma di attuazione? in tutta questa descrizione significa che una particolare configurazione, struttura, o caratteristica descritta con riferimento alla forma di attuazione ? compresa in almeno una forma di attuazione. Cos?, le frasi come ?in una forma di attuazione? o simili che possono essere presenti in vari punti in tutta questa descrizione non fanno necessariamente riferimento alla stessa forma di attuazione. Inoltre, particolari conformazioni, strutture o caratteristiche possono essere combinate in un modo adeguato qualsiasi in una o pi? forme di attuazione.
Le intestazioni/riferimenti qui utilizzati sono forniti semplicemente per comodit? e quindi non definiscono l?ambito di protezione o la portata delle forme di attuazione.
Nella Figura 1, il riferimento 100 indica nel suo complesso una rete come una rete CAN (Controller Area Network), vale a dire una rete che include un bus (bus CAN) comprendente linee ?alta? e ?bassa? CANH e CANL terminate su resistori di terminazione RT ed avente una pluralit? di N unit? di controllo elettronico (ECU, ?Electronic Control Unit?) 101, 102, ..., 10N accoppiate alle linee del bus CANH, CANL.
Le singole ECU 101, 102, ..., 10N possono comprendere (ciascuna):
un microcontrollore 1011, 1021, ...., 10N1,
un controllore CAN 1012, 1022, ..., 10N2, e
un ricetrasmettitore 1013, 1023, ..., 10N3.
Un CAN 100, come rappresentato a titolo di esempio nella Figura 1, fornisce uno standard di bus adatto per l?uso, per esempio, nel contesto di un veicolo.
Grazie alla natura differenziale del bus CANH, CANL, un CAN 100 come rappresentato qui a titolo di esempio presenta una marcata robustezza contro il rumore.
Come risultato del fatto che si usa un protocollo basato su messaggi, un CAN 100 come rappresentato qui a titolo di esempio facilita anche la comunicazione tra i microcontrollori e i dispositivi da loro controllati (non visibili nella Figura 1) senza un elaboratore o computer host.
Per esempio, per ciascun dispositivo i dati in un frame possono essere trasmessi in sequenza adottando un meccanismo di priorit? in modo tale che, se pi? dispositivi trasmettono nello stesso momento, un dispositivo che ha una priorit? superiore/pi? alta continua la trasmissione mentre gli altri dispositivi, in conflitto, interrompono la trasmissione. I frame come trasmessi sono ricevuti da tutti i dispositivi accoppiati al bus, compreso il dispositivo trasmittente.
La Figura 2 illustra un frame CAN tradizionale, rappresentato tra due stati di ?inattivit? del bus? (?bus idle?) indicati con I.
Un frame come illustrato nella Figura 2 comprende i seguenti campi:
Inizio Del Frame ? SOF (?Start Of Frame?)
Campo di Arbitraggio ? AF (?Arbitration Field?)
Campo di Controllo ? CF (?Control Field?)
Campo di Dati - DF (?Data Field?)
Campo di CRC ? CRCF (?CRC Field?), comprendente a sua volta una sequenza di CRC (Cyclical Redundancy Check) e un delimitatore di CRC CRCD (?CRC Delimiter?)
Campo di ACK ? ACKF (?ACK Field?), comprendente a sua volta un bit di intervallo elementare (?slot?) di riscontro (?acknowledgement?) e un delimitatore di ACK ACKD (?ACK delimiter?)
Fine Del Frame ? EOF (?End Of Frame?)
Campo di Intervallo - ITM (?Intermission Field?)
La sequenza di CRC in ciascun frame consiste di 15 bit.
Il valore di questi bit dipende da tutti i bit precedenti (esclusi eventuali bit di riempimento (?stuffing?)) nel frame ed ? calcolato per mezzo di un polinomio, che per frame tradizionali (come qui illustrato) ? definito come: CRC_15 = C59916 = (x15+x14+x10+x8+x7+x4+x3+1).
Ciascun ricevitore in un CAN 100, come rappresentato a titolo di esempio nella Figura 1, comprende un decodificatore configurato per calcolare il CRC dai dati ricevuti. Se questi sono differenti dai dati inviati, il CRC calcolato ?internamente? dal decodificatore sar? differente dal CRC ricevuto e il frame ? scartato.
In altre parole, una tale verifica di CRC implica un confronto del CRC nel frame ricevuto e del CRC calcolato nel ricevitore: se questi CRC sono identici, la verifica ? superata; altrimenti fallisce.
I concetti generali alla base della struttura e del funzionamento di una rete CAN 100, come rappresentato a titolo di esempio nelle Figure 1 e 2, sono ben noti agli esperti nella tecnica, il che rende superfluo fornire in questa sede una descrizione pi? dettagliata.
Un dispositivo di networking (parziale) come rappresentato a titolo di esempio nella Figura 1 pu? comportare la decodifica del bitstream di ingresso ricevuto da ciascun dispositivo (ECU) accoppiato al bus, con un tale bitstream che ci si aspetta essere asincrono rispetto all?oscillatore interno del dispositivo.
Di conseguenza, un circuito di recovery di dati e clock CDR pu? essere fornito in ciascun dispositivo (ECU) 101, 102, ?, 10N con l?obiettivo di sincronizzare l?oscillatore interno al bitstream di ingresso ricevuto dal dispositivo. Per semplicit?, soltanto un tale circuito di recovery di dati e clock ? visibile nella Figura 1 nell'ipotesi generale che circuiti simili siano previsti per gli altri dispositivi nella rete 100.
Come noto agli esperti nella tecnica, il funzionamento di una rete CAN 100, come rappresentata a titolo di esempio nella Figura 1, pu? comportare cosiddette transizioni da recessivo-a-dominante (REC-DOM) cos? come da dominante-arecessivo (DOM-REC).
Come indicato, un bus CAN usa segnali wired-AND differenziali, in modo tale che le linee CANH e CANL nel bus possano essere pilotate a uno stato ?dominante? (durante il quale CANH ? a una tensione pi? alta di CANL) o non pilotate e tratte da resistori passivi, come RT, a uno stato ?recessivo? (durante il quale CANH ? a una tensione pi? bassa o uguale alla tensione in CANL).
Per esempio, ai fini di una trasmissione:
un bit dati ?0? pu? essere codificato come uno stato dominante (DOM), e
un bit dati ?1? pu? essere codificato come uno stato recessivo (REC).
Tale soluzione (di per s? non imperativa) coopera con la connessione wired-AND nel fornire accesso al bus ai dispositivi che hanno numeri di ID pi? bassi, come discusso precedentemente.
In un tale contesto, una sincronizzazione pu? essere effettuata vantaggiosamente sui fronti di discesa prendendo in considerazione il fatto che le transizioni REC-DOM sono pilotate a bassa impedenza e tendono ad essere brusche, e cos? meglio adatte ai fini della sincronizzazione in confronto alle transizioni DOM-REC.
Per esempio, la sincronizzazione pu? essere basata sulla misurazione del numero di bit tra due fronti di discesa successivi (consecutivi), vale a dire un primo e un secondo fronte omologhi (entrambi fronti di discesa, per esempio) che non hanno alcun terzo fronte omologo (di nuovo di discesa, per esempio) tra loro.
A tale riguardo si apprezzer? che, sebbene per semplicit? e facilit? di comprensione in tutta questa descrizione dettagliata si faccia riferimento a un bus CAN, lo stesso tipo di funzionamento e le stesse considerazioni viste nel seguito possono essere applicati anche ad altri tipi di bus che funzionano su principi simili.
In altre parole, un riferimento a un bus CAN e, pi? precisamente, un riferimento a una rete CAN ? puramente a fini esemplificativi e non ? da interpretare, neppure indirettamente, in un senso limitativo, di forme di attuazione.
In certi contesti di funzionamento, pu? essere adottato il bit-stuffing, vale a dire, consentendo un numero massimo di bit coincidenti consecutivi, come 5 (cinque). Di conseguenza, due fronti di sincronizzazione consecutivi successivi all?interno di uno stesso frame possono presentarsi a una distanza massima di, per esempio, 2x5=10 periodi di bit.
La Figura 3 ? un esempio del possibile effetto di un errore di periodo dell?oscillatore in una sequenza di bit. Prendendo in considerazione che la distanza minima tra due fronti di discesa ? di 2 bit, un errore di periodo dell?oscillatore (+/-10%, per esempio) pu? condurre gradualmente a valori sempre pi? ambigui AV per quei bit che si avvicinano gradualmente alla distanza massima discussa in precedenza, cio? 2x5=10 periodi di bit, per esempio.
La Figura 4 ? un esempio di uno schema a blocchi di un circuito di recovery dei dati del clock CDR comprendente un sistema di aggancio di frequenza configurato per agganciare la frequenza di un oscillatore interno a un certo dispositivo (una qualsiasi delle ECU 101, 102, ..., 10N della Figura 1 essendo eventualmente un esempio di un tale dispositivo) al bitrate (frequenza) di un segnale ricevuto RX in ingresso.
Nello schema a blocchi della Figura 4, il riferimento 1000 indica un circuito timer configurato per generare un segnale a dente di sega BT (tempo di bit) avente una pendenza che ? previsto essere regolata finemente.
Come rappresentato a titolo di esempio nelle Figure 5A e 5B, tale azione di regolazione fine pu? avere l?obiettivo di fare s? che le ?punte? del segnale a dente di sega (vale a dire, i punti in cui il segnale BT raggiunge una soglia del periodo BPT) coincidano con i fronti di discesa di bit BE effettivi, in modo tale che il segnale BT possa essere regolato per avere un periodo uguale al tempo di bit del segnale di ingresso RX. In tal modo, il segnale BT pu? essere usato per generare un segnale di strobe BS utile nel campionare il bitstream di ingresso (si veda anche BS come illustrato nella Figura 9B).
Come rappresentato a titolo di esempio nella Figura 4, l?uscita dal timer 1000 (segnale di tempo di bit BT) ? fornita a un circuito di estrazione dell?errore di frequenza 1002. Il circuito 1002 ? configurato per estrarre un errore di frequenza dell?oscillatore corrente confrontando il periodo dell?oscillatore effettivo con i fronti di bit BE del segnale RX in ingresso, generando cos? un segnale di errore di frequenza FE.
Come rappresentato a titolo di esempio nella Figura 4, il segnale di errore di frequenza FE ? fornito a un circuito integratore di filtro di anello 1004 configurato per integrare l?errore di periodo di bit su transizioni multiple (si veda l?errore di tempo TE nella Figura 5B) e produrre un segnale SC che ? fornito al timer 1000 per regolare la pendenza del segnale a dente di sega generato dal circuito timer 1000 in modo tale che, come risultato della regolazione della pendenza (come rappresentato a titolo di esempio da SC nella Figura 5B), il segnale BT raggiunga una soglia del periodo di bit BPT desiderata al tempo di un fronte di bit BE.
Come rappresentato a titolo di esempio nella Figura 4, una regolazione della pendenza del segnale a dente di sega generato dal circuito timer 1000 mediante il segnale di regolazione rappresentato a titolo di esempio da SC prende in considerazione un segnale di compensazione proveniente da un circuito di compensazione feed-forward 1006, che ? iniettato in un nodo 1008 nel percorso di propagazione di segnale dal circuito di integrazione di filtro di anello 1004 al circuito timer 1000.
Come indicato, un possibile funzionamento di un dispositivo (tradizionale), come rappresentato a titolo di esempio nella Figura 4, ? illustrato nei diagrammi temporali delle Figure 5A, 5B che rappresentano, rispetto a una scala (ascissa) di tempo t comune:
il segnale di ingresso RX con fronti di bit BE (Figura 5A),
il segnale di tempo di bit BT, l?errore di temporizzazione (accumulato) derivante dall?errore di frequenza FE nella Figura 4 e l?azione di correzione della pendenza mediante il segnale SC verso la soglia BPT (Figura 5A).
Come indicato, un funzionamento di un circuito di recovery dei dati del clock CDR come rappresentato a titolo di esempio nella Figura 4 pu? trarre vantaggio dalle transizioni REC-DOM pi? brusche (se applicate a un bus CAN) e pu? comportare:
integrare l?errore su transizioni multiple ipotizzando un certo numero di bit massimo tra due fronti di discesa successivi (per esempio 2x5 = 10, come risultante da un bit-stuffing), e
regolare in modo corrispondente la pendenza del segnale proveniente dal circuito timer 1000.
Una compensazione feed-forward come rappresentato a titolo di esempio da 1006 e 1008 nella Figura 4 facilita un recovery della deviazione del periodo dell?oscillatore rispetto alla temperatura.
Come discusso, una compensazione pu? comportare di interpolare le deviazioni del periodo dell?oscillatore in base a pi? valori di errore (tre, per esempio) ottenuti durante un?azione di effettuazione di test (automatizzato) e memorizzato in una memoria (OTP, per esempio), che si pu? considerare che sia inclusa nel blocco 1006 nella Figura 4.
Un aggancio corretto del segnale di ingresso RX pu? cos? essere ottenuto in una soluzione come rappresentato a titolo di esempio nella Figura 4, a condizione che la differenza tra l?interpolazione lineare e l?errore di periodo effettivo dell?oscillatore si trovi entro un certo limite (+/-5% per esempio).
Indipendentemente da ci?, una soluzione come rappresentata a titolo di esempio nella Figura 4 soffre di inconvenienti in relazione al tempo di test (procedure di trimming automatico) e all?area di semiconduttore occupata dalla logica digitale e dai registri di OTP e possono essere compresi nel blocco 1006.
Questi problemi sono affrontati da forme di attuazione come rappresentato a titolo di esempio nella Figura 6.
Nello schema a blocchi della Figura 6, ? rappresentato un circuito timer 2000 configurato per ricevere il segnale di ingresso RX e inviare un segnale di tempo di bit BT verso un circuito di estrazione dell?errore di frequenza 2002. Questo ? configurato, a sua volta, per generare un segnale di errore di frequenza FE da fornire a un integratore di filtro di anello 2004, che produce un segnale di correzione della pendenza SC che ? fornito al circuito timer 2000.
Le stesse designazioni e/o simboli di riferimento sono usati nella Figura 4 e nella Figura 6 per il circuito timer, il circuito di estrazione dell?errore di frequenza e l?integratore di filtro di anello cos? come per il segnale di tempo di bit, il segnale di errore di frequenza e il segnale di correzione della pendenza.
Una tale scelta ? prevista per facilitare un confronto per facilit? di spiegazione e di comprensione. Per il resto, si apprezzer? che circuiti/segnali con designazioni simili nelle Figure 4 e 6 non sono necessariamente implementati nello stesso modo e/o non hanno necessariamente comportamenti identici nel tempo.
In forme di attuazione come rappresentato a titolo di esempio nella Figura 6 (e come discusso ulteriormente in seguito), il circuito di estrazione dell?errore di frequenza 2002 genera segnali di errore di frequenza FE in base:
al segnale BT proveniente dal circuito timer 2000, e a un segnale CRC che indica l?esito di una verifica di ridondanza (come una Verifica di Ridondanza Ciclica, in breve CRC) proveniente da un circuito decodificatore di frame 2006, che riceve a sua volta un segnale di bit campionato SB da un circuito di bit-strobe 2008 sensibile sia al segnale di ingresso RX sia al segnale BT proveniente dal circuito timer 2000.
In una o pi? forme di attuazione come rappresentato a titolo di esempio nella Figura 6, (dove, di nuovo, il segnale a dente di sega BT proveniente dal circuito timer 2000 pu? essere usato per produrre un segnale di strobe BS utile nel campionare il bitstream di ingresso - si veda anche BS come illustrato nella Figura 9B) l?ambiguit? di tempo di bit come dovuta a un errore nell?azione di generazione del clock pu? essere risolta ?tentando? due valori possibili in due frame successivi/consecutivi, con una verifica di ridondanza, come una Verifica di Ridondanza Ciclica (CRC), usata per convalidare il risultato della selezione (scelta selezionata).
A titolo di spiegazione generale, in una o pi? forme di attuazione tale ambiguit? pu? essere risolta secondo le direttive del diagramma di flusso della Figura 7.
Un?azione come rappresentata a titolo di esempio in 300 comporta di usare un primo frame (di sincronizzazione o synch) nel segnale RX per misurare il tempo tra due fronti omologhi successivi, vale a dire due fronti dello stesso tipo (fronti di discesa, per esempio) che arrivano uno dopo l?altro senza alcun fronte dello stesso tipo che si verifica tra loro: per esempio, due fronti di discesa che arrivano uno dopo l?altro con un fronte di salita tra loro rappresentano due fronti omologhi successivi come inteso qui.
Come rappresentato a titolo di esempio nella Figura 7, l?azione come rappresentata a titolo di esempio in 300 ? effettuata mentre la pendenza del segnale a dente di sega generato dal timer 2000 ? regolata a un primo valore, che si pu? ipotizzare corrispondere a un primo valore di ?floor? (pi? basso).
Un?azione come rappresentata a titolo di esempio in 302 comporta una misurazione corrispondente effettuata ?internamente? (vale a dire, nei ricevitori 101, 102, ...
10N) con un confronto effettuato in 304 tra il risultato ottenuto dal bitstream ricevuto e il risultato ottenuto internamente.
Per esempio, in una o pi? forme di attuazione, il confronto effettuato in 304 pu? comportare un confronto del CRC calcolato internamente con il campo di CRC del bitstream ricevuto.
Se la verifica in 304 produce un esito positivo (CRC corretto, esito da 304 = Y), il valore di pendenza precedente come determinato in base al tempo tra due fronti consecutivi misurato sul primo frame di synch ? convalidato ed ? asserito un flag di ?agganciato? in 306 con il valore convalidato usato come punto di partenza del filtro di anello.
Se, per contro, la verifica in 304 produce un esito negativo (CRC non corretto), in 308 ? impostato un secondo valore di pendenza differente, per esempio un valore ottenuto sostituendo il primo valore di ?floor? con un secondo valore di ?ceiling? (pi? alto) e il funzionamento del sistema ritorna a 302.
Una o pi? forme di attuazione possono contemplare che, se la verifica in 304 fallisce ripetutamente (per esempio, tre o pi? volte di seguito), pu? essere dichiarato uno stato di errore come rappresentato a titolo di esempio da 310.
In una o pi? forme di attuazione come rappresentate a titolo di esempio nella Figura 6, il circuito generatore di bit-strobe 2008 pu? essere configurato per selezionare il punto di campionamento del tempo di bit nel segnale di ?dati non elaborati (?raw?)? RX e il circuito decodificatore di frame 2006 pu? essere configurato per implementare una caratteristica di risveglio (?wake-up?) e (anche) per convalidare la correzione della pendenza implementando la verifica di CRC della fase 304 nella Figura 7, con il segnale di CRC che assume valori logici differenti corrispondenti al fatto che l?esito della fase 304 ? Y o N.
Lo schema a blocchi della Figura 8 ? un esempio di una possibile implementazione della circuiteria di estrazione dell?errore di frequenza nell?esempio di schema a blocchi della Figura 6, in cui ? previsto che il circuito 2002 sia sensibile a un segnale proveniente dal timer 2000 (questo pu? corrispondere semplicemente al tempo tra due fronti di discesa consecutivi) e al segnale di CRC proveniente dal decodificatore di frame 2006 (configurato per effettuare la verifica di CRC della fase 304 della Figura 7).
Come rappresentato a titolo di esempio nella Figura 8, la circuiteria di estrazione dell?errore di frequenza pu? comprendere un multiplexer di ingresso 400 che riceve il segnale di tempo BT dal circuito timer 2000 e un valore di tempo misurato (da una memoria 400a, per esempio) che facilita una convalida di una pendenza corretta usando uno stesso valore di timer per due tentativi successivi, come discusso precedentemente.
L?uscita dal multiplexer 400 ? fornita a un circuito di estrazione di errore 402 che genera un segnale di errore totale TE da fornire a un primo ingresso (indicato con a) di un divisore a/b 404.
L?uscita dal multiplexer 400 ? fornita anche a due circuiti 406 e 408 che eseguono le funzioni di ?floor? e di ?ceiling? come discusso precedentemente, con i risultati rispettivi inviati a un multiplexer 410.
L?uscita dal multiplexer 400 ? fornita anche a un circuito di arrotondamento 412, in modo tale che un ulteriore multiplexer 414 possa ricevere (da fornire a un secondo ingresso, contrassegnato con b, del divisore a/b 404) un segnale di conteggio di bit BC dato dall?una o l?altro tra:
l?uscita dal multiplexer 410, vale a dire ? a sua volta ? l?uscita dall?uno o dall?altro tra il valore di floor 406 o il valore di ceiling 408,
il segnale di uscita da un circuito di arrotondamento 412.
In termini esplicativi semplici, nel funzionamento di un circuito come rappresentato a titolo di esempio nella Figura 8, una volta che ? ottenuta una condizione di aggancio (fase 306 nella Figura 7) un segnale LOCK applicato ai multiplexer 400 e 414 avr? come risultato che il segnale di timer proveniente dal circuito timer 2000 ? inoltrato all?ingresso b del divisore 404 mediante il circuito di arrotondamento 412, cosicch?, dopo la fase di aggancio, un segnale di conteggio di bit BC applicato all?ingresso b pu? essere valutato arrotondando giusto il segnale del timer.
Per contro, prima che sia ottenuto un aggancio, al divisore a/b 404 sar? fornito mediante il multiplexer 414 l?uno o l?altro dei valori di floor o di ceiling provenienti dai circuiti 406, 408 in funzione del valore del segnale CRC indicativo dell?esito della verifica di CRC.
In forme di attuazione come rappresentate a titolo di esempio nella Figura 8, l?uscita dal divisore a/b 404 pu? essere un segnale comprendente un numero di bit totale (17, per esempio) comprendente un bit di segno pi? bit interi e bit frazionali con un numero dei bit frazionali uguale, per esempio, a 16.
In forme di attuazione come rappresentate qui a titolo di esempio, il segnale dallo switch 404 pu? essere fornito a un nodo di somma (con segno) 416 che pu? essere configurato per generare il segnale di errore di frequenza FE combinando (sottraendo) dal segnale di uscita dal divisore 404 un valore interpolato ottenuto convertendo in un convertitore 418 il segnale proveniente dal divisore 404 in un formato pi? corto come, per esempio, un segnale in un formato s4/6 ottenuto dal segnale s17/16 proveniente dal divisore 404 con generazione successiva, in un circuito 420 (un moltiplicatore, per esempio) di un termine del secondo ordine di una serie di Taylor.
In sintesi, una procedura di sincronizzazione come qui discussa ha lo scopo di ridurre (teoricamente a zero) l?errore di tempo tra gli oscillatori interni delle unit? (ECU) 101, 102, ..., 10N accoppiate alle linee di bus CANH, CANL e il bitstream trasmesso su di esse.
Se riferito a un singolo bit, un tale errore pu? essere definito come:
dove TE corrisponde alla somma degli errori per ciascun bit (si veda la Figura 5B) e BC ? il numero di bit tra due fronti di discesa (TEB ? l?uscita del divisore 404 nella Figura 8).
Una stima accurata dell?errore comporta cos? di determinare correttamente il valore per BC. Questo ? calcolato ?internamente? in ciascuna unit? 101, 102, ..., 10N come:
dove N ? il numero di impulsi di clock tra due fronti di discesa consecutivi e OVS ? un fattore di sovra campionamento.
In dispositivi come rappresentati a titolo di esempio nella Figura 4, il valore per BC ? arrotondato all?intero pi? vicino. Ci? ? facilitato dal fatto che l?errore sul periodo dell?oscillatore ? ridotto sotto il /-5% (per esempio) usando la compensazione feed-forward in 1006, in modo tale che possa essere calcolato un valore univoco per BC.
Come discusso, in presenza di un errore pi? grande (+/-10%, per esempio) BC non ? pi? univoco, come rappresentato a titolo di esempio nella Figura 3.
Il fatto di usare un valore erroneo per BC ostacola una sincronizzazione corretta del CDR con il bitstream ricevuto (all?interno di cinque frame, come specificato dagli standard ISO) e pu? avere come risultato una divergenza del filtro di anello.
La dipendenza di BC dall?errore nel periodo di clock pu? essere espressa come segue:
Tosc<typ >? il valore tipico del periodo dell?oscillatore Tosc ? il periodo dell?oscillatore
?osc ? l?errore che affligge il periodo dell?oscillatore TB ? la durata di tempo di un bit
N ? il numero di impulsi di clock tra due fronti di discesa successivi
BC<real >? il numero di bit effettivamente presenti tra due fronti di discesa successivi
BC ? il numero di bit calcolato digitalmente
OVS ? il fattore di sovracampionamento.
In una o pi? forme di attuazione, la non univocit? di BC ? risolta usando una verifica di CRC come un fattore di discriminazione per decidere se dovrebbe avere luogo un arrotondamento verso l?alto o verso il basso (per es., ?ceiling? o ?floor?).
In effetti, BC pu? essere usato per produrre segnali di strobe (si veda BS nella Figura 9B come discusso in seguito) usati per campionare i bit ricevuti: un valore erroneo per BC conduce a una decodifica erronea dei frame ricevuti e a un malfunzionamento conseguente della verifica di CRC.
Una volta che ? stato identificato un valore corretto per BC (che pu? essere visto come corrispondere alla prima misurazione in 300 nella Figura 7), la pendenza della rampa SC ? aggiornata (si veda SC nella Figura 5B a titolo di riferimento) in modo tale che il valore di errore successivo (vale a dire, TEB) sar? ridotto (a meno del 5%, per esempio).
Quindi, il filtro di anello (si veda 2002, 2004 nella Figura 6, per esempio) pu? produrre un segnale di correzione della pendenza SC che ? fornito al circuito timer 2000, semplicemente arrotondando BC all?intero pi? vicino.
Correggere la pendenza di un segnale periodico corrisponde a variare la sua frequenza, cosicch? un errore sul periodo pu? essere convertito in un errore di frequenza FE (si veda la Figura 8):
Come rappresentato a titolo di esempio nella Figura 8, ci? pu? comportare di fornire:
un nodo di sottrazione 416,
un convertitore di segnale digitale 418 da s17/16 a s4/6,
un moltiplicatore a 4 bit 420.
Il fatto di usare un convertitore come 418 facilita l?uso di un moltiplicatore avente (soltanto) 4 bit, il che ha come risultato un risparmio di aria apprezzabile in confronto a un moltiplicatore che ha 16 bit (vale a dire, la dimensione del segnale originale). Si nota che la perdita di informazioni dovuta alla conversione ? trascurabile, nella misura in cui il segnale di errore presenta una dinamica ridotta (+/-0,1, per esempio).
Le Figure 9A e 9B rappresentano diagrammi sovrapposti che condividono una scala di tempo (ascissa) comune, in cui sono rappresentati possibili posizioni/comportamenti nel tempo per:
il segnale di ingresso RX avente fronti di bit in BE, il segnale di bit BT proveniente dal circuito timer 2000
la soglia di strobe ST applicata dal circuito generatore di bit-strobe 2008
il segnale di bit-strobe BS comprendente impulsi generati come risultato del fatto che il segnale di bit BT (un segnale a dente di sega, come rappresentato a titolo di esempio) raggiunge la soglia di strobe ST.
Le porzioni pi? a sinistra delle Figure 9A e 9B sono esempi di un errore totale TE con riferimento a un ?primo? fronte di discesa indicativo della condizione di inizio del frame (SOF).
Ci? pu? corrispondere, per esempio, al primo tempo misurato discusso precedentemente con riferimento alla fase 300 nella Figura 7 e a un tempo misurato corrispondente a 5,5 (questo ? un valore puramente esemplificativo).
Questo ? un esempio di un frame (comprendente cinque bit che hanno rispettivi fronti di bit BE rappresentati in linee tratteggiate) che si ? trovato che corrisponde a cinque periodi e mezzo (cio?, 5,5 periodi) del segnale a dente di sega proveniente dal circuito timer 2000.
Le porzioni centrali delle Figure 9A e 9B sono esempi di una (prima) fase di decodifica in 302 nella Figura 7 effettuata usando un primo valore (floor=0, per esempio), che ha come risultato sei impulsi di bit-strobe BS, vale a dire un conteggio di bit uguale a sei e un esito negativo corrispondente della verifica in una fase 304 della Figura 7.
Per semplicit?, le Figure 9A e 9B rappresentano solo la porzione iniziale dei frame. Siccome il decodificatore valuta un bit-stream differente da quello reale (per es., ?0111110...? invece di ?011110 ...?), il valore di CRC ?interno? sar? differente da quello del bit-stream e cos? la verifica di CRC fallir? (esito N della fase 304 nella Figura 7 - (CRC_OK=0)).
Per contro, le porzioni pi? a destra delle Figure 9A e 9B sono esempi di una (ulteriore) decodifica effettuata dopo una correzione della pendenza, come rappresentato a titolo di esempio dal blocco 308 nella Figura 7. Questa volta, il decodificatore valuter? un bit-stream corrispondente a quello reale e il valore di CRC ?interno? sar? uguale a quello del bit-stream e cos? la verifica di CRC avr? successo (esito Y della fase 304 nella Figura 7 -(CRC_OK=1)). Sar? cos? affermata una condizione di aggancio, come rappresentato a titolo di esempio dal blocco 306 nella Figura 7, con il segnale di conteggio di bit valutato successivamente arrotondando giusto il segnale del timer (circuito 412).
Un procedimento come rappresentato qui a titolo di esempio pu? comprendere:
ricevere (per esempio, 300, 2008) in un ricevitore (per esempio, 101, 102, ..., 10N) un segnale di ingresso (per esempio, RX) disposto in frame, i frame comprendendo almeno un campo (per esempio, CRCF) comprendente un certo numero di bit che hanno fronti di bit (per esempio, BE), produrre (per esempio, 302, 2000) in detto ricevitore un segnale di temporizzazione (per esempio, BT) comprendente forme d?onda che hanno una durata regolabile (per esempio, SC, 410) a uno tra un primo valore di durata (per esempio, 406) e un secondo valore di durata (per esempio, 408),
effettuare una verifica (per esempio, 304, 2006) del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit in dette trame di bit in detto segnale di ingresso ricevuto, di un numero di forme d?onda di detto segnale di temporizzazione che hanno detta durata regolata a uno tra detto primo valore di durata e detto secondo valore di durata che corrisponde a detto numero di bit che hanno fronti di bit,
produrre un segnale di verifica (per esempio, CRC) avente un primo valore (di superamento) (per esempio, Y) o un secondo valore (di fallimento) (per esempio, N) in funzione del fatto che detta verifica sia superata o fallita, e
come risultato del fatto che detto segnale di verifica ha detto primo valore, mantenere (per esempio, 306) la durata delle forme d?onda in detto segnale di temporizzazione regolata a detto uno tra detto primo valore di durata e detto secondo valore di durata,
come risultato del fatto che detto segnale di verifica ha detto secondo valore, riregolare (per esempio, 308) la durata delle forme d?onda in detto segnale di temporizzazione all?altro tra detto primo valore di durata e detto secondo valore di durata.
In un procedimento come rappresentato qui a titolo di esempio:
detto segnale di temporizzazione pu? comprendere un segnale a dente di sega comprendente forme d?onda a dente di sega con valori di pendenza regolabili a uno tra un primo valore di pendenza e un secondo valore di pendenza, e il procedimento pu? comprendere:
come risultato del fatto che detto segnale di verifica ha detto primo valore, mantenere detta pendenza delle forme d?onda a dente di sega regolata a detto uno tra detto primo valore di pendenza e detto secondo valore di pendenza, come risultato del fatto che detto segnale di verifica ha detto secondo valore, riregolare detta pendenza delle forme d?onda a dente di sega all?altro tra detto primo valore di pendenza e detto secondo valore di pendenza.
Un procedimento come rappresentato qui a titolo di esempio pu? comprendere, come risultato del fatto che detto segnale di verifica ha detto primo valore, arrotondare all?intero pi? vicino (per esempio, 412) il numero di forme d?onda (per esempio, BC) di detto segnale di temporizzazione che ricorrono sulla durata di detti frame di bit in detto segnale di ingresso ricevuto.
Un procedimento come rappresentato qui a titolo di esempio pu? comprendere:
produrre (per esempio, 402) un segnale di errore di temporizzazione (per esempio, TE) indicativo dell?offset di tempo di detto segnale di temporizzazione rispetto al segnale di ingresso ricevuto,
come risultato del fatto che detto segnale di verifica ha detto primo valore, produrre (per esempio, 2000) un segnale di strobe (per esempio, BS) per campionare detto segnale di ingresso, in cui la frequenza di detto segnale di strobe ? variata in funzione (si vedano, per esempio, 404, 406, 408, 410, 412, 414, 4461, 418, 420) di detto segnale di errore di temporizzazione avendo come obiettivo (vale a dire, avendo come target) di sincronizzare detto segnale di strobe con i fronti di bit in detto segnale di ingresso.
In un procedimento come rappresentato qui a titolo di esempio, produrre (2000) detto segnale di strobe pu? comprendere:
generare (per esempio, 406, 408, 410, 412, 414) un valore di conteggio (per esempio, BC) indicativo del numero di forme d?onda di detto segnale di temporizzazione che ricorrono sulla durata di detti frame di bit in detto segnale di ingresso ricevuto,
dividere (per esempio, 404) detto segnale di errore di temporizzazione per detto valore di conteggio per produrre un segnale di errore di temporizzazione sul bit,
variare la frequenza di detto segnale di strobe in funzione di detto segnale di errore di temporizzazione sul bit mirando a sincronizzare detto segnale di strobe con i fronti di bit in detto segnale di ingresso.
Un procedimento come rappresentato qui a titolo di esempio pu? comprendere di convertire (per esempio, 416, 418, 420) detto segnale di errore di temporizzazione sul bit in un segnale di errore di frequenza (per esempio, FE), in cui la frequenza di detto segnale di strobe ? variata in funzione di detto segnale di errore di frequenza.
In un procedimento come rappresentato qui a titolo di esempio, convertire detto segnale di errore di temporizzazione sul bit in un segnale di errore di frequenza pu? comprendere di ridurre la risoluzione di bit (per esempio, da s17/16 a S4/4) del risultato di detta divisione di detto segnale di errore di temporizzazione per detto valore di conteggio.
Un procedimento come rappresentato qui a titolo di esempio pu? comprendere, come risultato del fatto che detta verifica fallisce con detto segnale di verifica che ha detto secondo valore sopra un certo numero di detti frame, dichiarare uno stato di errore (per esempio, 310).
In un procedimento come rappresentato qui a titolo di esempio, detto almeno un campo (per esempio, CRCF) comprende un insieme di bit compresi tra due fronti di bit omologhi successivi in detto segnale di ingresso.
In un procedimento come rappresentato qui a titolo di esempio, detti due fronti di bit omologhi successivi in detto segnale di ingresso possono comprendere due fronti di discesa successivi in detto segnale di ingresso che non hanno alcun fronte di discesa tra loro.
In un procedimento come rappresentato qui a titolo di esempio:
detto segnale di ingresso pu? comprendere una sequenza di Verifica di Ridondanza Ciclica (CRC, ?Cyclic Redundancy Check?) in detto almeno un campo (per esempio, CRCF) comprendente un certo numero di bit che hanno fronti di bit,
detta verifica del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit in detti frame di bit in detto segnale di ingresso ricevuto, di detto numero di forme d?onda di detto segnale di temporizzazione pu? comprendere una verifica di ridondanza ciclica in funzione di detta sequenza di verifica di ridondanza ciclica (CRC).
Un circuito (per esempio, CDR) configurato per implementare un procedimento come rappresentato qui a titolo di esempio pu? comprendere:
una circuiteria ricevente (per esempio, 2008) configurata per ricevere detto segnale di ingresso disposto in frame comprendenti almeno un campo comprendente un certo numero di bit che hanno fronti di bit,
una circuiteria di timer (per esempio, 2000, 2002, 2004) configurata per produrre detto segnale di temporizzazione comprendente forme d?onda che hanno una durata regolabile a uno tra un primo valore di durata e un secondo valore di durata,
una circuiteria di verifica (per esempio, 2006) configurata per effettuare detta verifica del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit in detti frame di bit in detto segnale di ingresso ricevuto, di un numero di forme d?onda di detto segnale di temporizzazione che hanno detta durata regolata a uno tra detto primo valore di durata e detto secondo valore di durata che corrisponde a detto numero di bit che hanno fronti di bit (BE) e produrre detto segnale di verifica avente un primo valore o un secondo valore in funzione del fatto che detta verifica sia superata o fallita, e
detta circuiteria di timer configurata per mantenere la durata delle forme d?onda in detto segnale di temporizzazione regolata a detto uno tra detto primo valore di durata e detto secondo valore di durata o per riregolare la durata delle forme d?onda in detto segnale di temporizzazione all?altro tra detto primo valore di durata e detto secondo valore di durata come risultato del fatto che detto segnale di verifica ha detto primo valore o detto secondo valore, rispettivamente.
Un sistema (per esempio, 100) come rappresentato qui a titolo di esempio pu? comprendere una rete di dispositivi (per esempio, 101, 102, ?, 10N) accoppiati mediante un bus (per esempio, CANH, CANL) e configurati per scambiare sopra detto bus segnali di comunicazione disposti in frame, i frame comprendendo almeno un campo comprendente un certo numero di bit che hanno fronti di bit,
in cui i dispositivi in detta rete possono comprendere rispettivi circuiti (per esempio, CDR) configurati per ricevere detti segnali di comunicazione disposti in frame e produrre rispettivi segnali di temporizzazione agganciati in frequenza a detti segnali di comunicazione scambiati sopra detto bus.
In un sistema come rappresentato qui a titolo di esempio, detto bus pu? comprendere un bus CAN.
Fermi restando i principi di fondo, i dettagli e le forme di attuazione possono variare, anche in modo apprezzabile, rispetto a quanto ? stato descritto, puramente a titolo di esempio, senza uscire dall?ambito di protezione. L?ambito di protezione ? determinato dalle rivendicazioni annesse.
Claims (14)
1. Procedimento, comprendente:
ricevere (300, 2008) in un ricevitore (101, 102, ..., 10N) un segnale di ingresso (RX) disposto in frame, i frame comprendendo almeno un campo (CRCF) comprendente un certo numero di bit che hanno fronti di bit (BE),
produrre (302, 2000) in detto ricevitore (101, 102, ..., 10N) un segnale di temporizzazione (BT) comprendente forme d?onda che hanno una durata regolabile (SC, 410) a uno tra un primo valore di durata (406) e un secondo valore di durata (408),
effettuare una verifica (304, 2006) del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit (BE) in detti frame di bit in detto segnale di ingresso ricevuto (RX), di un numero di forme d?onda di detto segnale di temporizzazione (BT) che hanno detta durata regolata a uno tra detto primo valore di durata (406) e detto secondo valore di durata (408) che corrisponde a detto numero di bit che hanno fronti di bit (BE), produrre un segnale di verifica (CRC) avente un primo valore (Y) o un secondo valore (N) in funzione del fatto che detta verifica (304) sia superata o fallita, e
come risultato del fatto che detto segnale di verifica (CRC) ha detto primo valore (Y), mantenere (306) la durata delle forme d?onda in detto segnale di temporizzazione (BT) regolata a detto uno tra detto primo valore di durata (406) e detto secondo valore di durata (408),
come risultato del fatto che detto segnale di verifica (CRC) ha detto secondo valore (N), riregolare (308) la durata delle forme d?onda in detto segnale di temporizzazione (BT) all?altro tra detto primo valore di durata (406) e detto secondo valore di durata (408).
2. Procedimento secondo la rivendicazione 1, in cui: detto segnale di temporizzazione (BT) comprende un segnale a dente di sega (BT) comprendente forme d?onda a dente di sega con valori di pendenza regolabili (SC, 410) a uno tra un primo valore di pendenza (406) e un secondo valore di pendenza (408), e
il procedimento comprende:
come risultato del fatto che detto segnale di verifica (CRC) ha detto primo valore (Y), mantenere (306) detta pendenza delle forme d?onda a dente di sega (BT) regolata a detto uno tra detto primo valore di pendenza (406) e detto secondo valore di pendenza (408),
come risultato del fatto che detto segnale di verifica (CRC) ha detto secondo valore (N), riregolare (308) detta pendenza delle forme d?onda a dente di sega (BT) all?altro tra detto primo valore di pendenza (406) e detto secondo valore di pendenza (408).
3. Procedimento secondo la rivendicazione 1 o la rivendicazione 2, comprendente, come risultato del fatto che detto segnale di verifica (CRC) ha detto primo valore (Y), arrotondare all?intero pi? vicino (412) il numero di forme d?onda (BC) di detto segnale di temporizzazione (BT) che ricorrono sulla durata di detti frame di bit in detto segnale di ingresso ricevuto (RX).
4. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, comprendente:
produrre (402) un segnale di errore di temporizzazione (TE) indicativo dell?offset di tempo di detto segnale di temporizzazione (BT) rispetto al segnale di ingresso ricevuto (RX),
come risultato del fatto che detto segnale di verifica (CRC) ha detto primo valore (Y), produrre (2000) un segnale di strobe (BS) per campionare detto segnale di ingresso (RX), in cui la frequenza di detto segnale di strobe (BS) ? variata in funzione (404, 406, 408, 410, 412, 414, 4461, 418, 420) di detto segnale di errore di temporizzazione (TE) mirando a sincronizzare detto segnale di strobe (BS) con i fronti di bit (BE) in detto segnale di ingresso (RX).
5. Procedimento secondo la rivendicazione 4, in cui produrre (2000) detto segnale di strobe (BS) comprende:
generare (406, 408, 410, 412, 414) un valore di conteggio (BC) indicativo del numero di forme d?onda (BC) di detto segnale di temporizzazione (BT) che ricorrono sulla durata di detti frame di bit in detto segnale di ingresso ricevuto (RX),
dividere (404) detto segnale di errore di temporizzazione (TE) per detto valore di conteggio (BC) per produrre un segnale di errore di temporizzazione sul bit, variare la frequenza di detto segnale di strobe (BS) in funzione di detto segnale di errore di temporizzazione sul bit mirando a sincronizzare detto segnale di strobe (BS) con i fronti di bit (BE) in detto segnale di ingresso (RX).
6. Procedimento secondo la rivendicazione 5, comprendente convertire (416, 418, 420) detto segnale di errore di temporizzazione sul bit in un segnale di errore di frequenza (FE), in cui la frequenza di detto segnale di strobe (BS) ? variata in funzione di detto segnale di errore di frequenza (FE).
7. Procedimento secondo la rivendicazione 6, in cui convertire (416, 418, 420) detto segnale di errore di temporizzazione sul bit in un segnale di errore di frequenza (FE) comprende ridurre la risoluzione di bit (da s17/16 a S4/4) del risultato di detta divisione (404) di detto segnale di errore di temporizzazione (TE) per detto valore di conteggio (BC).
8. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, comprendente, come risultato del fatto che detta verifica (304) fallisce con detto segnale di verifica (CRC) che ha detto secondo valore (Y) sopra un certo numero di detti frame, dichiarare uno stato di errore (310).
9. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, in cui detto almeno un campo (CRCF) comprende un insieme di bit compresi tra due fronti di bit omologhi successivi in detto segnale di ingresso (RX).
10. Procedimento secondo la rivendicazione 9, in cui detti due fronti di bit omologhi successivi in detto segnale di ingresso (RX) comprendono due fronti di discesa successivi in detto segnale di ingresso (RX) che non hanno alcun fronte di discesa tra loro.
11. Procedimento secondo una qualsiasi delle rivendicazioni precedenti, in cui:
detto segnale di ingresso (RX) comprende una sequenza di verifica di ridondanza ciclica (CRC) in detto almeno un campo (CRCF) comprendente un certo numero di bit che hanno fronti di bit (BE),
detta verifica (304) del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit (BE) in detti frame di bit in detto segnale di ingresso ricevuto (RX), di detto numero di forme d?onda di detto segnale di temporizzazione (BT) comprende una verifica di ridondanza ciclica in funzione di detta sequenza di verifica di ridondanza ciclica (CRC).
12. Circuito (CDR) configurato per implementare il procedimento secondo una qualsiasi delle rivendicazioni da 1 a 11 e comprendente:
una circuiteria ricevente (2008) configurata per ricevere detto segnale di ingresso (RX) disposto in frame comprendenti almeno un campo (CRCF) comprendente un certo numero di bit che hanno fronti di bit (BE),
una circuiteria di timer (2000, 2002, 2004) configurata per produrre detto segnale di temporizzazione (BT) comprendente forme d?onda che hanno una durata regolabile (SC, 410) a uno tra un primo valore di durata (406) e un secondo valore di durata (408),
una circuiteria di verifica (2006) configurata per effettuare detta verifica (304) del ricorrere, sulla durata di detto numero di bit che hanno fronti di bit (BE) in detti frame di bit in detto segnale di ingresso ricevuto (RX), di un numero di forme d?onda di detto segnale di temporizzazione (BT) che hanno detta durata regolata a uno tra detto primo valore di durata (406) e detto secondo valore di durata (408) che corrisponde a detto numero di bit che hanno fronti di bit (BE) e produrre detto segnale di verifica (CRC) avente un primo valore (Y) o un secondo valore (N) in funzione del fatto che detta verifica (304) sia superata o fallita, e
detta circuiteria di timer (2000, 2002, 2004) configurata per mantenere la durata delle forme d?onda in detto segnale di temporizzazione (BT) regolata a detto uno tra detto primo valore di durata (406) e detto secondo valore di durata (408) o per riregolare (308) la durata delle forme d?onda in detto segnale di temporizzazione (BT) all?altro tra detto primo valore di durata (406) e detto secondo valore di durata (408) come risultato del fatto che detto segnale di verifica (CRC) ha detto primo valore (Y) o detto secondo valore (N), rispettivamente.
13. Sistema (100), comprendente una rete di dispositivi (101, 102, ?, 10N) accoppiati mediante un bus (CANH, CANL) e configurati per scambiare sopra detto bus (CANH, CANL) segnali di comunicazione (RX) disposti in frame, i frame comprendendo almeno un campo (CRCF) comprendente un certo numero di bit che hanno fronti di bit (BE),
in cui i dispositivi (101, 102, ?, 10N) in detta rete comprendono rispettivi circuiti (CDR) secondo la rivendicazione 12, detti rispettivi circuiti (CDR) configurati per ricevere (300) detti segnali di comunicazione (RX) disposti in frame e produrre (2000) rispettivi segnali di temporizzazione (BT) agganciati in frequenza a detti segnali di comunicazione (RX) scambiati sopra detto bus (CANH, CANL).
14. Sistema (100) secondo la rivendicazione 13, in cui detto bus (CANH, CANL) comprende un bus CAN.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102020000013222A IT202000013222A1 (it) | 2020-06-04 | 2020-06-04 | Procedimento di clock recovery, circuito e sistema corrispondenti |
EP21175058.3A EP3920460B1 (en) | 2020-06-04 | 2021-05-20 | Clock recovery method, corresponding circuit and system |
US17/335,336 US11637683B2 (en) | 2020-06-04 | 2021-06-01 | Clock recovery method, corresponding circuit and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT102020000013222A IT202000013222A1 (it) | 2020-06-04 | 2020-06-04 | Procedimento di clock recovery, circuito e sistema corrispondenti |
Publications (1)
Publication Number | Publication Date |
---|---|
IT202000013222A1 true IT202000013222A1 (it) | 2021-12-04 |
Family
ID=72087091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT102020000013222A IT202000013222A1 (it) | 2020-06-04 | 2020-06-04 | Procedimento di clock recovery, circuito e sistema corrispondenti |
Country Status (3)
Country | Link |
---|---|
US (1) | US11637683B2 (it) |
EP (1) | EP3920460B1 (it) |
IT (1) | IT202000013222A1 (it) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389548B1 (en) * | 1999-04-12 | 2002-05-14 | Liam Bowles | Pulse run-length measurement for HF data signal by dividing accumulated phase difference between first and second zero-crossings by single-cycle range using multiple cycle range sawtooth waveform |
WO2014191788A1 (en) * | 2013-05-29 | 2014-12-04 | Freescale Semiconductor, Inc. | A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network |
US20200076643A1 (en) * | 2018-08-28 | 2020-03-05 | Texas Instruments Incorporated | Controller area network receiver |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3323809B2 (ja) * | 1998-06-19 | 2002-09-09 | 松下電器産業株式会社 | 時分割多重無線通信方式の受信電界強度測定装置 |
US7940874B2 (en) * | 2005-05-02 | 2011-05-10 | Nxp B.V. | Receiver with adaptive strobe offset adjustment |
JP5751290B2 (ja) * | 2013-07-11 | 2015-07-22 | 株式会社デンソー | データ受信装置及び受信ビット列の同一値ビット長判定方法 |
US10614016B2 (en) * | 2015-10-20 | 2020-04-07 | Nxp B.V. | Controller area network (CAN) device and method for operating a CAN device |
-
2020
- 2020-06-04 IT IT102020000013222A patent/IT202000013222A1/it unknown
-
2021
- 2021-05-20 EP EP21175058.3A patent/EP3920460B1/en active Active
- 2021-06-01 US US17/335,336 patent/US11637683B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389548B1 (en) * | 1999-04-12 | 2002-05-14 | Liam Bowles | Pulse run-length measurement for HF data signal by dividing accumulated phase difference between first and second zero-crossings by single-cycle range using multiple cycle range sawtooth waveform |
WO2014191788A1 (en) * | 2013-05-29 | 2014-12-04 | Freescale Semiconductor, Inc. | A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network |
US20200076643A1 (en) * | 2018-08-28 | 2020-03-05 | Texas Instruments Incorporated | Controller area network receiver |
Also Published As
Publication number | Publication date |
---|---|
US20210385059A1 (en) | 2021-12-09 |
US11637683B2 (en) | 2023-04-25 |
EP3920460B1 (en) | 2022-11-02 |
EP3920460A1 (en) | 2021-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11558136B2 (en) | High speed embedded protocol for distributed control system | |
US9300421B2 (en) | Methods to achieve accurate time stamp in IEEE 1588 for system with FEC encoder | |
US20160094312A1 (en) | Confirming Data Accuracy in a Distributed Control System | |
US9118392B2 (en) | Isolated serializer-deserializer | |
EP3149897B1 (en) | High speed embedded protocol for distributed control system | |
US20210392065A1 (en) | Receive-side timestamp accuracy | |
US8566632B2 (en) | Multi-rate sampling for network receiving nodes using distributed clock synchronization | |
JP2010541298A (ja) | センサネットワークにおける時間同期に関する方法及びシステム | |
US20160087737A1 (en) | A network receiver for a network using distributed clock synchronization and a method of sampling a signal received from the network | |
US11228387B2 (en) | Time synchronization method and device | |
US20110026572A1 (en) | Baud rate error detection circuit and baud rate error detection method | |
CN104052588B (zh) | 用于为利用fec编码器的系统实现按ieee1588的精确时间戳的方法 | |
CN104144047A (zh) | 通信网络系统的同步方法、中间节点和从节点 | |
EP3005605B1 (en) | A network receiver for a network using distributed clock synchronization and a method of adjusting a frequency of an internal clock of the network receiver | |
IT202000013222A1 (it) | Procedimento di clock recovery, circuito e sistema corrispondenti | |
US8897289B2 (en) | Node system and supervisory node | |
JP2010074211A (ja) | クロック同期回路、電子制御ユニット、車載ネットワークシステム及びクロック同期方法 | |
JP6205152B2 (ja) | シリアル通信システム、受信装置およびシリアル通信方法 | |
JP2011045076A (ja) | ネットワークにおいて複数のタイミングマスターを検出するためのシステム及び方法 | |
JP4747085B2 (ja) | 誤り訂正符号回路 | |
Chen et al. | Research on FlexRay Bus Software Testing Technology Based on Data Acquisition and Analysis | |
CN118646504A (zh) | 一种时钟同步方法、装置、终端设备及工业网络系统 | |
JP2011041095A (ja) | 通信システム | |
CN116346271A (zh) | 用于提高ptp时间获取效率的方法和装置 | |
JP2002084268A (ja) | フレーム同期回路および同期方法、ならびにそのプログラムを記録した記録媒体 |