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.

TM4C123GH6PM: What can cause high current drive pins PH2 and PH3 fail.

Part Number: TM4C123GH6PM
Other Parts Discussed in Thread: TM4C123GH6PZ

We have these pins driving opto isolator but with 18 mA drive. The opto isolators are used to drive stepper motor circuit. Both PH2 and PH3 pins are pulled high with 10K resistor.

We have about 50 boards build and running. Some of them are running for over an year. 

On, working board, when I put a scope on connector that is connected to PH2 and turn the output off, I see 5V. And when I turn the output on, I see abt 440 mV. I measured the current sink by PH2 and it is abt 15 mA.

Recently two of our boards started exhibiting an issue. They would not move motor and hence I connected scope and I found that when the output is turned off in system, it would only go to 1.68V and when I turn on, it would reach 880 mV. 

We replaced the board and motors started working ok. But since two boards in sequence failed, it prompted an analysis on our side. No visible damage on board (Checked under microscope). The continuity from pin to connector is ok. So the circuitry inside micro is damaged. 

Is any body seen similar failure? Any probable cause?

 

  • Pragnesh Patel said:
    We have these pins (PH2, PH3) driving opto isolator but with 18 mA drive.

    Pragnesh Patel said:
    that is connected to PH2  ...   I measured the current sink by PH2

    First off - both your subject line (above) - and the quote from w/in your post - reference "PH2/PH3" - which DO NOT APPEAR W/IN MY "TM4C123 MANUAL!

    • Is this MCU (really) capable of providing 18mA drive (even from those "mystery pins") - both consistently and long-term?  
    • And - many such opto isolators "lose efficiency with use & age" - might this be placing (even) higher demands upon these MCU pins?

    • MCU GPIO are not intended as,  "Beasts of Burden" - your imposition of  more robust - "buffering transistors" - imposed between the MCU and opto isolator - seems (highly) indicated.    (even if - and especially if - what you "have in place" - has (almost) appeared to "work so far.")
    • It would prove most wise to, "carefully/closely, scope & observe" each MCU pin tied to your opto - especially during the "Turn OFF" of the Opto.    Damaging voltage spikes (may) be in evidence - and if so - use of a Schottky diode to "Limit the  (unwanted)  "voltage excursion" is a usual practice."

    Shown below is support for the claim of  "PH2 (and its partner in crime)  somehow - NOT being resident" - upon TM4C123GH6PM.

    Thus - you must have "scrambled" this vendor's part numbers.   (a '129 device - suspected)     The above "transistor buffering" along w/voltage limiting Schottky diodes...  STILL applies.     As (fortunately) signaled - by your "4% - and likely to balloon" - failure rate...    (it is to your advantage - to have garnered "early warning" - of what may arrive - in FAR HIGHER (thus more consequential) numbers!")

  • Hello Pragnesh,

    As cb1 pointed out, the part number you list doesn't have those pins described so it's impossible for me to check our datasheet to begin investigating what could be going on with your application. Please provide the correct part number and I will look into this in more detail.
  • Pragnesh Patel said:
    We have these pins driving opto isolator but with 18 mA drive. The opto isolators are used to drive stepper motor circuit. Both PH2 and PH3 pins are pulled high with 10K resistor

    Besides being wrong MCU posted are there any series resistors besides 10k pull ups from opto coupler transistor drives into PH2/3 MCU pins?

    Can you provide clip from schematic of coupling part of circuit, that would help here?

  • Hello Pragnesh,

    Still awaiting feedback on the actual TM4C MCU part number to be able to look into your issue...
  • Hello Pragnesh,

    I am going to consider this issue resolved, if it is still open for you please reject my resolution AND provide the information I have requested about the exact part number.
  • Poster "silence" IS "deafening..."       Is it true that, "PH2 & PH3" - made it through - to the "Final Four?"      (as likely there - as on 4C123 - mais oui?)

  • Sorry for the silence.  Was busy troubleshooting the issue with customer. Back in the office today. However still no resolution found. My apologies.

    The part we are using is TM4C123GH6PZT.  There is a series resistor internal to the stepper driver that produces 15mA drive at 5V supply with output set to low. It is happening only on one setup so far with three failures.

    On the other side, same boards and same drivers with same full load of 15 mA on both outputs ( PH2 and PH3), we have been testing multiple sets in temperature chamber where chamber temperature is set to +60 degC. The most temperature rise we saw on chip is to 78 degC. The chip itself is rated to 105 degC.

    The same chip is connected to outside world through serial connection using LTC2870HUFD transceiver.  Two of such transceivers are in use simultaneously in the failing setup.

    The 5V power is generated through MIC2103YML chip from 24V DC input.

    The 3.3V power is generated through LT8614EUDC chip from 24V DC input.

  • Hello Pragnesh,

    To be clear, my understanding from your first post is that you are using PH2/PH3 as an OUTPUT correct?

    And you want them to output @ 5V?
  • Yes we use PH2 and PH3 for output, But they are in sink mode (Open drain output) and not generating any voltage. However yes they will subject to 5V.
  • Ola Ralph,

    Poster initially listed  "TM4C123GH6PM"  as the device - only now (post your prompting) - changing to (another) w/in the  TM4C123  family.     Does this MCU  (now) "include" - the (past AWOL)  PH2/PH3?

    Best practice would see the insertion of a  "small signal FET or bipolar" - between the 5V opto and the MCU's outputs.     

    In addition - it may prove useful to change the the Optos "pull-up levels" from 5V - to the MCU's VDD.    (assumed 3V0-3V3)     The opto may still perform adequately at that (more) MCU friendly voltage - although such should be "test/verified."

  • That is the next test we are going to run. But We have several locations and our test labs testing boards with same driver for months now. The board was released in Nov 2016.
  • Hello Pragnesh,

    While the TM4C GPIO are 5V tolerant, and able to be used as an output with open drain setting to work with 5V, I think asking them to additionally source a large amount of current @ 15mA along with the 5V open drain configuration is pushing their limits quite a lot. We don't have specifications for your exact use case as it is far outside of the intended usage for the device. Open drain was more meant for applications like I2C, not driving 10+ mA of current. This issue you have reported hasn't come up before, and I don't have a probable cause to give as to the issue observed aside from the GPIO is possibly being asked to do more than it was designed to handle.

    I would strongly recommend you reconsider the design and implement the use of an external IC to help buffer the GPIO output vs the driver input as cb1 mentioned. Many applications that come up regarding this topic are addressed by using a Push Pull driver or level translator.

    And yes cb1, it looks like the device in question here is the TM4C123GH6PZ.
  • Bonjour Ralph,

    I can state - w/out question - that client of ours - using (pardon) another's ARM Cortex M4 (with similar, "claimed" 5V, "acceptance") AND *** ALSO operating "Open Drain" - suffered (very) similar such FAILURES!

    Just as you well noted - the combination of  "that much current"  AND  the  "stress induced by 5V" - causes  GRAVE PAUSE!     Even though - and especially though - poster notes (some) success.     (thus FAR!)     That failure rate is UNACCEPTABLE - and strongly signals "device ABUSE!"

  • Guten Tag cb1,

    That's quite good info to know! I think it should be stated that just because some devices operate as expected, doesn't mean the solution is robust. I've had cases of 'but the system worked fine for the first 50 boards' come up when operating a device blatantly out of spec, but a small sample size of operating boards just means that batch of silicon is durable to it.

    Unfortunately this particular case edges outside of the clear lines written in our specs, as open drain output @ 5V is not something we characterized to go along with our 5V tolerance and general output capabilities @ 3.3V operation. But given that I can say 15mA is already on the higher end of supply currents (25mA is absolute max per GPIO) possible for a single pin, then couple that with the open-drain setting being used for 5V output which is not the intended usage for open-drain GPIO, I would have great suspicions that the device won't be able to handle such conditions across a wide breath of boards.

    I'll also note that our friend in forum guru Amit has multiple times suggested as you have that for 5V output the TM4C should use a buffer or translator.
  • Indeed Ralph - indeed.
    Any "Savings" - gleaned via "Uncharted Elements of RISK" - is (almost) certain to "Operate MUCH against the desire for, "Long Term" Success!" 

    Note too - most VC's (who engage firms such as ours) - to "search for & identify" such "unwise/unjustified - HIGH RISK Practice" will  "lose faith" in the "Values & Decision-Making" of individuals and/or firms - guilty of such, "RISK WELCOMING PRACTICES!"  

    And - from a pure  "Business Sense" - if the cost/size "penalty" - imposed by two "SOT FETs" cannot be absorbed -  then the opportunity may be (better) judged,  "Unacceptable." 

  • Ralph Jacobi said:
    While the TM4C GPIO are 5V tolerant, and able to be used as an output with open drain setting to work with 5V

    Hi Ralf,

    I find a few things off in this post besides the wrong MCU.

    Note the photo LED presents a clear voltage drop lowering GPIO pin voltage likely by 1.2v FWVD thus puts GPIO pin at 3.8v and not 5v.

    That said it would seem 15ma a bit high to drive an opto LED to begin with and it seems the series R is being assumed within the opto package, as it has been drawn. Otherwise what is actually limiting LED currents if there is no resistor included within the Opto package?

  • BP101 said:
    I find a few things off in this post

    So do we - but specifically - w/in the just  issued,  BP posting:

    • you've clicked upon Ralph's post - yet address Charles    (and have subsequently corrected...)

    BP101 said:
    Note the photo LED presents a clear voltage drop lowering GPIO pin voltage likely by 1.2v FWVD thus puts GPIO pin at 3.8v and not 5v.

    Your (attempt at) circuit analysis proves mistaken - here's why:

    • poster has CONFIRMED - multiple times - his MEASURE of 5V.     Surely you don't challenge his measurement - and report - do you?
    • you argue for a "clear voltage drop" - across the opto Led and resistor (if any) - and calculate that at 1V2.     Have you not MISSED THE FACT THAT OPTO CURRENT ONLY FLOWS WHEN THE MCU'S GPIO "DRIVES TOWARD GROUND" - THUS THERE NEVER EXISTS YOUR (ERRONEOUSLY CLAIMED) 3V8!
    • as Poster notes - and basic circuit analysis reveals - the MCU "sees" ~5V  (when off)  and near its  "VOL" level - (<0V8) when on.    NEVER is your 3V8 (via "NOT SO CLEAR" voltage drop) produced!
    • AND - have you not  "Signaled  now" - your (belief) that an  "MCU's GPIO may support  ~15mA  Current Flow - while  3V8  appears across that GPIO - while  sinking?"     Might such "clear BP belief"  (yet one I do NOT shareprove the cause - of (much) of  your  (consistent & unusual)  MCU ills?

  • cb1_mobile said:
    Have you not MISSED THE FACT THAT OPTO CURRENT ONLY FLOWS WHEN THE MCU'S GPIO "DRIVES TOWARD GROUND" - THUS THERE NEVER EXISTS YOUR (ERRONEOUSLY CLAIMED) 3V8!

    Nope and there is no escaping the Forward voltage drop the opto LED no matter the current flow method. It would seem impossible no matter GPIO pin is open drain or simply made low unless the LED is shorted out.

  • cb1_mobile said:
    AND - have you not  "Admitted now" - your (belief) that an  "MCU's GPIO may support  ~15mA  Current Flow - with  3V8  across that GPIO - while  sinking?"     Might such "clear belief" prove the cause - of (much) of  your (unique) MCU ills?

    Did not poster suggest 15ma was the Opto LED current flow and that too might suggest the LED is shorted out.

    Posters: On the other side, same boards and same drivers with same full load of 15 mA on both outputs ( PH2 and PH3),

  • BP101 said:
    Nope and there is no escaping the Forward voltage drop the opto LED no matter the current flow method.

    Is it NOW  (uniquely) claimed - that the "Opto Led" will experience a "voltage drop" - with NO (or extremely limited) Current Flow?      We can continue such, "clear" reasoning - and expect a voltage drop - "Across the Opto Led" - even when DISCONNECTED!        Is that not (via logical extension)  equally TRUE?

    The pull-up resistor provided by this client-user will  SURELY dominate (the non-conducting, Led path)  - causing  the MCU's GPIO Voltage - to approach 5V.     Not  the (unsupported 3V8)  earlier CLAIMED!     And - "JUST AS THIS Thread's ORIGINAL POSTER HAS LONG REPORTED."     (and  few here oppose!)

    (It was expected that  the countering,  "alternative circuit analysis"  (along w/its multiple, interlocking, supporting details)  - would enable an, "eased & proper" retreat...)

  • Hello cb1 and BP101,

    I would suggest we await Pragnesh's inputs and perhaps a part # to consult the datasheet for their Opto-driver. Please understand that continuing this debate beyond the current point won't be very productive for Pragnesh's issue, if you want to continue the discussion PM's would work well for that.

    Thank you!

  • In clear conscience - when the info "offered up" was SO WRONG - should that have been left for "UNCHALLENGED VIEW" - by impressionable others?

    You don't really believe - that "3V8" will arrive @ the MCU's GPIO - when that "Open Drain Configured" GPIO - is OFF!     Is that UNFAIR to ask?

    And Ralph - SHOULD the (most surely)  "erroneous analysis" (prove  (somehow)  somewhat correct  -  thus  IMPRESSING  "3V8 @ 15mA" - upon poster's GPIO - how is that fact - AT ALL - UNPRODUCTIVE?

    That alone would INSURE the DESTRUCTION of the MCU (via 57mW dissipation - upon a single GPIO!)        If  TRUE (yet most unlikely) - does this not "rise" to,  "VERY HIGHLY PRODUCTIVE?"

    You should note - the "analysis was questioned" - w/multiple "real facts" - it is difficult to see how such can be judged,  "Unproductive!"  

  • We use Microcontroller to driver opto inside Lin Engineering R701 driver. 

  • 5V goes to LED of Opto. There is a 220 ohm resistor in series with LED before it connects to micro.
  • And - do they provide a "firm" specification - with which you are in "full compliance?"

    Might you be good enough to, "Check, confirm and report" - the voltage reading upon "PH2/PH3" (with respect to Gnd) - when your MCU's Open-Drain GPIO is (first) OFF - and then ON?     (yet otherwise "connected" - per your earlier schematic - especially w/the pull-up resistor deployed.)  

    [edit]  Client-User (here) has added the detail of a 220Ω series resistor - I've produced the following paragraph in response to this (new) data.   

    If the 15mA flows - as you earlier noted - there is a 3V3 "voltage drop" across the series connected 220Ω resistor.      (E=0.015 * 220 = 3V3)      That leaves - at most - 1V7 remaining in the (5V) series circuit.     It (remains) expected that the Open-Drain GPIO pin (PH2/PH3) will experience a voltage "at/around" the specified VOL level (~0V5,  ~0.5V)) when  15mA current flows.     Again - would you be so good as to measure & confirm?

    As you've reported "multiple Field Failures" - is it not reasonable to assume that the "power dissipation" of  "either - or both - PH2/PH3" is being (somehow) exceeded?     Such is the justification for your NEW voltage measurements - of both PH2 & PH3 - with respect to MCU Ground.     (it would not hurt for you to attempt a current measurement (thru the 220Ω R) if possible - as well.)

    Should you (still) have the Failed Units - might you make one more measurement - but this time w/the "opto circuit" NOT Connected - to either PH2 or PH3?     Such should prove useful - in our attempt to resolve your issue...

    Thank you...

  • cb1_mobile said:
    Is it NOW  (uniquely) claimed - that the "Opto Led" will experience a "voltage drop" - with NO (or extremely limited) Current Flow

    Not sure where you pulled that idea from as I was referring to an active low GPIO pin, otherwise there would not be any Opto LED diode drop.

    Yet with open drain where 10k joins 220 ohm the potentiometer rule can aid to set the desired forward voltage level for LED often not to exceed 1.2v at rated forward current. Anyway the GPIO pin injection current (reverse) max should be checked in datasheet.

  • We did the current measurement before releasing boards with 10 Ohm resister between the driver and micro. (220 Ohm is not accessible from outside, it is packed in the stepper driver unit). Scope shows 140 mV across 10 Ohm when micro is driving the LED. I will get the wave form and post later today.

  • BP101 said:
    Yet with open drain where 10k joins 220 ohm the potentiometer rule can aid to set the desired forward voltage level for LED

    Or NOT!      

    The 10K pull-up R is  "WITHOUT (a reasonably) CONDUCTIVE PATH" to the Opto Led - is that not so?      (i.e. it connects  to the Opto Led thru the 220 R - yet at the Led's Cathode  "ONLY!")     Does this not thwart any  "voltage divider action"  - as  (now) claimed?

  • Hello Pragnesh,

    I would like to understand more about the state when the board is working correctly. Is the 140mV seen w/ 16mA current draw?

    Reading the datasheet I found this entry: "However, if the supply is greater than +5 VDC then a resistor must be connected in series with
    the STEP line and another one in series with the DIRECTION line to maintain 16 mA of current running through the optocouplers. Refer to Table 4 for the corresponding Resistor Values. "

    I am a bit concerned about what voltage levels may be put into the device to go along with these current inputs, esp. since we don't (unfortunately) have a spec outlining the "GPIO pin injection current (reverse) max" that BP101 mentioned. Most of all, I want to understand if/when the GPIO may be subjected to 5V, and what current it would experience in that situation.

    Just from what I've read, I still stand by the stance that having a buffer between the Opto and TM4C GPIO would be the best design decision.
  • Poster has earlier today reported measuring,  "140mV across a 10Ω (inserted, burden resistor)" and that 14mA current flow - well matches his earlier report of 15mA flow.    

    What is STILL LACKING though - and would prove greatly helpful - is:

    • the voltage - impressed (with respect to (wrt) MCU Gnd.) across PH2 & PH3 under the TWO Conditions:  (MCU's) Open Drain ON  and  Open Drain OFF.
    • Scope Caps - again wrt MCU Gnd - under (both) conditions (above) "OD ON & OD OFF."
    • And - especially - a Scope Cap resulting from the "Moment of Truth" (i.e. when the "OD is ordered (switched) from ON to OFF!)    Scope must be set to its (near) fastest horizontal sweep speed - so that (even) sub µS voltage transients - may be captured & viewed.

    As this application, "Drives a Motor" - and most motors present "reasonable" inductance - when the "Motor Current" is abruptly removed there is sure to be a (potentially  damaging) Voltage Spike - which may "Exceed 5V" - and be routed through (to PH2 & PH3) via the "pull-up R" and/or the opto coupler itself!    

    It is believed that the relatively "small structure/current rating" of the MCU's "input protection network" (primarily diodes) may fall victim - in time - due to the repeated arrival of these (>5V) voltage transients.    The classic method of protection sees a, "Fast Acting, adequately rated, voltage-clamping device - deployed across the "Motor Lead" being, "Switched to Ground" (anode to the motor lead - cathode to the motor's (+) supply (assumed 5V, here) by the Opto-Coupler (or other power driver).

    Those 3 "bullet-pointed" requests - to my mind - provide the most "real/effective" Diagnostic Guides - "best resolving" poster's plight.

  • Ralph Jacobi said:
    Unfortunately this particular case edges outside of the clear lines written in our specs, as open drain output @ 5V is not something we characterized to go along with our 5V tolerance and general output capabilities @ 3.3V operation

    Perhaps an other TM4C123 PDF suggest otherwise 5v5 the absolute maximum for open drain. /cfs-file/__key/communityserver-discussions-components-files/908/Tiva-TM4C123x-5v-tolerant-GPIO-pins-spma053.pdf

    4.2 Open-Drain Mode

    An external resistor is connected in series between the pin and an external power supply to drive larger output signals in open-drain mode. The external power supply (VDDEXT) should be limited to 5.5 V.

    Reliability issues result if voltages higher than 5.5 V are applied to a GPIO pin during any transient condition. Supply sequencing and transient voltages pose too much risk, so the safest solution is to limit

    the external supply to 5.5 V. There is a weak internal pull-down connected to the GPIO pins. The external pull-up resistor must be sized correctly to achieve the expected swing at the output pin. The value of the external pull-up resistor

    (RPU) can be calculated using the following expression knowing the value of the weak pull-down current

    (ILEAKpd) in open-drain mode.

    RPU < (VDDEXT – VOUT)/ILEAKpd (iii)

    Where,

    RPU = External pull-up resistor

    VDDEXT = External supply limited to 5.5 V

    VOUT = Voltage at the GPIO pin

    ILEAKpd = Open-drain, output driver weak-pull down current source, 30 μA (nominal value), ILEAKpd ϵ (15 μA, 60 μA) for all PVT conditions.

  • Hello BP101,

    In that comment I was more referring to that datasheet-level current specs weren't provided for 5V (or 5.5V) open drain configuration in terms of what the device can handle on the maximum side.

    Anyways, the document you've shared is not one I had seen before so I will read through it tomorrow, thanks for sharing that. It doesn't seem to be on our device pages anymore... will have to ask around about why.
  • So the OPTO LED Off time leakage current ((iii ) injection) back into the GPIO pin WPD, being the swing voltage PDF suggest any transients can effect GPIO structures.

    Off the cuff my RPU selection would be 20k-100k leaning more 100k for motor drive circuits that may require slower ramp down slew rates, e.g. soft turn off yet faster turn on times. Slow turn off may reduce motor CCEMF backwash into the opto drive circuit GPIO pin drive.
  • Bob posted that PDF when our TM4C MUC was shorting USB0 VBUS pins last week and asked similar questions relative 5v tolerant pins. Good read more than one time it seems to take grasping all the info.