Графические lcd на основе контроллера sed1520 в isis и их особенности. моделируем отечественные дисплеи мэлт в протеусе

Графические lcd на основе контроллера sed1520 в isis и их особенности. моделируем отечественные дисплеи мэлт в протеусе

Общее описание

Жидкокристаллический модуль MT–16S2H состоит из БИС контроллера управления и ЖК панели. Контроллер управления КБ1013ВГ6, производства ОАО «АНГСТРЕМ» (www.angstrem.ru), аналогичен HD44780 фирмы HITACHI и KS0066 фирмы SAMSUNG.

Модуль выпускается со светодиодной подсветкой . Внешний вид приведен на рисунке 1. Модуль позволяет отображать 1 строку из 16 символов. Символы отображаются в матрице 5х8 точек. Между символами имеются интервалы шириной в одну отображаемую точку.

Каждому отображаемому на ЖКИ символу соответствует его код в ячейке ОЗУ модуля.

Модуль содержит два вида памяти - кодов отображаемых символов и пользовательского знакогенератора, а также логику для управления ЖК панелью.

Габаритные размеры модуля приведены на рисунке 7.

Внимание! Недопустимо воздействие статического электричества больше 30 вольт.

Модуль позволяет:

  • модуль имеет программно-переключаемые две страницы встроенного знакогенератора (алфавиты: русский, украинский, белорусский, казахский и английский; см. табл. 5 и 6).
  • работать как по 8-ми, так и по 4-х битной шине данных (задается при инициализации);
  • принимать команды с шины данных (перечень команд приведен в таблице 4);
  • записывать данные в ОЗУ с шины данных;
  • читать данные из ОЗУ на шину данных;
  • читать статус состояния на шину данных (см. табл. 4);
  • запоминать до 8-ми изображений символов, задаваемых пользователем;
  • выводить мигающий (или не мигающий) курсор двух типов;
  • управлять контрастностью и подсветкой;

Основные сведения

Модуль управляется по параллельному 4-х или 8-ми битному интерфейсу.

Временные диаграммы приведены на рис. 3 и 4, динамические характеристики приведены в таблице 2.

Примеры обмена по интерфейсу приведены на рис. 5 и 6.

Программное управление осуществляется с помощью системы команд, приведенной в таблице 4.

Перед началом работы модуля необходимо произвести начальную установку.

Встроенный знакогенератор приведен в таблицах 5 и 6.

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

Таблица 1. Динамические характеристики модуля

Название Обозначение U cc =5B U cc =3B Единицы измерения
Мин. Макс. Мин. Макс.
Время цикла чтения/записи t cycE 500 - 1000 - ns
Длительность импульса разрешения чтения/записи PW EH 230 - 450 - ns
Время нарастания и спада t Er , t Ef - 20 - 25 ns
Время предустановки адреса t AS 40 - 60 - ns
Время удержания адреса t AH 10 - 20 - ns
Время выдачи данных t DDR - 120 - 360 ns
Время задержки данных t DHR 5 - 5 - ns
Время предустановки данных t DSW 80 - 195 - ns
Время удержания данных t H 10 - 10 - ns

Управление контрастностью

При напряжении питания модуля 3В контрастность на заводе-изготовителе установлена на максимум. Уменьшение контрастности производится подключением между выводами U o и GND внешнего резистора номиналом до 3 кОм.

При напряжении питания модуля 5В контрастность модуля зависит от напряжения питания ЖК панели (U LCD) и температуры. Управление контрастностью производится внешним резистором (рис. 2). При поставке модуля контрастность настроена на U cc =5B, поэтому при напряжении питания модуля 5В, контакт 3(U o) необходимо объединить с контактом 1(GND). При температурах ниже 0°С регулировка контрастности необходима.


Рис. 2

Характеристики модуля по постоянному току

Таблица 2. Характеристики модуля по постоянному току

Название Обозначение U cc =5B U cc =3B Единицы измерения
Мин. Ном. Макс. Мин. Ном. Макс.
Напряжение питания логическое U CC –GND 4,5 5,0 5,5 2,7 3,0 3,3 В
ЖКИ U CC –U o 4,8 5,0 5,2 - - - В
Ток потребления I CC - 0,8 1,0 - 0,8 1,0 мА
Входное напряжение высокого уровня при I IH =0,1мА U IH 2,2 - U CC 2,2 - U CC В
Входное напряжение низкого уровня при I IL =0,1мА U IL –0,3 - 0,6 -0,3 - 0,4 В
Выходное напряжение высокого уровня при I OH =0,2мА U OH 2,4 - - 2,0 - - В
Выходное напряжение низкого уровня при I OL =1,2мА U OL - - 0,4 - - 0,4 В
Ток подсветки при напряжении питания подсветки =U cc (для янтарной и желто-зеленой подсветки) I LED - - 120 - - 80 мА

Временные диаграммы


Рис. 3. Диаграмма чтения


Рис. 4. Диаграмма записи


Рис. 5

Примечание. В каждом цикле обмена необходимо передавать (читать или писать) все 8 бит - два раза по 4 бита. Передача старших 4-х бит без последующей передачи младших 4-х бит не допускается.


Рис. 6

Начальная установка модуля

Модуль войдет в нормальный режим работы только после подачи на него следующих команд:

Примечание. Назначение битов указано в таблице 4. После этих действий модуль переходит в рабочее состояние с установленными параметрами.

Модуль содержит ОЗУ размером 80 байтов по адресам 0h–27h и 40h–67h для хранения данных (DDRAM), выводимых на ЖКИ. Адреса отображаемых на ЖКИ символов распределены следующим образом:

Символы, программируемые пользователем

Модуль содержит память для хранения изображений восьми символов, программируемых пользователем (CGRAM). Коды этих восьми символов показаны в табл. 5. Адреса строк изображений этих символов не зависят от адресов выводимых символов (расположены в отдельном адресном пространстве) и занимают адреса от 0h до 3Fh. Каждый символ занимает 8 байтов (0h–7h, 8h–Fh, 10h–17h, ..., 30h–37h, 38h–3Fh). Нумерация байтов идет в порядке отображения на модуле сверху вниз (первый байт самый верхний, восьмой байт самый нижний). Последняя, восьмая строка используется также для отображения курсора (если выбран курсор в виде подчеркивания). В каждом байте используются только 5 младших битов (4, 3, 2, 1, 0), старшие 3 бита (7, 6, 5) могут быть любые, на отображение они не влияют. Бит 4 соответствует левому столбцу матрицы символа, бит 0 - правому столбцу символа. Пример см. в таблице 3.

Таблица 3

* - значение не влияет на отображение

Описание команд модуля

Команда A0 R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 Описание Время выполнения
Clear Display 0 0 0 0 0 0 0 0 0 1 Очищает модуль и помещает курсор в самую левую позицию 1,5 мс
Return Home 0 0 0 0 0 0 0 0 1 X Перемещает курсор в левую позицию 40 мкс
Entry Mode Set 0 0 0 0 0 0 0 1 ID SH Установка направления сдвига курсора (ID=0/1-влево/вправо) и разрешение сдвига дисплея (SH=1) при записи в DDRAM 40 мкс
Display ON/OFF control 0 0 0 0 0 0 1 D C B Включает модуль (D=1) и выбирает тип курсора (C, B), см. примечание 4 40 мкс
Cursor or Display Shift 0 0 0 0 0 1 RL X X Выполняет сдвиг дисплея или курсора (SC=0/1-курсор/дисплей, RL=0/1-влево/вправо) 40 мкс
Function Set 0 0 0 0 1 DL 1 0 P 0 Установка разрядности интерфейса (DL=0/1-4/8 бита) и страницы знакогенератора P 40 мкс
Set CGRAM Address 0 0 0 1 ACG Установка адреса для последующих операций (и установка туда курсора) и выбор области CGRAM 40 мкс
Set DDRAM Address 0 0 1 ADD Установка адреса для последующих операций и выбор области DDRAM 40 мкс
Read BUSY flag and Address 0 1 BS AC Прочитать флаг занятости и содержимое счетчика адреса 0
Write Data to RAM 1 0 WRITE DATA Запись данных в активную область 40 мкс
Read Data from RAM 1 1 READ DATA Чтение данных из активной области 40 мкс

Примечания:

  1. Указанное время выполнения команд является максимальным. Его не обязательно выдерживать при условии чтения флага занятости BS - как только флаг BS=0, так сразу можно писать следующую команду или данные. Если же флаг BS перед выдачей команд не проверяется - необходимо формировать паузу между командами не менее указанного времени для надежной работы модуля.
  2. При чтении бита статуса никакую паузу делать не надо.
  3. Большая Х - любое значение (0 или 1).
  4. Биты C и B в команде «Display ON/OFF control»: C=0, B=0 - курсора нет, ничего не мигает; C=0, B=1 - курсора нет, мигает весь символ в позиции курсора; C=1, B=0 - курсор есть (подчёркивание), ничего не мигает; C=1, B=1 - курсор есть (подчёркивание) и только он и мигает.

Таблица 5. Страница 0 встроенного знакогенератора

4-х битный режим в буквенно-цифровых ЖК индикаторах.

    1. В 4-х битном режиме включения ЖК индикаторов недопустимо изменение состояний сигналов R/W и A0 в течении всего цикла передачи байта, в том числе и при неактивном сигнале E между двумя передачами полубайтов. По любому изменению сигналов R/W и A0 внутренний счётчик полубайтов в ЖК индикаторе сбрасывается в состояние приёма старшего полубайта. Это является отличием наших ЖК индикаторов от импортных аналогов и направлено на повышение надёжности работы ЖК индикатора.

    2. Также, до сих пор у нас в документации не исправлена процедура инициализации 4-х битного режима включения ЖК индикатора. Должно быть так:
    в первых трёх командах подаётся код 0x3 на шину данных и один (вместо нормально двух) импульс E;
    обязательно делается задержка между командами не менее 40мкс без опроса состояния ЖК индикатора;
    четвёртая команда подаётся также одним импульсом E без опроса состояния ЖК индикатора перед командой, но уже с кодом 0x2 на шине данных;
    пятую и все последующие команды можно подавать как обычно, с ожиданием готовности индикатора (если необходимо) или формированием задержки между командами не менее 40мкс.

    3. Все циклы обращения к индикатору должны быть парными (обязательно передавать и старший и младший полубайты). Единственное исключение - первые четыре команды в процедуре инициализации.
    Или перед передачей старшего полубайта использовать возможность сброса внутреннего счётчика полубайтов в ЖК индикаторе из пункта 1. В последнем случае теряется совместимость с импортными ЖК индикаторами.

    4. Младшие 4 бита шины данных можно оставлять неподключенными - в ЖК индикаторе вся шина данных подтянута к Ucc через высокоомные резисторы.

    5. И не надо забывать выбирать правильный тип интерфейса (4 или 8 бит) при смене страницы кодировки знакогенератора.

