WO2022011397A1 - Time-synchronized hardware controllers and related audio systems and circuitry - Google Patents

Time-synchronized hardware controllers and related audio systems and circuitry Download PDF

Info

Publication number
WO2022011397A1
WO2022011397A1 PCT/US2021/070857 US2021070857W WO2022011397A1 WO 2022011397 A1 WO2022011397 A1 WO 2022011397A1 US 2021070857 W US2021070857 W US 2021070857W WO 2022011397 A1 WO2022011397 A1 WO 2022011397A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
serial clock
word select
line
serial
Prior art date
Application number
PCT/US2021/070857
Other languages
English (en)
French (fr)
Inventor
Michael RENTSCHLER
Thorben LINK
Original Assignee
Microchip Technology Incorporated
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 Microchip Technology Incorporated filed Critical Microchip Technology Incorporated
Priority to DE112021003685.8T priority Critical patent/DE112021003685T5/de
Priority to KR1020237002435A priority patent/KR20230025902A/ko
Priority to CN202180048083.XA priority patent/CN115769186A/zh
Priority to JP2023500046A priority patent/JP2023532955A/ja
Publication of WO2022011397A1 publication Critical patent/WO2022011397A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • 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/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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Definitions

  • Patent Application No. 62/705,653 filed July 9, 2020, and titled “TIME- SYNCHRONIZED I2S HARDWARE CONTROLLER,” the entire disclosure of which is hereby incorporated herein by reference.
  • This disclosure relates generally to time-synchronized hardware controllers.
  • audio may be synchronized with video in video streaming systems (e.g., so speech audio is synchronized with mouth movements shown in video, without limitation).
  • digital signals used to generate analog audio signals delivered to different speakers in surround sound systems e.g., automotive surround sound, professional audio equipment, without limitation
  • surround sound systems e.g., automotive surround sound, professional audio equipment, without limitation
  • FIG. 1 is a block diagram of a transmitter as master I2S system, according to various examples
  • FIG. 2 is a block diagram of a receiver as master I2S system, according to various examples
  • FIG. 3 is a block diagram of a controller as master I2S system, according to various examples
  • FIG. 4 is a signal timing diagram of I2S signals of the transmitter as master I2S system of FIG. 1, the receiver as master I2S system of FIG. 2, and the controller as master I2S system of FIG. 3, according to various examples;
  • FIG. 5 is a block diagram of an AVTP talker, according to various examples.
  • FIG. 6 is a block diagram of an AVTP listener, according to various examples.
  • FIG. 7 is a block diagram of timing reference planes, according to various examples.
  • FIG. 8 illustrates a 1722 stream, according to various examples
  • FIG. 9A is a block diagram of an audio system operating with a CODEC as a listener and using a standalone I2S controller, according to various examples;
  • FIG. 9B is a block diagram of the audio system of FIG. 9A with the CODEC operating as a talker, according to various examples;
  • FIG. 10 is a block diagram of another audio system with a CODEC operating as a talker and as a master node, according to various examples;
  • FIG. 11 is a block diagram of an audio system segment including a network device that may be implemented into a microcontroller, according to various examples.
  • FIG. 12 is a state flow diagram of the audio system segment of FIG. 11, according to various examples.
  • DSP digital signal processor
  • IC Integrated Circuit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general-purpose processor may also be referred to herein as a host processor or simply a host
  • the processor may be any conventional processor, controller, microcontroller, or state machine.
  • a processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
  • a process may correspond to a method, a thread, a function, a procedure, a subroutine, a subprogram, other structure, or combinations thereof.
  • any reference to an element herein using a designation such as “first,” “second,” and so forth does not limit the quantity or order of those elements, unless such limitation is explicitly stated. Rather, these designations may be used herein as a convenient method of distinguishing between two or more elements or instances of an element. Thus, a reference to first and second elements does not mean that only two elements may be employed there or that the first element must precede the second element in some manner.
  • a set of elements may include one or more elements.
  • the term "substantially” in reference to a given parameter, property, or condition means and includes to a degree that one of ordinary skill in the art would understand that the given parameter, property, or condition is met with a small degree of variance, such as, for example, within acceptable manufacturing tolerances.
  • the parameter, property, or condition may be at least 90% met, at least 95% met, or even at least 99% met.
  • the term “hardware” refers to implementations including hardware elements and excluding software elements such as executable software or firmware code.
  • hardware may include discrete electrical components (e.g., resistors, capacitors, inductors, logic gates, diodes, transistors, other hardware elements, or combinations thereol).
  • Inter-IC Sound is a standard for a digital serial bus that may be used to interface digital audio devices (e.g., integrated circuits (ICs), without limitation) to each other.
  • digital audio devices e.g., integrated circuits (ICs), without limitation
  • TSN Time-Sensitive Network
  • IEEE International Electronics and Electrical Engineers 802.1 standard
  • audio listener applications may receive audio streams (e.g., as set forth in the IEEE 1722 or 1733 standards) from the network along with a clock reference stream including a reference clock.
  • the received audio samples are transferred through an I2S interface to an audio device (e.g., a digital signal processor (DSP), an amplifier, without limitation) for playback.
  • DSP digital signal processor
  • the I2S clock is synchronous with the reference clock, and the listener physically recovers this clock from the received stream data.
  • Clock recovery uses a phased locked loop (PLL) to obtain the final audio bit clock (I2S MCK/SCK) by multiplying the recovered reference clock by some constant factor.
  • PLL phased locked loop
  • I2S MCK/SCK final audio bit clock
  • the clock recovery is started in front of the audio transfer for playback, and is run until the PLL is able to clock to the given reference clock. I2S does not permit audio transmission before this point is reached.
  • Certain problems may exist in synchronizing between captured frame synchronization- (FSY-) timestamps and the input stream of audio samples. Capturing the timestamps may take place asynchronously to the I2S stream. If the I2S transmitter is the clock master, then software may not be able to reliably recover the relationship between sample and timestamp.
  • FSY- captured frame synchronization-
  • the inventors of this disclosure appreciate that the use of software solutions to define a starting point of an I2S transmission to enable synchronizing of the I2S clock to the stream reference clock would introduce jitter and cause difficulty when worst-case timing constraints must be guaranteed.
  • Software solutions may be relatively complex to guarantee hard timings, and may introduce a range of timing uncertainty (e.g., due to interrupt delays, without limitation) that may be unacceptable or undesirable in some use cases.
  • audio may be streamed over Ethernet networks.
  • Relatively high synchronicity may be desired between multiple audio endpoints (e.g., surround sound systems, without limitation), or to synchronize mouth movements to audio in video streaming.
  • Related streaming protocol standards include IEEE 1722 (Audio Video Transport Protocol (AVTP)) and IEEE 1733 (Real-time Transport Protocol (RTP)) in combination with some timing protocols such as IEEE 1588 (Precision Time Protocol (PTP)) or IEEE 802. IAS (generalized PTP (gPTP)).
  • Various examples disclosed herein may improve synchronicity of media streaming devices by achieving a small (e.g., the smallest possible, without limitation) timing uncertainty in presentation time of audio listeners and allowing precise (e.g., substantially exact, without limitation) synchronization between sample data and timestamps of audio talkers.
  • Various examples disclosed herein may simplify stream synchronization by offloading complexity from a CPU (e.g., a processing core of a microcontroller, without limitation).
  • Hardware solutions in contrast to software solutions, may reliably guarantee fixed numbers and lower uncertainty. Software solutions would introduce interrupt latency that is at least partially avoided in various examples of hardware solutions disclosed herein.
  • Various examples disclosed herein enable synchronization of an I2S clock to a stream reference clock based on a synchronized time base. Implementations of various examples disclosed herein may involve extension to I2S hardware peripherals in MCUs, which enables synchronization of the start of an I2S transmission (clock output enable) to a specific time point.
  • Various examples disclosed herein are directed to hardware mechanisms in contrast to software mechanisms. Accordingly, at least some undesired time shifts, jitter, and poor worst-case-timings associated with software mechanisms may be avoided.
  • Hardware-based mechanisms may guarantee high (e.g., highest possible, without limitation) precision of synchronization between sample data and timestamps of audio talkers. This is the case especially where multiple audio listener nodes play back audio synchronously.
  • an I2S controller that is configured to synchronize its I2S clock to the actual start time is integrated.
  • I2S clocks are derived from an external clock source, which is a multiple of the final audio bit block, and is recovered from the audio reference clock.
  • an audio system includes a word select line of a digital audio interface, a serial clock line of the digital audio interface, and hardware circuitry.
  • the hardware circuitry is configured to provide a word select signal to the word select line.
  • the word select signal is configured to indicate channels of a serial data signal provided to a serial data line of the digital audio interface.
  • the hardware circuitry is configured to provide a serial clock signal to the serial clock line and synchronize, at least partially based on a synchronized time base, the serial clock signal to a clock reference stream of an audio stream communicated via a network interface.
  • circuitry for controlling timing of communications includes a serial clock line, an enable gate, and an event generator.
  • the enable gate is electrically connected to the serial clock line.
  • the enable gate is configured to start provision of a serial clock signal to the serial clock line based, at least in part, on an assertion of a synchronization signal.
  • the event generator is configured to assert the synchronization signal responsive to a presentation time stamp from a serial data signal.
  • the presentation time stamp is correlated to a synchronized time base.
  • the enable gate and the event generator are implemented using hardware circuitry.
  • FIG. 1 is a block diagram of a transmitter as master I2S system 100, according to various examples.
  • the transmitter as master I2S system 100 includes a transmitter 102 and a receiver 104.
  • the transmitter 102 and the receiver 104 are I2S endpoints configured to communicate (e.g., via an Ethernet network, without limitation) using an I2S protocol.
  • the transmitter 102 is configured to operate as a master node in the transmitter as master I2S system 100.
  • the transmitter 102 is configured to transmit a serial clock signal SCK and a word select signal WS to the receiver 104.
  • the transmitter 102 is configured to transmit a serial data signal SD to the receiver 104.
  • One or both of the transmitter 102 and the receiver 104 may include a time synchronized hardware controller 106 according to various examples discussed herein.
  • the serial data signal SD may include serial data (e.g., serial audio data corresponding to an audio stream, without limitation).
  • the receiver 104 is configured to use the serial clock signal SCK and the word select signal WS received from the transmitter 102 to synchronize the serial data of the serial data signal SD.
  • FIG. 2 is a block diagram of a receiver as master I2S system 200, according to various examples.
  • the receiver as master I2S system 200 includes a transmitter 202 and a receiver 204 similar to the transmitter 102 and the receiver 104 of FIG. 1. Similar to the transmitter 102 and the receiver 104 of FIG. 1, the transmitter 202 and the receiver 204 are I2S endpoints configured to communicate (e.g., via an Ethernet network, without limitation) using an I2S protocol.
  • the receiver 204 is configured to operate as a master node in the receiver as master I2S system 200, as the master node the receiver 204 is configured to transmit a serial clock signal SCK and a word select signal WS to the receiver 204.
  • One or both of the transmitter 202 and the receiver 204 may include a time synchronized hardware controller 206 according to various examples discussed herein
  • the transmitter 202 is configured to transmit a serial data signal SD to the receiver 204.
  • the transmitter 102 is configured to synchronize the serial data signal SD responsive to the serial clock signal SCK and the word select signal WS received from the receiver 204.
  • FIG. 3 is a block diagram of a controller as master I2S system 300, according to various examples.
  • the controller as master I2S system 300 includes a transmitter 302 and a receiver 304 similar to the transmitter 102 and the receiver 104 of FIG. 1. Similar to the transmitter 102 and the receiver 104 of FIG. 1 and the transmitter 202 and the receiver 204 of FIG. 2, the transmitter 302 and the receiver 304 are I2S endpoints configured to communicate (e.g., via an Ethernet network, without limitation) using an I2S protocol.
  • the controller as master I2S system 300 includes a controller 306 configured to operate as a master node in the controller as master I2S system 300.
  • the controller 306 is configured to transmit a serial clock signal SCK and a word select signal WS to the transmitter 302 and the receiver 304.
  • the controller 306 is configured to operate as a stand-alone I2S controller, which works in conjunction with state of the art I2S peripherals (e.g., the transmitter 302 and the receiver 304, without limitation).
  • the transmitter 302 is configured to transmit a serial data signal SD to the receiver 304.
  • the transmitter 302 and the receiver 304 are configured to synchronize the serial data signal SD responsive to the serial clock signal SCK and the word select signal WS received from the controller 306.
  • FIG. 4 is a signal timing diagram of I2S signals 400 of the transmitter as master I2S system 100 of FIG. 1, the receiver as master I2S system 200 of FIG. 2, and the controller as master I2S system 300 of FIG. 3, according to various examples.
  • the I2S signals 400 include the serial clock signal SCK, the word select signal WS, and the serial data signal SD.
  • the serial data signal SD may be transmitted as a two's compliment signal.
  • the serial data signal may include words (e.g., a word N-l right channel, a word N left channel, a word N+l right channel, without limitation). Each word may begin with a most significant bit MSB and end with a least significant bit LSB.
  • the word select signal WS is configured to indicate an audio channel (e.g., a left audio channel and a right audio channel of a stereo audio system, without limitation) that serial data in the serial data signal SD being transmitted corresponds to.
  • the word select signal WS may indicate with a “one” (e.g., a logic level high voltage potential, without limitation) that the serial data transmitted in the serial data signal SD corresponds to a right channel.
  • the word select signal WS may indicate with a “zero” (e.g., a logic level low voltage potential, without limitation) that the serial data transmitted in the serial data signal SD corresponds to a left channel.
  • serial clock signal SCK and the word select signal WS enable the I2S endpoints to synchronize the serial clock signal SCK and the serial data signal SD to a reference clock of a media stream with a relatively high level of precision.
  • FIG. 5 is a block diagram of an AVTP talker 500, according to various examples.
  • the AVTP talker 500 includes a local oscillator 518, an audio video bridging (AVB) transport protocol (AVBTP) time stamp generator (AVBTP timestamp generator 504), and an analog to digital (A/D) converter (A/D converter 506).
  • the AVTP talker 500 is configured to generate an IEEE 1722 data stream (1722 stream 512) including timestamps 508 and data 510.
  • the local oscillator 518 (e.g., a voltage controlled oscillator, without limitation) is configured to generate a media clock 514.
  • the AVBTP timestamp generator 504 and the A/D converter 506 are configured to receive the media clock 514 from the local oscillator 518.
  • the A/D converter 506 is also configured to receive incoming analog data 516 (e.g., analog audio data, without limitation) and convert the incoming analog data 516 to data 510 (digital data) to be included in the 1722 stream 512 responsive to the incoming analog data 516 and the media clock 514.
  • the AVBTP timestamp generator 504 is configured to generate the timestamps 508 for the data 510 responsive to the media clock 514 and wall time 502 (e.g., IEEE 802. IAS network time, without limitation).
  • the 1722 stream 512 includes the timestamps 508 and the data 510.
  • the timestamps 508 indicate values of the wall time 502 corresponding to bits of the data 510.
  • the values of the timestamps 508 may indicate values of the wall time 502 at which the values of the data 510 were sampled by the A/D converter 506.
  • the timestamps 508 illustrated in FIG. 5 include wall time values of 7166667, 7333333, ..., 8666667, 8833333, and 9000000.
  • the timestamps 508 may be captured per a certain number of data 510 samples captured (e.g., one timestamp for every six or eight data 510 samples, without limitation).
  • the AVTP talker 500 may be configured to operate as an I2S transmitter (e.g., the transmitter 102 of FIG. 1, the transmitter 202 of FIG. 2, or the transmitter 302 of FIG. 3, without limitation).
  • the 1722 stream 512 may be transmitted to an audio device (e.g., an I2S receiver, without limitation) using an I2S protocol. Accordingly, the 1722 stream 512 may be transmitted from a transmitter (e.g., the transmitter 102 of FIG. 1, the transmitter 202 of FIG. 2, or the transmitter 302 of FIG. 3, without limitation) to a receiver (e.g., the receiver 104 of FIG. 1, the receiver 204 of FIG. 2, or the receiver 304 of FIG. 3, without limitation) as a serial data signal SD (e.g., the SD of FIG. 1, FIG. 2, FIG. 3, or FIG. 4, without limitation) of an I2S interface.
  • a serial data signal SD e.g., the SD of FIG. 1, FIG. 2, FIG. 3, or FIG. 4, without limitation
  • FIG. 6 is a block diagram of an AVTP listener 600, according to various examples.
  • the AVTP listener 600 may be configured to operate as an I2S receiver (e.g., the receiver 104 of FIG. 1, the receiver 204 of FIG. 2, or the receiver 304 of FIG. 3, without limitation).
  • the AVTP listener 600 may be configured to receive the 1722 stream 512 from the AVTP talker 500 of FIG. 5.
  • the AVTP listener 600 is configured to extract outgoing analog data 606 responsive to the 1722 stream 512.
  • the AVTP listener 600 includes an AVBTP timestamp comparator 612, a clock generator 610, and a digital to analog (D/A) converter (D/A converter 608).
  • the AVBTP timestamp comparator 612 is configured to compare a wall time 602 (e.g., an 802. IAS network time synchronized with the wall time 502 of FIG. 5 using, without limitation, a PTP) to the timestamps 508 of the 1722 stream 512.
  • the wall time 602 of the AVTP listener 600 may be synchronized with the wall time 502 of the AVTP talker 500 of FIG. 5.
  • the clock generator 610 is configured to generate a media clock 604, which is a recovered version of the media clock 514 of the AVTP talker 500 of FIG. 5.
  • the D/A converter 608 is configured to generate outgoing analog data 606 responsive to the media clock 514 and the comparison between the wall time 602 and the timestamps 508 from the 1722 stream 512.
  • the outgoing analog data 606 may be synchronized to the media clock 604 based on the comparison between the wall time 602 and the timestamps 508.
  • FIG. 7 is a block diagram of timing reference planes 700 (e.g., AVTP timing reference planes, without limitation), according to various examples.
  • FIG. 7 illustrates an ingress time reference plane 746, a presentation time reference plane 748, timestamp measurement planes 744 (e.g., gPTP timestamp measurement planes, without limitation), a talker 740 (e.g., an AVTP talker, without limitation), a listener 742 (e.g., an AVTP listener, without limitation), and time-sensitive applications 704a and 704b.
  • a talker 740 e.g., an AVTP talker, without limitation
  • listener 742 e.g., an AVTP listener, without limitation
  • time-sensitive applications 704a and 704b e.g., AVTP timing reference planes, without limitation
  • the talker 740 includes a stream packetizer 734 (e.g., an AVTP stream packetizer, without limitation) and a network interface 738a (e.g., an AVTP network interface, without limitation).
  • the stream packetizer 734 includes a streaming data interface 706a, a buffer 710a (e.g., including data samples, without limitation), and a control 708a.
  • the network interface 738a includes a buffer 712a (e.g., including 1722 packets, without limitation), a media access control layer (MAC 714a), a physical layer (PHY 716a), and a timer 718a (e.g., an 802. IAS timer, without limitation).
  • MAC 714a media access control layer
  • PHY 716a physical layer
  • timer 718a e.g., an 802. IAS timer, without limitation
  • the listener 742 includes a network interface 738b (e.g., an AVTP network interface, without limitation) and a stream depacketizer 736 (e.g., an AVTP stream depacketizer, without limitation).
  • the network interface 738b includes a PHY 716b, a MAC 714b, a timer 718b (e.g., an 802. IAS timer, without limitation), and a buffer 712b (e.g., including 1722 packets, without limitation).
  • the stream depacketizer 736 includes a buffer 710b (e.g., including data samples, without limitation), a streaming data interface 706b, and a control 708b.
  • FIG. 7 illustrates various latencies (e.g., jack-to-jack latency 720, application-to- application latency 722, without limitation), timing information (e.g., application times 724a and 724b, format conversion times 726a and 726b, a minimum transit time 728, an actual transit time 730 (variable), and a maximum transit time 732, without limitation) involved with streaming data from the time-sensitive application 704a associated with the talker 740 (e.g., the AVTP talker 500 of FIG. 5) to the time-sensitive application 704b associated with the listener 742 (e.g., the AVTP listener 600 of FIG. 6, without limitation) through a cloud 702 (e.g., an 802.1 AVB/TSN cloud, without limitation).
  • a cloud 702 e.g., an 802.1 AVB/TSN cloud, without limitation
  • ingress time reference plane 746 ownership of a fully- prepared 1722 packet is transferred to the network interface 738a for transmission at a time no later than presentation.
  • presentation time reference plane 748 the 1722 packet is guaranteed to be written into the buffer no later than the maximum transmit time.
  • FIG. 8 illustrates a 1722 stream 806, according to various examples.
  • the 1722 stream 806 includes timestamps 802 (7166667, 7333333, ... 866667, 8833333, 9000000) and data 804.
  • the timestamps 802 may be synchronized to a serial clock SCK (e.g., identify falling edges of the serial clock SCKthat correspond to each of the timestamps 802, without limitation).
  • the data 804 and the serial clock SCK may be provided to an I2S peripheral 808.
  • serial clock SCK For a listener user case, it may be challenging to synchronize the serial clock SCK and the data 804.
  • the data 804 and serial clock SCK At the start of I2S streaming, it may be desirable for the data 804 and serial clock SCK to be aligned.
  • An error in alignment between the data 804 and the serial clock SCK at the start of streaming may persist for the entire duration of streaming.
  • hardware solutions disclosed herein may guarantee nanosecond precision without, as a non-limiting example, any real-time requirements for software.
  • An event generator (EG) may trigger a start of a serial clock SCK, which is provided to an I2S peripheral 808, to synchronize the timestamps to the serial clock SCK.
  • EG event generator
  • capturing the timestamps may take place asynchronously from the I2S streaming. If the I2S transmitter is the clock master then a software solution may not reliably recover the relationship between audio samples and their corresponding timestamps.
  • FIG. 9A is a block diagram of an audio system 900 operating with a CODEC 910 (e.g., an audio device, without limitation) as a listener and using a standalone I2S controller 930, according to various examples.
  • the audio system 900 includes a microcontroller (microcontroller 902), the CODEC 910, a phase-locked loop (PLL 908), and a network device 914.
  • the network device 914 includes the I2S controller 930.
  • the audio system 900 is configured to operate as a controller as master I2S system such as the controller as master I2S system 300 of FIG. 3.
  • the microcontroller 902 may operate as an I2S transmitter (e.g., the transmitter 302 of FIG.
  • the CODEC 910 may operate as an I2S receiver (e.g., the receiver 304 of FIG. 3, without limitation), and the I2S controller 930 may operate as an I2S controller (e.g., the controller 306 of FIG. 3, without limitation).
  • the I2S controller 930 is implemented in hardware (in contrast to software). Accordingly, the network device 914 may be a standalone controller including the hardware circuitry of the I2S controller 930.
  • the microcontroller 902 includes an I2S interface 904 and a serial peripheral interface (SPI) master interface (SPI master interface 906).
  • the CODEC 910 includes an I2S interface 912 electrically connected to the I2S interface 904.
  • the audio system 900 includes a digital audio interface including an SD line 934, an SCK line 936, and a frame synchronization (FSY, used interchangeably with WS herein) line (FSY line 938) electrically connecting the I2S interface 912 to the I2S interface 904. Accordingly, the microcontroller 902 is in communication with the CODEC 910 (e.g., an audio device, without limitation) via the serial data SD line 934.
  • the CODEC 910 e.g., an audio device, without limitation
  • the microcontroller 902 is configured to transmit a serial digital signal SD to the CODEC 910 on the SD line 934.
  • the serial digital signal SD includes an I2S stream including data and timestamps such as, for example the data 510 and timestamps 508 of the 1722 stream 512 of FIG. 5 and FIG. 6.
  • the network device 914 includes an SPI slave interface 916 electrically connected to the SPI master interface 906 via a serial clock line 944, a channel select line 946, a master out slave in line 948, and a master in slave out line 950. Accordingly, the network device 914 may be a standalone controller configured to communicate with the microcontroller 902 via a peripheral interface as a peripheral to the microcontroller 902.
  • the network device 914 also includes an I2S controller 930 including a media clock divider 920, a serial clock divider 922 (e.g., 1.5 MHz to 48 kHz, without limitation), and an enable gate 924.
  • the serial clock divider 922 is electrically connected to the serial clock line 944 and the FSY line 938.
  • the serial clock divider 922 is configured to divide the serial clock signal SCK provided to the serial clock line 944 to provide the FSY signal (a word select signal) to the FSY line 938 (a word select line).
  • the network device 914 further includes an event generator 926 electrically connected between the SPI slave interface 916 and the enable gate 924.
  • the network device 914 also includes a timestamp divider 932 electrically connected to the serial clock divider 922, and a time stamper 928 electrically connected to the SPI slave interface 916.
  • the timestamp divider 932 is configured to divide the frame synchronization signal FSY to a rate at which timestamps are provided by the serial data signal SD.
  • the network device 914 includes an event generator 918 electrically connected between the SPI slave interface 916 and the PLL 908.
  • the event generator 918 is electrically connected to the PLL 908 via a reference clock line 942.
  • the event generator 918 and the PLL 908 may together function as the clock generator 610 of FIG. 6 when the CODEC 910 is operating as a listener.
  • the PLL 908 is configured to receive a reference clock signal RCLK from the event generator 918 and provide a media clock signal MCLK to a media clock divider 920 of the I2S controller 930 (e.g., implemented in hardware circuitry, without limitation).
  • the event generator 918 drives the PLL 908. More specifically, the microcontroller 902 may provide timestamps (e.g., the timestamps 508 of FIG. 5, without limitation) to the event generator 918 (e.g., via the SPI master interface 906, the MOSI line, and the SPI slave interface 916, without limitation). For every presentation timestamp the event generator 918 receives, the event generator 918 may generate a pulse, resulting in a reference clock signal RCLK that the event generator 918 provides to the PLL 908 over the reference clock line 942.
  • timestamps e.g., the timestamps 508 of FIG. 5, without limitation
  • the event generator 918 may generate a pulse, resulting in a reference clock signal RCLK that the event generator 918 provides to the PLL 908 over the reference clock line 942.
  • the PLL 908 may multiply the reference clock signal RCLK to generate a media clock signal MCLK (e.g., an audio bit clock (Nx), without limitation) on a media clock line 940.
  • the reference clock signal RCLK may pulse at a frequency between substantially 300 Hertz (Hz) and substantially 8 kilohertz (kHz).
  • the PLL 908 may multiply the reference clock signal RCLK to a media clock signal MCLK of substantially 1.5 MHz for 16-bit stereo.
  • the PLL 908 provides the media clock signal MCLK to the CODEC 910 and the media clock divider 920 via the media clock line 940.
  • the media clock divider 920 is configured to receive and divide the media clock signal MCLK, and provide the divided media clock signal to the enable gate 924.
  • the enable gate 924 is configured to provide a serial clock signal SCK to the SCK line 936 and a frame synchronization signal FSY to the FSY line 938.
  • the microcontroller 902 and the CODEC 910 are configured to receive the frame synchronization signal FSY (a word select signal) and the serial clock signal SCK provided by the hardware circuitry of the network device 914.
  • the enable gate 924 may be triggered to initiate provision of the serial clock signal SCK and the frame synchronization signal FSY responsive to an assertion (e.g., a pulse, without limitation, without limitation) of a synchronization signal SYNC from the event generator 926.
  • the event generator 926 is configure to assert the synchronization signal SYNC responsive to a presentation timestamp, and based at least in part on a synchronized time base (e.g., a wall time, without limitation). Similar to the event generator 918, the event generator 926 may provide a pulse on the synchronization signal SYNC responsive to each presentation timestamp received from the microcontroller 902.
  • the divided media clock signal from the media clock divider 920 may clock at a frequency suitable for use as the serial clock signal SCK (e.g., 2.5 MHz, without limitation) and the enable gate 924 may pass the divided media clock signal as the serial clock signal SCK to the SCK line 936.
  • the enable gate 924 provides the serial clock signal SCK to the microcontroller 902 (via the SCK line 936 and the I2S interface 904) and to the CODEC 910 (via the SCK line 936 and the I2S interface 912).
  • the enable gate 924 also provides the serial clock signal SCK to the serial clock divider 922, which divides the serial clock signal SCK to generate the frame synchronization signal FSY.
  • the serial clock divider 922 provides the frame synchronization signal FSY to the microcontroller 902 (via the FSY line 938 and the I2S interface 904) and to the CODEC 910 (via the FSY line 938 and the I2S interface 912).
  • audio system 900 enables start of streaming at a specific time by providing the I2S controller 930 with a synchronizable start time point, which is triggered by a pulse of the synchronization signal SYNC. Synchronization is accomplished using event generators (event generator 926 and event generator 918).
  • Streaming (e.g., transmission of data using the serial data signal SD on the SD line 934, without limitation) initiates at a dedicated timestamp because the synchronization signal SYNC pulses responsive to a timestamp.
  • the clocks the reference clock signal RCLK, the media clock signal MCLK
  • the microcontroller 902 i.e., provision of data on the serial data signal SD
  • the microcontroller 902 may be initiated at the same time that the synchronization signal SYNC is pulsed to initiate provision of the serial clock signal SCK and the frame synchronization signal FSY by the enable gate 924.
  • the SPI communications from the microcontroller 902 to the network device 914 enable synchronization of the serial clock signal SCK with the streamed data communicated by the serial data signal SD. Since the serial clock signal SCK runs synchronously, any later synchronization is not required. In various examples, however, the serial clock signal SCK may be monitored (e.g., if it is from an external source, without limitation) to be able to detect issues while the stream is running.
  • FIG. 9B is a block diagram of the audio system 900 of FIG. 9A with the CODEC 910 operating as a talker, according to various examples.
  • the I2S controller 930 may operate as an I2S controller (e.g., the controller 306 of FIG. 375, without limitation) in a controller as master I2S system (e.g., the controller as master I2S system 300 of FIG. 3, without limitation).
  • the microcontroller 902 may operate as an I2S receiver (e.g., the receiver 304 of FIG. 3, without limitation) and the CODEC 910 may operate as an I2S transmitter (e.g., the transmitter 302 of FIG.
  • the CODEC 910 may transmit a serial data signal SD (e.g., including the data 510 and the timestamps 508 of the 1722 stream 512 of FIG. 5, without limitation) on the SD line 934 to the microcontroller 902.
  • SD serial data signal
  • I2S controller 930 enables synchronization of captured time stamps to an input stream of audio samples.
  • the network device 914 recovers the media clock MCLK, and the I2S controller 930 provides the serial clock signal SCK and the frame synchronization signal FSY, as discussed with reference to FIG. 9A.
  • the I2S controller 930 (specifically the serial clock divider 922) provides the frame synchronization signal FSY to the timestamp divider 932, which divides the frame synchronization signal FSY using a timestamp divider 932.
  • the timestamp divider 932 may divide the frame synchronization signal FSY to a rate at which timestamps are provided by the serial data signal SD.
  • a time stamper 928 may provide the divided frame synchronization signal to the microcontroller 902 (e.g., using a master in slave out signal MISO on the master in slave out line 950, without limitation).
  • FIG. 10 is a block diagram of another audio system 1000 with a CODEC 1008 (e.g., an audio device, without limitation) operating as a talker and as a master node, according to various examples.
  • the audio system 1000 includes a microcontroller 1002, a CODEC 1008, and a network device 1012.
  • the microcontroller 1002 is similar to the microcontroller 902 of FIG. 9A and FIG. 9B.
  • the microcontroller 1002 includes an I2S interface 1004 and an SPI master interface 1006 similar to the I2S interface 904 and the SPI master interface 906 discussed above with reference to FIG. 9A and FIG. 9B.
  • the CODEC 1008 is similar to the CODEC 910 of FIG.
  • the CODEC 1008 provides a serial data signal SD to the microcontroller 1002 because the CODEC 1008 is shown as operating as a talker.
  • the CODEC 1008 is also operating as an I2S master node, similar to the transmitter 102 of the transmitter as master I2S system 100 of FIG. 1.
  • the CODEC 1008 provides a master serial clock signal MSCK and a master frame select signal MFSY to the network device 1012 (e.g., a standalone controller, without limitation).
  • the CODEC 1008 includes an I2S interface 1010 similar to the I2S interface 912 of FIG. 9A and FIG. 9B.
  • the microcontroller 1002 is shown as operating as a receiver, similar to the receiver 104 of FIG. 1.
  • the network device 1012 of FIG. 10 like the network device 914 of FIG. 9A and FIG. 9B, is implemented in hardware (in contrast to software).
  • the network device 1012 includes an SPI slave interface 1014 similar to the SPI slave interface 916 of FIG. 9A and FIG. 9B electrically connected to the SPI master interface 1006 of the microcontroller 1002.
  • the network device 1012 includes a timestamp divider 1024 and a timestamp generator 1020, which are similar to the time stamper 928 and the timestamp divider 932 of FIG. 9A and FIG. 9B.
  • the network device 1012 is different from the network device 914 of FIG. 9 A and FIG. 9B.
  • the network device 1012 since the network device 1012 is not operating as the I2S master node (the CODEC 1008 is operating as the I2S master node), the network device 1012 does not include circuitry (e.g., the event generator 918 and the PLL 908 of FIG. 9A and FIG. 9B, without limitation) for recovering a reference clock (see the reference clock RCLK of FIG. 9A and FIG. 9B). Also, although the network device 1012 includes an I2S controller 1022, the I2S controller 1022 is different from the I2S controller 930 of FIG. 9A and FIG. 9B.
  • circuitry e.g., the event generator 918 and the PLL 908 of FIG. 9A and FIG. 9B, without limitation
  • the network device 1012 includes an I2S controller 1022 including an enable gate EN (enable gate 1018) and an AND gate “&” (AND gate 1026).
  • the enable gate 1018 is configured to receive the master serial clock signal MSCK and the master frame synchronization signal MFSY from the CODEC 1008 (e.g., via the I2S interface 1010, without limitation).
  • the enable gate 1018 is also configured to begin providing the serial clock signal SCK and the frame synchronization signal FSY to the microcontroller 1002 (e.g., via a serial clock line 1030 and a frame synchronization line 1032, respectively, and the I2S interface 1004, without limitation) responsive to a trigger.
  • the network device 1012 also includes an event generator 1016 ("EG"), a timestamp generator 1020 (“TS”), and a timestamp divider 1024 (“DIV").
  • the CODEC 1008 is configured to provide the serial data signal SD (e.g., including data and timestamps, without limitation) to the microcontroller 1002 via a serial data line 1028.
  • the CODEC 910 is also configured to provide the master serial clock signal MSCK (e.g., via a master serial clock line 1036, without limitation) and the master frame synchronization signal MFSY (e.g., via a master frame synchronization line 1034, without limitation, which may also be referred to herein as a “master word select line”) to the enable gate 1018 of the I2S controller 1022.
  • the enable gate 1018 may be triggered immediately or in responsive to an output signal of the AND gate 1026.
  • the event generator 1016 is configured to assert a synchronization signal SYNC responsive to timestamps provided by the microcontroller 1002 to the network device 1012.
  • the microcontroller 1002 may receive the data and timestamps from the CODEC 1008 via the serial data signal SD through the serial data line 1028 and the I2S interface 1004, and provide the timestamps to the event generator 1016 via the SPI master interface 1006, a MOSI signal, and the SPI slave interface 1014.
  • the AND gate 1026 is configured to receive the synchronization signal SYNC and the master frame synchronization signal MFSY.
  • the AND gate 1026 is configured to trigger the enable gate 1018 to provide the serial clock signal SCK to the serial clock line 1030 responsive to an assertion of the synchronization signal SYNC and an assertion of the master frame synchronization signal MFSY received from the CODEC 1008.
  • the enable gate 1018 is configured to start provision of the serial clock signal SCK and the frame synchronization signal FSY responsive to assertions of the synchronization signal SYNC from the event generator 1016 and the master frame synchronization signal MFSY (a master word select signal).
  • the AND gate 1026 asserts its output to trigger the enable gate 1018 when both the synchronization signal SYNC and the master frame synchronization signal MFSY are asserted, the frame synchronization signal FSY and the serial clock signal SCK provided by the enable gate 1018 are synchronized to the master frame synchronization signal MFSY and the master serial clock signal MSCK provided by the CODEC 1008.
  • the microcontroller 1002 receives timestamps via the serial data signal SD from the CODEC 1008 and provides the timestamps to the event generator 1016 (e.g., via a MOSI signal from the SPI master interface 1006 to the SPI slave interface 1014, without limitation), triggering the synchronization signal SYNC, the enable gate 1018 will start providing the serial clock signal SCK and the frame synchronization signal FSY to the microcontroller 1002 at the next master frame synchronization signal MFSY edge (e.g., falling edge, without limitation).
  • MFSY edge e.g., falling edge, without limitation
  • the audio system 1000 may solve the problem of the CODEC 1008 operating as an I2S master mode by enabling of clocks (e.g., the serial clock signal SCK and the frame synchronization signal FSY on the serial clock line 1030 and the frame synchronization line 1032, respectively, without limitation) aligned to the master frame synchronization signal MFSY provided by the CODEC 1008 to be able to match the FSY timestamp to its related audio sample.
  • clocks e.g., the serial clock signal SCK and the frame synchronization signal FSY on the serial clock line 1030 and the frame synchronization line 1032, respectively, without limitation
  • the AND gate 1026 ensures that the enable gate 1018 does not start providing the serial clock signal SCK and the frame synchronization signal FSY to the microcontroller 1002 until the first edge (e.g., falling edge, without limitation) of the master frame synchronization signal MFSY provided by the CODEC 1008 after the enable gate 1018 confirms (e.g., via an assertion of the synchronization signal, without limitation) that the microcontroller 1002 has received at least a first timestamp.
  • the first edge e.g., falling edge, without limitation
  • MFSY provided by the CODEC 1008
  • Gate latency may be timing critical if the serial data signal SD should not be delayed.
  • the enable gate 1018 is configured to provide the serial clock signal SCK and the frame synchronization signal FSY to the microcontroller 1002 via the serial clock line 1030 and the frame synchronization line 1032, respectively.
  • the enable gate 1018 is also configured to provide the frame synchronization signal FSY to the timestamp divider 1024, and the timestamp generator 1020 is configured to generate timestamps corresponding to the audio data communicated in the serial data signal SD.
  • the network device 1012 is configured to provide the timestamps to the microcontroller 1002 via the MISO line.
  • an I2S controller e.g., the I2S controller 1022 of FIG. 10, without limitation
  • the I2S controller receives an external clock.
  • the I2S controller 1022 of FIG. 10 receives the master serial clock signal MSCK from the CODEC 1008.
  • the I2S controller may provide some timestamping capability of the frame synchronization signal FSY, and forward the timestamps (e.g., via direct memory access, or “DMA”, without limitation) so that the timestamps may be stored synchronously with any incoming audio sample data.
  • the audio sample data may also be divided into blocks of samples, where each block corresponds to a single timestamp, to reduce the number of timestamps that require further processing.
  • FIG. 11 is a block diagram of an audio system segment 1100 including a network device 1102 that may be implemented into a microcontroller 1114, according to various examples.
  • the network device 1102 may be configured to perform some of the operations that the network device 914 of FIG. 9A and FIG. 9B and the network device 1012 of FIG. 10 are configured to perform.
  • the network device 1102 is implemented in hardware, in contrast to software or firmware similar to the network device 914 and the network device 1012.
  • the audio system segments 1100 is implemented into the microcontroller 1114 as a peripheral to a processing core (not shown) of the microcontroller 1114, in contrast to the network device 914 and the network device 1012, which are implemented as standalone controllers separate from their respective microcontrollers (microcontroller 902 of FIG. 9A and microcontroller 1002 of FIG. 10, respectively).
  • the network device 1102 includes a media clock generator 1104 ("MCG”), an event generator 1106 (“EG”), a timestamp generator 1108 ("TS”), a timestamp divider 1110 (“DIV”), and an I2S peripheral 1112.
  • MCG media clock generator 1104
  • EG event generator 1106
  • TS timestamp generator 1108
  • DIV timestamp divider 1110
  • I2S peripheral 1112 is electrically connected to a serial data line 1116, a serial clock line 1118, and a frame synchronization line 1120.
  • the I2S peripheral 1112 is configured to provide the serial clock signal SCK (e.g., to a codec, without limitation).
  • the I2S peripheral may provide or receive the serial data signal SD and a frame synchronization signal FSY (e.g., to/from the codec, without limitation).
  • the I2S peripheral 1112 may receive a media clock signal MCLK generated by the media clock generator 1104.
  • the I2S peripheral may receive the SD signal from a codec and provide an FSY' signal to the timestamp divider 1110.
  • the timestamp generator 1108 may generate timestamps corresponding to data of the serial data signal SD.
  • the I2S peripheral 1112 may synchronize the timestamps based on the media clock MCLK.
  • the I2S peripheral 1112 may receive a synchronization signal SYNC generated by the event generator 1106. In response the I2S peripheral 1112 may provide the serial data signal SD, the serial clock signal SCK, and the frame synchronization signal FSY to the codec.
  • the codec may be implemented in hardware on the same die with a microcontroller (i.e., separate from a processing core of the microcontroller).
  • An IEEE 1588 wallclock and a PLL may also be implemented on the same die.
  • the I2S may be directly clocked from the media clock generator 1104 as an internal clock source. Functionality of the I2S controllers of FIG. 9A, FIG. 9B, and FIG. 10 may be merged into the I2S peripheral 1112 of the audio system segment 1100.
  • the media clock generator 1104 may directly deliver the media clock signal MCK to the I2S peripheral 1112, and the timestamp generator 1108 may be connectable to an FSY' output of 12 S peripheral 1112.
  • synchronization logic may be integrated directly into I2S periphery of a microcontroller.
  • I2S periphery e.g., an I2S transmitter, an I2S receiver, an I2S controller, without limitation
  • master mode the microcontroller is the clock source
  • master mode the microcontroller is the clock source
  • master mode the microcontroller is the clock source
  • FIG. 12 is a state flow diagram of the audio system segment 1100 of FIG. 11, according to various examples.
  • the I2S peripheral 1112 (FIG. 11) is extended by a synchronization state machine.
  • INIT 1204 the I2S peripheral 1112 (including DMA and event generator 1106) is configured to switch to a synchronization state SYNC 1206.
  • SYNC 1206 outputs are active, but the serial clock signal SCK will not run until the event generator 1106 triggers a switch to the transmit state TRX 1202.
  • the serial clock signal SCK and the frame synchronization signal FSY and data transmission are running. Synchronized (gated) frame synchronization signal FSY output results in a case of an external clock source (e.g., frame synchronization signal FSY, without limitation) input.
  • an external clock source e.g., frame synchronization signal FSY, without limitation
  • Example 1 An audio system, comprising: a word select line of a digital audio interface; a serial clock line of the digital audio interface; and hardware circuitry configured to: provide a word select signal to the word select line, the word select signal configured to indicate channels of a serial data signal provided to a serial data line of the digital audio interface; provide a serial clock signal to the serial clock line; and synchronize the serial clock signal to a clock reference stream of an audio stream communicated via a network interface.
  • Example 2 The audio system of Example 1, wherein the hardware circuitry includes an enable gate configured to start provision of the serial clock signal responsive to an assertion of a synchronization signal.
  • Example 3 The audio system of Example 2, wherein the hardware circuitry includes an event generator configured to assert the synchronization signal responsive to a presentation timestamp.
  • Example 4 The audio system according to any one of Examples 1-3, wherein hardware circuitry is configured to synchronize the serial clock signal at least partially based on a synchronized time base, the synchronized time base including a wallclock time.
  • Example 5 The audio system according to any one of Examples 1-4, wherein the hardware circuitry includes a serial clock divider electrically connected to the serial clock line and the word select line, the serial clock divider configured to divide the serial clock signal provided to the serial clock line to provide the word select signal to the word select line.
  • the hardware circuitry includes a serial clock divider electrically connected to the serial clock line and the word select line, the serial clock divider configured to divide the serial clock signal provided to the serial clock line to provide the word select signal to the word select line.
  • Example 6 The audio system according to any one of Examples 1-5, wherein the hardware circuitry includes a timestamp divider configured to divide the word select signal to a rate at which timestamps are provided by the serial data signal.
  • the hardware circuitry includes a timestamp divider configured to divide the word select signal to a rate at which timestamps are provided by the serial data signal.
  • Example 7 The audio system according to any one of Examples 1-6, comprising a standalone controller including the hardware circuitry.
  • Example 8 The audio system of Example 7, comprising: an audio device; and a microcontroller electrically connected to the audio device via the serial data line of the digital audio interface, the microcontroller and the audio device configured to receive the word select signal and the serial clock signal provided by the hardware circuitry.
  • Example 9 The audio system of Example 8, wherein the standalone controller is configured to communicate with the microcontroller via a peripheral interface as a peripheral to the microcontroller.
  • Example 10 The audio system according to any one of Examples 8 and 9, further comprising a phase locked loop configured to receive a reference clock signal and provide a media clock signal to a media clock divider of the hardware circuitry.
  • Example 11 The audio system according to any one of Examples 8 and 9, wherein: the audio device is configured to operate as a master talker node; the standalone controller is configured to receive a master serial clock signal and a master word select signal from the audio device; the hardware circuitry includes an enable gate configured to start provision of the serial clock signal responsive to assertions of a synchronization signal from an event generator and the master word select signal.
  • Example 12 The audio system according to any one of Examples 1-6, comprising a microcontroller including the hardware circuitry implemented as a peripheral to a processing core of the microcontroller.
  • Example 13 Circuitry for controlling timing of communications, the circuitry comprising: a serial clock line; an enable gate electrically connected to the serial clock line, the enable gate configured to start provision of a serial clock signal to the serial clock line based, at least in part, on an assertion of a synchronization signal; and an event generator configured to assert the synchronization signal responsive to a presentation time stamp from a serial data signal, the presentation time stamp correlated to a synchronized time base, the enable gate and the event generator implemented using hardware circuitry.
  • Example 14 The circuitry of Example 13, wherein the hardware circuitry is implemented within a microcontroller as a peripheral to a processing core of the microcontroller.
  • Example 15 The circuitry of Example 13, wherein the hardware circuitry is implemented within a standalone controller separate from a microcontroller.
  • Example 16 The circuitry of Example 15, comprising a communication interface configured to electrically connect the standalone controller to the microcontroller, the event generator configured to receive the presentation time stamp from the microcontroller through the communication interface.
  • Example 17 The circuitry according to any one of Examples 13-16, comprising: a word select line configured to conduct a word select signal; and a timestamp divider electrically connected to the word select line, the timestamp divider configured to divide the word select signal to a rate at which timestamps are provided by the serial data signal.
  • Example 18 The circuitry according to any one of Examples 13-17, comprising: a master word select line configured to deliver a master word select signal from a master node to the enable gate; and an AND gate configured to receive the synchronization signal and the master enable gate, the AND gate configured to trigger the enable gate to provide the serial clock signal to the serial clock line responsive to the assertion of the synchronization signal and an assertion of the word select signal.
  • Example 19 The circuitry according to any one of Examples 13-18, wherein the enable gate is configured to provide the serial clock signal to the serial clock line responsive to the assertion of the synchronization signal.
  • Example 20 The circuitry according to any one of Examples 13, 15-17, and 19, wherein the hardware circuitry is configured to provide the serial clock signal and a word select signal as a standalone controller and as a master node.
  • Example 21 An audio system, comprising: a word select line of a digital audio interface; a serial clock line of the digital audio interface; and hardware circuitry configured to: provide a word select signal to the word select line, the word select signal configured to indicate channels of a serial data signal provided to a serial data line of the digital audio interface; provide a serial clock signal to the serial clock line; and synchronize, at least partially based on a synchronized time base, the serial clock signal to a clock reference stream of an audio stream communicated via a network interface.
  • Example 22 The audio system of Example 21, further comprising a standalone controller including the hardware circuitry.
  • Example 23 The audio system of Example 22, further comprising: an audio device; and a microcontroller electrically connected to the audio device via the serial data line of the digital audio interface, the microcontroller configured to receive the word select signal and the serial clock signal provided by the hardware circuitry.
  • Example 24 The audio system of Example 23, wherein: the microcontroller is configured to generate the serial data signal responsive to the audio stream received via the network interface; the microcontroller is configured to provide the serial data signal to the audio device via the serial data line; and the hardware circuitry is configured to synchronize a starting point at which the audio stream is to be presented by the audio device.
  • Example 25 The audio system of Example 23, wherein: the audio device is configured to provide the serial data signal to the microcontroller via the serial data line; and the microcontroller is configured to provide the clock reference stream and the audio stream to the network interface.
  • Example 26 The audio system according to any one of Examples 23-25, wherein the standalone controller is configured to communicate with the microcontroller via a peripheral interface as a peripheral to the microcontroller.
  • Example 27 The audio system according to any one of Examples 23-26, wherein the standalone controller includes an enable gate configured to enable the serial clock.
  • Example 28 The audio system of Example 27, wherein the enable gate is configured to be triggered by an event generator.
  • Example 29 The audio system according to any one of Examples 23-28, further comprising a phase locked loop configured to receive a reference clock and provide a media clock to a clock divider of the hardware circuitry.
  • Example 30 The audio system according to any one of Examples 23-29, wherein the audio device is also configured to receive the serial clock signal and the word select signal provided by the hardware circuitry.
  • Example 31 The audio system of Example 23, wherein: the audio device is configured to provide the serial clock signal and the word select signal to the hardware circuitry; and the hardware circuitry is configured to provide the serial clock signal and the word select signal to the microcontroller by relaying the serial clock signal and the word select signal received from the audio device to the serial clock line and the word select line, respectively.
  • Example 32 The audio system of Example 21, further comprising a microcontroller including the hardware circuitry as a peripheral controller.
  • Example 33 The audio system of Example 32, further comprising an audio device electrically connected to the hardware circuitry via the word select line and the serial clock line.
  • Example 34 The audio system according to any one of Examples 32 and 33, wherein the microcontroller includes a media clock generator, an event generator including a phase locked loop, and a timestamp generator.
  • Example 35 The audio system according to any one of Examples 21-34, wherein the synchronized clock base comprises a wallclock time.
  • Example 36 The audio system according to any one of Examples 21-35, wherein the clock reference stream and the audio stream comprise an International Electrical and Electronics (IEEE) 1722 stream.
  • IEEE International Electrical and Electronics
  • Example 37 The audio system according to any one of Examples 21-36, wherein the network interface includes a wired network interface.
  • Example 38 The audio system of Example 37, wherein the wired network interface includes an Ethernet interface.
  • Example 39 The audio system according to any one of Examples 21-38, wherein the audio system includes an automobile audio system.
  • Example 40 The audio system according to any one of Examples 21-39, wherein the audio system includes a surround sound system.
  • module or “component” may refer to specific hardware implementations configured to perform the actions of the module or component or software objects or software routines that may be stored on or executed by general purpose hardware (e.g., computer-readable media, processing devices, without limitation) of the computing system.
  • general purpose hardware e.g., computer-readable media, processing devices, without limitation
  • the different components, modules, engines, and services described in the present disclosure may be implemented as objects or processes that execute on the computing system (e.g., as separate threads, without limitation). While some of the system and methods described in the present disclosure are generally described as being implemented in software (stored on or executed by general purpose hardware), specific hardware implementations or a combination of software and specific hardware implementations are also possible and contemplated.
  • the term "combination" with reference to a plurality of elements may include a combination of all the elements or any of various different subcombinations of some of the elements.
  • the phrase "A, B, C, D, or combinations thereof may refer to any one of A, B, C, or D; the combination of each of A, B, C, and D; and any subcombination of A, B, C, or D such as A, B, and C; A, B, and D; A, C, and D; B, C, and D; A and B; A and C; A and D; B and C; B and D; or C and D.
  • any disjunctive word or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms.
  • the phrase “A or B” should be understood to include the possibilities of “A” or “B” or “A and B.”

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
PCT/US2021/070857 2020-07-09 2021-07-09 Time-synchronized hardware controllers and related audio systems and circuitry WO2022011397A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112021003685.8T DE112021003685T5 (de) 2020-07-09 2021-07-09 Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen
KR1020237002435A KR20230025902A (ko) 2020-07-09 2021-07-09 시간-동기화된 하드웨어 컨트롤러들 및 관련 오디오 시스템들 및 회로부
CN202180048083.XA CN115769186A (zh) 2020-07-09 2021-07-09 时间同步的硬件控制器以及相关的音频系统和电路
JP2023500046A JP2023532955A (ja) 2020-07-09 2021-07-09 時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202062705653P 2020-07-09 2020-07-09
US62/705,653 2020-07-09

Publications (1)

Publication Number Publication Date
WO2022011397A1 true WO2022011397A1 (en) 2022-01-13

Family

ID=77265359

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2021/070857 WO2022011397A1 (en) 2020-07-09 2021-07-09 Time-synchronized hardware controllers and related audio systems and circuitry

Country Status (6)

Country Link
US (1) US20220013149A1 (de)
JP (1) JP2023532955A (de)
KR (1) KR20230025902A (de)
CN (1) CN115769186A (de)
DE (1) DE112021003685T5 (de)
WO (1) WO2022011397A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985218B2 (en) * 2021-08-27 2024-05-14 Harman International Industries, Incorporated Media clock recovery and trigger

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110228768A1 (en) * 2010-03-16 2011-09-22 Harman International Industries, Incorporated Media extractor
WO2019136076A1 (en) * 2018-01-05 2019-07-11 Summit Wireless Technologies, Inc. Software based audio timing and synchronization

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9512068D0 (en) * 1995-06-14 1995-08-09 Thomson Consumer Electronics Bus and interface system for consumer digital equipment
US5513148A (en) * 1994-12-01 1996-04-30 Micron Technology Inc. Synchronous NAND DRAM architecture
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
JP4120440B2 (ja) * 2003-03-31 2008-07-16 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP5149012B2 (ja) * 2004-11-18 2013-02-20 ナショナル・ユニバーシティ・オブ・アイルランド・ガルウェイ ネットワーク上のマルチチャネルスピーカの同期
US20070143801A1 (en) * 2005-12-20 2007-06-21 Madonna Robert P System and method for a programmable multimedia controller
TWM324819U (en) * 2007-06-29 2008-01-01 Tenx Technology Inc Computer interface controller for portable plug-and-play peripherals
GB2463663A (en) * 2008-09-19 2010-03-24 Data Conversion Systems Ltd Computer audio interface unit which generates a word clock and computer synchronization based on an independent reference signal
KR101780422B1 (ko) * 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
EP2615558B1 (de) * 2012-01-13 2018-04-18 Dialog Semiconductor B.V. Schaltungen und Verfahren zur Reduzierung der Anschlussstiftzahl einer Einzelkanalvorrichtung mit einer seriellen Mehrkanalschnittstelle
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
US9429980B2 (en) * 2013-03-14 2016-08-30 Microchip Technology Incorporated Flexible clocking for audio sample rate converter in a USB system
US9354658B2 (en) * 2014-05-09 2016-05-31 Apple Inc. Method for asynchronous gating of signals between clock domains
US20160006526A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Systems and methods of network clock comparison
CN105450384A (zh) * 2015-12-10 2016-03-30 中国能源建设集团广东省电力设计研究院有限公司 通信系统同步时钟对时装置
US20180285292A1 (en) * 2017-03-28 2018-10-04 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110228768A1 (en) * 2010-03-16 2011-09-22 Harman International Industries, Incorporated Media extractor
WO2019136076A1 (en) * 2018-01-05 2019-07-11 Summit Wireless Technologies, Inc. Software based audio timing and synchronization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PHILIPS: "I2S bus specification", INTERNET CITATION, 5 June 1996 (1996-06-05), pages 1 - 7, XP002603570, Retrieved from the Internet <URL:http://www.nxp.com/acrobat_download2/various/I2SBUS.pdf> [retrieved on 20101005] *

Also Published As

Publication number Publication date
US20220013149A1 (en) 2022-01-13
DE112021003685T5 (de) 2023-04-27
CN115769186A (zh) 2023-03-07
JP2023532955A (ja) 2023-08-01
KR20230025902A (ko) 2023-02-23

Similar Documents

Publication Publication Date Title
US9471531B2 (en) Adaptive isochronous USB audio to RF communication device
TWI511516B (zh) 在網路鎖定狀態發生後用以同步多個網路節點的通訊系統及方法
US20200127752A1 (en) Time synchronization device and time synchronization method
US20090135854A1 (en) System and method for clock synchronization
JP2001505680A (ja) コンピュータシステムにおいて使用する同期インフラストラクチャー
US11477328B2 (en) PTP-based audio clock synchronization and alignment for acoustic echo cancellation in a conferencing system with IP-connected cameras, microphones and speakers
JP2009527152A5 (de)
WO2010132946A1 (en) Universal serial bus with lossless data pipe and precision synchronisation layer
US20220013149A1 (en) Time-synchronized hardware controllers and related audio systems and circuitry
JP2018510567A (ja) ビーコンに基づくワイヤレス同期化
US20230032250A1 (en) Multi-channel signal synchronization system, circuit, and method
Prytz et al. Redundant and synchronized EtherCAT network
CN103546273A (zh) 基于ptp帧的频率同步装置及方法
CN116318510A (zh) 数字会议系统及其音频时钟同步方法
JP5354913B2 (ja) パケット切換ネットワークのための、同期信号を表すサンプルランプ信号を発生させる装置、及び同期信号の再構成を支援する装置
US20070223464A1 (en) Method for the Synchronization of Media Gateways in an IP Network
TWI734326B (zh) 音訊同步處理電路及其方法
CN111181677B (zh) 时间同步方法、网络设备及存储介质
TWI400596B (zh) 同步接收電路及方法
Yuan et al. Design of JESD204B multi-channel data acquisition and playback system based on SoPC
US20230179314A1 (en) In-band signaling for ingress ptp packets at a master entity
WO2020174943A1 (ja) オーディオ信号同期制御装置及びオーディオ装置
KR20240086140A (ko) 항공전자 시스템을 위한 시각 동기된 다중 양방향 tmds 데이터 전송 기능을 갖는 지능형 전자 장치
Kim et al. Precise synchronization mechanism in wireless devices
JP3521275B2 (ja) 位相合わせ装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21752472

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023500046

Country of ref document: JP

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 20237002435

Country of ref document: KR

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21752472

Country of ref document: EP

Kind code of ref document: A1