IT201800000790A1 - Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti - Google Patents

Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti Download PDF

Info

Publication number
IT201800000790A1
IT201800000790A1 IT201800000790A IT201800000790A IT201800000790A1 IT 201800000790 A1 IT201800000790 A1 IT 201800000790A1 IT 201800000790 A IT201800000790 A IT 201800000790A IT 201800000790 A IT201800000790 A IT 201800000790A IT 201800000790 A1 IT201800000790 A1 IT 201800000790A1
Authority
IT
Italy
Prior art keywords
clock frequency
buffers
audio
tdm
input
Prior art date
Application number
IT201800000790A
Other languages
English (en)
Inventor
Antonio Silverio
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 IT201800000790A priority Critical patent/IT201800000790A1/it
Priority to US16/226,146 priority patent/US20190222938A1/en
Priority to EP18215938.4A priority patent/EP3512204A1/en
Publication of IT201800000790A1 publication Critical patent/IT201800000790A1/it

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/41422Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/04Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/16Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
    • H03L7/18Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop using a frequency divider or counter in the loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0652Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42607Internal components of the client ; Characteristics thereof for processing the incoming bitstream
    • H04N21/42615Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific demultiplexing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S3/00Systems employing more than two channels, e.g. quadraphonic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)
  • Signal Processing Not Specific To The Method Of Recording And Reproducing (AREA)
  • Telephone Function (AREA)

Description