Сколько реально памяти в ЖК индикаторах?

    Во всех буквенно-цифровых ЖК индикаторах встроено 80 байт внутренней памяти, по адресам 0x00..0x27 и 0x40..0x67. Часть её отображается на индикаторе, но вся память доступна как по записи, так и по чтению. Память сохраняет свое содержимое пока включено питание ЖК индикатора, независимо от того, включен или выключен ЖК индикатор.

    В графических ЖК индикаторах встроенной памяти:
    MT-6116 = 80 байт/строку * 4 строки = 320 байт (отображается 61 байт/строку * 2 строки);
    MT-12232 = 80 байт/строку * 4 строки * 2 кристалла = 640 байт (отображается 61 байт/строку * 4 строки * 2 половины ЖКИ);
    MT-12864 = 64 байта/строку * 8 строк * 2 кристалла = 1024 байт (отображается 64 байта/строку * 8 строк * 2 половины ЖКИ).
    Размер памяти от буквенного суффикса ЖК индикатора не зависит.

    В сегментных индикаторах с параллельным интерфейсом (MT-10T7, MT-10T8, MT-10T9) чтение встроенной памяти невозможно, размер памяти 10 байт + триггер блокировки.

Работают ли ЖК индикаторы с высокоскоростными контроллёрами? Какова максимальная скорость заполнения?

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

    Максимальная скорость записи в индикаторы:
    MT-10S1, MT-16S2, MT-20S2, MT-24S2, MT-20S4 - 25-30 тысяч символов/сек;
    MT-6116, MT-12232 - 0.5-1 млн. байт/сек (4-8 млн. точек/сек);
    MT-12864 - 100-130 тысяч байт/сек (1 млн. точек/сек).
    Большие (из указанных) скорости достигаются при опросе готовности индикаторов.

Как правильно включать подсветку ЖК индикатора?

    Все ЖК индикаторы рассчитаны на питание подсветки от источника питания самого индикатора. Т.е. плюс подсветки (вывод A) на вывод Ucc, минус подсветки (вывод K)- на вывод GND. Это верно как для 5-ти вольтовых индикаторов, так и для 3-х вольтовых.

Можно ли подключать 5-ти вольтовый ЖК индикатор к 3-х вольтовому контроллёру?

    В принципе, можно. Но надо учитывать разность в уровнях логических сигналов: для некоторых индикаторов уровень логической 1 может оказаться выше, чем способен сформировать управляющий контроллёр. Например, это касается вывода RES индикатора MT-12864, уровень лог.1 которого может быть не менее 3.75В (0.7*5.5В), хотя остальные выводы имеют уровень лог.1 всего 2.4В.

    Также, проблемы будут при использовании операции чтения из ЖК индикатора. В цикле чтения ЖК индикатор честно выдаст на выводы напряжение лог.1 вплоть до 5В и ток потечёт через защитные диоды в управляющем контроллёре, что может повлечь выход из строя как ЖК индикатора, так и управляющего контроллёра. Необходимо предусматривать схемы согласования уровней, ограничения тока по выводам и тому подобные меры.

Как правильно подавать команды в буквенно-цифровые и графические ЖК индикаторы?

    Есть несколько вариантов, выберите наиболее подходящий Вам или придумайте новый, не противоречащий документации на ЖК индикатор.
    1. Перед (или после) каждого цикла обращения выдерживать паузу не менее указанной в документации. Это самый простой, но и самый неоптимальный по затратам времени управляющего контроллёра способ.
    2. После каждого цикла обращений к ЖК индикатору опрашивать бит занятости и ждать пока индикатор не выполнит посланную команду. Это способ лучше первого, но всё ещё весьма неоптимальный.
    3. Ждать готовности ЖК индикатора перед каждым циклом обращения. Это, вероятно, самый удобный вариант управления ЖК индикатором из основной программы (не из прерываний). Хотя он и не обеспечивает минимальных затрат времени управляющим контроллёром на работу с ЖК индикатором, но освобождает максимум времени для других действий, кроме работы с индикатором.
    4. Можно так написать программу, выдающую команды в ЖК индикатор, чтобы между любыми двумя последовательными циклами обращений проходило не менее указанного в документации времени. Этот способ оптимален по затратам времени управляющего контроллёра (не делается ничего лишнего) и скорости вывода информации в ЖК индикатор, но весьма сложен в написании и отладке.
    5. Если циклы обращений к ЖК индикатору формируются в прерывании, то можно настроить частоту прерываний так, чтобы между вызовами проходило не менее указанного в документации на индикатор времени паузы. Если в системе допустимо иметь такие низкую частоту прерываний и скорость вывода информации в ЖК индикатор, то этот способ, наверно, лучший.
    6. Если нужна высокая скорость прерываний или вывода информации на ЖК индикатор, можно в прерывании опросить готовность индикатора и, если не готов, выйти из прерывания не формируя цикла обращения к индикатору.

    Разумеется, это не все возможные варианты, но их вполне достаточно в большинстве случаев.

