Например TDA7294

Форум РадиоКот • Просмотр темы - Дисплей Nokia 3410 (3310)
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Сб июл 19, 2025 05:26:52

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 282 ]    , , , , 5, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 09, 2009 03:14:44 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
Недавно запустил дисплей 3310 - проблема таже - режет верхнюю сстроку.

Прочитав предыдущий пост и сходив по ссылке убедился что проблема не решена и там.

Путем проб выяснил:
1 контроллер поддерживает 102 колонки (экран отображает только 84 остальных не видно)
2 контроллер поддерживает более 48 строк экрана (так как кроме резаного верхнего (0-банка) еще режется и нижний (уже 6 банк))
3 контроллер имеет дополнительные инструкции (выяснилось по ссылке постом выше)
Из этих наблюдений становится ясно, что контроллер стоит не PCD8544 как считается, а какойто поновее.

Поискав контроллеры подходящие по условиям нашел следующие:
- PCF8813 - больше всего подходит
- STE2004 - шото рядом
- UC1602I - еще не пробывал

все они имеют дополнительные команды которые позволяют отображать на экране содержимое с любого места памяти, устанавливать прямую и инверсную адресацию и многое другое.

Определиться что за контроллер всетаки там стоит не получилось - почемуто дополнительные команду у меня както неадекватно работают (кроме инверсной адресации - она рботает как надо).

А так как 3310 наилучший дисплей для микроконтроллера (не вылазит размером экрана за 512 байт) давайте поднатужимся вместе и както решим эту проблему!

Остальные даташиты невлазят в форум по размеру - искать в гугле


Вложения:
PCF8813.pdf [241.29 KiB]
Скачиваний: 1031
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пн мар 09, 2009 16:08:18 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн мар 02, 2009 12:23:37
Сообщений: 169
Рейтинг сообщения: 0
Evgen88, да польностю соглясен в контролер записывается 102 по х но отображается лиш часть у меня ето 96 пикселей у меня от 3410 :) и как выянилось там контролер точно PCF8812 или аналогичный OM6206 :) с работой дисплея уже разобрался только осталось как нить либу поправить :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 10, 2009 01:57:41 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
Помучал на досуге 3310 на предмет зарезервированных команд (зарезервированых для PCD8544)

Получился такой результат:
При Н= 0 или 1
#b 0_0_1_MX_MY_PD_V_H
добавились МХ - инверсия адресации по Х
МУ - инверсия адресации по У
остальное по даташиту

При Н=0 - ничего ни нашаманил

При Н=1
#b 0_0_0_0_1_DO_0_0
добавились DO - инверсия байта (меняется очередность записи битов в LCD (символы зеркалятся по вертикали)

и самое вкусное :)
#b 0_1_y_y_y_y_y_y
добавилось yyyyyy - смещение содержимого экрана по вертикали вверх в точках
При помощи этого смещения лечится обрезание :) верхней строки
Есть 2 варианта:
1 сдвигаем картинку на 5 пикселей вверх, при этом прячется нулевой банк а снизу появляется 6 (недостаток - придется за начало экрана принимать не нулевой адрес а адрес первого банка)
2 сдвигаем картинку вверх на максимально возможное число 63, при этом происходит цикличнй сдвиг через всю память и первая строчка (нулевой банк) оказывается в начале экрана , целая нерезанная (недостаток - по ходу оказалось что первая строчка на 1 пиксел недотягивается до своего места а значит сверху (над нулевым банком) остается полоска в 1 пиксел и соответственно внизу 6 строчка (5 банк) обрезается снизу на 1 пиксел)

Такие извращения с командами не объясняют почему новые дисплеи адекватно работают в старых телефонах. Всетаки должна быть правильная последовательность инициализации дисплея для коректной работы при любых вариантах контроллеров LCD.
Продолжаем искать!

З.Ы. Интересная возможность такого смещения - простой способ организовать плавную прокрутку, например для удобного чтения текста.

З.З.Ы. Эх! найти бы способ как ограничить координаты по Х до 84 для автоматической адресации - былобы ваще хорошо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 10, 2009 20:31:07 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Чт ноя 23, 2006 22:47:35
Сообщений: 487
Рейтинг сообщения: 0
Лежал у меня года 2 дисплейчег от 3310 - никак лапы не доходили. Сегодня вот тоже оживил. У меня строго по даташиту, никаких отклонений. 8)


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 10, 2009 21:19:34 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Pahan писал(а):
Лежал у меня года 2 дисплейчег от 3310 - никак лапы не доходили. Сегодня вот тоже оживил. У меня строго по даташиту, никаких отклонений. 8)


Где такую прогу достать, которая как у вас на скрине? Если есть возможность выложите сюда плиз.

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 10, 2009 21:28:27 
Нашел транзистор. Понюхал.
Аватар пользователя

Зарегистрирован: Пн мар 02, 2009 12:23:37
Сообщений: 169
Рейтинг сообщения: 0
VenomXP, а чем Fast LCD не устраивает? :) я кучу фоток делал етой прогой для монохромного дисплея от нокии :) даже шрифт пытался делать но не хватило терпения :))