DESCRIZIONE dell’invenzione industriale intitolata:
“Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico corrispondenti”
TESTO DELLA DESCRIZIONE
Campo tecnico
La descrizione si riferisce ai sistemi audio.
Una o più forme di realizzazione si possono applicare a sistemi audio multicanale, ad es. per sistemi sonori montati a bordo di veicoli quali autovetture.
Sfondo tecnologico
Varie applicazioni audio possono prevedere di interfacciare un’apparecchiatura in grado di fornire flussi audio multipli (ad es. audio multicanale) con un dispositivo progettato per ricevere questi flussi audio utilizzando una singola interfaccia audio seriale TDM.
Una tale applicazione può prevedere di trasportare segnali da un numero arbitrario di sorgenti audio su una porta seriale in presenza di rispettivi segnali di clock diversi.
Una caratteristica auspicabile in questo contesto è quella di essere in grado di ricavare questi segnali di clock da sorgenti quali generatori PLL/Cristallo senza compromettere l’accuratezza del funzionamento.
Scopo e sintesi
Nonostante l’estesa attività nel settore, sono auspicabili ulteriori soluzioni migliorate in grado di fornire una tale caratteristica.
Uno scopo di una o più forme di realizzazione è di contribuire a fornire una tale soluzione migliorata.
Secondo una o più forme di realizzazione, un tale scopo si può conseguire per mezzo di un procedimento avente le caratteristiche esposte nelle rivendicazioni che seguono.
Una o più forme di realizzazione si possono riferire ad un corrispondente circuito (ad es. un circuito integrato da utilizzare per implementare il procedimento secondo forme di realizzazione).
Una o più forme di realizzazione si possono riferire ad un corrispondente sistema (ad es. un sistema sonoro installato a bordo di un autoveicolo).
Una o più forme di realizzazione si possono riferire ad un corrispondente prodotto informatico caricabile nella memoria di almeno un circuito di elaborazione (ad es., una MCU/CPU) e comprendente porzioni di codice software per eseguire gli atti del procedimento quando il prodotto è eseguito su almeno un circuito di elaborazione. Come qui utilizzato, il riferimento ad un tale prodotto informatico è inteso come essere equivalente al riferimento ad un mezzo leggibile su computer contenente istruzioni per controllare il sistema di elaborazione al fine di coordinare l’implementazione del procedimento secondo una o più forme di realizzazione. Il riferimento ad “almeno un” circuito di elaborazione è inteso per evidenziare l’eventualità che una o più forme di realizzazione vengano implementate in forma modulare e/o distribuita.
Le rivendicazioni sono una parte integrante dell’insegnamento tecnico qui fornito rispetto alle forme di realizzazione.
Una o più forme di realizzazione facilitano il trasporto di segnali da un numero arbitrario di sorgenti audio su una porta seriale in presenza di rispettivi segnali di clock diversi.
Una o più forme di realizzazione rendono possibile adottare lo stesso approccio quando l’interfaccia seriale agisce come un’interfaccia slave (che riceve un clock dall’esterno).
Una o più forme di realizzazione possono essere implementate tramite software, richiedendo poche MIPS (milioni di istruzioni per secondo), con la capacità di essere implementate in una CPU poco costosa quale un’unità di microcomputer (MCU).
Una o più forme di realizzazione possono utilizzare la fine del trasferimento (EOT) dell’accesso diretto alla memoria (DMA) per valutare la velocità relativa e le posizioni di buffer tra il flusso del ricevitore (RX) e del trasmettitore (TX).
In una o più forme di realizzazione, l’EOT del DMA può essere aumentato, aumentando il buffering nel flusso RX e TX; un risultante rate dell’EOT, con una latenza audio accettabile, può essere dell’ordine dei millisecondi, il che è compatibile con l’esecuzione di un algoritmo di sintonizzazione su una MPU/CPU di fascia bassa.
Una o più forme di realizzazione rendono possibile cambiare il numero di intervalli o slot TDM in corrispondenza dell’interfaccia seriale verso un DSP e/o un amplificatore di potenza esterno senza influire sullo “stream engine”.
Una o più forme di realizzazione possono evitare di utilizzare diversi PLL per l’interfaccia seriale e il sottosistema audio, facilitando un flusso audio di lungo termine senza svuotamento (“underrun”) o riempimento (“overrun”) del buffer.
Breve descrizione delle figure
Una o più forme di realizzazione verranno ora descritte, solo a titolo di esempio, con riferimento alle figure annesse, in cui:
- la Figura 1 è esemplificativa di un possibile contesto di utilizzo di formme di realizzazione;
- la Figura 2 è esemplificativa della generazione di due segnali di clock da una singola sorgente PLL;
- la Figura 3 è esemplificativa di un principio di funzionamento sottostante a forme di realizzazione; e
- la Figura 4 è un diagramma funzionale esemplificativo del funzionamento di forme di realizzazione.
Descrizione dettagliata
Nella seguente descrizione sono illustrati uno o più dettagli specifici, mirati a fornire una comprensione approfondita di esempi di forme di realizzazione di questa descrizione. Le forme di realizzazione possono ottenersi senza uno o più dei dettagli specifici, o con altri procedimenti, componenti, materiali, ecc. In altri casi, strutture, materiali, o operazioni noti non sono illustrati o descritti nel dettaglio, in modo tale da non rendere poco chiari certi aspetti di forme di realizzazione.
Il riferimento a “una forma di realizzazione” nel contesto della presente descrizione è destinato ad indicare che una particolare configurazione, struttura o caratteristica descritta in relazione alla forma di realizzazione è compresa in almeno una forma di realizzazione. Di conseguenza, una frase quale “in una forma di realizzazione” che può essere presente in uno o più punti della presente descrizione non si riferisce necessariamente ad un’unica e alla stessa forma di realizzazione. Inoltre, conformazioni, strutture o caratteristiche particolari possono essere combinate in un modo adatto qualsiasi, in una o più forme di realizzazione.
I riferimenti qui utilizzati sono forniti meramente per comodità e quindi non definiscono la portata di protezione o l'ambito delle forme di realizzazione.
Varie applicazioni audio possono prevedere di utilizzare una singola interfaccia audio seriale TDM (multiplazione nel dominio del tempo o “time domain multiplex”) 10 al fine di interfacciare un’apparecchiatura in grado di fornire flussi audio multipli (ad es. audio multicanale) con un dispositivo progettato per ricevere questi flussi audio.
Come esemplificato nella Figura 1, un’apparecchiatura in grado di fornire flussi audio multipli può comprendere una “sorgente audio” AS comprendente, ad es.:
- un riproduttore CD che fornisce un segnale sonoro comprendente campioni di CD, ad es. CDS,
- un sintonizzatore T che fornisce un segnale sonoro comprendente campioni di sintonizzatore, ad es. TS,
- una sorgente sonora Bluetooth BT che fornisce un segnale sonoro comprendente campioni di Bluetooth, ad es. BTS.
Naturalmente, questo elenco di possibili sorgenti sonore è meramente esemplificativo. La sorgente audio AS può di fatto comprendere qualsiasi numero e tipi di sorgenti di segnali sonori.
Inoltre, una sorgente audio AS come qui esemplificata può comprendere una circuiteria di “effetti” E (di un tipo di per sé noto) al fine di applicare effetti ai segnali sonori ad es. CDS, TS, BTS.
Numerosi effetti di questo tipo sono attualmente utilizzati nel settore audio. Un effetto surround, ad es., che prevede di fornire un segnale di differenza sinistro/destro agli altoparlanti posteriori in un sistema audio automobilistico è un semplice esempio di un tale effetto.
Quali che siano i dettagli specifici di implementazione della sorgente audio AS, per i presenti scopi si può ipotizzare che il relativo funzionamento sia cadenzato da un segnale di clock di ingresso AUDIOclk. Ciò si può anche applicare, ad es., per cadenzare il funzionamento della circuiteria di effetti E tramite un segnale di clock effects_rate ricavato da AUDIOclk.
Come esemplificato nella Figura 1, il dispositivo progettato per ricevere i flussi audio CDS, TS, BTS dalla sorgente audio AS tramite una (singola) interfaccia audio seriale TDM 10 può essere un “ricevitore audio” AR comprendente un amplificatore (ad es. multicanale), comprendente un DAC per convertire in analogico i flussi audio digitali dalla sorgente AS e pilotare un insieme di altoparlanti S (ad es. anteriore, posteriore, e così via).
Nuovamente, quali che siano i dettagli specifici di implementazione del ricevitore audio AR, per i presenti scopi si può ipotizzare che i campioni audio CDS, TS, BTS (con possibili effetti applicati ad essi in corrispondenza di E) siano trasportati dalla sorgente audio al ricevitore audio AR (che può essere un dispositivo distinto dalla sorgente AS) per mezzo di un’interfaccia seriale audio 10 in una configurazione TDM fatta funzionare con un segnale di clock di uscita TDM TDMclk.
Per via della natura sincrona dei segnali audio, è desiderabile un clock seriale in grado di trasportare adeguatamente i segnali dalla sorgente audio AS (ricevuti in corrispondenza di un’estremità di ingresso 10A dell’interfaccia 10) al ricevitore audio AR (accoppiato all’estremità di uscita 10B dell’interfaccia 10), senza dover implementare una conversione della frequenza di campionamento (SRC) complessa e costosa e senza influire in modo negativo sui segnali sonori (ad es. evitando l’underrun/overrun in corrispondenza del confine tra i due domini di clock AUDIOclk e TDMclk).
Da tale punto di vista, si può anche notare che un blocco di effetti come E, se presente, può essere cadenzato per lavorare “su” campioni ad una frequenza di clock ad es. effects_rate.
Un modo per evitare l’underrun/overrun in corrispondenza del confine tra i due domini di clock (ipotizzando che il clock seriale TDM TDMclk abbia una velocità tdm_rate) può implicare la seguente relazione:
tdm_rate = sample_size*effects_rate*number_of_channels
dove number_of_channels è il numero di canali audio coinvolti (ad es., il numero di altoparlanti S).
Per quello scopo, si può considerare l’eventualità di utilizzare un singolo generatore di clock (ad es. un generatore ad anello ad aggancio di fase - o PLL) per cadenzare sia la sorgente audio AS (al rate di “ingresso” AUDIOclk) sia l’interfaccia seriale TDM 10 (al rate di “uscita” TDMclk).
Ciò si può verificare secondo lo schema generale esemplificato nella Figura 2, vale a dire con un segnale di clock (ad alta frequenza) fornito da un generatore PLL (in una maniera di per sé nota) ad una catena di divisori di frequenza di clock comprendente un primo stadio divisore comune 20 che applica un primo valore divisore DIV per ottenere un (primo) segnale a frequenza divisa PLLDIV seguito da due ulteriori stadi divisori 22 e 24 che applicano al PLLDIV rispettivi valori divisori TDMdiv e AUDIOdiv per generare TDMclk e AUDIOclk.
Un modo per evitare problemi di jitter e di underrun/overrun può prevedere di applicare certe limitazioni ai valori DIV, TDMdiv, AUDIOdiv applicati nella catena di divisori PLL 20, 22, 24, cioè:
TDMclk = SMPLsize x Nch x AUDIOclk �
PLL/(DIVxTDMdiv) = SMPLsize x Nch x PLL/(DIVxAUDIOdiv) � AUDIOdiv/TDMdiv = SMPLsize x Nch
dove SMPLsize indica la dimensione dei campioni CDS, TS, BTS (ad es. 16 bit o 24 bit). Per semplicità, si può ipotizzare che questa sia la stessa per i CDS, TS, BTS, il che tuttavia non è un requisito obbligatorio.
A tale proposito, si noterà anche che “effects_rate” (e anche “tdm_rate”) si possono considerare come valori particolari per AUDIOclk (e TDMclk), in modo per cui si applicano le espressioni fornite sopra per tdm_rate e TDMclk.
Se il rapporto AUDIOdiv/TDMdiv non è un intero, la porzione frazionale, non intera darà origine ad uno scostamento tra le velocità TDM e AUDIO, che a sua volta condurrà ad un underrun/overrun.
Una possibile opzione potrebbe prevedere di impostare TDMdiv e di ottenere da esso AUDIOdiv = SMPLsize x Nch x TDMdiv in modo tale da evitare qualsiasi problema di rapporto non intero.
In varie applicazioni audio AUDIOdiv ammette (solo) un insieme limitato di valori poiché le frequenze di campionamento audio sono standard (ad es. 96 kHz, 48 kHz, 44.1 kHz, e così via).
Il valore risultante per AUDIOdiv così ottenuto può non essere adatto ad essere applicato in una logica di divisione PLL come esemplificata nella Figura 2.
In modo almeno teorico, questo problema si può affrontare in vari modi.
Un primo approccio può prevedere di aumentare la complessità del generatore di clock della sorgente audio AS, in modo che AUDIOclk possa essere impostato su qualsiasi valore arbitrario come si desidera.
Un altro approccio può prevedere di utilizzare due PLL e implementare la conversione della frequenza di campionamento per adattare il clock “sorgente” al clock seriale di destinazione o “sink”.
La conversione della frequenza di campionamento può essere complessa da implementare in un dispositivo hardware, occupando di conseguenza spazio di silicio (ad es. a livello di SoC). Un’implementazione software può sottrarre risorse alla CPU, e può anche influire in modo indesiderabile sulla qualità audio complessiva.
Una o più forme di realizzazione possono superare questi svantaggi facendo ricorso ad un meccanismo di buffering tra i due domini di clock (ad es. AUDIOclk e TDMclk) e ad una macchina a stati, che si può implementare come un componente software.
Come esemplificato nella Figura 3, in una o più forme di realizzazione i buffer 100 (ad es. BUFF0, BUFF1, BUFF2, BUFF3, …) possono essere scritti da un dominio di clock (ad es. AUDIOclk) e letti dall’altro (ad es. TDMclk), con i dati scritti e letti in un atto DMA (accesso diretto alla memoria).
Un vantaggio di un tale approccio può risiedere nel fatto che il DMA si può eseguire quando i campioni sono effettivamente letti (in atti di scrittura: si veda dati di scrittura-DMA nella Figura 3) e quando essi sono effettivamente richiesti (in atti di lettura: si veda dati di lettura-DMA nella Figura 3).
Il tempo di EOT (fine del trasferimento) DMA è una funzione (ad es. proporzionale a) della velocità della sorgente di dati (in atti di scrittura) e della velocità della destinazione dei dati (in atti di lettura).
Per esempio, la funzione DMA scriverà i dati nel buffer alla velocità AUDIOclk, e leggerà i dati dal buffer alla velocità TDMclk.
Come esemplificato nella Figura 4, il software (MCU/CPU SW) che fa funzionare il sistema (ad es. a livello SoC) può monitorare il completamento degli atti di lettura e scrittura del buffer (EOT del DMA) ad es. sotto il controllo di un controllore DMA 20 che fornisce interrupt DAM/EOT ad un dispositivo di pilotaggio o driver DMA 22.
Ciò comprenderà la capacità di identificare un ID di buffer che è attualmente scritto (ad es. BUFFER = y con EOT = t1) ed un ID di buffer che è letto (ad es. BUFFER = x con EOT = t0).
Si può fornire una macchina a stati 24 configurata per allineare gli ID di buffer di lettura/scrittura con almeno un buffer di distanza (vale a dire, |y-x|≥ 1): in questo modo si possono evitare atti di lettura/scrittura simultanei sulla stessa posizione di memoria.
Inoltre, il tempo EOT si può monitorare con la macchina a stati 24 configurata per compensare il jitter e la deriva del PLL (ad es. tramite un segnale di “correction” inviato al circuito PLL) in modo che la differenza di tempo EOT sia inferiore ad una certa soglia dt (vale a dire, |t1-t0|< dt).
Per esempio il segnale di correction può agire sul PLL ad es. cambiando la porzione frazionale del divisore PLL (vale a dire DIV nel blocco 20 nella Figura 2) producendo il segnale PLLDIV, facendo sì che un corrispondente clock nei blocchi mostrati (che può essere o TDMclk o AUDIOclk: si veda nuovamente Figura 2) venga eseguito più lentamente/più velocemente, in modo che i buffer 100 e i rispettivi ritardi si possano regolare per adattarsi ad un obiettivo previsto.
Una o più forme di realizzazione sono applicabili ad un punto di interfaccia in una porta audio seriale altrimenti convenzionale (ad es. MSP), nel contesto di un singolo circuito MPU/CPU a bassa potenza, con la capacità di eseguire schemi TDM diversi.
Un procedimento secondo una o più forme di realizzazione può comprendere:
- ricevere una pluralità di flussi di segnali audio di ingresso (ad es. CDS, TS, BTS, E) da una sorgente audio (ad es. AS) cadenzata da una frequenza di clock di ingresso (ad es. AUDIOclk) e produrre da essi un flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM (ad es. TDMclk),
- ottenere la frequenza di clock di ingresso e la frequenza di clock di uscita TDM dalla divisione della frequenza di clock (ad es. DIV, TDMdiv, AUDIOdiv; 20, 22, 24) di una frequenza di clock principale (ad es. PLL),
- fornire un insieme di buffer di memoria (ad es. 100; BUFF0, BUFF1, BUFF2, BUFF3), e
- scrivere campioni di segnali audio da detti flussi di segnali audio di ingresso nei buffer nell’insieme di buffer di memoria con detta scrittura cadenzata dalla frequenza di clock di ingresso, e
- produrre detto flusso di uscita seriale TDM da campioni di segnali audio inseriti nei buffer in detto insieme di buffer di memoria leggendo i campioni di segnali audio inseriti nei buffer con detta lettura cadenzata da detta frequenza di clock di uscita TDM.
Una o più forme di realizzazione possono comprendere scrivere, rispettivamente leggere, campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria durante l’accesso diretto alla memoria, DMA, a detti buffer.
Una o più forme di realizzazione possono comprendere selezionare (ad es. 24) buffer di memoria non coincidenti nell’insieme di buffer di memoria per scrivere (si veda ad es. y nelle Figure 3 e 4), rispettivamente leggere (si veda ad es. x nelle Figure 3 e 4), simultaneamente campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria, in cui si evitano atti di lettura/scrittura simultanei su una stessa posizione di memoria.
Una o più forme di realizzazione possono comprendere: - monitorare tempi di fine del trasferimento, EOT, (si veda ad es. t1, t0 nelle Figure 3 e 4) di detti campioni di segnali audio di scrittura, rispettivamente lettura, in, rispettivamente da, buffer nell’insieme di buffer di memoria,
- controllare (ad es. 24, correction) la divisione di frequenza di clock di detta frequenza di clock principale mantenendo all’interno di un certo intervallo la differenza tra i tempi di fine del trasferimento di scrittura, rispettivamente lettura, di campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria.
Una o più forme di realizzazione possono comprendere ottenere (si veda ad es. la Figura 2) la frequenza di clock di uscita TDM e la frequenza di clock di ingresso da:
- un atto di divisione di frequenza di clock (ad es.
20) per un valore divisore di frequenza di clock (ad es. DIV) che fornisce un segnale di clock a frequenza divisa (ad es. PLLDIV),
- un primo (ad es. 22) e un secondo (ad es. 24) ulteriore atto di divisione di frequenza di clock tramite un primo (ad es. TDMdiv) e un secondo (ad es. AUDIOdiv) ulteriore valore divisore di frequenza di clock applicati al segnale di clock a frequenza divisa per produrre rispettivamente la frequenza di clock di uscita TDM e la frequenza di clock di ingresso.
Una o più forme di realizzazione possono comprendere controllare la divisione di frequenza di clock di detta frequenza di clock principale controllando il valore divisore di frequenza di clock in detto atto di divisione di frequenza di clock che fornisce detto segnale di clock a frequenza divisa.
In una o più forme di realizzazione, un circuito (ad es. 10) può comprendere:
- un’estremità di ingresso (si veda ad es. 10A nella Figura 3) configurata per ricevere una pluralità di flussi di segnali audio di ingresso da una sorgente audio cadenzata da una frequenza di clock di ingresso,
- un’estremità di uscita (si veda ad es. 10B nella Figura 3) configurata per produrre, dai flussi di segnali audio ricevuti in corrispondenza dell’estremità di ingresso, un flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM,
- un insieme di buffer di memoria in un percorso di segnale dall’estremità di ingresso (10A) all’estremità di uscita (10B), i buffer di memoria controllabili (ad es. tramite MCU/CPU SW) per implementare il procedimento secondo una o più forme di realizzazione:
- scrivendo campioni di segnali audio da detti flussi di segnali audio di ingresso in buffer nell’insieme di buffer di memoria con detta scrittura cadenzata dalla frequenza di clock di ingresso, e
- producendo detto flusso di uscita seriale TDM da campioni di segnali audio inseriti nei buffer in detto insieme di buffer di memoria leggendo i campioni di segnali audio inseriti nei buffer con detta lettura cadenzata da detta frequenza di clock di uscita TDM.
Una o più forme di realizzazione possono comprendere un generatore di clock (si veda ad es. 20, 22, 24 nella Figura 2) configurato per produrre la frequenza di clock di ingresso e la frequenza di clock di uscita TDM tramite divisione della frequenza di clock di una frequenza di clock principale.
In una o più forme di realizzazione un sistema audio può comprendere:
- un circuito secondo una o più forme di realizzazione,
- una sorgente audio (ad es. AS) cadenzata da detta frequenza di clock di ingresso per fornire una pluralità di flussi di segnali audio di ingresso all’estremità di ingresso del circuito, e
- un ricevitore audio (ad es. AR) configurato per ricevere detto flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM dall’estremità di uscita del circuito.
Una o più forme di realizzazione possono comprendere un prodotto informatico (si veda ad es. MCU/CPU SW nella Figura 4) caricabile nella memoria di almeno un circuito di elaborazione (ad es. una MCU/CPU) e comprendente porzioni di codice software per eseguire gli atti del procedimento di una o più forme di realizzazione come un risultato dell’esecuzione del prodotto su almeno un circuito di elaborazione.
Senza pregiudizio per i principi sottostanti, i dettagli e le forme di realizzazione possono variare anche notevolmente, rispetto a quanto descritto a titolo esclusivamente esemplificativo, senza discostarsi dall'ambito di protezione.
L’ambito di protezione è definito dalle rivendicazioni allegate.

