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.

Interface the F28069 to TLV320AIC3104, McBSP SPI vs. DSP mode

Other Parts Discussed in Thread: TLV320AIC3104, TMS320F28069

I want to interface the TLV320AIC3104 codec with the TMS320F28069 (80 pin device).  To do this, it seems the best solution is to configure the McBSP of the 28069 as a slave using clock stop mode, to emulate SPI, and the 3104 in DSP mode.  These two modes seem the most compatible with each other.

If I do this, my main concern is the WCLK from the 3104 into the FSX of the 28069.  I can change the FSX to be active high instead of active low, but the WCLK from the 3104 is a pulse whereas the FSX is typically low for the duration of the transfer.  

I think the WCLK might still be useable, given this statement from section 15.7.7 in the 28069 Tech Ref Manual:

"The McBSP requires an active edge of the slave-enable signal on the FSX input for each transfer. This means that the master device must assert the slave-enable signal at the beginning of each transfer, and deassert the signal after the completion of each packet transfer; the slave-enable signal cannot remain active between transfers. Unlike the standard SPI, this pin cannot be tied low all the time. "

My question is:  If the McBSP requires an active edge, then is the WCLK suitable for this purpose, even though it de-asserts after one clock cycle?
If this won't work, is there another configuration between the two devices that would work?

  • Hi Braddon,

    I am not very knowledgeable on codec interfaces, but I do know that we have an appnote showing how to interface the TLV320AIC23B codec to the C2000 F28335 McBSP using DSP or I2S mode and you may find some of the information helpful.  After a quick glance, it appears that the DSP mode in the TLV320AIC23B and the TLV320AIC3104 may be slightly different, however it appears that the I2S interface is the same in both codecs.

    At the very least, the appnote/code may be a good place to start:
    Interfacing the TMS320F2833x to the AIC23B Stereo Audio Codec:  http://www.ti.com/lit/spraaj2

    Perhaps others may have more specific answers to the questions you've asked...


    Thank you,
    Brett

  • Brett,


    Thank you for the quick reply and your help - the doc will help considerably, as I knew I'd have to configure the DMA but hadn't used it with the McBSP before. 

    My remaining question would boil down to this - If I used the McBSP in SPI slave mode, normally the FSX pin is held low for the duration of the transfer.  Would I invalidate a data transfer if the FSX pin went high after one CLKX cycle?  Also, if it's not invalidated, can I specify an inverted FSX input and still have this work?

    My guess is it would work, as the tech ref manual says it requires an active edge (high to low) of the FSX pin, for each transfer.  But I'd hate to lay out, fabricate, and stuff a board, just to find out I'm wrong.


    Brad

  • A colleague and I don't believe that the McBSP's SPI mode will do what you want (for the FSX reasons you've mentioned).  However, I believe that the McBSP's (non clock-stop mode) is probably more applicable to your situation and I think you're more likely to be able to interface via it. 

    I think the appnote I linked may help you comprehend the settings you'll need.


    Thank you,
    Brett

  • Yeah, I think I'll play it safe and stick with the app note.  Brett, thanks again for your quick replies and the app note.  It will save me quite the headache.

    Cheers,


    Brad