Вложения:
FastLCD.rar [63.23 KiB]
Скачиваний: 905
Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 10, 2009 21:54:15 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Чт ноя 23, 2006 22:47:35
Сообщений: 487
Рейтинг сообщения: 0
VenomXP писал(а):
Где такую прогу достать, которая как у вас на скрине?


Нигде :))) Это я сам писал. Давно. Под дисплей от 6510, там 96x65 и протокол другой. Щас тока протокол переписал и уменьшил размер экрана. А зачем она тебе? Я ее делал тока чтоб дисплей проверить, фсеж на дельфях удобнее писать, чем на МК. А потом уж и к МК подключать. Если очень надо, могу конечно скинуть, но толку от неё не много - только если для проверки работоспособности. Т.е. это не редактор картинок (хотя в принципе можно), а прога для проверки LCD.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Ср мар 11, 2009 09:01:33 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Благодарю за советы, да действительно, что то я забыл про FastLCD. :))

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 16:30:00 
Встал на лапы

Карма: -1
Рейтинг сообщений: -2
Зарегистрирован: Чт июл 24, 2008 12:35:30
Сообщений: 88
Рейтинг сообщения: 0
Pahan писал(а):
Лежал у меня года 2 дисплейчег от 3310 - никак лапы не доходили. Сегодня вот тоже оживил. У меня строго по даташиту, никаких отклонений. 8)


Это потому, что дисплей у тебя Original Nokia.
Возьми тот, что сейчас продается в магазинах (с двумя полукругами на металлической рамке вверху) и изображение у тебя сместится вверх :)))

А дисплейчики действительно стоящие - я по 50 рублей брал - дешего!


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 17:39:42 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Чт ноя 23, 2006 22:47:35
Сообщений: 487
Рейтинг сообщения: 0
yakuzaa писал(а):
А дисплейчики действительно стоящие - я по 50 рублей брал - дешего!


Ну NOKIA 6310 мне больше нравицо. И точек больше, и на 1 ногу меньше надо. У него data/command не через ногу идет, а 9 битом в посылке. И есть команда read-modify, можно содержимое видеопамяти прочитать назад. Т.е. как буффер видеопамяти сам дисплей может выступать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 21:02:02 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
Evgen88 писал(а):
и самое вкусное :)
#b 0_1_y_y_y_y_y_y
добавилось yyyyyy - смещение содержимого экрана по вертикали вверх в точках
При помощи этого смещения лечится обрезание :) верхней строки


Вложения:
Комментарий к файлу: Как было
IMG_6918.jpg [60.18 KiB]
Скачиваний: 1681
Комментарий к файлу: Как стало
IMG_6920.jpg [60.29 KiB]
Скачиваний: 1571
Комментарий к файлу: Плавный скролинг текста
MVI_6925.00.zip [250.04 KiB]
Скачиваний: 1004
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 21:38:37 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Как добился такого, исходники в студию :))

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 22:02:34 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
VenomXP писал(а):
Как добился такого, исходники в студию :))

Исходник тут нипричем.
Просто в новых дисплеях стоит новый контроллер.
У нового контроллера есть новые команды.

Добавь в свой исходник в облать инициализации дисплея (ну там де контрастность, опорное напряжение устанавливается) следующее:

#b01111111 -> SPI - будет первая строчка на пиксель ниже нужного положения

или

#b01000101 -> SPI - первая строчка пропадет, зато со второй строчки все будет отображатся как надо

Несколькими постами выше я писал какие команды получилось найти методом "Тыка"
http://radiokot.ru/forum/viewtopic.php?p=189466#189466
Найти бы какой контроллер там реально стоит - было бы проще.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 22:21:40 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Эм... Я пишу на С, как то пока непонятно куда это именно вставлять
Вот есть такое у меня
Код:
void LcdInit ( void )
{
    static byte FirstInit = TRUE;
   
    //  Pull-up on reset pin.
    PORTB |= LCD_RST_PIN;

    //  Set output bits on port B.
    DDRB |= LCD_RST_PIN | LCD_DC_PIN | LCD_CE_PIN | SPI_MOSI_PIN | SPI_CLK_PIN | LCD_POWER;

   PORTB |= LCD_POWER;
   
    Delay();

    //  Toggle display reset pin.
    PORTB &= ~LCD_RST_PIN;
    Delay();
    PORTB |= LCD_RST_PIN;

    //  Enable SPI port: No interrupt, MSBit first, Master mode, CPOL->0, CPHA->0, Clk/4
    SPCR = 0x50;

    //  Disable LCD controller
    PORTB |= LCD_CE_PIN;

    LcdSend( 0x21, LCD_CMD );  // LCD Extended Commands.
    LcdSend( 0xC8, LCD_CMD );  // Set LCD Vop (Contrast).
    LcdSend( 0x06, LCD_CMD );  // Set Temp coefficent.
    LcdSend( 0x13, LCD_CMD );  // LCD bias mode 1:48.
    LcdSend( 0x20, LCD_CMD );  // LCD Standard Commands, Horizontal addressing mode.
    LcdSend( 0x0C, LCD_CMD );  // LCD in normal mode.

    if (FirstInit == TRUE)
      {
      LoWaterMark = LCD_CACHE_SIZE;
       HiWaterMark = 0x00;
      LcdClear();
      FirstInit = FALSE;
      }
   else
      {
      LoWaterMark = 0;
       HiWaterMark = LCD_CACHE_SIZE;
      }
    LcdUpdate();
}