Claims (10)

  1. RIVENDICAZIONI 1. Procedimento, comprendente: - ricevere una pluralità di flussi di segnali audio di ingresso (CDS, TS, BTS, E) da una sorgente audio (AS) cadenzata da una frequenza di clock di ingresso (AUDIOclk) e produrre da essi un flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM (TDMclk), - ottenere la frequenza di clock di ingresso (AUDIOclk) e la frequenza di clock di uscita TDM (TDMclk) dalla divisione della frequenza di clock (DIV, TDMdiv, AUDIOdiv; 20, 22, 24) di una frequenza di clock principale (PLL), - fornire un insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3), e - scrivere campioni di segnali audio da detti flussi di segnali audio di ingresso in buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) con detta scrittura cadenzata dalla frequenza di clock di ingresso (AUDIOclk), e - produrre detto flusso di uscita seriale TDM da campioni di segnali audio inseriti nei buffer in detto insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) leggendo i campioni di segnali audio inseriti nei buffer con detta lettura cadenzata da detta frequenza di clock di uscita TDM (TDMclk).
  2. 2. Procedimento secondo la rivendicazione 1, comprendente scrivere, rispettivamente leggere, campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) durante l’accesso diretto alla memoria, DMA, a detti buffer.
  3. 3. Procedimento secondo la rivendicazione 1 o la rivendicazione 2, comprendente selezionare (24) buffer di memoria non coincidenti nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) per scrivere (y), rispettivamente leggere (x), simultaneamente campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3), in cui si evitano atti di lettura/scrittura simultanei su una stessa posizione di memoria.
  4. 4. Procedimento secondo qualsiasi delle rivendicazioni 1 a 3, comprendente: - monitorare tempi di fine del trasferimento, EOT, (t1, t0) di detti campioni di segnali audio di scrittura, rispettivamente lettura, in, rispettivamente da, buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3), - controllare la divisione di frequenza di clock (DIV, TDMdiv, AUDIOdiv; 20, 22, 24) di detta frequenza di clock principale (PLL) mantenendo all’interno di un certo intervallo la differenza tra i tempi di fine del trasferimento di scrittura, rispettivamente lettura, di campioni di segnali audio in, rispettivamente da, buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3).
  5. 5. Procedimento secondo qualsiasi delle rivendicazioni precedenti, comprendente ottenere la frequenza di clock di uscita TDM (TDMclk) e la frequenza di clock di ingresso (AUDIOclk) da: - un atto di divisione di frequenza di clock (20) per un valore divisore di frequenza di clock (DIV) che fornisce un segnale di clock a frequenza divisa (PLLDIV), - un primo (22) e un secondo (24) ulteriore atto di divisione di frequenza di clock tramite un primo (TDMdiv) e un secondo (AUDIOdiv) ulteriore valore divisore di frequenza di clock applicati al segnale di clock a frequenza divisa (PLLDIV) per produrre rispettivamente la frequenza di clock di uscita TDM (TDMclk) e la frequenza di clock di ingresso (AUDIOclk).
  6. 6. Procedimento secondo la rivendicazione 4 e la rivendicazione 5, comprendente controllare la divisione di frequenza di clock (20, 22, 24) di detta frequenza di clock principale (PLL) controllando il valore divisore di frequenza di clock (DIV) in detto atto di divisione di frequenza di clock (20) che fornisce detto segnale di clock a frequenza divisa (PLLDIV).
  7. 7. Circuito (10), comprendente: - un’estremità di ingresso (10A) configurata per ricevere una pluralità di flussi di segnali audio di ingresso (CDS, TS, BTS, E) da una sorgente audio (AS) cadenzata da una frequenza di clock di ingresso (AUDIOclk), - un’estremità di uscita (10B) configurata per produrre, dai flussi di segnali audio ricevuti in corrispondenza dell’estremità di ingresso (10A), un flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM (TDMclk), - un insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) in un percorso di segnale dall’estremità di ingresso (10A) all’estremità di uscita (10B), i buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) controllabili (MCU/CPU SW) per implementare il procedimento secondo una qualsiasi delle rivendicazioni 1 a 6: - scrivendo campioni di segnali audio da detti flussi di segnali audio di ingresso in buffer nell’insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) con detta scrittura cadenzata dalla frequenza di clock di ingresso (AUDIOclk), e - producendo detto flusso di uscita seriale TDM da campioni di segnali audio inseriti nei buffer in detto insieme di buffer di memoria (100; BUFF0, BUFF1, BUFF2, BUFF3) leggendo i campioni di segnali audio inseriti nei buffer con detta lettura cadenzata da detta frequenza di clock di uscita TDM (TDMclk).
  8. 8. Circuito (10) secondo la rivendicazione 7, comprendente un generatore di clock (20, 22, 24) configurato per produrre la frequenza di clock di ingresso (AUDIOclk) e la frequenza di clock di uscita TDM (TDMclk) tramite divisione della frequenza di clock (DIV, TDMdiv, AUDIOdiv; 20, 22, 24) di una frequenza di clock principale (PLL).
  9. 9. Sistema audio, comprendente: - un circuito (10) secondo la rivendicazione 7 o la rivendicazione 8, - una sorgente audio (AS) cadenzata da detta frequenza di clock di ingresso (AUDIOclk) per fornire una pluralità di flussi di segnali audio di ingresso (CDS, TS, BTS, E) all’estremità di ingresso (10A) del circuito (10), e - un ricevitore audio (AR) configurato per ricevere detto flusso di uscita seriale di multiplazione nel dominio del tempo, TDM, cadenzato da una frequenza di clock di uscita TDM (TDMclk) dall’estremità di uscita (10B) del circuito (10).
  10. 10. Prodotto informatico (MCU/CPU SW) caricabile nella memoria di almeno un circuito di elaborazione e comprendente porzioni di codice software per eseguire gli atti del procedimento secondo una qualsiasi delle rivendicazioni 1 a 7 come un risultato dell’esecuzione del prodotto su almeno un circuito di elaborazione.
