ЖК-дисплеи Winstar сохраняют параллельный интерфейс и поддерживают последовательный

15 марта 2023

системы безопасностиучёт ресурсовинтернет вещейуниверсальное применениеWinstar DisplayстатьяоптоэлектроникаArduinoLCDДисплеи

Александр Калачев (г. Барнаул)

Компания Winstar предлагает широкий ассортимент текстовых ЖК-дисплеев серий WH0802, WH1202, WH1601, WH1602, WH1604, WH2002, WH2004, WH2402 и WH4002, которые поддерживают интерфейсы 6800, I2C и SPI.

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

Рис. 1. ЖК-дисплей с подключенным модулем преобразователя интерфейса в I2C

Рис. 1. ЖК-дисплей с подключенным модулем преобразователя интерфейса в I2C

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

Winstar предлагает модели ЖК-дисплеев со встроенной поддержкой последовательных интерфейсов при сохранении совместимости с привычным параллельным интерфейсом (рисунок 2):

  • WH1602 (2 линии по 16 символов);
  • WH2002 (2 линии по 20 символов);
  • WH2004 (4 линии по 20 символов).

Рис. 2. ЖК-дисплей WH1602 со встроенной поддержкой последовательных интерфейсов

Рис. 2. ЖК-дисплей WH1602 со встроенной поддержкой последовательных интерфейсов

Дисплеи данных серий управляются встроенным контроллером RW1063, который поддерживает как параллельный интерфейс 6800, так и последовательные I2C и SPI (таблица 1).

Таблица 1. Распиновка выводов дисплеев с контроллером RW1063

№ вывода. Обозначение Описание
1 Vss Общий провод
2 Vdd Напряжение питания
3 V0 Настройка контраста
4 RS Селектор «команда/данные»
5 RW Чтение/запись (для интерфейса 6800 8/4 бит)
6 E Сигнал разрешения (для интерфейса 6800 8/4 бит)
7 DB0/SA0 Бит 0 для интерфейса 6800/линия адреса SA0 для I2C
8 DB1/SA1 Бит 1 для интерфейса 6800/линия адреса SA1 для I2C
9 DB2 Бит 2 для интерфейса 6800
10 DB3 Бит 3 для интерфейса 6800
11 DB4 Бит 4 для интерфейса 6800
12 DB5/CSB/CSB Бит 5 для интерфейса 6800/линия CSB для интерфейсов I2C/SPI
13 DB6/SDA/SCLK Бит 6 для интерфейса 6800/линия SDA для интерфейса I2C, SCLK для SPI
14 DB7/SCL/SID Бит 7 для интерфейса 6800/линия SCL для интерфейса I2C, SID для SPI
15 A+ Анод подсветки «+»
16 K- Катод подсветки «-»

Для регулировки контраста на вывод V0 подается сигнал от среднего вывода переменного резистора с номиналом в пределах 10…20 кОм, подключенного между питающим напряжением и общим проводом (рисунок 3).

Рис. 3. Пример схемы регулировки контраста

Рис. 3. Пример схемы регулировки контраста

Способы подключения ЖК-дисплеев с RW1063 к Arduino Uno

Варианты подключения ЖК-дисплеев Winstar к Arduino (на примере Arduino Uno) представлены на рисунке 4. На нем можно видеть, что варианты с SPI/I2C требуют меньше линий. Поскольку на платах Arduino Uno на выводах I2C уже установлены подтягивающие резисторы, на соответствующей схеме подключения они не показаны.

Рис. 4. Варианты подключения ЖК-дисплеев к ArduinoUno: а) подключение по I2C; б) подключение по SPI; в) интерфейс 6800, 4-битный вариант; г) интерфейс 6800, 8-битное подключение

Рис. 4. Варианты подключения ЖК-дисплеев к ArduinoUno: а) подключение по I2C; б) подключение по SPI; в) интерфейс 6800, 4-битный вариант; г) интерфейс 6800, 8-битное подключение

Выигрыш в количестве свободных выводов несколько сглаживается рядом ограничений, которые, однако, проявляются далеко не в каждом случае – не все коммуникационные интерфейсы поддерживают полный набор команд ЖК-модулей. Так, в интерфейсе SPI отсутствует линия управления RW и контакты MISO, поэтому нет команды чтения. Линия управления RS применяется для обозначения команд или данных, посылаемых модулю.

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

На рисунках 5 и 6 представлены временные диаграммы передачи команд и данных ЖК-модуля при помощи SPI-интерфейса. Он немного отличается от классического варианта SPI-интерфейса тем, что задействуется дополнительная линия RS для идентификации типа передаваемых данных.

Рис. 5. Временные диаграммы подачи команды модулю по SPI

Рис. 5. Временные диаграммы подачи команды модулю по SPI

Рис. 6. Временные диаграммы передачи данных модулю по SPI

Рис. 6. Временные диаграммы передачи данных модулю по SPI

На рисунках 7 и 8 представлены временные диаграммы сигналов при работе с ЖК-дисплеем по шине I2C. Управление модулем по интерфейсу I2C заключается в отправке трехбайтной посылки. Нулевой бит второго байта, отмеченного на рисунках как «А0», указывает тип третьего байта – команду модулю или данные для отображения.

Рис. 7. Временные диаграммы интерфейса I2C при передаче команды

Рис. 7. Временные диаграммы интерфейса I2C при передаче команды

Рис. 8. Временные диаграммы интерфейса I2C при передаче данных

Рис. 8. Временные диаграммы интерфейса I2C при передаче данных

На рисунке 9 приведены возможные примеры изображения на дисплеях при различном контрасте. Следует отметить, что его настройка индивидуальна для каждого дисплея и выбор подходящего уровня контраста производится с помощью потенциометра.

Рис. 9. Пример установки различной степени контраста на дисплее

Рис. 9. Пример установки различной степени контраста на дисплее

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

  • Шаг 1: задаем количество символов в одной строке дисплея:

#define LCM_MAX_COLS (16u) – устанавливаем 16 символов в одной строке;
  • Шаг 2: устанавливаем количество строк дисплея:

#define LCM_MAX_ROWS (2u) – устанавливаем максимум в 2 строки;
  • Шаг 3: настраиваем тип интерфейса дисплея:

#define LCM_INTERFACE_TYPE LCM_INTERFACE_I2C – задаем интерфейс I2C;
  • Шаг 4: компилируем программу и загружаем ее на плату.

Полный код примера работы с дисплеями можно запросить на сайте Winstar.

•••

Наши информационные каналы

О компании Winstar Display

Winstar Display Co.,Ltd. (Winstar) – крупнейший в Юго-Восточной Азии и один из ведущих в мире производителей промышленных решений для отображения информации (дисплеев и дисплейных модулей). Компания была основана близ города Тайчжун на западе Тайваня в 1998 году. Winstar – ведущий на мировом рынке производитель малых и средних дисплеев. Бизнес-модель компании LVHM (Low-Volume/High-Mix) позволяет клиентам размещать заказы на стандартную продукцию без ограничения на ее минимальное количество. Wi ...читать далее

Товары
Наименование
WH0802A-NGG-CT# (WINSTAR)
 
WH0802A-TMI-CT# (WINSTAR)
 
WH0802A-TMI-CT (WINSTAR)
 
WH1202A-NGG-CT# (WINSTAR)
 
WH1602A-NGG-CT# (WINSTAR)
 
WH1602A-YGH-CTK# (WINSTAR)
 
WH1604A-TMI-CT# (WINSTAR)
 
WH2002A-YGH-CT# (WINSTAR)
 
WH2004A-TMI-CT# (WINSTAR)