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.

How do you reset the McASP?

In the McASP user's guide it says the following: 

3.6.2 Buffer Underrun Error – Transmitter

A buffer underrun can only occur for serializers programmed to be transmitters. A buffer underrun occurs

when the serializer is instructed by the transmit state machine to transfer data from XRBUF[n] to XRSR[n],

but XRBUF[n] has not yet been written with new data since the last time the transfer occurred. When this

occurs, the transmit state machine sets the XUNDRN flag.

 

An underrun is checked only once per time slot. The XUNDRN flag is set when an underrun condition

occurs. Once set, the XUNDRN flag remains set until the DSP explicitly writes a 1 to the XUNDRN bit to

clear the XUNDRN bit.

 

In DIT mode, a pair of BMC zeros is shifted out when an underrun occurs (four bit times at 128 נfs). By

shifting out a pair of zeros, a clock may be recovered on the receiver. To recover, reset the McASP and

start again with the proper initialization.

 

In TDM mode, during an underrun case, a long stream of zeros are shifted out causing the DACs to mute.

To recover, reset the McASP and start again with the proper initialization.

 


In what way does it mean to reset the McASP? Does this mean using SIO_flush or what?

I am trying to solve a problem where an error occurs and when receiving and until we can find the root cause I would like to "reset" the McASP if it occurs.


Thanks

Chris

  • Chris,

    can you elaborate on what device, software, and software version you are using?

  • TMS320C6000 DSP
    Multichannel Audio Serial Port (McASP)

    Reference Guide

    On a C6747

    DSP/BIOS 5.41.11.38

    -------------------------------------

    I'm really not asking for an answer specific to my target or anything. I'm only asking what this part of the document is refering to.

  • c0l0jar0,

    I have moved this thread to the device forum in hopes this question will be answered more rapidly.

  • c0l0jar0 said:
    I am trying to solve a problem where an error occurs and when receiving and until we can find the root cause I would like to "reset" the McASP if it occurs.

    From a silicon perspective you want to write GBLCTL=0 to reset the McASP.  Hopefully that's enough info to help you get it operational again.

  • Hi,

    Please refer the steps mentioned in Section 3.1.1 for McASP module startup procedure to recover back with proper re-initialization.

    Also, please ensure reading back the GBLCTL bits referred in Section 3.1.3 in the McASP reference guide referred below. If you skip this step, then the McASP may never see the reset bits in the global control registers get asserted and deasserted, resulting in an uninitialized McASP.

    http://www.ti.com/lit/ug/spru041j/spru041j.pdf 

    Thanks & regards,

    Sivaraj K

    ------------------------------------------------------------------------------------------------------- 
    Please click the Verify Answer button on this post if it answers your question.
    -------------------------------------------------------------------------------------------------------