IT201600073087A1 - Circuito di ricezione, relativo circuito integrato e dispositivo - Google Patents

Circuito di ricezione, relativo circuito integrato e dispositivo

Info

Publication number
IT201600073087A1
IT201600073087A1 IT102016000073087A IT201600073087A IT201600073087A1 IT 201600073087 A1 IT201600073087 A1 IT 201600073087A1 IT 102016000073087 A IT102016000073087 A IT 102016000073087A IT 201600073087 A IT201600073087 A IT 201600073087A IT 201600073087 A1 IT201600073087 A1 IT 201600073087A1
Authority
IT
Italy
Prior art keywords
bits
data packet
packet format
receiver circuit
signal
Prior art date
Application number
IT102016000073087A
Other languages
English (en)
Inventor
Francesco Pappalardo
Giuseppe Notarangelo
Original Assignee
St Microelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by St Microelectronics Srl filed Critical St Microelectronics Srl
Priority to IT102016000073087A priority Critical patent/IT201600073087A1/it
Priority to US15/334,070 priority patent/US10135733B2/en
Priority to EP17176174.5A priority patent/EP3270533B1/en
Publication of IT201600073087A1 publication Critical patent/IT201600073087A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • H04L1/0053Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables specially adapted for power saving
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)

Description

"Circuito di ricezione, relativo circuito integrato e dispositivo"
TESTO DELLA DESCRIZIONE
Campo Tecnico
Le forme di attuazione della presente descrizione sono relative alle tecniche di comunicazione, in particolare per quanto riguarda un protocollo di comunicazione a potenza ultra-bassa e un rispettivo ricevitore.
Sfondo
La Figura 1 rappresenta un sistema di comunicazione generico comprendente un dispositivo trasmettitore 1 e un dispositivo ricevitore 2. Specificamente, nell'esempio considerato, il dispositivo trasmettitore 1 può trasmettere dati al dispositivo ricevitore 2 su un canale di comunicazione 3, che generalmente può essere un cavo, includendo anche fibre ottiche, o un canale di comunicazione senza fili ("wireless"). Generalmente, allo strato fisico, la comunicazione tra il dispositivo trasmettitore 1 e il dispositivo ricevitore 2 può anche usare una pluralità di canali di comunicazione paralleli, per es. una pluralità di linee di comunicazione, e/o la comunicazione può essere monodirezionale o bidirezionale secondo un dato protocollo di trasmissione.
Riguardo a ciò, un protocollo di telecomunicazione è identificato da un sistema di regole che consente a due o più entità di un sistema di comunicazione di comunicare tra loro al fine di trasmettere dati attraverso una variazione appropriata di una o più quantità fisiche.
Per esempio, la Figura 2 rappresenta un esempio nel quale il dispositivo trasmettitore 1 è un telecomando. Specificamente, nell'esempio considerato, il telecomando 1 comprende un trasmettitore wireless 10, quale ad esempio un fotodiodo all'infrarosso (IR). Similmente, il dispositivo ricevitore 2 può essere un apparato, quale ad esempio un televisore, un lettore DVD, ecc., comprendente un ricevitore wireless 20, quale ad esempio un diodo ricevitore a IR. Di conseguenza, nell'esempio considerato, il telecomando 1 può trasmettere dati di ingresso DI all'apparato 2 per mezzo del trasmettitore wireless 10 e del ricevitore wireless 20. Per esempio, i dati DI possono indicare un pulsante che è stato premuto sul telecomando 1.
Specificamente, come rappresentato nella Figura 3, un dispositivo trasmettitore 1 di solito comprende un circuito trasmettitore 12 configurato in modo da pilotare il trasmettitore 10 al fine di trasmettere dati di ingresso DI, di solito secondo un segnale di clock del trasmettitore. In modo complementare, il dispositivo ricevitore 2 comprende un circuito ricevitore 22 configurato in modo da ricevere il segnale dal ricevitore 20 e da determinare i dati DO trasmessi.
In molte applicazioni, sono richieste soluzioni di comunicazione efficienti e a potenza ultra-bassa, per es. perché il dispositivo ricevitore 2 è alimentato attraverso una batteria 24.
Tuttavia, soluzioni di trasmissione a potenza ultrabassa possono anche essere utili per apparati alimentati dalla rete elettrica. Per esempio, al fine di ricevere un comando di accensione dal telecomando 1, l'apparato 2, quale ad esempio un televisore, di solito può non essere completamente spento, ma deve rimanere in una modalità di stand-by, nella quale l'apparato 2 consuma ancora enerqia per alimentare il circuito ricevitore 22. Per contro, usando un circuito ricevitore 22 a potenza ultra-bassa, un piccolo accumulatore di enerqia 24, quale ad esempio una batteria ricaricabile, può essere caricato quando l'apparato 2 è acceso e, quando l'apparato 2 è spento, l'accumulatore di enerqia 24 può essere usato per alimentare il circuito ricevitore 22.
Inoltre, soluzioni di comunicazione a potenza ultrabassa sono anche utili per circuiti ricevitori 22, che possono essere alimentati attraverso il canale di comunicazione 3. Per esempio, nel caso dei cavi, alcune linee possono trasferire direttamente enerqia al ricevitore. Per contro, nel caso di una comunicazione wireless, quale ad esempio le comunicazioni a IR o a radiofrequenza (RF), può essere usato un circuito di raccolta ( "harvestinq") di enerqia 26. Specificamente, un tale circuito di harvestinq di enerqia 26 può essere confiqurato in modo da ottenere l'alimentazione per il circuito ricevitore 22 estraendo enerqia dalla comunicazione wireless, per es. la radiazione a infrarossi o l'onda radio.
Sintesi
In considerazione di quanto precede, uno scopo delle varie forme di attuazione della presente descrizione è di
fornire soluzioni che siano adatte per una comunicazione a potenza ultra-bassa.
Secondo una o più forme di attuazione, uno o più degli scopi precedenti sono raggiunti per mezzo di un circuito ricevitore avente gli elementi distintivi esposti specificamente nelle rivendicazioni che seguono. Le forme di attuazione concernono inoltre un relativo circuito integrato e apparato.
Le rivendicazioni sono parte integrante dell'insegnamento tecnico della descrizione qui fornita.
Come menzionato in precedenza, la presente descrizione è relativa a un circuito ricevitore per estrarre dati da un segnale dati seriale contenente un pacchetto di dati. Specificamente, il pacchetto di dati può avere almeno un primo o un secondo formato di pacchetto di dati in base a un segnale di selezione.
Come sarà descritto in seguito, in varie forme di attuazione, i pacchetti di dati della presente descrizione hanno una struttura particolare. Specificamente, il primo formato di pacchetto di dati ha un primo numero di bit e il secondo formato di pacchetto di dati ha un secondo numero di bit, in cui il secondo formato di pacchetto di dati comprende i bit del primo formato di pacchetto di dati seguiti da uno o più bit aggiuntivi.
In varie forme di attuazione, il circuito ricevitore comprende uno o più registri a scorrimento aventi un numero totale di bit che è uguale o maggiore del numero di bit del secondo formato di pacchetto di dati, cioè il formato più lungo, in cui ciascun registro a scorrimento comprende almeno un ingresso seriale.
In varie forme di attuazione, un circuito di commutazione è associato all'uno o più registri a scorrimento. Il circuito di commutazione è configurato in modo da connettere selettivamente il segnale dati seriale a uno degli ingressi seriali dell'uno o più registri a scorrimento in funzione del segnale di selezione. In questo caso, quando il segnale di selezione indica che il primo formato di pacchetto di dati è stato selezionato e una volta che sono stati ricevuti i rispettivi bit, i bit saranno memorizzati in date posizioni dell'uno o più registri a scorrimento. Inoltre, il circuito di selezione adatta la posizione di ingresso in modo tale che, quando il segnale di selezione indica che è stato selezionato il secondo formato di pacchetto di dati e una volta che sono stati ricevuti i rispettivi bit del secondo formato di pacchetto di dati, i bit del primo formato di pacchetto di dati inclusi nel secondo formato di pacchetto di dati saranno memorizzati nelle stesse posizioni come avverrebbe quando è selezionato il primo formato di pacchetto di dati.
Per esempio, in varie forme di attuazione, il circuito ricevitore comprende un singolo registro a scorrimento. In questo caso, quando è selezionato il primo formato di pacchetto di dati, il circuito di commutazione seleziona una prima posizione di ingresso di questo registro a scorrimento per la ricezione dei bit del segnale dati seriale. Per contro, quando è selezionato il secondo formato di pacchetto di dati, il circuito di commutazione seleziona una seconda posizione di ingresso di questo registro a scorrimento per la ricezione dei bit del segnale dati seriale, in cui la seconda posizione di ingresso corrisponde alla prima posizione di ingresso traslata del numero dei bit aggiuntivi introdotti alla fine del secondo formato di pacchetto di dati.
In altre forme di attuazione, il ricevitore comprende un primo e un secondo registro a scorrimento. In questo caso, il circuito di commutazione seleziona inizialmente una posizione di ingresso del primo registro a scorrimento (per es., la posizione del bit meno significativo) per la ricezione di un dato numero di bit del segnale dati seriale e, una volta che il dato numero di bit è stato ricevuto, il circuito di selezione seleziona una posizione di ingresso del secondo registro a scorrimento per la ricezione di ulteriori bit del segnale dati seriale.
Per esempio, in varie forme di attuazione, il primo registro ha un numero di bit corrispondente al numero di bit del primo formato di pacchetto di dati, in modo tale che i bit del primo formato di pacchetto di dati siano caricati nel primo registro a scorrimento e che i bit aggiuntivi introdotti alla fine del secondo formato di pacchetto di dati siano caricati nel secondo registro a scorrimento (nel caso in cui sia selezionato il secondo formato di pacchetto di dati).
In altre forme di attuazione, il primo registro ha un numero di bit che è minore del numero di bit del primo formato di pacchetto di dati. In questo caso, una volta che il primo registro a scorrimento è completo e quando è selezionato il primo formato di pacchetto di dati, il circuito di commutazione seleziona una prima posizione di ingresso del secondo registro a scorrimento per la ricezione degli ulteriori bit del segnale dati seriale. Per contro, quando è selezionato il secondo formato di pacchetto di dati, il circuito di commutazione seleziona una seconda posizione di ingresso del secondo registro a scorrimento per la ricezione degli ulteriori bit del segnale dati seriale, in cui la seconda posizione di ingresso corrisponde alla prima posizione di ingresso traslata del numero dei bit aggiuntivi introdotti alla fine del secondo formato di pacchetto di dati.
Come sarà descritto in seguito, l'uso di due registri a scorrimento è utile al fine di determinare il segnale di selezione in funzione dei bit memorizzati nel primo registro a scorrimento.
In varie forme di attuazione, il primo formato di pacchetto di dati comprende un dato numero di bit che sono assegnati a un campo di dati e un dato numero di bit che sono assegnati a un campo di indirizzo, e in cui uno o più dei bit aggiuntivi sono assegnati al campo di indirizzo, aumentando con ciò il numero totale di bit del campo di indirizzo. In questo caso, il circuito ricevitore può comprendere un circuito di verifica dell'indirizzo configurato in modo da confrontare i bit memorizzati nell'uno o più registri a scorrimento e che sono assegnati al campo di indirizzo con uno o più indirizzi di riferimento.
In varie forme di attuazione, il primo formato di pacchetto di dati inizia con un preambolo avente un dato numero di bit. In questo caso, il circuito ricevitore può comprendere un circuito di verifica del preambolo configurato in modo da confrontare i bit memorizzati nell'uno o più registri a scorrimento e che sono assegnati al preambolo con uno o più preamboli di riferimento.
In varie forme di attuazione, il primo formato di pacchetto di dati comprende un dato numero di bit di controllo degli errori calcolati in base al contenuto dei bit del pacchetto di dati. In varie forme di attuazione, uno o più dei bit aggiuntivi possono essere bit di controllo degli errori aggiuntivi. In questo caso, il circuito ricevitore può comprendere un circuito di controllo degli errori configurato in modo da calcolare i bit di controllo degli errori di riferimento in base al contenuto dell'uno o più registri a scorrimento, e generare un segnale che indica se i bit memorizzati nell'uno o più registri a scorrimento e che sono dei bit di controllo degli errori corrispondono ai bit di controllo degli errori di riferimento.
Breve descrizione delle figure
Le forme di attuazione della presente descrizione saranno ora descritte con riferimento ai disegni annessi, che sono forniti puramente a titolo di esempio non limitativo, e nei quali:
- le Figure 1, 2 e 3 rappresentano tipici sistemi di comunicazione;
- le Figure da 4a a 4d rappresentano un esempio di un protocollo di comunicazione;
- le Figure da 5a a 5d rappresentano una prima forma di attuazione di un protocollo di comunicazione secondo la presente descrizione;
- le Figure da 6a a 6d rappresentano una seconda forma di attuazione di un protocollo di comunicazione secondo la presente descrizione;
- le Figure da 7a a 7d rappresentano una terza forma di attuazione di un protocollo di comunicazione secondo la presente descrizione; e
- le Figure 8, da 9a a 9d, da 10a a lOd, 11, 12, 13, 14, 15, 16, da 17a a 17c e 18 rappresentano varie forme di attuazione di circuiti ricevitori secondo la presente descrizione.
Descrizione Dettagliata
Nella descrizione che segue, sono dati numerosi dettagli specifici per ffornire una comprensione approfondita delle forme di attuazione. Le forme di attuazione possono essere attuate senza uno o vari dettagli specifici o con altri procedimenti, componenti, materiali, ecc. In altri casi, operazioni, materiali o strutture ben note non sono rappresentate o descritte in dettaglio in modo da evitare di rendere poco chiari gli aspetti delle forme di attuazione.
Un riferimento a "una forma di attuazione" in tutta questa descrizione significa che una particolare caratteristica, elemento distintivo o struttura descritta con riferimento alla forma di attuazione è inclusa in almeno una forma di attuazione. Così, le comparse delle frasi "in una forma di attuazione" in vari punti in tutta questa descrizione non fanno necessariamente riferimento tutte alla stessa forma di attuazione. Inoltre, le particolari caratteristiche, elementi distintivi o strutture possono essere combinate in un modo adeguato qualsiasi in una o più forme di attuazione.
Le intestazioni fornite qui sono semplicemente per convenienza e non interpretano l'ambito o il significato delle forme di attuazione.
Nelle seguenti Figure da 4 a 18 le parti, gli elementi o i componenti che sono già stati descritti con riferimento alle Figure da 1 a 3 sono indicati con gli stessi riferimenti usati precedentemente in tali Figure; la descrizione di tali elementi descritti precedentemente non sarà ripetuta in seguito al fine di non sovraccaricare la presente descrizione dettagliata.
Come menzionato in precedenza, varie forme di attuazione della presente descrizione sono relative a soluzioni che sono adatte per una comunicazione a potenza
ultra-bassa, cioè un sistema con consumo di potenza "vicino a zero" quando è in una modalità di stand-by. Di conseguenza, le soluzioni qui descritte possono essere usate in un circuito ricevitore 22a da usare, per es., nell'apparato 2 descritto in precedenza. Possibili applicazioni includono così l'effettuazione di un controllo da remoto a potenza ultra-bassa, includendo l'identificazione a radiofrequenza o RFID ( "Radio-Frequency IDentification") per le applicazioni di casa intelligente ("smart home") e di edificio intelligente ("smart building") .
Come menzionato in precedenza, un protocollo di telecomunicazione fornisce regole, includendo la sintassi, la semantica e la sincronizzazione di comunicazione e possibili procedimenti di recupero di errori, che consentono a due o più entità di un sistema di comunicazione di comunicare tra loro al fine di trasmettere informazioni attraverso una variazione di una o più quantità fisiche. Ci possono essere molti livelli di complessità dei protocolli atti a gestire le informazioni scambiate tra due dispositivi (in una modalità cablata o wireless). La complessità è di solito collegata alla natura e alla quantità dei dati di comunicazione che devono essere trasferiti: questo genera e caratterizza le regole e le convenzioni che possono essere impostate per definire in modo appropriato il protocollo stesso. In un sistema di comunicazione digitale, queste regole sono genericamente strutturate e impacchettate con l'obiettivo finale di renderle un linguaggio portabile da integrare in un progetto custom. Indipendentemente dalla complessità del protocollo, alcune proprietà basilari sono spesso usate per stabilire una comunicazione.
Le Figure da 4a a 4d rappresentano a questo riguardo possibili pacchetti di dati per un protocollo di comunicazione seriale e la Figura 14 rappresenta una possibile forma di attuazione di un rispettivo circuito ricevitore 22a configurato in modo da determinare i dati DO trasmessi sopra un canale di comunicazione wireless o su filo ("wired") elaborando un segnale ricevuto RX fornito da un ricevitore 20, quale ad esempio un ricevitore a RF o a IR, o un qualsiasi altro ricevitore per una comunicazione wireless o su filo. Di conseguenza, il pacchetto di dati può essere usato per trasmettere i dati DI dal circuito trasmettitore 12 al circuito ricevitore 22a.
Generalmente, il circuito ricevitore 22a comprende un circuito di elaborazione digitale 224 e ha associato qualche tipo di alimentatore, quale ad esempio una batteria e/o un convertitore elettronico alimentato dalla rete elettrica. Per esempio, nella forma di attuazione rappresentata nella Figura 14, il circuito ricevitore 22a può avere associato ad esso un modulo di controllo dell'alimentazione o un circuito di harvesting di energia 26 configurato in modo da ottenere la tensione di alimentazione VDD per il circuito ricevitore 22a dal canale di comunicazione, per es. estraendo energia da una radiazione a IR o un'onda a RF.
Nella forma di attuazione considerata, le stringhe di bit che compongono il messaggio digitale, cioè il pacchetto di dati, sono divise in campi e ciascun campo trasporta informazioni utili e ben definite. Inoltre, i vari campi appartengono di solito a un'intestazione ("header") HD o a un carico utile ("payload") PL. Per esempio, l'intestazione HD contiene di solito i campi con più utilità per il protocollo, cioè le informazioni richieste per trasmettere i dati a un dato ricevitore 22a, mentre il carico utile contiene i dati da trasmettere.
Per esempio, nelle forme di attuazione considerate, l'intestazione HD inizia con un preambolo PRE opzionale che consiste di una sequenza fissa di NPREbit di sincronizzazione. Il preambolo PRE di solito è richiesto per le comunicazioni seriali al fine di segnalare l'inizio di una nuova comunicazione. Per esempio, il preambolo PRE può essere un singolo bit che è impostato a un dato valore logico. Per esempio, in modo simile a una comunicazione basata su UART, il preambolo PRE può consistere di un singolo bit di inizio che è posto, per es., a "basso".
Un preambolo PRE che consiste di una sequenza più lunga può essere utile al fine di effettuare una operazione di recupero del clock e dei dati (CDR, "Clock and Data Recovery"), cioè una operazione usata per allineare il segnale di clock del ricevitore 2 con il segnale di clock del trasmettitore 1.
Per esempio, nella forma di attuazione rappresentata nella Figura 14, il circuito ricevitore 22a può comprendere un circuito di recupero del clock e dei dati 226 configurato in modo da recuperare un segnale dati seriale SDÌ e il segnale di clock del ricevitore RX_CLK dal segnale ricevuto RX, cioè, nel caso di una trasmissione di dati, il segnale SDÌ conterrà in sequenza i bit del pacchetto di dati, partendo di solito dal bit più significativo (MSB, "Most Significant Bit").
Specificamente, tale CDR 226 permette di estrarre la sequenza di dati trasmessi dal segnale ricevuto RX distorto e di recuperare il segnale di clock RX_CLK associato. Per esempio, il circuito CDR 226 può comprendere un circuito di recupero del clock configurato in modo da rilevare le transizioni nel segnale dati ricevuto RX e da generare un clock RX_CLK periodico. In generale, esistono due tipi di circuiti di recupero del clock e dei dati 226: i circuiti di recupero del clock e dei dati che funzionano con un segnale di clock di riferimento, generato per es. da un oscillatore 228, e i circuiti di recupero del clock e dei dati che funzionano senza un segnale di clock di riferimento. Spesso il circuito 226 comprende anche un circuito di decisione, quale ad esempio uno o più flipflop, per es. dei flip-flop D, connessi in cascata, che campionano il segnale dati ricevuto RX secondo il segnale di clock recuperato RX_CLK. Di conseguenza, il segnale dati SDÌ campionato all'uscita del circuito 226 di solito ha meno jitter, skew e/o rumore. A questo scopo si può fare riferimento, per es., al documento di Ming-ta Hsieh e Gerald E. Sobelman, "Archi tectures for Mul ti -Gigabi t Wire-Linked Clock and Data Recovery", IEEE Circuits and Systems Magazine, dicembre 2008, che presenta le topologie basilari dei circuiti CDR, che è incorporato qui tramite citazione. Per esempio, nella forma di attuazione considerata, è usato un preambolo PRE con NPRE= 1 bit.
In varie forme di attuazione, il circuito ricevitore 22a, in particolare il circuito di elaborazione digitale 224, può anche determinare se il preambolo PRE è corretto, per es. confrontando il preambolo PRE con un preambolo di riferimento PRE_CFG. Generalmente, il preambolo di riferimento PRE_CFG può essere fissato all'interno del circuito di elaborazione digitale 224 o può essere fornito al circuito di elaborazione 224 da un modulo ulteriore. Per esempio, nella forma di attuazione rappresentata nella Figura 14, il preambolo di riferimento PRE_CFG è fornito da una memoria 230. In generale, la memoria 230 può essere una memoria volatile, quale ad esempio un registro programmato per mezzo del microprocessore dell'apparato ricevitore, o una memoria non volatile, comprendendo anche una memoria OTP (One-Time-Programmable).
Nella forma di attuazione considerata, l'intestazione HD comprende inoltre un campo di indirizzo A avente un dato numero di bit NA. Specificamente, il campo di indirizzo A può essere usato per identificare il mittente e/o il destinatario previsto (i destinatari previsti), cioè l'indirizzo del mittente e/o l'indirizzo target. Per esempio, nella forma di attuazione considerata, il campo di indirizzo A può contenere l'indirizzo di un ricevitore o di un gruppo di ricevitore. Di conseguenza, l'indirizzo A consente ai ricevitori di determinare se le stringhe di bit successive sono inviate a loro stessi e dovrebbero essere elaborate, o dovrebbero essere ignorate. In generale, alcuni valori di indirizzo possono anche avere un significato speciale e così possono essere riservati, cioè questi indirizzi non identificano un trasmettitore o dei ricevitori .
Di conseguenza, in varie forme di attuazione, il circuito ricevitore 22a, in particolare il circuito di elaborazione digitale 224, può essere configurato in modo da determinare se l'indirizzo A corrisponde a uno o più indirizzi di riferimento A_CFG. In modo simile al preambolo di riferimento PRE_CFG, gli indirizzi di riferimento A_CFG possono essere fissati all'interno del circuito di elaborazione 224 o possono essere forniti al circuito di elaborazione 224 da un modulo ulteriore. Per esempio, nella forma di attuazione rappresentata nella Figura 14, uno o più indirizzi di riferimento A_CFG sono forniti dalla memoria 230, che di nuovo può essere una memoria volatile o una memoria non volatile. In generale, anche una prima parte (per es., i primi 8 bit) dell'indirizzo di riferimento A_CFG potrebbe essere fissa e una seconda parte (per es., gli 8 bit rimanenti) potrebbe essere programmabile .
In varie forme di attuazione, la dimensione dell'indirizzo, cioè il numero di bit NAdell'indirizzo A, è variabile al fine di rendere conforme il protocollo di comunicazione a differenti capacità del sistema e/o a molteplici aree di applicazione. Per esempio, nella forma di attuazione considerata, il campo di indirizzo A ha 16 bit. Per contro, le Figure 4b, 4c e 4d rappresentano il rispettivo pacchetto di dati con campi di indirizzo A che hanno una lunghezza di 12, 10 e 8 bit.
Per esempio, nella forma di attuazione rappresentata nella Figura 14, è usato un segnale di selezione dell'indirizzo AS per indicare quale lunghezza di indirizzo dovrebbe essere usata. Per esempio, nella forma di attuazione considerata, il segnale di selezione dell'indirizzo AS può comprendere due bit al fine di selezionare tra una lunghezza di indirizzo di 16, 12, 10 o 8 bit.
Per esempio, nella forma di attuazione rappresentata nella Figura 14, il segnale di selezione dell'indirizzo AS è fornito dalla memoria 230, che di nuovo può essere una memoria volatile o una memoria non volatile. Per esempio, in varie forme di attuazione, il preambolo di riferimento e il segnale di selezione dell'indirizzo AS sono impostati una volta (per es., dal produttore del circuito ricevitore 22a), mentre l'indirizzo di riferimento A_CFG del circuito ricevitore 22a può essere impostato dinamicamente almeno in parte (per es., dal produttore del completo apparato ricevitore), per es. programmando la memoria 230.
Generalmente, la lunghezza NAdel campo di indirizzo A può anche essere determinata dinamicamente in base a una data sequenza di bit nell'intestazione HD. Per esempio, differenti preamboli PRE possono essere usati per differenti lunghezze di indirizzo o i primi bit del campo di indirizzo A possono rappresentare il segnale di selezione dell'indirizzo AS. Per esempio, i primi due bit dell'indirizzo A possono essere usati al fine di selezionare tra una lunghezza di indirizzo di 8, 10, 12 o 16 bit.
Per contro, la trama ("frame") di dati/carico utile PL include le informazioni digitali DAT (per es., i dati di ingresso DI rappresentati nella Figura 3, e possibili altri dati) da trasmettere, quali dati, codici di comando di istruzioni e/o di impostazione di configurazione, che consentono all'apparato ricevitore di eseguire un'operazione definita. Per esempio, nella forma di attuazione considerata, il campo di dati DAT consiste di ND= 4 bit, che possono indicare il pulsante premuto su un telecomando 1. Di conseguenza, nella forma di attuazione considerata, un televisore o un altro apparato ricevitore possono essere accesi includendo uno degli indirizzi A_CFG del ricevitore 22a del rispettivo apparato ricevitore nel campo di indirizzo A e il codice del pulsante di accensione nel campo di dati DAT.
Per i canali di comunicazione, che non possono garantire un funzionamento privo di errori, può essere richiesta la rilevazione degli errori di trasmissione. Per questo motivo, in varie forme di attuazione, può essere aggiunto un numero NPdi bit aggiuntivi P, per es. alla fine del pacchetto, permettendo con ciò un controllo di ridondanza ciclico (CRC, "Cyclic Redundancy Check") o un controllo di parità, il che rende possibile che il circuito ricevitore 22a rilevi le differenze introdotte nel pacchetto di dati dagli errori di comunicazione. Per esempio, in questo caso, il circuito ricevitore 22a può rifiutare il pacchetto e/o disporre una ritrasmissione.
In generale, il numero NPdi bit P di controllo degli errori può anche variare in base al numero di bit da verificare. Per esempio, nella forma di attuazione considerata, escludendo il preambolo, a ogni quattro bit da controllare è associato un rispettivo bit di parità P. Per questo motivo, il pacchetto rappresentato nella Figura 4a può comprendere 5 bit P, i pacchetti rappresentati nelle Figure 4b e 4c possono comprendere 4 bit P e il pacchetto rappresentato nella Figura 4d può comprendere 3 bit P.
I pacchetti possono anche essere persi o soffrire di lunghi ritardi. Per fare fronte a ciò, in varie forme di attuazione, il circuito trasmettitore può attendere un riscontro ( "acknowledgment") della ricezione corretta dal circuito ricevitore 22a entro un certo ammontare di tempo. Ai timeout, il circuito trasmettitore può ipotizzare che il pacchetto non è stato ricevuto e può ritrasmetterlo. Nel caso di un collegamento interrotto in modo permanente, la ritrasmissione non ha alcun effetto, così il numero di ritrasmissione di solito è limitato. In questo caso, superare il limite di ritentativi può essere considerato come un errore di comunicazione.
Gli inventori hanno osservato che il protocollo di comunicazione rappresentato nelle Figure da 4a a 4d ha vari svantaggi .
Specificamente, a causa del fatto che il campo di indirizzo A può avere lunghezze differenti, la posizione del carico utile, includendo il campo di dati DAT ed eventualmente i bit P, cambia. Di conseguenza, è richiesta una logica di multiplazione complessa, per es. al fine di selezionare i bit corretti come i bit di dati DAT.
Le Figure 5a e 5b rappresentano a questo riguardo una prima forma di attuazione di pacchetti di dati modificati che sono atti a trasmettere lo stesso contenuto dei rispettivi pacchetti di dati rappresentati nelle Figure da 4a a 4d.
Come rappresentato in precedenza, il segnale di selezione dell'indirizzo AS può essere considerato come un segnale di selezione del formato di pacchetto di dati, che seleziona tra una pluralità di differenti formati di pacchetti di dati aventi un numero totale di bit NPFdifferente.
In generale, ciascun pacchetto di dati comprende:
- uno o più campi con un numero fisso di bit, quali il preambolo PRE opzionale e il campo di dati DAT, e
- uno o più campi con un numero variabile di bit, quali il campo di indirizzo A e la sequenza di bit opzionale per il controllo degli errori P, in cui il numero di questi bit è tuttavia fisso per ciascun formato di pacchetto.
Inoltre, quando si confrontano i vari formati di pacchetti di dati rappresentati nelle Figure da 4a a 4d, il numero di bit dei campi con numero variabile, cioè l'indirizzo A e i bit di controllo di errore P, non diminuisce mai.
Di conseguenza, in varie forme di attuazione, quando si passa a un formato di pacchetto che ha un più grande numero di bit, i bit aggiuntivi sono trasmessi alla fine del pacchetto di dati.
Per esempio, nella forma di attuazione considerata nelle Figure da 5a a 5d sono supportati di nuovo quattro formati di pacchetto per i campi di indirizzo con una lunghezza di 8, 10, 12 e 16 bit. Nella forma di attuazione considerata, il più corto pacchetto di dati BP1 è rappresentato nella Figura 5d e corrisponde sostanzialmente al pacchetto di dati rappresentato nella Figura 4d, cioè il pacchetto di dati BP1 comprende in sequenza: il preambolo opzionale (per es. avente NPRE= 7 bit), uno o più sottocampi di indirizzo Al e A2 (per es., aventi un totale di NA= 8 bit), un campo di dati DAT (per es., avente ND= 4 bit), e dei bit di controllo di errore P opzionali (per es., NP= 3 bit PI, P2 e P3). Per esempio, nella forma di attuazione considerata, il più corto pacchetto di dati BP1 ha un totale di NPF= 21 bit.
Tuttavia, quando si cambia al successivo formato di pacchetto più lungo, la struttura di pacchetto dei primi bit corrisponde sempre alla struttura di pacchetto del formato più corto precedente e i bit aggiuntivi sono aggiunti alla fine del pacchetto di dati.
Per esempio, nella forma di attuazione considerata, il successivo formato di pacchetto di dati BP2 rappresentato nella Figura 5c supporterebbe campi di indirizzo che hanno un totale di NA= 10 bit e di NP= 4 bit di controllo di errore P. Di conseguenza, devono essere trasmessi due bit di indirizzo aggiuntivi e un bit di controllo di errore P4 aggiuntivo. Come menzionato in precedenza, questi bit aggiuntivi sono trasmessi alla fine del pacchetto di dati. Per esempio, come rappresentato nella Figura 5c, i primi bit del pacchetto di dati BP2 corrispondono al pacchetto di dati BP1 seguito dal bit di controllo di errore P4 aggiuntivo e da un sotto-campo di indirizzo A3 aggiuntivo che ha due bit.
Similmente, nella forma di attuazione considerata, il prossimo formato di pacchetto di dati BP3 rappresentato nella Figura 5b supporterebbe campi di indirizzo che hanno un totale di NA= 12 bit e di NP= 4 bit di controllo di errore P. Di conseguenza, devono essere trasmessi due bit di indirizzo aggiuntivi. Di nuovo, questi bit di indirizzo sono trasmessi alla fine del pacchetto di dati, cioè i primi bit del pacchetto di dati BP3 corrispondono al pacchetto di dati BP2 seguito da un sotto-campo di indirizzo A3' aggiuntivo che ha due bit.
Infine, il successivo formato di pacchetto di dati rappresentato nella Figura 5a supporta campi di indirizzo che hanno un totale di NA= 16 bit e di NP= 5 bit di controllo di errore P. Di conseguenza, devono essere trasmessi quattro bit di indirizzo aggiuntivi e un bit di controllo di errore P5 aggiuntivo. Per esempio, come rappresentato nella Figura 5a, i primi bit del pacchetto di dati possono corrispondere al pacchetto di dati BP3 seguito dal bit di controllo di errore P5 aggiuntivo e da un sottocampo di indirizzo A4 aggiuntivo che ha quattro bit.
Così, i formati di pacchetti di dati rappresentati nelle Figure da 5a a 5d permettono di trasmettere lo stesso contenuto dei formati di pacchetti di dati rappresentati nelle Figure da 4a a 4d, e cambia soltanto la posizione dei vari bit all'interno del pacchetto di dati.
Le Figure da 6a a 6d rappresentano una seconda forma di attuazione dei formati di pacchetti di dati, in cui il più corto pacchetto di dati BP1, cioè il pacchetto di dati per i campi di indirizzo A con una lunghezza di 3⁄4 = 8 bit, ha un formato differente. Specificamente, nella forma di attuazione considerata, il pacchetto di dati BP1 comprende in sequenza: il preambolo opzionale (per es., avente NPRE= 7 bit), il campo di dati DAT (per es., avente ND= 4 bit), uno o più sotto-campi di indirizzo Al e A2 (per es., aventi un totale di 3⁄4 = 8 bit), e dei bit di controllo di errore P opzionali (per es., NP= 3 bit PI, P2 e P3). Di conseguenza, è cambiata semplicemente la posizione dei bit di dati DAT e dei bit di indirizzo A1/A2 nel pacchetto di dati rappresentato nella Figura 6d. Anche in questo caso, i formati di pacchetti di dati più lunghi comprendono all'inizio i bit del formato di pacchetto di dati precedente e alla fine i bit aggiuntivi alla fine. Di conseguenza, la rispettiva descrizione non sarà ripetuta e si può fare riferimento alla descrizione delle Figure da 5a a 5c.
Le Figure da 7a a 7d rappresentano una terza forma di attuazione dei formati di pacchetti di dati, in cui il più corto pacchetto di dati BP1 ha un formato differente. Specificamente, nella forma di attuazione considerata i bit di controllo di errore PI, P2 e P3 sono intercalati tra il campo di dati DAT e il campo di indirizzo A, per es. all'inizio del campo di dati DAT, il primo sotto-campo di indirizzo Al (per es., avente 4 bit) e il secondo sottocampo di indirizzo A2 (per es., avente 4 bit). Anche in questo caso, i più lunghi formati di pacchetti di dati comprendono all'inizio i bit del formato di pacchetto di dati precedente e alla fine i bit aggiuntivi alla fine. Di conseguenza, la rispettiva descrizione non sarà ripetuta e si può fare riferimento alla descrizione delle Figure da 5a a 5c.
In generale, il protocollo di comunicazione descritto in precedenza supporta almeno due formati di pacchetti di dati aventi un numero di bit differente. Specificamente, il più corto formato di pacchetto di dati (per es., BP1) comprende una pluralità di campi, ciascun campo del più corto formato di pacchetto di dati avendo un dato numero di bit, e il più lungo formato di pacchetto di dati (per es., BP2) contiene all'inizio i bit del formato di pacchetto di dati più corto e alla fine almeno un bit aggiuntivo che è associato ad almeno un campo del formato di pacchetto di dati più corto, aumentando con ciò il numero di bit del rispettivo campo. Per esempio, nelle forme di attuazione considerate, il numero di bit NAdel campo di indirizzo A è aumentato in questo modo.
Come menzionato in precedenza, i formati di pacchetti di dati rappresentati nelle Figure 5, 6 e 7 hanno lo stesso numero di bit dei rispettivi formati di pacchetti di dati rappresentati nella Figura 4 e cambia soltanto la posizione dei bit. Tuttavia, i formati di pacchetti di dati modificati permettono una implementazione più efficiente del circuito di elaborazione digitale 224 usato per determinare i dati DO trasmessi in base al segnale dati seriale SDÌ (o direttamente il segnale ricevuto RX).
Per esempio, come rappresentato nella Figura 8, il circuito di elaborazione può comprendere un registro a scorrimento REG avente un numero di bit NREGcorrispondente al numero di bit NPFdel più lungo formato di pacchetto di dati supportato, per es. 32 bit per le forme di attuazione considerate in precedenza.
Tuttavia, invece di caricare semplicemente i dati di ingresso seriali SDÌ nel registro a scorrimento, il registro ha associati a esso uno o più multiplatori 200 configurati in modo da selezionare la posizione di ingresso del registro REG in cui è caricato il segnale dati seriale SDÌ. Specificamente, nella forma di attuazione considerata, la selezione è effettuata in base al segnale AS, cioè il segnale di selezione del formato di pacchetto di dati/lunghezza di indirizzo.
Nella forma di attuazione considerata, il multiplatore (i multiplatori) 200 è configurato (sono configurati) in modo da selezionare la posizione di ingresso per caricare il registro a scorrimento REG alla posizione di bit POS seguente:
POS = NREG- NPF(1) dove NPFcorrisponde al numero di bit del formato di pacchetto di dati selezionato. Per esempio:
- quando la lunghezza dell'indirizzo A è selezionata come NA= 16 bit ( NPF= 32), la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 0, cioè il 1° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 12 bit ( NPF= 27), la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 5, cioè il 6° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 10 bit {NPF= 25), la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 7, cioè l'8° registro; e
- quando la lunghezza dell'indirizzo A è selezionata come NA= 8 bit ( NPF= 22), la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 10, cioè l'll° registro.
A questo riguardo, si può osservare che, quando si cambia al successivo formato di pacchetto più lungo, la posizione di ingresso del registro a scorrimento REG è traslata del numero dei bit aggiuntivi aggiunti alla fine del formato di pacchetto più lungo.
Di conseguenza, nelle forme di attuazione considerate, i bit ricevuti sono caricati in sequenza secondo il segnale di clock RX_CLK nel registro a scorrimento REG e, una volta che sono stati ricevuti tutti i bit di un pacchetto di dati, cioè gli NPFbit, i rispettivi bit sono sempre situati nei bit più significativi del registro a scorrimento REG, mentre i bit meno significativi possono rimanere vuoti, cioè i bit che sono associati al più corto formato di pacchetto di dati BP1 e che sono inclusi all'inizio di tutti gli altri formati di pacchetti di dati sono sempre caricati nei bit più significativi del registro REG.
Inoltre, come rappresentato nelle Figure da 9a a 9d, i bit sono sempre caricati nella stessa posizione, per es. il preambolo PRE è sempre nelle posizioni [31:25] e il campo di dati DAT è sempre nelle posizioni [23:19]. Similmente, i sotto-campi Al e A2 dell'indirizzo A sono sempre rispettivamente nelle posizioni [18:15] e [13:10]. Di conseguenza, grazie allo specifico formato di pacchetto di dati usato e alla selezione della posizione dell'ingresso seriale del registro a scorrimento REG, le posizioni dei bit rimangono invariate e semplicemente i bit meno significativi del registro a scorrimento REG sono riempiti selettivamente con i bit aggiuntivi introdotti con i formati di pacchetti di dati più lunghi. Per esempio, nella Figura 9c il bit di controllo di errore P4 e il sotto-campo A3 dell'indirizzo A sono caricati rispettivamente nelle posizioni [9] e [8:7]. Similmente, i due bit aggiuntivi del sotto-campo A3' dell'indirizzo A sono caricati nelle posizioni [6:5]. Infine, il bit di controllo di errore P5 e il sotto-campo A4 dell'indirizzo A sono caricati nelle posizioni [4] e [3:0] nella Figura 9a. Nel caso in cui i rispettivi bit non siano trasmessi, le rispettive posizioni rimangono invariate, per es. rimangono impostate a "0".
Questo è anche evidenziato nelle Figure da 10a a lOd che rappresentano possibili operazioni di carico del registro a scorrimento REG per i differenti formati di pacchetto.
Specificamente, nell'esempio considerato nella Figura 10a, i bit del registro a scorrimento REG sono posti tutti a "0" a un tempo T0, che corrisponde così a una condizione di reset. Inoltre, nella Figura IOa è selezionato il più lungo formato di pacchetto, cioè 16 bit di indirizzo, e la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 0.
A un tempo T0, è ricevuto il primo bit (cioè, il primo bit di preambolo), che è caricato così nella posizione di bit 0. Durante i cicli di clock seguenti, sono ricevuti i bit successivi e i bit sono traslati dalla posizione di ingresso agli MSB bit del registro a scorrimento. Per esempio, al tempo T12, sono stati ricevuti 12 bit e il contenuto del registro a scorrimento potrebbe essere "0000000 00000 00000 00001 10110 10111". L'operazione procede finché sono stati ricevuti tutti i bit a un tempo T32 (cioè, dopo 32 cicli di clock) e il contenuto del registro a scorrimento è, per es., "0110110 10111 10001 00110 10010 01100". Di conseguenza, nell'esempio considerato, il pacchetto di dati rappresentato nelle Figure da 7a a 7d avrebbe il contenuto seguente:
- preambolo PRE: "0110110";
- campo di dati DAT: "Olii" che corrisponde a un codice esadecimale "7";
- campo di indirizzo A: "0001 0110 0010 1100" che corrisponde a un codice esadecimale "162C"; e
- bit di controllo di errore P: "11010".
Similmente, la Figura 10b rappresenta un esempio per una lunghezza di indirizzo di 12 bit, dove la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 5. In questo caso, il pacchetto di dati contiene soltanto 27 bit, cioè tutti i bit sono stati ricevuti a un tempo T27 e il contenuto del registro a scorrimento è, per es., "011011010111 10111 00110 10010 01100 00000". Di conseguenza, nell'esempio considerato, il pacchetto di dati rappresentato nelle Figure da 7a a 7d avrebbe il contenuto seguente:
- preambolo PRE: "0110110";
- campo di dati DAT: "Olii" che corrisponde a un codice esadecimale "7";
- campo di indirizzo A: "0110 0010 1100 0000" che corrisponde a un codice esadecimale "62C0", con gli ultimi quattro bit che sono inutilizzati; e
- bit di controllo di errore P: "10100", con l'ultimo bit di controllo di errore che è inutilizzato.
Similmente, la Figura 10c rappresenta un esempio per una lunghezza di indirizzo di 10 bit, dove la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 7. In questo caso, il pacchetto di dati contiene soltanto 25 bit, cioè tutti i bit sono stati ricevuti a un tempo T25 e il contenuto del registro a scorrimento è, per es., "011011010111 10111 11000 11011 OOOOO 00000". Di conseguenza, nell'esempio considerato, il pacchetto di dati rappresentato nelle Figure da 7a a 7d avrebbe il contenuto seguente:
- preambolo PRE: "0110110";
- campo di dati DAT: "Olii" che corrisponde a un codice esadecimale "7";
- campo di indirizzo A: "1000 1011 0000 0000" che corrisponde a un codice esadecimale "8B00", con gli ultimi sei bit che sono inutilizzati; e
- bit di controllo di errore P: "11100", con l'ultimo bit di controllo di errore che è inutilizzato.
Infine, la Figura lOd rappresenta un esempio per una lunghezza di indirizzo di 8 bit, dove la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 10. In questo caso, il pacchetto di dati contiene soltanto 22 bit, cioè tutti i bit sono stati ricevuti a un tempo T22 e il contenuto del registro a scorrimento è, per es., "011011010111 10111 10010 01100 00000 00000". Di conseguenza, nell'esempio considerato, il pacchetto di dati rappresentato nelle Figure da 7a a 7d avrebbe il contenuto seguente:
- preambolo PRE: "0110110";
- campo di dati DAT: "Olii" che corrisponde a un codice esadecimale "7";
- campo di indirizzo A: "0010 1100 0000 0000" che corrisponde a un codice esadecimale "2C00", con gli ultimi otto bit che sono inutilizzati; e
- bit di controllo di errore P: "11000", con gli ultimi due bit di controllo di errore che sono inutilizzati .
L'uso di un registro a scorrimento REG, invece di una memoria FIFO (First-In First-Out) completa ha il vantaggio che non è richiesta alcuna logica di controllo FIFO complessa. Inoltre, i bit nel registro a scorrimento REG possono essere elaborati completamente in parallelo.
Per esempio, come rappresentato nella Figura 11, il circuito ricevitore 22a, in particolare il circuito di elaborazione digitale 224, può comprendere un circuito di verifica del preambolo 202 configurato in modo da generare un segnale PRE_OK che indica se il preambolo PRE ricevuto (se supportato dal formato di pacchetto di dati) corrisponde al preambolo di riferimento PRE_CFG. A questo scopo, il circuito 202 può eseguire semplicemente un confronto a livello di bit tra i primi NPREbit memorizzati nel registro REG, per es. 7 bit per l'esempio di preambolo, e i bit del preambolo di riferimento PRE_CFG.
Similmente, il circuito ricevitore 22a, in particolare il circuito di elaborazione digitale 224, può comprendere un circuito di verifica dell'indirizzo 204 configurato in modo da generare un segnale ADDR_OK che indica se l'indirizzo A ricevuto corrisponde all'indirizzo di riferimento A_CFG. In generale, il circuito 204 può anche confrontare in sequenza o in parallelo l'indirizzo A ricevuto con una pluralità di indirizzi di riferimento A_CFG.
In varie forme di attuazione, il circuito 202 effettua a questo scopo un confronto a livello di bit tra i bit assegnati al campo di indirizzo del più lungo formato di pacchetto di dati, cioè i sotto-campi Al, A2, A3, A3' e A4 che hanno un totale di NA= 16 bit, e i bit dell'indirizzo di riferimento A_CFG, che ha anche 16 bit. Di conseguenza, impostando i bit inutilizzati dell'indirizzo di riferimento A_CFG al valore di reset del registro REG, il confronto sarà effettuato per i bit di indirizzo ricevuti, mentre il confronto per i bit "vuoti" sarà intrinsecamente positivo. In generale, il circuito di verifica dell'indirizzo 204 potrebbe anche ricevere il segnale AS ed effettuare il confronto soltanto per i bit di indirizzo effettivamente ricevuti, riducendo con ciò il rischio che un utente configuri incidentalmente un segnale di riferimento di indirizzo A_CFG che ha il contenuto errato per i bit di indirizzo che sono inutilizzati nel formato di pacchetto di dati selezionato.
Similmente, la Figura 12 rappresenta una forma di attuazione di un circuito di controllo di errore 206. Specificamente, nella forma di attuazione considerata, il circuito di controllo di errore 206 riceve in ingresso il campo di dati DAT, il campo di indirizzo A (includendo i sotto-campi Al, A2, A3, A3' e A4) e i bit di controllo di errore P.
Di conseguenza, nella forma di attuazione considerata, il circuito di controllo di errore 206 esegue la stessa operazione già eseguita nel circuito trasmettitore al fine di calcolare i bit di controllo di errore P per il campo di dati DAT ricevuto e il campo di indirizzo A ricevuto e confronta quindi i bit di controllo di errore calcolati con i bit di controllo di errore P ricevuti (per es., i bit Pi, P2, P3, P4 e P5 rispettivamente nelle posizioni di bit [24], [19], [14], [9] e [4]).
Per esempio, nella forma di attuazione considerata, i bit di controllo di errore P sono bit di parità. In generale, i bit di parità P possono essere un bit di parità pari o un bit di parità dispari. Nel caso di parità pari, è contato il numero dei bit il cui valore è "1" in un dato insieme. Se quel totale è dispari, il valore del bit di parità è impostato a 1, rendendo il conteggio totale degli "1" nell'insieme un numero pari. Se il conteggio degli uno in un dato insieme di bit è già pari, il valore del bit di parità rimane "0". Nel caso di parità dispari, la situazione è invertita. Invece, se la somma dei bit con un valore di "1" è dispari, il valore del bit di parità è impostato a zero. E, se la somma dei bit con un valore di "1" è pari, il valore del bit di parità è impostato a "1", rendendo il conteggio totale degli "1" nell'insieme un numero dispari. Di conseguenza, la parità pari è un caso speciale di un controllo di ridondanza ciclico (CRC), dove il CRC di 1 bit è generato dal polinomio x+1.
Per esempio, nella forma di attuazione considerata, i bit di parità P sono assegnati nel modo seguente:
- bit di parità PI per il campo di dati DAT,
- bit di parità P2 per il sotto-campo di indirizzo Al, - bit di parità P3 per il sotto-campo di indirizzo A2, - bit di parità P4 per la combinazione del sotto-campo di indirizzo A3 e del sotto-campo di indirizzo A3', e
- bit di parità P5 per il sotto-campo di indirizzo A4. Di conseguenza, nella forma di attuazione considerata, ciascun bit di parità è assegnato a una sequenza univoca di quattro bit.
Di conseguenza, rispettivi circuiti di controllo di parità 208, 210, 212, 214 e 216 possono essere usati rispettivamente per calcolare separatamente i bit di parità per il campo di dati DAT, il sotto-campo di indirizzo Al, il sotto-campo di indirizzo A2, la combinazione del sottocampo di indirizzo A3 e del sotto-campo di indirizzo A3' e il sotto-campo di indirizzo A4, e per determinare se i bit di parità calcolati corrispondono ai rispettivi bit di parità ricevuti. Per esempio, nella forma di attuazione considerata, i circuiti 208, 210, 212, 214 e 216 generano rispettivi segnali DAT_OK, Al_OK, A2_OK, A3_OK e A4_OK che indicano se il campo di dati DAT, il sotto-campo di indirizzo Al, il sotto-campo di indirizzo A2, la combinazione del sotto-campo di indirizzo A3 e del sottocampo di indirizzo A3' e il sotto-campo di indirizzo A4 ricevuti sono corretti.
Di conseguenza, può essere usato un ulteriore circuito 218 per combinare logicamente i segnali DAT_OK, A1_0K, A2_0K, A3_0K e A4_0K al fine di generare un segnale P_OK che indica che i dati DAT e l'indirizzo A ricevuti non contengono errori.
Generalmente, il circuito di controllo di errore 206 può anche eseguire operazioni più complesse, per es. al fine di recuperare gli errori per mezzo di Codici di Reed Solomon. Tuttavia, nel caso di una comunicazione a potenza ultra-bassa, un semplice controllo di parità può essere sufficiente .
Nella forma di attuazione considerata, il campo di dati DAT ha una lunghezza fissa di NDbit. Di conseguenza, il contenuto di questo campo DAT, per es. i bit [23:20] nell'esempio della forma di attuazione, può essere letto in parallelo per mezzo di un segnale di uscita dati parallelo PDO. Generalmente, il campo di dati DAT può anche essere letto in sequenza per NDcicli di clock per mezzo di un segnale di uscita dati seriale SDO che è connesso al primo bit del campo di dati DAT (per es., il bit [23]).
Per esempio, come rappresentato nella Figura 13, un circuito logico 220, quale ad esempio una porta logica AND, può essere usato per generare un segnale di abilitazione EN che indica se i dati DAT ricevuti dovrebbero essere elaborati dall'apparecchio ricevitore, per es. perché il preambolo non contiene errori (segnale PRE_OK), i dati DAT e l'indirizzo A ricevuti non contengono errori (segnale P_OK) e l'indirizzo A ricevuto corrisponde a uno degli indirizzi A_CFG assegnati al circuito ricevitore (segnale ADDR_OK) . Per esempio, il segnale EN può essere usato per memorizzare il segnale dati parallelo PDO in un registro 222 (che ha per es. 4 bit). In questo caso, l'uscita del registro 222 può fornire i dati DO trasmessi.
Di conseguenza, nelle forme di attuazione descritte in precedenza, il circuito di elaborazione digitale 224 riceve e decodifica i bit di dati e di indirizzo provenienti da un ricevitore 20, quale ad esempio un modulatore a radiofrequenza. Il circuito di elaborazione digitale 224 supporta dimensioni di indirizzo variabili (16, 12, 10 e 8 bit) e i rispettivi indirizzi di riferimento A_CFG possono essere preconfigurati, per es. per mezzo di una memoria one-time-programmable 230 basata su celle anti-fuse, o ricevuti da un circuito di elaborazione ulteriore. In varie forme di attuazione, il circuito di elaborazione digitale 224 è atto a rilevare errori nei bit di dati e di indirizzo .
Il meccanismo proposto e il relativo circuito digitale hardware sono così flessibili, veloci e semplici con risorse computazionali ottimizzate nei termini dell'area del microcircuito integrato ("chip") e del consumo di potenza. In effetti, lo stesso circuito hardware può essere usato per dimensioni di indirizzo variabili senza dovere aggiungere una logica ulteriore.
La Figura 15 rappresenta una seconda forma di attuazione del circuito ricevitore.
Specificamente, nella forma di attuazione sono usati due registri a scorrimento REGa e REGb invece del singolo registro a scorrimento REG rappresentato nelle Figure da 8 a 10.
Più in particolare, il primo registro a scorrimento REGa è usato per memorizzare i bit del più corto formato di pacchetto BP1 e il secondo registro a scorrimento REGb è usato per memorizzare i bit aggiuntivi quando è selezionato un formato di pacchetto più lungo BP2, BP3 o BP4, cioè i bit aggiuntivi dei sotto-campi di indirizzo A3, A3' e A4 e i bit di controllo di errore aggiuntivi P4 e P5. Di conseguenza, nella forma di attuazione considerata, il registro REGb ha 10 bit, e il registro REGb ha 22 bit, per esempio numerati [31:10] giusto per convenienza.
Specificamente, nella forma di attuazione considerata, un primo multiplatore 200a è usato per connettere selettivamente il segnale dati seriale SDÌ all'ingresso seriale del registro REGa o all'ingresso seriale del registro REGb in funzione di un segnale REGa_LC che indica se il registro REGa è stato caricato completamente oppure no. Specificamente, quando il segnale REGa_LC indica che il registro REGa non è stato caricato completamente, il segnale dati seriale SDÌ è connesso all'ingresso seriale del registro REGa, in particolare al bit meno significativo (per es., il bit 10 per l'esempio di numerazione di bit), e i bit entranti sono caricati in sequenza nel registro a scorrimento REGa. Per contro, quando il segnale REGa_LC indica che il registro REGa è stato caricato completamente, il segnale dati seriale SDÌ è connesso all'ingresso seriale del registro REGb e gli eventuali bit entranti ulteriori sono caricati in sequenza nel registro a scorrimento REGb.
Tuttavia, in questo caso, la posizione di ingresso seriale del registro REGb non è fissata, ma è determinata (in modo simile al registro REG) per mezzo di uno o più multiplatori 200b in funzione del segnale AS. Per esempio, nella forma di attuazione considerata, il multiplatore (i multiplatori) 200b è configurato (sono configurati) in modo da selezionare la posizione di ingresso per caricare il registro a scorrimento REGb nella posizione di bit POS seguente:
POS = NREGb- ( Npp - NREGa) (2) dove NPFcorrisponde al numero di bit del formato di pacchetto di dati selezionato, e NREGae NREGbsono rispettivamente il numero di bit dei registri REGa e REGb. Per esempio, considerando NREGa= 22 e NREGb= 10:
- quando la lunghezza dell'indirizzo A è selezionata come NA= 16 bit {NPF= 32), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 0, cioè il 1° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 12 bit {NPF= 27), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 5, cioè il 6° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 10 bit {NPF= 25), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 7, cioè 1'8° registro; e
- quando la lunghezza dell'indirizzo A è selezionata come NA= 8 bit {NPF= 22), la posizione dell'ingresso del registro a scorrimento sarebbe impostata a 10, cioè l'll° registro, che tuttavia non esiste, perché in questo caso non ci si aspetta in effetti alcun bit aggiuntivo.
Così, anche in questo caso, quando si cambia al successivo formato di pacchetto più lungo, la posizione di ingresso del registro a scorrimento REGb è traslata del numero dei bit aggiuntivi aggiunti alla fine del formato di pacchetto più lungo.
La Figura 16 rappresenta una forma di attuazione simile, nella quale, tuttavia, soltanto un sottoinsieme dei bit del più corto formato di pacchetto BP1 sono memorizzati nel registro REGa, cioè il numero di bit NREGaè minore del numero di bit del formato di pacchetto BP1, mentre la somma NREGa+ NREGacorrisponde ancora al numero di bit del più lungo formato di pacchetto BP4.
Per esempio, nella forma di attuazione considerata, soltanto il preambolo PRE, il primo bit di controllo di errore PI e il campo di dati DAT sono memorizzati nel registro REGa e i bit rimanenti sono memorizzati nel registro REGb, cioè NREGa= 12 e NREGb= 20. Di conseguenza, in questo caso, i primi 12 bit sono caricati nel registro REGa e, una volta che il segnale REGa_LC indica che il registro REGa è completamente caricato, i bit seguenti sono caricati nel registro REGb, in cui la posizione di ingresso del registro REGb è selezionata per mezzo del multiplatore 200b secondo l'Equazione (2), cioè:
- quando la lunghezza dell'indirizzo A è selezionata come NA= 16 bit [NPP= 32), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 0, cioè il 1° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 12 bit [NPP= 27), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 5, cioè il 6° registro;
- quando la lunghezza dell'indirizzo A è selezionata come NA= 10 bit ( NPF= 25), la posizione dell'ingresso del registro a scorrimento REGb sarebbe impostata a 7, cioè 1'8° registro; e
- quando la lunghezza dell'indirizzo A è selezionata come NA= 8 bit [NPP= 22), la posizione dell'ingresso del registro a scorrimento sarebbe posta 10, cioè l'll° registro.
Di nuovo, quando si cambia al successivo formato di pacchetto più lungo, la posizione di ingresso del registro a scorrimento REGb è traslata del numero dei bit aggiuntivi aggiunti alla fine del formato di pacchetto più lungo.
La parte di elaborazione del contenuto dei registri REGa e REGb può rimanere invariata in confronto alle forme di attuazione che hanno solo un singolo registro REG. Di conseguenza, si può fare riferimento alle Figure 11, 12 e 13 e alla rispettiva descrizione, che mostra come può essere elaborato il contenuto dei rispettivi bit/campi memorizzati ora nei registri REGa e REGb, in particolare per quanto riguarda la verifica del preambolo (blocco 202), la verifica dell'indirizzo (blocco 204) e la funzione di controllo degli errori (blocco 206).
Come menzionato in precedenza, il segnale REGa_LC indica se il registro REGa è stato caricato completamente oppure no. Nelle forme di attuazione rappresentate nelle Figure 15 e 16, questo può essere ottenuto per mezzo di un contatore 232 configurato in modo da determinare se un valore di conteggio (che è incrementato ogni volta che è ricevuto un nuovo bit) ha raggiunto il numero di bit NREGadel registro REGa (per es., 22 per la Figura 15 e 12 per la Figura 16), in cui il segnale REGa_LC è impostato:
- a un primo valore logico, per es. basso, quando il valore di conteggio è minore del numero di bit NREGare
- a un secondo valore logico, per es. alto, quando il valore di conteggio è maggiore o uguale al numero di bit
NREGa ·
Le Figure da 17a a 17c rappresentano invece forme di attuazione nelle quali il segnale REGa è determinato direttamente in funzione del contenuto del registro REGa.
Specificamente, nella forma di attuazione rappresentata nella Figura 17a, un bit LC aggiuntivo è aggiunto nel registro a scorrimento REGa come il bit MSB (per es., [32] nella forma di attuazione considerata). In questo caso, quando il registro a scorrimento è resettato, tutti i bit sono impostati a un primo valore logico, per es. basso, eccetto il bit LSB (per es., [20] nella forma di attuazione considerata), che è impostato a un secondo valore logico, per es. alto. Di conseguenza, quando i dati sono ricevuti sequenzialmente attraverso l'ingresso seriale del registro a scorrimento REGa, il bit con il secondo valore logico è traslato dalla posizione del bit meno significativo alla posizione del bit più significativo. Di conseguenza, è sufficiente determinare il segnale REGa_LC in funzione del contenuto del bit LC MSB (per es., [32] nella forma di attuazione considerata). Per esempio, nella forma di attuazione considerata, il segnale REGa_LC corrisponde direttamente al contenuto del bit LC nel registro REGa.
Per contro, la Figura 17b rappresenta una forma di attuazione nella quale non è aggiunto alcun bit LC aggiuntivo, ma il contenuto atteso del registro REGa è usato per determinare il segnale REGa_LC. Per esempio, considerando l'esempio di preambolo precedente "0110110", il secondo bit di preambolo può essere usato come indicatore per quanto riguarda se il registro REGa è stato caricato completamente, cioè il segnale REGa_LC può essere determinato in funzione del secondo bit di preambolo (per es., [30] nella forma di attuazione considerata). Per esempio, nella forma di attuazione considerata, il segnale REGa_LC corrisponde direttamente al contenuto del secondo bit di preambolo, che dovrebbe essere alto quando il registro REGa è stato caricato completamente.
Tuttavia, questa forma di attuazione ha lo svantaggio che la sequenza di preambolo di riferimento PRE_CFG non può essere cambiata, e gli errori nella comunicazione possono anche innescare il segnale REGa_LC.
Di conseguenza, la Figura 17c rappresenta una forma di attuazione nella quale è verificato il campo di preambolo PRE completo e il segnale REGa_LC è asserito per mezzo di un blocco 202 soltanto quando il campo di preambolo (per es., i bit [31:15] nella forma di attuazione considerata) corrisponde al preambolo di riferimento PRE_CFG. Questa forma di attuazione non aggiunge alcun costo operativo ("overhead"), perché il circuito di verifica del preambolo 202 può già essere usato per controllare il campo di preambolo (si veda la Figura 11). In effetti, in questo caso è sufficiente determinare il segnale REGa_LC in funzione del segnale di verifica del preambolo PRE_OK.
L'uso di vari registri a scorrimento ha il vantaggio che, una volta che è stato ricevuto un dato numero di bit iNREGa ) ril contenuto del registro REGa rimane stabile, mentre ulteriori bit possono ancora essere ricevuti e memorizzati nel registro REGb.
Questo comportamento può così essere usato per determinare il formato di pacchetto usato, per es. la lunghezza NAdel campo di indirizzo A e di conseguenza il segnale AS, in base al contenuto dei dati trasmessi già memorizzati nel registro REGa.
Per esempio, nella forma di attuazione rappresentata nella Figura 15, il segnale di selezione dell'indirizzo AS può essere determinato in funzione dei sotto-campi di indirizzo Al e/o A2. Per esempio, il segnale AS può corrispondere ai primi due bit del sotto-campo di indirizzo Al (per es., i bit [18:17] nella forma di attuazione considerata) .
Per contro, la Figura 18 rappresenta una forma di attuazione nella quale il formato di pacchetto BP1 (e di conseguenza anche i formati più lunghi da BP2 a BP4) comprende un campo di selezione dell'indirizzo AS aggiuntivo (per es., i bit [26:25] nella forma di attuazione considerata) ed eventualmente un rispettivo bit di parità PO (per es., il bit [19] nella forma di attuazione considerata). In questo caso, il registro REGa deve avere un numero di bit sufficiente al fine di ricevere anche questo campo di selezione dell'indirizzo, e il campo di selezione dell'indirizzo AS (e i possibili bit di controllo di errore PO) preferibilmente segue immediatamente il preambolo PRE.
Come menzionato prima, possono anche essere usati differenti preamboli PRE per differenti lunghezze di indirizzo. Per esempio, in questo caso, un insieme di circuiti di verifica del preambolo 202 potrebbero essere usati al fine di confrontare (in modo simile alla Figura 17c) il contenuto del campo di preambolo PRE memorizzato nel registro REGa con rispettivi preamboli di riferimento PRE_CFG, uno per ciascun possibile formato di pacchetto (da BP1 a BP4), per es. quattro circuiti di verifica del preambolo 202 con un rispettivo preambolo di riferimento PRE_CFG differente. Di conseguenza, soltanto uno dei circuiti di verifica del preambolo 202 indicherebbe un preambolo corretto e questo segnale può essere usato (in modo simile a una codifica di tipo "one-hot") al fine di determinare il segnale di selezione dell'indirizzo AS.
In generale, il circuito ricevitore 22a estrae così i dati DO da un segnale dati seriale SDÌ che contiene un pacchetto di dati. Il pacchetto di dati può avere un primo o un secondo formato di pacchetto di dati (per esempio, BP1 o BP2) in base al segnale di selezione AS. In varie forme di attuazione, il circuito ricevitore 22a comprende uno o più registri a scorrimento che hanno un numero di bit totale che è maggiore o uguale al numero di bit del secondo/più lungo formato di pacchetto di dati. Questo ricevitore comprende inoltre un circuito di commutazione 200, 200a/200b associato ai registri a scorrimento, che è configurato in modo da connettere selettivamente il segnale dati seriale SDÌ a uno degli ingressi seriali in funzione del segnale di selezione AS.
Specificamente, nella forma di attuazione rappresentata nella Figura 8, è usato un singolo registro a scorrimento REG, mentre nelle forme di attuazione rappresentate nelle Figure 15, 16 e 18 sono usati due registri a scorrimento. In entrambe le forme di attuazione, quando è stato selezionato il primo formato di pacchetto di dati BP1 e una volta che sono stati ricevuti i bit del pacchetto di dati, i rispettivi bit sono caricati/memorizzati in posizioni date dei registri a scorrimento. Tuttavia, quando è stato selezionato il secondo formato di pacchetto di dati BP2 e una volta che sono stati ricevuti i bit del pacchetto di dati, il circuito di commutazione assicura che i bit del primo formato di pacchetto di dati BP1 che sono inclusi nel secondo formato di pacchetto di dati (BP2) siano di nuovo caricati/memorizzati nelle stesse posizioni dei registri a scorrimento.
Per esempio, nella forma di attuazione rappresentata nella Figura 8, una prima posizione di ingresso del registro a scorrimento REG è selezionata per la ricezione dei bit del segnale dati seriale SDÌ quando è selezionato il primo formato di pacchetto BP1. Per contro, quando è stato selezionato il secondo formato di pacchetto di dati BP2, è selezionata una seconda posizione di ingresso per la ricezione dei bit, in cui la seconda posizione di ingresso corrisponde alla prima posizione di ingresso traslata del numero dei bit aggiuntivi introdotti nel secondo formato di pacchetto di dati.
Per contro, nelle Figure 15, 16 e 18, una posizione di ingresso del primo registro a scorrimento REGa è selezionata per la ricezione di un dato numero di bit del segnale dati seriale SDÌ e, una volta che è stato ricevuto il dato numero di bit, una posizione di ingresso del secondo registro a scorrimento REGb è selezionata per la ricezione dei bit ulteriori.
Specificamente, nella Figura 15, il primo registro a scorrimento REGa ha un numero di bit corrispondente al numero di bit del primo formato di pacchetto di dati BP1 e i bit del primo formato di pacchetto di dati BP1 sono caricati sempre nel primo registro a scorrimento REGa ed eventuali bit aggiuntivi del secondo formato di pacchetto di dati sono caricati nel secondo registro a scorrimento REGb.
Per contro, nella Figura 16, il primo registro REGa ha un numero di bit che è minore del numero di bit del primo formato di pacchetto di dati BP1. In questo caso, il circuito di commutazione seleziona una prima posizione di ingresso del secondo registro a scorrimento REGb per la ricezione di ulteriori bit secondo il primo formato di pacchetto di dati BP1, e una seconda posizione di ingresso per la ricezione di ulteriori bit secondo il secondo formato di pacchetto di dati BP2, in cui la seconda posizione di ingresso corrisponde alla prima posizione di ingresso traslata del numero dei bit aggiuntivi introdotti nel secondo formato di pacchetto di dati BP2.
Naturalmente, fermi restando i principi di fondo dell'invenzione, i dettagli di costruzione e le forme di attuazione possono variare, anche in modo apprezzabile, rispetto a quanto è stato descritto e illustrato qui, puramente a titolo di esempio, senza uscire con ciò dall'ambito della presente invenzione, come definita dalle rivendicazioni che seguono.

