cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F4 broken USART

thommagn
Associate II
Posted on January 21, 2013 at 16:21

Hi,

I have two identical cards with stm32f4 on them. I think one of them has a broken USART1 on it. If i erase flash on both cards, load the same code onto them, the USART1 only works on one of the cards. 

Everything else seems to work properly, including another USART. If i measure the Tx-pin, its constant high on the broken USART. 

Is there some way I can dig deeper into this problem to see what has happened? How do you break an USART, how sensitive are they?

Thanks,

Tom
9 REPLIES 9
frankmeyer9
Associate II
Posted on January 21, 2013 at 16:42

How do you break an USART, how sensitive are they?

 

Apply +/-12V directly to the MCU Tx/Rx pins ...

 

Is there some way I can dig deeper into this problem to see what has happened?

 

I would configure that pin as GPIO, and see if I can toggle it. That wouldn't be a final proof, of course.

And I would check all other involved wirings/parts for shorts and open circuits with an ohmmeter.

Posted on January 21, 2013 at 16:45

Feeding in high voltages, or ESD, is quite effective at evaporating silicon. This can be localized to a single pin, as can soldering or component issues.

Does the USART perform correctly with the system loader when BOOT0=High at reset?

How about setting the pin as a GPIO and toggling it? Does that work?

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
thommagn
Associate II
Posted on January 21, 2013 at 17:06

Tested to toggle the pins, but with no success. The RX pin toggles correctly, but the TX-pin does not. Stays high even after GPIO_ResetBits..

I will try to set Boot0 high at reset, and retry my GPIO test. Think that Boot0 is available at my JTAG connector.

EDIT: No it is not, don't know what i was talking about.. It is connected to ground in serie with a 10k resistor.

Posted on January 21, 2013 at 17:48

Sounds like it's shorted high, check you don't have any soldering issues, xray/inspect.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
thommagn
Associate II
Posted on January 21, 2013 at 19:54

Yes it sure does. I have measured as much as I can now but can't find a shortcut anywhere.. Only 100 components approx.

One thing I did notice though, is that it is actually not logic high, but 1.72V .. I can't draw any conclusions from this though 🙂

Posted on January 21, 2013 at 20:31

That perhaps the pin is trying to assert low, and is fighting an external high connection.

You could chase down what it's connected too, you could lift the pin, cut the trace or just replace the part completely.

Presumably this is a trial batch rather than production. Check also for diode/caps placed backward, other chip orientations, and res/cap values. Or whatever is on the net in question.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
thommagn
Associate II
Posted on January 21, 2013 at 21:13

Thanks for the advices Clive!

I forgot to mention , although it is of importance, that the USART did work when we first got it. I will try to see if a diode or some other component has gone under.

I assume, based on your advice, since other USART works and since I can debug the processor as normal, this is probably not the faulty component?

My first guess was that the processor was the faulty component, but it may be some net in the PCB that has failed. The USART1 is simply a pin to pin connection, no other components involved in this part of the net.

Posted on January 21, 2013 at 21:20

What is it connected too?

I'd be tempted to cut the trace and figure out which end was causing the problem.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Andrew Neil
Chief II
Posted on January 22, 2013 at 08:45

''it is actually not logic high, but 1.72V''

 

 

As clive1 says, that might be because it is ''fighting'' something external...

Does this voltage change is you toggle the pin drive?