Мэлт жки индикаторы. Жидкокристаллические индикаторы производства мэлт

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

Присутствие в названии статьи имени российского производителя электроники может направить мысли в сторону актуальной на сегодняшний день проблемы импортозамещения. О замене иностранных товаров, в том числе – электроники, на продукцию отечественного производителя много говорят и пишут. Однако на деле все не так просто.

Российская электроника может составить конкуренцию импортным аналогам лишь в некоторых узких областях. По этой причине каждый успешный отечественный производитель электроники вызывает гордость. Один из них – компания МЭЛТ.

Компания МЭЛТ была основана в 1995 году. Изначально основным направлением ее деятельности была разработка и производство плат АОН (автоматического определения номера). Уже тогда базовым принципом работы компании стала опора на собственные силы – собственную разработку и производство. Благодаря опытной команде разработчиков и закупке современного оборудования был организован полный цикл создания электронных устройств: проектирование, сборка, контроль качества, тестирование и продажа. Эти традиции были сохранены и приумножены. На данный момент МЭЛТ обладает возможностью разрабатывать и производить печатные платы, выполнять сборку электронных блоков с помощью современных технологий монтажа (SMT, COB, TAB).

Стабильное качество продукции МЭЛТ хорошо известно не только российским потребителям, но и их коллегам из стран СНГ, Европы и Ближнего Востока. Чтобы не быть голословными, можно перечислить постоянных партнеров компании МЭЛТ: ЗАО «Связь инжиниринг», ЗАО «МЕТТЭМ-Светотехника», ЗАО «МЕТТЭМ-Технологии», ОАО ПК «Медицинская Техника», Институт космических исследований Российской академии наук, ООО «НПП ИТЭЛМА», ОАО «Саранский приборостроительный завод», ОАО Ставропольский радиозавод «СИГНАЛ», Объединенный институт Ядерных Исследований и многие другие.

В настоящее время компания занимается разработкой и производством печатных плат, ЖК-индикаторов, источников питания, светодиодных линеек.

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

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

МЭЛТ: современные технологии создания ЖК-панелей

Компания МЭЛТ применяет ЖК-стекла (ЖК-панели) для знакосинтезирующих и графических ЖК-индикаторов по двум наиболее современным технологиям: STN (Super Twisted Nematic) и FSTN (Film Super Twisted Nematic). Каждая из технологий имеет версии с позитивным и негативным изображением (STN Positive/Negative и FSTN Positive/Negative). Кроме того, доступны исполнения, использующие отраженный свет или светодиодную подсветку.

Одним из важнейших достоинств ЖК-панелей МЭЛТ является их рекордно широкий диапазон рабочих температур. Большинство линеек ЖК имеет модели, способные функционировать при температурах -30…80°С, а диапазон температур хранения для них составляет -45…80°С.

Еще одним преимущество ЖК-панелей МЭЛТ является их высокая контрастность. По этому показателю они превосходят своих зарубежных конкурентов.

Стоит отметить, что стекла – это только часть технологического цикла создания ЖК-экранов. Качество ЖК-экрана напрямую зависит от применяемых технологий монтажа электронных компонентов. Здесь у компании МЭЛТ есть особый повод для гордости.

Качество разводки – залог качества ЖК-дисплеев

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

МЭЛТ имеет опытную команду инженеров, которая способна самостоятельно разработать схемотехнику и печатную плату дисплея. При этом для большинства модулей применяются ЖК-контроллеры отечественной компании ОАО «АНГСТРЕМ».

Собственное сверхсовременное монтажное производство – гордость компании. В настоящее время МЭЛТ имеет оборудование для выполнения высокопроизводительного монтажа по технологиям SMT и COB.

Технология COB (Chip On Board) предполагает монтаж бескорпусных кристаллов микросхем напрямую на плату. COB имеет преимущества перед использованием стандартных корпусных микросхем.

а) пример ручной установки бескорпусных
микросхем

в) заливка компаундом установленных
бескорпусных микросхем

Рис. 1. Этапы монтажа кристаллов ЖК-контроллеров по технологии COB

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

Оборудование для COB компании МЭЛТ имеет следующие характеристики:

  • количество развариваемых пинов: до 10000;
  • ширина проводника: от 90 мкм;
  • зазор между проводниками: от 90 мкм.

Кроме перечисленных выше специализированных технологий, МЭЛТ обладает оборудованием ведущих японских и европейских производителей (YAMAHA, Assembleon, Ersa, Dek и других) для традиционного SMT-монтажа и монтажа выводных компонентов. Гибкость сборки мелких и крупных серий печатных плат достигается за счет наличия двух линий поверхностного монтажа и линии сквозного монтажа.

Первая линия поверхностного монтажа предназначена для сборки крупных серий печатных узлов в автоматическом режиме. Ее максимальная производительность составляет до 20000 компонентов в час. Линия включает следующее оборудование:

  • автоматический загрузчик печатных плат Nutek NTM 710 EL;
  • автоматический принтер паяльной пасты DEK ELA;
  • конвекционную печь ERSA HotFLow 5;
  • автоматический разгрузчик печатных плат Nutec NTM 710 EM 2;

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

  • полуавтоматический принтер паяльной пасты DEK 248;
  • мультифункциональный станок для расстановки компонентов YAMAHA YS12F;
  • конвекционную печь BTU Pyramax 98A;
  • автоматический разгрузчик печатных плат Nutec NTM 710 EM 2.

Линия сквозного монтажа включает в себя:

  • установку пайки динамической волной припоя KIRSTEN-K5360P;
  • установку струйной отмывки печатных плат TRIMAX.

После монтажа блоки проходят контроль качества с помощью оптической 3D-устаовки TRION-2000.

Для испытаний узлов при разной температуре и влажности используется климатическая камера тепла/холода/влажности ESPEC SH-661.

Таким образом, компания МЭЛТ способна не только разрабатывать, но и производить ЖК-дисплеи собственными силами с поддержанием высочайшего качества изготовления.

Восемь причин выбрать ЖК-дисплей МЭЛТ

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

Назовем целых восемь причин, по которым стоит выбрать именно ЖК-дисплеи МЭЛТ.

Во-первых, великолепные показатели контраста, не уступающие конкурентам. Это достигается благодаря использованию самых современных технологий FSTN и STN.

Во-вторых, широчайший выбор моделей (более 600 представителей): знакосинтезирующие и графические; с позитивным и негативным отображением; с различными цветами подсветки (янтарный, желто-зеленый, красный, голубой, белый); с напряжением питания 2,8/3,0/3,3/5 В; с различными форматами и разрешением; с термокомпенсацией и без.

О многообразии моделей говорит даже фирменное именование дисплеев, состоящее из девяти позиций (таблица 1).

