0
\$\begingroup\$

I am more familiar with software, but I have a project going on that has a tiny amount of hardware involved. I would really appreciate some help with this part.

I have existing hardware that has a ADC - I2S - amplifier combo. I desoldered three 470 ohm from the LRCLK, BCLK and SD traces on the board and added a set of wires and "inserted" an ESP32.

The idea is to either do a "bypass" mode (reading from one I2S as input, writing to the other I2S as output), or cut out the original signal and provide a different stream on the I2S input of the amplifier.

If I pair up the 6 wires (LRCLK → LRCLK, BCLK → BLCK etc), I get the original signal coming from the ADC, and the amplifier works just fine.

On the ESP32 side, I have a sketch like this:

i2s_driver_install((i2s_port_t)i2s_num, &i2s_config, 0, NULL);
i2s_set_pin((i2s_port_t)i2s_num, &pin_config);
//set sample rates of i2s to sample rate of wav file
i2s_set_sample_rates((i2s_port_t)i2s_num, 48000); 

while(true) {
  /* after processing wav file, it is time to process music data */
  for (int i=0; i <= 24; i++){
    i2s_write_sample_nb(0xFFF0FFF0); 
  }
  for (int i=0; i <= 24; i++){
    i2s_write_sample_nb(0x000F000F); 
  }
}

I am basically generating a 1kHz rectangular waveform (the zeros are inserted there to make it easier to spot it on the scope). When I measure this, all three signals look OK. The clocks are fine, and the data signal matches what I am expecting.

However, when I connect this to the amplifier input, I get no signal out at all — I was at least expecting some kind of noise.

In terms of power supply, I am running the ESP32 off the USB port of my laptop, while the "existing" hardware (i.e., the amp) is running off a separate power supply.

I am guessing that it is possible that the ground planes are not the same, and thus the clock transitions are not where the amp wants them to be, or that those resistors serve some kind of purpose after all.

What steps can I take to figure out what exactly is causing this, or is this a common problem with an easy solution that I am not aware of?

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.