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.

TM4C129ENCPDT: QSSI TX/RX is reversed, So is there a fix?

Part Number: TM4C129ENCPDT

Hi. I'm migrating existing firmware from Stellaris to Tiva and my SSI/SPI bus is now screwed up because RX/TX have been swapped from Stellaris to Tiva.

I understand that TI is aware of the pin swap based on this document: www.ti.com/lit/an/spma049a/spma049a.pdf , page 9 #17.

Stellaris: pin-A4: SSI0RX, pin-A5: SSI0TX

Tiva in "legacy" mode: pin-A4: SSI0TX, pin-A5: SSI0RX

Aside from bit-banging the SPI bus and from redoing the PCB, are there any other fixes? Can I just move one pin function to the other and be done with it?

It says the pins are bi-directional, maybe I'm missing something but it looks like in this case they are either both TX or both RX.

  • Your understanding is almost correct. The TM4C129x devices have the SSI0 TX and RX pins swapped compared to the LM3S and TM4C123x series devices. (The Tiva family includes both the TM4C129x and TM4C123x devices.) There is no way in software to change this hardware configuration other than as you suggested "bit-banging" the SPI bus.
  • Kraftfahrzeughaftpflichtversicherung said:
    Aside from bit-banging the SPI bus and from redoing the PCB, are there any other fixes?

    Feel your pain - and agree w/vendor about the "unpleasantness of your position."      You must realize that when the SPI module is declared & employed - you "lose the bi-directional capability" - which those pins enjoy when configured as "normal" GPIO.    (i.e. in SPI mode - pins "are what they are" - which is "SPI-based,unidirectional.")      

    Bit-banging may "Save your existing board" - yet the loss of the automated & extensive SPI signal handling - may come at high cost.    (as always - much depends upon the "fine details" of your (unique) application.)

    As to "other fixes" - while crude - firm/I have "rescued" a few hundred "whoops boards" - especially when "2 adjacent pcb traces" had been "switched."    If the traces "parallel track each other" and both appear upon the same (outer) board layer - is it not possible that a pair of careful "Trace Slices" and "insertion of properly sized/placed 0Ω smt resistors" - enable the "swap of such signals?"    Much depends upon the board's density - and its operating environment.    Such "signal swap" is NOT Recommended when "temperature variances are large" or board "shock/vibration" are expected.

    If you are lucky - and the board allows such modification - the end client may never note your hiccup ... nor your inspired fix...

  • Thanks for these answers. I've bit-banged an SPI bus before because I was dealing with an ASIC that had some whoopsies in its design too. On this board I will be talking to 6 chips via SPI and it will be in my best interest in making the board modification and continuing to use the hardware SPI.

    I can access the traces pretty easy on this board and will be making the swap with a little spaghetti followed later by another spin of the board, it will not be a problem.

  • Love your "Can do" rather than "Woe is me" attitude .

    The combination of "voodo" (shrunken, very fine gauge) spaghetti which overlaps an 06-03, 0Ω R, placed along a "sliced" signal trace - has long appeared (even) upon uber expensive "PC Mother boards." (Not to ask - How I know...) Bon chance mon ami...
  • yep, it's already done, all part of the job. Everything is now working.

  • "Oh my" ... Be still my heart!      May I note that use of (say) 30 gauge, teflon insulated wire-wrap wire (may) prove more robust?
    I'm fearful that the photo shows an uninsulated wire - which overlaps a via (which may "challenge" the solder mask's insulation at/around via's edges.)

    The suggestion of a "surgical trace slice" appears to have (given way) to (pardon) "trace amputation."    (it almost appears as if the traces were, "burned into compliance" - rather than "surgically sliced.")

  • hahaha, yep :-D the wire is ever so slightly off the surface, it works perfectly just don't touch it hehe. the picture doesn't do quite justice because it's from a crappy usb microscope. don't worry, this will all be gone in the production version.