Help needed: Raspberry Pi I2S driver for TDA1543

Hi everyone, I'm new to DAC and would like to try different DAC available in the market. Recently I purchased the ProtoDAC, which works directly with Raspberry Pi through the I2S interface, and everything works like a charm.

The ProtoDAC comes with a DAC module, which is basically 8x TDA1387 in parallel. Having checked the datasheet of TDA1387 and TDA1543, both of them use the I2S protocol. Therefore, I replaced the TDA1387 module with the TDA1543 IC by mapping the I2S (WS, DATA & BCK), VDD and GND pins. Unfortunately, I could not get pure music but a mix of music and noise.

What I can confirm:
  • TDA1543 is working fine (will explain below)
  • It is the TDA1543, not the TDA1543A
  • TDA1543 works with CS8412 I2S output mode
  • the resistor in the passive I/V stage is changed to 1K because of the smaller output current
  • VDD and GND are connected

Symptoms observed:
  • Volume control seems not working (no problem with TDA1387)
  • Output is a mix of music and noise

At first I thought the TDA1543 was faulty, then I purchased a couple of them from different vendors but all of them exhibited the same behavior, Then I purchased a finished kit which converts SPDIF signal to I2S, and all TDA1543 worked fine.

The converter KIT has a CS8412 which converts SPDIF signals to I2S signals. Again, having checked the Datasheet of CS8412, I confirmed that the output was configured as I2S mode.
M3=0
M2=0
M1=1
M0=0

So I started to think about the driver issue from Raspberry Pi. Here is the connection between TDA1543 and Pi 4:

TDA1543 <-> Pi4 (GPIO)
BCK (Pin1) <-> BCK (Pin12)
WS (Pin2) <-> LRCK (Pin35)
DATA (Pin3) <-> DOUT (Pin 40)
GND (Pin4) <-> GND (Pin 6)
VDD (Pin5) <-> 5V (Pin2)

Attachment is the converter kit and it works flawlessly when fed with SPDIF signal. Could anyone point me to the right direction? I feel frustrated. Thank you.

P.S. Before asking for help, I also Googled and seemed older version of Pi worked with TDA1543 without any issues. I just tried many ways but could not fix the problem.
 

Attachments

  • IMG20240328104444.jpg
    IMG20240328104444.jpg
    411.4 KB · Views: 54
My 2 cents you have a mismatch of I2S format - while TDA1387 is OK with it, the other DAC chip expects some different format. Bit-shifted/mixed samples typically produce noisy output yet with discernable music, not working volume control (the MSBs are misaligned).

E.g. TDA1543A is right-aligned, while TDA1543 is standard I2S - this can be adjusted in DTS overlay.

Maybe your I2S has 32bit per sample (i.e. 64bit frame) which TDA1384 may accept and TDA1543 may not - best to use S16LE format for the I2S alsa device to avoid this possibility.

It's good to check the digital format with a 2+ channel oscilloscope and a suitable playback signal which reveals position of the MSB.