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.

Loosing SPI at 82C on TM4C123BE6PZ

Other Parts Discussed in Thread: TM4C123BE6PZ

We are using a TM4C123BE6PZ to interface to a MicroChip MRF24J40 wireless SPI module.  The operation is quite satisfactory at -40C-82C temperature range.  But we see the SPI voltages drop from 3.3V to ~1V at about 82C.  Our range is -40 -> 85C.  It appears the TM4 is reading zeros.

So we are trying to ferret out which chip is dragging the voltage dow off of the SPI bus.  We are cutting the Master In Slave Out line now to see what happens.

I am using the following code to initialize the SPI port on the TM4:

ROM_GPIOPinConfigure (GPIO_PA2_SSI0CLK);
 //GPIOPinConfigure(GPIO_PA3_SSI0FSS);  // use other pin for CS
 ROM_GPIOPinConfigure (GPIO_PA4_SSI0RX);
 ROM_GPIOPinConfigure (GPIO_PA5_SSI0TX);
 ROM_GPIOPinTypeSSI (GPIO_PORTA_BASE, GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);

PA3 is not connected to anything.

For all the examples I found in StellarisWare examples, the GPIOPinConfigure calls are there (I use another pin for CS) but the GPIOPinTypeSSI call is not in the examples.

Does setting a pullup on the RX pin going to help?  Or does that only apply if the PA4  pin is configured as an input?

Both parts are rated to 85C.

There are no components between the TM4 and MRF chip.  No pullups or pulldowns.

We are using G4 silicon.

  • John Osen said:
    we see the SPI voltages drop from 3.3V to ~1V at about 82C.

    Might you detail, "SPI Voltages?"   (Devil is in such detail - these incidents)

    If you really did mean, "SPI Voltages" - and each/every level declined from ~3V3 to ~1V - then your MISO's report of zeros is expected.   (as you did not properly output to your SPI remote)

    If you meant that only the MISO signal voltage declined from ~3V3 to ~1V - I tend to agree with (temporarily) breaking the link to the existing, MOSI exciting device - and replacing with a progression (high to low) of pull-up Rs and charting...

    Your report here reads as, "black/white" - (almost zener-knee like) - w/inflection point being @ ~82°C.  I'd expect a, "sloping off of such voltage" - revealing that temperature dependence.  Thus - you'd likely, "fall out of voltage spec" - at temperatures lower than the stated 82°C.  Is not this the case - or is that, "knee-like" response correct?  (doubtful)

    Perhaps (surely) helpful here - GPIOPinTypeSSI() reveals:  (note: this w/in driverlib\gpio.c)

        GPIODirModeSet(ulPort, ucPins, GPIO_DIR_MODE_HW);

        //
        // Set the pad(s) for standard push-pull operation.
        //
        GPIOPadConfigSet(ulPort, ucPins, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);

    And indeed - unless done elsewhere - that pin config is not especially comforting for SSI input!

    Final point - see no mention of the remote SPI device's exposure to your (assumed) shake/bake chamber.  Just as you surmised - the decline in MISO voltage may be the result of: remote SPI, MCU or those 2 in combination.  Breaking that signal link (correctly) - and then retesting - is indicated...