NHD-5.0-800480TF-ATXL#-T with the FT800 EVE GFX Engine
Hello,
I am trying to interface the NHD-5.0-800480TF-ATXL#-T display with the FT800 gfx engine. I am at a loss of how to set the timing correctly. The best I have been able to get is something that resembles a barcode on the display. I suspect that this maybe related to my horizontal display timings but I really don't know. This is my first time using a TFT display and I admit that I really don't have a clue on how to interpret the datasheets. What makes it difficult is that the terminology used between the FT800 Datasheet/Programmer's Guide and the TFT display/Controller datasheet don't necessarily match.
Ok, so these are the timing parameters I'm using, in FT800 Terminology ( NHD Terminology)(timing display symbol):
I gathered these parameters from the HX8264-D02 datasheet. The doubt here is that they will not be valid for this display, but a bigger display should be able to show a smaller resolution ->IF<- the timing is right.
Horizontal Paramaters:
HOFFSET (H-BackPorch)(thb) = 88
HSYNC0 (Horizontal Sync Pulse Width High) = 0
HSYNC1 (Horizontal Sync Pulse Width Low) = 1
HSYNC1 + HSYNC0 = thpw on the timing diagrams
HSIZE ( Horizontal Disp Area)(thd) = 400
HCYCLE (One Horizontal Line)(th) = 520
DE and H Front Porch are not controllable from what I have been able to tell.
Vertical Parameters
VOFFSET ( V-Back Porch) (tvb)= 17
VSYNC0 ( Vertical Sync Pulse width High) = 0
VSYNC1 (Vertical Sync Pulse width Low) = 1
VSYNC1 + VSYNC0 = tvpw on the timing diagrams
VSIZE ( Vertical Display Area)(tvd) = 240
VCYCLE (Frame Size)(tv) = 272
DE and V Front Porch are not controllable from what I have been able to tell.
I am running the PCLK at 9 MHz, and the FT800 is set to clock the data out on the rising edge of CLKIN (PCLK).
The timing diagrams are not necessarily clear to me because I haven't worked with a TFT display before.
I'm asking if a little insight could be given on whether driving this display with these parameters are correct or not and if a little insight can be given on using the FT800 gfx engine. Also, where there might be a good resource that explains the relationships between the different timing signals.
I'm not sure if I'm running into the limitations of the gfx engine or if I'm running into the limitations of my display (NHD-5.0-800480TF-ATXL#-T). OR a little bit from column A and a little bit from column B (sort of speak).
Please Help! :-)
Thanks,
-R.
-
Hello,
I’m sorry, unfortunately I am not familiar with the FT800 gfx engine. However, I am more then happy to help out with your timing issues!
To figure out the required timing parameters open up the NHD-5.0-800480TF-ATXL#-T datasheet (Page 6) or HX8264-D02 datasheet (Page 55)
Link: http://www.newhavendisplay.com/specs/NHD-5.0-800480TF-ATXL-T.pdf
Link: http://www.orientdisplay.com/pdf/HX8264-D02.pdf
The code snip-it below is an example of how your timing parameters should be set up on the NHD-5.0-800480TF-ATXL#-T display.Linux Example:
display-timings {
+ native-mode = <&timing0>;
+ /* Settings for NHD-5.0-800480TF-ATXL#-T: */
+ timing0: 800x480 {
+ clock-frequency = <30000000>;
+ hactive = <800>;
+ vactive = <480>;
+ hback-porch = <40>;
+ hfront-porch = <40>;
+ hsync-len = <48>;
+ vback-porch = <29>;
+ vfront-porch = <13>;
+ vsync-len = <3>;
+ hsync-active = <0>;
+ vsync-active = <0>;
+ };Hope this helps!
0 -
I will try those values but I will be running up against the the FT800 limitations. Am I able to drive the TFT display at a resolution of 480x272?
0 -
Hello,
Yes you can, however the values attached are verified to work.
Good luck!0 -
Awesome thanks Paul_B. Knowning this allows me to further eliminate potential failure variables.
Would you be able to tell me what the relationship is between the PCLK and the hactive, hfront-porch, hback-port values? For the values you given for Linux, if I were to adjust the PCLK to say from 30MHz to 35MHz, 48MHz, how would the H/VSync, H/V*-Porch values change?
In my current setup I have a choice of PCLK speeds that can be set to 48MHz, 24Mhz, 16MHz,etc (div 1,2,3,etc).0 -
Hello,
PCLK is used to control panel refresh rate.
VSYNC is used to reset the LCD row pointer to top of the display.
HSYNC is used to reset the LCD column pointer to the edge of the display.
Regarding the PCLK, adjusting these values should not affect the H/VSync, H/V*-Porch values.
If you would like to learn more about LCD signal interface and timing parameters I highly recommend reading through this power-point:
Link: http://www.nxp.com/wcm_documents/techzones/microcontrollers-techzone/Presentations/graphics.lcd.technologies.pdf0 -
Awesome! I will have that committed to memory soon enough.
0 -
As a matter of completeness on the topic subject. I came across application node "AN_240 FT800 From the Ground Up.pdf" on the FTDI EVE website that explains which signals are controlled by which registers.
0 -
I have encountered some interesting effects* when it comes to setting the "One Horizontal Line" to less than 810. The datasheet specifies the minimum for this part to be 889. However, it appears that 810 for the HX8264-D02 wouldn't be out of it's timing capability.
Are the minimum horizontal cycle timings dependent on how the HX8264-D02 implemented on the product?
Following the HX8264-D02.pdf page(pdf) 59 specifications
Horizontal Disp Area (HDA) = 400
One Horizontal line (OHL) = 520
Horizontal Pulse Width (HPW) = 1
Horizontal Back Porch (HBP) = 88
Horizontal Front Porch (HFP) = 32
Vertical Disp Area (VDA) = 240
Vertical Period Time (VPT) = 270
Vertical Pulse Width (VPW) = 1
Vertical Back Porch (VBP) = 17
Vertical Front Porch (VFP) = 13
For "One Horizontal Line" the formula is:
OHL = HDA + HPW + HBP + HFP : With current values it adds to 521, which is within spec giving on this page.
For "Vertical Period Time" the formula is:
VPT = VDA + VPW + VBP + VFP : As with the "One Horizontal Line" it adds to 271, which again is within spec.
*Interesting Effects:
I get alternating black/white bars on the screen for any OHL values of less than 810.
I am beginning to think that this part isn't a good match for what I'm trying to use, because the native resolution of this part is 800x480 and the FT800 has a max resolution of 512x512 but supports 5 inch displays ().
On the upside I do have a better understanding on how I might drive this display, but I'm _very_ limited on what I can drive it with.0 -
I have eliminated the part as a potential issue and isolated it down to the gfx engine and initialization of the engine itself.
0
Please sign in to leave a comment.
Comments
9 comments