cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F745 Synchronization with GPIO

shides2
Associate II
Posted on January 09, 2016 at 14:05

Hey world! I use STM32F745 in my project. High-speed ADC connected to GPIO port. ADC and MCU clock from 25 MHz generator. Also clock signal goes to GPIO port. The MCU clock frequency is 200 MHz. I've realized the transmission  ADC-to-memory MCU due to assembler insertion with 40 ns (25 MHz). But the problem is to synchronize with rising-edge of external 25 MHz generator. Does anybody knows how to realize the beginning of assembler insertion execution with rising-edge of external generator? Any help appreciated!)

#synchronization #stm32f7
3 REPLIES 3
Posted on January 09, 2016 at 15:35

Perhaps the smarter solution would be to use DMA?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
shides2
Associate II
Posted on January 09, 2016 at 17:00

Thanks for reply. There is no possibility to use DMA. Transmission GPIO-to-memory is already realized due to assembler insertion. Synchronized start of recording GPIO-to-memory is necessary because I need to have two arrays which will be compared later. If not to synchronize start of recording it involves shift between two arrays for one cycle of generator (40 ns). Group of following instructions :

loop:

LDR R1, [R0, #0]   //Read GPIO PORTC

TST R1, #1 //Test PIN0

BNE loop

cannot define rising-edge of external 25 MHz generator exactly. Necessary accuracy is 1-3 ticks of MCU (F_MCU is 200 MHz). 

shides2
Associate II
Posted on January 09, 2016 at 17:42

Using DMA is impossible because some actions must be accomplished just before recording without any latency. Latency relating to DMA is unpredictable.