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.

C5515 External Bus Selection

Other Parts Discussed in Thread: TMS320C5515

Hi all,

 

I am using C5515 DSP to interface to several external modules. Basically I need UART, SPI, I2S1, I2C and some GPIO pins. Specifically, I need GPIO 5 to act as an output pin. In order to obtain this functionality, I set the External Bus Selection Register (0x1C00) to 0x1600.

This means:

PPMODE = Mode 1 (SPI, GPIO, UART, and I2S2)

SP1MODE = Mode 1 (I2S1 and GP[11:10])

SP0MODE = Mode 2 (GP[5:0])

When I use these settings, I2S1 does not work properly. All the value received are 0. If I set SP0MODE = Mode 0, then everything works fine (except that I cannot use GPIO 5).

What am I missing here? Any help please?

Thanks.

Simon

P.S. I am using a TMS320C5515 EVM board.

  • Hi Simon,

    Are you using the CSL?

    Once the problem is happening, check the state of PCGCR, EBSR, and peripheral registers... Are they set as expected?

    Regards,
    Mark

  • Hi Mark,

    I am using the CSL in some parts of the code, Eg. to initialise the I2S. But I am not using the CSL to change the EBSR.

    I have checked the state of PCGCR, EBSR and the I2S1 registers, and they are all set correctly.

    Can it be something to do specifically with the EVM board? I tried to find if there were some jumper settings to maybe disable the SD Card connector external circuitry, but I could not find anything relevant...

    Thanks a lot for your help so far.

     

    Simon

  • Simon,

    I quickly checked the C5515 EVM schematics, and the Serial Port 0 pins only go to the MMC/SD card connector and a couple of headers - anything attached to headers J13, P1, or P2?

    Is there an SD card present in the slot? MMC0.WP and MMC0.INS do connect to Serial Port 1 I2S1 pins...

    Do you have an external source driving data into I2S1? You said you get data on I2S1 when GP[5] is not routed from SP0... Is that external device dependent on any GPIO or other pin? The codec on the C5515 EVM is connected to I2S2 only.

    Regards,
    Mark

  • Hi Mark,

    Thanks to your points and questions, I managed to arrive to the solution. The problem I had was that GPIO 4 was connected to the Audio codec reset pin. In my code there was a toggle of GPIO 4 (which was not working when SP0MODE was MODE 0). When I set SP0MODE = 2, GPIO 4 was routed to SP0 and thus the Audio codec was being reset!

    Thank you once again for your help!

     

    Regards,

     

    Simon