реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> PXA270 + LCD module
BorisRozentsvaig
сообщение Feb 22 2007, 11:28
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 36
Регистрация: 23-03-05
Из: Санкт-Петербург
Пользователь №: 3 617



Для автономного устройства на основе PXA270 закупили LCD-модули фирмы Promate JLPA070VW01-2 (Active Color, 18-bit per pixel Mode). С первого взгляда показалось, что проблем с интерфейсом не будет - процессор имеет встроенный LCD-контроллер, поддеерживающий 18-битный режим.
Но LCD promate содержит 50-контактный интерфейсный разъем с некоторым количеством непоняток.

Не собирал ли кто из уважаемой публики устройства на подобной основе - может примерчик есть или подробное описание что куда подключать (кроме питания и данных - с ними все и так понятно). На всякий случай привожу описание сигналов этого 50-контактного разъема:

Pin no. Symbol I/O Description
1 GND P Ground for gate drive
2 VCC P Digital voltage for gate driver
3 VGL P TFT low voltage
4 VGH P TFT high voltage
5 STVL I/O Start pulse signal input/output (vertical)
6 STVR I/O Start pulse signal input/output (vertical)
7 CKV I CLK (vertical)
8 U/D I Up or Down display
9 OEV I Output enable
10 VCOM I VCOM voltage
11 DIO1 I/O Start pulse signal input/output (horizontal)
12 AVDD P Analog voltage for source driver
13 AVSS P Analog ground for source driver
14 GND P Digital ground for source driver
15 VCC(DVDD) P Digital voltage for source driver
16 EDGSL I Select raising edge or raising/falling edge
17 CLK I Sample CLK
18 SHL(R/L) I Right or Left display control
19 R0 I Red data
20 R1 I Red data
21 R2 I Red data
22 R3 I Red data
23 R4 I Red data
24 R5 I Red data
25 G0 I Green data
26 G1 I Green data
27 G2 I Green data
28 G3 I Green data
29 G4 I Green data
30 G5 I Green data
31 V1 I Reference voltage
32 V2 I Reference voltage
33 V3 I Reference voltage
34 V4 I Reference voltage
35 V5 I Reference voltage
36 V6 I Reference voltage
37 V7 I Reference voltage
38 V8 I Reference voltage
39 V9 I Reference voltage
40 V10 I Reference voltage
41 B0 I Blue data
42 B1 I Blue data
43 B2 I Blue data
44 B3 I Blue data
45 B4 I Blue data
46 B5 I Blue data
47 LD(OEH) I Latch and switch data to output
48 REV I Control data are inverted or not
49 POL I Polarity selection
50 DIO2 I/O Start pulse signal input/output (horizontal)

Для данного режима на PXA270 мы имеем:

LDD<17:0> R<5:0>,G<5:0>,B<5:0> I/O Data lines used to transmit data to the LCD display module.
L_PCLK_WR CLOCK O Pixel clock used by the LCD display module to clock the pixel data into the panel
L_LCLK_A0 HORIZONTAL SYNC. O Used by active (TFT) display module as the horizontal synchronization signal
L_FCLK_RD VERTICAL SYNC. O Used by active (TFT) display module as the vertical synchronization signal.
L_BIAS DATA ENABLE O Used as the output-enable to signal when data is latched from the data pins using the pixel clock.


Понятно, что LDD<17:0> мы подключаем к RGB, L_PCLK_WR к CLK, L_BIAS не совсем понятно - то ли к OEV, то ли к LD(OEH).
С остальными сигналами - вообще почти ничего не понятно.

На мои запросы по подробному назначению сигналов STVL, STVR, CKV, U/D, OEV, DIO1, DIO2, EDGSL,
SHL(R/L), LD(OEH), REV, POL Promate пока не ответил.

Так что - если кто знает, буду очень признателен за помощь.
Go to the top of the page
 
+Quote Post
Al Volovich
сообщение Mar 5 2007, 16:32
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170