Как правильно проверить готовность ЖК индикатора к обмену данными?

    В наиболее общем случае надо выполнить цикл чтения информации из ЖК индикатора, установив управляющие сигналы для получения байта статуса и проверить бит BUSY в считанном байте. Для буквенно-цифровых ЖК индикаторов с 4-х битном режимом включения надо не забывать получать оба полубайта, независимо готов или нет индикатор. Для управляющих контроллёров, в которых возможно выбирать режим работы шины данных (на ввод или на вывод) надо также не забывать переключать шину данных на ввод до формирования импульса E (строба чтения).

    Для буквенно-цифровых и графических ЖК индикаторов возможен и более быстрый способ проверки флага BUSY: начать цикл чтения, но проверять бит BUSY сразу на шине данных, не сбрасывая строб E, только лишь выдержав время задержки выдачи данных индикатором. При этом можно сохранять строб E активным до обнаружения сброса флага BUSY и только потом завершить цикл чтения байта статуса. Но завершить правильно необходимо в любом случае - например, для буквенно-цифровых индикаторов с 4-х битным режимом включения обязательно надо получить и младший полубайт байта статуса, хотя бит BUSY находится в старшем полубайте и, казалось бы, читать ещё и младший лишнее. Нет, не лишнее!

Могут ли ЖК индикаторы работать при отрицательных температурах?

    Мы выпускаем несколько разновидностей ЖК индикаторов, многие из которых предназначены для эксплуатации, в том числе, и при отрицательных температурах. Серийно производятся ЖК индикаторы с рабочей температурой до -30°C (температура хранения при этом до -40°C). Максимально допустимая рабочая температура от +50°C до +70°C (температура хранения от +60°C до +80°C). Но при применении ЖК индикаторов с расширенным температурным диапазоном надо понимать, что они, во-первых, дороже; во-вторых, при отрицательной температуре существенно возрастает время смены информации на стекле ЖК индикатора (от 0.2с при +20°C до 7с при -20°C и 15с при -30°C). Это время от записи новой информации в индикатор до окончания (на глаз) переходных процессов в стекле ЖК индикатора. Если информация в ОЗУ индикатора при записи не изменяется, то и никаких переходных процессов не будет. Т.е. время на переходные процессы нужно только при смене выводимой информации. К времени записи информации во внутреннее ОЗУ индикатора это время отношения не имеет.
    Если выводить меняющуюся информацию в индикатор чаще, чем указанное время, то ничего не испортится, но на индикаторе видно будет нечто среднее между старой и новой информацией.

Можно ли сменить тип интерфейса управления ЖК индикатором?

    Да, для ЖК индикаторов MT-6116, MT-6116B, MT-12232B можно сменить тип интерфейса управления с 68000 на 8080. При этом сигнал R/W станет сигналом /WR, а сигнал E - сигналом /RD. Активным может быть всегда только один из них. Выбор типа интерфейса 68000 осуществляется подачей на вывод RES перепада с лог.1 на лог.0 и оставлением лог.0 на всё время работы ЖК индикатора.
    Подробнее смотрите документацию на кристалл КБ145ВГ4 (Ангстрем) или SED1520DOA. Или связывайтесь с нами.

    Для ЖК индикаторов MT-12232A и MT-12232D смена типа интерфейса также физически возможна, но из-за наличия в схеме индикатора дешифратора обращений к двум кристаллам приведёт к неработоспособности ЖК индикатора.

Особенности ЖК индикаторов MT-6116, MT-12232.

    Все ЖК индикаторы MT-6116 и MT-12232 основаны на одном и том же кристалле и имеют некоторые особенности, которые надо учитывать при проектировании изделий на данных индикаторах:
    1. Хотя в индикаторе присутствует цепь начального сброса по включению питания, часто её оказывается недостаточно и для правильной работы индикатора надо подавать сигнал сброса снаружи. Эти индикаторы сбрасываются любым перепадом на выводе RES (и 0->1, и 1->0), причём этот же вывод выбирает тип интерфейса управления. Поэтому желательно подавать внешний сигнал сброса ЖКИ на вывод RES - удерживая RES=лог.0 не менее 10 мкс после подачи напряжения питания на ЖКИ и потом подавая перепад лог.0 -> лог.1 с длительностью фронта не более 10 мкс. До момента подачи перепада 0->1 ЖК индикатор может выдавать на шину данных случайную информацию (зависит от управляющих сигналов R/W, A0, E) и надо обеспечить режим ввода (или состояние Z) по шине данных в управляющем контроллёре на это время.
    Если же импульс сброса будет формироваться и в процессе работы, не только при включении питания, то на всё время лог.0 на выводе RES также надо переводить шину данных управляющего контроллёра в режим ввода (или состояние Z) для исключения конфликта на шине.
    2. Для ускорения обновления индикатора предусмотрен специальный режим чтения-модификация-запись, при котором адрес столбца увеличивается только после записи (флаг RMW). После установки этого режима можно прочитать байт из индикатора, при необходимости изменить его и записать обратно в индикатор, не добавляя команд установки адреса столбца. Без этого режима последовательность была бы следующей: установить адрес столбца, прочитать данные, снова установить тот же адрес столбца, записать новые данные. Здесь на целых две операции больше (если выполнять модификацию нескольких последовательных байтов).
    3. С другой стороны, с включенным режимом RMW ЖК индикатор не обрабатывает многие команды (например, точно не работает команда установки страницы). Поэтому надо не забывать сбрасывать этот режим, когда он не нужен.
    И в процедуре инициализации в нашей документации этот режим не сбрасывается и может оказаться, что после включения питания режим окажется установленным. В этом случае ЖК индикатор будет работать неправильно. Лучше добавить в процедуру инициализации команду сброса режима RMW.
    4. При чтении информации из внутренней памяти индикатора нужно делать "пустой" цикл чтения - после команд установки адреса столбца первый цикл чтения не выдаст полезной информации, реальные данные будут выданы только начиная со второго цикла чтения.

      Индикаторы обеспечивают указанные в документации выходные напряжения при следующих максимальных выходных токах:
      1. Все буквенно-цифровые (MT-xxSx): Ioh=0.4мА, Iol=1.2мА.
      2. MT-6116x: Ioh=0.4мА, Iol=0.4мА.
      3. MT-12232x: Ioh=0.4мА, Iol=0.4мА.
      4. MT-12864x: Ioh=0.2мА, Iol=1.6мА.

    ЖК индикатор ничего не показывает, что делать?

      Чаще всего, информация на ЖК индикаторе не появляется по причине неверно выставленной контрастности - реально индикатор работает, изображение есть, но его не видно. Проверить это можно чтением записанной ранее информации из ЖК индикатора (неприменимо для сегментных индикаторов).

      Если есть подозрение на неисправность ЖК индикатора, рекомендуем:
      * проверить наличие питания ЖКИ,
      * уровни управляющих сигналов,
      * настройку контрастности,
      * отсутствие помех на управляющих выводах и питании ЖКИ,
      * форму управляющих сигналов (особенно при длинном кабеле подключения индикатора),
      * соблюдение временных параметров при управлении индикатором,
      * правильность процедуры начальной инициализации индикатора,
      * включить другой аналогичный ЖК индикатор,
      * обратиться к нам.

    А нет ли примера программы для вывода на ЖК индикатор?

      Есть, вот архив с примерами программ для вывода на наши ЖК индикаторы. Программы написаны на подобии языка C и предназначены для пояснения алгоритмов работы с ЖКИ. Они подробно прокомментированы, но компилиться не будут - нужно доопределить функцию задержки времени и имена сигналов управления ЖКИ.

    Не нашли ответа на свой вопрос? Свяжитесь с нами.

      На этом сайте работает форум , где мы отвечаем на любые вопросы по нашим ЖКИ. Рекомендуем, прежде чем писать письмо с вопросами, внимательно с ним ознакомиться.

      По вопросам программирования наших ЖКИ: Петухов Дмитрий Владимирович "[email protected]".
      По техническим вопросам: Козлов Сергей Владимирович "[email protected]".
      По вопросам закупок: Отдел продаж "[email protected]".

В настоящее время наблюдается значительный подъем производства радиоэлектронной аппаратуры в России. На рынке появилось разнообразное оборудование для автоматизированной сборки плат как отечественного, так и зарубежного производства. Технология же производства жидкокристаллических индикаторов (ЖКИ) на сегодняшний день в России трудно осуществима по двум причинам. Во-первых, необходимо устанавливать управляющие кристаллы на плату по технологии кристалл на плату (COB). Во-вторых, отсутствуют доступные кристаллы российского производства. Компания МЭЛТ уже более двух лет занимается решением этих задач. Разработаны и серийно производятся управляющие кристаллы для различных вариантов жидкокристаллических модулей. Запущена собственная линия сборки методом COB. Качество производства модулей обеспечивается современным технологическим оборудованием и применением новейших разработок компании МЭЛТ.

Конструкция ЖКИ

Компания МЭЛТ производит ЖКИ по стандартной конструкции, завоевавшей популярность во всем мире: жесткое основание модуля в виде печатной платы с установленной на ней М/С контроллера по технологии COB. Металлическая рамка фиксирует ЖК-панель и прижимает токопроводящую резину к плате и стеклу. Одним из несомненных преимуществ данной конструкции является возможность восстанавливать работоспособность модулей путем несложной замены платы или ЖК-панели.

