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

 
 
 
Reply to this topicStart new topic
Wano
сообщение Dec 13 2009, 14:55
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



День добрый.
Из-за большой цены EL экраны не так уж распространены. Только что -40 -50 гарантируют. Интерфейс передачи состоит в том, что за один клок передаётся информация о четырёх пикселях. Рисование обычным ногодрыганьем элементарно. Но что-то никак не получается настроить видеоконтроллер LPC. Предполагаю, что каждый бит цвета одного пикселя будет отвечать за свечение одного пикселя на дисплее. Никогда не пробовал STN дисплеи, подскажите так ли всё делаю:

PINSEL11 = 0x00000001;//4-bit mono STN single panel

LCD_CTRL|=(2<<CTRL_LcdBpp);//LCD bits per pixel: 010 = 4 bpp.
LCD_CTRL|=(1<<CTRL_LcdBW);//1 = STN LCD is monochrome.

настройку размеров производил :

H_SIZE 80 // размер по горизонтали в 4 раза меньше реального
H_PULSE 1 // число тактовых в одном горизонтального
H_FRONT_PORCH 0 // пустые тактовых перед данными
H_BACK_PORCH 0 // пустые тактовых после данных
V_SIZE 240//количество строк
V_PULSE 1//число горизонтальных в одном вертикальном
V_FRONT_PORCH 0
V_BACK_PORCH 0

подключение производил, как указано в первом столбце Table 276. LCD panel connections for STN single panel mode:

P2[9] UD[3] - VID3
P2[8] UD[2] - VID2
P2[7] UD[1] - VID1
P2[6] UD[0] - VID0
P2[5] LCDLP- строковый синхр.
P2[3] LCDFP- вертикальный синхр.
P2[2] LCDDCLK - тактовые

Судя по всему включается палитра, поэтому заполняю её чтобы хоть что-то нарисовать:

pPal = (tU32*)LCD_PAL_ADDR;
*pPal = 0x00FF0000;
*pPal++;
for(i = 1; i < 128; i++)
{
*pPal = 0x0;
pPal++;
}

Строчка на экране рисуется не отрезками, сначала небольшой кусок ,а потом до конца. Если по вертикали ещё как-то можно позицию выставить, то по горизонтали либо вся строка заполняется, либо ничего.
Подскажите , кто работал с STN панелями, будет ли при такой настройке видеоконтроллер выдавать 4 бита цвета на 4 выхода. С другой стороны настраивал как монохромный режим STN по логике ыыыы какие тут цвета.....
Пробовал TFT режим вообще ничего не получается дельного.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 13 2009, 18:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Wano @ Dec 13 2009, 17:55) *
Подскажите , кто работал с STN панелями, будет ли при такой настройке видеоконтроллер выдавать 4 бита цвета на 4 выхода. С другой стороны настраивал как монохромный режим STN по логике ыыыы какие тут цвета.....

Учитывая наличие встроенного фреймбуфера, о 4-х битах на точку c dithering'ом можно забыть - он просто не будет работать. Поэтому должен быть выбран режим mono 1bpp.
Код
H_SIZE           80 // размер по горизонтали в 4 раза меньше реального

Почему в 4? У меня получается, что в поле PPL должно быть записано число 19.
Go to the top of the page
 
+Quote Post
Wano
сообщение Dec 14 2009, 01:26
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Цитата(aaarrr @ Dec 13 2009, 20:39) *
Почему в 4? У меня получается, что в поле PPL должно быть записано число 19.


Так как за один клок передаются сразу четыре пикселя в ряд.
Если долго мучиться.... Поправил полярность всех клоков и ошибку в количествах сдвигов. Вариант с STN что-то не прошел, так как вместо одной точки получаются две на расстоянии 16-ти, как бы не крутил.

Заново попробовал режим TFT 24бита.
80 точек по горизонтали ;
240 по вертикали;
нулевые "порчи";
линии данных подключил к старшим красным линиям TFT интерфейса;
Всё пашет нормально, но почему-то слева есть постоянный отступ в 8 точек.
На форуме есть упоминание о том, что можно использовать S1D13705 , но чем его режим STN отличается от режима STN видеоконтроллера в LPC не понимаю.
Эскизы прикрепленных изображений
 Р В Р’ Р’ Р’ Р’ Р’ Р в‚¬Р В РЎВ˜Р В Р’µР Р…ьшено Р Т‘Р С• 84%
Прикрепленное изображение
1024 x 768 (73.29 килобайт)
 
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 14 2009, 01:42
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Wano @ Dec 14 2009, 04:26) *
Так как за один клок передаются сразу четыре пикселя в ряд.

Ну и что? Поле называется Pixels-per-line. О количестве точек на клок контроллер и так в курсе.

Цитата(Wano @ Dec 14 2009, 04:26) *
Всё пашет нормально, но почему-то слева есть постоянный отступ в 8 точек.

Нечеловеческая адресация и 5/6 памяти в помойку. Лучше разберитесь с STN - mono 1bpp обязан работать.
Go to the top of the page
 
+Quote Post
Wano
сообщение Dec 14 2009, 19:39
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Цитата(aaarrr @ Dec 14 2009, 03:42) *
Нечеловеческая адресация и 5/6 памяти в помойку.

В точку...

STN - mono 1bpp конечно лучше.
Нюансы настройки видеоконтроллера:
1)режим STN, 4-bit mono , 1bpp.
2)PPL-Pixels-per-line как aaarrr и сказал 19
3)а вот CPL-Clocks per line как раз 80
Спасибо за помощь aaarrr-у,особенно за слова "1bpp обязан работать".Если кого интересуют настройки под этот экран, могу выложить.

На форуме упоминалось, что можно использовать режим grayscale STN для получения оттенков свечения даже в монохромном режиме. Видеоконтроллер во время сканирования экрана делает пропуски в свечении пикселей, в результате для глаза кажется , что яркость их меняется. Так ли это?

Если бы не цена в шесть листов за пять дюймов, экран неплохой. Прямая солнечная засветка не так ухудшает контраст, как у TFT, плюс хороший "самообогрев".
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 14 2009, 20:29
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Wano @ Dec 14 2009, 22:39) *
На форуме упоминалось, что можно использовать режим grayscale STN для получения оттенков свечения даже в монохромном режиме. Видеоконтроллер во время сканирования экрана делает пропуски в свечении пикселей, в результате для глаза кажется , что яркость их меняется. Так ли это?

Это так, но только для честных STN. У вас же EL и фреймбуфер на борту, так что работать не будет, о чем я уже писал в #2.
Go to the top of the page
 
+Quote Post
scorp1969
сообщение Dec 14 2009, 22:53
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 10-11-09
Пользователь №: 53 547



Цитата(Wano @ Dec 14 2009, 01:26) *
Всё пашет нормально, но почему-то слева есть постоянный отступ в 8 точек.

Осмелюсь предположить что нужно определить выравнивание адреса буфера экрана в памяти.
Например:
#pragma data_alignment=8
а тут описываете свой буфер
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 20:05
Рейтинг@Mail.ru


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