Изменение или исчезновение многих логистических цепочек привело к дефициту микроэлектронных изделий во многих отраслях, в том числе и в оптоэлектронике. Неопределенности в сроках поставок популярного драйвера OLED-дисплеев SSD1309 подтолкнуло компанию Winstar к разработке дисплеев на основе нового драйвера – CH1116.
SSD1309 и CH1116 pin-to-pin-совместимы (рисунок 1), но с некоторыми оговорками, которые касаются номиналов внешних компонентов и уровней напряжения питания.
Значения напряжения питания драйверов достаточно близки: у SSD1309 диапазон составляет 7…16 В, у CH1116 – 6,4…14 В. Особого внимания требует резистор R1, который отвечает за уровень яркости: для CH1116 он рассчитывается несколько сложнее, чем для SSD1309 (формула 1).
Рис. 1. Схема включения драйвера CH1116
Одним из решающих факторов является программная совместимость драйверов, поскольку переписывание значительной части кода проекта, пусть только на нижнем уровне (уровне драйверов) – это увеличение издержек на разработку и поддержание проекта, а также потенциальный источник ошибок.
Команды управления драйверами SSD1309 и CH1116 почти полностью совместимы. Однако ощутимые различия существуют: целый ряд команд SSD1309 у CH1116 не поддерживается (эффект просто отсутствует), а некоторые команды имеют другие параметры [1].
В программном плане контроллеры сильно отличаются:
по режимам адресации: у CH1116 поддерживается только один – адресация страниц;
по поддерживаемому разрешению дисплея: у CH1116 132х64, у SSD1309 128х64;
по наличию программно-управляемого преобразователя напряжения: у SSD1306 он отсутствует.
Для решения проблем программной совместимости компания Winstar предлагает простую модификацию кода инициализации контроллеров, которая, благодаря функции "блокировка команд" контроллера SSD1306, подходит одновременно и для CH1116, позволяя в едином исходном тексте нивелировать разницу в системе команд контроллеров (листинг 1).
Листинг 1. Последовательность универсальной инициализации контроллеров SSD1306/CH1116
0xAE // Display off
0xA8 // Select Multiplex Ratio
0x3F // 1/64 Duty
0xD3 // Setting Display Off
0x00 // Reset
0x20 // Set Memory Addressing Mode
0x02 // Page Addressing Mode
0x00 // Set Column Address LSB
0x10 // Set Column Address MSB
0x40 // Set Display Start Line
0xDB // Set Deselect Vcomh level
0x34
0x81 // Set Contrast Control
0x7F
0xD5 // Set Display Clock
0x70
0xA0 // Set Segment Re-Map
// column address 0 is mapped to SEG0
0xC0 // Set COM Output Scan Direction
0xDA // Set COM Hardware Configuration
0x12 // Alternative COM Pin
0xD9 // Set Per-Charge period
0x22
0xFD // Set Command Lock
0x16 // Lock SSD1309
// CH1116 Specific
0xAD // Master Configuration
0x8A // Select External VCC Supply
0x82 // IREF Resistor Set
0x00 // External Resistor
0x81 // Set Contrast Control
0xFF
0xD5 // Set Display Clock
0x12
0xFD // Set Command Lock
0x12 // Unlock SSD1309
0xA4 // Set Entire Display ON
0xA6 // Set Normal Display
0xAF // Display On
В целом при корректных номиналах элементов обвязки, коде инициализации, при необходимости – корректировке кода для отображения контроллеры SSD1306 и CH1116 являются взаимозаменяемыми.
Дисплеи Winstar на основе драйвера CH1116 на сегодня доступны для заказа и не имеют потенциальных проблем со сроками производства и доставки (таблица 1).
Таблица 1. Доступные на текущий момент варианты OLED-дисплеев Winstar
Наименование OLED-дисплея | |
Серия на базе SSD1309 | Серия на базе CH1116 |
WEO012864J | WEP012864AJ |
WEO012864G | WEO012864AJ |
WEF012864H | |
WEO012864K | WEO012864AK |
WEF012864Q | |
WEO012864A | WEO012864AE |
Источник: www.compel.ru