Технология Chip On Board (СОВ)

Известны два варианта установки микросхем на плату. Первый - кристалл упаковывается в пластмассовый корпус с гибкими или жесткими выводами, которые припаиваются к плате. Преимущества этого способа: ремонтопригодность, простота установки, а существенный недостаток - высокая цена. Стоимость корпуса кристалла сравнима со стоимостью платы, на которую он впоследствии будет устанавливаться, поэтому есть смысл устанавливать кристалл непосредственно на плату. В этом случае при выходе из строя кристалла плату попросту заменяют новой. Сборка индикаторов по технологии Chip On Board гарантирует получение достаточно конкурентоспособной продукции, полностью соответствующей международным требованиям качества.

Температурный диапазон

Температурный диапазон ЖКИ определяют физико-химические свойства ЖК-панели. При понижении температуры увеличивается время переключения ЖК-панели, что делает трудноосуществимой динамическую индикацию. Дальнейшее понижение температуры приводит к разрушению ЖК-панели. Таким образом, если выключено питание прибора, где установлен ЖКИ с подогревом, то при низкой температуре работоспособность модуля утрачена. Для решения этой проблемы компания МЭЛТ выпускает ЖКИ двух температурных диапазонов: обычного (0...50 °С) и расширенного (–30...70 °С).

Тип ЖК-панели ЖКИ

Компания МЭЛТ выпускает ЖКИ с ЖК-панелями двух видов: Reflective - работает на отражение светового потока и Transflective - на просвет (рис. 1). Стекла типа Transflective бывают двух типов: positive и negative. Рositive представляет собой прозрачный фон, на котором при подаче соответствующих сигналов становятся непрозрачными определенные участки. Negative представляет собой непрозрачный фон, на котором становятся прозрачными соответствующие участки.

ЖКИ с ЖК-панелями Transflective дороже, поскольку в них применяется дополнительный элемент подсветки. Их рекомендуется использовать в конструкциях, которые эксплуатируются при любых условиях освещения.

Тип подсветки

В ЖКИ, выпускаемых компанией МЭЛТ, применяют светодиодную (LED) и люминесцентную (EL) подсветки. LED-подсветка отличается долговечностью (20 000–100 000 часов), не требует дополнительного источника питания, однако у нее достаточно высокий ток потребления (от 10 до 100 мА) и большие габаритные размеры (высота индикатора увеличивается в среднем на 3–5 мм). EL-подсветка отличается весьма низким током потребления при повышенной светоотдаче и малыми габаритами, но этот тип подсветки требует дополнительного источника питания (100 В), а срок службы составляет 2000–5000 часов. В настоящее время ЖКИ с EL-подсветкой находятся в стадии подготовки к производству.

Напряжение питания ЖКИ

Один из наиболее привлекательных моментов для разработчика - широкий диапазон питающих напряжений. Управляющая микросхема ЖКИ требует напряжения питания от 3 до 6 В. Однако для получения нормальной контрастности ЖК-панели на нее требуется подавать напряжение от 3 до 16 В в зависимости от температуры окружающей среды и типа самого стекла. Таким образом, если требуется ЖКИ с напряжением питания 3 В, то достаточно взять серийный модуль и в дополнение к нему собрать микромощный преобразователь напряжения, выход которого необходимо соединить со входом управления контрастностью ЖКИ (рис. 2). От выходного напряжения преобразователя в этом случае зависит контрастность ЖКИ. Если напряжение питания индикатора и ЖК-панели равны, то контрастность можно регулировать при помощи подстроечного резистора, включенного между входом V0 и GND ЖКИ. Контрастность ЖКИ зависит также и от рабочей температуры, поэтому для изделия, работающего в широком диапазоне температур, выходное напряжение преобразователя следует сделать термозависимым. Обратите внимание, что на ЖКИ любого типа недопустимо воздействие статического электричества выше 30 В.

Жидкокристаллический модуль МТ-10Т7-7

Жидкокристаллический модуль МТ-10Т7-7 является самым простым из выпускаемых компанией МЭЛТ ЖКИ. Этот модуль стал наиболее популярным при разработке простых конструкций в связи с невысокой ценой и очень удобным интерфейсом. Он собран на односторонней печатной плате с одним управляющим кристаллом. Все элементы модуля расположены между платой и стеклом, что позволило обеспечить наивысшее качество и надежность (рис. 3). Модуль может отображать десять знакомест, каждое знакоместо представляет собой восемь сегментов, расположенных в виде восьмерки с точкой (рис. 4). Любой сегмент любого знакоместа можно включать и выключать независимо от других сегментов, что позволяет обеспечить достаточно информативную индикацию в недорогих конструкциях. Структурная схема модуля МТ-10Т7-7 приведена на рис. 5. Память модуля состоит из десяти регистров, соответствующих каждому из десяти знакомест. Каждый регистр поделен на две тетрады, старшую (H) и младшую (L). Старшая тетрада соответствует сегментам h, b, c и f, младшая - g, e, d и a (рис. 4). Запись высокого уровня вызывает высвечивание соответствующего сегмента, запись низкого уровня - его погасание.