Очень вам советую поменять VW01 на A070VW02. Или в Гамме СПб купить OSD070TN83. Эти индикаторы использовать намного проще, чем указанный вами, при этом они не сильно дороже, и если вы не собираетесь печь устройства тысячами, рекомендую не связываться с VW01. Для него придется самостоятельно формировать напряжения питания с гамма-коррекцией, VCOM, т.е. ставить еще один дополнительный корпус.
Зачем этим заморачиваться, если на OSD070 обещают цену $80 при партии 100 шт? А там все схемы формирования напряжений встроенные...


--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
Go to the top of the page
 
+Quote Post
BorisRozentsvaig
сообщение Mar 23 2007, 15:49
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 36
Регистрация: 23-03-05
Из: Санкт-Петербург
Пользователь №: 3 617



Спасибо за совет. В следующем релизе платы, вполне возможно, перейдем на данный интерфейс. Сейчас проблема по подключению JLPA070VW01-2 снята, т.к. китайцы дали ответы на все вопросы :-)
Go to the top of the page
 
+Quote Post
3.14
сообщение May 3 2007, 15:37
Сообщение #4


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



А как у него обстоит дело с загрузкой шины, при размещении кадра во внешней SDRAM?
Из доки следует что LCD контроллер в режиме DMA вытягиевает по 4 (ВСЕГО!) байта(слова?), итого, если учесть что максимальная тактовая SDRAM 100М, пусть требуемое разрешение 640х480, загрузка шины будет под 30-40%. В итоге, если учесть, что работать он будет под линухом, суперчип превращяется в AVR-ку sad.gif


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Al Volovich
сообщение May 3 2007, 15:55
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170



Цитата(3.14 @ May 3 2007, 18:37) *
А как у него обстоит дело с загрузкой шины, при размещении кадра во внешней SDRAM?
Из доки следует что LCD контроллер в режиме DMA вытягиевает по 4 (ВСЕГО!) байта(слова?), итого, если учесть что максимальная тактовая SDRAM 100М, пусть требуемое разрешение 640х480, загрузка шины будет под 30-40%. В итоге, если учесть, что работать он будет под линухом, суперчип превращяется в AVR-ку sad.gif

Есть такая фишка. Кроме того разрешение у озвученного модуля 800х480. Превращается не совсем в AVR, но на операциях с SDRAM может быть задумчив smile.gif

2 BorisRozentsvaig. Ваша фраза "JLPA070VW01-2 снята" оказалась пророческой - AUO снимает с производства A070VW01 и A070VW02, на замену им предлагая A070VW04, которая имеет неудобоваримый разъем 60х0.4, хотя в Дэриконе его вроде бы можно купить.


--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
Go to the top of the page
 
+Quote Post
3.14
сообщение May 3 2007, 16:30
Сообщение #6


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Может чего подскажете ...
Надо к своему устройству (на PXA270) подключить LCD с разрешением от 640х480 (или 800х600) с диагональю ~6". Индикатор будет размещаться не в самом устройстве, а метрах в трех от него.Сейчас основная идея - использовать китайский LCD телевизор (подобных размеров), а к PXA приделать видеокодек. Посути, такой подход толко из-за готового корпуса индикатора.
Может кто выпускает мелкосерийно корпуса под определенные модели небольших LCD?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение May 11 2007, 08:59
Сообщение #7


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Чего-то немогу найти чертеж на разъем для OSD070TN84, поделитесь плиз (если имеется).


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Al Volovich
сообщение May 11 2007, 10:07
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170



Цитата(3.14 @ May 11 2007, 14:59) *
Чего-то немогу найти чертеж на разъем для OSD070TN84, поделитесь плиз (если имеется).

Вроде там hirose FH19S-40S-0.5SH. Качается отсюда: hirose
Но для этого модуля надо еще шлейф дополнительно где-то доставать.


--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
Go to the top of the page
 
