Контроллер графического ЖКИ высокого разрешения



Категория: Микроконтроллеры


При проектировании систем с использованием жидкокристаллических модулей (ЖКМ) высокого разрешения (320х200 пикселов и более), перед разработчиком встает проблема выбора контроллера для него. Некоторые из ЖКМ с разрешением 320х200 имеют встроенный контроллер, но ЖКМ более высокого разрешения выпускаются без встроенного контроллера, и для их использования в систему нужно ставить плату контроллера. Такие платы выпускаются многими зарубежными фирмами, они построены на базе специализированных БИС типа SED1330/1335 (Epson) и обладают обширным набором функций (поддержка курсора, вывод текста с использованием знакогенератора и т.п.). Но эти платы имеют два существенных недостатка: 1) Они достаточно дороги - стоят около 100...130 USD; 2) Из-за низкого спроса на такие контроллеры они поставляются в Россию только на заказ, поэтому задержка при разработке системы составит в лучшем случае месяц. Это же относится и к SED1335.

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

 

Работа с ЖКМ

        Жидкокристаллический модуль состоит из двух основных частей: собственно жидкокристаллического индикатора и платы драйверов индикатора. Плата драйверов соединяется с ЖКИ линейками контактов для столбцов и строк. Пример структуры ЖКМ приведен на рис. 1.

width=710>
Рисунок не помещается на странице и поэтому сжат!
Для того, чтобы просмотреть его полностью, щелкните здесь.


Рис 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КБайт.

        Волович Александр

        Лаборатория интеллектуальных измерительных приборов



[






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.