void LcdContrast ( byte contrast )
{
    /* LCD Extended Commands. */
    LcdSend( 0x21, LCD_CMD );

    /* Set LCD contrast level. */
    LcdSend( 0x80 | contrast, LCD_CMD );

    /* LCD Standard Commands, horizontal addressing mode. */
    LcdSend( 0x20, LCD_CMD );
}

Укажите что надо куда вставить?

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 22:47:38 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
LcdSend( 0x21, LCD_CMD ); // LCD Extended Commands.
LcdSend( 0xC8, LCD_CMD ); // Set LCD Vop (Contrast).
LcdSend( 0x06, LCD_CMD ); // Set Temp coefficent.
LcdSend( 0x13, LCD_CMD ); // LCD bias mode 1:48.

LcdSend( 0x7F, LCD_CMD); // это для варианта 1

LcdSend( 0x45, LCD_CMD); // это вариант 2 (втавь шото одно)

LcdSend( 0x20, LCD_CMD ); // LCD Standard Commands, Horizontal addressing mode.
LcdSend( 0x0C, LCD_CMD ); // LCD in normal mode.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 22:59:31 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Бесконечно благодарен. :)

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 23:04:23 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Пн мар 09, 2009 02:14:34
Сообщений: 30
Рейтинг сообщения: 0
VenomXP писал(а):
Бесконечно благодарен. :)

Ты проверил на своем LCD?
Работает?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 13, 2009 23:25:02 
Грызет канифоль
Аватар пользователя

Зарегистрирован: Пн дек 24, 2007 07:09:09
Сообщений: 293
Рейтинг сообщения: 0
Да, вроде что то есть, пока толком не пойму, но все четко и нигде сверху не пропадает ниче, тестить завтра дальше буду.

_________________
Даташит - библия моя...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 15, 2009 08:49:44 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Вт сен 02, 2008 18:17:29
Сообщений: 39
Рейтинг сообщения: 0
Evgen88 писал(а):

и самое вкусное :)
#b 0_1_y_y_y_y_y_y
добавилось yyyyyy - смещение содержимого экрана по вертикали вверх в точках
При помощи этого смещения лечится обрезание :) верхней строки
Есть 2 варианта:
1 сдвигаем картинку на 5 пикселей вверх, при этом прячется нулевой банк а снизу появляется 6 (недостаток - придется за начало экрана принимать не нулевой адрес а адрес первого банка)
2 сдвигаем картинку вверх на максимально возможное число 63, при этом происходит цикличнй сдвиг через всю память и первая строчка (нулевой банк) оказывается в начале экрана , целая нерезанная (недостаток - по ходу оказалось что первая строчка на 1 пиксел недотягивается до своего места а значит сверху (над нулевым банком) остается полоска в 1 пиксел и соответственно внизу 6 строчка (5 банк) обрезается снизу на 1 пиксел)

Такие извращения с командами не объясняют почему новые дисплеи адекватно работают в старых телефонах. Всетаки должна быть правильная последовательность инициализации дисплея для коректной работы при любых вариантах контроллеров LCD.
Продолжаем искать!

З.Ы. Интересная возможность такого смещения - простой способ организовать плавную прокрутку, например для удобного чтения текста.

З.З.Ы. Эх! найти бы способ как ограничить координаты по Х до 84 для автоматической адресации - былобы ваще хорошо!


Evgen88, большое спасибо, за проделанную работу.
Все отлично работает, я использовал 1-й вариант.
За основу взял вот этот драйвер, исправив в нем процедуру инициализации и сброса кеша на ЖКИ.

В старых телефонах эти дисплеи работают, скорее всего, из-за того, что, во-первых, эта дополнительная строчка инициализации есть, но старыми дисплеями просто игнорируется. А во-вторых, заполнение памяти, видимо, организовано по-строчно, по 84 байта, а не передачей одного массива.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 15, 2009 20:27:34 
Мучитель микросхем
Аватар пользователя

Зарегистрирован: Чт ноя 23, 2006 22:47:35
Сообщений: 487
Рейтинг сообщения: 0
Bird55 писал(а):
В старых телефонах эти дисплеи работают, скорее всего, из-за того, что, во-первых, эта дополнительная строчка инициализации есть, но старыми дисплеями просто игнорируется.

Врядли. Я пробовал эту команду на своем старом дисплее. Так вот если стоят единицы типа 0_1_1_1_y_y_y_y , то диспей отрубаецо, т.е. изображение на дисплее пропадает вообще. Правда типа этого 0_1_0_0_1_1_1_1 воздействия визуально не оказывают.
Скорее фсего данные действительно передаюцо строками и в начале каждой посылки идут команды set X и set Y.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 282 ]    , , , , 5, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y