cancel
Showing results for 
Search instead for 
Did you mean: 

STM32 Maximium Pin Voltage in Output Mode

MaxMueth86
Associate

Hello,

we use the STM32G474 with a single supply voltage of 3V3 at the VDD Pins.

At the moment we investigate defective microcontrollers. The Microcontrollers are defective after several hours with the 3V3 VDD voltage supplied. The defective is an increase current consumption and not working i2c-interfaces.

We connect two i2c-Interfaces with Pullups to 5V and at the moment we discuss if the 5V could be the rootcouse of the defective.

For i2c1 we use PB9 (FT_f) and PB8 (FT_f) 

For i2c2 we use PA8 (FT_a) und PA9 (FT_fda)

 

The FT I/O structure should be 5V Tolerant.

I have found discussions of the maximum input voltages in your community

https://community.st.com/t5/stm32-mcus/what-is-the-maximum-input-voltage-that-can-be-applied-to-my/ta-p/49613 

with these section:

5VTolerant.PNG

For the I2C Interface we use the microcontrollers  Alternate Function Modules and it think the alternate function module configures the I/Os as Open-Drain Output or Input.

Am i right that it it is not allowed to interconnect with a 5V I2C-Interface because the I2C-SDA is partly configured as Output Mode ?

In the manual of the STM32G474 if have not found the chapter 5.2.2 Five-volt tolerant GPIO (FT) from the link above but i think it is anyway applicable.

 

Thanks for your support

1 ACCEPTED SOLUTION

Accepted Solutions

@HellasT wrote:

The i2c lines should have been pulled high to the VCC supply. When in AF mode the internal pullup resistors should be enabled


Internal pullups are generally too high for I2C - so better to use external pullups.

 

Here's a direct link to that App Note - without all the google tracking stuff:

https://www.st.com/resource/en/application_note/an4899-stm32-microcontroller-gpio-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf

 

That App Note does show using a 5V I2C bus as an example of a 5V tolerant application - even with the STM32 running at 1.8V:

AndrewNeil_0-1737462060604.png

 

View solution in original post

4 REPLIES 4

Welcome to the forum.

Please show the schematic of your setup - see How to write your question to maximize your chances to find a solution

 

The point about the 5V tolerance not applying in output mode is when the output is actively driving high.

An open-drain output never actively drives high - so that shouldn't be an issue here.

This is discussed in the comments on that Knowledge Base article:

https://community.st.com/t5/stm32-mcus/what-is-the-maximum-input-voltage-that-can-be-applied-to-my/tac-p/49621/highlight/true#M284

 

Note the point there about power supply sequencing: you need to ensure that the STM32 is powered-up before you apply external voltage to the pins - whether 5V tolerant or not ...

HellasT
Associate III

Since you use the MCU with 3.3V supply, where did you get the 5v from ?

Generally speaking, many pins are 5V tolerant when in input mode. When in output mode then High condition voltage must not exceed the MCU VCC value that is in many cases 3.3V as far as i know.

The i2c lines should have been pulled high to the VCC supply. When in AF mode the internal pullup resistors should be enabled to pull the pin to VCC still if you want to use external resistors make sure they are connected to VCC.

 

Here is an application note that might help you figure out what is going on.

https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=https://www.st.com/resource/en/application_note/an4899-stm32-microcontroller-gpio-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf&ved=2ahUKEwiNqNCz4YaLAxXicfEDHZaiOagQFnoECBsQAQ&usg=AOvVaw3Sf7zvhg5x12aHxuwPHgQx

 

Wise is not he who knows many. Wise is he who knows useful. Aeschylus.

@HellasT wrote:

The i2c lines should have been pulled high to the VCC supply. When in AF mode the internal pullup resistors should be enabled


Internal pullups are generally too high for I2C - so better to use external pullups.

 

Here's a direct link to that App Note - without all the google tracking stuff:

https://www.st.com/resource/en/application_note/an4899-stm32-microcontroller-gpio-hardware-settings-and-lowpower-consumption-stmicroelectronics.pdf

 

That App Note does show using a 5V I2C bus as an example of a 5V tolerant application - even with the STM32 running at 1.8V:

AndrewNeil_0-1737462060604.png

 

Thanks for all replies.

We have identified a scenario when the STM32 is placed in our function-tester where VDD of the STM32 is 0V an the external Pullups of the i2c-interface are supplied with 5V. Maybe this is the rootcause of the damage.

I wonder the recommendation in the application-note "chapter 5.3.3" to pre-assign the VDD with a zener-voltag even for transient szenarios. The current flow of the 5V to the STM32 IOs is limited to only a few milliamps due to the pullups that are exepected to be in the kOhm range.