IT201800000790A 2018-01-12 2018-01-12 Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti IT201800000790A1 (it)

Priority Applications (3)

Application Number Priority Date Filing Date Title
IT201800000790A IT201800000790A1 (it) 2018-01-12 2018-01-12 Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti
US16/226,146 US20190222938A1 (en) 2018-01-12 2018-12-19 Method of Operating Audio Systems, Corresponding Circuit, System and Computer Program Product
EP18215938.4A EP3512204A1 (en) 2018-01-12 2018-12-31 A method of operating audio systems, corresponding circuit, system and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
IT201800000790A IT201800000790A1 (it) 2018-01-12 2018-01-12 Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti

Publications (1)

Publication Number Publication Date
IT201800000790A1 true IT201800000790A1 (it) 2019-07-12

Family

ID=61873838

Family Applications (1)

Application Number Title Priority Date Filing Date
IT201800000790A IT201800000790A1 (it) 2018-01-12 2018-01-12 Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti

Country Status (3)

Country Link
US (1) US20190222938A1 (it)
EP (1) EP3512204A1 (it)
IT (1) IT201800000790A1 (it)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025406B2 (en) * 2019-09-26 2021-06-01 Apple Inc. Audio return channel clock switching
US11514921B2 (en) * 2019-09-26 2022-11-29 Apple Inc. Audio return channel data loopback
US11695537B2 (en) * 2021-06-01 2023-07-04 Bose Corporation Digital signal processor/network synchronization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761537A (en) * 1995-09-29 1998-06-02 Intel Corporation Method and apparatus for integrating three dimensional sound into a computer system having a stereo audio circuit
US20090228615A1 (en) * 1998-01-07 2009-09-10 Microsoft Corporation Vehicle Computer System with Audio Entertainment System
CN104731748A (zh) * 2015-03-31 2015-06-24 北京百度网讯科技有限公司 多路音频数据采集方法和装置
US20160232938A1 (en) * 2015-02-06 2016-08-11 Stmicroelectronics (Rousset) Sas Method for Transmitting and/or Receiving Audio Signals

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761537A (en) * 1995-09-29 1998-06-02 Intel Corporation Method and apparatus for integrating three dimensional sound into a computer system having a stereo audio circuit
US20090228615A1 (en) * 1998-01-07 2009-09-10 Microsoft Corporation Vehicle Computer System with Audio Entertainment System
US20160232938A1 (en) * 2015-02-06 2016-08-11 Stmicroelectronics (Rousset) Sas Method for Transmitting and/or Receiving Audio Signals
CN104731748A (zh) * 2015-03-31 2015-06-24 北京百度网讯科技有限公司 多路音频数据采集方法和装置

