CH1116 заменит SSD1309: OLED-дисплеи Winstar на базе нового контроллера
8 октября 2022
Неопределенности в сроках поставок популярного драйвера OLED-дисплеев SSD1309 подтолкнули компанию Winstar к разработке дисплеев на основе нового драйвера – CH1116.
SSD1309 и CH1116 pin-to-pin-совместимы (рисунок 1), но с некоторыми оговорками, которые касаются номиналов внешних компонентов и уровней напряжения питания.
Значения напряжения питания драйверов достаточно близки: у SSD1309 диапазон составляет 7…16 В, у CH1116 – 6,4…14 В. Особого внимания требует резистор R1, который отвечает за уровень яркости: для CH1116 он рассчитывается несколько сложнее, чем для SSD1309 (формула 1).
$$R_{1}=\left[\frac{|(Напряжение\:на\:IREF-VSS)}{IREF} \right]-150\:кОм \geq \left[\frac{(VPP-3.5)\:В}{18.75\:мкА} \right]\qquad{\mathrm{(}}{1}{\mathrm{)}}$$

Рис. 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 |
Наши информационные каналы