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.

Clock for SPI0 and I2C0 at C6747

Other Parts Discussed in Thread: TMS320C6745, OMAP-L137

Hi together,

I am trying to find which output clock from PLL is used for SPI0 or I2C0. In the datasheet these two modules are not mentioned (or I do not see them) and in the TMS320C6745/C6747 DSP System reference Guide it says 6.2.1: Sysclk2 for SPIs, Sysclk4 for I2C1 and Auxclk for I2C0.

I am using the OMPA-L137 EMV development kit for testing the C6747 and try to understand the Examples and drivers for I2C. I found a Input clock frequency of 50 MHz for I2C0 and 75MHz for I2C1 in the source code but I am not sure if this is correct or not.

Could anybody help? Sorry for my english!

Jens

  • The source for the SPI0 and I2C0 should be on page 67 of the C6747 Datasheet. I will talk to the documentation team to update that. So please use what is in the TMS320C6745/C6747 DSP System reference.Guide page 48.

     

  • Thanks for the fast answer.

    So, this means: I2C0 is clocked with Auxclk which is 24MHz at the OMAP-L137 EVM Kit. And this, in addition, means, that the 50MHz used in the driver for the I2C Module delivered for the EMV kit is incorrect. So all the calculations in the driver concerning clocking result in incorrect values. Correct?

    This might explain why I measure something like 97kHz as the clock frequency of the I2C data then the 200KHz used in the sourcecode.[;)]

    Ok, what is the next step to correct the clocking? Shall I try to rebuild the driver by myself with corrected values? I have no idea in the moment how all this diver code, DSP/Bois and example source code work together. Could you help me to fix the problem?

    Thanks a lot!

    Jens

  • Ok, I think I got it correted:

    in the project located at C:\Program Files\Texas Instruments\pspdrivers_01_20_00\packages\ti\pspiom\i2c\build\C6747\i2c.pjt 

    I changed the following:

    #ifdef CHIP_C6747

    #include <ti/pspiom/cslr/soc_C6747.h>

    //#define I2C0_INPUT_FREQ 50000000                replaced by the following line

    #define I2C0_INPUT_FREQ 24000000

    #define I2C1_INPUT_FREQ 75000000

    #endif

    After building the project, the example project worked with the correct values.

    Jens

  • Hi Jen,

    Thanks for the feedback. I gave feedback about it to the PSP team.