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.

CCS/TMS320C6655: How to output MCBSP without using DMA ?

Part Number: TMS320C6655

Tool/software: Code Composer Studio

Hi.

I want to output MCBSP without using DMA.

I want to operate like "MCBSP write ()" that functions used in TMS320C6000 chip support library .

MCBSP output using DMA has already been constructed and verified with reference to manuals and LLDs.

Entering a value directly into the MCBSPconfig register does not work.

Even if OPMODE of structure MCBSP_Params is set to "polled mode" or "interrupt mode", it does not work well.

Can you give some help and advice?

It would be helpful to have a sample program.

regards.

Masatoshi

  • Hi,

    Why you want to use MCBSP without DMA? Is that because the MCBSP example didn't work? Have you look at the http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_device_drv.html#mcbsp and the test example under pdk_c665x_2_0_xx\packages\ti\drv\mcbsp\example\c6657\MCBSPDigLpbk. I saw the code use Mcbsp_OpMode_DMAINTERRUPT.

    I believe we need to debug the existing example if it didn't work, instead of replace EDMA with CPU.

    Regards, Eric

  • First of all, the reason why we want to handle MCBSP without DMA, is because the completion time of the transmission process was very slow. This is the result of building MCBSP settings using the prepared example. (Contents of MCBSPDigLpbk)

    The measurement result took about 60 to 70 kHz to complete the transmission process. We need the required specifications at least 10 times faster than this speed.

    We reviewed the reason of this delay, and we thought that waiting for the EDMATxDone flag was cause of this slowness. We built the program which ignoring that flag, then the transmission process became faster. However, the timing of the transmission process is now performed irregularly.

    Above is the reason why I wanted to build MCBSP without DMA.
    (If the start of the transmission process is performed regularly and quickly, it is OK to use DMA.)

    We would like to ask you another question. We are wondering if it is possible to perform the MCBSP output process using the following flow without using the prepared API?

    1. Perform initialization
    2. Write the set value directly to the memory register
    3. Perform output processing

    If it is possible to do it with above procedure, we are wondering if you could show us a specific example of "3. Perform output processing". (It would be good if the transmit data was written to the DXR register or BFIFO register and output to the DX pin)

    We are looking forward to hearing from you.
    Best regards.

    Hashimoto