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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 17
- 239000000872 buffer Substances 0.000 claims description 61
- 230000005236 sound signal Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- 229920000729 poly(L-lysine) polymer Polymers 0.000 description 15
- 230000000694 effects Effects 0.000 description 9
- 238000013459 approach Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41422—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance located in transportation means, e.g. personal vehicle
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R5/00—Stereophonic arrangements
- H04R5/04—Circuit 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/16—Indirect frequency synthesis, i.e. generating a desired one of a number of predetermined frequencies using a frequency- or phase-locked loop
- H03L7/18—Indirect 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
- H04N21/42607—Internal components of the client ; Characteristics thereof for processing the incoming bitstream
- H04N21/42615—Internal components of the client ; Characteristics thereof for processing the incoming bitstream involving specific demultiplexing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4305—Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/439—Processing of audio elementary streams
- H04N21/4392—Processing of audio elementary streams involving audio buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8106—Monomedia components thereof involving special audio data, e.g. different tracks for different languages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S3/00—Systems employing more than two channels, e.g. quadraphonic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0644—External master-clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04S—STEREOPHONIC SYSTEMS
- H04S2400/00—Details of stereophonic systems covered by H04S but not provided for in its groups
- H04S2400/01—Multi-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)
- 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
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)
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)
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 |
-
2018
- 2018-01-12 IT IT201800000790A patent/IT201800000790A1/it unknown
- 2018-12-19 US US16/226,146 patent/US20190222938A1/en not_active Abandoned
- 2018-12-31 EP EP18215938.4A patent/EP3512204A1/en active Pending
Patent Citations (4)
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) | 同期化回路 |