Using Different LCD Panel

knaidu
Hi,

I am a newbie with hardware and inner workings of OS, so please excuse my
ignorance.

I am wanting to buy a AT070TN83 V.1 LCD panel (not the friendlyARM one) and
connect it to the board myself (for fun, learning, and it's cheaper). 
Is there anything else besides just mapping the appropriate pins? 

Also, what if I wanted another LCD panel (not the ones friendlyARM use), do
I need drivers for them? I understand different LCD panels have different
timings. But, there is also a standard. What is this standard? Is is VESA? 
 
What if I want to use Windows CE .60, do I need different drivers for that,
or does Windows work with any LCD? What about LCD drivers for the linux
kernel? Will any LCD following a standard work in Windows or Linux?


I know it's a lot of questions, but I am not finding much articles about my
questions online. Maybe I am using wrong key words.

Thanks for any help,

Errol
Hey,

The circuit diagram for the A7 LCD is on the download page. That will be a
good starting point.

There isn't really a standard for LCD, not as far as i know. Most LCDs use
unique timings.

You will need "drivers" for your LCD, but that just entails changing the
timing settings in the source for the display in WinCE or Linux.

I only know WinCE. You can download the BSP from this site. It contains the
drivers for the mini2440. You look in s3c2440a_lcd.h in MINI2440\SRC\INC.

These are the settings for the normal 7" LCD:
#define LCD_PIXCLOCK 2
#define LCD_RIGHT_MARGIN 67
#define LCD_LEFT_MARGIN 40
#define LCD_HSYNC_LEN 31
#define LCD_UPPER_MARGIN 25
#define LCD_LOWER_MARGIN 5
#define LCD_VSYNC_LEN 1

Thanks,
Errol

knaidu
Attachment: ??7???????(?).pdf (67.76 KB)
Hi,

Thank you for the valuable information.

Does this mean I can use any TFT LCD as long as the resolution is supported
by the S3C2440A? Can you or anyone give information on what to look out for
when considering a different LCD for this ARM proc?

I saw the schematics for the A70 included in the CD. I have some questions
What are the things labeled LCD and LCD3 referring to? It says CON40 under
them, but I see no connector labeled CON40 on the board. Is there some
other friendlyARM board with this connector?
Other than that, I can just connect the appropriate pins form the ARM board
(LCD41P) to the LCD panel (HEADER 25X2) right?
Also, it looks like a Touchscreen can be connected to CON3 & 4 correct?
However, for CON1, there are capacitors, so does this mean I need
capacitors for CON3 & 4?

I have downloaded WinCE6.0 BSP and seen the file(s) you had referred to.
Looks interesting. Looks like the values are tuned for the A70, cause I
don't see all of them matching to the ones in the datasheet. I had done
some searching and found that these timings are used for programming the
framebuffer. I found a document, and was wondering if this is a good
starting point; http://tinyurl.com/34bmsge

Regards

Attached is the AT070TN83 circuit schematics.

knaidu
OK correction. so LCD3 corresponds to the AT070TN83 V.1 pinouts. I don't
know what LCD and LCD2 correspond to.

knaidu
I did some calculations out of curiosity on how the timings are calculated
using this guide/diagram I found:
http://processors.wiki.ti.com/index.php/LCD_RGB_640x480_VGA_Addition

using the AT070TN83 datasheet, I calculated 

x_res        = 800
left_margin  = 40
right_margin = 40
hsync_len    = 48 

y_res        = 480
upper_margin = 29
lower_margin = 13
vsync_len    = 3

however, in the BSP

#elif defined(LCD_A70)
#define LCD_PIXCLOCK 2

#define LCD_RIGHT_MARGIN 67
#define LCD_LEFT_MARGIN 40
#define LCD_HSYNC_LEN 31

#define LCD_UPPER_MARGIN 25
#define LCD_LOWER_MARGIN 5
#define LCD_VSYNC_LEN 1

What am I doing wrong?

Errol
Theoretically you can use any TFT LCD, upto the max pixels supported by the
CPU, i think that is around 800X600, maybe 1024X768. If it is parallel then
it can connect directly. If it is LVDS then you will need a parallel to
LVDS convertor. Also, the CPU's LCD signals are 3.3V, some LCDs need 5V,
then level shifting might be required...

The 3.5" LCD board contains a simple CPU to control power up sequencing for
the power supplies. Some other LCDs might require that too.

I have no idea how the calculations work, I have never tried to figure them
out. :-). I just know where they are. I have an LCD i want to connect, but
have not gotten around to making an FFC cable adaption board.

I can't see that wrong settings will damage the LCD, it might just shift
the LCD to one side, or cause rolling etc

CON3/CON4 connects to the same pins on the LCD41P as the CON1, so the caps
are already present. Are you using the A70 PCB? If you design your own PCB
then you will need to add the caps for the touch screen.

If i remember correctly then the connecter called "LCD" isn't soldered on
the board, the LCD connects to "LCD3". Also, the switching supply on the
top right corner isn't on the PCB.

On my A70 board the LCD connects to LCD3, the LCD2 connector sits on the
side of the board, looks like it is designed for connecting other LCDs to
the board.

yashu16
Hello,
 i am a final year electronics student doing a project on Arm9 processor.I
bought tis processor directly from china and without the display. i want to
interface it with either a Car TFT or photo album.Is this possible??if it
is..can anyone help me with the particlars needed for that lcd interface.i
mean what kind of adapters or drivers should i use to make the arm talk
with the LCD??

knaidu
Thank you for the guidance and help Errol. The schematic and requirements
are making much more sense now. 

You are right about the top right circuit, this LCD doesn't have any
LED+/LED- pins. 

I am also going to try and see if ADV7125 (Digital to Analog for VGA out)
works. It's like 10 bucks for the chip. Whereas the VGA board provided by
friendlyARM is about 50 bucks. I want to see if I can make one of my own.

Regards

Fernando
Hi all,
I'm trying to use a 12.1" LG panel, but I'm having trouble to compile WinCE
to show anything on it. In the datasheet (part number is LB121S03) I have
hsync front and back porch, same with vertical timings, and a resolution of
800x600 pixels. 

After compiling and loading the OS in the mini2440, I have nothing showed
up in the LCD! What can be the problem?

This is what I'm using: 


#elif defined(LCD_LG12)
#define LCD_PIXCLOCK 2
#define LCD_RIGHT_MARGIN 105
#define LCD_LEFT_MARGIN 88
#define LCD_HSYNC_LEN 31

#define LCD_UPPER_MARGIN 21
#define LCD_LOWER_MARGIN 4
#define LCD_VSYNC_LEN 1

BUT, I'm not sure of what value I should use for LCD_PIXCLOCK, and if I
have to have some other considerations fot the total vertical and
horizontal periods.

Thank you all, 
Fernando

Vishnu
hi fernando try these settnings. even add these settings for nboot also


#elif defined(LCD_LG12)
#define LCD_PIXCLOCK 5
#define LCD_RIGHT_MARGIN 79
#define LCD_LEFT_MARGIN 119
#define LCD_HSYNC_LEN 12

#define LCD_UPPER_MARGIN 21
#define LCD_LOWER_MARGIN 4
#define LCD_VSYNC_LEN 1

JAK
Dear all, 
Hi

I used the LCD- s7 in my main-board and every thing ok for these, but when
i use the LCD- A7 the touch of LCD is not calibrated. Please help me.

Best wishes
Jak