cancel
Showing results for 
Search instead for 
Did you mean: 

Why STM32F030K6T6 GPIO output voltage is limited in open Drain configuration!?

Kahma.1
Associate

i'm using STM32F030K6T6 microcontroller GPIO in open drain mode, i use external pull up res. by value 47k to VDD=15v while supply voltage for STM is 3.3v, the reason is that i wanna make a switching signal with 0v and 15v in output pin by the input 0v and 3.3v signal(made by STM). STM datasheet says that internal PMOS is off when using Open Drain configuration, in this case, stimulation makes the exact answer which i want, but in real test, the output voltage is between 0v and 9.2v while VDD for pull up res. is 15v !!

i stimulate push-pull configuration via allegro pspice, for PMOS i use: VG=3.3v , VS = 3.3v so the PMOS must be OFF and the output voltage should switch between 0v and 15v with input signal pusle : 0v and 3.3v , but the max. of output voltage is 3.8v !!!, the current flows throw PMOS in the condition which VSG = 0v !!!!

how can i solve this problem and reach 0 - 15v switching signal at GPIO without any other external component?

2 REPLIES 2
MM..1
Chief II

You simply miss understanding volt tolerance for MCU. Read pdf and you see that pin is 5V tolerant and not 15V.

Second on pins exist pull ups internaly and protective diode etc. This result for open drain you see only 9V because 47k and current over diode or pulls if enabled create divider.

Clean solution is use external tranzistor.

S.Ma
Principal

Or use level shifters mono or bidirectional. Push pull uses mcu supply voltage like 3.3v

Open drain means mcu can force ground 0V and let the external pull up to 5v max. Analog pins usually are not 5v open drain capable.