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:
[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]).
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.
Рис. 8-1. Как происходит обратное чтение данных: вставка пустой операции чтения.
Параллельный интерфейс в этом режиме состоит из 8 двунаправленных сигналов данных (D[7:0]), и сигналов управления RD#, WR#, D/C# и CS#. Лог. 0 на D/C# говорит о чтении/записи команды, и лог. 1 о чтении /записи данных. Нарастание уровня сигнала RD# работает как защелкивание данных при операции чтения, когда CS# находится в лог. 0. Нарастание уровня сигнала WR# работает как защелкивание данных при операции записи данных/команды, когда CS# находится в лог. 0.
Рис. 8-2. Пример операции записи в режиме параллельного интерфейса 8080.
Рис. 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.
Рис. 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), либо в регистр команд на том же самом тактовом перепаде. В режиме последовательного интерфейса допускаются только операции записи.
Рис. 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 никуда не подключено
Рис. 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 (после сброса).
8.3.2. Привязка шины данных к RAM
Ниже в таблице 8-7 показана показана минимальная порция данных из 2 байт, после передачи которой сразу обновляется 4 пиксела на экране.
Table 8-7. Как используется шина данных.
8.4. Декодер команд.
Этот блок определяет, должны ли входные данные интерпретироваться как данные или как команда, основываясь на входном сигнале вывода D/C#. Если уровень D/C# лог. 1, то данные будут записаны в Graphic Display Data RAM (GDDRAM). Если лог. 0, то D0..D7 интерпретируются как команда, и она будет декодирована и записана в соответствующий регистр команды.
8.5. Генератор и тактирование.
Рис. 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.
Рис. 8-8. Установка тока IREF с помощью внешнего резистора.
Поскольку напряжение на выводе IREF равно VCC – 6V, то значение для R1 можно найти как в следующем примере для IREF = 10 µA, VCC = 18V:
Формирование графического изображения в матрице точек работает по стандартному принципу динамической индикации. Драйверы сегмента (SEG) состоят из 480 источников тока для управления панелью OLED (соответствуют столбцам матрицы). Управляющий ток может быть настроен в диапазоне от 0 до 300 µA с помощью 8 бит (256 градаций). Это делает команда установки контрастности (C1h). Драйверы общего сигнала (COM) генерируют импульс сканирования (соответствуют строкам матрицы). Блоковые диаграммы и формы сигналов драйверов SEG и COM показаны ниже.
Рис. 8-9. Блоки драйверов SEG и COM в режиме одиночного COM (Single COM mode).
Рис. 8-10. Блоки драйверов SEG и COM в режиме двойного COM (Dual COM mode).
Сигналы общих проводов (COM) сканируются последовательно, строка за строкой. Если строка не выбрана, то все пикселы в строке получат обратное смещение, так как соответствующий COM имеет напряжение VCOMH, как это показано на рис. 8-11.
В сканируемой строке пикселы строки будут включены или выключены путем отправки соответствующего сигнала на выводы сегмента (SEG). Если пиксел выключен, то ток сегмента удерживается равным 0. Когда пиксел включен (светится), сегмент выдает ток ISEG.
Рис. 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). Принцип управления фазами показан на следующем рисунке.
Рис. 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 мс, после чего можно посылать команды и данные на индикатор.
Рис. 8-14. Последовательность включения SSD1322.
Последовательность выключения:
1. Послать команду AEh для выключения дисплея. 2. Выключить питание VCC(1)(2). 3. Подождать время tOFF. Выключить VCI, VDDIO (здесь минимальное время tOFF=0 мс(3), типичное значение tOFF=100 мс).
Рис. 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 регулятора:
Рис. 8-16. Схема питания для случая, когда используется внутренний регулятор для VDD, и VCI > 2.6V.
Рис. 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[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, это ни на что не влияет).
Команда из трех байт задает начальный и конечный адрес RAM дисплея. Также эта команда устанавливает указатель адреса столбца на начальный столбец. Этот указатель используется для определения текущего адреса как адреса операции чтения/записи данных RAM экрана. Если командой A0h разрешен режим инкремента адреса по горизонтали, то после завершения чтения/записи одного столбца данных указатель будет автоматически инкрементирован так, что будет указывать на адрес следующего столбца. Каждый раз, когда указатель адреса завершает операцию доступа к последнему столбцу и переходит обратно на первый столбец, будет автоматически инкрементирован адрес строки для обращения к следующей строке.
После выполнения этой однобайтной команды записываемые данные будут записываться в RAM экрана до тех пор, пока не будет выдана другая команда. Указатель адреса будет инкрементироваться соответственно при каждой операции записи данных. Эта команда должна быть послана перед тем, как должны быть записаны данные в RAM экрана.
После ввода этой однобайтовой команды читаемые данные будут считываться из RAM экрана до тех пор, пока не будет выдана другая команда. Указатель адреса будет инкрементироваться соответственно при каждой операции чтения данных. Эта команда должна быть послана перед тем, как должны быть прочитаны данные из RAM экрана.
Эта команда указывает начальный и конечный адрес данных RAM экрана. Также эта команда устанавливает адрес указателя строки на первую строку. Этот указатель используется для того, чтобы задать адрес строки текущей позиции чтения/записи данных RAM экрана. Если командой A0h разрешен режим инкремента адреса по вертикали, то после завершения операции чтения/записи данных одной строки, указатель будет автоматически инкрементирован на адрес следующей строки. Каждый раз, когда указатель адреса завершает операцию доступа к последней строке, то он будет установлен на адрес первой строки.
На диаграмме ниже показаны перемещения указателя адреса столбца и строки в следующем примере:
1. Начальный адрес столбца установлен в 1 и конечный адрес столбца установлен в 118, начальный адрес строки установлен в 2 и конечный адрес строки установлен в 126.
2. Командой A0h разрешено режим горизонтального инкремента адреса.
Рис. 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.
Рис. 10-3. Перемещение указателя адреса в режиме горизонтального инкремента адреса.
Когда A[0] установлен в 1, драйвер настроен в режим инкремента вертикального адреса. После завершения чтения/записи RAM указатель адреса строки автоматически увеличивается на 1. Если адрес строки достигает последнего строки, то указатель адреса строки сбросится на адрес начальной строки, и указатель адреса столбца увеличится на 1. Последовательность перемещения по строкам и столбцам для этого режима показана на рис. 10-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.
Рис. 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).
Рис. 10-6. Аппаратная конфигурация 1 выводов COM (MUX ratio: 128).
Рис. 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 экрана.
Рис. 10-8 : Пример Set Display Start Line без включенного Remap.
Эта команда задает привязку начальной строки экрана - подразумевается, что COM0 начальная строка дисплея, когда регистр начальной строки экрана (display start line register) равен 0 - к одному из COM0-127. Например, для перемещения COM39 по направлению к COM0 на 40 строк, 7 бит данных во второй команде должны быть 0101000. На рисунке ниже показан пример этой команды. Здесь "Row" обозначает графические данные строки RAM экрана.
Рис. 10-9. Пример Set Display Offset без включенного Remap.
Это однобайтная команда, которая используется для установки режимов Normal Display (обычный экран), Entire Display ON (экран полностью включен), Entire Display OFF (экран полностью погашен) и Inverse Display (инверсный экран).
• Normal Display (A4h)
Сбросить предыдущие эффекты и перевести данные на отображение в соответствующем уровне градаций серого. На рис. 10-10 показан пример работы этого режима.
Рис. 10-10. Пример работы режима нормального отображения (Normal Display).
• Set Entire Display ON (A5h)
Принудительно переводит все точки экрана в яркость GS15 независимо от содержимого данных RAM буфера экрана, как это показано на рис. 10-11.
Рис. 10-11. Пример действия режима Entire Display ON.
• Set Entire Display OFF (A6h)
Принудительно переводит все точки экрана в яркость GS0 независимо от содержимого данных RAM буфера экрана, как это показано на рис. 10-12.
Рис. 10-12. Пример Entire Display OFF.
• Inverse Display (A7h)
Уровни серого данных дисплея при отображении будут переустановлены наоборот, так что GS0 будет соответствовать яркости GS15, GS1 - GS14 и так далее. На рис. 10-13 показан пример работы инверсии экрана.
Эта команда включает отображение части экрана. Отображаемая область задается командой из 3 байт. Рис. 10-14 показывает пример включенного режима отображения части экрана с начальным адресом строки A[6:0] = 20h и конечным адресом строки B[6:0] = 5Fh, когда MUX ratio = 128.
Эта команда из 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.
Устанавливает 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.
Эта команда используется для индивидуальной подстройки уровней градаций яркости (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.
Рис. 10-15. Пример гамма-коррекции с помощью настройки таблицы перекодировки яркости (Gamma Look Up table).
Эта команда из 2 байт устанавливает уровень напряжения первой стадии предзаряда (фаза 2) для выводов SEG. Уровень предзаряда программируется относительно 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 (после сброса).
Эта команда используется для блокировки микросхемы драйвера 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 выкл., дисплей выкл., панель не подключена
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
нс
Рис. 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
-
-
нс
Рис. 13-2a. Характеристики интервалов времени режима параллельной шины стиля 8080 MCU, запись по шине.
Рис. 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
нс
Рис. 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
нс
Рис. 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).
Рис. 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).
Рис. 14-2. SSD1322, подключенный через 8-разрядную параллельную шину стиля 6800 в режиме двойного COM (dual COM mode). Применен внутренний стабилизатор для VDD.
Напряжение на IREF=VCC–6V. Для VCC=18V, IREF=10µA: