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.

TAS5756M: Reading GPIO

Part Number: TAS5756M
Other Parts Discussed in Thread: TAS5754M, TLV320AIC3204

I'm undoubtedly overlooking something simple, but I cannot read GPIO for some reason. 

I set all of the gpio to input via P0,R8 = 0, and then read back from address 119.  It's always zero. 

Is there a subtle setting somewhere that might interfere with this?

I assume all of the registers are the same as TAS5754M?

  • Hi 

    Did you check all power supply and configure pins?

    If possible, please share schematic to us.

    Thanks!

    Regards,

    Derek

  • Thanks, the supply is fine and the amplifier is working as it should.  I just can't read back values.  The schematic is the same as the datasheet and EVB examples.

    I'm thinking it must be either a configuration issue, or a subtlety of I2C that the chip expects.

    1.  Aside from P0,R8, what else could affect the ability to read GPIO values?

    2.  Does the chip have any subtle requirements for I2C?  The I2C library I'm using works fine to configure the chip, and readback works fine for the TLV320AIC3204 so I wouldn't expect any issues.  Is there some other register I need to pay attention to?

    Attempting to read additional registers fails as well.  They all come out zeros, except for location 0, which reads back as 0x7d.  Very strange.

  • Hi

    Which device has the issue? TAS5754M or TLV320AIC3204?

    Do you add pull-up resistor on I2C bus?

    I suggest you can disconnect other devices on this I2C bus, only control one device. If you can not control only one device, please check MCU or DSP I2C configuration.

    Derek 

  • Hello Joe,

    There aren't any additional specifics to the I2C interface on this device outside of the standard I2C bus spec. Are you able to read back the register you are writing to during the device initialization? Can you readback the fault registers? Are you seeing any change in the current draw once you try to initialize the device or is it remaining static?

    best regards,

    Luis

  • All of the I2C stuff is standard, no current draw issues, and everything else was working normally and the amp was happily amplifying.

    The problem was I didn't set the page before I read the data.  I told you I was probably overlooking something simple! 

    You can remove this thread if you like, or leave it as a warning to others, embarrassing as it may be to me.

    But you bring up something I'd really like to know - is there really a fault register I can read back from?  This doesn't seem to be documented.

    (My whole purpose here was to save a couple GPIO pins on my main system by tying the ~FAULT pin to the TAS GPIO and using I2C.  If there is a "fault register" I can read, that's much nicer!)

    Also, for resetting after faults, is simply zeroing the I2S input the same as pulling ~MUTE pin low?  It seems to work that way, as it appears MUTE just zeros the internal DAC.  But can I rely on this always?  That'll save me another GPIO.