[design log] Neat 2x170W I2S in, I2C controlled, integrated DSP amp (TAS3251)

IMG_20230112_132237.jpg
IMG_20230112_132256.jpg
IMG_20230112_132627.jpg
 
  • Like
Reactions: 1 users
Member
Joined 2015
Paid Member
Hi, congrats !

Are those, like JMF11, two amps with crossover ? : one TAS channel for woofer and the other for speaker ?
Which software are you using ?

For safety reason you should insulate the mains wires on the iec outlet, connect an earth to the chassis and also to the front panel as this the one your hand will touch.

For the 4 caps between the DAC and the Class D amp (C25 to C26) you have used MLCC cap. MLCC are not recommended for audio, they are microphonic and they introduce non-linearity as they value is voltage dependent. You should change to ecap: installed theme reversed, as they're a little error on the silk screen.

Chris
 
I use mine with a RaspberryPi and aPicorePlayer. It works very well. I have a USB to I2S board in between (Asynchronous type for timing quality).

In my understanding, the RPi can generate I2S directly, but I didn't digged in that. I went the easy way with the versatile USB to I2S board.

One thing to consider (other can jump in to explain how they deal with that) is that the I2S generates the clock for the TAS3251 and has to be present at TAS3251 powering up. In my design, the USB to I2S board is on the same power suppply as the NeatAmp boards and do that job.
 
  • Like
Reactions: 1 user
I use mine with a RaspberryPi and aPicorePlayer. It works very well. I have a USB to I2S board in between (Asynchronous type for timing quality).

In my understanding, the RPi can generate I2S directly, but I didn't digged in that. I went the easy way with the versatile USB to I2S board.

One thing to consider (other can jump in to explain how they deal with that) is that the I2S generates the clock for the TAS3251 and has to be present at TAS3251 powering up. In my design, the USB to I2S board is on the same power suppply as the NeatAmp boards and do that job.
What I understand is that when we use Moode or Volumio or PiCorePlayer , we have to select the I2S device and what I think happens is that the distro sends command and dsp value to that chip as applicable. As well as bit clock I2s data and word clock. RPi does not provide MCLK / SyClk

So I have been using a TAS5657M chip based hat from justboom and I have to select which hat is connected. And the Hats have a EEprom so I guess there are configurations pages in that which are uploaded to dac
 
Member
Joined 2015
Paid Member
If you want Volumnio or the Pi to manage the dsp, set up the volume, etc… you need a driver on the Pi. Your hat has certainly a driver running on the Pi in order to manage the TAS5657 and I guess that this driver, as you described it, read dsp configuration in the EEPROM and write them is the TAS.

NeatAMP has I2S input, I2S is only suitable for sound, not message or command passing. NeatAMP can operate with or without MCK: I2S Interface is 3 or 3 wires.

If you want the Pi to manage NeatAMP, you’ll need a driver (custom one) on Pi side and a custom software on NeatAMP side. This won’t be an easy journey, but half of it is already accomplished.

In my NeatAMP project ( https://www.diyaudio.com/community/threads/neatamp-pre-a-digital-preamp-for-neatamp.373698/ ) I have a software running on NeatAMP side which allow to manage it remotely via a serial link. In addition I have a Preamp which manage NeatAMP via serial (change volume, balance, dsp setting, etc…). This preamp is made with a custom board with an STM32, this is not a PI. But writing such a driver for a Pi should be feasible.
 
  • Like
Reactions: 1 user
If you want Volumnio or the Pi to manage the dsp, set up the volume, etc… you need a driver on the Pi. Your hat has certainly a driver running on the Pi in order to manage the TAS5657 and I guess that this driver, as you described it, read dsp configuration in the EEPROM and write them is the TAS.

NeatAMP has I2S input, I2S is only suitable for sound, not message or command passing. NeatAMP can operate with or without MCK: I2S Interface is 3 or 3 wires.

If you want the Pi to manage NeatAMP, you’ll need a driver (custom one) on Pi side and a custom software on NeatAMP side. This won’t be an easy journey, but half of it is already accomplished.

In my NeatAMP project ( https://www.diyaudio.com/community/threads/neatamp-pre-a-digital-preamp-for-neatamp.373698/ ) I have a software running on NeatAMP side which allow to manage it remotely via a serial link. In addition I have a Preamp which manage NeatAMP via serial (change volume, balance, dsp setting, etc…). This preamp is made with a custom board with an STM32, this is not a PI. But writing such a driver for a Pi should be feasible.
I can’t code but can assemble board and burn firmware.

As for the dsp setup that is done via the i2c bus on my RPI<-> Eeprom <-> HAT.
And audio data goes via the i2S bus three wire.

Yes we need a driver both sides pi and the Neat amp.
 
In the NeatAmp, there is also the possibility to control the I2C from another board. Example having the RPi controlling directly the TAS3251 for both the I2C and the I2S part.

The NeatAmp onboard controller can be programmed either STM32 "C" style, or "Arduino" style which could ease the programming for some.

But if you can't code, it would be better to go with one of the existing options: AIM65 code (more features) or mine (Arduino style, basic features).
 
  • Like
Reactions: 1 user