Newhaven Display Forum

Newhaven Products => TFTs => Topic started by: eb1984 on April 11, 2016, 03:10:40 AM

Title: Nv3035 driver code
Post by: eb1984 on April 11, 2016, 03:10:40 AM
I am searching nv3035 driver code. It is integrated driver ic with NHD-3.5 320240MF ATX tft module. I want to drive it with stm32f4 parallel lcd port.
Title: Re: Nv3035 driver code
Post by: Paul_B on April 11, 2016, 08:10:34 AM

TFTs typically have a digital RGB interface (essentially digital VGA) and are simply LCD panels that require pixel data (RGB data bus) and timing/synchronization signals (HSYNC, VSYNC, pixel clock).
Using a TFT with a TFT controller, such as the SSD1963, allows for a standard MCU type interface (8/16 bit parallel data bus, control signals such as command/data selection, active LOW write, etc.)

The TFT controller outputs the necessary 24bits of RGB, and the timing signals for you.  Some development boards / microcontrollers have TFT drivers/controllers built-in, and would therefore not need an external TFT controller such as the SSD1963.

I recommend you reach out on STMicroelectronics forum / support page, I'm sure they will have some app notes available for the stm32f4.

Title: Re: Nv3035 driver code
Post by: eb1984 on April 12, 2016, 03:07:49 AM
The NV3035C is a built in driver ic of TFT panel, it is not an external controller. For initialization of TFT i think (but not sure), i will need spi commands of TFT panel, so i need spi command lists and usages of them. There are command descriptions on NV3035 pdf but i am not sure how to use them, maybe there is another detailed command list or any c code for this.

Title: Re: Nv3035 driver code
Post by: Paul_B on April 12, 2016, 08:28:38 AM
Correct, the NV3035C is the displays built in driver. The SPI interface may be used to modify various registers, see page 19 in the drivers datasheet for the full "Register Table".

Please note that no initialization via the SPI interface is required to get the display operational. By default the display is configured to achieve optimal settings.

The NV3035C datasheet will list in detail how to properly communicate and set various registers. Unfortunately we do not have any example code available, however it is just communicating via 3-wire SPI.

Title: Re: Nv3035 driver code
Post by: eb1984 on April 13, 2016, 03:53:54 AM
Ok, i have one more question. According to NV3035 datasheet there are timings about sync's for width and heigth. I need to configure the TFT for the parameters below but i can not convert to pixels and lines, how can i calculate them.

Horizontal sync. width : x pixels
Horizontal back porch : x pixels
Active width : 320 pixels
Horizontal Front porch : x pixels

Vertical sync. height : x lines
Vertical back porch : x lines
Active heigth : 240 lines
Vertical front porch x lines.
Title: Re: Nv3035 driver code
Post by: Paul_B on April 26, 2016, 10:46:08 AM
Please review the timing below which has worked for me in the past  ;)

Code: [Select]
display-timings {
+ native-mode = <&timing0>;
+ /* Settings for NHD-3.5-320240MF-ATXL#-1: */
+ timing0: 320x240 {
+ clock-frequency = <8000000>;
+ hactive         = <320>;
+ vactive         = <240>;
+ hback-porch     = <22>;
+ hfront-porch    = <59>;
+ hsync-len       = <48>;
+ vback-porch     = <12>;
+ vfront-porch    = <23>;
+ vsync-len       = <2>;
+ };

The timing characteristics can also be viewed on page 6 in the displays datasheet.

Hope this helps!

Title: Re: Nv3035 driver code
Post by: eb8481 on July 11, 2016, 07:35:53 AM
I am using the parameter values below picture and i am not sure these are the right values. ( I will configure LTDC parameters by using the mcu gui program). Can you check it for me ?