Claims (15)

  1. RIVENDICAZIONI 1. Circuito ricevitore (22a) per estrarre dati (DO) da un segnale dati seriale (SDÌ) contenente un pacchetto di dati, in cui detto pacchetto di dati ha un primo (BP1) o un secondo (BP2) formato di pacchetto di dati in base a un segnale di selezione (AS), in cui detto primo formato di pacchetto di dati (BP1) ha un primo numero di bit e detto secondo formato di pacchetto di dati (BP2) ha un secondo numero di bit, in cui detto secondo formato di pacchetto di dati (BP2) comprende i bit di detto primo formato di pacchetto di dati (BP1) seguiti da uno o più bit aggiuntivi, in cui detto circuito ricevitore (22a) comprende: - uno o più registri a scorrimento (REG; REGa, REGb) che hanno un numero di bit totale che è maggiore o uguale al numero di bit di detto secondo formato di pacchetto di dati (BP2), ciascun detto registro a scorrimento (REG) comprendendo almeno un ingresso seriale; - un circuito di commutazione (200; 200a, 200b) associato a detti uno o più registri a scorrimento (REG; REGa, REGb) e configurato in modo da connettere selettivamente detto segnale dati seriale (SDÌ) a uno di detti ingressi seriali di detti uno o più registri a scorrimento (REG; REGa, REGb) in funzione di detto segnale di selezione (AS), in cui: a) quando detto segnale di selezione (AS) indica che è stato selezionato detto primo formato di pacchetto di dati (BP1) e una volta che sono stati ricevuti i bit di detto primo formato di pacchetto di dati (BP1), i bit di detto primo formato di pacchetto di dati (BP1) sono memorizzati in posizioni date di detti uno o più registri a scorrimento (REG; REGa, REGb), e b) quando detto segnale di selezione (AS) indica che è stato selezionato detto secondo formato di pacchetto di dati (BP2) e una volta che sono stati ricevuti i bit di detto secondo formato di pacchetto di dati (BP2), i bit di detto primo formato di pacchetto di dati (BP1) inclusi in detto secondo formato di pacchetto di dati (BP2) sono memorizzati in dette posizioni date di detti uno o più registri a scorrimento (REG; REGa, REGb).
  2. 2. Circuito ricevitore secondo la Rivendicazione 1, comprendente un singolo registro a scorrimento (REG) e in cui detto circuito di commutazione (200) è configurato in modo da: a) quando detto segnale di selezione (AS) indica che è stato selezionato detto primo formato di pacchetto di dati (BP1), selezionare una prima posizione di ingresso di detto singolo registro a scorrimento (REG) per la ricezione dei bit di detto segnale dati seriale (SDÌ), e b) quando detto segnale di selezione (AS) indica che è stato selezionato detto secondo formato di pacchetto di dati (BP2), selezionare una seconda posizione di ingresso di detto singolo registro a scorrimento (REG) per la ricezione dei bit di detto segnale dati seriale (SDÌ), in cui detta seconda posizione di ingresso corrisponde a detta prima posizione di ingresso traslata del numero di detti uno o più bit aggiuntivi.
  3. 3. Circuito ricevitore secondo la Rivendicazione 1, comprendente un primo (REGa) e un secondo (REGb) registro a scorrimento, e in cui detto circuito di commutazione (200a, 200b) è configurato in modo da: a) selezionare una posizione di ingresso di detto primo registro a scorrimento (REGa) per la ricezione di un dato numero di bit di detto segnale dati seriale (SDÌ), e b) una volta che è stato ricevuto detto dato numero di bit, selezionare una posizione di ingresso di detto secondo registro a scorrimento (REGb) per la ricezione di ulteriori bit di detto segnale dati seriale (SDÌ).
  4. 4. Circuito ricevitore secondo la Rivendicazione 3, in cui detto dato numero di bit corrisponde a detto primo numero di bit di detto primo formato di pacchetto di dati (BP1), in modo tale che i bit di detto primo formato di pacchetto di dati (BP1) siano caricati in detto primo registro a scorrimento (REGa) e detti bit aggiuntivi siano caricati in detto secondo registro a scorrimento (REGb).
  5. 5. Circuito ricevitore secondo la Rivendicazione 3, in cui detto dato numero di bit è minore di detto primo numero di bit di detto primo formato di pacchetto di dati (BP1), e in cui detto circuito di commutazione (200a, 200b) è configurato in modo da, una volta che è stato ricevuto detto dato numero di bit: a) quando detto segnale di selezione (AS) indica che è stato selezionato detto primo formato di pacchetto di dati (BP1), selezionare una prima posizione di ingresso di detto secondo registro a scorrimento (REGb) per la ricezione di detti ulteriori bit di detto segnale dati seriale (SDÌ), e b) quando detto segnale di selezione (AS) indica che è stato selezionato detto secondo formato di pacchetto di dati (BP2), selezionare una seconda posizione di ingresso di detto secondo registro a scorrimento (REGb) per la ricezione degli ulteriori bit di detto segnale dati seriale (SDÌ), in cui detta seconda posizione di ingresso corrisponde a detta prima posizione di ingresso traslata del numero di detti uno o più bit aggiuntivi.
  6. 6. Circuito ricevitore secondo una qualsiasi delle rivendicazioni precedenti, in cui detto primo formato di pacchetto di dati (BP1) comprende un dato numero di bit che sono assegnati a un campo di dati (DAT) e un dato numero di bit che sono assegnati a un campo di indirizzo (A), e in cui uno o più di detti bit aggiuntivi sono assegnati a detto campo di indirizzo (A), aumentando con ciò il numero totale dei bit di detto campo di indirizzo (A).
  7. 7. Circuito ricevitore secondo la Rivendicazione 6, detto circuito ricevitore (22a) comprendendo un circuito di verifica dell'indirizzo (204) configurato in modo da generare un segnale (ADDR_OK) che indica se i bit memorizzati in detto uno o più registri a scorrimento (REG; REGa, REGb) e che sono assegnati a detto campo di indirizzo (A) corrispondono a uno o più indirizzi di riferimento (A_CFG).
  8. 8. Circuito ricevitore secondo una qualsiasi delle rivendicazioni precedenti, in cui detto primo formato di pacchetto di dati (BP1) inizia con un preambolo (PRE) che ha un dato numero di bit.
  9. 9. Circuito ricevitore secondo la Rivendicazione 8, detto circuito ricevitore (22a) comprendendo un circuito di verifica del preambolo (202) configurato in modo da generare un segnale (PRE_OK) che indica se i bit memorizzati in detto uno o più registri a scorrimento (REG; REGa, REGb) e che sono assegnati a detto preambolo (PRE) corrispondono a un preambolo di riferimento (PRE_CFG).
  10. 10. circuito ricevitore secondo una qualsiasi delle rivendicazioni precedenti, in cui detto primo formato di pacchetto di dati (BP1) comprende un dato numero di bit di controllo di errore (P) calcolati in base al contenuto dei bit di detto pacchetto di dati.
  11. 11. circuito ricevitore secondo la Rivendicazione 10, in cui uno o più di detti bit aggiuntivi sono bit di controllo di errore aggiuntivi.
  12. 12. Circuito ricevitore secondo la Rivendicazione 10 o la Rivendicazione il, detto circuito ricevitore (22a) comprendendo un circuito di controllo di errore (206) configurato in modo da: a) calcolare i bit di controllo di errore di riferimento in base al contenuto di detto uno o più registri a scorrimento (REG; REGa, REGb), e b) generare un segnale (P_OK) che indica se i bit memorizzati in detti uno o più registri a scorrimento (REG; REGa, REGb) e che sono bit di controllo di errore (P) corrispondono a detti bit di controllo di errore di riferimento .
  13. 13. Circuito ricevitore secondo una qualsiasi delle rivendicazioni precedenti, configurato in modo da determinare detto segnale di selezione (AS) in funzione dei bit (PRE; AS; Al, A2) inclusi in detto primo formato di pacchetto di dati (BP1).
  14. 14. Circuito integrato comprendente il circuito ricevitore (22a) secondo una qualsiasi delle rivendicazioni precedenti.
  15. 15. Apparato comprendente il circuito ricevitore (22a) secondo una qualsiasi delle rivendicazioni da 1 a 13 precedenti o il circuito integrato secondo la Rivendicazione 14.
