Driving TFT Diplay at higher color and or resolution without external RAM and just using 12,800 bytes of internal RAM

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Driving TFT Diplay at higher color and or resolution without external RAM and just using 12,800 bytes of internal RAM

295 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by emulund on Tue Jan 07 00:27:33 MST 2014
Hello,

I use LPC1788 with 320x240 colot TFT at 16 bit color depth

First method,

I want to use 320x240 by 16 bit color TFT LCD display with the LPC1788 but without using external RAM.
Which should need a RAM of 320x240 x 2bytes(16 bit color depth = 2 bytes) = 153600 bytes but we do not have that much internal RAM.
So I will use a small amount of internal RAM to update the whole LCD frame in turns of 12 refreshes.
Which means i will have to buffer only 240 / 12 = 20 lines only.That is i will need 320x20 by 2 bytes = 12800 Bytes.
My idea is
I want to use the internal RAM as a buffer for the TFT LCD avoiding external RAM.
I will initialize the LCD controller for 320 pixels by 20 lines(NOT 240 lines) so it will take 12 refreshes(12 VSyncs) to
make a complete frame.
I will not connect the VSync to the LCD but after 12 refreshes have been completed or i will make the VSync manually.
On vertical compare interrupt i will,
1.update my small RAM buffer with the real image's next 20 lines.
2.Count if all 12 interrupts have been completed if so then make or allow VSynch to LCD.

But so far i have not been able to get the complete image on the LCD.But it is stable.
I always get a black horizontal band which is the result of VSync.

I tried keeping the VSync pulse width and Vertical back & fron porches to be small but the black band's
height decreases but does not go away.
I tried not using data enable of the LCD.But no success.


Second Method,

so i tried to avoid the LCD controller and drive the LCD directly using GPIOs.
I got the full Image on the LCD but all ODD Lines are black.
I have maintained all the timings as per datasheet of the LCD.
I do not know how to get the ODD lines to display.
I want to know why the ODD lines should disappear?.


I want to make it work with either of the above method.




Labels (1)
0 Kudos
0 Replies