Also Published As

Publication number Publication date
US20190222938A1 (en) 2019-07-18
EP3512204A1 (en) 2019-07-17

Similar Documents

Publication Publication Date Title
IT201800000790A1 (it) Procedimento di funzionamento di sistemi audio, circuito, sistema e prodotto informatico comprendenti
KR101108342B1 (ko) 어드레스/제어 신호들에 대하여 더블 데이터 레이트 방식을 사용하여 인터페이스 핀 요건들을 감소시킨 듀얼 채널 메모리 아키텍처
US11362666B2 (en) Low-jitter frequency division clock clock circuit
US20150358004A1 (en) D-type flip-flop and clock generating circuit
US10416955B2 (en) Power reduction through clock management
US10560780B2 (en) Phase alignment in an audio bus
US10659024B2 (en) Integrated circuit comprising circuitry to change a clock signal frequency while a data signal is valid
US7423563B2 (en) Serial data transfer in a numerically controlled control system to update an output value of the control system
US9924466B1 (en) Dynamic flip-flop and multiplexer for sub-rate clock data serializer
WO2016058344A1 (zh) 一种确定链路延时的方法、装置、通信设备和存储介质
WO2015176475A1 (zh) Fifo数据缓存器及其进行时延控制的方法、计算机存储介质
JP5343966B2 (ja) クロック信号分周回路および方法
EP3907886A3 (en) Methods and apparatus for data synchronization in systems having multiple clock and reset domains
JP6361852B2 (ja) Lvdsドライバ
US20190005974A1 (en) Alignment of bi-directional multi-stream multi-rate i2s audio transmitted between integrated circuits
JP2014183571A (ja) 低電力cmlレス送信器アーキテクチャ
US20130007314A1 (en) First in first out device and method thereof
US20120250877A1 (en) Method and system for processing audio signals in a central audio hub
EP3173895B1 (en) Clock tree implementation method, system-on-chip and computer storage medium
US11314682B2 (en) Switchable I2S interface
JP5632051B2 (ja) 高速シリアルトランスミッタ用のアーキテクチャ
US9767062B2 (en) Low power parallelization to multiple output bus widths
JP2001084773A (ja) 半導体記憶装置
Romoth et al. Optimizing inter-FPGA communication by automatic channel adaptation
JP2008134926A (ja) 同期化回路