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 • Параметры для матричного дисплея: • Для каждой точки поддерживается 16 уровней серого благодаря встроенной буферной памяти экрана 480 x 128 x 4 бит SRAM • Выбираемый режим вытекающего общего тока (Common current sinking): • 8-разрядная программируемая таблица градаций серого (Gray Scale Look Up Table) Таблица 3-1. Варианты исполнения контроллера, доступные для поставки.
Примечание: вариант поставки SSD1322Z2 может быть интересен только для производителей индикаторов, поэтому ниже приведена только цоколевка для варианта SSD1322UR1 (для получения полной информации см. даташит ssd1322.pdf из архива [1]). Рис. 6-1. Цоколевка интерфейса варианта поставки SSD1322UR1. Рис. 4-1. Блок-схема SSD1322. [7. Описание выводов] Легенда для типа вывода: I вход Таблица 7-1. Описание выводов SSD1322.
Примечание: серым шрифтом показаны сигналы, которые не выходят на внешний коннектор 30-pin коннектора в варианте поставки SSD1322UR1. [8. Функциональное описание блоков] 8.1. Варианты организации интерфейса с микроконтроллером. Интерфейс с микроконтроллером у SSD1322 состоит из 8 выводов для данных и 5 выводов управления. Режим интерфейса может быть выбран аппаратно, путем установки уровней выводов BS0 и BS1:
Примечание: 0 когда сигнал BSx соединен с VSS, 1 когда BSx соединен с VDDIO. Назначение выводов для разных режимов интерфейса сведено в таблицу 8-1. Таблица 8-1. Назначение выводов интерфейса с микроконтроллером в разных режимах.
Примечание: лог. 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.
Примечания: H->L означает переход сигнала от лог. 1 к лог. 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.
Примечания: L->H означает переход сигнала от лог. 0 к лог. 1 См. также рис. 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-проводного последовательного интерфейса.
Примечания: L->H означает переход сигнала от лог. 0 к лог. 1 Уровень на входе 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-проводного последовательного интерфейса.
Примечания: L->H означает переход сигнала от лог. 0 к лог. 1 NC никуда не подключено Рис. 8-6. Операция записи в режиме 3-проводного SPI. Важное замечание по поводу сигнала CS#: несмотря на то, что можно этот сигнал навсегда перевести в лог. 0, и индикатор будет при этом воспринимать команды и данные, такой вариант управления работает ненадежно. Лучше всего переводить сигнал CS# в лог. 0 только перед перед началом передаваемого в индикатор байта данных (или блока из нескольких байт), и переводить его в лог. 1 по окончании передачи (байта или блока). Допустимо передавать весь блок данных (даже все данные экрана целиком), удерживая сигнал CS# в состоянии лог. 0, но перед началом передачи этого блока и по его окончанию CS# должен быть в состоянии лог. 1. 8.2. Схема сброса. Когда входной сигнал RES# притянут к лог. 0, контроллер SSD1322 инициализируется в следующее состояние: 1. Дисплей выключается 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 является самым высоким положительным напряжением питания. 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: 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 показаны ниже. Рис. 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 разрешается линейная таблица градаций серого.
Примечание (1): градации серого GS0 и GS1 не имеют второй фазы предзаряда (фазы 3) и тока фазы (фазы 4), однако GS1 имеет первую фазу предзаряда (фаза 2). 8.9. Последовательность включения и выключения. Следующие рисунки показывают рекомендованную последовательность для включения и выключения SSD1322 (подразумевается, что VCI и VDDIO имеют одинаковый уровень напряжения, и используется внутренний стабилизатор напряжения для VDD). Последовательность включения: 1. Подать питание на VCI, VDDIO. Рис. 8-14. Последовательность включения SSD1322. Последовательность выключения: 1. Послать команду AEh для выключения дисплея. Рис. 8-15. Последовательность выключения SSD1322. Примечания: (1) Поскольку схема защиты от статического электричества (ESD) подключена между VCI, VDDIO и VCC, VCC становится ниже VCI каждый раз когда VCI, VDDIO включены, и VCC выключено, как это показано пунктирной линией для VCC на рис. 8-14 и рис. 8-15. 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.
Примечание: * означает любое состояние (можно записать или 0, или 1, это ни на что не влияет). [10. Описание команд] Команда разрешения таблицы градаций серого (таблица устанавливается командой B8h). Команда из трех байт задает начальный и конечный адрес 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 • Nibble Remap (A[2]) A[2] = 0 (состояние по умолчанию после сброса): биты данных привязаны напрямую Эффекты от этого продемонстрированы на рис. 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 (состояние по умолчанию после сброса): сканирование сверху вниз Подробности расстановки выводов можно найти на рис. 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 Подробности расположения выводов можно найти на рис. 10-6. • Set Dual COM mode (B[4]) Этот бит команды устанавливает двойной режим COM. B[4] = 0 (состояние по умолчанию после сброса): двойной режим для COM запрещен, см. рис. 10-6 Обратите внимание, что когда разрешен двойной режим 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 показан пример работы инверсии экрана. Рис. 10-13. Пример работы Inverse Display. Эта команда включает отображение части экрана. Отображаемая область задается командой из 3 байт. Рис. 10-14 показывает пример включенного режима отображения части экрана с начальным адресом строки A[6:0] = 20h и конечным адресом строки B[6:0] = 5Fh, когда MUX ratio = 128. Рис. 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 может потребовать увеличения периода для полного разряда ранее записанных данных.
• Фаза 2 (A[7:4]): устанавливает период от 3 до 15 в единицах DCLK. Чем больше емкость пиксела OLED, тем нужен больше период заряда к целевому напряжению VP.
Эта команда из 2 байт состоит из 2 функций: • Front Clock Divide Ratio (A[3:0]) Устанавливает DIVSET, коэффициент делителя для генерации DCLK (Display Clock, тактовая частота дисплея) из CLK. Коэффициент деления может быть задан от 1 до 16, состояние по умолчанию после сброса 1 (деление отсутствует). Пожалуйста обратитесь к секции 8.5 для получения подробной информации по взаимосвязи DCLK и CLK.
• 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: A[3:2] GPIO1: Эта команда из 2 байт используется для установки фазы 3 второго периода предзаряда. Период фазы 3 можно запрограммировать в диапазоне от 0 до 15 DCLK.
Эта команда используется для индивидуальной подстройки уровней градаций яркости (gray scale) для каждого дисплея. За исключением уровней яркости GS0, когда нет предзаряда и выдаваемого в сегмент тока, каждый из уровней яркости (GS1..GS15) может быть запрограммирован в единицах DCLK для установки длительности импульса тока. Чем больше длительность импульса тока, тем будет ярче светиться пиксел OLED, когда он включен. За командой B8h пользователь может указать установки для шкалы серого для GS1, GS2, ..., GS14, GS15 последовательными байтами. Подробности см. в секции 8.8. A1[7:0]: задает настройку гамма для GS1, Примечание: 0 ≤ установка для GS1 < установка для GS2 < установка для ... < установка для GS15. За настройкой таблицы яркости должна следовать команда Enable Gray Scale Table (00h). Настройка таблицы яркости позволяет выполнить гамма-коррекцию панели экрана OLED. Поскольку восприятие яркости дисплея должно соответствовать данным изображения в буфере RAM экрана, то подходящая таблица яркости может предоставить корректировку уровней яркости, как это показано на рис. 10-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.
Эта команда из 2 байт устанавливает уровень высокого напряжения VCOMH для выводов COM. Уровень VCOMH программируется относительно 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] = Эта команда из 2 байт переключит режим мультиплексирования по умолчанию 1:128 в любой из режимов мультиплексирования от 16 до 128. Например, когда multiplex ratio установлено в 16, разрешено только 16 выводов COM. Начало и конец разрешенных выводов COM зависят от установки регистра "Display Offset", который программируется командой A2h. Рис. 10-8 и 10-9 показывают примеры установки multiplex ratio командой CAh. A[6:0] = Эта команда из 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.
Примечания: 1. Указанные здесь максимальные значения могут привести к повреждению устройства. Функционирование должно быть ограничено пределами в таблицах электрических характеристик или в описаниях выводов. [12. Параметры по постоянному току] Параметры приведены для следующих условий (если специально не указано что-то другое): все напряжения указаны относительно VSS, VDD в диапазоне от 2.4 до 2.6V, VCI от 2.4 до 3.5V (должно быть выше или равно VDD), TA = 25oC. Таблица 12-1. DC-характеристики.
[13. Параметры по переменному току] Параметры приведены для следующих условий (если специально не указано что-то другое): все напряжения указаны относительно VSS, VDD в диапазоне от 2.4 до 2.6V, VCI от 2.4 до 3.5V (должно быть выше или равно VDD), TA = 25oC. Таблица 13-1. AC-характеристики.
Примечания: 1. FOSC означает значение частоты внутреннего генератора и измеренное значение соответствует состоянию по умолчанию, установленному командой B3h A[7:4]. Таблица 13-2. Характеристики интервалов времени режима параллельной шины стиля 6800 MCU (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).
Рис. 13-1. Характеристики интервалов времени режима параллельной шины стиля 6800 MCU. Таблица 13-3. Характеристики интервалов времени режима параллельной шины стиля 8080 MCU (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).
Рис. 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).
Рис. 13-3. Характеристики интервалов времени режима последовательной шины 4-проводного SPI. Таблица 13-5. Характеристики интервалов времени режима последовательной шины 3-проводного SPI (VDD - VSS = 2.4 to 2.6V, VDDIO=1.6V, VCI = 3.3V, TA = 25°C).
Рис. 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: R1 = (напряжение на IREF - VSS) / IREF = (18 - 6) / 10µA = 1.2MΩ Примечание (1): это рекомендованное значение. Выберите подходящее значение для конкретного приложения. [Ссылки] 1. 150220151734WEXtest.zip - исходный код тестового проекта для управления индикатором OLED, документация. |