Таблица 1. Именование ЖК-дисплеев МЭЛТ

MT -16S24 -1 Y L G T -3V0 -T
1 2 3 4 5 6 7 8 9
Компания (МЭЛТ) Серия Tраб./Tхран., °C Тип ЖК панели Тип подсветки Цвет подсветки Ориентация Uпит Термокомпенсация
1:
0…50/-10…60
T: TN positive L: – LED A: янтарный (пусто): 6 часов 2V8 – 2,8 В (пусто): нет
N: TN negative G: желто-зеленый Т: на 12 часов 3V0 – 3,0 В T: есть
2:
-20…70/-30…80
M: HTN positive R: красный 3V3 – 3,3 В
H: HTN negative B: голубой (пусто) – 5,0 В
3:
-30…70/-40…80
Y: STN yellow positive W: белый
G: STN gray positive (пусто): опция
4:
-40…80/-40…90
B: STN blue positive
K: STN negative (blue)
7:
-10…50/-30…60
F: FSTN positive
V: FSTN negative (black)

В-третьих, реальная работоспособность при низких и высоких температурах. Существуют дисплеи с диапазоном рабочих температур -40…70°C. При этом диапазон хранения для них -45…80°C. И, в отличие от иностранных аналогов, это не какие-то специализированные труднодоступные версии, выполненные под заказ, а серийные образцы.

А для заказных индикаторов рабочий диапазон и вовсе может достигать -40…80°C.

В-четвертых, цифро-буквенные знакосинтезирующие дисплеи МЭЛТ имеют возможность поддержки русского/английского/белорусского/украинского/казахского знакогенераторов. Кроме того, использование формата букв 5х8 делает отображение букв кириллицы понятнее и больше!

В-пятых, дополнительная страница знакогенератора в кодировке Win-CP1251 упрощает написание программ в среде Microsoft Windows.

В-шестых, высочайшая надежность и качество продукции МЭЛТ.

В-седьмых, доступность и возможность поставки больших партий индикаторов в кратчайшие сроки при низкой стоимости.

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

Обзор продукции МЭЛТ начнем с серийных моделей.

Знакогенерирующие ЖК-дисплеи МЭЛТ

Номенклатура цифробуквенных ЖК-дисплеев МЭЛТ насчитывает 19 серий, включающих более 500 моделей (таблица 2).

Таблица 2. Серии цифробуквенных ЖК-дисплеев МЭЛТ

Наименование Контроллер Разреше-ние Габариты, мм Видимая
область, мм
Символ, мм Подсветка Тип стекла Uпит, В Траб, °C
MT-08S2A КБ1013ВГ6 08х2 58x32x12,9 3×16 3,55х5,56 3; 5 -20…70; -30…70
MT-10S1 КБ1013ВГ6 10х1 66x31x9,2 56×12 4,34×8,35 Желто-зеленая STN Positive 5 0…50, -20…70, -30…70
MT-16S1A КБ1013ВГ6 16х1 122x33x9,3 99×13 4,86×9,56 Янтарная, синяя, желто-зеленая, белая FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive 3; 5 -20…70; -30…70
MT-16S1B КБ1013ВГ6 16х1 122x33x13,1 99×13 4,86×9,56 Янтарная, желто-зеленая, нет
MT-16S2D КБ1013ВГ6 16х2 85x36x13 62×19 2,95×5,55 FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive
MT-16S2H КБ1013ВГ6 16х2 84x44x13,0 62×19 2,95×5,55
MT-16S2J КБ1013ВГ6 16х2 85x30x13,5 62×19 2,95×5,55 Янтарная, синяя, желто-зеленая, белая, нет
MT-16S2R КБ1013ВГ6 16х2 122x44x13 105,2×24 4,86×9,56 Янтарная, синяя, желто-зеленая FSTN Positive, FSTN Negative, STN Positive
MT-16S2S ST7070 16х2 84x44x13,0 62×19 2,95×5,55 Янтарная, синяя, желто-зеленая, белая FSTN Positive, STN Positive
MT-16S4A КБ1013ВГ6 16х4 87x60x13,1 62×26 2,95×4,75 FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive
MT-20S1L-2FLA КБ1013ВГ6 20х1 180x40x9,3 149×23 6,00×14,54 Янтарная, синяя, желто-зеленая, белая, нет
MT-20S2A-2FLA КБ1013ВГ6 20х2 116x37x13 82×19 3,20×5,55 Янтарная, синяя, желто-зеленая, красная, нет FSTN Positive, STN Positive
MT-20S2M КБ1013ВГ6 20х2 180x40x9,3 149×23 6,00×9,63 Янтарная, синяя, желто-зеленая, белая, красная, нет FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive 3; 5 -20…70; -30…70
MT-20S4A КБ1013ВГ6 20х4 98x60x13 76×26 2,95×4,75 Янтарная, синяя, желто-зеленая, белая, нет
MT-20S4M КБ1013ВГ6 20х4 146×62,5×13 122,5×43 4,84×9,22 Янтарная, синяя, желто-зеленая, белая, красная
MT-20S4S ST7070 20х4 98x60x13 76×26 2,95×4,75 Янтарная, синяя, желто-зеленая, белая FSTN Positive, STN Positive 5 -20…70
MT-24S1L КБ1013ВГ6 24х1 208x40x14,3 178×23 6,00×14,75 FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive 3; 5 -20…70; -30…70
MT-24S2A КБ1013ВГ6 24х2 118x36x13,5 92,5×14,8 3,15×5,72 Янтарная, синяя, желто-зеленая, белая, нет FSTN Positive, FSTN Negative, STN Positive
MT-24S2L-2FLA КБ1013ВГ6 24х2 208x40x14,3 178×23 6,00×9,63 Янтарная, синяя, желто-зеленая, белая FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive

При таком многообразии легко выбрать дисплей с требуемыми характеристиками:

  • с применением различных технологий, например, STN Positive/Negative, FSTN Positive/Negative (рисунок 2);
  • с различными форматами символов и строк – 08х2, 10х1, 16х1, 16х2, 16х4, 20х1, 20х2, 20х4, 24х1, 24х2;
  • с различным цветом подсветки – янтарным, желто-зеленым, красным, голубым, белым;
  • с различным напряжением питания: 3 или 5 В;
  • с разными рабочими температурными диапазонами, в том числе и -30…70°C;
  • с последовательным (контроллер ST7070) или параллельным (контроллер КБ1013ВГ6) коммуникационным интерфейсом.

Рис. 2. Примеры знакосинтезирующих ЖК-индикаторов МЭЛТ 24 х 2

Стоит особо отметить, что большая часть дисплеев построена на базе отечественного контроллера КБ1013ВГ6 производства ОАО «АНГСТРЕМ». По функционалу он аналогичен контроллерам HD44780 компании Hitachi и KS0066 производства Samsung.

