Hi!
I bought the 2.8" TFT LCD with Touchscreen Breakout Board, and I wanted to know if there's any way to do frame synchronisation, to avoid screen tearing.
I read the ili9341 datasheet and saw that there's a VSYNC pin on the controller, but I guess it's not available on the breakout board. Is there any command to do it? or is it posible to do some sort of hacking on the board to be able to send the sync command?
Does the same happen with the 3.5" TFT 320x480?
2.8'' Color TFT Touchscreen Breakout SYNC?
Moderators: adafruit_support_bill, adafruit
Please be positive and constructive with your questions and comments.
-
- Posts: 4
- Joined: Wed Jul 29, 2015 6:54 pm
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
I've never seen tearing on that screen. Are you actually seeing it?
What are you doing that causes the tearing?
What are you doing that causes the tearing?
-
- Posts: 4
- Joined: Wed Jul 29, 2015 6:54 pm
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
I'm trying to test how fast I can refresh the full frame, with the idea of developing some simple handheld console game. I'm using the 8bit mode, connected to a Propeller.
As I'm not able to send data faster than the speed of the automatic screen refresh rate and I can't order when to do it, there's always part of the frame that's being updated while the ili9341 is drawing to the screen, causing some tearing.
You can see the effect in this video: https://youtu.be/zXTNX5jY1ks
The screen is running at the default rate of 70Hz, and I'm sending data at approximately 28Hz
I'm not sure if I'm going to be able to send real data at 30 or 15 fps, but I wanted to know if there was a way of syncing in case I'm able to do it.
As I'm not able to send data faster than the speed of the automatic screen refresh rate and I can't order when to do it, there's always part of the frame that's being updated while the ili9341 is drawing to the screen, causing some tearing.
You can see the effect in this video: https://youtu.be/zXTNX5jY1ks
The screen is running at the default rate of 70Hz, and I'm sending data at approximately 28Hz
I'm not sure if I'm going to be able to send real data at 30 or 15 fps, but I wanted to know if there was a way of syncing in case I'm able to do it.
- adafruit_support_rick
- Posts: 35092
- Joined: Tue Mar 15, 2011 11:42 am
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
Ah. No, we don't bring out the sync lines from the ILI9341. You could probably tack a fine wire onto the chip leads to get the signals out.
-
- Posts: 4
- Joined: Wed Jul 29, 2015 6:54 pm
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
I wanted to update the status of my tests in case anyone find it helpful.
I managed to take a sync line out of the board and use it to avoid the tearing effect.
The line that I needed was not the V-SYNC line, because that works when the ili9341 is working directly in RGB Mode. In MCU Mode (I think the only mode you can use with the Arduino TFT board) you can ask the driver to send you the v-sync info to you through the TE (tearing effect) line. You can also ask for the h-sync signal if you need it.
I had to take the TE signal out of the rear connector:
I found that that was the correct pin using this datasheet and following some pcb lines to make sure I was correct.
I've also replaced the Propeller with a Mojo V3, as I wanted to learn to program with it, and a basic driver for the ili9341 was something I could try.
Here's a video of the display running some vertical test lines: https://www.youtube.com/watch?v=4u3jtfpY1iU
I managed to take a sync line out of the board and use it to avoid the tearing effect.
The line that I needed was not the V-SYNC line, because that works when the ili9341 is working directly in RGB Mode. In MCU Mode (I think the only mode you can use with the Arduino TFT board) you can ask the driver to send you the v-sync info to you through the TE (tearing effect) line. You can also ask for the h-sync signal if you need it.
I had to take the TE signal out of the rear connector:
I found that that was the correct pin using this datasheet and following some pcb lines to make sure I was correct.
I've also replaced the Propeller with a Mojo V3, as I wanted to learn to program with it, and a basic driver for the ili9341 was something I could try.
Here's a video of the display running some vertical test lines: https://www.youtube.com/watch?v=4u3jtfpY1iU
- adafruit2
- Posts: 22200
- Joined: Fri Mar 11, 2005 7:36 pm
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
Huh! we've always just driven these with 'slow' micros so never got this effect, thanks for the analysis!
- pepijndevos
- Posts: 17
- Joined: Sun Sep 21, 2014 4:17 am
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
Very interesting! Did you put the FPGA code online somewhere?
I had the exact same thought as you: Make a handheld console using this display and the Mojo as a picture processing unit.
As I also found that driving it with a 8-bit micro is too slow for animations.
Ada, any chance a future version of this breakout might expose those lines?
With a Teensy at 96MHz, you also already start to see tearing.
I had the exact same thought as you: Make a handheld console using this display and the Mojo as a picture processing unit.
As I also found that driving it with a 8-bit micro is too slow for animations.
Ada, any chance a future version of this breakout might expose those lines?
With a Teensy at 96MHz, you also already start to see tearing.
-
- Posts: 4
- Joined: Wed Jul 29, 2015 6:54 pm
Re: 2.8'' Color TFT Touchscreen Breakout SYNC?
I don't have the code online. I'll look into my drive and share it if you are interested. But beware that is just beginner code to MOJO/FPGA (it was my first project), and I'm not sure if it will work for you...pepijndevos wrote:Very interesting! Did you put the FPGA code online somewhere?
Please be positive and constructive with your questions and comments.