Контроллер HD44780 потенциально может управлять 2-мя строками по 40 символов в каждой (для модулей с 4-мя строками по 40 символов используются два однотипных контроллера), при матрице символа 5 х 7 точек.[6]
Изучая каталоги различных фирм-производителей ЖКИ-модулей, можно убедиться, что одни форматы и конструктивы являются собственными разработками и не обнаруживают аналогов в номенклатуре остальных фирм, другие являются фактическими стандартами и производятся большинством изготовителей. В качестве примера можно назвать ЖКИ-модуль формата 24 х 2, именуемый PC2402-A у Powertip, ED24200 у EDT, DMC-24227 у Optrex, SC2402A у Bolymin, MDLS-24265 у Varitronix, PVC240202 у Picvue и др., все эти модули имеют одинаковые конструктивные размеры и являются взаимозаменяемыми.
В рамках одного конструктива ЖКИ-модуль может иметь еще ряд модификаций. В частности, могут применяться несколько типов ЖКИ, отличающихся цветом фона и цветом символов, а также по применяемым ЖК-материалам и структуре: TN, STN и FSTN типа. ЖКИ STN и FSTN типа имеют более высокую стоимость, но одновременно обладают повышенной контрастностью и вдвое большим максимальным углом обзора, причем ЖКИ FSTN типа имеют лучшие характеристики, чем STN.
ЖКИ-модули могут оснащаться задней подсветкой, размещаемой между ЖКИ и печатной платой, для чего ЖКИ производятся с полупрозрачным или прозрачным задним слоем (в последнем случае считывание информации возможно только при наличии подсветки). Собственно подсветка может быть реализована несколькими способами: с помощью электролюминесцентной панели, представляющей собой тонкую пленку, излучающую свет при прикладывании переменного тока повышенного напряжения порядка 100...150 В; люминисцетной лампой с холодным катодам (также работающей при повышенном напряжении), излучение которой равномерно распределяется по всей площади ЖКИ с помощью отражателя или плоского счетовода; третий вариант - подсветка на основе светодиодной матрицы.
Первые два способа подсветки обеспечивают высокую яркость и могут иметь белый тон свечения при относительно низком потреблении, но требуют наличия источника повышенного напряжения, что создает некоторые трудности при создании аппаратуры с автономным питанием. Напротив, светодиодная подсветка не требует высоковольтного источника (прямое падение напряжения составляет 4,2 В) и при использовании несложного источника тока позволит производить питание от источника с напряжением 5 В диапазоне температур (-20°С...+70°С).[7]
Для соединения ЖКИ-модуля с управляющей системой используется параллельная синхронная шина, насчитывающая 8 или 4 (выбирается программно) линий данных DB0...DB7, линию выбора операции R/W, линию выбора регистра RS и линию стробирования/синхронизации Е. Кроме линий управляющей шины имеются две линии для подачи напряжения питания 5 В - GND и VCC, и линия для подачи напряжения питания драйвера ЖКИ - V0.
Рис 2.4.2. Подача питания на ЖКИ-модуль
На начальном этапе необходимо подать питание на ЖКИ-модуль и добиться от него признаков работоспособности. Схема включения модуля, рассчитанного на стандартный диапазон температур, показана на рис.2.4.2а. Подстроечный резистор R1 позволяет плавно менять напряжение питания драйвера ЖКИ, что приводит к изменению угла поворота жидких кристаллов. Этим резистором можно отрегулировать фактическую контрастность при некотором преимущественном угле наблюдения (снизу-вверх или сверху-вниз). Включение в данную схему ЖКИ-модуля, рассчитанного на расширенный диапазон температур, не приведет к успеху, так как из-за особенностей применяемых в них ЖК-материалов, эти ЖКИ требуют повышенного напряжения питания и при питании напряжением 5 В изображение либо будет отсутствовать совсем, либо будет слабоконтрастным. Для преодоления ситуации необходимо подать на вывод V0 отрицательное напряжение (напряжение на ЖКИ определяется разностью VCC и V0), составляющее в предельном случае - 5 В. Если в схеме отсутствует источник отрицательного напряжения, то не составляет труда собрать простейший преобразователь, например, по схеме на рис 2.4.2б.
Для активизации ЖКИ-модуля подается напряжение питания и регулируется движок резистора R1 (рис. 2.4.2). После окончания цикла внутренней инициализации модуль включается в режим развертки одной верхней строки. При изменении напряжения на выводе V0 сегменты этой строки должны менять свое состояние от прозрачного до непрозрачного, что является свидетельством правильного подключения питания модуля и работоспособности контроллера и драйверов ЖКИ. Движок устанавливается в такое положение, при котором изображение сегментов в верхней строке едва проступает на основном фоне ЖКИ. Теперь ЖКИ-модуль готов к приему и отображению информации. После того, как появится отображения на индикаторе какого-либо текста, можно более точно отрегулировать изображение в соответствии с необходимой контрастностью и требуемым углом наблюдения.
Для соединения модуля с управляющей системой можно выбрать один из двух вариантов: по 8-ми или 4-х разрядной шине. В первом случае потребуется 11 сигнальных линий, во втором - только 7. Сам процесс обмена также может быть организован двояко.
Можно подключить ЖКИ-модуль к системной шине (если таковая имеется) и выполнить обмен в синхронном режиме с максимальной скоростью. Но это может потребовать введения дополнительных схем для замедления скорости работы шины при выполнении операций обмена с ЖКИ-модулем, и подключение к системной шине в большинстве случаев потребует вводить схемы дешифрации и формирования сигналов Е и R/W, что опять приведет к дополнительным затратам. Все сказанное выше не означает, что вариант с подключением к шине принципиально неэффективен. В какой-то конкретной системе этот способ, наоборот, может быть самым оптимальным. Кроме того, некоторые современные процессоры, например, семейство МС68НС12, имеет встроенные средства для формирования сигналов выборки (CS), с возможностью программно определить скорость обмена с каждым конкретным устройством.
Другой вариант обмен с ЖКИ-модулем выполняется чисто программными средствами, через порты ввода-вывода. Вариант соединения с системной шиной, напротив, требует рассмотрения конкретных устройств, поэтому необходимо изучить временные диаграммы операций чтения и записи, приведенные на рис 2.4.4 и 2.4.5, а также значения временных параметров, приведенные в табл.2.4.5, 6 и сконструировать соответствующие управляющие схемы.
В данной работе используется именно этот вариант.
Рис 2.4.3 Подключение к управляющей системе
В соответствии с временной диаграммой (рис.2.4.4, 5 ) в исходном состоянии сигнал Е = 0, сигнал R/W = 0, значение сигнала RS - произвольное, шина данных DBO...DB7 в состоянии высокого импеданса (НI). Такое состояние управляющих сигналов (E и R/W) должно поддерживаться все время в промежутках между операциями обмена с ЖКИ-модулем. Шина данных в эти моменты в принципе свободна, и может использоваться в мультиплексном режиме для каких-либо других целей, например, для сканирования матрицы клавиатуры. Естественно, необходимо позаботиться об исключении конфликтов на шине данных в момент совершения операций обмена с ЖКИ-модулем.[8]
Последовательности действий, которые необходимо выполнять управляющей системе при совершении операций записи и чтения для 8-ми и 4-х разрядной шины приведены соответственно в табл 2.4.1...4.
Таблица 2.4.1 Операции записи для 8-ми разрядной шины
1.Установить значение линии RS |
2.Вывести значение байта данных на линии шины DB0...DB7 |
3.Установить линию Е = 1 |
4.Установить линию E = 0 5.Установить линии шины DB0...DB7 = HI |
Таблица 2.4.2 Операции чтения для 8-ми разрядной шины
1.Установить значение линии RS |
2.Установить линию R/W = 1 |
3.Установить линию Е = 1 |
4.Считать значение байта данных с линий шины DB0...DB7 |
5.Установить линию Е = 0 |
6.Установить линию R/W = 0 |
Таблица 2.4.3 Операция записи для 4-х разрядной шины
1.Установить значение линии RS |
2.Вывести значение старшей тетрады байта данных на линии шины DB4...DB7 |
3.Установить линию Е = 1 |
4.Установить линию Е = 0 |
5.Вывести значение младшей тетрады байта данных на линии шины DB4...DB7 |
6.Установить линию Е = 1 |
7.Установить линию Е = 0 |
8.Установить линии шины DB4...DB7 = HI |
Таблица 2.4.4 Операция чтения для 4-х разрядной шины
1. Установить значение линии RS |
2. Установить линию R/W = 1 3. Установить линию Е = 1 |
4. Считать значение старшей тетрады байта данных с линий шины DB4...DB7 |
5. Установить линию Е = 0 |
6. Установить линию Е = 1 |
7. Считать значение младшей тетрады байта данных с линий шины DB4...DB7 |
8. Установить линию Е = 0 |
9. Установить линию R/W = 0 |
Рис 2.4.4. Временная диаграмма операции записи
Рис 2.4.5 Временная диаграмма операции чтения
Приведенные в табл 2.4.1...4 операции подразумевают, что время выполнения каждого шага составляет не менее 250 нс. Однако это условие может быть легко нарушено, поэтому необходимо тщательно контролировать минимальные значения временных интервалов, чтобы они всегда находились в области допустимых значений, указанных в таблице 2.4.5, 6 и при необходимости вводить задержки.