|
|
  |
PXA270 + LCD module |
|
|
|
Feb 22 2007, 11:28
|
Участник

Группа: Свой
Сообщений: 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 пока не ответил.
Так что - если кто знает, буду очень признателен за помощь.
|
|
|
|
|
Mar 5 2007, 16:32
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170

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

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

|
Спасибо за совет. В следующем релизе платы, вполне возможно, перейдем на данный интерфейс. Сейчас проблема по подключению JLPA070VW01-2 снята, т.к. китайцы дали ответы на все вопросы :-)
|
|
|
|
|
May 3 2007, 15:37
|

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

|
А как у него обстоит дело с загрузкой шины, при размещении кадра во внешней SDRAM? Из доки следует что LCD контроллер в режиме DMA вытягиевает по 4 (ВСЕГО!) байта(слова?), итого, если учесть что максимальная тактовая SDRAM 100М, пусть требуемое разрешение 640х480, загрузка шины будет под 30-40%. В итоге, если учесть, что работать он будет под линухом, суперчип превращяется в AVR-ку
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
May 3 2007, 15:55
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170

|
Цитата(3.14 @ May 3 2007, 18:37)  А как у него обстоит дело с загрузкой шины, при размещении кадра во внешней SDRAM? Из доки следует что LCD контроллер в режиме DMA вытягиевает по 4 (ВСЕГО!) байта(слова?), итого, если учесть что максимальная тактовая SDRAM 100М, пусть требуемое разрешение 640х480, загрузка шины будет под 30-40%. В итоге, если учесть, что работать он будет под линухом, суперчип превращяется в AVR-ку  Есть такая фишка. Кроме того разрешение у озвученного модуля 800х480. Превращается не совсем в AVR, но на операциях с SDRAM может быть задумчив  2 BorisRozentsvaig. Ваша фраза "JLPA070VW01-2 снята" оказалась пророческой - AUO снимает с производства A070VW01 и A070VW02, на замену им предлагая A070VW04, которая имеет неудобоваримый разъем 60х0.4, хотя в Дэриконе его вроде бы можно купить.
--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
|
|
|
|
|
May 11 2007, 10:07
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170

|
Цитата(3.14 @ May 11 2007, 14:59)  Чего-то немогу найти чертеж на разъем для OSD070TN84, поделитесь плиз (если имеется). Вроде там hirose FH19S-40S-0.5SH. Качается отсюда: hiroseНо для этого модуля надо еще шлейф дополнительно где-то доставать.
--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
|
|
|
|
|
May 11 2007, 12:05
|
Частый гость
 
Группа: Свой
Сообщений: 163
Регистрация: 9-03-05
Пользователь №: 3 170

|
Цитата(3.14 @ May 11 2007, 16:20)  Спасибо. Я по наивности думал, что на ответную часть можно проводной шлейф насадить, а другой конец шлейфа прямо в плату запаять, увы ... Получается, что нужно полноценный "напыленный" шлейф и ответную часть на свою плату ставить, где всем этим добром разжиться можно? Трясите продавцов модулей - это их задача, снабдить вас этим шлейфом. Или хотя бы показать, где его берут. Можно поискать в магазинах, где запчасти для мобилок и прочего подобного продают. Там такие шлейфы тоже используются.
--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
|
|
|
|
|
May 16 2007, 03:33
|
Частый гость
 
Группа: Свой
Сообщений: 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 - я так понял, что он нужен.
--------------------
Женщины носят кофточки прям на голо тело. Как не выпить водочки за такое дело?
|
|
|
|
|
Sep 25 2007, 10:41
|

Их либе дих ...
     
Группа: СуперМодераторы
Сообщений: 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 берутся ...
--------------------
Усы, борода и кеды - вот мои документы :)
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|