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.

TAS1020B | Source Code to detect 2.0 vs 5.1 vs 7.1 source

Genius 11680 points

Team,

Do we have any source code displaying the TAS1020B's ability to do this? Basically we want it to trigger a GPIO to tell a separate DSP what the source type is.

Thanks.

  • Nate,

    Sorry, but I may not understand the question.

    > Source Code to detect 2.0 vs 5.1 vs 7.1 source

    Do you mean that the host is sending 2.0 or 5.1 or 7.1 audio to the TAS1020B?

    [The TAS1020B can do something useful with a maximum of four output channels, and can do this only when using two ganged AC'97 codecs.  For I2S codecs, a maximum of stereo output is supported.]

    But, to answer your question, the 8052 in the TAS1020B can receive an SOF interrupt, and can query the Out Endpoint Buffer Data Count Byte to determine how many bytes were received for this frame, and so can infer the channel count.

    Regards,

    Frank

  • Frank,

    Thanks for the awesomely fast response!

    Were the sentences in brackets in the datasheet?

    Excuse my ignorance here, but can't this part take in more than 4 audio channels of data since it's just a longer data stream? All 7.1 channels would come through the USB.

  • Nate,

    The DataSheet SLES025A says on Page 1-2 that "I2S modes can support a combination of one DAC and/or two ADCs".  Most TAS1020B customers currently use I2S;  an I2S DAC produces two analog outputs, two I2S ADCs sample four analog inputs.  If you use AC'97 codecs instead, you can gang two, but most AC'97 codecs only do 2 channels in and 2 channels out (as far as the AC-link is concerned), so that's still only 4 channels out.  You might be able to do more with AIC mode or GP mode, but I have no experience with them.

    Audio data transferred over USB is done via isochronous transfers.  The 1020 buffers 1ms of audio data in both directions while playing-out or pulling-in audio samples to/from the codecs, so you need almost 2ms worth of audio data.  The amount of 'external data memory' available in the 1020 is fixed, and this becomes a major limit as to how big the audio data packets can be.

    What would you do with the 7.1 channels of audio data if you had them?  How many bits per sample?  What is the fastest sample rate you want to support?

    The TUSB3200A might be a better fit, since it can interface 4 I2S outputs - see section 1.9 in the TUSB3200A Data Manual.

    Regards,

    Frank