Hello! My task is creation of real-time system which can draw simple graphics figure on monitor (VGA) when the system register input pulse. The main difficulty is to draw this image only once (for measuring man's reaction time: time between image drawing and the button pressing). I think it'll possible to use FPGA to register input pulse and to generate VGA signal with required parameters. But I don't undestand can the ONLY ONE image frame be drawn at input pulse interrupting or not? The main task is to minimize time delays and in this case I can't use the standart solutions. For example, using Raspberry Pi or a similar device is accompanied by the necessary of screen refreshing and image drawing binding. This adds a random time delay from 0ms (if the screen refresh time coincides with time of input external pulse which starts drawing figures) to 1/60Hz=16.7ms. I need your advices or suggestions. Thanks!
Probably the simplest solution would be to synchronize drawing of the picture with vertical blanking. You'd switch to a framebuffer holding the graphics in the vsync period which garantees a full video frame and start time is determined at the same time - e.g. by starting a clock or timer. User then stops the timer or clock which contains his reaction time. I do not think you will need a FPGA for this - even something simple like the AVGA library will be fast enough to cope with the timing. http://www.avga.prometheus4.com/
Even then, given enough samples, you should be able to get an accurate representation of reaction times by subtracting 8.3ms.
With an FPGA you are not limited to the common frame rates. If the display can handle it, you can drive VGA-like images with speeds up to 300fps. My current monitor here handles dynamic frame rate up 188 fps and operates with 1920x1080.
Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
Log in with Google account
No account? Register here.