cancel
Showing results for 
Search instead for 
Did you mean: 

Hardware port fault

juanjo
Associate II
Posted on November 17, 2013 at 19:37

I have esperiencing port hardware fault in my prototype. I want to say exactly that the port doesn't work.

One of th ethings that happend to my device few month ago is that the port PA0 doesn't write anything if I say to the port to write ''1'' or ''0''

Always is ''0'' level.

This is not something related to the software, I think so, just becaues in other device works perfectly. This only happen in this device, this is the reason

why I think that is a port hardware fault. The hardware connected to the port is a resistor of 1k5 and a amber led. Th eport is configured with the PWM to generated

le blinking. Well one of the prototype doesn't work, led alway off. but if I test the software in other prototype it work perfectly.

�There is a way to know if the port is broken?, �Can be related to some changes during debugging?

When it happend I suppose that maybe I made a short with some VDD pins, but if you put 3.3v to an output pin it broke? mmmm.

This is the GPIO port configuration:

    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;          // Alt Function - Push Pull

The reason why I'm asking that is because in other prototype the SPI (MOSI) is not working, I can test and no signal is present, but Clock signal is OK, the slave doesn't respond

due to teh lack of signal of the master.

And here is the same circunstance, the comunication with the external EPROM work perfectly in other device, but not in this.

The port I'm using is PB15 (5 volts tolerant).

I don't know why the port doesn't work, but it seem that ports arfe not robust enought or there is something that I can not understand.

Any idea?

Any help will be wellcome. If need more information it would be a pleasure for me to give it.

Thanks in advance.

#gpio-port #stm32
13 REPLIES 13
Posted on November 17, 2013 at 22:04

Could you have soldering issue at the pin, or under it? Do you have solder mask on your PCB?

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
juanjo
Associate II
Posted on November 18, 2013 at 08:05

Hi clive, Thanks for your interest.

I test continuity with adjacent pins and it's OK. I check continuity pin as near as possible of package with the end of the PCB track and it's OK.

There is not this kind of problem, anyway I will perform this check again and I will make input check to know if the NMOS or PMOS driver transistor are damage.

I think that output driver should be robust.

-------------------

Subject to the specific hardware characteristics of each I/O port listed in the datasheet, each

port bit of the General Purpose IO (GPIO) Ports, can be individually configured by software

in several modes:

�? Input floating

�? Input pull-up

�? Input-pull-down

�? Analog

�? Output open-drain

�? Output push-pull

�? Alternate function push-pull

�? Alternate function open-drain

------------------

Posted on November 18, 2013 at 13:50

Well you'd definitely not want to drive an output pin with a supply pin in the opposite direction. Unlike driving with another pin and fighting, you have the potential for rather unlimited current. ie whatever the supply can deliver vs a dozen or so milli-amps, and evaporate the silicon like a fuse.

If you suspect that you have damaged the part, your option would be to remove and replace it

Edit: fixed wording
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
juanjo
Associate II
Posted on November 18, 2013 at 14:04

Hi,

About the two cases that I wrote here. It is obvious that the PWM pin PA0 is closer to VDDA in the STM32F103C8T. My impresion is that only to conect the two pins with tester probes can fuse the NMOS transistor (if the push-pull was ''0'' level). I tested and the pin is shorted with VSS. Then probably hapend this.

Anyway all the rest of the chip work perfectly, then I assume that the NMOS transistor is damage.

But about PA15, MOSI signal didn't happend that, because it is not possible to short circuit, it shoul be intentionally done. And of course this pins is not short circuit with ground. But there is no signal in the otput.

I'm talking about two cases in two diferent devices. And I can't find explanation about the MOSI pin what happend, the first case I think that is clear but this one I'm thinking about what happent.

regards

Posted on November 18, 2013 at 17:48

I'm talking about two cases in two diferent devices.

I picked up on that, but I know very little of your manufacturing process, ESD controls or design. Two out of a batch of 100 or 1000? Built a lot of boards here, and don't think I can attribute any problems to defective STM32 parts.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
juanjo
Associate II
Posted on November 18, 2013 at 19:10

About led pin is clear, it is damage beecause I can't drive output, sure the NMOS transistor is damage.

But about SPI MOSI pin, I can drive the output to ''0'' or ''1'', with Output push-pull mode.

the Alternate function push-pull was working before, many many tests. Now I can see the clock signal but no MOSI signal. This seems to me very strange.

I didn't change any part of software and even I test in open circuit but no MOSI signal.

emalund
Associate III
Posted on November 18, 2013 at 20:46

<i>and even I test in open circuit but no MOSI signal.</i>

once you have 'popped' a pin there is no software fix.

There are many ways to pop a pin one of the more popular is configuring a pin connected to some output as push-pull.

Of course the board short, but that is elementary.

a classic is configuring the outputs driving a 4*4 matrix keypad as push-pull (makes sense, they are outputs) and then finding out that when someone push two keys at the same time: POP.

once you have driven a pin configured open drain down while connected to a power high or a push-pull pin in the opposite direction of what power it is connected to, the chip <b>SHOULD be discarded even if it 'works'.</b>  The driving transistor, which may 'work'  is so severely weakened that a failure in the future is virtually guaranteed.

Erik

juanjo
Associate II
Posted on November 19, 2013 at 08:55

You are right Eric, but hard work to rework.

But the driver output has the same NMOS - PMOS transistor. If I configure the pin in Output_PP and works, I can drive ''0'' or ''1'' it should work in AF_PP.

The fact is that AF_PP doesn't work. 

juanjo
Associate II
Posted on November 19, 2013 at 12:59

Fixed. (remove the chip)

Thanks clive and Eric for your interest, but I still can't explain to myself why if Out_PP work why AF_PP doesn't work (NMOS and PMOS transistor are the same). And I don't know how fail at the beggining, because this pins are connected to a flahs EPROM that only can shunk or drain 1uA.

Regards.