Questions tagged [i2s]

Despite the name, it is unrelated to the bidirectional I²C bus. I²S is a media-specific protocol which uses at least three signals: Bit CLK, Word CLK, and at least one data line.

Inter-IC Sound (I²S) is a serial bus interface standard used for connecting digital audio devices. The I²S bus separates clock and data signals, resulting in a very low-jitter connection. The bus consists of three lines: a clock line, a word-select line, and a multiplexed-data line.

Wikipedia article for I²S
I²S Bus Specification (archived by the Wayback Machine on July 2, 2006)

120 questions
10
votes
4 answers

MCLK in I2S audio protocol

I am working with the I2S audio protocol in one of my projects and I'd like to use it in one of my final projects for a class of mine. Quite honestly though, I don't entirely understand the MCLK line. You'd think, "Oh that just stands for Master…
Funkyguy
  • 3,558
  • 1
  • 21
  • 45
9
votes
2 answers

Low pass filter with two capacitors?

I'm trying to drive a speaker from an ESP8266 for a project, and found an article suggesting (ab)using I2S as a 1-bit Pulse Density Modulation DAC. Apparently that's pretty noisy, so the article gives the following circuit diagram for the low pass…
Garth Kidd
  • 193
  • 6
5
votes
3 answers

I2S communication

I am designing an audio amplifier circuit which consists of an I2S digital MEMS mic (INMP441) for picking up voice signals and an I2S class-D amplifier (MAX98357A) for amplification. Both these ICs have three lines (Serial Data, Serial Clock, Word…
Sri
  • 87
  • 3
4
votes
1 answer

If I invert an I2S data line, it inverts the audio, right?

It seemed obvious to me, but then I read all these audio forums where they're talking about overflow, tones, etc. and I just want to make sure I'm not missing something. If you take an I2S signal: and run the serial data (SD) signal through a logic…
endolith
  • 28,494
  • 23
  • 117
  • 181
3
votes
1 answer

Resistor between 74595 SRCLR and GND

What is the function of this resistor and is it okay with this value ? Rizki
3
votes
1 answer

Why is my frequency being effectively doubled?

I'll try to explain everything with detail as this is one will be a hard one to explain. Essentially what I am trying to achieve is sum both the left & right channel to produce a mono signal to be outputted via I2S as the subwoofer line. The problem…
Leoc
  • 1,393
  • 1
  • 9
  • 21
3
votes
1 answer

I2S input (ADC) yields garbage, output (DAC) works fine

Setup: STM32F407 (discovery board) used in I2S master mode I2S in/out module, 24 bit over 32 bits frame, used in I2S slave mode using CubeMX's HAL for the prototype (this might not be relevant) I2S output is connected to I2S3 (MCLK=PC7, WS=PA15,…
syam
  • 151
  • 5
3
votes
1 answer

What's the difference between SAI and I2S?

I'm developing a USB audio device using an STM32F407G-DISC1 evaluation board. For the audio output I was intending to just use the I2S peripheral connected to a DAC. However the only sample code I can find uses an SAI module: What is this SAI…
donturner
  • 243
  • 2
  • 11
3
votes
1 answer

Why I2S is better for transmitting audio compare to SPI

I am trying to understand why we use I2S is better for transferring audio than SPI as I2S has less bandwidth compare to SPI.
avltree
  • 33
  • 1
  • 3
3
votes
3 answers

How to decide about master or slave mode in I²S (I2S)?

Participants in I²S can be in master or slave mode. The master has to provide the clock and the slave has to accept the clock. I would like to know how under what considerations this decision is made.
Jan Deinhard
  • 133
  • 1
  • 5
3
votes
1 answer

How does this Audio ADC know which rate to sample the audio at

The part under question is PCM1808. This device needs an external system clock on the SCKI pin. From the master device it shall need LRCK, BCK & DOUT. The LRCK chooses the left/right channels. BCK is the clock signal sent into the ADC to drive the…
quantum231
  • 11,218
  • 24
  • 99
  • 192
3
votes
3 answers

I2S to SPI or some other normal interface

I need to get the higest possible precision from an analog to digital convertor (and by high I mean 24bits or more), 10 times per second. To this end I've decided to investigate using an ADC that is designed for audio. Unfortunately, after vast…
user3045
2
votes
1 answer

How to remove INMP441 MEMS microphone low-frequency noise

I have code that allows me to record I2S audio from the INMP441 MEMS microphone module using an ESP32. The data is read from the data out pin of the device. When I take the Fourier transform of this signal while recording a 2 kHz tone, I get a large…
2
votes
1 answer

Change ESP8266 I2S pins

On ESP8266 the default pins for I2S are: Data bits (SD) = GPIO3/RX0, Data bit-clock (SCK) = GPIO15, Word select (WS) = GPIO2/TX1 However in my application Im using these pins for another purpose. Is there a way how to set I2S pins to different…
Adam
  • 21
  • 3
2
votes
1 answer

The SPH0645LM4H-B microphone seems to output all negative values via I2S

Attached is an image from the analyzer. I am afraid that the I2S is shifted one bit, because as it stands, the MSB bit is always high, all samples come back 0x3nnnn (18-bits, so MSB bit is on the left). 2's complements format would indicate they are…
EmbeddedGuy
  • 548
  • 2
  • 15
1
2 3 4 5 6 7 8