+Quote Post
3.14
сообщение May 11 2007, 10:20
Сообщение #9


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Спасибо.
Я по наивности думал, что на ответную часть можно проводной шлейф насадить, а другой конец шлейфа прямо в плату запаять, увы ...
Получается, что нужно полноценный "напыленный" шлейф и ответную часть на свою плату ставить, где всем этим добром разжиться можно?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Al Volovich
сообщение May 11 2007, 12:05
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170



Цитата(3.14 @ May 11 2007, 16:20) *
Спасибо.
Я по наивности думал, что на ответную часть можно проводной шлейф насадить, а другой конец шлейфа прямо в плату запаять, увы ...
Получается, что нужно полноценный "напыленный" шлейф и ответную часть на свою плату ставить, где всем этим добром разжиться можно?

Трясите продавцов модулей - это их задача, снабдить вас этим шлейфом. Или хотя бы показать, где его берут. Можно поискать в магазинах, где запчасти для мобилок и прочего подобного продают. Там такие шлейфы тоже используются.


--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
Go to the top of the page
 
+Quote Post
3.14
сообщение May 15 2007, 09:35
Сообщение #11


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



У OSD070TN83 матрицы из стробов только клок и DE.
В спецификации сказано:
HSYNC Pulse Width (tHP) - 48 - tCLK ()
VSYNC Pulse Width - 3 - tHP
Это что получается, если DE будет неактивным в течении 48 тактов, то матрица сочтет это за строчный строб, а если 48*3 тактов, то за кадровый строб?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение May 16 2007, 02:05
Сообщение #12


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Но вот что больше всего смущает:
На времянках TFT показано, что во время неактивного DE, пиксельный клок должен присутсвовать, а насколько я успел уяснить из описания контроллера LCD PXA270, пиксельный клок не может быть непрерывным (BOL,EOL=1...256).
?


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
Al Volovich
сообщение May 16 2007, 03:33
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170



Цитата(3.14 @ May 15 2007, 19:35) *
У OSD070TN83 матрицы из стробов только клок и DE.
В спецификации сказано:
HSYNC Pulse Width (tHP) - 48 - tCLK ()
VSYNC Pulse Width - 3 - tHP
Это что получается, если DE будет неактивным в течении 48 тактов, то матрица сочтет это за строчный строб, а если 48*3 тактов, то за кадровый строб?

Видимо TN83 работает только в режиме DE, а лишние диаграммы для SYNC режима просто забыли убрать. К режиму DE относится таблица на стр 10 и времянка на стр 12.
Насчет клока при неактивном DE - я так понял, что он нужен.


--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
Go to the top of the page
 
+Quote Post
3.14
сообщение May 16 2007, 03:41
Сообщение #14


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



>>Насчет клока при неактивном DE - я так понял, что он нужен.
Тогда его к PXA270 не подключить, что сомнительно.


То же, кстати, касается и 84 модели ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post
3.14
сообщение Sep 25 2007, 10:41
Сообщение #15


Их либе дих ...
******

Группа: СуперМодераторы
Сообщений: 2 010
Регистрация: 6-09-04
Из: Russia, Izhevsk
Пользователь №: 609



Наконец добрался до связки PXA270+OSD070TN83.
Для начала, тупо, не включается внутренний LCD контроллер.
Пытаюсь заставить его работать с "родным" линуховым драйвером, забавно, в функции включения контроллера значения пишутся, а читаются уже нули ...
Цитата
DPRINTK("Enabling LCD controller\n");
DPRINTK("fdadr0 0x%08x\n", (unsigned int) fbi->fdadr0);
DPRINTK("fdadr1 0x%08x\n", (unsigned int) fbi->fdadr1);
DPRINTK("reg_lccr0 0x%08x\n", (unsigned int) fbi->reg_lccr0);
DPRINTK("reg_lccr1 0x%08x\n", (unsigned int) fbi->reg_lccr1);
DPRINTK("reg_lccr2 0x%08x\n", (unsigned int) fbi->reg_lccr2);
DPRINTK("reg_lccr3 0x%08x\n", (unsigned int) fbi->reg_lccr3);

