SSD1322: контроллер/драйвер для дисплеев OLED/PLED Печать
Добавил(а) microsin   

SSD1322 является однокристальным драйвером CMOS для дисплеев OLED/PLED (матричный экран на основе органических/полимерных светодиодов), совмещенным с контроллером. Он состоит из 480 сегментов и 128 общих линий. Микросхема разработана в расчете на панели OLED/PLED с общим катодом.

SSD1322 отображает данные напрямую из внутренней памяти 480 x 128 x 4 бит Graphic Display Data RAM (GDDRAM). Данные и команды передаются от управляющего микроконтроллера через интерфейс, режим работы который может быть выбран аппаратно (доступны варианты параллельного интерфейса в стиле шин MCU 6800 или 8080, а также варианты последовательной шины SPI). Микросхема драйвера обеспечивает управление регулировкой контрастности в 256 шагов, и может использоваться во многих индустриальных и автомобильных приложениях. На фото показан индикатор WEX025664CLPP3N00000 компании Winstar, построенный на контроллере SSD1322:

WEX025664 back side

[2. Основные возможности SSD1322]

• Матрица точек 480 x 128
• Напряжения питания:
   VDD = 2.4V..2.6V (питание ядра, может быть получено внутренним регулятором напряжения от входного напряжения VCI)
   VDDIO = 1.65V..VCI (логический интерфейс с микроконтроллером)
   VCI = 2.4V - 3.5V (низкое напряжение питания)
   VCC = 10.0V – 20.0V (питание драйвера панели)
Примечание: когда VCI меньше чем 2.6V, VDD должен быть предоставлен от внешнего источника питания.

• Параметры для матричного дисплея:
   Максимальный вытекающий ток сегмента: 300 µA
   Максимальный втекающий ток общего вывода: 80 mA
   Управление контрастностью и яркостью 256 градаций, 16 градаций главного управления током

• Для каждой точки поддерживается 16 уровней серого благодаря встроенной буферной памяти экрана 480 x 128 x 4 бит SRAM
• Можно выбрать разные типы интерфейсов с микроконтроллером:
   Параллельный 8-разрядный в стиле шин микропроцессоров 6800 или 8080
   3/4-проводный SPI

• Выбираемый режим вытекающего общего тока (Common current sinking):
   Dual COM mode
   Single COM mode

• 8-разрядная программируемая таблица градаций серого (Gray Scale Look Up Table)
• Защита по питанию (High Power Protection)
• Программируемые скорости смены фреймов и мультиплексирования (Frame Rate и Multiplexing Ratio)
• Перепрограммируемая привязка строк и столбцов (Row re-mapping и Column re-mapping)
• Режим сна, когда ток потребления < 10µA
• Рабочий диапазон температур -40°C..85°C.

Таблица 3-1. Варианты исполнения контроллера, доступные для поставки.

Ordering Part Number SEG COM Тип упаковки Примечание
SSD1322Z2 480 128 Gold bump Die • Min шаг SEG: 25µm
• Min шаг COM: 35µm
• Толщина: 300±15µm
SSD1322UR1 256 64 (двойной COM) COF • 70mm film, 5 SPH
• Интерфейсы 8-bit 8080/6800/SPI
• SEG, COM шаг выводов 0.12mm x 0.999 = 0.11988mm
• Также поддерживается 128 MUX (одиночный COM)
• Толщина: 457±25µm

Примечание: вариант поставки SSD1322Z2 может быть интересен только для производителей индикаторов, поэтому ниже приведена только цоколевка для варианта SSD1322UR1 (для получения полной информации см. даташит ssd1322.pdf из архива [1]).

SSD1322UR1 Pin Assignment fig6 1

Рис. 6-1. Цоколевка интерфейса варианта поставки SSD1322UR1.

SSD1322 Block Diagram fig4 1

Рис. 4-1. Блок-схема SSD1322.

[7. Описание выводов]

Легенда для типа вывода:

I вход
O выход
IO двунаправленный сигнал (input/output)
P вывод для питания
NC не подключено

Таблица 7-1. Описание выводов SSD1322.

