Контроллер графического ЖКИ высокого разрешения |
При проектировании систем с использованием жидкокристаллических модулей (ЖКМ) высокого разрешения (320х200 пикселов и более), перед разработчиком встает проблема выбора контроллера для него. Некоторые из ЖКМ с разрешением 320х200 имеют встроенный контроллер, но ЖКМ более высокого разрешения выпускаются без встроенного контроллера, и для их использования в систему нужно ставить плату контроллера. Такие платы выпускаются многими зарубежными фирмами, они построены на базе специализированных БИС типа SED1330/1335 (Epson) и обладают обширным набором функций (поддержка курсора, вывод текста с использованием знакогенератора и т.п.). Но эти платы имеют два существенных недостатка: 1) Они достаточно дороги - стоят около 100...130 USD; 2) Из-за низкого спроса на такие контроллеры они поставляются в Россию только на заказ, поэтому задержка при разработке системы составит в лучшем случае месяц. Это же относится и к SED1335.
Выходом из данной ситуации является разработка собственного контроллера ЖКМ на основе элементной базы, доступной в данный момент. Основные принципы построения такого контроллера и будут рассмотрены ниже.
Работа с ЖКМ
Жидкокристаллический модуль состоит из двух основных частей: собственно жидкокристаллического индикатора и платы драйверов индикатора. Плата драйверов соединяется с ЖКИ линейками контактов для столбцов и строк. Пример структуры ЖКМ приведен на рис. 1.
Рис 1. Структура ЖКМ 320х240
Рассмотрим ЖКМ 320х240 пикселов. Наиболее часто в качестве драйверов для индикаторов такого разрешения используются микросхемы HD66206 или пара HD66204/HD66205 (Hitachi). Они предназначены для обеспечения работы до 80 строк или столбцов ЖКИ. Поэтому для модуля 320х240 нужно 4 драйвера столбцов и 3 драйвера строк. Внутренние регистры драйверов имеют входы и выходы каскадирования, позволяющие представить их в виде одного многоразрядного регистра, что и сделано на рис. 1.
Для вывода данных на ЖКИ необходимо выполнить следующую последовательность действий:
- Подать очередную тетраду данных на входы D3...D0 ЖКМ. Стробировать их импульсом по входу CL1. При этом увеличивается значение счетчика в драйверах X и в соответствии с его значением селектором выбирается та тетрада регистра R1, в которую будет записано значение D3...D0. Этот пункт выполняется до тех пор, пока R1 не будет заполнен полностью, то есть 80 раз;
- Подать импульс на вход CL2. Это приведет к записи содержимого регистра R1 в регистр R2, сбросу счетчика, а также сдвигу регистра R3. Если в R1 записывалась первая строка изображения, то на вход FLM (First Line Marker) необходимо заранее подать "1". Это единичное значение по спаду CL2 запишется в младший разряд R3, и на первой строке ЖКИ высветится изображение, соответствующее содержимому R1. После подачи первого импульса CL2, сигнал FLM снимается. При поcледующих импульсах CL2 единичный бит продвигается по R3, и отображаемая строка продвигается вниз по экрану. Таким образом, для отрисовки всего экрана требуется 240 раз выполнить пункты 1-2.
Описанная последовательность иллюстрируется на рис. 2.
Рис. 2. Сигналы ЖКМ
Кроме описанных, на ЖКМ подаются следующие сигналы:
DISPOFF - сигнал выключения ЖКИ. Активный уровень низкий. При подаче активного уровня на этот вход ЖКИ гаснет.
M - сигнал управления полярностью напряжения, подаваемого на жидкие кристаллы. Подача постоянного напряжения на ЖК может привести к выходу их из строя. Поэтому полярность прикладываемого напряжения нужно периодически менять. Рекомендуемый период сигнала М зависит от конкретного типа ЖКИ. Многие ЖКМ имеют встроенную схему формирования сигнала М на основе CL2 и FLM.
VDD, VSS, Vo, VEE - напряжения питания логики и матрицы ЖК модуля.
По рассмотренному принципу работают монохромные ЖКМ с разрешением до 640х240. Дисплеи большего разрешения обычно разбиваются на две панели: верхнюю и нижнюю. Делается это для уменьшения частоты управляющих сигналов. При этом обе панели управляются одними и теми же сигналами, но имеют разные шины данных: 4 разряда для верхней панели и 4 разряда для нижней, и верхняя и нижняя панель заполняются одновременно. Такая организация позволяет для управления ЖКМ 640х480 использовать сигналы той же частоты, что и для 640х240, не теряя при этом в частоте обновления.
Разработка контроллера ЖКМ
Контроллер ЖКМ должен содержать ОЗУ для хранения содержимого экрана и таблицы знакогенератора, ПЗУ для хранения таблицы символов и блок управления, который будет регенерировать ЖКИ и выполнять другие функции, свойственные контроллерам ЖКМ.
Требуемую емкость ОЗУ можно вычислить по следующей формуле:
CОЗУ = W x H x K / 8 + CЗГ,
где W - ширина экрана в пикселах, Н - высота экрана в пикселах, K - количество видеостраниц, CЗГ - емкость ОЗУ знакогенератора.
Главной задачей блока управления контроллера является регенерация содержимого видеоОЗУ на ЖКИ. Частота регенерации, требуемая для обеспечения ровного, немерцающего изображения, обратно пропорциональна времени реакции ЖКИ и обычно составляет 30...70 Гц. Зависимость частоты передачи тетрад данных от частоты регенерации выражается формулой:
Fтет = W x H x Fрег / 4 для однопанельных дисплеев,
Fтет = W x H x Fрег / 8 для двухпанельных дисплеев.
Очевидно, что частота считывания данных из ОЗУ будет равна половине Fтет для однопанельных дисплеев и Fтет для двухпанельных. Fтет для ЖКМ 320х240 при частоте регенерации 60 Гц составит 1.152 МГц. В принципе существуют микроконтроллеры, способные обеспечить такую частоту, но вычислительных ресурсов для выполнения других операций у них не останется. При увеличении разрешения частота будет расти, и использование микроконтроллера для регенерации будет все более и более нереальным.
Дешевле и логичнее для регенерации содержимого ОЗУ на ЖКИ использовать ПЛИС. Алгоритмически задача регенерации является простейшей, и быстродействия самой "медленной" ПЛИС будет достаточно для ее реализации. В результате получаем следующую структуру контроллера ЖКМ:
Рис. 3. Структура контроллера ЖКМ
Флэш служит для хранения данных: прошивки ПЛИС, таблицы символов, изображений, иконок и т.д. Микроконтроллер выполняет команды извне: отрисовку линий, вывод текста, поддержка курсора, вывод изображений, закрашивание областей. Требования к МК и флэш определяются требованиями конкретной системы: может оказаться достаточным только выводить текст, а может потребоваться и реализация Embedded OpenGL.
ПЛИС занимается только тем, что регенерирует ЖКИ. Использование нескольких страниц в видеоОЗУ позволяет перерисовывать одну страницу, пока отображается другая. Это снижает требования к быстродействию МК. ПЛИС также обеспечивает "прозрачные" запись и считывание содержимого ОЗУ микроконтроллером, что позволяет ему работать с видеоОЗУ как со своим собственным внешним ОЗУ.
Внешний вид опытного образца контроллера ЖКМ, построенного по описанной схеме, представлен на рис. 4.
Рис. 4. Опытный образец контроллера с подключенным ЖКМ HDM3224-1-500F
Контроллер предназначен для обеспечения работы как однопанельного ЖКМ 320х240 (HDM3224-1-500F фирмы Hantronix), так и двухпанельного 640х480 (PG640480FRT-ANN-I фирмы Powertip). Для каждого из них имеется отдельный разъем и отдельная схема формирования напряжения питания для ЖК.
В этом контроллере команды управления принимаются по RS-232C микроконтроллером AT89S53. Он имеет SPI-интерфейс и большую память программ, что позволяет реализовать полный набор функций.
Схема регенерации построена на основе FPGA EPF8282 фирмы Altera. Она сравнительно дешева и обладает достаточной емкостью для реализации соответствующего цифрового автомата. При включении системы микроконтроллер считывает конфигурацию из флэш AT45D081A и загружает ее в ПЛИС.
Микросхема флэш-памяти AT45D081A емкостью 8 Мбит может хранить более 25 монохромных изображений разрешением 640х480 пикселов. Для большинства задач этого должно быть достаточно.
Контроллер имеет две страницы памяти: отображаемую и записываемую. Переключение страниц осуществляется микроконтроллером. Для хранения содержимого экрана разрешением 640х480 нужно 38400 байт, поэтому для хранения двух страниц используется ОЗУ емкостью 128КБайт.
Волович Александр
Лаборатория интеллектуальных измерительных приборов
C этой схемой также часто просматривают: |
Контроллер шагового двигателя Контроллер двухцветного светового шнура Flexilight Вывод бегущей строки на ЖКИ дисплей 2х24 Малогабаритный частотомер-цифровая шкала до 200 МГц с ЖКИ дисплеем Автоматический контроллер для просмотра стереоизображения. Низкочастотный синусоидальный генератор с шагом сетки 0,01 Гц Применение кода RC-5 Автомобильные часы-термометр-вольтметр Имитатор touch-memory DS1990A
|