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.

Can 3.3v tolerant GPIO use a WPD and single series R to limit binary H below 3.3v.

Guru 55913 points
Other Parts Discussed in Thread: TM4C1294NCPDT, SN74LVC4245A, SN74ALVC164245, TPS2051B, LM3S8971

TM4C1294 GPIO: +3v3 tolerant

Like to know how effective is 18-20k WPD internal R when used with say a 4.7k series R to limit a binary high 3.2v, if ever a 5v driven an applied TTL signal?

In practice how possible is it a +5v TTL/CMOS driven signal input to a GPIO pin ever reaches above 3.2v for a binary high?

Something tells me a binary H from +5v gate driver rides at or just below +3.3v. Seems odd TI makes such a fuss to state the TM4C GPIO are not 5v tolerant yet caution prevails as Stellaris GPIO inputs were +5v tolerant. 

  • Hello BP101,

    Do note that this is with the assumption that the Pull Down is active. Consider the situation that a 5V signal is already applied to the device pin when the device is un-powered or has been powered up. The flash code execution to configure the PD is not yet run, so the pin is seeing the 5V.

    Regards
    Amit
  • Good point execution of the WPD 20.5 ohm nominal, returns to registers POR defaults. GPIO electrical spec (+4v @64ma) Max including any overshoot.

    Past tested 74HCT74 @+4.5vcc input GPIO Stellaris, binary H @25*c is +4.499 @-20ua typical, yet over TM4C 4v max.

    Some madness a 4.7k series resistor limits GPIO input current @4.499v binary high to 957ua. The drop across the R should bring GPIO input below 4v. Perhaps 50k-100k might be more protective if WPD tops at 35k max.
  • Are "binary" and "high" required - back to back - as you've so strongly adopted? Few other posts here/elsewhere evidence that unique word treatment.

    Cost/size/assembly savings pale when employing a, "resistor pack" - which enables you to meet your divider voltage levels - even when the MCU is unpowered or is within Reset.

    Months back I listed an 8 channel device - from this vendor - which enables excellent voltage translation. If you ask - I'll post that part ID again.

    You speak of +5V gate driver - and note that it, "rides at or just below +3V3." Was that what you meant to write? The "gate drivers" I know you and I to employ usually - but not always - receive their input signals from an MCU - and output at (translated) voltages (far higher) to turn-on power FETs.    Staff/I know of no gate driver, "Riding at or just below +3V3!"

    Might you have intended - instead - logic ICs operating from older, 5V supplies? I doubt they too - "ride at or just below +3V3..."

  • Hello cb1

    I agree. Cost of a multichannel voltage translator is far less than damaged micro.

    Regards
    Amit
  • Hi Amit,

    Interesting fact is the GPIO pins are tri-stated and the GPIO tri-state event will be asserted until when exactly?

    1. After the GPIO peripheral is enabled? 

    2. Regarding GPIO port M and L; Port L QEI has been enabled with a pull down and M for Hall type inputs. Modified GPIOPinConfigure() to allow PinType to be passed in the function call. Perhaps an Tivaware upgrade from always defaulting to ~~_STD_WPU and allow us to input the exact pin type during (tri-state) in stead of assuming to always be WPU?

    Register 16: GPIO Pull-Down Select (GPIOPDR), offset 0x514
    The GPIOPDR register is the pull-down control register. When a bit is set, a weak pull-down resistor
    on the corresponding GPIO signal is enabled. Setting a bit in GPIOPDR automatically clears the
    corresponding bit in the GPIO Pull-Up Select (GPIOPUR) register (see page 776).
    Important: The table below shows special consideration GPIO pins. Most GPIO pins are configured
    as GPIOs and tri-stated by default (GPIOAFSEL=0, GPIODEN=0, GPIOPDR=0,
    GPIOPUR=0, and GPIOPCTL=0). Special consideration pins may be programed to a
    non-GPIO function or may have special commit controls out of reset. In addition, a
    Power-On-Reset (POR) returns these GPIO to their original special consideration state.

     

        // Enable pin PL1 for QEI0 PHA0 input WPD 3.3v maximum high level
        // Velocity reporting & quadrature phase;
        ROM_GPIOPinConfigure(GPIO_PL1_PHA0);
        ROM_GPIOPinTypeQEI(PIN_ENCA_PORT, PIN_ENCA_PIN, GPIO_PIN_TYPE_STD_WPD);
        //
        // Enable pin PL2 for QEI0 PHB0 input WPD 3.3v maximum high level
        // Quadrature phase detection;
        ROM_GPIOPinConfigure(GPIO_PL2_PHB0);
        ROM_GPIOPinTypeQEI(PIN_ENCB_PORT, PIN_ENCB_PIN, GPIO_PIN_TYPE_STD_WPD);
        //
        // Enable pin PL3 for QEI0 IDX0 input WPD 3.3v maximum high level
        ROM_GPIOPinConfigure(GPIO_PL3_IDX0);
        ROM_GPIOPinTypeQEI(PIN_INDEX_PORT, PIN_INDEX_PIN, GPIO_PIN_TYPE_STD_WPD);

  • >Was that what you meant to write?
    At the time shooting off the cuff of WOW shouldn't all IC today be PNP logic levels like ACPI compliant OS has strived to design.
  • Hello BP101

    1. The GPIO remains in tristate till the GPIODEN bit is not set
    2. The specific state of the GPIO via Pull Up or Pull Down is interface sensitive and design dependent. It would be advised that a pull up or pull down be placed on the board.

    Regards
    Amit
  • Hi Amit
    >The specific state of the GPIO via Pull Up or Pull Down is interface sensitive and design dependent.
    I would seem GPIO ports stay in the tri-state mode until after the configuration is asserted via HWREG etc..
    A single pull down R not so bad but multiply that by 6 or more PDR and PCB space is quickly consumed.

    Using the potentiometer rule easily finds the drop in a 4.7kR/WPD 20.5k NOM up to 35.5k max, GPIO input voltage is expected +3.660v/+3.973v respectively with 4.5v signal.

    One would think TI has LAB tested series R/WPD to know is a safe or not recommended so keeping parts count minimal? Why have an internal WPD or WPU if still required to add more parts? Seemingly a bad aspect of external PDR, external ground noise can be injected into an otherwise clean signal that can enter the GPIO pin into the MCU.

    Statement on page 754 gives some amount assurance of tri-state up until Register is fully asserted with WPD.

    When the internal POR signal is asserted and until otherwise configured, all GPIO pins are configured
    to be undriven (tristate): GPIOAFSEL=0, GPIODEN=0, GPIOPDR=0, and GPIOPUR=0Table
    10-4 on page 754 shows all possible configurations of the GPIO pads and the control register settings
    required to achieve them. Table 10-5 on page 755 shows how a rising edge interrupt is configured
    for pin 2 of a GPIO port.
  • BP101 said:
    One would think TI has LAB tested series R/WPD to know is a safe or not recommended so keeping parts count minimal

    My friend - you should know that such (weak) programmable, pull-up/down resistors are of similar values - across the 4 other ARM MCU - vendors we employ.   Thus your "lab testing direction" should be "broad-based" (wide) - rather than "beamed" (narrowed) - should it not?

    Might it be also that such "weak/programmable" internal resistors are intended to prevent an MCU input from "floating" - and are not intended as, "beasts of burden" - as is your, desire du jour.   And - these "weak" chip resistors are intended to "give way" to proper, external input signals - introduced at the MCU's GPIOs.   (this explains their "weak" designation.)

    As I recall - these resistors are drawn from IC library cells - and are (rarely) intended to carry much current.   (you must think from the vendor's "million-chip perspective - cram the maximum number of parts on a wafer" - not from your, "Someday (maybe) I'll get to production!"    Again - Lone Ranger thinking often proves too limiting - and "blocks" reality!)  

    Your voltage translation issues are classically best managed via:

    • choosing devices which power from - and output at - compatible voltage levels
    • employing multi-channel voltage translators - as produced by this vendor/others - when you choose not to comply w/the above!   Semi firms are "big time" - they're too smart to invest in, then engineer a device that has little, "raison d'etre."  

    This horse was solidly beaten a month or so past (right here) - wounds barely healed - he's again saddled - and he (still) ain't likely to run fast - or far...

  • Here's a little goody I use a lot:

  • Not so much disagree with any part yet offer food for thought of why external R may or may not be enough to protect the +5v unprotected GPIO pins. Others fowling similar madness have jumped off the very same bridge for what reasons remain a mystery. That reason should be disclosed in the TM4C datasheet. Other words educate us as to why removing +5v GPIO pin protection benefits external architectures built around the TM4C1294NCPDT. How that removal of +5 GPIO pin protection adds value plus cost savings in production runs there surly must be some explanation other than we just didn't think of that. 

    1. Vendor removed +5v GPIO protection makes it appear that +5v GPIO restriction is easily corrected by internal HW and SW.

    2. Vendors removal of +5v GPIO pin protections apparently did not consider migration a factor for (reasons) not fully (explained) in the datasheet.

    3. The signal currents GPIO internal WPU/WPD are mostly in the micro or nano amp range seemingly pose no danger to CMOS input gates.

    4.  Datasheet explains GPIO pins are Tristate (until otherwise configured); Hardly enough detail or explanation of when (exactly), what register (0x000) programming does the Tristate mode become removed? 

    5. Tivaware GPIO pin assignment register programming comes before adding WPU or WPD assignments otherwise the GPIO has neither on POR. The SW is not structured to apply any WPD or WPU as a first step measure so the detail of GPIO pin (Tristate) is paramount. Will first setting WPU or WPD have any effect on (Tristate) GPIO pin? All good questions with no explanations revolve around vendor removing 5v GPIO pin protections.

    6. Adding SW has always been the reasoning to win the war for removing costly HW when it is not (specifically) needed.  

  • Hi Randy,
    Thanks for added schematic.
    Not a bad idea for a single input yet when 6 inputs need a goody the parts count goes way up. Otherwise goody makes a nice input buffer, up to what frequency noise immunity might be other considerations.

    Parts count cost benefit over CB1 earlier suggested adding a multi port level translator may be worth checking out. Least expensive alternative to add 6 PD resistors yet ground noise immunity also considered in that idea.
  • My "level translating obsessed" friend - does your protest not suggest that you'd benefit from expanding your search to "more accommodating" MCUs?  (they do exist)

    As a public service (and in satisfaction of my "work-release") - I relist vendor's, "SN74LVC4245A" Octal Bus Transceiver which exhibits superb voltage translation capabilities.   Device is prominent w/in:

    • ECG
    • CT scans
    • X-Ray: Medical/Dental/Baggage Scanners
    • Software Defined Radios
    • High Speed Data Acquisition

    Device succeeds in "both directions" (3V3 -> 5V & 5V - > 3V3) & allows independent "tweaking" of each side's supply voltage...

  • cb1, Typo, I think. Should be SN74ALVC164245 ?

    Robert
  • Note that a quick digikey search on level translators returns something like 3500 possibilities and digital isolators returns 3000. There's an embarrassment of alternatives available.

    Robert
  • Robert,

    We gutted an "enemy machine" to better gauge, "What, why, how" and the part I listed revealed.

    Do feel free to, "Make the case" for the device you've listed...   (my suggestion was not "end-all - be-all")

  • Robert,

    Device you listed is vendor's "wide-body" and is 16 bit.   I proposed 8 bits - moving Brett's ball more slowly/cautiously to the goalposts...

  • Cb1, Aha! The SN74LVC4245A shows up, the previous one mentioned did not (check the spelling, a few letters got transposed)

    The SN74ALVC164245 is listed as an 8 bit device on Digikey, I didn't notice the fact it was listed as 2 channels of 8 bits. The perils of skimming


    Robert

  • @Robert,

    You "skim" - I can't, "proof-read" - both resolved now... And the "wealth" of riches should induce "reasonable" users to, "come aboard."

    Perhaps of note - device I listed was used by several "big-time" firms - our belief - their sourcing/testing/approving dwarfs ours - thus we, "follow in (near blind) lock-step."
  • CB1,

    Of worthy note, the cost appears comparable to the discrete solution for 8 I/Os

    Robert
  • @Robert,

    If the "big guys" ain't "going discrete" - and we seek to "please investors by out-performing the market" - then our "sourcing/procurement" dept. "hitches to "big-guys's wagon..."    This - (almost) justifies our avoidance of, "Reinventing the search/source/test/verify" requirement - proving worthwhile & great time/cost/effort saver!

    Discrete solution (may) be acceptable for 1 or 2 channels - beyond that - proper IC proves "no brainer."

  • @Both fellows,

    Nice IC yet the real question is will it fit it's fat axe in the space of the 3 R's.

    Possibly one alternative to adding more WH HW is to fix the SW so it don't enable the GPIO pin until after the WPD is installed. The question remains tabled does the WPD assert remove Tristate one clock cycle after asserting the ui32PinType? A clock diagram of the GPIO might explain when the Tristate is removed.

    /* Configure the GPIO pin type for digital inputs with WPD 3.3v max high level. */
     ROM_GPIOPinTypeGPIOInput(GPIO_PORTM_AHB_BASE, GPIO_PIN_0, GPIO_PIN_TYPE_STD_WPD);
     ROM_GPIOPinTypeGPIOInput(GPIO_PORTM_AHB_BASE, GPIO_PIN_1, GPIO_PIN_TYPE_STD_WPD);
     ROM_GPIOPinTypeGPIOInput(GPIO_PORTM_AHB_BASE, GPIO_PIN_2, GPIO_PIN_TYPE_STD_WPD); 

    void GPIOPinTypeGPIOInput(uint32_t ui32Port, uint8_t ui8Pins, uint32_t ui32PinType) { // // Check the arguments. // ASSERT(_GPIOBaseValid(ui32Port)); // // Set the pad(s) for standard push-pull operation first setting pin type. // GPIOPadConfigSet(ui32Port, ui8Pins, GPIO_STRENGTH_2MA, ui32PinType); // // Make the pin(s) be inputs. // GPIODirModeSet(ui32Port, ui8Pins, GPIO_DIR_MODE_IN); }
    void
    GPIOPadConfigSet(uint32_t ui32Port, uint8_t ui8Pins,
                     uint32_t ui32Strength, uint32_t ui32PinType)
    {
        uint8_t ui8Bit;
    
        //
        // Check the arguments.
        //
        ASSERT(_GPIOBaseValid(ui32Port));
        ASSERT((ui32Strength == GPIO_STRENGTH_2MA) ||
               (ui32Strength == GPIO_STRENGTH_4MA) ||
               (ui32Strength == GPIO_STRENGTH_6MA) ||
               (ui32Strength == GPIO_STRENGTH_8MA) ||
               (ui32Strength == GPIO_STRENGTH_8MA_SC) ||
               (ui32Strength == GPIO_STRENGTH_10MA) ||
               (ui32Strength == GPIO_STRENGTH_12MA));
        ASSERT((ui32PinType == GPIO_PIN_TYPE_STD) ||
               (ui32PinType == GPIO_PIN_TYPE_STD_WPU) ||
               (ui32PinType == GPIO_PIN_TYPE_STD_WPD) ||
               (ui32PinType == GPIO_PIN_TYPE_OD) ||
               (ui32PinType == GPIO_PIN_TYPE_WAKE_LOW) ||
               (ui32PinType == GPIO_PIN_TYPE_WAKE_HIGH) ||
               (ui32PinType == GPIO_PIN_TYPE_ANALOG));
    

     

  • If I understand you correctly, you are thinking that it is OK to apply 5V to the GPIO pin as long as the port is disabled?
    I don't think so.

    Randy
  • If you can level match 8 channels with 3 resistors I'm impressed. The single channel version ( SN74LVC1T45DBVR ) is a SOT-23 case.

    Robert

  • The GPIO port are tristated away from the actual GPIO mux channels and should be in (hi impedance) to the external TQFP package pins.
    Doesn't the OE pin tristate, disconnect the output or even the input from the surrounding bus depending on the IC design?
  • I'll have to defer to Amit on this one but I don't see anything in the data sheet that specifies anything greater than 4V absolute max in any condition.
    Just because the pins are tri-state doesn't mean they are isolated from the silicon.
  • At the very least the ESD diodes are still present. And usually the integral body diodes of the FETs that form the output drivers.

    With no power on the micro there will much higher current flowing through those if 5V is applied.

    It has been known for micros to be accidentally powered through their I/O pins when they were supposedly off. Not usually a good thing.

    Robert
  • Hello All,

    TM4C129x has pseudo fail safe IO's, note that on the ESD protection for non power [ins there is a diode from the IO to VDD. In other words you can end up powering the device and it may not be working.

    I still do not understand, specifications mention not more than 4V and there is no 5V protection, so why not use the voltage translator and have a clean end design.

    Regards
    Amit
  • Was 6 resistors in that space - 6.8k works nicely given 4.5Vin and WPD 20.5k-35.5k = +3.379v/+3.776v. Have to check on SOT23 and the one placed on PCB was 24SSOP package. How safe is SW while if the WPD ever failed to load the series current is limited to 600ua @4.5v applied, that assumes tristate has failed ad the WPD is not asserted.
  • Hi Amit,

    That does present a problem if Page 1852 Fig 27-17 shows ESD state Most IO pads includes GPIO pins. That would infer the GPIO pins are not tristate by definition since external voltage can effect the internal rail. For clarity can we find out what or if GPIO pins are included in the Most pins category.
  • Forest must remain (somewhat) visible thru the trees.

    Those suggesting normal/customary "voltage translator" - to professionally solve your issue - are rejected due to board's (arbitrary) dimensioning - done prior to your full understanding of the issues & requirements of such translation.   That cannot be (our) fault - can it?

    Realize too that it takes time for the MCU to, "come out of power-up, and/or other resets" - and on each/every one of these occasions - you are potentially damaging those over-stressed GPIO pins.   (i.e. the software ordering those pins to switch in "weak pull-downs" has not yet executed!)   From my experience at another giant semi firm - those stresses may not cause "instant death" but are likely to cause cumulative damage - which in time - will (likely) lead to that pin's "out of spec" performance.   (often failure)

    If the case has not been solidly made in favor of "pro" (vendor designed, multi-channel, voltage translators) I surrender.   Those here bear no responsibility for a board designed "too small" and w/out benefit of an exhaustive search of normal/customary design methods - used by those w/long/focused experience...

  • Hello BP101,

    The diagram shows it what happens when the device is unpowered and what is the ESD protection on the IO.

    Regards
    Amit
  • Perhaps one answer; PCB provides +5v external power to the devices that sometimes might supply TTL signals into the GPIO inputs. Defeat ESD diodes to VDD by not allowing +5 regulator to enable until after the WPD is programmed. That part is also modify PCB to switch external +5 on/off with a TPS2051B switch like OTG uses.
  • The point is the datasheet claims GPIO pins are tristated and it would seem the ESD diode violates IEEE definition of what the word tristate infers. No outside voltage shall effect the device rail when the input or output is in high impedance state. Hence the use of the word tristate is not proper in this case when it is in fact in quad state mode.

    Have feeling this befuddled use of the words tristate GPIO pins was left over from the Stellaris group. Tell me the GPIO pins are Quadstated and I ask, tell me more about Quadstate. At least Microsoft rewrites an RFC when they make a change so everyone else is on the same logic page.
  • BP101 said:
    +5v external power to the devices that sometimes might supply TTL signals into the GPIO inputs

    And you'll - AT ALL TIMES - be able to control this switching action!   Really?  

    You cannot count upon the MCU to do this - especially when it "Resets."   

    Let the "bandaid parade" march on - surely you can hire a brigade (at least a platoon) of skilled programmers to log, revise & perfectly recall each/every "nook/cranny" so that the "premature board design" may, "live long!"   (yet w/out a healthy MCU - likely victimized by "space saving!")

  • That 4v ABSM is shown in the electrical characteristics page 1820 fig 27.3.2 for High level GPIO input voltage. By definition tristate infers the I/O pin will not allow logic level voltage into the silicon rail. That is what high impedance state means or has until some one defeated the definition by adding diodes on the pin into the rail when there should be an MOV. In that way current can not flow into or from VDD unless it is High voltage say over 1Kv or so. The pin on the bus is in high impedance state not just the GPIO pad.

  • Beat this dead horse (few more) times. We doubt it will move. You've got a solution at hand - must Amit (personally) leave his position here - and design your new (proper) board?   Might that - at last - satisfy.   Really - what's your point?    Uncle...

  • Proper has many definitions many leave tristate for IEEE to debate as proper. Yet we have solace in knowing the WA has good bones. FOC tries to eliminate older rotor position devices Halls and or Encoder but strives to support that which tires to hang on, hang on for what we got -- 1960's in 2015 lives.
  • Every manufacturer uses ESD diodes. Every manufacturer calls the state with output drivers disabled tristate. Your definition is at odds with the entire industry.

    Robert
  • >Every manufacturer calls the state with output drivers disabled tristate.

    Every manufacture then needs to clearly disclose such facts in the section topic of GPIO pins (call it disabled tristate). Perhaps one day they will consider B2B diode or discover new processes how to incorporate MOV on said defeated pins. It is quite clear in tech writers mind the TQFP pin is not directly related to the GPIO tristated pad. Evidence the many hindering diodes of death disclosed far back in a later chapter.

  • >You cannot count upon the MCU to do this - especially when it "Resets."
    Very good point could become a Gotcha. Not forget add pull down resistor on the TPS2015B EN to keep external +5v disabled until the EN is driven high well after any WPD are set. Should anyone not read warning to only use the +5v supplied from the PCB. Well then we will just refer them to the back of the TI datasheet that discloses how the GPIO pins tristate has been defeated by ESD diodes.
  • TRI-STATE® is a registered trademark of National Semiconductor Corporation.

    Limits of the range with-in which high-impedance can be expected are typically disclosed in the Abs Max and/or recommended operating conditions sections (there will always be limits, no matter the implementation)

    Example Abs Max indicating limits:
    DC Input Voltage (VIN) −1.5V to VCC +1.5V

    Robert
  • Hello BP101,

    Yes, but the tri state means that the IO will not allow voltage level on the logic path. It does not mean that the Voltage rail may not get supplied. This depends on the nature of ESD structure on the IO rail. And in this case the ESD structure has a diode protection to the supply rail and a GND protect for fast rising signals to the GND rail.

    Regards
    Amit
  • Hi Amit,

    That would not seem the same truth in a standalone IC at least in circuit designer mind. When IO (pins) are in high impedance state they don't interact with the external bus. OE renders the outer bus pins completely transparent to the external surrounding bus in all aspects. So even if +4.95v was present on the external bus pins, in the circuit designer mind the internal rail did not interact to the external high impedance bus pins. Better yet how could any applied external pin voltage ever interact with internal rail if the external pin was in high impedance state of several hundred megohms. 

    The GPIO pin ESD protection diodes twist the accepted understanding of high impedance bus pins. Perhaps the datasheet GPIO section could mention the external TQFP128 package pins are not completely in high impedance state from the external bus even when the GPIO pads are in high impedance state. Accident avoidance in the absence of bidirectional TVS/MOV pin protections.

    Thank you for bringing ESD diodes into the conversation and other very important points. 

  • Hello BP101,

    You are assuming that the IO is like a standalone transistor. Note that it is not as the supply rails are still connected to the transistor. The IO is made from buffers to allow for drive strengths to be configured and the external pin voltage has a path.

    Regards
    Amit
  • BP101 said:
    . OE renders the outer bus pins completely transparent to the external surrounding bus in all aspects.

    Simply not true. I have never seen any IC for which this could be claimed.

    Robert

  • >Simply not true

    We were discussing the aspects of bus voltage and not current, so not every aspect is being claimed in that bold statement.

    What do you think allows multiple IC outputs to share a common bus. The high impedance state of the pin disconnects it from the shared bus.

    A few TI stand alone multiplexers have an OE also at the input side. The point being made is external (voltage) can not flow into the pin when it is in the high impedance state even when it is an bidirectional bus driver. Pin injection current yet another story separate from supply voltage powering the MCU.

    Must admit Stellaris LM3S even with +5v GPIO pins an applied input voltage could magically power the internal LDO, ever the 3.3v VDD was disabled 

    Why is the internal LDO not fully isolated from the GPIO peripheral MUX pad, pins and PD's seems more the question.

     

     

  • BP101 said:
    not every aspect is being claimed in that bold statement.

    all aspects is pretty inclusive, it doesn't leave much room for interpretation.

    BP101 said:
    The high impedance state of the pin disconnects it from the shared bus.

    No. It does not do that on any implementation, it simply disables the output driver.

    All implementations limit the voltage on the bus that the bus will remain isolated to some (small) value above the common Vcc. The closest to an exception are 5V tolerant inputs and some I/O devices (some CANbus drivers come to mind) that are designed to which allow slightly higher voltages.

    There is always a maximum voltage beyond which they will not work and for devices on a digital bus, it's quite low. Communication busses tend support higher voltages.

    Robert

  • >No. It does not do that on any implementation, it simply disables the output driver?

    We must agree to disagree on terms, a lay term effectively disconnecting pin from bus being the pin impedance is several hundred megohms. That does not directly infer (mechanical) disconnection from the bus.

    So the external GPIO pins are not tristated as they should be. Therefore the internal protection diode VDD rail are effected. That seems a lax and improper pin mux design on TI part. Other visual figures through out TM4C datasheet supported that (earlier) assumption. 

    Example: The Tiva PinMux tool all GPIO ports/pins are depicted in the very first column. That misleads or gives the perception each pin is directly connected to the outside world with no mention of diodes on the VDD rail. Datasheet, states the GPIO port is tristated again infers high impedance mode. Fig 19-1 TQFP128 pin labels list the GPIO port pin names with a decimal pin number makes it appear as if the tristate GPIO connects to the pin. Both these seriously lax representations to present the facts as they actually are in reality defy accepted and typical industry standard bus behavior! Why would anyone ever go to this extent this forum to inform TI how devious it appears to hide the true facts to the designer.

    Once again back tracking finding facts out 3 years later. LM3S8971 datasheet completely leaves out any mention of PWM Generator Legacy Fault mode in the discussion PWM external fault pin 71. That mode it seems must be configured to each generator regardless if the PWM Fault INT25 is enabled or not. According only to text found in the driver library the external fault pin 71 and Legacy Generator Fault mode are independent of each other. Once again the visual diagram shows the fault pin leading directly into each dam generator. Yet no mention in datasheet legacy fault mode must fist be SW enabled order to cut off each generators PWM drive into the control block. That is a very important fact left out of the PWM section of datasheet. That find this week seriously has upset me when a program change to ADC of many others locked the Ethernet GUI from connecting to the RDK. Has taken several days to uncover what and why. To make matters worse LMI originally used the PWM fault pin 71 for an external push button port previously removed by me for PWM fault cut off. RDK is a dang BLDC motor controller, what were LMI guys thinking. They even used a required and only analog comparator for GPIO Halls inputs. Not everyone is on the same page it seems!

    The word assume is left to mayhem.