IT102016000073087A 2016-07-13 2016-07-13 Circuito di ricezione, relativo circuito integrato e dispositivo IT201600073087A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT102016000073087A IT201600073087A1 (it) 2016-07-13 2016-07-13 Circuito di ricezione, relativo circuito integrato e dispositivo
US15/334,070 US10135733B2 (en) 2016-07-13 2016-10-25 Receiver circuit, related integrated circuit and apparatus
EP17176174.5A EP3270533B1 (en) 2016-07-13 2017-06-15 Receiver circuit, related integrated circuit and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT102016000073087A IT201600073087A1 (it) 2016-07-13 2016-07-13 Circuito di ricezione, relativo circuito integrato e dispositivo

Publications (1)

Publication Number Publication Date
IT201600073087A1 true IT201600073087A1 (it) 2018-01-13

Family

ID=57610093

Family Applications (1)

Application Number Title Priority Date Filing Date
IT102016000073087A IT201600073087A1 (it) 2016-07-13 2016-07-13 Circuito di ricezione, relativo circuito integrato e dispositivo

Country Status (3)

Country Link
US (1) US10135733B2 (it)
EP (1) EP3270533B1 (it)
IT (1) IT201600073087A1 (it)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10741268B2 (en) 2018-11-13 2020-08-11 Texas Instruments Incorporated Flexible and efficient device trim support using efuse

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3870761B2 (ja) * 2001-09-07 2007-01-24 松下電器産業株式会社 無線電話装置
US7656448B2 (en) * 2005-06-22 2010-02-02 Xerox Corporation System for selecting a format for control data in an imaging device
DE112010002750T5 (de) * 2009-06-29 2013-01-31 Mosaid Technologies Incorporated Brückenvorrichtung mit einer Taktdomäne mit konfigurierbarer Frequenz
EP2339774B1 (en) 2009-12-23 2012-11-14 Blue Wonder Communications GmbH Method for decoding data packets in a wireless communication system
US9774378B2 (en) * 2011-04-24 2017-09-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Preamble design within wireless communications
US10102260B2 (en) * 2012-10-23 2018-10-16 Ip Reservoir, Llc Method and apparatus for accelerated data translation using record layout detection
US9928159B2 (en) * 2013-02-26 2018-03-27 Qualcomm Incorporated System and method to select a packet format based on a number of executed threads

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AHMAD FARHAN YAHAYA ET AL: "Design consideration for the development of a low power infrared (IR) transmitter IC", MODELING, SIMULATION AND APPLIED OPTIMIZATION (ICMSAO), 2011 4TH INTERNATIONAL CONFERENCE ON, IEEE, 19 April 2011 (2011-04-19), pages 1 - 4, XP031876862, ISBN: 978-1-4577-0003-3, DOI: 10.1109/ICMSAO.2011.5775621 *
RUDRAPPA K M ET AL: "Implementing RC5 protocol for remote control applications", 2009 INTERNATIONAL CONFERENCE ON CONTROL, AUTOMATION, COMMUNICATION AND ENERGY CONSERVATION (INCACEC), 4-6 JUNE 2009, PERUNDURAI, TAMILNADU, INDIA, IEEE, PISCATAWAY, NJ, USA, 4 June 2009 (2009-06-04), pages 1 - 6, XP031512490, ISBN: 978-1-4244-4789-3 *
SAN BERGMANS: "SB-Projects - IR - Philips RC-6 Protocol", 14 May 2016 (2016-05-14), XP055360957, Retrieved from the Internet <URL:http://www.sbprojects.com/knowledge/ir/rc6.php> [retrieved on 20170331] *
STMICROELECTRONICS: "Implementation of transmitters and receivers for infrared remote control protocols with MCUs of the STM32F0 and STM32F3 Series", 1 March 2016 (2016-03-01), XP055360960, Retrieved from the Internet <URL:http://www.st.com/resource/en/application_note/dm00053084.pdf> [retrieved on 20170331] *

