LCD 240x64 с контроллером T6963C

Подключение разных дисплейчиков
Ответить
Аватара пользователя
Fahivec
писатель, читатель
писатель, читатель
Сообщения: 121
Зарегистрирован: 30 дек 2014, 02:17
Откуда: Из-за речки

LCD 240x64 с контроллером T6963C

Сообщение Fahivec »

Как я в другой ветке упоминал, двум дисплеям достался второй шанс. :D
Фотки
Лицевая сторона
Лицевая сторона
Обратная сторона
Обратная сторона
Тестовый вывод
Тестовый вывод
Какое-то время я мучился получить хоть такое изображение, пока не наткнулся в очередном скачаном описании (DS) типовую схему подключения, из которой стало ясно, что на вывод Vo (Contrast Adjustment Voltage) нужно подавать отрицательное напряжение где-то -6.7 вольта (установил экспериментально!)
К тому времени кое-какие процедуры (инициализация, опрос состояния и запись в дисплей) уже написал и, естестевенно, перепробовал всяческие перестановки команд (управляющих сигналов) и добавок NOP-ов, а экран все же оставался пустым.
Но с подачей отрицательного напряжения для самой матрицы дело сдвинулось с мертвой точки!

Первые процедуры писались мной под обыкновенный "ногодрыг" и выполнялись нормально.
Сегодня же я решил попробовать задействовать интерфейс внешней памяти МК для связи с дисплеем.
Во-первых, это дало бы мне возможность использовать внешнее ОЗУ и сохранить оставшиеся порты для других нужд.
Во-вторых, я расчитывал таким образом сократить код и время доступа к дисплею.
:cry2: Но увы, этот вариант пока не желает нормально работать. Боюсь, что интерфейс ОЗУ слишком быстр для дисплея. Надо еще проверить по описаниям все тайминги.
Скажу лишь, что МК тактируется (пока) 4-я мегагерцами, а дисплей - 4.096 Мгц верхний на фото и 3 Мгц нижний.
Пробовал задать т.н. Wait State для внешней ОЗУ, но и это не помогло.

Пишу в надежде, что кому-то мои грабли изыскания пригодяться, поскольку инфы ни на Русском, ни на Немецком (с Английским у меня туго) по этим дисплеям в сети почти нет.
Дисплеи эти стояли в старых пультах охранной и пожарной сигнализации, если кому интересно ;)
Тест пройден! :geek:
Аватара пользователя
Fahivec
писатель, читатель
писатель, читатель
Сообщения: 121
Зарегистрирован: 30 дек 2014, 02:17
Откуда: Из-за речки

Re: LCD 240x64 с контроллером T6963C

Сообщение Fahivec »

Сегодня посвятил некоторое время графикам и таблицам временных характеристик контроллера LCD (T6963C) и интерфейса внешней ОЗУ AT90S8515.
Как я и подозревал мозги экранчика не такие быстрые, как хотелось бы:
- продолжительность строба записи при тактировании МК 4 Мгц еще удовлетворяет требованиям T6963C, чего уже не будет при желаемых 10 Мгц.
- время удержания данных после снятия строба записи должно быть не менее 40 нс, в то время как для AT90S8515 может быть меньше, вплоть до вообще 0 нс.
Жаль. :(

Попутно появились подозрения в необходимости "быстрой" SRAM, если таковую буду использовать. :-?
Опять же, вопрос нужно еще прорабатывать.
Тест пройден! :geek:
Аватара пользователя
Fahivec
писатель, читатель
писатель, читатель
Сообщения: 121
Зарегистрирован: 30 дек 2014, 02:17
Откуда: Из-за речки

Re: LCD 240x64 с контроллером T6963C

Сообщение Fahivec »

Всем привет!
Готовой библиотеки управления вышеупомянутым дисплеем на ассемблере для AVR я так и не нашел, поэтому написал сам с нуля.
Выкладываю здесь первую версию библиотеки низкого (и чуть более) уровня.

Я понимаю, что предлагаю мамонта. Однако ведь хламеры, как я, зачастую их и используют :lol:
Может кому-то и пригодится.

В архиве файлы исходного кода, знакогенератора и краткого пояснительного текста.
Вложения
SG24064_20180130.zip
Библиотека для SG24064a и подобного дисплея
(7.96 КБ) 697 скачиваний
Тест пройден! :geek:
Ответить