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.

AIC3204 - hitting the 'Pause' button (also Q about anti-thump)

Other Parts Discussed in Thread: TLV320AIC3204

I'm wondering how to switch between 2 different slave processors on the SPI port.

Basically, I want to:

- stop SPI output

- disable Slave1 SPI

- enable Slave2 SPI

- restart SPI output on a full sample

I realize I can just reset and reload all the settings, but I'm wondering if there's an alternative I'm missing.


Also, I'm a bit unclear on the proper use of anti-thump (P1R58). Is it to be turned on and left on, or does it get turned back off after a short period?

Thanks.

  • Randy,

    The SPI protocol uses a slave select line (/SS) for each device so you talk to one device at a time.

    Or are you connecting the SPI bus of an MCU to the I2C port of the AIC3204?

    The anti-thump is to reduce pop when powering up the ADC path. It is not required.

    Regards,
    J-
  • As I see it, if we flip /SS asynchronously, we bring our Slave active somewhere in the middle of a 3204 data transmission; will that not screw up our L/R channel data?

    Is there a way to coordinate /SS with the start of a transmission? I can only picture it being done by restarting sampling after the switchover.

    Or am I missing something?

    (I'm using SPI for data, I2C for control.)
  • Have you seen this app note?

    www.ti.com/.../slaa449

    Basically you need to exactly mimic the I2S bus as shown in the TLV320AIC3204 datasheet. When /SS is used for CONTROL, the purpose of /SS is to choose a slave device. But in this unusual case, /SS is used to select the channel of a single device. The I2S interface of the AIC3204 is not buffered, so whatever you send in, you get out. So if you plan to share SPI (acting as I2S) with multiple chips, simply share the same /SS for all audio chips but MUTE the AIC3204 by writing I2C BEFORE stopping the SPI bus. In other words MUTE the chips that you do not want to be playing audio.
  • Adding hardware isn't an option; worst case, I'll just reset the 3204.

    What about Loopback control (P0R29)? Is it synchronous or asynchronous?

    Could I engage Loopback, change SPI, disengage Loopback, and expect the 3204 to transmit from the start of a sample?