cancel
Showing results for 
Search instead for 
Did you mean: 

STM32G070CB UCPD Pins pull-down

Artur Vieira
Associate III

Hi

I am having quite a strange problem with the STM32G070CB.

A couple of months ago I start the development of a new product using the STM32G070CB and was having some issue with some pins, and even open up a thread in the forum.

https://community.st.com/s/question/0D50X0000B6RetFSQS/strange-behavior-gpiod

After the answer from "waclawek.jan" was able to fix the issue. And the 4 boards i had at the time are working without any issue.

This month, we finally produced the first batch of 50 boards, and now i am not able to set the "SYSCFG_CFGR1.UCPD2_STROBE" and "SYSCFG_CFGR1.UCPD1_STROBE" bits.

The same code works without issues in the old boards (same board PCB design), but in the new boards the pins never have the 3.3V (internal pull-up enabled), in Debug mode i can see that the SYSCFG_CFGR1 bits are at '0', and even if i try to force a '1' in them the processor seems to refuse the configuration, i always see '0' in the SFR window.

The processors have the same revision 'B'.

For now the workaround seems to put an external pull-up, but even with a 1KOhm pull-up the voltage at the pin is only 2.24V, that seems to work the IDR register read as a '1' but according with the datasheet is lower than the minimum VIH for that kind of pin. Only with the internal processor pull-up the pin voltage is 1.32V.

Any ideias?

Thank You

4 REPLIES 4
Mike Ciholas
Associate III

Section 7.1.1 of the RM says the UCPDx_STROBE bits are write only, so the fact you can't read back a '1' setting is not surprising.

I don't have any other immediate insights. Your 2.24 V reading with an external 1K pull up suggests a 2K pull down somewhere which seems stronger than anything I'd expect internal to the chip. Maybe you have ESD damage? Try another board...

Artur Vieira
Associate III

Hi

Yeah, the write part of the bits you are right.

I have 4 boards of the new production, and they all exhibit the same issue. The remaining are in the factory and at least 10 or so where already tested and failed.

Thank You

Antoine Odonne
ST Employee

Dear Artur,

If the board did not change and the rev ID of the same part number neither, maybe the embedded software did?

Did you tried to swap chips between a functional and a failing board to see if problem follow board or MCU?

If it follows MCU, please send me details of unique ID from both parts concerned.

Based on the behavior you describe and measure shared the pull down value would be 2.1Kohm with the 1 kohm external pull up but around 26Kohm with the internal pull up at 40Kohm, approximately.

Maybe something else is impacting this voltage externally?

Thank you and regards,

Antoine

Artur Vieira
Associate III

Hello

I have found the issue... there is no problem with the microcontroller.

This two pins, are used as a digital input in the device, and the signal comes from a Mosfet (Type N, Open Drain). It seems that the Mosfet where "broken" it seems that there was some "leakage" from the Drain to Gate and the mosfet was conducting.

I have replaced the mosfet in the boards I have that where reporting problems, and at the moment they are working.

Need to check with the factory where they bought the components.

Thank You