class D amplifier with I2S TAS5086 PWM modulator - Page 1
Forum section: electronics / projects

author: jmibk
author_rank: Regular Contributor
timestamp: September 12, 2020, 09:26:43 am
content: I have the idea to build an digital amplifier with a native i2s input without converting the signal into analog values.For that I found the TAS5086 IC from TI (Datasheet:https://www.ti.com/lit/ds/symlink/tas5086.pdf?ts=1599892522566), that supports I2S input and pwm output for a class D output stage of your choice.Some time ago I designed a quick and dirty demo board for the TAS IC to check out its functionality:The thing is that I can't get it to work. I2C communication works, sometimes it spits out some squarewaves on the outputs, but thats it.I programmed an Arduino for the I2C commands (Arduino UNO program can be found here:http://www.audiowerk.at/downloads/temp/eev/i2s_pwm/commtest.rar).Here is a quick start guide (http://eng.eewiki.net/app/db_page/get_file.php?docid=4034) where they say which registers I have to write values to (point 2) - so I did:clock control register, 0x00 set to 0x6Doscillator trim register, 0x1B set to 0x03 (it sets itself to 0xC2 because bit 6 is read only and bit 0 is a "command bit" to let the TAS set the oscillatorsystem control register 2, 0x05 set to 0x20master volume register, 0x07 set to 0x48when I try to read back the values everything is like above. The TAS is also 5V tolerant on I2C lines.I2S signals are present (3V3) and look valid. They have 48kHz and 24Bits and are comping out of an adau1701 dsp.LRclock: 48kHzbitclock: 3,07MHzdata: bitlength measured around 400ns, should be right.I have no 4chan scope here to correlate the i2s signals to each line, but I tried an regular dac on it and it worked.Is there someting I miss? Someone used this chip before and knows how to deal with it?

author: jmibk
author_rank: Regular Contributor
timestamp: September 12, 2020, 01:32:33 pm
content: Short Update:when I use following timing to power everything up, I get a squarewave on the outputs and VALID1 und VALID2 light up:1) disconnect i2s lines2) power the TAS board by connecting the power and i2c lines3) init the TAS board via the arduino and i2c => after aprox 2 seconds VALID1 lights up and the waveform on the outputs starts (50%/50% pwm with a frequency of 383kHz and 3,3V)4) after 1 second VALID2 lights up, the waveforms are still therewhen I connect the i2s line, nothing happens (i2s signals are there). The activation of the output pwm doesn't work if the i2s lines are connected during the init process.Factory Trim Sequence works (VALID goes high), Field Trim Sequence doesn't, even when LRCLK is connected (no high VALID pins).

author: tooki
author_rank: Super Contributor
timestamp: September 12, 2020, 03:29:01 pm
content: Do you get a working PWM signal if you use the factory trim command and then apply your input signal?

author: jmibk
author_rank: Regular Contributor
timestamp: September 15, 2020, 05:00:24 am
content: No, also in Factory Mode I get a 50%50% pwm without the modulated signal.

author: ee2000
author_rank: Newbie
timestamp: August 31, 2021, 06:18:54 pm
content: Hi.I just wanted to check if you have found the issue, with getting the TAS5086 to generate PWM modulation ?,as I have the same issue.Thanks in advance.

author: mariush
author_rank: Super Contributor
timestamp: August 31, 2021, 06:55:49 pm
content: I don't have answer to your question, but you really could have done a better layout.Ex place the text (C2, R2 , C3 etc) to the left of components and have them closer, not cut the ground fill under the chip with that trace, put the R25 and R26 better so 3.3v goes straight to U1 instead of through that thin trace under the chip ... the trace to R1 going under C1... squeezing things in the bottom leaving the top less populated etc etc