cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429IGTx Could I speed up PI8 to exceed 2MHz with open drain?

PZhan.11
Associate II

Hi everyone, I am using STM32F429IGTx with ETH/FMC and many other peripherals to construct a control board. There is a special interface that I need to use TIM1/DMA2 driven GPIOs for communicating with another board that need 12 pins. Since FMC and ETH takes so many pins, the only left port is GPIOI. But as the reference manual said: PI8 cannot provide current above 3mA so it cannot exceed 2MHz with 30pF load.

So my question is if I switch it to open drain mode instead of push-pull that let external current source to provide enough power, could I break out the limitation of PI8?

6 REPLIES 6

It's not going to make the transistor any bigger.

Perhaps you can add an external buffer with minimal loading?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Sorry I don't really understand your point :(. Does that mean the 2MHz limitation is not caused by the current provider but the transistor itself? Or I could say the transistor switch speed limited the GPIO output frequency? I really have a 74HC buffer IC there, but it is for a voltage level switch.

TDK
Guru

Open drain and push-pull use the same pulldown transistor. Changing the mode here won't make it faster.

Do you actually have 30pF on that line? You may have considerably less in which case it could work.

If you feel a post has answered your question, please click "Accept as Solution".

I don't know if it is greater or less than 30pF, since the board is not made yet. It is in the designing phase. What will happen if it is less than 30pF? If I push it above 2MHz, will it damage the chip?

It won't damage anything, you just won't get a well-formed square wave. It will spend more/most/all time in the transitions to low/high than at the plateaus. In the extreme case, you will end up with a triangle wave around VDD/2.
If you feel a post has answered your question, please click "Accept as Solution".

It's about the size of the transistor, and the ability to overcome the capacitive load presented at the output.

Changing OD or PP mode on the Output Cell is not going to change the size of the transistors, or how many are daisy-chained to increase the slew rate capabilities of the pin.

What you can change is the loading on the pin, and the more you can reduce that, the less energy/charge is required to overcome the resistance-to-change (capacitance). The frequency you can actually achieve will be a function of the current that can flow and the load.

74HC input capacitance is probably less than 10pF, your PCB tools might be able to estimate the traces

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..