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.

TMS320C5517: Connection McBSP to PCM32 with external Clocks

Part Number: TMS320C5517

Hello!

I would like to connect the McBSP of the TMS320C5517 on the Evalboard to an external PCM32 port with it's external Clocks.

The FSX/FSR is an symmetric Clock of 8kHz an the Bitclock CLKR is 4096kHz Doubleclock. There are 32 Timeslots of 8bit with

2MHz Datarate available for RX and TX in one frame.

The problem is:  

The McBSP das not setup at the first timeslot and does not start transmitting with the rising edge of the FSX/FSR.

Aside from that it starts not at the same position of the frame after restarting the program.  It is not synchronizing to the FSX/FSR of the frame. 

The start of transmitting seems to be coincidentally.

I am using the "CSL_McBSP_32cCompand_Example" with CodeComposerStudio and this works fine with the Evalboard.

Loading, starting, compiling, debugging and so on. I have modified the program for connecting the McBSP to external

signals via changing the example and one switch at the Evalboard.  FPER = 255 ;  FWID = 127 ; CLKGDV = 1 ;

If i'm sending a sample via DMA to one Timeslot, it is present on the PCM and it's data ist correct.

But it's position in the frame is false.

In the SPRU592E document for McBSP, i saw a description for the GSYNC bit at the SRGR2 register.

If i'm setting this bit to high, the McBSP does not send anymore.

Is this bit available in C5517 and does it work as described?

For example in C5501 and C5502 it is not.

I have also tried all that with an 2MHz single clock and "CLKGDV=0". The result was exactly the same.

How can i go on to get the MCBSP working with my PCM32?

Best regards,   

Christoph Arning

  • Hi Christoph,

    What is a PCM32? Can you please point me to some documentation?

    Are you using this board? https://www.ti.com/tool/TMDSEVM5517

    Are you using the CSL_McBSP_32cCompand_Example example from CSL 03.08.01.00? https://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/C55X/latest/index_FDS.html

    I see CSL_McBSP_32cCompand_Example is an external loopback example. I gather from your post that you're able to observe the McBSP signals on a logic analyzer. Are the signals correct for this example with the companding disabled.

    If i'm sending a sample via DMA to one Timeslot, it is present on the PCM and it's data ist correct.

    But it's position in the frame is false.

    Can you please elaborate?

    In the SPRU592E document for McBSP, i saw a description for the GSYNC bit at the SRGR2 register.

    The C5517 McBSP is described in the C5517 TRM: https://www.ti.com/lit/pdf/spruh16. I wouldn't assume this McBSP is exactly them same as the one documented in SPRU592E.

    I see the GSYNC bit in the SRGRU register, so the bit exists. However, it's functionality might be the same as described in SPRU592E.

    Have you tried your code with the DMA disabled? I see this is a compile-time option in CSL_McBSP_32cCompand_Example.

    Regards,
    Frank