Мнем. Тип Описание
VDD P Вывод питания (вход или выход) для функционирования логики ядра. Между выводом VDD и VCC нужно подключить развязывающий конденсатор. Подробнее см. секцию 8.10.
VDDIO P Вывод питания (вход) для логики интерфейса ввода/вывода. Определяет логические уровни обмена данными. VDDIO должен соответствовать уровням сигналов интерфейса микроконтроллера.
VCI P Вывод низковольтного питания (вход). Напряжение на VCI должно быть равно или выше напряжения на VDD и VDDIO.
VCC P Вывод питания (вход) для силовой логики панели. Это самое высокое положительное напряжение, которое подается на контроллер (обычно +15..18V).
VDD1 P Вывод питания (вход), который должен быть подключен к VDD.
VSS P Общий провод (земля, GND).
VLSS P Общий провод аналоговых схем.
VCOMH P Уровень напряжения для не выбранного состояния COM. Между VCOMH и VSS должен быть подключен развязывающий конденсатор.
BGGND P Этот вывод должен быть соединен с общим проводом.
GPIO0, GPIO1 IO Зарезервировано для будущего использования. Эти выводы не должны быть подключены.
VSL P Опорное напряжение для SEG. Когда используется VSL, его нужно через резистор и диод соединить с общим проводом (подробности зависят от приложения).
BS0, BS1 I Выводы для выбора режима работы интерфейса с микроконтроллером, подробнее см. секцию 8.1.
IREF I Этот вывод задает опорный ток для выходного тока SEG. Между IREF и VSS должен быть подключен резистор, через который течет ток порядка 10µA. Для вычисления номинала резистора см. формулу в секции 8.6.
M/S# I Этот вывод должен быть подключен к VSS, чтобы разрешить работу кристалла.
CL IO Вывод для тактов. Когда разрешена внутренняя генерация тактового сигнала (на CLS подана лог. 1), то этот вывод не используется, и должен быть подключен к общему проводу. Когда запрещена внутренняя генерация тактового сигнала (на CLS подан лог. 0), то это вход, на который нужно подать внешний сигнал тактирования.
CLS I Выбор сигнала внутреннего тактирования. Когда на этот вывод подана лог. 1, то разрешена работа внутреннего генератора (нормальный рабочий режим). Когда на этот вывод подан лог. 0, то на вывод CL должен быть подан внешний тактовый сигнал.
CS# I Это вывод для выборки внешнего интерфейса (chip select), который подключается к микроконтроллеру. Обмен данными с микроконтроллером возможен только тогда, когда на CS# подан лог. 0.
RES# I Вывод для сигнала сброса. Когда на него подан лог. 0, то выполняется инициализация контроллера. Во время нормальной работы на вводе RES# должен удерживаться уровень лог. 1.
D/C# I Это вывод для управления подачей данных (когда лог. 1) или команды (когда лог. 0).
R/W# (WR#) I Это вход для управления чтением/записью интерфейса с микроконтроллером.
Когда выбран режим интерфейса 6800, этот вывод работает как выбор режима чтения или записи (R/W#). Режим чтения выбран, когда на этом входе лог. 1, и режим записи, когда лог. 0.
В режиме интерфейса 8080 этот вход работает как сигнал разрешения записи (WR#). Режим записи данных инициируется, когда этот вход переводится в лог. 0 и работа интерфейса разрешена (CS# также в лог. 0).
В режиме последовательного интерфейса SPI этот вывод не используется, и должен быть подключен к VSS.
E (RD#) I Это управляющий вход интерфейса с микроконтроллером.
Когда выбран режим интерфейса 6800, этот вывод работает как разрешения чтения или записи (E). Режим чтения/записи инициируется, когда на этом выводе лог. 1 и работа интерфейса разрешена (CS# == лог. 0).
В режиме интерфейса 8080 этот вход работает как сигнал разрешения чтения (RD#). Режим чтения данных инициируется, когда этот вход переводится в лог. 0 и работа интерфейса разрешена (CS# также в лог. 0).
В режиме последовательного интерфейса SPI этот вывод не используется, и должен быть подключен к VSS.
D7..D0 IO В режиме 8-разрядных шин это двунаправленная шина данных для связи с микроконтроллером. В режиме SPI сигналы D7..D3 не используются, и должны быть подключены к VSS, сигнал D2 также не используется и должен оставаться не подключенным, и сигналы D1 и D0 используются для обмена данными с микроконтроллером. Подробности см. в секции 8.1.
DN9..DN0 IO Эти выводы зарезервированы для будущего использования и должны быть подключены к VSS.
FR O Этот вывод не должен быть никуда подключен.
DOF# O Этот вывод не должен быть никуда подключен.
SEG479..SEG0 O Эти выводы предназначены для управления сегментами панели OLED. Когда панель выключена, то на этих выводах уровень VSS.
COM127..COM0 O Эти выводы предназначены для управления общими сигналами панели OLED. Когда панель выключена, то эти выводы находятся в состоянии высокого сопротивления.

Примечание: серым шрифтом показаны сигналы, которые не выходят на внешний коннектор 30-pin коннектора в варианте поставки SSD1322UR1.

[8. Функциональное описание блоков]

8.1. Варианты организации интерфейса с микроконтроллером.

Интерфейс с микроконтроллером у SSD1322 состоит из 8 выводов для данных и 5 выводов управления. Режим интерфейса может быть выбран аппаратно, путем установки уровней выводов BS0 и BS1:

BS[1:0] Тип выбранного интерфейса
00 4-проводный SPI
01 3-проводный SPI
10 8-бит параллельная шина 8080
11 8-бит параллельная шина 6800

Примечание: 0 когда сигнал BSx соединен с VSS, 1 когда BSx соединен с VDDIO.

Назначение выводов для разных режимов интерфейса сведено в таблицу 8-1.

Таблица 8-1. Назначение выводов интерфейса с микроконтроллером в разных режимах.

Тип интерфейса Интерфейс данных/команд Сигналы управления
D7 D6 D5 D4 D3 D2 D1 D0 E R/W# CS# D/C# RES#
8-бит 8080 D[7:0] RD# WR# CS# D/C# RES#
8-бит 8080 E R/W#
3-проводный SPI Лог. 0 NC MOSI SCLK Лог. 0 Лог. 0
4-проводный SPI D/C#

Примечание: лог. 0 означает соединить с общим проводом VSS, NC означает никуда не подключено.

Параллельный интерфейс в этом режиме состоит из 8 двунаправленных сигналов данных (D[7:0]), и сигналов управления R/W#, D/C#, E и CS# (входы). Лог. 0 на R/W# говорит об операции записи, и лог. 1 на R/W# об операции чтения. Лог. 0 на D/C# говорит о чтении/записи команды, и лог. 1 о чтении /записи данных. Вход E предназначен для защелкивания данных, когда сигнал CS# находится в состоянии лог. 0. Данные защелкиваются по спаду уровня E (переход от лог. 1 к лог. 0).

Таблица 8-2. Состояние сигналов управления шины 6800.

Функция E R/W# CS# D/C#
Запись команды H->L L L L
Чтение состояния H->L H L L
Запись данных H->L L L H
Чтение данных H->L H L H

Примечания:

H->L означает переход сигнала от лог. 1 к лог. 0
H означает лог. 1
L означает лог. 0

Чтобы обеспечить соответствие рабочей частоты буферной памяти с работой микроконтроллера, внутри контроллера выполняется некоторая конвейеризация, которая требует вставки пустой команды чтения перед первым актуальным чтением данных. Это показано на рис. 8-1.

SSD1322 Data read back insertion dummy read fig8 1

Рис. 8-1. Как происходит обратное чтение данных: вставка пустой операции чтения.

Параллельный интерфейс в этом режиме состоит из 8 двунаправленных сигналов данных (D[7:0]), и сигналов управления RD#, WR#, D/C# и CS#. Лог. 0 на D/C# говорит о чтении/записи команды, и лог. 1 о чтении /записи данных. Нарастание уровня сигнала RD# работает как защелкивание данных при операции чтения, когда CS# находится в лог. 0. Нарастание уровня сигнала WR# работает как защелкивание данных при операции записи данных/команды, когда CS# находится в лог. 0.

SSD1322 Write 8080 fig8 2

Рис. 8-2. Пример операции записи в режиме параллельного интерфейса 8080.

SSD1322 Read 8080 fig8 3

Рис. 8-3. Пример операции чтения в режиме параллельного интерфейса 8080.

Таблица 8-3. Состояние сигналов управления шины 8080.

Функция RD# WR# CS# D/C#
Запись команды H L->H L L
Чтение состояния L->H H L L
Запись данных H L->H L H
Чтение данных L->H H L H

Примечания:

L->H означает переход сигнала от лог. 0 к лог. 1
H означает лог. 1
L означает лог. 0

См. также рис. 13-2 и параметры интервалов времени интерфейса 8080.

Чтобы обеспечить соответствие рабочей частоты буферной памяти с работой микроконтроллера, внутри контроллера выполняется некоторая конвейеризация, которая требует вставки пустой команды чтения перед первым актуальным чтением данных. Это показано на рис. 8-4.

SSD1322 Display data read back insertion dummy read fig8 4

Рис. 8-4. Как происходит обратное чтение данных: вставка пустой операции чтения.

Последовательный 4-проводный интерфейс состоит из тактового сигнала SCLK, сигнала данных SDIN (MOSI), и управляющих сигналов D/C#, CS#. В режиме SPI сигнал D0 работает как SCLK, D1 как SDIN. Неиспользуемый сигнал D2 должен оставаться в подвешенном состоянии (никуда не подключен), а неиспользуемые сигналы D3..D7, E и R/W# должны быть подключены к общему проводу (GND).

Таблица 8-4. Работа сигналов управления в режиме 4-проводного последовательного интерфейса.

Функция E (RD#) R/W# (WR#) CS# D/C# D0 D2
Запись команды VSS VSS L L L->H NC
Запись данных VSS VSS L H L->H NC

Примечания:

L->H означает переход сигнала от лог. 0 к лог. 1
H означает лог. 1
L означает лог. 0
VSS соединить с общим проводом VSS
NC никуда не подключено

Уровень на входе SDIN (MOSI) вдвигается в 8-битный регистр по каждому фронту (переходу от лог. 0 к лог. 1) тактового сигнала SCLK в порядке следования бит D7, D6, ... D0 (старший бит идет первым). Уровень D/C# считывается по каждому 8-му перепаду тактового сигнала, и данные регистра сдвига будут записаны либо в буферную память дисплея (Graphic Display Data RAM, GDDRAM), либо в регистр команд на том же самом тактовом перепаде. В режиме последовательного интерфейса допускаются только операции записи.

SSD1322 Write 4 wire SPI fig8 5

Рис. 8-5. Операция записи в режиме 4-проводного SPI.

Последовательный 3-проводный интерфейс состоит из тактового сигнала SCLK, сигнала данных SDIN (MOSI), и управляющего сигнала CS#. В режиме SPI сигнал D0 работает как SCLK, D1 как SDIN. Неиспользуемый сигнал D2 должен оставаться в подвешенном состоянии (никуда не подключен), а неиспользуемые сигналы D3..D7, E, R/W# и D/C# должны быть подключены к общему проводу (GND). Все работает точно так же, как и в 4-проводном режиме, отличие только в том, что D/C# не используется. Здесь в целом вдвигаются 9-бит в регистр сдвига в следующем порядке: бит D/C#, затем D7 и далее биты от D6 до D0. Значение бита D/C# (первый бит в последовательности) будет определять, как будет обработан записанный в регистр сдвига байт: или он будет записан в Display Data RAM (когда D/C# = 1), или в регистр команды (D/C# = 0). В режиме последовательного интерфейса допускаются только операции записи.

Таблица 8-5. Работа сигналов управления в режиме 3-проводного последовательного интерфейса.

Функция E (RD#) R/W# (WR#) CS# D/C# D0 D2
Запись команды VSS VSS L VSS L->H NC
Запись данных VSS VSS L VSS L->H NC

Примечания:

L->H означает переход сигнала от лог. 0 к лог. 1
H означает лог. 1
L означает лог. 0
VSS соединить с общим проводом VSS

NC никуда не подключено

SSD1322 Write 3 wire SPI fig8 6

Рис. 8-6. Операция записи в режиме 3-проводного SPI.

Важное замечание по поводу сигнала CS#: несмотря на то, что можно этот сигнал навсегда перевести в лог. 0, и индикатор будет при этом воспринимать команды и данные, такой вариант управления работает ненадежно. Лучше всего переводить сигнал CS# в лог. 0 только перед перед началом передаваемого в индикатор байта данных (или блока из нескольких байт), и переводить его в лог. 1 по окончании передачи (байта или блока). Допустимо передавать весь блок данных (даже все данные экрана целиком), удерживая сигнал CS# в состоянии лог. 0, но перед началом передачи этого блока и по его окончанию CS# должен быть в состоянии лог. 1.

8.2. Схема сброса.

Когда входной сигнал RES# притянут к лог. 0, контроллер SSD1322 инициализируется в следующее состояние:

1. Дисплей выключается
2. Режим отображения переключается в 128 MUX
3. Включается нормальная привязка сегмента и данных экрана к адресу столбца и строки (SEG0 привязан к адресу 00h, и COM0 привязан к адресу 00h)
4. Начальная строка отображения устанавливается на адрес 0 памяти RAM экрана
5. Счетчик адреса столбца устанавливается в 0
6. На выходах COM устанавливается нормальное направление сканирования
7. Регистр управления контрастностью устанавливается в значение 7Fh.

8.3. Буфер экрана GDDRAM.

8.3.1. Структура GDDRAM в режиме градаций серого (Gray Scale mode)

Таблица 8-6 показывает карту памяти GDDRAM, когда GDDRAM находится в Gray Scale mode. В этом режиме поддерживается 16 уровней серого, и под уровень серого для каждой точки выделяется 4 бита (один ниббл). Например D30480[3:0] в таблице 8-6 соответствует точке, размещенной в позиции (COM127, SEG2). Так что старший и младший ниббл D0, D1, D2, ..., D30717, D30718, D30719 в таблице 8-6 представляют в GDDRAM нибблы данных 480x128.

Таблица 8-6. GDDRAM в Gray Scale mode (после сброса).

SSD1322 GDDRAM Gray Scale mode (RESET) table8 6

8.3.2. Привязка шины данных к RAM

Ниже в таблице 8-7 показана показана минимальная порция данных из 2 байт, после передачи которой сразу обновляется 4 пиксела на экране.

Table 8-7. Как используется шина данных.

SSD1322 Data bus to RAM mapping table8 7

8.4. Декодер команд.

Этот блок определяет, должны ли входные данные интерпретироваться как данные или как команда, основываясь на входном сигнале вывода D/C#. Если уровень D/C# лог. 1, то данные будут записаны в Graphic Display Data RAM (GDDRAM). Если лог. 0, то D0..D7 интерпретируются как команда, и она будет декодирована и записана в соответствующий регистр команды.

8.5. Генератор и тактирование.

SSD1322 Oscillator Circuit fig8 7

Рис. 8-7. Блок генератора.

На рис. 8-7 показан встроенный в контроллера маломощный RC-генератор. Рабочая тактовая частота (CLK) может быть получена либо от внутреннего генератора, либо от внешнего источника тактов CL, в зависимости от уровня на выводе CLS. Если CLS = лог. 1, то выбран внутренний генератор. Если CLS = лог. 0, то для CLK будет использоваться внешний сигнал CL. Частота внутреннего тактового генератора может программироваться командой B3h.

Тактовая частота дисплея (DCLK) для генератора временных сигналов дисплея (Display Timing Generator) выводится из CLK. Коэффициент деления "D" может быть запрограммирован от 1 до 1024 командой B3h.

DCLK = FOSC / D

Частота смены фреймов дисплея будет определяться по следующей формуле:

            FOSC
FFRM = ---------------
        D * K * NMUX

где D коэффициент деления тактов. Он устанавливается командой B3h A[3:0]. Диапазон для делителя может быть от 1 до 1024.

K количество тактов дисплея на строку, значение K вычисляется по формуле K = Phase 1 period + Phase 2 period + X. Здесь X = DCLK в текущем периоде управления. Х по умолчанию равен constant + GS15 = 10 +112 = 122. Значение по умолчанию для K = 9 + 7 + 122 = 138.

NMUX значение скорости мультиплексирования устанавливается командой A8h. Значение после сброса 127 (например 128MUX).

FOSC частота генератора. Она может быть изменена командой B3h A[7:4]. Чем больше значение регистра, тем выше будет частота.

Если частота фреймов установлена слишком малой, то может наблюдаться мерцание экрана. С другой стороны, слишком высокая частота приводит к повышенному потреблению энергии для всей системы.

8.6. Блок коммутации SEG/COM.

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

• VCC является самым высоким положительным напряжением питания.
• VCOMH является общим уровнем состояния отсутствия выборки (Common deselected level). Он регулируется схемой внутри контроллера.
• VLSS является общим проводом для аналоговых цепей и тока потребления графической панели.
• IREF является опорным током для драйверов тока сегментов ISEG. Зависимость между опорным током и током сегмента:

ISEG = Contrast / 256 * IREF * scale factor * 2

Здесь контрастность (0..255) устанавливается командой Set Contrast (C1h); фактор масштабирования scale factor (1..16) устанавливается командой Master Current Control (C7h). Например, чтобы получить ток ISEG = 300 µA с максимальной контрастностью 255, IREF устанавливается около 10 µA. Текущее значение получается подключением внешнего подходящего резистора между выводом IREF и выводом VSS (общий провод), как показано на рис. 8-8. Рекомендованное значение IREF = 10 µA.

SSD1322 IREF Current Setting by Resistor fig8 8

Рис. 8-8. Установка тока IREF с помощью внешнего резистора.

Поскольку напряжение на выводе IREF равно VCC – 6V, то значение для R1 можно найти как в следующем примере для IREF = 10 µA, VCC = 18V:

R1 = (напряжение на IREF – VSS) / IREF = (18 – 6) / 10 µA = 1.2 MΩ.

8.7. Силовой драйвер сигналов SEG / COM.

Формирование графического изображения в матрице точек работает по стандартному принципу динамической индикации. Драйверы сегмента (SEG) состоят из 480 источников тока для управления панелью OLED (соответствуют столбцам матрицы). Управляющий ток может быть настроен в диапазоне от 0 до 300 µA с помощью 8 бит (256 градаций). Это делает команда установки контрастности (C1h). Драйверы общего сигнала (COM) генерируют импульс сканирования (соответствуют строкам матрицы). Блоковые диаграммы и формы сигналов драйверов SEG и COM показаны ниже.

SSD1322 SEG and COM Drivers Single COM mode fig8 9

Рис. 8-9. Блоки драйверов SEG и COM в режиме одиночного COM (Single COM mode).

SSD1322 SEG and COM Drivers Dual COM mode fig8 10

Рис. 8-10. Блоки драйверов SEG и COM в режиме двойного COM (Dual COM mode).

Сигналы общих проводов (COM) сканируются последовательно, строка за строкой. Если строка не выбрана, то все пикселы в строке получат обратное смещение, так как соответствующий COM имеет напряжение VCOMH, как это показано на рис. 8-11.

В сканируемой строке пикселы строки будут включены или выключены путем отправки соответствующего сигнала на выводы сегмента (SEG). Если пиксел выключен, то ток сегмента удерживается равным 0. Когда пиксел включен (светится), сегмент выдает ток ISEG.

SSD1322 SEG and COM Signal Waveform fig8 11

Рис. 8-11. Формы сигналов SEG и COM.

Здесь показаны 4 фазы управления точками OLED. В фазе 1 точка сбрасывается драйвером SEG к напряжению VLSS, чтобы разрядить предыдущие данные, сохраненные в паразитной емкости на электроде SEG. Период фазы 1 можно запрограммировать командой B1h A[3:0]. Панель OLED, у которой больше емкость, требует увеличения периода для разряда.

В фазе 2 выполняется предварительный заряд. Точка управляется для получения уровня напряжения VP относительно VLSS. Амплитуда VP может быть запрограммирована командой BBh. Период фазы 2 может быть запрограммирован командой B1h A[7:4]. Чем больше емкость пиксела панели OLED, тем требуется больше период заряда емкости, чтобы он достиг нужного напряжения.

В фазе 3 пиксел OLED управляется целевым напряжением на второй фазе предварительного заряда. На втором предзаряде можно управлять скоростью процесса заряда. Период фазы 3 можно запрограммировать командой B6h.

Последняя 4 фаза выдает ток на зажигаемый пиксел. Источник тока драйвера сегмента поставляет постоянный ток для пиксела. Микросхема драйвера реализует метод PWM (Pulse Width Modulation, по-русски ШИМ, широтно-импульсная модуляция) для управления градациями серого индивидуально для каждого пиксела. Уровень серого (gray scale) может быть запрограммирован установкой гамма командой B8h/B9h. Чем больше установка гамма, тем будет шире импульс тока, и тем будет ярче светиться пиксел, и наоборот (подробнее см. секцию 8.8). Принцип управления фазами показан на следующем рисунке.

SSD1322 Gray Scale Control PWM Segment fig8 12

Рис. 8-12: управление градациями серого (Gray Scale Control) с помощью PWM на сегменте.

После завершения фазы 4 микросхема драйвера переходит обратно к фазе 1, чтобы отобразить данные изображения следующей строки. Эти четырехфазовые циклы постоянно повторяются для обновления изображения на панели OLED.

Длительность фазы 4 определяется командами B8h или B9h. В таблице уровень серого (gray scale) задан по методу инкрементирования, со ссылкой на длительность из предыдущей записи таблицы.

8.8. Декодер уровня серого (Gray Scale Decoder).

Эффект градаций серого управляется длительностью импульса тока, за исключением GS0, когда нет предзаряда (фазы 2, 3) управления током (фаза 4). Период управления задается по установкам шкалы серого (0 .. 180). Чем больше установка, тем ярче будет светиться пиксел. Таблица уровня серого хранит соответствующие уровни градации серого (всего 16 уровней, GS0..GS15), задаваемые программными командами B8h или B9h.

Как показано в таблице 8-13, данные GDDRAM состоят из 4 бит, представляющие 16 уровней градации серого от GS0 до GS15. Имейте в виду, что на частоту фрейма влияет установка GS15.

Таблица 8-13. Взаимосвязь между содержимым GDDRAM и содержимым таблицы градаций серого (Gray Scale table). Командой B9h разрешается линейная таблица градаций серого.

Данные GDDRAM (4 бита) Таблица градаций серого Гамма-настройка по умолчанию (команда B9h)
0000 GS0 Установка 0
0001 GS1(1) Установка 0
0010 GS2 Установка 8
0011 GS3 Установка 16
... ... ...
1101 GS13 Установка 96
1110 GS14 Установка 104
1111 GS15 Установка 112

Примечание (1): градации серого GS0 и GS1 не имеют второй фазы предзаряда (фазы 3) и тока фазы (фазы 4), однако GS1 имеет первую фазу предзаряда (фаза 2).

8.9. Последовательность включения и выключения.

Следующие рисунки показывают рекомендованную последовательность для включения и выключения SSD1322 (подразумевается, что VCI и VDDIO имеют одинаковый уровень напряжения, и используется внутренний стабилизатор напряжения для VDD).

Последовательность включения:

1. Подать питание на VCI, VDDIO.
2. После того, как станет стабильным напряжение на VCI и VDDIO, нужно подождать как минимум 1 мс (t0) для того, чтобы внутреннее напряжение стало стабильным. Затем выставить уровень лог. 0 RES# на время минимум 100 мкс (t1) (4) и затем перевести RES# на уровень лог. 1.
3. После установки вывода RES# в лог. 0 нужно подождать минимум 100 мкс (t2), затем включить VCC. (1)
4. После того, как VCC станет стабильным, послать команду AFh для включения дисплея. Драйверы SEG/COM включатся после 200 мс (tAF).
5. После того, как VCI станет стабильным, подождать как минимум 300 мс, после чего можно посылать команды и данные на индикатор.

SSD1322 Power ON sequence fig8 14

Рис. 8-14. Последовательность включения SSD1322.

Последовательность выключения:

1. Послать команду AEh для выключения дисплея.
2. Выключить питание VCC(1)(2).
3. Подождать время tOFF. Выключить VCI, VDDIO (здесь минимальное время tOFF=0 мс(3), типичное значение tOFF=100 мс).

SSD1322 Power OFF sequence fig8 15

Рис. 8-15. Последовательность выключения SSD1322.

Примечания:

(1) Поскольку схема защиты от статического электричества (ESD) подключена между VCI, VDDIO и VCC, VCC становится ниже VCI каждый раз когда VCI, VDDIO включены, и VCC выключено, как это показано пунктирной линией для VCC на рис. 8-14 и рис. 8-15.
(2) Шина VCC должна удерживаться в подвешенном состоянии (питание запрещено), когда состояние контроллера "выключено".
(3) VCI, VDDIO не должны выключаться до того, как будет выключено VCC.
(4) Значения регистров будут сброшены после t1.
(5) Выводы питания (VDD, VCC) никогда не должны быть притянуты к земле ни при каких обстоятельствах.

8.10. Питание ядра VDD и внутренний регулятор.

У контроллера SSD1322 есть вывод питания логики ядра VDD, который может использоваться либо для подачи питания от внешнего источника, либо предоставлять питание на VDD через внутренний регулятор питания контроллера. Работа внутреннего регулятора VDD разрешается установкой бита A[0] в единицу командой ABh "Function Selection" (выбор функции). При использовании внутреннего регулятора напряжение на VCI должно быть больше 2.6V (VCI используется как входное напряжение для внутреннего регулятора VDD). Типичное стабилизированное напряжение VDD равно примерно 2.5V.

Имейте в виду, что независимо от того, будет ли напряжение для VDD предоставлено внешним питанием или внутренним регулятором контроллера, напряжение VCI должно быть всегда выше чем VDD и VDDIO. Следующая картинка показывает схему подключения вывода VDD регулятора:

SSD1322 VDD regulator enable pin connection scheme fig8 16

Рис. 8-16. Схема питания для случая, когда используется внутренний регулятор для VDD, и VCI > 2.6V.

SSD1322 VDD regulator disable pin connection scheme fig8 17

Рис. 8-17. Схема питания для случая, когда внутренний регулятор для VDD запрещен.

[9. Система команд SSD1322]

Таблица 9-1. Общее описание команд SSD1322.

D/C# Hex D7 D6 D5 D4 D3 D2 D1 D0 Команда Описание
0 00 0 0 0 0 0 0 0 0 Enable Gray Scale Table Эта команда выдается для того, чтобы разрешить работу таблицы градаций яркости (Gray Scale Table), которая была установлена командой B8h.
0
1
1
15
A[6:0]
B[6:0]
0
*
*
0
A6
B6
0
A5
B5
1
A4
B4
0
A3
B3
1
A2
B2
0
A1
B1
1
A0
B0
Set Column Address Устанавливает адреса начального и конечного столбца. A[6:0] задает начальный адрес (после сброса =0), B[6:0] конечный адрес (после сброса =119). Адрес может быть установлен в диапазоне от 0 до 119.
0 5C 0 1 0 1 1 1 0 0 Write RAM Command Разрешает микроконтроллеру записать данные в RAM.
0 5D 0 1 0 1 1 1 0 1 Read RAM Command Разрешает микроконтроллеру прочитать данные из RAM.
0
1
1
75
A[6:0]
B[6:0]
0
*
*
1
A6
B6
1
A5
B5
1
A4
B4
0
A3
B3
1
A2
B2
0
A1
B1
1
A0
B0
Set Row Address Устанавливает адреса начальной и конечной строки. A[6:0] задает начальный адрес (после сброса =0), B[6:0] конечный адрес (после сброса =127). Адрес может быть установлен в диапазоне от 0 до 127.
0
1
1
A0
A[7:0]
B[4]
1
0
*
0
0
*
1
A5
0
0
A4
B4
0
0
0
0
A2
0
0
A1
0
0
A0
1
Set Re-map and Dual COM Line mode A[0]=0b, инкремент адреса по горизонтали (после сброса)
A[0]=1b, инкремент адреса по вертикали

A[1]=0b, запрет переназначения адреса столбцов (после сброса)
A[1]=1b, разрешить переназначение адреса столбцов

A[2]=0b, запрет переназначения нибблов (после сброса)
A[2]=1b, разрешить переназначение нибблов

A[4]=0b, сканировать от COM0 до COM[N –1] (после сброса)
A[4]=1b, сканировать от COM[N-1] до COM0, где N задает мультиплексирование (Multiplex ratio)

A[5]=0b, запрет деление COM на четные и нечетные (после сброса)
A[5]=1b, разрешить деление COM на четные и нечетные

B[4], разрешить (1b) / запретить (0b, после сброса) режим Dual COM Line

Примечание: подробности см. в секции 10.1.6
0
1
A1
A[6:0]
1
*
0
A6
1
A5
0
A4
0
A3
0
A2
0
A1
1
A0
Set Display Start Line Устанавливает значение регистра начальной строки RAM дисплея в значение от 0 до 127. После сброса значение этого регистра равно 00h.
0
1
A2
A[6:0]
1
*
0
A6
1
A5
0
A4
0
A3
0
A2
1
A1
0
A0
Set Display Offset Устанавливает вертикальную прокрутку COM в значение от 0 до 127. После сброса устанавливается значение 00h.
0 A4 1 0 1 0 0 1 0 0 Set Display Mode Полностью выключает дисплей, все пикселы погашены (находятся в состоянии яркости GS0).
0 A5 1 0 1 0 0 1 0 1 Полностью включает дисплей, все пикселы загораются (переводятся в состояние яркости GS15).
0 A6 1 0 1 0 0 1 1 0 Нормальная работа (состояние после сброса).
0 A7 1 0 1 0 0 1 1 1 Инверсия дисплея.
0
1
1
A8
A[6:0]
B[6:0]
1
0
0
0
A6
B6
1
A5
B5
0
A4
B4
1
A3
B3
0
A2
B2
0
A1
B1
0
A0
B0
Enable Partial Display Команда разрешает режим частичного отображения. Область экрана для отображения задается параметрами:
A[6:0] начальная строка отображаемой области, B[6:0] конечная строка отображаемой области. Значение B[6:0] должно быть больше или равно A[6:0].
0 A9 1 0 1 0 1 0 0 1 Exit Partial Display Отмена режима частичного отображения.
0
1
AB
A[0]
1
0
0
0
1
0
0
0
1
0
0
0
1
0
1
A0
Function Selection A[0]=0b, выбрать внешнее питание для VDD (внутренний регулятор запрещен).
A[0]=1b, разрешить работу внутреннего регулятора для VDD (состояние по умолчанию после сброса).
0 AE 1 0 1 0 1 1 1 0 Set Sleep mode ON/OFF Режим сна (дисплей выключен).
0 AF 1 0 1 0 1 1 1 1 Выйти из режима сна (дисплей работает).
0
1
B1
A[7:0]
1
A7
0
A6
1
A5
1
A4
0
A3
0
A2
0
A1
1
A0
Set Phase Length A[3:0] задает период фазы 1 (длительность фазы сброса заряда) в диапазоне 5..31 тактов DCLK.

A[7:4] задает период фазы 2 (длительность фазы первого предзаряда) в диапазоне 3..15 тактов DCLK.

Подробности см. в секции 10.1.14.
0
1
B3
A[7:0]
1
A7
0
A6
1
A5
1
A4
0
A3
0
A2
1
A1
1
A0
Set Front Clock Divider / Oscillator Frequency A[3:0] (значение после сброса 0) задает коэффициент деления частоты генератора (подробнее см. секцию 10.1.15).

A[7:4] (значение после сброса 1100b) задает частоту генератора. Чем больше значение, тем выше частота.
0
1
1
B4
A[1:0]
B[7:3]
1
1
B7
0
0
B6
1
1
B5
1
0
B4
0
0
B3
1
0
1
0
A1
0
0
A0
1
Display Enhancement A A[1:0]=00b: разрешить внешнее VSL
A[1:0]=10b: внутреннее VSL (после сброса)

B[7:3]=11111b: улучшает качество GS дисплея
B[7:3]=10110b: обычный режим (после сброса)
0
1
B5
A[3:0]
1
*
0
*
1
*
1
*
0
A3
1
A2
0
A1
1
A0
Set GPIO Установить состояние портов ввода/вывода. Подробности см. в секции 10.1.17.
0
1
B6
A[3:0]
1
*
0
*
1
*
1
*
0
A3
1
A2
1
A1
0
A0
Set Second Precharge Period A[3:0] устанавливает длительность второго периода предзаряда. Подробности см. в секции 10.1.18.
 0 
 1 
 1 
..
 1 
 1 
B8
A1[7:0] 
A2[7:0] 
..
A14[7:0] 
A15[7:0] 
1
A17
A27
..
A147
A157
0
A16
A26
..
A146
A156
1
A15
A25
..
A145
A155
1
A14
A24
..
A144
A154
1
A13
A23
..
A143
A153
0
A12
A22
..
A142
A152
0
A11
A21
..
A141
A151
0
A10
A20
..
A140
A150
Set Gray Scale Table Следующие за командой 15 байт данных определяют таблицу градаций яркости (Gray Scale, GS) путем длительности импульса тока в единицах DCLK (диапазон 0..180).
Подробности см. в секции 10.1.19.
0 B9 1 0 1 1 1 0 0 1 Select Default Linear Gray Scale table Сбрасывает таблицу градаций яркости в состояние по умолчанию (линейная таблица с нарастанием яркости от GS0 до GS1). Подробности см. в секции 10.1.20.
0
1
BB
A[4:0]
1
*
0
*
1
*
1
A4
1
A3
0
A2
1
A1
1
A0
Set Pre-charge voltage Установить уровень напряжения предзаряда (состояние после сброса 17h). Подробности см. в секции 10.1.21.
0
1
BE
A[2:0]
1
*
0
*
1
*
1
*
1
0
1
A2
1
A1
0
A0
Set VCOMH Установка уровня напряжения для не выбранного состояния COM (значение после сброса 04h). Подробности см. в секции 10.1.22.
0
1
C1
A[7:0]
1
A7
1
A6
0
A5
0
A4
0
A3
0
A2
0
A1
1
A0
Set Contrast Current A[7:0] задает значение тока контрастности в диапазоне 0..255. Таким образом задается 256 градаций для тока ISEG (значение после сброса 127).
0
1
C7
A[3:0]
1
*
1
*
0
*
0
*
0
A3
1
A2
1
A1
1
A0
Master Contrast Current Control Управляет уровнем тока для всех яркостей, так что задает общий уровень контрастности дисплея. Подробнее см. секцию 10.1.24.
0
1
CA
A[6:0]
1
*
1
A6
0
A5
0
A4
1
A3
0
A2
1
A1
0
A0
Set MUX Ratio Задает режим мультиплексирования от 16MUX до 128MUX, подробнее см. секцию 10.1.25.
0
1
1
D1
A[5:4]
20
1
1
0
1
0
0
0
A5
1
1
A4
0
0
0
0
0
0
0
0
1
0
1
0
0
Display Enhancement B A[5:4] = 00b: зарезервированное состояние
A[5:4] = 10b: нормальное состояние (после сброса).
0
1
FD
A[2]
1
0
1
0
1
0
1
1
1
0
1
A2
0
1
1
0
Set Command Lock A[2] определяет защиту интерфейса от доступа со стороны микроконтроллера (значение после сброса 12h). Подробности см. в секции 10.1.27.

Примечание: * означает любое состояние (можно записать или 0, или 1, это ни на что не влияет).

[10. Описание команд]

Команда разрешения таблицы градаций серого (таблица устанавливается командой B8h).

Команда из трех байт задает начальный и конечный адрес RAM дисплея. Также эта команда устанавливает указатель адреса столбца на начальный столбец. Этот указатель используется для определения текущего адреса как адреса операции чтения/записи данных RAM экрана. Если командой A0h разрешен режим инкремента адреса по горизонтали, то после завершения чтения/записи одного столбца данных указатель будет автоматически инкрементирован так, что будет указывать на адрес следующего столбца. Каждый раз, когда указатель адреса завершает операцию доступа к последнему столбцу и переходит обратно на первый столбец, будет автоматически инкрементирован адрес строки для обращения к следующей строке.

После выполнения этой однобайтной команды записываемые данные будут записываться в RAM экрана до тех пор, пока не будет выдана другая команда. Указатель адреса будет инкрементироваться соответственно при каждой операции записи данных. Эта команда должна быть послана перед тем, как должны быть записаны данные в RAM экрана.

После ввода этой однобайтовой команды читаемые данные будут считываться из RAM экрана до тех пор, пока не будет выдана другая команда. Указатель адреса будет инкрементироваться соответственно при каждой операции чтения данных. Эта команда должна быть послана перед тем, как должны быть прочитаны данные из RAM экрана.

Эта команда указывает начальный и конечный адрес данных RAM экрана. Также эта команда устанавливает адрес указателя строки на первую строку. Этот указатель используется для того, чтобы задать адрес строки текущей позиции чтения/записи данных RAM экрана. Если командой A0h разрешен режим инкремента адреса по вертикали, то после завершения операции чтения/записи данных одной строки, указатель будет автоматически инкрементирован на адрес следующей строки. Каждый раз, когда указатель адреса завершает операцию доступа к последней строке, то он будет установлен на адрес первой строки.

На диаграмме ниже показаны перемещения указателя адреса столбца и строки в следующем примере:

1. Начальный адрес столбца установлен в 1 и конечный адрес столбца установлен в 118, начальный адрес строки установлен в 2 и конечный адрес строки установлен в 126.

2. Командой A0h разрешено режим горизонтального инкремента адреса.

SSD1322 Column Row Address Pointer Movement fig 10 110 2

Рис. 10-110-2. Пример перемещения указателя адреса столбца и строки (Gray Scale Mode).

В этом примере данные RAM доступны только от столбца 1 до столбца 118, и только от строки 1 до строки 126. Дополнительно указатель столбца будет установлен в 1, а указатель строки в 2. После завершения чтения/записи 4 бит данных (соответствуют яркости 1 пиксела) адрес столбца автоматически увеличится на 1 для доступа к следующей ячейке RAM для следующей операции чтения/записи (сплошная линия на рис. 10-110-2). Каждый раз, когда указатель адреса столбца завершит доступ к последнему столбцу 118, он сбросится снова назад к столбцу 1, и адрес строки автоматически увеличится на 1 (сплошная линия на рис. 10-110-2). Когда завершится доступ к последней строке 126 и последнему столбцу 118 RAM, адрес строки сбросится обратно к 2, и адрес столбца сбросится обратно к 1 (пунктирная линия на рис. 10-110-2).

Эта команда имеет несколько конфигураций и каждый настроечный бит означает следующее:

• Address increment mode (A[0])

Когда A[0] установлен в 0, драйвер настроен в режим инкремента горизонтального адреса. После завершения чтения/записи RAM указатель адреса столбца автоматически увеличивается на 1. Если адрес столбца достигает последнего столбца, то указатель адреса столбца сбросится на адрес начального столбца, и указатель адреса строки увеличится на 1. Последовательность перемещения по строкам и столбцам для этого режима показана на рис. 10-3.

SSD1322 Address Pointer Movement of Horizontal Address Increment Mode fig10 3

Рис. 10-3. Перемещение указателя адреса в режиме горизонтального инкремента адреса.

Когда A[0] установлен в 1, драйвер настроен в режим инкремента вертикального адреса. После завершения чтения/записи RAM указатель адреса строки автоматически увеличивается на 1. Если адрес строки достигает последнего строки, то указатель адреса строки сбросится на адрес начальной строки, и указатель адреса столбца увеличится на 1. Последовательность перемещения по строкам и столбцам для этого режима показана на рис. 10-4.

SSD1322 Address Pointer Movement of Vertical Address Increment Mode fig10 4

Рис. 10-4. Перемещение указателя адреса в режиме вертикального инкремента адреса.

• Column Address Remap (A[1])

Этот бит команды увеличивает гибкость расположения сигналов сегмента (SEG) в модуле OLED, когда сегменты организованы слева направо (A[1] = 0) или наоборот (A[1] = 1), как это показано на рис. 10-5.

A[1] = 0 (состояние по умолчанию после сброса): столбцы RAM 0 .. 119 привязаны к SEG0-SEG3 .. SEG476-SEG479
A[1] = 1: столбцы RAM 0 .. 119 привязаны к SEG476-SEG479 .. SEG0-SEG3

• Nibble Remap (A[2])

A[2] = 0 (состояние по умолчанию после сброса): биты данных привязаны напрямую
A[2] = 1: 4 ниббла шины данных для доступа к RAM переназначены

Эффекты от этого продемонстрированы на рис. 10-5.

SSD1322 GDDRAM in Gray Scale mode with or without Column Address fig10 5

Рис. 10-5. GDDRAM в режиме градаций серого (Gray Scale mode) с включенными и выключенными переназначениями привязок Column Address (A[1]) и Nibble (A[2]).

• COM scan direction Remap (A[4])

Этот бит команды определяет направление сканирования общих (COM) сигналов, что повышает гибкость управления матрицей. Сканирование общих сигналов модуля OLED может быть либо сверху вниз, либо наоборот.

A[1] = 0 (состояние по умолчанию после сброса): сканирование сверху вниз
A[1] = 1: сканирование снизу вверх

Подробности расстановки выводов можно найти на рис. 10-5.

• Odd even split of COM pins (A[5])

Этот бит команды может установить четное/нечетное расположение выводов COM.

A[5] = 0 (состояние по умолчанию после сброса): запрет разделения COM на четные / нечетные, назначение выводов COM последовательное, COM127, COM126...COM65, COM64...SEG479...SEG0...COM0 COM1...COM62, COM63
A[5] = 1: разрешить разделение COM на четные и нечетные, нумерация будет COM127, COM125...COM3, COM1...SEG479...SEG0...COM0, COM2...COM124, COM126

Подробности расположения выводов можно найти на рис. 10-6.

• Set Dual COM mode (B[4])

Этот бит команды устанавливает двойной режим COM.

B[4] = 0 (состояние по умолчанию после сброса): двойной режим для COM запрещен, см. рис. 10-6
B[4] = 1: двойной режим COM разрешен, см. расположение выводов на рис. 10-7

Обратите внимание, что когда разрешен двойной режим COM (B[4]=1), то режим "Odd even split of COM pins" должен быть запрещен (A[5]=0), и MUX должен быть установлен равным или меньше 63 (MUX ? 63).

SSD1322 COM Pins Hardware Configuration MUX128 fig10 6

Рис. 10-6. Аппаратная конфигурация 1 выводов COM (MUX ratio: 128).

SSD1322 COM Pins Hardware Configuration MUX64 fig10 7

Рис. 10-7. Аппаратная конфигурация 2 выводов COM (MUX ratio: 64).

Эта команда используется для установки регистра начальной строки дисплея (Display Start Line register), чтобы определить начальный адрес отображаемого содержимого RAM экрана от 0 до 127. Рис. 10-8 показывает пример использования этой команды, когда MUX ratio = 128 и MUX ratio = 90, и Display Start Line = 40. Здесь "Row" обозначает графические данные строки RAM экрана.

SSD1322 Set Display Start Line with no Remap fig10 8

Рис. 10-8 : Пример Set Display Start Line без включенного Remap.

Эта команда задает привязку начальной строки экрана - подразумевается, что COM0 начальная строка дисплея, когда регистр начальной строки экрана (display start line register) равен 0 - к одному из COM0-127. Например, для перемещения COM39 по направлению к COM0 на 40 строк, 7 бит данных во второй команде должны быть 0101000. На рисунке ниже показан пример этой команды. Здесь "Row" обозначает графические данные строки RAM экрана.

SSD1322 Set Display Offset with no Remap fig10 9

Рис. 10-9. Пример Set Display Offset без включенного Remap.

Это однобайтная команда, которая используется для установки режимов Normal Display (обычный экран), Entire Display ON (экран полностью включен), Entire Display OFF (экран полностью погашен) и Inverse Display (инверсный экран).

• Normal Display (A4h)

Сбросить предыдущие эффекты и перевести данные на отображение в соответствующем уровне градаций серого. На рис. 10-10 показан пример работы этого режима.

SSD1322 Normal Display fig10 10

Рис. 10-10. Пример работы режима нормального отображения (Normal Display).

• Set Entire Display ON (A5h)

Принудительно переводит все точки экрана в яркость GS15 независимо от содержимого данных RAM буфера экрана, как это показано на рис. 10-11.

SSD1322 Entire Display ON fig10 11

Рис. 10-11. Пример действия режима Entire Display ON.

• Set Entire Display OFF (A6h)

Принудительно переводит все точки экрана в яркость GS0 независимо от содержимого данных RAM буфера экрана, как это показано на рис. 10-12.

SSD1322 Entire Display OFF fig10 12

Рис. 10-12. Пример Entire Display OFF.

• Inverse Display (A7h)

Уровни серого данных дисплея при отображении будут переустановлены наоборот, так что GS0 будет соответствовать яркости GS15, GS1 - GS14 и так далее. На рис. 10-13 показан пример работы инверсии экрана.

SSD1322 Inverse Display fig10 13

Рис. 10-13. Пример работы Inverse Display.

Эта команда включает отображение части экрана. Отображаемая область задается командой из 3 байт. Рис. 10-14 показывает пример включенного режима отображения части экрана с начальным адресом строки A[6:0] = 20h и конечным адресом строки B[6:0] = 5Fh, когда MUX ratio = 128.

SSD1322 Partial Mode Display fig10 14

Рис. 10-14. Пример работы Partial Mode Display.

Эта однобайтная команда выключает режим отображения части экрана (отменяет действие команды A8h).

Эта команда из 2 байт используется для разрешения или запрещения внутреннего регулятора напряжения для VDD. Внутренний регулятор VDD включен, если бит A[0] установлен в 1, и выключен (тогда должно использоваться внешнее питание для VDD), когда A[0] установлен в 0.

Эта однобайтная команда используется для включения или выключения панели OLED. Когда дисплей включен (командой AFh), то выбранные схемы (командой Set Master Configuration) будут включены. Когда дисплей выключен (командой AEh), то эти схемы выключены, SEG находятся в состоянии VSS и COM в состоянии высокого сопротивления.

Эта команда из 2 байт устанавливает длину фаз 1 и 2 формы сигнала SEG драйвера.

• Фаза 1 (A[3:0]): устанавливает период от 5 до 31 в единицах 2 DCLK. Повышенная емкость пиксела OLED может потребовать увеличения периода для полного разряда ранее записанных данных.

A[3:0] Период фазы 1
0000 не допустимо
0001 не допустимо
0010 5 DCLK
0011 7 DCLK
0100 9 DCLK
(состояние после сброса)
.. ..
1111 32 DCLK

• Фаза 2 (A[7:4]): устанавливает период от 3 до 15 в единицах DCLK. Чем больше емкость пиксела OLED, тем нужен больше период заряда к целевому напряжению VP.

A[7:4] Период фазы 1
0000 не допустимо
0001 не допустимо
0010 не допустимо
0011 3 DCLK
.. ..
0111 7 DCLK
(состояние после сброса)
.. ..
1111 15 DCLK

Эта команда из 2 байт состоит из 2 функций:

• Front Clock Divide Ratio (A[3:0])

Устанавливает DIVSET, коэффициент делителя для генерации DCLK (Display Clock, тактовая частота дисплея) из CLK. Коэффициент деления может быть задан от 1 до 16, состояние по умолчанию после сброса 1 (деление отсутствует). Пожалуйста обратитесь к секции 8.5 для получения подробной информации по взаимосвязи DCLK и CLK.

A[3:0] DIVSET
0000 1
0001 2
0010 4
0011 8
0100 16
0101 32
0110 64
0111 128
1000 256
1001 512
1010 1024
1011..1111 не допустимо

• Oscillator Frequency (A[7:4])

Программирует частоту генератора Fosc, которая является источником CLK, если вывод CLS переведен в лог. 1. 4-битное значение задает 16 разных вариантов установки частоты.

Эта команда из 3 байт позволяет улучшить параметры дисплея. Установка A[1:0] в 00b разрешает внешний VSL, в то время как низкое качество GS экрана может быть улучшено путем установки B[7:3] в значение 11111b.

Эта команда из 2 байт используется для установки состояния выводов GPIO0 и GPIO1.

A[1:0] GPIO0:
00 HiZ, вход запрещен
01 HiZ, вход разрешен
10 выход, лог. 0 (после сброса)
11 выход, лог. 1

A[3:2] GPIO1:
00 HiZ, вход запрещен
01 HiZ, вход разрешен
10 выход, лог. 0 (после сброса)
11 выход, лог. 1

Эта команда из 2 байт используется для установки фазы 3 второго периода предзаряда. Период фазы 3 можно запрограммировать в диапазоне от 0 до 15 DCLK.

A[3:0] Период фазы
0000 0
0001 1
.. ..
1000 8 (после сброса)
.. ..
1111 15

Эта команда используется для индивидуальной подстройки уровней градаций яркости (gray scale) для каждого дисплея. За исключением уровней яркости GS0, когда нет предзаряда и выдаваемого в сегмент тока, каждый из уровней яркости (GS1..GS15) может быть запрограммирован в единицах DCLK для установки длительности импульса тока. Чем больше длительность импульса тока, тем будет ярче светиться пиксел OLED, когда он включен. За командой B8h пользователь может указать установки для шкалы серого для GS1, GS2, ..., GS14, GS15 последовательными байтами. Подробности см. в секции 8.8.

A1[7:0]: задает настройку гамма для GS1,
A2[7:0]: для GS2,
..
A14[7:0]: для GS14,
A15[7:0]: для GS15.

Примечание: 0 ≤ установка для GS1 < установка для GS2 < установка для ... < установка для GS15. За настройкой таблицы яркости должна следовать команда Enable Gray Scale Table (00h).

Настройка таблицы яркости позволяет выполнить гамма-коррекцию панели экрана OLED. Поскольку восприятие яркости дисплея должно соответствовать данным изображения в буфере RAM экрана, то подходящая таблица яркости может предоставить корректировку уровней яркости, как это показано на рис. 10-15.

SSD1322 Gamma correction by Gamma Look Up table fig10 15

Рис. 10-15. Пример гамма-коррекции с помощью настройки таблицы перекодировки яркости (Gamma Look Up table).

Эта однобайтная команда перезагружает таблицу перекодировки яркости (Gray Scale table), чтобы она стала линейной. При этом GS0 = Gamma Setting 0, GS1 = Gamma Setting 0, GS2 = Gamma Setting 2, ... GS14 = Gamma Setting 104, GS14 = Gamma Setting 112. Подробнее см. раздел 8.8.

Эта команда из 2 байт устанавливает уровень напряжения первой стадии предзаряда (фаза 2) для выводов SEG. Уровень предзаряда программируется относительно VCC.

A[4:0] Hex Напряжение
00000 00 0.20 * VCC
.. .. ..
11111 1F 0.60 * VCC 

Эта команда из 2 байт устанавливает уровень высокого напряжения VCOMH для выводов COM. Уровень VCOMH программируется относительно VCC.

A[2:0] Hex Напряжение
000 00 0.72 * VCC
.. .. ..
100 04 0.80 * VCC (после сброса)
.. .. ..
111 07 0.86 * VCC

Эта команда из 2 байт используется для установки контрастности дисплея. Можно установить 256 уровней контрастности от 00h до FFh. Выходной ток ISEG для выводов SEG линейно увеличивается пропорционально установленной контрастности, что приводит к повышению яркости дисплея.

Эта команда из 2 байт используется для управления выходным током SEG с помощью коэффициента масштабирования. В контроллере есть 16 уровней управления с коэффициентами от 1 [0000b] до 16 [1111b, это значение по умолчанию]. Чем меньше значение master current, тем более тускло будет работать панель OLED. Например, изначально выходной ток сегмента 160 µA при факторе масштабирования 16, и установка фактора масштабирования в 8 уменьшит ток до 80 µA.

A[3:0] =
0000b, уменьшение выходного тока для всех цветов до 1/16
0001b, уменьшение выходного тока для всех цветов до 2/16
..
1110b, уменьшение выходного тока для всех цветов до 15/16
1111b, без изменений (состояние после сброса).

Эта команда из 2 байт переключит режим мультиплексирования по умолчанию 1:128 в любой из режимов мультиплексирования от 16 до 128. Например, когда multiplex ratio установлено в 16, разрешено только 16 выводов COM. Начало и конец разрешенных выводов COM зависят от установки регистра "Display Offset", который программируется командой A2h. Рис. 10-8 и 10-9 показывают примеры установки multiplex ratio командой CAh.

A[6:0] =
15 представляет 16MUX
..
127 представляет 128MUX (после сброса).

Эта команда из 3 байт может быть отправлена для улучшения параметров дисплея. Пользователю рекомендуется установить A[5:4] в значение 00b.

Эта команда используется для блокировки микросхемы драйвера OLED от доступа к нему с любой командой, за исключением этой команды. После ввода FDh 16h (A[2]=1b) драйвер OLED не будет отвечать ни на какие команды (за исключением FDh 12h A[2]=0b), и не будет возможен доступ к памяти. Это состояние называется "заблокированным" (Lock state). То есть в состоянии Lock микросхема драйвера OLED будет игнорировать все команды, за исключением FDh 12h A[2]=0b.

Ввод команды FDh 12h (A[2]=0b) может разблокировать микросхему драйвера OLED. Это означает, что микросхема выйдет из состояния Lock, и будет отвечать на команды и доступ к памяти.

[11. Предельно допустимые параметры]

Таблица 11-1. Maximum Ratings. Напряжения приведены относительно VSS.

Параметр Описание Значение Единицы
VDD Напряжения питания -0.5 .. 2.75 V
VCC -0.5 .. 21.0 V
VDDIO -0.5 .. VCI V
VCI -0.3 .. 4.0 V
VSEG Выходное напряжение SEG 0 .. VCC V
VCOM Выходное напряжение COM 0 .. 0.9*VCC V
VIN Входное напряжение VSS-0.3 .. VDDIO+0.3 V
TA Рабочая температура -40 .. +85 oC
Tstg Температура хранения -65 .. +150 oC

Примечания:

1. Указанные здесь максимальные значения могут привести к повреждению устройства. Функционирование должно быть ограничено пределами в таблицах электрических характеристик или в описаниях выводов.
2. Это устройство может быть чувствительно к свету. Нужно избегать его освещения во время нормального функционирования. Это устройство не защищено от радиации.

[12. Параметры по постоянному току]

Параметры приведены для следующих условий (если специально не указано что-то другое): все напряжения указаны относительно VSS, VDD в диапазоне от 2.4 до 2.6V, VCI от 2.4 до 3.5V (должно быть выше или равно VDD), TA = 25oC.

Таблица 12-1. DC-характеристики.

Параметр Описание Условие проверки
Min. Typ. Max. Ед.
VDD Питание логики - 2.4 - 2.6 V
VCC Силовое питание панели - 10 - 20 V
VDDIO Питание ввода/вывода - 1.65 - VCI V
VCI Низкое напряжение питания - 2.4 - 3.5 V
VOH Выходной уровень лог. 1 Iout = 100μA 0.9*VDDIO - VDDIO V
VOL Выходной уровень лог. 0 Iout = 100μA 0 - 0.1*VDDIO V
VIH Входной уровень лог. 1 - 0.8*VDDIO - VDDIO V
VIL Входной уровень лог. 0 - 0 - 0.2*VDDIO V
ISLP_VDD Ток VDD в режиме сна VCI=VDDIO=2.8V, VCC выкл., VDD (внешнее)=2.5.V, дисплей выкл., панель не подключена - - 10 μA
ISLP_VDDIO Ток VDDIO в режиме сна VCI=VDDIO=2.8V, VCC выкл., VDD (внешнее)=2.5.V, дисплей выкл., панель не подключена Внешний VDD - - 10 μA
Внутренний VDD - - 10 μA
ISLP_VCI Ток VCI в режиме сна VCI=VDDIO=2.8V, VCC выкл., дисплей выкл., панель не подключена Внешний VDD 2.5V - - 10 μA
Разрешенный внутренний VDD в режиме сна - - 50 μA
Запрещенный внутренний VDD в режиме сна - - 10 μA
IDD Ток VDD VCI=2.8V, VCC=18V, VDDIO=2.8V, внешнее VDD=2.5.V, дисплей вкл., панель не подключена, контраст=FF - 100 130 μA
IDDIO Ток VDDIO VCI=2.8V, VCC=18V, VDDIO=2.8V, внешнее VDD=2.5.V, дисплей вкл., панель не подключена, контраст=FF Внешний VDD=2.5V - 40 50 μA
Внутренний VDD=2.5V - 40 50 μA
ICI Ток VCI VCI=2.8V, VCC=18V, VDDIO=2.8V, внешнее VDD=2.5.V, дисплей вкл., панель не подключена, контраст=FF Внешний VDD=2.5V - 35 45 μA
Внутренний VDD=2.5V - 170 220 μA
ICC Ток VCC VCI=2.8V, VCC=18V, VDDIO=2.8V, внешнее VDD=2.5.V, дисплей вкл., панель не подключена, контраст=FF Внешний VDD=2.5V - 2.2 2.6 mA
Внутренний VDD=2.5V - 2.2 2.6 mA
ISEG Выходной ток сегмента VCC=20V, IREF=10μA Контраст=FF 310 340 370 μA
Контраст=7F - 170 - μA
Контраст=3F - 85 - μA
Dev Однородность выходного тока сегмента Dev = (ISEG–IMID)/IMID, IMID=(IMAX+IMIN)/2, ISEG=ток сегмента при контрастности FF -3 - 3 %
Adj Dev Однородность соседних выводов по выходному току сегмента Adj Dev=(I[n]-I[n+1])/(I[n]+I[n+1]), контраст=FF -2 - 2 %

[13. Параметры по переменному току]

Параметры приведены для следующих условий (если специально не указано что-то другое): все напряжения указаны относительно VSS, VDD в диапазоне от 2.4 до 2.6V, VCI от 2.4 до 3.5V (должно быть выше или равно VDD), TA = 25oC.

Таблица 13-1. AC-характеристики.

Параметр Описание Условие проверки
Min. Typ. Max. Ед.
FOSC(1) Частота генератора для обслуживания дисплея VCI=2.8V 1.75 1.94 2.13 МГц
FFRM Частота фреймов для режима 128MUX Графический режим 480x128, дисплей включен, внутренний генератор разрешен - FOSC / (D*K*128)(2) - Гц
tRES Ширина импульса сброса (лог. 0 на RES#) - 3 - - мкс

Примечания:

1. FOSC означает значение частоты внутреннего генератора и измеренное значение соответствует состоянию по умолчанию, установленному командой B3h A[7:4].
2. D: коэффициент деления, K: период фазы 1 + период фазы 2 + X, X: количество DCLK в периоде управления током. Значение по умолчанию для K равно 9 + 7 + 122 = 138.

Таблица 13-2. Характеристики интервалов времени режима параллельной шины стиля 6800 MCU (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).

Параметр Описание Min. Typ. Max. Ед.
tcycle
Время тактового цикла 300 - - нс
tAS Время установки адреса 10 - - нс
tAH Время удержания адреса 0 - - нс
tDSW Время установки данных записи 40 - - нс
tDHW Время удержания данных записи 7 - - нс
tDHR Время удержания данных чтения 20 - - нс
tOH Время запрета выхода - - 70 нс
tACC Время доступа - - 140 нс
PWCSL Ширина импульса лог. 0 сигнала выборки (чтение)
Ширина импульса лог. 0 сигнала выборки (запись)
120
60
- - нс
PWCSH Ширина импульса лог. 1 сигнала выборки (чтение)
Ширина импульса лог. 1 сигнала выборки (запись)
60
60
- - нс
tR Время нарастания лог. уровня - - 15 нс
tF Время спада лог. уровня - - 15 нс

SSD1322 6800 series MCU parallel interface timing fig13 1

Рис. 13-1. Характеристики интервалов времени режима параллельной шины стиля 6800 MCU.

Таблица 13-3. Характеристики интервалов времени режима параллельной шины стиля 8080 MCU (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).

Параметр Описание Min. Typ. Max. Ед.
tcycle
Время тактового цикла 300 - - нс
tAS Время установки адреса 10 - - нс
tAH Время удержания адреса 0 - - нс
tDSW Время установки данных записи 40 - - нс
tDHW Время удержания данных записи 7 - - нс
tDHR Время удержания данных чтения 20 - - нс
tOH Время запрета выхода - - 70 нс
tACC Время доступа - - 140 нс
tPWLR Время лог. 0 чтения 150 - - нс
tPWLW Время лог. 0 записи 60 - - нс
tPWHR Время лог. 1 чтения 60 - - нс
tPWHW Время лог. 1 записи 60 - - нс
tR Время нарастания лог. уровня - - 15 нс
tF Время спада лог. уровня - - 15 нс
tCS Время установки сигнала выборки 0 - - нс
tCSH Время удержания сигнала выборки для сигнала чтения 0 - - нс
tCSF Время удержания сигнала выборки 20 - - нс

SSD1322 8080 series MCU parallel interface Write timing fig13 2a

Рис. 13-2a. Характеристики интервалов времени режима параллельной шины стиля 8080 MCU, запись по шине.

SSD1322 8080 series MCU parallel interface Read timing fig13 2b

Рис. 13-2b. Характеристики интервалов времени режима параллельной шины стиля 8080 MCU, запись по шине.

Таблица 13-4. Характеристики интервалов времени режима последовательной шины 4-проводного SPI (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).

Параметр Описание Min. Typ. Max. Ед.
tcycle
Время тактового цикла 100 - - нс
tAS Время установки адреса 15 - - нс
tAH Время удержания адреса 15 - - нс
tCSS Время установки сигнала выборки 20 - - нс
tCSH Время удержания сигнала выборки 10 - - нс
tDSW Время установки данных записи 15 - - нс
tDHW Время удержания данных записи 15 - - нс
tCLKL Время лог. 0 тактов 20 - - нс
tCLKH Время лог. 1 тактов 20 - - нс
tR Время нарастания лог. уровня - - 15 нс
tF Время спада лог. уровня - - 15 нс

SSD1322 4 wire SPI timing fig13 3

Рис. 13-3. Характеристики интервалов времени режима последовательной шины 4-проводного SPI.

Таблица 13-5. Характеристики интервалов времени режима последовательной шины 3-проводного SPI (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).

Параметр Описание Min. Typ. Max. Ед.
tcycle
Время тактового цикла 100 - - нс
tCSS Время установки сигнала выборки 20 - - нс
tCSH Время удержания сигнала выборки 10 - - нс
tDSW Время установки данных записи 15 - - нс
tDHW Время удержания данных записи 15 - - нс
tCLKL Время лог. 0 тактов 20 - - нс
tCLKH Время лог. 1 тактов 20 - - нс
tR Время нарастания лог. уровня - - 15 нс
tF Время спада лог. уровня - - 15 нс

SSD1322 3 wire SPI timing fig13 4

Рис. 13-4. Характеристики интервалов времени режима последовательной шины 4-проводного SPI.

[14. Примеры применения]

На следующем рисунке показана конфигурация для 8-битного параллельного режима шины 6800, с подключением внешнего источника питания VCC. Здесь VCI=3.3V (VCI должен быть > 2.6V), внутреннее регулируемое напряжение VDD=2.5V, VDDIO=1.8V, внешнее напряжение питания VCC=18V, IREF=10µA).

SSD1322 example 6800 bus Internal VDD single COM mode fig14 1

Рис. 14-1. SSD1322, подключенный через 8-разрядную параллельную шину стиля 6800 в режиме одиночного COM (single COM mode). Применен внутренний стабилизатор для VDD.

На следующем рисунке показана конфигурация для 8-битного параллельного режима шины 6800, с подключением внешнего источника питания VCC. Здесь VCI=3.3V (VCI должен быть > 2.6V), внутреннее регулируемое напряжение VDD=2.5V, VDDIO=1.8V, внешнее напряжение питания VCC=18V, IREF=10µA).

SSD1322 example 6800 bus Internal VDD dual COM mode fig14 2

Рис. 14-2. SSD1322, подключенный через 8-разрядную параллельную шину стиля 6800 в режиме двойного COM (dual COM mode). Применен внутренний стабилизатор для VDD.

Напряжение на IREF=VCC–6V. Для VCC=18V, IREF=10µA:

R1 = (напряжение на IREF - VSS) / IREF = (18 - 6) / 10µA = 1.2MΩ
R2 = 50Ω, 1/8W (1)
D1 - D2 = Vth = 0.7V, 1N4148 (1)
C1 ~ C3: 1µF, C4a и C5: 4.7µF, C4b: 0.1µF

Примечание (1): это рекомендованное значение. Выберите подходящее значение для конкретного приложения.

[Ссылки]

1150220151734WEXtest.zip - исходный код тестового проекта для управления индикатором OLED, документация.
2. Запуск индикатора OLED WEX025664 на библиотеке u8glib.
3SSD1306: контроллер/драйвер для дисплеев OLED/PLED.