Отличительными чертами КБ1013ВГ6 являются:

  • широкий диапазон питающих напряжений: 2,7…5,5 В;
  • диапазон питания ЖКИ: 3,0…13 В;
  • высокоскоростной интерфейс связи: до 2 МГц (при Uпит = 5 В);
  • 80 байт ОЗУ отображаемых данных (80 символов);
  • 19840 бит ПЗУ знакогенератора с возможностью программирования двух пользовательских страниц символов;
  • 64 байта ОЗУ знакогенератора.

Графические ЖК-дисплеи МЭЛТ

Как и в случае со знакосинтезирующими дисплеями, номенклатура графических ЖК производства компании МЭЛТ также приятно удивляет: 10 линеек, которые объединяют более 120 моделей (таблица 3).

Таблица 3. Серии графических ЖК-дисплеев МЭЛТ

Наименова-ние Контрол-лер Разреш. Габариты, мм Видимая область, мм Размер точки, мм Подсветка Тип стекла Термокомп Uпит, В Траб, °C Тхран, °C
КБ145ВГ4 122×32 77х38х9,5 62×19 0,4×0,4 Нет FSTN Positive, STN Positive Нет 5 -10…60, -30…70 -10…60, -40…80
MT-12232A КБ145ВГ4 122×32 77х38х13 62×19 0,4×0,4 Янтарная, желто-зеленая, синяя, белая, красная FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive Нет 3,3; 5 -10…60, -20…70, -30…70 ,-10…60, -30…80, -40…80
MT-12232B КБ145ВГ4 122×32 84х44х9,5 62×19 0,4×0,4 Нет FSTN Positive, STN Positive 5 -10…60, -30…70 -10…60, -40…80
КБ145ВГ4 122×32 84х44х13,5 62×19 0,4×0,4 Янтарная, желто-зеленая, синяя, белая FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive 3,3; 5 -10…60, -20…70, -30…70 ,-10…60, -30…80, -40…80
MT-12232C КБ145ВГ4 122×32 77х38х13 62×19 0,4×0,4 Янтарная, желто-зеленая FSTN Positive 2,8 -20…70 -30…80
MT-12232D КБ145ВГ4 122×32 94х48,5х9,6 85×26 0,62×0,62 FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive Нет/Есть 3; 5
MT-12864A К145ВГ10 128×64 93х70х13 71,7×38,7 0,44×0,44 Янтарная, желто-зеленая FSTN Positive, FSTN Negative, STN Positive -20…70, -30…70 -30…80
MT-12864B NT75451 128×64 69x48x12 65×34,6 0,47×0,42 Возможна FSTN Positive, STN Negative Blue, STN Positive 3,3
MT-12864J К145ВГ10 128×64 75х52,7х8,5 60×32,6 0,4×0,4 Янтарная, желто-зеленая, синяя, белая, нет FSTN Positive, FSTN Negative, STN Negative Blue, STN Positive Нет 3; 5
MT-6116 КБ145ВГ4 61×16 66х31х9,5 56×12 0,8×0,55 Янтарная, желто-зеленая, нет FSTN Positive, STN Positive Нет 5 0…50 -10…60
MT-6116B КБ145ВГ4 61×16 77х38х13 62×19 0,92×0,72 Янтарная, желто-зеленая Нет 5 0…50 -10…60
MT-6464B К145ВГ10 64×64 40х56х8,5 32×39,5 0,42×0,52 Янтарная, желто-зеленая, синяяб белая Нет 3,3; 5 -20…70 -30…80

Отличительными чертами графических дисплеев МЭЛТ являются:

  • современные технологии STN Positive/Negative, FSTN Positive/Negative (рисунок 3);
  • широкий выбор разрешений: 122×32, 128×64, 61×16, 64×64;
  • различные цвета подсветки: янтарный, желто-зеленый, красный, голубой, белый;
  • различные напряжения питания: 2,8/3,0/3,3/5 В;
  • различные диапазоны рабочих температур, в том числе и -30…70°C.

Рис. 3. Примеры графических ЖК-индикаторов МЭЛТ 128 х 64

Важной отличительной чертой большинства графических дисплеев МЭЛТ является использование отечественных ЖК-контроллеров.

К145ВГ10 – ЖК-контроллер производства ОАО «АНГСТРЕМ», аналогичный KS0108 производства компании Samsung.

Кроме совместимости контроллеров, стоит отметить и совместимость дисплеев МЭЛТ с продукцией конкурентов.

Несколько слов об эффективном импортозамещении

Большая часть ЖК-дисплеев МЭЛТ совместима с аналогами других компаний-производителей. При этом, как было показано выше, ЖК от МЭЛТ превосходят их по характеристикам. Это касается как знакосинтезирующих или символьных, так и графических ЖК (таблицы 4, 5).

Таблица 4. Совместимость знакосинтезирующих или символьных ЖК различных производителей