Also Published As

Publication number Publication date
US10135733B2 (en) 2018-11-20
US20180019946A1 (en) 2018-01-18
EP3270533B1 (en) 2019-02-20
EP3270533A1 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
CN105406937B (zh) 定帧方法及装置
US7979611B2 (en) Multi-protocol serial interface apparatus and system-on-chip apparatus including the same
US8571021B2 (en) Packet based data transmission with reduced data size
US20020126704A1 (en) System interface for cell and/or packet transfer at aggregate data rates of up to 10 Gb/s
US11101923B2 (en) Receiver circuitry for physical coding sublayer
CN114328316B (zh) Dma控制器、soc系统及基于dma控制器的数据搬运方法
US20100054313A1 (en) Single-wire transmission interface and method of transmission through single-wire
ITTO20120289A1 (it) Circuito per comunicazioni asincrone, sistema e procedimento relativi
US7434150B1 (en) Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
IT201600122044A1 (it) Sistema, relativo circuito integrato, dispositivo e procedimento
IT201600073087A1 (it) Circuito di ricezione, relativo circuito integrato e dispositivo
US7360142B1 (en) Methods, architectures, circuits, software and systems for CRC determination
CN1849767B (zh) 前向纠错映射和去映射技术
KR101332279B1 (ko) 데이터 패킷 전송 방법 및 디바이스
CN101039323B (zh) 多速率多协议比特流处理器
US9337959B2 (en) Defect propagation of multiple signals of various rates when mapped into a combined signal
JP2009164833A (ja) データ処理装置およびデータ処理方法並びにプログラム
US9748978B2 (en) CRC code calculation circuit and method thereof, and semiconductor device
Ruckman et al. 100 Gb/s High Throughput Serial Protocol (HTSP) for data acquisition systems with interleaved streaming
CN201042016Y (zh) 多速率多协议比特流处理器
US20230344552A1 (en) Communication apparatus, communication system, and communication method
US20230269062A1 (en) Communication apparatus and communication system
CN102457431A (zh) 信元传输方法及装置
Semira et al. Implementation of a Single-Channel HDLC Controller on FPGA
JP4791339B2 (ja) 集積回路でデータを伝送する方法および装置