Дисплеи от мобильных телефонов- осцилограммы работы

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Родился
Сообщения: 1
Зарегистрирован: Пн мар 05, 2012 20:35:09

Сообщение slimps »

Библиотекой на LPH9135 никто не богат?
Реклама
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

Сообщение nikityan »

Люди, у кого есть библиотека для C++ на дисплей lph9157-2? Или готовые исходники может кто то выложить под IAR?
Реклама
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

Сообщение nikityan »

Люди, ну киньте плиз какие нибудь сорцы на lph9157-2
Родился
Сообщения: 11
Зарегистрирован: Вт мар 27, 2007 06:18:14

Сообщение VovaOZ »

Вопрос по LPH9157-2 : с инициализацией и работой понятно, но перед выключением вроде как надо его деинициализировать а как?
Переделываю проект http://cxem.net/avto/electronics/4.php Бортовой компьютер для ВАЗ с цветным дисплеем и тачскрином (для ЭБУ Январь) под STM32F100C8T6 + LPH9157-2 , но до конца еще далеко.
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Аватара пользователя
Сообщения: 454
Зарегистрирован: Вс янв 15, 2012 19:58:40

Сообщение radiokot__ »

Для LPH9157-2
0x28 Display OFF
0x29 Display ON
Ни один домашний кот незнает что он домашний.
Реклама
Родился
Сообщения: 11
Зарегистрирован: Вт мар 27, 2007 06:18:14

Сообщение VovaOZ »

И еще про LPH9157-2.
команда 0x36 - Установка направлений заполнения прямоугольника CASET x PASET.
Один параметр 0bVHRXXXXX
Дисплей лицом к нам , чипом к верху, контакты сзади снизу.
Если V=0 H=0 R=0 то заливка идет стороками пикселей слева направо, строкой ниже
и снова слева на право
Точка 0,0 -верхний левый угол,, 132,175 - правый нижний.
Меняя V и H меняем направление заливки и положение конечных точек.
НО!! В любом варианте вначале будет заливать вдоль короткой стороны строку,
потом шагнет на следующую строку и опять вдоль короткой стороны дисплея.
ТО есть когда дисплей стоит вертикально, сроки текста выводить более естественно.
А при горизонтальном положении --неудобственно.
А есть же R, скажете.. Да есть..
Так вот при R=1 действительно строки и столбци меняются местами, и теперь уже команда 0x2A задает координату вдоль длинной стороны дисплея и заполнение идет вдоль длинной стороны дисплея и направление можно задать как хочешь, только координату более 131 не берет и ничего на части дисплея от 132 до 175 не рисует. Видимо у контроллера дисплея память кончилась. Был бы дисплей квадратный а так толку нет.
Вот, чтоб знали.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Привет всем котам.

Подключил LPH9157-2 к FT232RL и из под Delphi 7 написал обмен с дисплеем. Рисую графику и сделал вывод изображений.
Работаю над знакогенератором.
Вывод изображения 132 * 176 пикселов c 16 битным цветом на частоте 3мгц занимает 1 сек.
Надо будет FT2232 прикупить или FT232 HL версию. Там уже до 40 мгц можно будет гонять.
1.JPG
(134.25 КБ) 968 скачиваний
2.JPG
(82.96 КБ) 960 скачиваний
Походу минимальное количество цвета это 12 бит?
Последний раз редактировалось Oxford Вт окт 23, 2012 23:35:10, всего редактировалось 4 раза.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Сообщение Foks »

VovaOZ писал(а):Вот, чтоб знали.
Спасибо, Вам, кэп, это уже раз десять было обсуждено в этой теме. Насчет памяти, кстати, Ваше предположение скорее всего неверно, т.к. при R=1 на оставшемся участке дисплея отображается не шум, и не сплошной цвет, а вполне статический мусор, либо остатки выведенного изображения при R=0.

А выводить вертикальными полосами порой намного удобнее чем горизонтальными. Или, в конце-концов, можно задать прямоугольник размером 1xN (Nx1) и принудительно писать в нужном направлении. Если рисуется графический интерфейс (а не какое-нибудь потоковое видео, но там вообщем-то пофиг на направление), то слегка потерянное быстродействие почти не играет роли.
Giggity giggity goo!
Родился
Сообщения: 11
Зарегистрирован: Вт мар 27, 2007 06:18:14

Сообщение VovaOZ »

Ну извините..
Может стоит тему LPH9157-2 сложить в отдельную ветку, разжевав все поподробнее?
Вот исходники - кто то просил.
Код рабочий, но под STM32F100C8T6 + LPH9157-2
Там и инициализация обеих SPI, хотя использовался второй.
Шрифт ипрограмму рисования букв взял с проекта, который переделываю.
Программу переделал, Шрифт остался как был - только большые русские буквы.
Написано, конечно безобразно - надергано из примеров от ST и доработано напильником.
Но я не проффесинал..
Вложения
attachments_24-10-2012_13-11-49.zip
(26.42 КБ) 391 скачивание
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Такой вопрос:
И как сбрасывать память чтобы опять шумы были?
Как деинициализацию делать правильно?
И как проверить состояние дисплея инициализирован или нет?
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