Формат Видимая
область, мм
Производитель/Наименование Производитель/наименование
МЭЛТ Winstar Powertip Tianma Bolymin Microtips Ampire Sunlike Data Vision Wintek
8×2 35,0×15,24 MT-8S2A WH0802A PC 0802-A TM82A BC0802A MTC-0802X AC082A SC0802A DV-0802 WM-C0802M
10×1 56,0×12,0 MT-10S1
10×2 60,5×18,5 PC 1002-A
12×2 46,7×17,5 WH1202A PC 1202-A TM122A BC1202A
16×1 64,5×13,8 WH1601A PC 1601-A TM161A BC1601A1 MTC-16100X AC161A SC1601A DV-16100 WM-C1601M
66,0×16,0 WH1601B PC 1601-H BC1601B SC1601B
63,5×15,8 TM161E
99,0×13,0 MT-16S1A WH1601L PC 1601-L TM161F BC1601D1 MTC-16101X AC161B SC1601D DV-16100 WM-C1601Q
120,0×23,0 AC161J DV-16120
16х2 99,0×24,0 MT-16S2R (5х8) WH1602L PC 1602-L TM162G BC1602E MTC-16201X AC162E SC1602E DV-16210 WM-C1602Q
36,0×10,0 PC 1602-K-Y4 TM162X
50,0×12,0 TM162B SC1602N
62,5×16,1 MT-16S2J WH1602D PC 1602-J TM162V BC1602B1 MTC-16202X AC162A SC1602B DV-16230 WM-C1602N
62,2×17,9 MTC-16203X DV-16235
62,2×17,9 MT-16S2D WH1602C PC 1602-H TM162J BC1602D SC1602D DV-16236
62,2×17,9 MT-16S2H WH1602A PC 1602-F TM162D BC1602H MTC-16204X SC1602C DV-16244 WM-C1602K
62,5×16,1 WH1602B PC 1602-D TM162A BC1602A MTC-16205B SC1602A DV-16252 WM-C1602M
55,73×10,98 WH1602M PC 1602-I BC1602F SC81602F DV-16257
80,0×20,4 DV-16275
80,0×20,4 DV-16276
16×4 61,4×25,0 MT-16S4A WH1604A PC 1604-A TM164A BC1604A1 MTC-16400X AC164A SC1604A DV-16400 WM-C1604M
60,0×32,6 WH1604B
20×1 154×16,5 TM201A DV-20100
149,0×23,0 MT-20S1L PC 2001-L
20×2 83,0×18,8 MT-20S2A WH2002A PC 2002-A TM202J BC2002A MTC-20200X AC202A SC2002A DV-20200 WM-C2002M
83,0×18,6 TM202A
123,0×23,0 WH2002M PC 2002-L
149,0×23,0 MT-20S2M (5×8) WH2002L PC 2002-M TM202M BC2002B MTC-20201X AC202B SC2002C DV-20210 WM-C2002P
147,0×35,2 AC202D DV-20211
83,0×18,8 DV-20220
76,0×25,2 DV-20206-1
20×4 76,0×25,2 MT-20S4A WH2004A PC 2004-A TM204A BC2004A MTC-20400X AC204A SC2004A DV-20400 WM-C2004P
60,0×22,0 PC 2004-C
77,0×26,3 PC 2004-F SC2004G
76,0×25,2 PC 2004-B SC2004C
123,0×42,5 MT-20S4M WH2004L PC 2004-M TM204K BC2004B MTC-20401X AC204B DV- 20410 WM-C2004R
24×1 178,0×23,0 MT-24S1L TM241A
24×2 94,5×18,0 MT-24S2A WH2402A PC 2402-A TM242A BC2402A MTC-24200X AC242A SC2402A DV-24200 WM-C2402P
178,0×23,0 MT-24S2L PC 2402-L
40×1 246,0×20,0 PC 4001-L
40×2 154,0×16,5 WH4002A PC 4002-C TM402A BC4002A MTC-40200X AC402A SC4002A DV-40200 WM-C4002P
153,5×16,5 TM402C
246,0×38,0 PC 4002-L
40×4 147,0×29,5 WH4004A PC 4004-A TM404A BC4004A MTC-40400X AC404A SC4004A DV-40400 WM-C4004M
140,0×29,0 PC 4004-D SC4004C
244,0×68,0 PC 4004-L

Таблица 5. Совместимость графических ЖК различных производителей

Разрешение Видимая
область, мм
Производитель/Наименование Производитель/Наименование
МЭЛТ Winstar Powertip Tianma Bolymin Microtips Ampire Sunlike Data Vision Wintek
61×16 56,0×12,0 MT-6116
62,0×19,0 MT-6116B
64×64 32,0×39,5 MT-6464B
122×32 62,0×19,0 MT-12232B WG12232A PG 12232-A TM12232A BG12232A1 MTG-12232A AG12232A SG12232A DG-12232 WM-G1203Q
62,0×19,0 MT-12232A
85,0×26,0 MT-12232D
128×64 71,7×38,5 MT-12864A WG12864A PG 12864-A TM12864L BG12864A MTG-12864A AG12864A SG12864A DG-12864 WM-G1206A
60,0×32,6 MT-12864J WG12864B PG 12864-J TM12864D BG12864E MTG-12864D AG12864E SG12864H DG-12864-15 WM-G1206M

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

Таким образом, использование изделий МЭЛТ – как раз тот случай, когда импортозамещение оказывается эффективным и выгодным.

Программирование ЖК-индикаторов МЭЛТ

Для того чтобы работать с любым ЖК-модулем, нужно реализовать базовые программные функции: сброс и инициализацию, передачу данных и команд в дисплей, чтение данных из дисплея. В документации на ЖК-модули МЭЛТ содержится вся необходимая для этого информация: последовательность и длительность сигналов при аппаратном сбросе, перечень используемых команд, описание адресного пространства, последовательность команд при программном сбросе и инициализации, детальное описание интерфейса обмена данными.

Конечно, можно написать программные драйвера самостоятельно, то есть «с нуля». Однако в подавляющем большинстве случаев более правильным и быстрым способом будет использование библиотеки примеров, доступной для бесплатного скачивания на сайте компании.

По сути, данная библиотека содержит шаблоны для создания драйверов на языке С. Это значит, что примеры не привязаны к конкретным контроллерам, а, соответственно, часть функций, таких как функции задержки, настройки портов ввода/вывода, необходимо реализовать самостоятельно. Таким образом, эти программы не будут компилироваться, но могут быть основой для создания драйверов.

На настоящий момент библиотека содержит следующие примеры программ:

AllText4.c – пример для буквенно-цифровых ЖК-индикаторов с 4-битным режимом включения;

AllText8.c – пример для буквенно-цифровых ЖК-индикаторов с 8-битным режимом включения;

MT-6116.c – пример для графического ЖК-индикатора MT-6116 с любым буквенным индексом;

MT-12232B.c – пример для графического ЖК-индикатора MT-12232B;

MT-12232A,C,D.с – пример для графических ЖК-индикаторов MT-12232A, MT-12232C, MT-12232D;

MT-12864.c – пример для графического ЖК-индикатора MT-12864 с любым буквенным индексом;

MT-6464B.c – пример для графического индикатора MT-6464B;

MT-10T7,8,9.c – пример для сегментных индикаторов MT-10T7, MT-10T8, MT-10T9;

MT-10T11,12.c – пример для сегментных индикаторов MT-10T11, MT-10T12.

Все примеры содержат базовые функции: инициализации, записи/чтения байта по параллельному интерфейсу, записи команды. Например, AllText8.c является универсальным шаблоном для дисплеев MT10S1, MT16S1, MT20S1, MT24S1, MT16S2, MT20S2, MT24S2, MT20S4, и содержит четыре С-функции: void LCDinit(void); void WriteCmd(byte b); void WriteData(byte b), void WriteByte(byte b, bit cd).

Рассмотрим более подробно функцию инициализации void LCDinit(void) как пример реализации функции инициализации буквенно-цифровых ЖК индикаторов с 8-битным режимом включения:

