This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

I2C Problem with TAS5558

Other Parts Discussed in Thread: TAS5558, PCM3070, TAS5548, TAS5631B

Hello,

I actually try to communicate with a TAS5558 PWM IC. There's one more device on the I2C bus which works without problems but the TAS5558 doesn't response. I tried everything, checked the circuit again and again, I even replaced the TAS with no result. Attached you can find my schematic and a few scope screenshots. The valid led sometimes turns on, even then, there is no I2C communication possible. 

On pic "signal_r18_c48" you can see the signal between resistor r18 and capacitor c48 (Pin 7/8). Don't know if it's ok and if it has something to do with the problem. You will also find the pics with the clocks so you can see that the clocks are ok. Everything else on the board works fine, except the TAS5558.

My Masterclock runs at 12.288MHz, Wordclock is 96kHz and Bitclock is 6.144Mhz.

Thanks for taking time reading this.

Best regards,

Bernhard Wächter

tas5558_issue.zip
  • Hi Bernhard,

    What slave address is being used to interface with the TAS5558 IC? Please post a screen shot of the I2C (SDA/SCL) transaction.

    Note that the ASEL pin status (at start-up) sets the I2C address. For ASEL set high, the 7-bit address is   0011011x for AEL set low, the address is 0011010x where x is the read/write bit

    The I2C should work even if the clocks are not present.

    -Ravi

  • Hi Ravi,

    thanks for the fast reply. I don't have the circuit with me right now so I can't make a screen of the I2C transaction but of course I checked it and I also checkt the ASEL Pin with the two addresses. I also made a bus scan and only found one device (a pcm3070 on the same bus). 

    Is there something wrong with my schematic? There're some differences at the XTAL Pins between the TAS5548 and 5558 and it's not described in the datasheet. I added a 1 MOhms resistor to ground on the OSRES Pin of the tas5558 (where is usually the XTALO). Can this be the mistake or has the Masterclock no effect to I2C at all?

    Does the VALID Pin needs to be high for a getting I2C to work?

    Regards,

    Bernhard

  • Attached you can find the I2C transactions. Scope_0 shows the PCM3070 on the same bus with a ACK, scope_1 and _2 shows the transaction with the TAS5558 (0x34 and 0x36), both with NACK...

    After a few seconds the valid led turns on and I get a output on the pwm stage (see pic scope_3), so I think the TAS works but why is there no response on the I2C bus?

    tas5558_issue.zip
  • Hi Bernhard,

    Are you able to perform I2C reads? It's odd that you get NACK's while writing to the device, but they seem to go through anyways to initialize the device.

    Are you able to make updates to registers while playing audio (e.g. trying volume mute) to check if this goes through?

    -Ravi

  • Hi,

    I got new pcb's and soldered a brand new TAS5558 on it with the same issue - I don't get I2C to work :( Don't know what's going wrong, I make very much with I2C and never had problems with it.

    Attached you can find the transactions with address 0x36 and 0x34, each read and write with no ACK :( The TAS ignores every I2C transaction. Internal PLL seems to work, sometimes I get a PWM output and the PLL_FLTM and P gives a output so it looks like everything is ok. I also checked the voltage and it's noise - everything ok. 
    I also added the part of the pcb with the TAS on it.

    I think I will order a TAS5548 and see if there're the same problems.

    EDIT: I also updated two screens showing the differences in my shematic and the TI TAS5548 EVM. I provide the TAS5558 with a 12,288 MHz Masterclocksignal and no additional crystal.  The TAS5558 datasheet says that there is no external crystal needed so I didn't use one. But maybe that's the problem? 

    regards,

    tas5558_issue.zip
  • Bernard,

    The TAS5558 was designed specifically to NOT require a crystal. TAS55548 does require a crystal.

    Something strange is going on...

    -d2

  • Hmm I don't know what to do next. I think the tas5558 stuck in powerdown mode and doesn't wake up. That's the reason why it doesn't response to I2C. Unfortunately there's no example circuit in the datasheet so I used the parts of the evm/console motherboard. Maybe there's something wrong with the PLL filter outputs... I'm wondering about the datasheet (look at the screenshot attached). There're filter values with 10nF and 100nF, but there are 4,7nF and 47nF used on the evm/console motherboard. I tried both but nothing works and there's also given a value of C14, but C14 is not explained in the datasheet?!

    I checked all the Pins including the Reset, PDN and BKND directly on the TAS with a scope it's all ok with no noise or something else. PDN has a external 10k pull-up and I also tried it without it. 

    I also tried I2C Fast Mode with 400kHz, the other IC on the bus works fine but not the TAS...

    I need to get it work as soon as possible, this project takes me about six weeks now :(

  • Hi, Bernhard,

    Terribly sorry for your troubles.

    We actually do have an EVM for this device, we designed one EVM to work with either TAS5548 or TAS5558. The EVM is shipped with TAS5548 installed, but you can order a free sample and swap out the IC so you can compare the EVM to your circuit.

    Also, the EVM is a nice reference schematic since we know it works.

    -d2

  • Hi, Bernhard,

    Sorry, that line you referenced has a typo. The pin name should be VR_PWM, not VRA_PWM. I will log that in our system to get fixed the next round of edits of the d/s.

    -d2

  • Hi Bernhard,

    Are the SDA and SCL pull up resistors 5K only or are they parallel to another PU resistor? The PWM outputs are switching at 50% duty cycle? Does the power pins have the correct voltage level such as VR_PWM, VR_DIG, VR_ANA?

     

    reg,

    Paul.

     

     

  • Hi Bernhard,

    Can you try 18K Ohms for the OSCRES pin?

     

    reg,

    Paul.

     

  • Hello Paul, thank you for reply. I will try it, 18k between OSCRES Pin and MCLK Pin or OSCRES and GND?

  • Hi Bernhard,

    18K ohms between the OSCRES and GND. MCLK only tie to I2S MCLK. Hope this works.

     

    reg,

    Paul.

     

  • 10k Ohms was handy to me and it works!! Great!! 

    Oh man this took me many, many hours... usually I like the TI datasheets but this one is really bad, you need a example circuit in it and please describe the usage of the OSRES pin. 

    Thanks for it!! I really appreciate your work!

    Regards

  • I'm glad it works now! Yes, we need to update the DS. Sorry for the frustration.

    reg,

    Paul.

     

  • Good morning,

    I had exactly the same problem of Mr. Bernhard with TAS5558 and I2C communication.

    Luckily after one day of work until midnight I found this thread.

    Please update the datasheet for TAS5558 or create at least a note on the IC's webpage.

    Thanks for forum opportunity.

    Grassi Andrea

  • I also asked for a fixing if the TAS5558 datasheet, because there are plenty of errors in it. However, no reaction at all!

  • Hi, Stefan,

    How did you ask? I want to make sure we didn't miss your feedback.

    I agree with you all, this is a major oversight, and we will work to get it resolved, but it will take us some time... 

    If you are aware of other issues, let us know so we can fix those, too.

    -d2

  • Hi Don,


    I used the "Submit Documentation Feedback" Link inside the document, which redirected me to the following website where I was able to report errors.

    http://www.go-dsp.com/forms/techdoc/doc_feedback.htm?litnum=SLES273A&partnum=TAS5558

    The most annoying error which took me hours to find is the missing 18k resistor for the oscilator. Instead of the correct information, the datasheets simply states "1MΩ Resistor Oscillator resistor (1% tolerance)" which is misleading. I suggest something like "connect a 18kOhm resistor to ground".

    Then there are some smaller things concerning the registers:

    Section 11.18. Input Mux Reg. Here bit D7 and D3 switch between AD and BD modulation. By try and error I found out that setting the bit to 1 enables BD modulation, but this is not explicitly stated in the datasheet and would be helpful.

    11.34. ASRC control. The first row in table 11-42 which shows the bit number is wrong. Instead of D15 to D8, there is D31 to D24. Same for table 11-43.

    Figure 3-2, TAS5558 architecture in 192kHz mode. A lot of I2C registers are named with 0xXX instead of a correct number.

    11.22. Naming of the SDINx pins. If you wanna use the input mixers, table 11-25 is referring to SDIN1, SDIN2, SDIN3 and SDIN4.
     This is misleading, as in the pinout in chapters 2.1.1 and 2.1.2 use SDIN1, SDIN2, SDIN2-1 and SDIN2-2.

    5.3.1. channel configuration, table 5-5. There are bit descriptions for the channel PWM stages, which can't be found in table 11-6 in the I2C registers. Moreover, some of the explanations are not clear at all, e.g.:

    "When using the TI Power Stage this bit must be set. " or "Can be used to handle click and pop for some applications"

    I guess there are more things, but that is what I found while programming the TAS5558. After overcoming these error, I have to admit that the TAS5558 in combination with the TAS5631B is a really awesome chip.

    Cheers

    Stefan

  • Hi, Stefan,

    Interesting... I did not receive feedback from the group that manages that. I wonder who they sent it to... I bet they sent it to the original author of the d/s. Let me check into it, thanks for bringing it to my attention!

    I will try to get this fixed, but it will take us some time to go through the backlog of updates we have to make. I hope others can find this post and save themselves the aggravation. I apologize for that...

    -d2