I²S
Template:Short description Template:Confused Template:Redirect-distinguish
Inter-Integrated Circuit Sound (I²S, pronounced "eye-squared-ess"Template:Fact) is a serial interface protocol for transmitting two-channel, digital audio as pulse-code modulation (PCM) between integrated circuit (IC) components of an electronic device. An I²S bus separates clock and serial data signals, resulting in simpler receivers than those required for asynchronous communications systems that need to recover the clock from the data stream. Alternatively, I²S is spelled I2S (pronounced eye-two-ess) or IIS (pronounced eye-eye-ess). Despite a similar name, I²S is unrelated to I²C.
HistoryEdit
The protocol standard was introduced in 1986 by Philips Semiconductor (now NXP Semiconductors) and was first revised June 5, 1996.<ref name=i2s-spec>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> The standard was last revised on February 17, 2022 and updated terms master and slave to controller and target.<ref name="nxp-spec2022">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
DetailsEdit
As shown in the diagram, the protocol requires the following lines:
- Serial clock (SCK),<ref name="i2s-spec" /> a.k.a. bit clock (BCLK).<ref name=":0">{{#invoke:citation/CS1|citation
|CitationClass=web }}</ref>
- Word select (WS);<ref name="i2s-spec" /> a.k.a. left-right clock (LRCLK)<ref name=":0" /> or frame sync (FS).<ref name=":1" /> 0 = Left channel, 1 = Right channel<ref name="i2s-spec" />
- Serial data (SD),<ref name="i2s-spec" /> a.k.a. SDATA, SDIN, SDOUT, DACDAT, ADCDAT<ref name=":0" />
The protocol may also include the following lines:
- Master clock (typically 256 x LRCLK); not part of the standard,<ref>{{#invoke:citation/CS1|citation
|CitationClass=web }}</ref> but is commonly included for synchronizing the internal operation of the analog/digital converters<ref name=":1">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref><ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- A multiplexed data line for upload
The bit clock pulses once for each discrete bit of data on the data lines. The bit clock frequency is the product of the sample rate, the number of bits per channel and the number of channels. So, for example, CD Audio with a sample frequency of 44.1 kHz, with 16 bits of precision and two channels (stereo) has a bit clock frequency of:
- 44.1 kHz × 16 × 2 = 1.4112 MHz
The word select clock lets the device know whether channel 1 (WS = 0) or channel 2 (WS = 1) is currently being sent, because I²S allows two channels to be sent on the same data line. It is a 50% duty-cycle signal that has the same frequency as the sample frequency. For stereo material, the I²S specification states that left audio is transmitted on the low cycle of the word select clock and the right channel is transmitted on the high cycle. It is typically synchronized to the falling edge of the serial clock, as the data is latched on the rising edge.<ref name="i2s-spec" /> The word select clock changes one bit clock period before the MSB is transmitted. This enables, for example, the receiver to store the previous word and clear the input for the next.<ref name="i2s-spec" />
Data is signed, encoded as two's complement with the MSB (most significant bit) first.<ref name=i2s-spec/> This allows the number of bits per frame to be arbitrary, with no negotiation required between transmitter and receiver.<ref name="i2s-spec" />
As an audio interconnectEdit
Template:More citations needed section
In audio equipment, I²S is sometimes used as an external link between a CD player or digital audio streaming device and an external digital-to-analog converter, as opposed to a purely internal connection within one player box. This may form an alternative to the commonly used AES/EBU, Toslink or S/PDIF standards.
The I²S connection was not intended to be used via cables, and most integrated circuits will not have the correct impedance for coaxial cables. As the impedance adaptation error associated with the different line lengths can cause differences in propagation delay between the clock line and data line, this can result in synchronization problems between the SCK, WS and data signals, mainly at high sampling frequencies and bitrates. As the I²S bus doesn't have any error detection mechanism, this can cause significant decoding errors.
There is no standard interconnecting cable for this application. Some manufacturers simply provide three BNC connectors, an 8P8C ("RJ45") socket or a DE-9 connector. Others like Audio Alchemy (now defunct) used DIN connectors. PS Audio, Musica Pristina and Wyred4Sound use an HDMI connector.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> Dutch manufacturer Van Medevoort has implemented Q-link in some of its equipment, which transfers I²S over 4 RCA connectors (data, MCK, LRCK, BCK).
See alsoEdit
ReferencesEdit
External linksEdit
- I²S Specification - Philips/NXP
- I²S and STM32F4 Slides - Auburn University
- Common inter-IC digital interfaces for audio data transfer, PDF Template:Webarchive