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.

Clocking the SPI bus at 10MHz on the RM57

Other Parts Discussed in Thread: HALCOGEN

I am trying to run the SPI bus at 10Mhz on the RM57.

To experiment I started by using "example_mibspiDMA.c" found in the HALCoGen examples at C:\ti\Hercules\HALCoGen\v04.05.01\examples\RM57Lx.

I commented out the line of code that enables loopback:

/* - enabling loopback ( this is to emulate data transfer without external wires */

//mibspiEnableInternalLoopback(mibspiREG1);

I then configured HALCoGen to set SPI1 to run at 1MHz. I put a logic analyzer on the SPI bus lines and the results were as expected. A square clock.

I then use HALCoGen to increase the clock rate. This is in the MIBSPI1 Data Format UI where I changed the Baudrate to 10MHz. As it goes up the clock gets distorted. This is very obvious at 10MHz, but also noticeable at lower clock rates such as 3 MHz.

In addition the data is no longer 8 clock pluses apart. Because of this the data doesn't transfer as expected.

Are there additional knobs I should be turning in HALCoGen to clean up the clock?

  • Tony,

    The buffers are '8mA' which are fairly strong. (They're probably actually a lot more than 8mA in the typical case.)

    Guessing your issue is more to do with termination or lack of than in the buffer being too slow.
    We probably need to see a scope capture of the waveform to make sure of this.

    BTW - IBIS models are getting loaded to the product folder and will show up in a day or so - this would give an avenue for simulation.

    -Anthony