void LCDinit(void)
{
LCD.E=0; Delay(>20ms); //при необходимости настроить шину данных на вывод
LCD.RW=0; LCD.A0=0; LCD.D=0x30; //установка типа интерфейса (8 бит)
Delay(>40ns); //это время предустановки адреса (tAS)
LCD.E=1; Delay(>230ns); //время предустановки данных попало сюда (tDSW)
LCD.E=0; Delay(>
LCD.E=1; Delay(>230ns); //минимально допустимая длительность сигнала E=1
LCD.E=0; Delay(>40us); //пауза между командами
LCD.E=1; Delay(>230ns);
LCD.E=0; Delay(>270ns); //минимально допустимый интервал между сигналами E=1 //здесь индикатор входит в рабочий режим с установленным типом интерфейса и можно подавать команды как обычно
WriteCmd(0x3A); //настройка правильного режима ЖКИ
WriteCmd(0x0C); //включение индикатора, курсор выключен
WriteCmd(0x01); //очистка индикатора
WriteCmd(0x06); //установка режима ввода данных: сдвигать курсор вправо
}

Анализ позволяет сделать несколько замечаний. Во-первых, в функции уже содержится требуемая последовательность сигналов для аппаратной настройки дисплея (LCD.E, LCD.RW, LCD.A0, LCD.D). Во-вторых, LCDinit использует необходимые временные интервалы и задержки (функция Delay). В-третьих, LCDinit также содержит последовательность команд программной инициализации (функция WriteCmd). Таким образом, пользователю не придется скрупулезно вычитывать документацию на ЖК-модуль в поисках всей необходимой информации.

Вместе с тем стоит заметить, что файл AllText8.c не содержит реализацию функции задержек и функций инициализации и работы с портами ввода/вывода. Пользователь должен создать их самостоятельно для конкретного используемого микроконтроллера.

Все полученные выводы остаются справедливыми и для остальных функций из AllText8.c.

Другие примеры из библиотеки МЭЛТ построены по тому же принципу: все базовые функции реализованы, пользователю остается только «привязать» их к своему контроллеру.

Области применения ЖК-индикаторов МЭЛТ

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

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

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

В качестве примера можно рассмотреть пульт управления агрегатами уборочного автомобиля (рисунок 4). Для удобства использования пульт устанавливается на приборной панели. Это значит, что летом в солнечную погоду он испытывает значительный нагрев от солнечных лучей, а зимой должен работать при низких температурах, особенно если уборочная машина стоит на улице (что является нормой для российских реалий).

Таким образом, в соответствии с ГОСТ 15150-69, пульт может быть отнесен к категории изделий 3 (или 3.1). Это значит, что даже для климатического исполнения для умеренного климата предельный рабочий диапазон, в лучшем случае, составит -40…45°C.

Сейчас не сложно найти микросхемы и электронные компоненты, отвечающие таким требованиям, чего не скажешь о ЖК-дисплее. В итоге именно из-за него приходится в экстренном порядке в ТУ устанавливать более узкий диапазон рабочих температур. В этом несложно убедиться, если посмотреть на характеристики подобных изделий. Для подавляющего большинства из них рабочий диапазон совпадает с диапазоном хранения и составляет всего -20…60°C.

Использование ЖК-дисплеев МЭЛТ сразу расширяет эксплуатационный диапазон до -40…70°C, а температуру хранения – до -45…80°C.

Промышленная электроника. Технологические пульты операторов ЧПУ и консоли управления, несмотря на распространение TFT и других типов дисплеев, по-прежнему часто используют стандартные ЖК-дисплеи.

В условиях промышленного производства негативными факторами являются повышенный уровень запыленности и невысокое качество освещения. Чтобы добиться максимального удобства оператора, необходимо обеспечить высокий контраст изображения при больших углах обзора. Именно этими качествами отличаются индикаторы МЭЛТ.

Не последнюю роль также будет играть поддержка русского знакогенератора.

Нефтегазовая отрасль. Географически нефтегазовая отрасль в нашей стране расположена в восточных и северо-восточных регионах. Для них характерен ярко выраженный континентальный климат с низкими зимними температурами. При этом разработка месторождений очень часто производится в труднодоступных областях. По этой причине замена оборудования в ряде случаев может быть физически недоступной, если поломка случилась, например, в занесенном снегом лагере.

В итоге электроника должна обеспечивать максимально надежную работу в жестких условиях. Стоит ли в таких случаях экономить и использовать ЖК производства небольших компаний из Юго-Восточной Азии? Ответ очевиден. В данном случае высочайшая надежность ЖК-дисплеев МЭЛТ делает их идеальным выбором.

Еще одним важным достоинством дисплеев МЭЛТ является их стоимость. По этому параметру ЖК производства компании МЭЛТ не уступают азиатским аналогам. Например, оптовая стоимость MT-08S2A составляет около 170 рублей. При текущем курсе доллара продукция компании МЭЛТ дешевле азиатских аналогов, приобретенных на месте производства.

Заказные ЖК-индикаторы и ЖК-панели

Компания МЭЛТ предлагает сотрудничество при создании заказных ЖК-дисплеев. При этом МЭЛТ берет на себя все вопросы от разработки до производства этих специальных индикаторов. Выше уже была дана характеристика широким производственным возможностям компании.

Варианты исполнения заказных ЖК-панелей чрезвычайно многообразны. Компания предлагает ЖК-панели с применением:

  • различных технологий кристаллов: TN, HTN, STN, FSTN;
  • позитивного или негативного режима отображения;
  • различных цветов подсветки: желто-зеленой, красной, янтарной, голубой, белой, RGB;
  • различных диапазонов рабочих температур, вплоть до -40…70°С;
  • изготовления панелей с жесткими металлическими выводами c шагом 0,8…4,0 мм;
  • дополнительных конструктивных требований: гибкой печатной платы с установкой контроллера на стекло (COG – chip on glass), контактов для электропроводной резины и так далее.

От заказчика требуется только техническое задание на ЖК-панель или ЖК-индикатор.

Более подробно ознакомиться с техническими возможностями производства и заказа ЖК-панелей можно на официальном сайте производителя: www.melt.com.ru.

Заключение

МЭЛТ – один из немногих российских производителей электроники, выпускающих качественную продукцию, не уступающую зарубежным аналогам, а по ряду параметрам и превосходящую их.

Благодаря опытному коллективу разработчиков и собственному полному циклу производства компания смогла вывести на рынок более шестисот ЖК-дисплеев с различными характеристиками, таких как:

  • выполненные по современным технологиям: STN Positive/Negative, FSTN Positive/Negative;
  • знакогенерирующие с различными форматами символов и строк: 08х2, 10х1, 16х1, 16х2, 16х4, 20х1, 20х2, 20х4, 24х1, 24х2;
  • графические с разрешениями: 122×32, 128×64, 61×16, 64×64;
  • с различными цветами подсветки: янтарным, желто-зеленым, красным, голубым, белым;
  • с различным напряжением питания: 2,8/3,0/3,3/5 В;
  • с различными рабочими температурными диапазонами, в том числе и -30…70°C;
  • с последовательным и параллельным коммуникационным интерфейсом.

Богатая номенклатура моделей, низкая стоимость, широкий температурный диапазон, поддержка русского/английского/белорусского/украинского/казахского знакогенераторов, высокая надежность – все это делает дисплеи МЭЛТ идеальным выбором практически для всех областей электроники.

Компания МЭЛТ может выполнить разработку и производство заказных ЖК-индикаторов и панелей.

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

Жидкокристаллический модуль 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]".

