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.

TM4C1294KCPDT: SPI communication

Part Number: TM4C1294KCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

Hi team,

My customer will use TM4C1294KCPDT and he is asking a question about SPI communication.

In terms of DATA(ucom→slave), the voltage was slightly higher than 0V after CS became high which is circled in below waveform.

What is cause of this phenomena and how the customer should deal with it?

Best regards,

Shota Mago

  • Can you tell us more about the external circuitry? What pull-up resistor values are there, if any?

    Can you tell us more about the firmware? How have the GPIO pins and peripheral been set up?

  • Hi Brian-san

    Only DATA(slave→ucom) has 2.4kΩ pull-up because slave(AD5290)'s output is open-drain. The others doesn't have any external component except for slave device. 

    Regarding set-up, I will check to the customer if they can provide it.

    Best regards,

    Shota Mago

  • Also check the input impedance of the slave data inputs. That can affect the signal rise.

    Most TM4C GPIO pins default to 8 mA, but can be manually set to 2 mA, 4 mA, 6 mA, 10 mA, or 12 mA. My projects have sometimes required extra drive strength for long (over 12") traces on large motherboards. My experience is with changing rise times or fall times, but an insufficient drive strength could explain the rise above 0 V in those 'scope readings.

  • Hi Shota-san,

      The TM4C129 is not 5V tolerant. It looks like the AD5290 operates at 5V. I assume you have level shifter in between from what I can see in your CH3 (DPOT->ucom). Do you have level shifter on the DATA (ucom to slave)? Or are you directly driving the DATA to the slave?

  • Charles-san

    Thank you for your reply.
    There are not level shifter.
    All signals(CH1-CH4) are directly conected  in between TM4C129 and slave.
    CH3 (DPOT->ucom) have 2.4kΩ pull-up to 3.3V.
    I think slave(AD5290)'s input logic level can be used 3.3V level.
       AD5290 Input logic higt(min) =2.4V
                     Input logic low(max) =0.8V

    Best regards,

    Sekine

  • Hi Sekine-san,

      I'm not sure what caused the SDI to rise after nCS is high.

      Can you provide your code snippet on how you configure the SPI pins?

      A couple of questions for you:

    - I assume the scope capture is based on your own custom board, correct? If this is the case, do you see the problem on all your boards or just one board?

    - Can you replicate the problem with the EK-TM4C1294XL launchPad?

    - Can you add a series resistor to the SDI pin? Does it make any difference?

    - For experiment purpose, is there a way to turn off the AD5290, e.g. remove the power to the AD5290? With the AD5290 turned off, use the MCU to send SPI data to the AD5290. Will you still see the SDI rise up after nCS is high?

  • Morning Charles,

    Our young staff "likes" your diagnostic points - w/the exception of "De-Powering the SPI Slave - yet allowing the MCU to continue to provide (still connected) SPI drive signals!"   (Such may damage the Slave device - yet staff here has not checked to confirm)

    Might we be encountering a "Chicken vs. Egg" issue here?   Is the MCU - or is the SPI Slave - causing the (mystery) "Offset from ground?"

    We believe that poster "Brian's" (earlier) request for "Set-Up and Config" of the MCU's SPI port remains worthwhile.   (and unanswered)   SPI Data Out (MOSI) - if & when "Push-Pull" - should be well able to maintain its low-level ground potential.   (if mistakenly set "open Drain" - even the weak signal output (from the de-selected SPI Slave) may prove adequate to "cause" the unwanted signal-level creep up!)

  • Hi cb1,

      Thank you. Your concern is valid and warranted.