Странные вопросы, или я чего-то не знаю и не понимаю. Инициализация - процесс настройки под конкретные нужды. Нужна мне 12-разрядная глубина цвета - настраиваю под 12 бит данных, нужно 5-6-5 - настраиваю 16 бит (если дисплей позволяет по характеристикам). Нужно работать в какой-то локали - задаю "окно". И так далее. Настроил все, что мне нужно, -> включил дисп, дал команду записи в память, и погнал полезные данные. Нет каких-то жестких рамок инициализации. Кому-то достаточно будет вывести дисп из спячки, включить и дать команду "ramwrite" - и вся инициализация. И дефолтных настроек будет достаточно.
Чтоб снова были шумы - дать сброс дисплею, и снова провести инициализацию. Шумы становятся видимыми сразу после подачи команды включения.
Насчет деинициализации самому будет интересно узнать. Впервые слышу о таком понятии. =)
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Да все ок все работает.
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю программный сброс $01.
5. Опять делаю настройку.
6. Включаю дисплей $29, на экране шумы.
все ок с алгоритмом.
Видать программные сброс это и есть полная деинициализация.
Ок.

Еще вот непонятно что за событие когда экран плавно тухнет ( белеет)
Происходит это в такой момент:
1. Делаю настройку.
2. Включаю дисплей $29, на экране шумы.
3. Рисую картинку.
4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.

После этого опять инициализацию можно делать все ок.
Что это?
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Держит паяльник хвостом
Аватара пользователя
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Сообщение SubDia »

вот этот момент интересен:
Oxford писал(а):4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
О какой настройке речь? Какие параметры настраиваются?
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

SubDia писал(а):вот этот момент интересен:
Oxford писал(а):4. Делаю настройку и тут экран сразу плавно исчезают пикселы белеет пару секунд.
О какой настройке речь? Какие параметры настраиваются?

Код: Выделить всё

procedure C75_SETUP;
begin
  Z := 0;
  Include(Data, PIN_CS);
  ADD;
  Exclude(Data, PIN_RS);
  ADD;
  Exclude(Data, PIN_RESET);
  ADD;
  Include(Data, PIN_RESET);
  ADD;
  Send_8(True,$36); // Memory Access Control
  Send_8(False,$80);
  Send_8(True,$11); //Выходим из слип режима
  Send_8(True,$3a); //Информация о выводе пикселя
  Send_8(False,$55); //Два байта на пиксель 65536 цветов
  Send;
  Sleep(100);
end;
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Для LPH9157-2:
Настройка гаммы команда 26h
Параметр, байт:
1. 01h - Гамма 1.0
2. 02h - Гамма 1.8
3. 04h - Гамма 2.2
4. 08h - Гамма 2.5
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Сообщение Foks »

Oxford, уточните, плз, что дает комбинация этих битов, и используются ли старшие четыре, чтобы я добавил команду в сборный список.
Giggity giggity goo!
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

Foks писал(а):Oxford, уточните, плз, что дает комбинация этих битов, и используются ли старшие четыре, чтобы я добавил команду в сборный список.
Не понял?
Отправляем команду установку гаммы и настройку гаммы один из 4 вариантов:
Send(CMD, $26); Установка гаммы
Send(DATA, $08); Гамма равна 2.5

В даташите ILI9163 есть это.

Еще вот написал процедуры преобразования 24 битного пиксела:

1. 3-3-2 8 битный режим

B := GetBValue(Color24) shr 5;
G := GetGValue(Color24) shr 5;
R := GetRValue(Color24) shr 6;
Color332 := Byte((B) or (G SHL 3) or (R SHL 6));

2. 5-6-5 16 битный режим

B := GetBValue(Color24) shr 3;
G := GetGValue(Color24) shr 2;
R := GetRValue(Color24) shr 3;
Color565 := Word((B) or (G SHL 5) or (R SHL 11));
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск

Сообщение Oxford »

3. Кодировка 4-4-4

function Color444(Color24: Cardinal): WORD;
var
R, G, B: Byte;
begin
B := GetBValue(Color24) shr 4;
G := GetGValue(Color24) shr 4;
R := GetRValue(Color24) shr 4;
Result := Word((B) or (G SHL 4) or (R SHL 8 ));
end;

И так. Подключил дисплей от Siemens M55 101x80 4096 скорость отрисовки кадра 30-40 мс
Вывод изображений, рисование, регулировка контрастности.

Фото:
IMG_2012_10_28_025032.jpg
(157.68 КБ) 783 скачивания
IMG_2012_10_28_025401.jpg
(122.84 КБ) 774 скачивания
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Контактная информация:
Встал на лапы
Сообщения: 91
Зарегистрирован: Сб авг 11, 2012 22:31:57

Сообщение nikityan »

Ребят, хочу инициализировать дисплей lph9157-2 с зелёным текстолитом. Питаться будет от 3 вольт и от кроны 9 вольт. К каким выводам Atmega32 рекомендуете его подключить?
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Сообщение Foks »

К аппаратному SPI, например.
Giggity giggity goo!
Ответить

Вернуться в «Периферия»