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.

Problem with McASP in TMS320C6726

Hello.
I have a problem with McASP in TMS320C6726.
Please, check my reasoning and write me where is a error.

I need to receive E1 - 32 slots, 8 bit in slot.
So, i have to use TDM mode with 32 slots, 8 bit in slot without padding.
I want to use 1 data pin, RCLK pin and RFSR pin and don't use transmit ever (only for debugging, result of calculation will be sent to master using SPI).
RHCLK and XHCLK and XCLK will be internal.

I configured McASP as i described above.

There are parts of my code, where you can see settings of McASP.

    *(int *)PWRDEMU   = 0x00000001;

    *(int *)RMASK     = 0xffffffff;
    *(int *)RFMT      = 0x0000A030;
    *(int *)AFSRCTL   = 0x00001000;
    *(int *)ACLKRCTL  = 0x0000008F;
    *(int *)AHCLKRCTL = 0x00008FFF;
    *(int *)RTDM      = 0xFFFFFFFF;
    *(int *)RINTCTL   = 0x00000000;
    *(int *)RCLKCHK   = 0x00110003;


    *(int *)XMASK     = 0xffffffff;
    *(int *)XFMT      = 0x0000A030;
    *(int *)AFSXCTL   = 0x00001002;
    *(int *)ACLKXCTL  = 0x000000FF;
    *(int *)AHCLKXCTL = 0x00008FFF;
    *(int *)XTDM      = 0xFFFFFFFF;
    *(int *)XINTCTL   = 0x00000000;
    *(int *)XCLKCHK   = 0x00110000;

    *(int *)SRCTL0    = 0x00000002;
    *(int *)SRCTL1    = 0x00000001;

    *(int *)PFUNC     = 0x00000000;
    *(int *)PDIR      = 0x14000002;
    *(int *)DITCTL    = 0x00000000;
    *(int *)DLBCTL    = 0x00000000;
    *(int *)AMUTE     = 0x00000000;

I setup McASP as it described in spru041j and spru878b. I correctly configured GBLCTL.
I see, that
RCLK and RFSR are received and RHCLK, XHCLK, XCLK are generated. I can see them on the pins using oscilloscope.

But i can't read any data from data pin! XBUF and RBUF = 0x00000000.
If i try to write something in XBUF or RBUF i also can't read it back and nothing happened on data out pin.

Please, write me, what am i doing wrong?

 

  • It is pretty difficult to reverse assemble a bunch of hexadecimal values for all of these registers. We supply CSL to help you with these configurations so you do not have to do binary register assignments and so we do not have to debug binary register assignments.

    Go to www.ti.com and do a keyword search for "C672x CSL", and the first item will be the link to the CSL for this device.

    Try using that or at least use the assignment techniques that show how all of the bit fields are set. It will help you and us a lot.