Описание интерфейса

Запись данных в любой из регистров индикатора производится следующим образом. На шине данных (DB0-DB3) выставляется адрес регистра. Сигнал адрес/данные (A0) необходимо установить в значение 0. Адрес в регистре DCA защелкнется при условии WR1 & ^WR2, то есть одновременного сочетания высокого уровня на выводе WR1 и низкого уровня на выводе WR2. Такое решение позволяет более гибко осуществлять функцию CS (выбор кристалла), когда на шине данных находится несколько различных устройств. Если в этом нет необходимости, то вывод WR2 можно замкнуть на GND, а сигнал CS подавать на вывод WR1. После того как адрес защелкнут в регистре DCA, следует подать данные. Для этого вывод A0 надо перевести в высокое состояние, на шине данных установить значение младшей тетрады данных и подать сигнал CS (см. выше). Далее на шину данных подать значение старшей тетрады данных и вновь подать сигнал CS. После записи второй тетрады содержимое адреса инкрементируется, и можно записывать данные в последующие регистры без предварительной записи адреса. По адресу 0Fh расположен триггер блокировки шины. Запись в него DB0 = «L» вызовет блокировку записи в модуль адресов и данных. Разблокировка шины производится записью DB0 = «H» по адресу 0Fh. Первой командой после подачи питания должна быть команда разблокировки шины, так как состояние регистров индикатора может быть любым.

Назначения выводов модуля приведены в табл. 1. Соответствие адресов регистров данных и номеров знакомест модуля - в табл. 2. Динамические характеристики модуля показаны на рис. 6 и в табл. 3. Электрические параметры по постоянному току приведены в табл. 4. Габаритные размеры модуля МТ-10Т7-7 указаны на рис. 7. Временные диаграммы записи данных в индикатор приведены на рис. 8. В настоящее время ЖКИ МТ-10Т7-7 производится серийно в стандартном температурном диапазоне со стеклом Reflective. Другие варианты исполнения ЖКИ производятся под заказ. Зарубежных аналогов у ЖКИ МТ-10Т7-7 нет.

Жидкокристаллические модули со встроенным знакогенератором

Общее описание

В настоящее время компания МЭЛТ серийно производит три типа жидкокристаллических модулей со встроенным знакогенератором: MT-10S1-2, MT-16S2-2Н, MT-16S2-2D (рис. 9–11). В процессе подготовки к производству находится ЖКИ МТ-16S2Q, который отличается от MT-16S2-2Н большим размером отображаемых символов. Контроллер управления ЖК-панелью аналогичен HD44780 фирмы Hitachi или KS0066 фирмы Samsung. Модули выпускаются со светодиодной подсветкой и без нее.

Модули МТ-16S2-2H и MT-16S2-2D позволяют отображать две строки по шестнадцать символов в каждой. Символы отображаются в матрице 5–8 точек и курсор. Интервалы между символами шириной в одну отображаемую точку. Эти модули являются полными аналогами ЖКИ производства POWERTIP, MICROTIPS, BOLYMIN и т. п.

MT-10S1-2 позволяет отображать 10 символов в одной строке при матрице символа 5–8 точек плюс курсор. Каждому отображаемому символу соответствует его код в ячейке памяти модуля. Модули содержат два вида памяти: кодов отображаемых символов и пользовательского знакогенератора, а также логику для управления ЖК-панелью. Габаритные размеры модулей (рис. 12–14).

Назначение выводов МТ-10S1-2, МТ-16S2-2Н и МТ-16S2-2D приведено в табл. 7.

ЖКИ со встроенным знакогенератором позволяют:

  • выводить на ЖК-панель изображения символов из встроенного знакогенератора;
  • запоминать до восьми изображений символов, задаваемых пользователем, а также выводить их;
  • выводить мигающий и немигающий курсор двух типов;
  • работать как по 8-, так и по 4-битной шине данных.

Временные диаграммы чтения и записи изображены на рис. 15. Динамические характеристики приведены в табл. 5. Характеристики модулей по постоянному току приведены в табл. 6.

Модули управляются по 4- или 8-битному интерфейсу. Разрядность интерфейса задается пользователем при помощи соответствующих команд (рис. 16). Указанное время выполнения команд является максимальным. Его нет необходимости выдерживать при условии чтения флага BS. Как только флаг BS равен 0, можно писать следующую команду или данные. Диаграмма обмена по 4-битному интерфейсу изображена на рис. 17, а по 8-битному - на рис. 18. При работе по 4-битному интерфейсу в каждом цикле необходимо передавать (читать или писать) все восемь бит. Передача старших четырех бит без последующей передачи младших четырех бит не допускается. Рекомендуемый алгоритм начальной установки модулей после подачи питания приведен на рис. 19.


Продолжение следует

20 ноября 2016 в 12:04

