cancel
Showing results for 
Search instead for 
Did you mean: 

Is there any board which can support more than 30 MHZ Toggle frequency on GPIO and Parallel processing.?

HPraj.2
Associate II

Currently we are using Nucleo F746ZG controller with 216 MHZ frequency.

We are able to get high toggle frequency on GPIO with this board.

Now we want to shift to Micro Processor for parallel processing.

So is there any Better Controller/Processor available which can support parallel processing with High Toggle GPIO frequency?

11 REPLIES 11

Any STM32 with clock frequency higher then 60MHz will be able to toggle GPIO with 30MHz+ frequency. The most common way is to use Timer and its output. But you can also use MCO and many other unconventional ways like SPI continuous clock etc.

We are able to get High GPIO frequency on nucleo F746ZG but its not support parallel processing. So We are looking for board which can support Parallel processing as well high GPIO Frequency

Andreas Bolsch
Lead II

With a dedicated peripheral (SPI, QSPI, Timer) it's no problem to exceed 30 Mhz toggle rate on most (all?) STM32, given suitable clock setting.

However, if you mean direct software GPIO control ... well the fastest I came across was the G0 with slightly less than 30 MHz. The M0+ has a special IO-bus for the GPIOs. On F7, H7 you will hardly get 20 MHz.

"GPIO software toggle rate" is a question discussed there a hundred times... why would anyone want to toggle GPIO by software that fast (and much load CPU) if can use HW way ?

Its not only GPIO toggle, its GPIO toggle with parallel processing.

We have requriement to toggle GPIo with High frequency and parallel processing

Well, either you stick to a mode supported by hardware, i.e. by a certain peripheral (QSPI, FMC or whatever), or you are limited to software manipulation of GPIOs. Whether one pin at a time or several pins of the same port doesn't matter at all. It's the bus transfer to/from the GPIO registers which limits speed.

What, exactly, do you mean by "parallel processing" here?

If you mean reading/setting multiple pins in a port simultaneously, perhaps look at using DMA?

Various people on the interwebs have created stuff like logic analysers using STM32 in that way ...

What do you mean by "parallel processing". I can toggle with output(s) by timer, MCO or plenty of other peripherals and parallel with that CPU can do anything else (output toggling does not load the processor at all).

We are building an inkjet printer where we need one thread which will bring image data from RPi, second thread running the print head through GPIOs and a 3 rd thread to manage motor control.

With the Nucleo MCU we cannot run all 3 threads simultaneously and so we get ****** image printing. Later we may need more threads to manage paper feed and some other unique requirements in this project.