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.

OMAP L137 EVM MCASP DSP ISR

Hi, I'm working with the starter kit OMAP L137 EVM. Continuing the implementation of aic3106 test, which reproduces a sinusoid by the output channel and record the input channel.
The problem I have is that I want to mount a real-time system in which, instead of waiting until the buffer is ready to transmit, would it generates an interrupt when transmitting.
I found that this can be done through the McASP XINTCTL and RINTCTL records but can not find in the documentation the "vector" necessary to activate the interrupt service routine (ISR).
Could anyone help me with this?

  • Hi,

    Thanks for your post.

    Yes, you could setup the McASP interrupts through DSP interrupt contoller and you could register the corresponding ISR with the CPU maskable interrupts through enabling the specified transmitter & receiver interrupts through API's McASPTxIntEnable & McASPRxIntEnable. The code snippet for the same is given below:

    McASPTxIntEnable(SOC_MCASP_0_CTRL_REGS, MCASP_TX_DMAERROR

                                               | MCASP_TX_CLKFAIL

                                               | MCASP_TX_SYNCERROR

                                               | MCASP_TX_UNDERRUN);

       McASPRxIntEnable(SOC_MCASP_0_CTRL_REGS, MCASP_RX_DMAERROR

                                               | MCASP_RX_CLKFAIL

                                               | MCASP_RX_SYNCERROR

                                               | MCASP_RX_OVERRUN);

    void McASPTxIntEnable(unsigned int baseAddr, unsigned int intMask)

    {

       HWREG(baseAddr + MCASP_XINTCTL) |= intMask;

    }

    void McASPRxIntEnable(unsigned int baseAddr, unsigned int intMask)

    {

       HWREG(baseAddr + MCASP_RINTCTL) |= intMask;

    }

    For more details to configure the transmitter and receiver interrupt control registers (XINTCTL & RINTCTL), kindly refer sections 26.3.20 & 26.3.32 in the OMAPL137 TRM below:

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

    Thanks & regards,

    Sivaraj K

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

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

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

  • Thank you for your quick response. I'll try what you say. regards

  • You know, I can't really solve my problem. I cant find this function that you mentioned.

    I have implemented one solution for the transmit function, but, when i try to put in the code the receiver function, this don't work. Can you help me with this?

    I attached my code.

    Commenting the line 64, the function works fine. But i only have transmition. I need take samples of the signal.

    Thanks and regards.

    3124.files.rar