Подключаем «отечественный» LCD 16x2 MT-16S2S по SPI

  • Компьютерное железо ,
  • Электроника для начинающих

Тенденция импортозамещения подтолкнула протестировать символьный LCD индикатор от фирмы МЭЛТ. Мы взяли МТ-16S2S на ST7070. В некотором роде это аналог широко известного WH-1602 на 44780. А еще он поддерживает SPI-режим.

МЭЛТ кроме того собирает дисплеи и на отечественном контроллере КБ1013ВГ6 от Интеграла. У него есть отличие в в работе в 4-битном режиме от ставшего уже стандартом 44780.

На сайте производителя есть пример кода для работы в разных режимах. Но написан он на ассемблере и под абстрактную платформу в вакууме. Переделывать его на STM – все равно, что писать заново. Опыт использования готовых библиотек даже для распространенного 44780 я тоже не могу назвать положительным. Их приходится долго править под нужную платформу и модель контроллера. И в большинстве из них используется функция задержки под AVR, которой «почему-то» не предусмотрено для STM. И даже то, что запустилось, работает из рук вон плохо, то выводя невесть что, то зависая. Поэтому было решено написать свою собственную библиотеку.

Кроме того у МТ-16S2S есть еще одна особенность: SPI-интерфейс, который позволяет сократить число используеых ножек контроллера до 4. Так что вывод будет организован именно через SPI.


Система команд описана довольно подробно. Вообще, во всей теперешней ситуации, когда отечественной электроники в быту почти нет, очень радует, хотя и непривычно, читать описание микросхем и прочих изделий на русском языке (не переведенном с английского или китайского вроде «Бальзам тигр белый капли смерть строительный белок»). Правда, иногда попадаются такие перлы, что думаешь «лучше бы на английском». Но тут с этим все в порядке.


Подключение почти стандартное. VCC, E, D0-D4 на плюс питания, A0, GND, R/W и PSB на землю; К контроллеру подключаются: D5– к CS, D6– к SCK, D7–к MOSI, XRES– к любому GPIO. Я подключил к MISO, т.к. все равно управляю им программно. На сайте в описании, кстати, приведена неправильная схема. Указано, что D5 подтягивается к плюсу питания, но это CS. На форуме написали, что знают об этом, но пока ничего не исправлено.

Выводы для подсветки можно оставить свободными, но лучше, конечно, работать с подсветкой, а для этого подключить анод через резистор 10-30 Ом к питанию, а катод – к земле. Вывод для управления контрастностью, как ни странно, на 5-вольтовом индикаторе ничем не управляет. Его я просто оставил висеть в воздухе.

Еще одной интересной особенностью является наличие двух страниц знакогенератора. Благодаря этому можно вывести на дисплей огромное количество неведомой фигни самых разнообразных символов.



Но вот если вы выбрали «отечественный» дисплей для работы с кириллицей, вас ждет сюрприз. Русские буквы, не имеющие аналогов в латинице, расположены на первой странице. А цифры и латиница – на нулевой. И чтобы вывести их вместе, придется переключаться между страницами. Так что никакого вывода строки целиком не получится.

В этом отношении дисплей от Winstar по-удобнее. Пусть у него не так много символов, зато они на одной странице.


А вот 90% знакогенератора MT-16S2S русскому человеку не понадобятся. Еще одна неприятность для программиста – обозначение в даташите координат символов в таблице единичками и ноликами по полубайту. Еще веселее обозначать их H и L. То есть номер символа будет, например, 1111+1101 или HHHH+HHLH.

Почему бы не использовать шестнадцатеричный код 0xFD, удобный для разработчика? И ведь на некоторые дисплеи такие таблицы есть. Неужели так трудно сделать удобную координатную сетку?

Теперь о библиотеке. К функциональности были следущие требования:

1. Вывод символа из таблицы в произвольную позицию;
2. Вывод строки текста в произвольнцю позицию;
3. Запись в память собственного символа;
4. Очистка дисплея, включение и выключение курсора, его сдвиг, сдвиг области отображения и прочие настройки индикатора.

Все это удалось реализовать довольно быстро. Но все же напрягает необходимость постоянного переключения между страницами знакогенератора при использовании кириллицы. Саму библиотеку не выкладываю, потому что она сделана «для себя». Со всеми недочетами и костылями и под конкретный чип: с зашитыми портами и частотами (так как целью не было создание коммерческой версии с карточными играми и женскими особями, настройки портов, SPI и задержек прописаны прямо в самих функциях, в зависимости от того, к какому контроллеру и к какому SPI подключается дисплей). В дальнейшем планируется ее доработка.

Теперь об опыте эксплуатации дисплея. Он был испытан и стабильно работает в диапазоне температур от -20°С до +60°С. Правда, при -20°С начинает подтормаживать при смене изображения. Но тут уж ничего не поделаешь. Только переходить на другой тип индикатора.

В целом - впечатление положительное. Несколько мешают мелкие недочеты в описании на дисплей и отсутствие нормальных примеров кода. В остальном - неплохо. Даже цена не выше чем у Winstar-овского аналога WH-1602.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows