cancel
Showing results for 
Search instead for 
Did you mean: 

I/O Handling Speed at 1µs with TouchGFX

mids400
Associate III

Hi,

I want to handling a pulses on the digital inputs of the MCU within a max time 1µs. I am using STM32F469i which can even I/O Handling with 90MHz. So, theorticaly it is possible to handling the change within 1µs but the problem actually with the TouchGFX because it takes the big as you know! Even we cannot use any delay because it would have any effects on the program.

I thinked on, that i can freezing the TouchGFX while the handling or the measuring is going on and after that i could restart the TouchGFX again. What do you think about that?

Which procedure should i take to implement it?

I would be appreciate if anyone have another idea :)

Regards,

Mahdi

5 REPLIES 5
TDK
Guru

Are you trying to create a 1 us pulse?

Or are you trying to detect a pulse of 1 us? And if so, what do you want the program to do when a pulse is detected?

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

The second option "detect a pulse of 1 µs" and then calculate the pulse width and period (it is actually optical fiber signal).

Also, detection ---> calculation ---> display on the lcd

TDK
Guru

You can use a timer in IC mode to capture edges coming in. If you need to capture multiple pulses at a time, using that in DMA mode will help.

  • Set up IC capture in DMA mode
  • Wait/check for results
  • Process them
If you feel a post has answered your question, please click "Accept as Solution".
mids400
Associate III

And this procedure should be implemented outside the touchgfx source code and then be transfered again to the model layer.. right? or at least recommended ..

Normal way in interrupt routine. And all is based on your design. Primary measured signals must be connected to pin with timer channel functions , otherwise you cant handle this way...

And calculated result way to model for one core system is too global variable use directly. Or rtos queue event send ...