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.
Hi all
I develop a CAN-bus connected device based on a TM4C1233H6PMI. The device has 4 external connections, two supply lines (positive and ground) and CAN-L/H.
The device is connected to CAN-bus enabled systems, such as industrial equipment and automotive.
Sometimes, devices come back non-responsive. From testing, it seems that it is the MCU which is damaged.
The supply circuitry consists of the following:
- Reverse polarity protection using a S1M (diode)
- Transient protection using a SMAJ33A (TVS)
- SMPS TI LM536015QDSXTQ1
The 5V output from the SMPS is converted to 3.3V and connected to the MCU.
The CAN-bus circuitry consists of the following:
- CAN-bus transceiver: TI SN65HVD232DR
The output from the transceiver is connected to the MCU.
Damaged devices test observations:
- The supply circuitry has not been damaged on the damaged devices - the SMPS outputs 5V
- The current draw is is reduced compared to normal operation
- I cannot come in contact with the MCU using the debugger
Solution:
I consider to add a ESD protection diode (nup2125) to the CAN-bus lines to protect the transceiver against voltage transients.
However, I am not sure if this will be sufficient or if it is through the CAN-bus lines the device is damaged.
I will appreciate any help / suggestions / tips to above problem.
Thanks
Best regards
Christian
Feel your pain. You write, "Sometimes, devices come back non-responsive." That's not too quantitative - is it?
Far more useful would be the, 'Percent of Total Devices' which exhibit this failure ... and - is this a 'new' occurrence? (i.e. have these devices (past) succeeded - and 'only recently' - this failing has been noted? Should this (recent failure only) have been observed - what might have changed - your past board builds (success) vs. these newer ones? (failing)
The fact that the MCU's external xtal drive has been lost - most often - points to a 'reasonably severe' power disturbance - inflicted upon the MCU. As the vendor agent noted - I doubt the CAN bus to be causative. More likely - the powering (both turn ON & turn OFF) of your 3V3 Regulator - rises in my suspicion. The 5V Supercap concerns - it would pay to scope monitor [really capture & store] (both) the 5V and 3V3 waveforms - during Power ON and OFF! From experience - sometimes that Supercap (tied to the output of your 5V Reg.) will 'hold-up' that 5V Reg's output voltage (creating V_Reg_Out > V_Reg_In) when the voltage input to this 5V Reg. is decaying/removed. That's an 'illegal operating condition' - and may cause the (following) 3V3 Reg. to misbehave - spiking your MCU. (that so - at least in theory...)
If not already present - small value, fast acting, ceramic (bypass) caps should be present upon (both) the 5V & 3V3 power lines. You'd want such caps ALSO (very) close to the MCU's (multiple) Vdd pins and to VddA. (even if - especially if - you are not using the analog features of the MCU! You must connect VddA to 3V3 - even if analog is unused) (I would go so far as to REMOVE the Supercap - at least during early testing - and closely monitor operation - to learn how (or if) this impacts.)
You need to, "Induce this failure more deliberately AND at higher frequency" - so that you can best detect the impact of your various correction strategies. I believe that 'Power ON & Power OFF CYCLING' should be introduced - possibly w/the MCU programmed to toggle several LEDs (which may be remotely monitored) and which 'immediately' detect and ANNOUNCE your MCU's Failure! Suggest 'Power Up and ON' for ~ 10 seconds - then 'Power Down and OFF' for ~5 seconds. (enabling 4 complete Power Cycles per minute - nearly 1K Cycles w/in 4 hours...)
Divide & Conquer always helps. If you provide a termination resistor on the 'outboard side' of the CAN Xcvr. - but break the CAN interconnect - and then repetitively execute Power ON/OFF - that may eliminate the CAN connection from 'guilt' - should your MCU continue to fail.
Your MCU's JTAG lines should not float. (or be terminated by the 'too high' value, MCU internal pull-ups - 10K or less (external Rs) [even grafted in] which prove far superior in adding signal robustness & reducing the 'invitation' of damaging, 'transient signal invasion.')
HI Christian,
Christian Steiniche said:We remain very interested in suggestions to above.
Adding to CB1's excellent excerpts, if not already covered might you consider info below.
Seemingly your 5v buck down regulator to 3v3 for powering MCU VDD pins can perhaps overshoot during power up. Please check the datasheet to determine how much overshoot might occur as the buck down switcher powers up. We opted to use 3v3 LDO regulator in such a buck down scenario which provides an output voltage safety clamp if 3v3 overshoot might occur. Buck down regulators often may not buck 5v down to 3v3 on the first few switch pulses.
Do provide your unit's (requested) 'past history' - especially noting if these failures are, 'new.' (i.e. resulting from the most recent 'batch build.') The overall, 'Percent of Total Unit Failures' is of critical importance - and still absent...
While, 'as much info as possible' is a goal - such should NOT, 'Bury the specifics of the 'key data' (of higher impact) earlier detailed & requested.'
A suggested method for your 'AUTOMATED Testing' (past tried/known .. and proven) was provided - such (should) be followed...
Proper 'Repetitive & Well-Monitored Power Cycling' (as past described) goes far to, 'Speed, Ease & Enhance' such Test Results. (the addition of several toggled (and electrically monitored), 'Test Leds' - enables the, 'Instantaneous Detection of the MCU's Failure' - even when - and especially when - 'NO Human Tester (likely bored/otherwise distracted) is present!')