Незавершенный вариант, который позже будет дополнен практикой.

Выбор практического примера на SED1520 выпал не случайно. Во-первых об этом просил один из участников форума, а во-вторых графические дисплеи на основе этого драйвера и его клонов имеют самую низкую стоимость и вполне доступны для приобретения. Конечно, существуют еще дисплеи от сотовых телефонов, которые можно купить еще дешевле, а иногда и просто выдернуть из старого ненужного телефона. Но в этом случае отлаживать устройство придется только в железе. А пайка шлейфов к дисплеям от сотовых, в которых обычно используются миниатюрные нестандартные разъемы, у начинающих может вызвать затруднения. Исключение составляет дисплей Nokia 3310 , для которого модель Протеуса существует в природе, но об этом мы поговорим позже. А пока рассмотрим модель драйвера SED1520 и как мы можем адаптировать ее под свои нужды. Все модели драйверов дисплеев находятся в библиотеке Optoelectronics\LCDControllers . Конкретно модель SED1520 и окно ее свойств показаны на рис 152. Даташит SED1520 доступен для скачивания при наличии подключения к Интернет и нажатии соответствующей кнопки.
Как видим, у модели имеются только выводы входов, а выходные сигналы колонок (SEG0…SEG60 ) и строк (COM0…COM15 ) уже жестко прописаны в программной модели Протеуса. Это и вызовает некоторое затруднение при моделировании МТ-12232А (МЭЛТ), но оно вполне преодолимо с некоторыми условностями. Для начала немного информации о выводах модели из даташита. Сразу же напомню, что SED1520 может работать в двух режимах: интерфейс с контроллером серии 68xxили интерфейс с контроллером серии 80xx. Нас интересует первый, поскольку он принят стандартом де-факто и для других микроконтроллеров (AVR, PIC). Для наглядности ниже синим цветом указано то, что относится к 68xx, а зеленым то, что относится к 80xx.
· DB – двунаправленная восьмиразрядная шина команд/данных.
· A0 – вход драйвера, определяющий что в данный момент передается по шине данных: A0=0 – команда, A0=1 – данные для вывода на индикатор.
· R/W(WR) – вход драйвера. Для 68xxопределяет чтение (R/W=1) из SED1520 или запись (R/W=0) в него. Для 80хх WR=0 при записи сигналы на шине данных стробируются положительным перепадом (передним фронтом) 0=>1 импульса на этом выводе.
· E(RD) – вход драйвера. Для 68xxопределяет тактирование (выбор) данного драйвера. (По E=1 производится запись/чтение в конкретный кристалл – это очень важный для нас сигнал.) Для 80хх RD=0 означает, что шина D0…D7SED1520 направлена на вывод данных.
· CS – вход драйвера. Обычно CS=0. Эффективен при использовании внешнего генератора тактовой частоты.
· RES – вход сброса драйвера. Перепад сигнала на этом входе производит сброс микросхемы драйвера и установку для нее определенного интерфейса. Если был RES=0 и произошел переход 0=>1, то происходит сброс и устанавливается интерфейс 68хх. Если был RES=1 и произошел переход 1=>0, то происходит сброс и устанавливается интерфейс 80хх. (Это тоже очень важный для нас сигнал.)
Теперь заглянем в свойства модели SED1520 , а конкретно в раскрывающийся список. С некоторыми параметрами оттуда мы уже знакомы, но в стандартном окне они не видны и мы сможем их увидеть только с установленной галочкой Edit all properties as text или в режиме Make Device на третьей вкладке. Итак, сначала о тех, что видны в раскрывающемся списке:
· Controller Colums (да-да, именно Colums , а не Columns – и у англичан бывают грамматические ошибки) CONTRWIDTH по умолчанию равно 61 – количество колонок (SEG ) в контроллере.
· Controller Lines CONTRHEIGHT по умолчанию равно 16 – количество строк (COM ) для модели контроллера.
· Controller Display X Offset BMPXOFF смещение картинки (на экране) по горизонтальной оси X. По умолчанию нулевое.
· Controller Display YOffset BMPXOFF смещение картинки (на экране) по вертикальной оси Y. По умолчанию нулевое.
· Segments Output Direction ADCMODE направление вывода из памяти драйвера на экран. По умолчанию 0 – прямое, слева направо. При установке в 1 картинка выводится в обратном направлении справа-налево. Это вполне реальный параметр реального контроллера из даташита. Как мы увидим позже, именно с ним будут «заморочки» в МЭЛТ-овских индикаторах.
Остальные параметры имеют свойство Hidden (скрытые) и видны только при установке флажка Edit all properties as text , но среди них есть важные для нас и я их тоже опишу. В первую очередь это уже знакомые нам WIDTH (высота) и HEIGHT (ширина) но теперь уже экрана дисплея в пикселях. По умолчанию они соответственно 16 и 61. Также знакомы нам параметры трассировки: TRACE , TRACE_CWR , TRACE_MWR и TRACE_MRD . Все они по умолчанию Warning Оnly – режим предупреждений. Свойство PRIMITIVE для данной модели имеет значение DIGITAL,SED1520 . Свойство MODDLL задано как LCDPIXEL.DLL . Надеюсь, эти свойства не нуждаются в особых комментариях. А вот со следующими двумя мы еще не встречались, поэтому коснусь их подробнее.
· CTRLID – идентификатор контроллера. По умолчанию равен 0x100 . Если в модели индикатора используются два или более контроллера, эти значения должны отличаться. Так у нас и будет в наших моделях – второму этот параметр мы присвоим как0x101 .
· RAMSIZE – объем внутренней памяти драйвера в байтах. По умолчанию указан как 320 – это вполне реальное значение и его мы трогать не будем.
Ну, вроде с описанием моделиSED1520 пока все, пора приступать к реализации моделей индикаторов на нем. О построении графики моделей дисплеев мы уже говорили выше, но каждая модель графического индикатора имеет еще в свойствах и собственный MDF-файл, в котором реализована схематика соединения контроллеров. Вот о ней и пойдет речь. Для начала возьмем и воспроизведем по извлеченному из DISPLAY.LML файлу MDFсхематику одной из существующих в ISISмоделей на базе SED1520 , например, того же EW12A03GLY . Извлеченный MDFи воспроизведенная по нему схема находятся во вложении в папке GLCD_recovery . Эта же схема представлена на рисунке 153.
Структуру модели индикатора EW12A03GLY можно условно разделить на две части: цифровую и аналоговую. Аналоговая часть имитирует нагрузки по выводам питания и подсветки и особенного интереса для нас не представляет, поскольку это в основном обычные резистивные нагрузки, за исключением диода, имитирующего светодиодную подсветку экрана и источника отрицательного напряжения, имитирующего встроенный в этот конкретный индикатор преобразователь напряжения. А вот на цифровой части остановимся отдельно. Мы видим, что в данном случае используются два контроллера SED1520 , у которых большинство выводов объединено, а раздельными являются только выводы выбора E1 для левого кристалла и E2 для правого. Для данного конкретного индикатора выводы R/W(WR) завешены на землю, поскольку не производится чтение из контроллеров, а выводы сброса RES наоборот соединены с питанием и, кроме того, им присвоен параметр INVERT=$RES$ для того, чтобы наш индикатор все время запускался в режиме интерфейса с МК серии 68хх.
Примечание. Напомню, что RES ограниченное с двух сторон знаком доллара означает имя вывода со знаком надчеркивания (инверсный). При таких записях надо быть предельно внимательными, особенно, если вывод имеет длинное имя и только часть из него с надчеркиванием. Например, если вы захотите проинвертировать вывод E у SED1520 , то необходимо писать его имя полностью со всеми скобками и т.п., т.е. INVERT=E($RD$) . Иначе это свойство работать не будет.
Выводы CS драйверов также завешены на землю, как и в большинстве реальных графических индикаторов на основе спаренных SED1520 .
Какие же еще изменения внесены в свойства контроллеров прописанные по умолчанию. Как я уже и предупреждал ранее, для правого контроллера изменен CTRLID=0х101 , чтобы кристаллы имели различные идентификаторы. Для обоих кристаллов количество строк CONTRHEIGHT=32 вместо 16. Надеюсь, понятно почему, ведь это индикатор 122х32. По той же причине для правого кристалла, работающего на правую часть экрана индикатора, установлено горизонтальное смещение картинки по оси Xна 61 пиксель - BMPXOFF=61 . Еще хотелось бы обратить ваше внимание, что для ряда параметров – ширина и высота экрана, а также параметры отладки конкретные значения заменены на имена параметров в угловых скобках. Если кто-то подзабыл, напомню, что таким образом обеспечена возможность задания значений этим параметрам с основного родительского листа или точнее, в данном случае, из свойств графической модели (Рис. 154).
Особенно хочу отметить, что не стоит пренебрегать заданием этим способом параметров трассировки (отладки) у сложных моделей, каковыми являются индикаторы. Если этого не сделать, то невозможно будет для уже скомпилированной модели включить режим отладки, а он очень важен для нас, в чем мы убедимся чуть ниже.
Ну вот, теперь надеюсь, всем стало ясно, почему программные VSM модели графических дисплеев прописаны как Shematic и имеют собственные MDF файлы. Я не стану больше останавливаться на зарубежных моделях LCD122х32 на основе SED1520 , поскольку в большинстве своем они построены почти одинаково с обязательным разнесением входов E для левого и правого кристаллов, т.е. у реального индикатора имеются входы E1 для тактирования левого кристалла и E2 для правого. Для примера на рисунке 155 диаграмма цикла записи из даташита EW12A03GLY , рассмотренного выше. Правда не знаю, зачем производитель этого индикатора приделал там и чтение, хотя и в даташите вывод R/W(WR) четко прорисован на землю.
Из диаграммы видно, что запись команды управления (при сигнале А0=0 ) или байта данных изображения (при сигнале А0=1 ) производится по положительному импульсу на входе E1 в левый кристалл и на входе E2 в правый. В других дисплеях возможно и чтение из кристаллов, но при этом учитывается логический уровень на входе R/W(WR) , который должен к моменту подачи тактового E при чтении быть в состоянии логической единицы, тогда будет верна нижняя часть диаграммы READ.
Ну а мы переходим к графическим индикаторам «местного пошива» и конкретно займемся дисплеями MT-12232 компании МЭЛТ. Эти дисплеи формата 122х32 точки на основе Ангстремовского клона КБ145ВГ4 , совместимого с SED1520, выпускаются с различными буквенными индексами, и уже тут скрывается первый «подводный камень». Дело в том, что индикатор MT-12232B среди остальных выделяется как белая ворона, поскольку выполнен по западным стандартам и полностью совместим по сигналам с большинством европейских и китайских дисплеев на базе SED1520 . Он также имеет два раздельных входа тактирования E1 и E2 для разных кристаллов. Временная диаграмма для этого дисплея приведена на рисунке 156. Как видим, все отличие от предыдущей диаграммы в наличии сигнала R/W(WR) , обеспечивающего чтение из кристаллов.
Фактически для моделирования этого дисплея достаточно использовать уже существующую модель AGM1232G . Все отличие состоит в 3-м выводе контрастности , который МЭЛТ не задействовал и обратной полярности выводов подсветки BL (19, 20). Поскольку ни то ни другое на процесс вывода данных на индикатор не участвует и реализовано только для имитации аналоговых свойств (нагрузки) эти выводы можно просто оставить «в воздухе». Ну а для тех, кому нужно соответствие «буква в букву» в папке MT12232B вложения находится графическая модель индикатора – поддиректория Model_with_Child . На дочернем листе Model.DSN находится переделанная под MT12232B подсхемаAGM1232G (Рис. 157). Скомпилированный с нее файл модели MT12232B.MDF и тестовый проект находятся в подпапкеTest_MT12232B .
Ну а мы далее на примереМТ12232А рассмотрим особенности остальных индикаторов этой серии. Здесь МЭЛТ решил ввернуть свою «изюминку», которая проявляется в особенностях программирования и управления этими дисплеями. Не знаю, насколько это оправдано технологически, но с точки зрения моделирования здесь все становится с ног на голову.
Первая особенность дисплеев с индексами A, С, D и т.д. в отсутствии раздельных выводов E для управления кристаллами. Вывод E в этих индикаторах всего один и используется для тактирования как левого, так и правого контроллера КБ145ВГ4 . Для обращения к конкретному кристаллу используется CS . Наличие лог. 1 на нем активирует обращение к левому драйверу, отвечающему за вывод информации в левую часть экрана. Лог. 0 на выводе CS означает работу с правым кристаллом, обслуживающим правую часть экрана.
Вторая особенность как раз и касается правого кристалла. Дело в том, что здесь МЭЛТ использовал еще и обратную последовательность подключения столбцов (колонок) драйвера к сегментам ЖКИ, т.е. выходу SEG00 правого кристалла соответствует 122-я колонка дисплея, а выходу SEG60 – 61-я колонка. Для нормального отображения картинки в правой части дисплея при начальной инициализации контроллеров необходимо для левого кристалла подать команду ADC=0 (прямой вывод) а для правого ADC=1 (обратный вывод) изображения. Эта особенность легко выполнима в реальной жизни, но при моделировании в Протеусе накладывает некоторые ограничения. Модель SED1520 может воспроизводить данные в обратном порядке по команде ADC=1 , но выходы SEG мы «перепаять» задом наперед, как в реальном дисплее МЭЛТ не можем – они просто отсутствуют и жестко прописаны в программной модели. Поэтому при моделировании придется в программе инициализации для обоих кристаллов использовать ADC=0 , а уже для реального «железного» дисплея перед прошивкой контроллера изменять это значение для одного из кристаллов в единицу. Как правило, инициализация проводится один раз при включении (запуске) устройства, поэтому очень больших проблем данный момент не вызывает. Главное – держать это на контроле и не забыть поменять значение при компиляции реальной прошивки.
Первая же особенность легко преодолима схемотехническим методом. Подсхема для компиляции MDF файла для МТ12232A примет вид как на рисунке 158.
Я специально оставил узел дешифрации сигналаE в первозданном виде, хотя можно было сделать и компактнее, убрав инвертор U4 и задав свойство INVERT для входов D0 элементов U3 и U5 . Вообще здесь уместны различные вариации по теме, но у меня заработало уже в таком виде, а большего и не надо. В папке вложения MT12232A ,как и длямодели с индексом B, расположены соответствующие Model_with_Child с дочерним листом, содержащим эту схему,и Test_MT12232А , в которой есть и готовый MT12232A.MDF .
Подводя итог этому материалу, хочу немного коснуться особенностей процедуры начальной инициализации и вывода информации на индикаторы МЭЛТ. В сети можно встретить различные варианты этой процедуры. В частности, в даташите на MT12232A производитель рекомендует следующую последовательность операций:
1. после подачи напряжения питания удерживать вывод RES в состоянии логического “0” еще не менее 10 мкс;
2. подать перепад на вывод RES c логического “0” в логическую “1”, длительность фронта не более 10 мкс;
3. ожидать сброса бита RESET в байте состояния или выждать не менее 2 мс;
4. подать команду снятия флага RMW (END);
5. подать команду включения обычного режима работы (Static Drive ON/OFF);
6. подать команду выбора мультиплекса (Duty Select);
7. подать команду включения дисплея (Display ON/OFF).
Первые три операции общие для обоих кристаллов дисплея и выполняются однократно. Они переводят дисплей в режим работы с МК 68xx. Остальные необходимо проделать для каждого кристалла в отдельности, причем в рекомендуемом производителем примере перед операцией 4 для каждого кристалла выдается еще и команда RESET (0xE2 ). Примеры программ от МЭЛТ находятся во вложении вместе с даташитами. Пункты алгоритма начальной установки, начиная с 4 можно переписать боле подробно следующим образом:
4. подать команду (A0=0, RD/WR=0 ) сброса RESET (DB7…DB0=0xE2 ) в левый кристалл (CS=0 ), стробируем (1-0-1) сигналом E ,
подать команду (A0=0, RD/WR=0 ) сброса RESET (DB7…DB0=0xE2 ) в правый кристалл (CS=1 ), стробируем E .
5. подать команду (A0=0, RD/WR=0 ) сбросаRMW(DB7…DB0=0xEE ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) сброса RMW(DB7…DB0=0xEE ) в правый кристалл (CS=1 ), стробируем E .
6. подать команду (A0=0, RD/WR=0 ) нормальный режим (DB7…DB0=0xA4 ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) нормальный режим (DB7…DB0=0xA4 ) в правый кристалл (CS=1 ), стробируем E .
7. подать команду (A0=0, RD/WR=0 ) выбора мультиплекса 1/32 (DB7…DB0=0xA9 ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) выбора мультиплекса 1/32 (DB7…DB0=0xA9 ) в правый кристалл (CS=1 ), стробируем E .
8. подать команду (A0=0, RD/WR=0 DB7…DB0=0xС0 ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) установки верхней строки в 0 (DB7…DB0=0xС0 ) в правый кристалл (CS=1 ), стробируем E .
9. подать команду (A0=0, RD/WR=0 DB7…DB0=0xA1 ) (Внимание! Здесь для Протеуса должно быть А0 , а для реального индикатора А1 ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) установки обратного соответствия (DB7…DB0=0xA0 ) в правый кристалл (CS=1 ), стробируем E .
10. подать команду (A0=0, RD/WR=0 ) включения дисплея (DB7…DB0=0xAF ) в левый кристалл (CS=0 ), стробируем E ,
подать команду (A0=0, RD/WR=0 ) включения дисплея (DB7…DB0=0xAF ) в правый кристалл (CS=1 ), стробируем E .
Инициализацию можно выполнять как в той последовательности, которая указана выше, т.е. поочередно для каждого кристалла по одной команде, так и полностью все процедуры с 4-й по 10-ю сначала для одного (CS=0 ), а затем для другого (CS=1 ). Это уже зависит от того, кому как удобнее оформить программу. Необходимо только помнить про 9-й пункт, который в реальности будет отличаться.
К сожалению, все готовые библиотечные фунции на СИ для дисплеев MT12232A , найденные во всемирной паутине содержат те или иные ошибки. В основном это попытки подогнать стандартные функции вывода для дисплеев на базе SED1520 под особенности MT12232A . Поэтому рекомендовать их для использования без внимательного изучения и коррекции я сейчас не могу. Но приведу в качестве примера вывод графического массива с логотипом МЭЛТ, который взят из примера производителя. В примере LOGO.DSN из папки LOGO_MT12232A вложения использован слегка модифицированный пример MT12232-CV приложенный к материалу о драйвере MT12232A c сайта ChipEnable :
http://www.chipenable.ru/index.php/how-connection/103-podkluchenie-mt12232-k-avr.html
К сожалению, рекомендовать полностью использовать данный материал для моделирования дисплея MT12232A в Протеусе не могу, но, во всяком случае, начальная инициализация и вывод графического массива на экран модели проходят корректно, что подтверждается примером (Рис. 159).
Возможно, позже при наличии свободного времени я дополню этот материал новыми примерами, тем более, что сам индикатор у меня теперь есть в наличии и можно будет проверить соответствие модели «железу». А пока мы оставляем данный материал, подводим итог, поскольку уже давно не выкладывалась оффлайн версия материала, и переходим к рассмотрению активных моделей с элементами управления.
Рисунки 152, 153,154.
Рисунки 155, 156,157.
Рисунки 158, 159.

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.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: