Дисплей Nokia 3410 (3310)

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Аватара пользователя
Иван23
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Ср дек 05, 2007 18:55:07
Откуда: Санкт-Петербуг

Сообщение Иван23 »

интересная мысль надо попробовать
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

yakuzaa писал(а):***

Вот не знаю что Нокия передаёт а мы все работаем не так.
И соответствует LPH7799 PCD8488-у, ЗАО"Пхилипс" по тех. требованиям чем каокойто, зачемто ещё один и даже циклический байт..
в диапазоне... на57й интерации...
Может "китайский" оригинальный??
простое чмо, выдумщик
yakuzaa
Встал на лапы
Сообщения: 88
Зарегистрирован: Чт июл 24, 2008 12:35:30
Контактная информация:

Сообщение yakuzaa »

MetEl писал(а):
yakuzaa писал(а):***

Вот не знаю что Нокия передаёт а мы все работаем не так.
И соответствует LPH7799 PCD8488-у, ЗАО"Пхилипс" по тех. требованиям чем каокойто, зачемто ещё один и даже циклический байт..
в диапазоне... на57й интерации...
Может "китайский" оригинальный??

почему тогда при установке в телефон "паленый" дисплей работает нормально?
Значит дело все-таки в порядке обмена командами! О! мысль! действительно! попробовать изменить *порядок* передачи команд дисплею - ну там контрасность, bias и т.д. :))
может поможет... :)))
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

временные диаграммы посмотри пжаста.
в полноте по ЖКД:
- время выставления лог уровней
- время считывания лог уровней (необходимое время удержания лог уровня на входе, необходимое, для гарантированного и правильного определения контроллером ЖКД)
- время обработки команд
- время выполнения команд

по МК
Отключить все прерывания(асм cli), лишние лишние функции и процедуры.
Высветить и погасить все пиксели используя аппаратные команды контроллера ЖКД.

И только после этого осуществить передачу видео информации(данных) на ЖКД.
Т.е. программно записать и стереть все ячейки(байты) матрицы ЖКД (по сути площадь дисплея является (контроллер одностраничного ЖКД) ОЗУ, с прямым выводом).

Далее изучая ТО ЖКД и сопряжения с контроллером, можно выявить неисправность(если она всётаки есть). К примеру-стр 23 ТО фигура 17, показывает что возможен отказ блоками по 24 строки(но может и по строчку...), либо по одному столбику.
стр 28 ТО позволяет определить прохождение токов и уровней напряжений (а значит и пульсаций) и их полярность от "генератора напряжения матрицы" и "биос генератора напряжения" (... сам репу чешу... блоки питания ключей матрицы ) стр 4 и их взаимодействие (стр 7) приводящее к открытию или закрытию ЖК пикселя (поляризации, в одну или в другую сторону, как именно не указывается) ... не всё понятно, хотя должно быть понятно и не спецам (надо знать что можно применить и как оно работает, к примеру сотру зеркальный слой и пропущу световое излучение, скажем, хочу проектор на стенку...пусть квадратный но меня устраивает ))) ).

ЗЫ: мне кажется что сдесь постоянный сбой, скорее с ОЗУ, а может и стеком. Налезают значения (ячейки ОЗУ) в вывод на дисплей. Отключите всё, толко одну страничку выведите(один раз). Всё работает. И правильно (по ТехническимТребованиям и ТО и ПС) ))).
Дайте код.
простое чмо, выдумщик
yakuzaa
Встал на лапы
Сообщения: 88
Зарегистрирован: Чт июл 24, 2008 12:35:30
Контактная информация:

Сообщение yakuzaa »

вот исходный код пультика для ImageCraft ICCAVR:
http://www.microsyl.com/mp3/Remote.zip
с оригинальным дисплеем пашет нормально! ))
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

Как то слишком мудрёно !!!
(((

не по данной теме...
Желание ничего не делать, а пользоваться уже готовым приводит к деградации способностей мозгов. А также приводит к штампованию решений и понятий. Узких и не всегда правильных. И как всегда это распространяется по нэту....
Дело в том , что один чел написал и все за ним , тупо переписывают. Не вникая не во что. А все хватаюи и радуются (((
А важен подход, зачем и почему так сделано. Можно конечно и по другому или даже не так совсем. Но для этого нужно самому, разобраться обязательно!

по данной теме.
ЖКД разных производителей совершенно обоснованно могут отличаться друг от друга, в рамках ТХ и Т.Условий. Это связано не только с широтой и климатом завода изготовителя но и в основном, материалами и т.оборудованием и даже технологией, которое используется при изготовлении. Ничего в этом такого нет, чтоб заострять внимание.

Вы как разработчик, укладываетесь во временные диаграммы ?!
стр 20 таб 12 и стр21 ??
не менее 100 нСек на удержание лог уровней.
Скажем, на сброс может быть потрачено до 30мСек (внутренняя схема). И пр.
Но по SPI(внешняя схема) все минимальные значения от 100нСек (т.е необходимо не менее 100нСек выждать после смены уровней, для реагирования ЖКД)

Если взять 10-к устройств, они тоже совершенно спокойно могут отличатся, по работе. Я не знаю, что и как передаёт мобильник, в котором оба ЖКД работают правильно. Но это же подтверждение, что чтото не правильно в сопряжении или программе!

Поставте задержку, в этой слишком запутанной программе. После смены любых управляющих сигналов. Этого там не сделано (не видно)... а должно! (с какой частотой(как быстро) МК переключает эти линии). Почему только в нижней части дисплея? Тоже вопрос... а что вы там пишете? Видать там и путаница. Возможно разрядность переменной, для координат по х и у. А может и вывод символов...

А также:
Какая частота и напряжение вашего МК. Какое напряжение подаёте на ЖКД?

ЗЫ: Конечно может вам бракованная партия досталась или не качественный товар(не прошедший ОТК).
ЗЫ ЗЫ:
Просто выведи на дисплей сам, один раз. Это будет уже решение проблемы. Она покажет бракованный или нет ЖКД.
простое чмо, выдумщик
yakuzaa
Встал на лапы
Сообщения: 88
Зарегистрирован: Чт июл 24, 2008 12:35:30
Контактная информация:

Сообщение yakuzaa »

MetEl писал(а):Вы как разработчик, укладываетесь во временные диаграммы ?!
стр 20 таб 12 и стр21 ??
не менее 100 нСек на удержание лог уровней.
Скажем, на сброс может быть потрачено до 30мСек (внутренняя схема). И пр.
Но по SPI(внешняя схема) все минимальные значения от 100нСек (т.е необходимо не менее 100нСек выждать после смены уровней, для реагирования ЖКД)


это конечно идея! обязательно попробую вклинить задержки после установки лог. уровней на D/C, Reset и т.д.! :))
но впредь работаю только с оригинальными дисплеями - с ними пашет все отлично и проблем нет!

Уважаемый(ая) MetEl! Можете ли вы тогда обьяснить тот факт, что алгоритмы "общения" с дисплеем в разных проэктах по крайней мере десяти разных авторов построены по практически одной и той же логике, что на ICCAVR, что на BASCOM, что на WinAVR - все исключительно по ДШ! неужели все такие невнимательные?
Может причина все-таки в другом?
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

слушай всё так муторно...
какого общения? общение оно двустороннее. А тут только вывод. (((
Или передача данных.
я не смотрел алгоритмы, и не очень собираюсь парится с этим.
наши деды придумали просто - один раз выкладываешь весь массив(видео) на дисплей, когда он уже заполнится(из разных частей программы). Т.е экранная память (страница видео памяти). И пока нет необходимости изображение не меняется. В промежутках между выводом делай чего хочешь. Дисплей с фиксацией. Что ещё надо???
Работа с видео массивом позволяет опрерировать с битами (пикселями) а значит и графикой и наложением и затиранием , всё что нужно. Одна проблема - массив большой(соответствующее ОЗУ нада...).

Если положение текста, знаков и пр. на дисплее статично (т.е не меняет своих координат) то буфер не нужен. Можно довольствоваться разовым выводом из разных мест программы. В зависимости от надобности и готовности значений.
Однако кмк проще работать с массивом.
В различных функ. , телах и пр. заносится значения в глоб. массив (или какнить по другому) и в одно месте , это всё сливается в ЖКД. А не сто раз на дню то сдесь кусок то там пол куска..

----------
а между прочим, я только КНР-ские(может быть Тайваньские) и использовал... а разве другие есть???
простое чмо, выдумщик
yakuzaa
Встал на лапы
Сообщения: 88
Зарегистрирован: Чт июл 24, 2008 12:35:30
Контактная информация:

Сообщение yakuzaa »

MetEl писал(а):а между прочим, я только КНР-ские(может быть Тайваньские) и использовал... а разве другие есть???

:idea:
О! тогда Вас не затруднит выложить проектик, который, как Вы утверждаете, работает с "тайваньским" дисплеем, если можно - а я вам фотку пришлю как Ваш проектик будет с "серыми дисплеями" работать (которые между прочим уже не только у нас в продаже появились) - если все будет нормально работать - снимаю шляпу и по-джентльменски извиняюсь! :))
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

какой нафиг проект, говорил же, пропиши -

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

все используемые линии портов устанавливаются в режим - на выход.
регистры работы SPI прописать, скорость(от частоты МК, не более 4МГц ), ведущий (master), страшим битом вперёд (помоему).
reset=1;   
delay_ms(500);     
dc=0;
SPI(0x21);     // включить питание, расшир. команды
SPI(0x13);     // bias=3
SPI(0xC8);     // включить внутренний источник, Vop=0x48;   
SPI(0x20);     // обычный набор инструкций
SPI(0x0c);     // нормальный режим отображения D=1 E=0
dc=1;
i=0;
while(i<505)
{
SPI(255);
SPI(0);
i++;
};
i=0;
delay_ms(3000);
while (i<505)
{
SPI(00111100);
i++;
};
///


и посмотри чего получится.
Последний раз редактировалось MetEl Пт авг 22, 2008 17:00:55, всего редактировалось 1 раз.
простое чмо, выдумщик
Аватара пользователя
Звероящер
Родился
Сообщения: 3
Зарегистрирован: Чт авг 21, 2008 18:11:34

Сообщение Звероящер »

yakuzaa
Подтверждаю, что дело в ЖКИ и там есть новая система команд.
Я перепробовал всё, включая длительности. Один фиг, смещение на 3 пикселя вверх есть.

Надо бы её найтить :)
Я пока не нашёл.
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

удивляет, что все только фантазируют, но никто ни чего не делает???
не ищет(пытается, пробует, думает, проверяет, анализирует) ответов!
простое чмо, выдумщик
Аватара пользователя
Звероящер
Родился
Сообщения: 3
Зарегистрирован: Чт авг 21, 2008 18:11:34

Сообщение Звероящер »

MetEl
Был бы у меня под рукой рабочий телефон, я бы быстро выяснил, где собака зарыта :)
MetEl
Вымогатель припоя
Сообщения: 543
Зарегистрирован: Чт окт 18, 2007 16:45:30
Откуда: из Питера

Сообщение MetEl »

Вот опять...
Толку то, пугать МК, что щаз по трубе позвоню и тебя зарешают!
Он от этого работать не станет.
Но ведь если сам до ведёшь до ума!
Радость то какая, а главное разберёшься(!).
Что за привычка, спрашивать у других, а сам то что?!
Это не дело...
простое чмо, выдумщик
itronid
Родился
Сообщения: 3
Зарегистрирован: Пн сен 08, 2008 21:54:08

Сообщение itronid »

чтобы стереть мусор с дисплея просто заполните память ноликами =) Просто после инициализации там почти всегда мусор. По крйней мере у меня так.
lulu47
Родился
Сообщения: 3
Зарегистрирован: Чт фев 05, 2009 15:09:20

Сообщение lulu47 »

Та же проблемка : сдвиг строчек, мусор.
Подобрал для очистки экрана не 504, а 696 столбцов.
Нужные картинки вывожу, но программно извращаюсь.
Иначе картинка ломается. Принудительный инкркмент адреса
в строке не помогает.
В чем причина?
lulu47
Родился
Сообщения: 3
Зарегистрирован: Чт фев 05, 2009 15:09:20

Сообщение lulu47 »

Вот здесь заграничные коллеги обсуждают проблемку с N3310.
http://www.edaboard.com/ftopic324477.html
С картинками. И гадают какой контроллер поставлен в таком дисплее.
Аватара пользователя
krolaka
Нашел транзистор. Понюхал.
Сообщения: 169
Зарегистрирован: Пн мар 02, 2009 12:23:37
Контактная информация:

Сообщение krolaka »

я имею тоже етот дисплей никак не могу нормально его запустить :cry:
какие я только библиотеки не использовал ничо не помагает :( у меня от нокии 3410. Нарыл что там контролер OM6206 или PCF8812 (102x65) разрешение 96x65. когда пишу

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

#define LCD_X_RES                  96
#define LCD_Y_RES                  65

изображение в второй строке сдвигается на 6 пикселей в лево :(
когда пишу

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

#define LCD_X_RES                  102
#define LCD_Y_RES                  65

изображение нормалное но проблема с шрифтом большым все сдвигается уже все перековырял ниче не могу зделать(
пишу ето

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

LcdStr(FONT_2X,"test")

и нижняя строчка в один пиксель всегда с мусором уже очищал

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

void LcdClear ( void )
{
    int i;

    for ( i = 0; i <999; i++ )
    {
        LcdCache[i] = 0x00;
    }

    //  Reset watermark pointers.
    LoWaterMark = 0;
    HiWaterMark = LCD_CACHE_SIZE - 1;

    UpdateLcd = TRUE;
}

999 вместо LCD_CACHE_SIZE даже если посчитать 102х65/8=828.75
етого думал достаточно но мусор остался
посоветуйте :roll:
Аватара пользователя
VenomXP
Грызет канифоль
Сообщения: 293
Зарегистрирован: Пн дек 24, 2007 07:09:09
Контактная информация:

Сообщение VenomXP »

Для 3310 должно быть так:

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

#define LCD_X_RES                  84
#define LCD_Y_RES                  48
Даташит - библия моя...
Изображение
kott
Родился
Сообщения: 1
Зарегистрирован: Пт мар 06, 2009 17:16:18

Сообщение kott »

Коты! я тоже долго бился с 3310, нагуглил сайт, там вроде решили проблему https://www.phreaker.us/forum/showthread.php?p=59912 буду пробовать на выходных, там вроде конфигурация другая и со строчками проблемы, вернее альтернативное решение, я собираю индикацию на 3310, в принципе не проблема сделать как рекомендует автор.
Ответить

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