cancel
Showing results for 
Search instead for 
Did you mean: 

Is the STM32F0 Nucleo capable of reading 8 bit parallel protocol at 3 MHz ?

nick_name
Associate

Hello,

I have a STM32F0 which needs to be able to read data from an 8 bit parallel interface.

I therefore used the GPIOC-Port to connect the 8 bits and PA3 for the clock. The parallel clock operates at minimum 3MHz, so i configured the clocks in CubeMX to have 48 MHz at the peripherals.

Then I tried to toggle another pin (with HAL-Toggle function) whenever a rising edge of the data clock is detected.

I tried this in 3 ways:

  1. in the while-loop using if-then,
  2. connecting the clock to Exti
  3. connecting the clock to TIM15_CH2 using input capture mode, presc.=0

Fastest here was #1 which resulted in about 1MHz of square signal, but if this is the maximum sample speed it wouldn't work.

The goal is to get that data outputted via UART or SPI when a certain identifier is detected.

So is it possible to achieve this with the F0?

Any help or hint is appreciated

3 REPLIES 3

Read AN4666.

That would get you to capture the data, but

> The goal is to get that data outputted via UART or SPI when a certain identifier is detected.

this implies you need also analyze the data, and at sustained 3MByte/s I doubt you'll succeed with a 'F0.

JW

S.Ma
Principal

3MHz vs 48MHz that's one input every 16 cycles.

Going to interrupt would take 24 cycles just push/pop registers.

Not possible.

If EXTI event could be routed to DMA to trigger GPIO to Memory transfer, then it might have been possible.

Or 8 SPI in the chip....

Okay, thanks for the explanation.