Skip to main content
Associate III
October 17, 2023
Question

I/O Handling Speed at 1µs with TouchGFX

  • October 17, 2023
  • 2 replies
  • 1464 views

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

This topic has been closed for replies.

2 replies

TDK
Super User
October 17, 2023

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""."
mids400Author
Associate III
October 17, 2023

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
Super User
October 17, 2023

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""."
mids400Author
Associate III
October 17, 2023

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 ..

MM..1
Chief III
October 17, 2023

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 ...