/* Sequence from 11.7.10 */
LCCR3 = fbi->reg_lccr3;
LCCR2 = fbi->reg_lccr2;
LCCR1 = fbi->reg_lccr1;
LCCR0 = fbi->reg_lccr0 & ~LCCR0_ENB;

FDADR0 = fbi->fdadr0;
FDADR1 = fbi->fdadr1;
LCCR0 |= LCCR0_ENB;

DPRINTK("FDADR0 0x%08x\n", (unsigned int) FDADR0);
DPRINTK("FDADR1 0x%08x\n", (unsigned int) FDADR1);
DPRINTK("LCCR0 0x%08x\n", (unsigned int) LCCR0);
DPRINTK("LCCR1 0x%08x\n", (unsigned int) LCCR1);
DPRINTK("LCCR2 0x%08x\n", (unsigned int) LCCR2);
DPRINTK("LCCR2 0x%08x\n", (unsigned int) LCCR2);
DPRINTK("CKEN 0x%08x\n", (unsigned int) CKEN);
А вот ответ ядра на инсталляцию драйвера:
Цитата
[root@PXA270 /tmp]$insmod ./pxafb.ko options=mode:800x480-16,active,left:1,right:1,hsynclen:1,vsynclen:1,color,dpc:0,pixclock:30000
pxa2xx-fb pxa2xx-fb: overriding resolution: 800x480
pxa2xx-fb pxa2xx-fb: overriding bit depth: 16
pxa2xx-fb pxa2xx-fb: override left: 1
pxa2xx-fb pxa2xx-fb: override right: 1
pxa2xx-fb pxa2xx-fb: override hsynclen: 1
pxa2xx-fb pxa2xx-fb: override vsynclen: 1
pxa2xx-fb pxa2xx-fb: override double pixel clock: false
pxa2xx-fb pxa2xx-fb: override pixclock: 30000
pxafb_map_video_memory: palette_mem_size = 0x00000020
pxafb_set_par: set_par
pxafb_set_par: palette_mem_size = 0x00000000
pxafb_set_truecolor: true_color = 1
pxafb_activate_var: Configuring PXA LCD
pxafb_activate_var: var: xres=800 hslen=1 lm=1 rm=1
pxafb_activate_var: var: yres=480 vslen=1 um=0 bm=0
pxafb_activate_var: var: pixclock=30000 pcd=1
pxafb_activate_var: nlccr0 = 0x003008f8
pxafb_activate_var: nlccr1 = 0x0000031f
pxafb_activate_var: nlccr2 = 0x000001df
pxafb_activate_var: nlccr3 = 0x04300001
pxafb_setup_gpio: set GPIO pins.
pxafb_enable_controller: Enabling LCD controller
pxafb_enable_controller: fdadr0 0xa7f00fe0
pxafb_enable_controller: fdadr1 0xa7f00fd0
pxafb_enable_controller: reg_lccr0 0x003008f8
pxafb_enable_controller: reg_lccr1 0x0000031f
pxafb_enable_controller: reg_lccr2 0x000001df
pxafb_enable_controller: reg_lccr3 0x04300001
pxafb_enable_controller: FDADR0 0xa7f00fd1
pxafb_enable_controller: FDADR1 0x00000000
pxafb_enable_controller: LCCR0 0x00000000
pxafb_enable_controller: LCCR1 0x00000000
pxafb_enable_controller: LCCR2 0x00000000
pxafb_enable_controller: LCCR3 0x00000000
pxafb_enable_controller: CKEN 0x00410240
__pxafb_lcd_power: LCD power on
__pxafb_backlight_power: backlight on
Странно, откуда то нули в LCCR берутся ...


--------------------
Усы, борода и кеды - вот мои документы :)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.0151 секунд с 7
ELECTRONIX ©2004-2016