Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC2478+EL320.240.36HB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Wano
День добрый.
Из-за большой цены 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 режим вообще ничего не получается дельного.
aaarrr
Цитата(Wano @ Dec 13 2009, 17:55) *
Подскажите , кто работал с STN панелями, будет ли при такой настройке видеоконтроллер выдавать 4 бита цвета на 4 выхода. С другой стороны настраивал как монохромный режим STN по логике ыыыы какие тут цвета.....

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

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


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

Заново попробовал режим TFT 24бита.
80 точек по горизонтали ;
240 по вертикали;
нулевые "порчи";
линии данных подключил к старшим красным линиям TFT интерфейса;
Всё пашет нормально, но почему-то слева есть постоянный отступ в 8 точек.
На форуме есть упоминание о том, что можно использовать S1D13705 , но чем его режим STN отличается от режима STN видеоконтроллера в LPC не понимаю.
aaarrr
Цитата(Wano @ Dec 14 2009, 04:26) *
Так как за один клок передаются сразу четыре пикселя в ряд.

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

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

Нечеловеческая адресация и 5/6 памяти в помойку. Лучше разберитесь с STN - mono 1bpp обязан работать.
Wano
Цитата(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, плюс хороший "самообогрев".
aaarrr
Цитата(Wano @ Dec 14 2009, 22:39) *
На форуме упоминалось, что можно использовать режим grayscale STN для получения оттенков свечения даже в монохромном режиме. Видеоконтроллер во время сканирования экрана делает пропуски в свечении пикселей, в результате для глаза кажется , что яркость их меняется. Так ли это?

Это так, но только для честных STN. У вас же EL и фреймбуфер на борту, так что работать не будет, о чем я уже писал в #2.
scorp1969
Цитата(Wano @ Dec 14 2009, 01:26) *
Всё пашет нормально, но почему-то слева есть постоянный отступ в 8 точек.

Осмелюсь предположить что нужно определить выравнивание адреса буфера экрана в памяти.
Например:
#pragma data_alignment=8
а тут описываете свой буфер
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.