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.

F28M35: working beyond SPI and "McBSP as SPI" speed rates

Other Parts Discussed in Thread: F28M35H52C

Hi!

After reading all documentation and posts in this forum related to SPI interface and McBSP interface as SPI in C28 core of F28M35, I'm convinced that the TI only guarantees proper operation under the following maximum rates:

SPI Master

TX: 25 MHz
RX: 12.5 MHz

SPI Slave

TX: 12.5 MHz
RX: 12.5 MHz

McBSP as SPI Master

TX: 25 MHz
RX: 25 MHz

McBSP as SPI Slave

TX: 9.375 MHz
RX: 9.375 MHz

Regarding the last condition, the datasheet has the following information:

For all SPI slave modes, CLKX has to be minimum 8 CLKG cycles. Also CLKG should be LSPCLK/2 by setting CLKSM = CLKGDV = 1. With maximum LSPCLK speed of 75 MHz, CLKX maximum frequency will be LSPCLK/16 , that is 4.6875 MHz and P = 13.3 ns.

but I assume LSPCLK can reach 150 MHz, as stated in this same document and argued by AndyP in this discussion:  https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/291452/1016372

First of all, I would like to have some confirmation on these conclusions, for both F28M35H52C and F28M36P63C devices. Assuming they are correct, I would like to know if it's possible to have some information from the C2000 team about how exaclty these values were specified.

The reason I'm asking it is the fact we've been working with F28M35 in prototypes of digital controllers for switched mode power supplies for 2 years, using the SPI interface as slave receiving samples from an external ADC with transmission rates of 25 MHz, and we haven't experienced any problems up to now. Furthermore, we've made some tests to observe communication errors between two F28M35 development kits for all conditions above, with rates up to 18.75 MHz running continuously without any bit error.

At the end, I just would like to understand what exaclty TI (or any other manufacturer) means with specified limits like these. It sounds to me something like: "when working beyond these conditions, things might work (even for long periods), but we can't guarantee that a sporadic event due to 'working under improper conditions' won't occur". Is it correct?

Thanks in advance!

Gabriel Brunheira

  • Hi Gabriel,

    First of all, I would like to have some confirmation on these conclusions, for both F28M35H52C and F28M36P63C devices. Assuming they are correct, I would like to know if it's possible to have some information from the C2000 team about how exaclty these values were specified.

    Your conclusion about operating frq in different mode for McBSP/SPI is correct. TI provides these numbers after detail timing simulation (STA) and characterization process on tester as well as bench. These simulation/characterization is performed across PVT (process/voltage/temperature) conditions. In most cases operating frq is provided for a specific modes (and not sub-mode with in that mode). What does it mean is that a sub-mode with-in a mode could operate at higher frq but since other sub-mode cannot work at that frq, we spec the lower frq for that mode.

    The reason I'm asking it is the fact we've been working with F28M35 in prototypes of digital controllers for switched mode power supplies for 2 years, using the SPI interface as slave receiving samples from an external ADC with transmission rates of 25 MHz, and we haven't experienced any problems up to now. Furthermore, we've made some tests to observe communication errors between two F28M35 development kits for all conditions above, with rates up to 18.75 MHz running continuously without any bit error.

    When we spec 12.5 MHz operation for SPI SLAVE it's for SLAVE TX as well as SLAVE RX. In SALVE TX there is turn-around time for data (CLK sent from master and SLAVE uses this CLK to send DATA) which introduce big delay hence cannot operate at high frq which is not the case in SLAVE RX (both CLK/DATA are in same direction) hence there will be more margin in this case. So I am not surprised to see SLAVE-RX working @25MHz in your system.

    At the end, I just would like to understand what exaclty TI (or any other manufacturer) means with specified limits like these. It sounds to me something like: "when working beyond these conditions, things might work (even for long periods), but we can't guarantee that a sporadic event due to 'working under improper conditions' won't occur". Is it correct?

    This is correct. It's up to the user to do full characterization of their system (across voltage and temperature on multiple units) when they are trying something out of spec.

    Regards,

    Vivek Singh

  • Hi Vivek!

    Thank you very much for your clarifying answer!

    Best Regards,

    Gabriel