Views: 1472
RET012864E/REX012864J ОЛЕД индикатор производитель Raystar-Optronics приобретался в http://www.microchip.ua/ к сожалению никакой информации на сайте поставщика нет. Поэтому решил работу с этой версией индикатора на драйвере SSD1305 предоставить на своем сайте. Так как есть ошибки даже в описании производителя.
http://www.raystar-optronics.com/products-category-detail.php?lang=ru&ProID=370
http://www.raystar-optronics.com/products-category.php?lang=ru&CID=3
Внимание, в заводском pdf описана распиновка для интерфейса 6080, а индикатор настроен на 8080.
RET012864E/REX012864J | ||||||||
Resolution | Picture | Raystar P/N | Size | Duty | Type | Color | Bulit-in Controller | Interface |
128×64 | RET012864E REX012864J |
2.36″ | 1/64 | Graphic | Y | SSD1309Z | default 8080,option 6800,SPI |
Драйвер SSD1309Z позволяет работать с 4 интерфейсами. Сборка индикатора по умолчанию настроен на параллельный 8080 выбор интерфейса можно изменить перепаяв резисторы на плате индикатора.
Выбор интерфейса индикатора | ||||
Название переключателя | 8080 | 6800 | SPI | I2C |
JB1H | √ | √ | ||
JB1L | √ | √ | ||
JB2H | √ | √ | ||
JB2L | √ | √ |
Назначение выводов индикатора для выбранного интерфейса
Назначение выводов | |||||
Номер вывода | 8080 | 6800 | SPI | I2C | Примечание |
1 | VDD | VDD | VDD | VDD | Питание 3,3 В |
2 | VSS | VSS | VSS | VSS | Общий |
3 | NC | NC | NC | NC | Не подключен |
4 | DB0 | DB0 | SCLK | SCL | |
5 | DB1 | DB1 | SDIN | SDAIN | |
6 | DB2 | DB2 | NC | SDAOUT | |
7 | DB3 | DB3 | под. VSS | под. VSS | |
8 | DB4 | DB4 | под. VSS | под. VSS | |
9 | DB5 | DB5 | под. VSS | под. VSS | |
10 | DB6 | DB6 | под. VSS | под. VSS | |
11 | DB7 | DB7 | под. VSS | под. VSS | |
12 | CS | CS | CS | под. VSS | |
13 | NC | NC | NC | NC | Не подключен |
14 | RES# | RES# | RES# | RES# | |
15 | WR# | R/W# | под. VSS | под. VSS | |
16 | D/C | D/C | D/C | SA0 | |
17 | RD# | E | под. VSS | под. VSS | |
18 | NC | NC | NC | NC | Не подключен |
19 | DISP | DISP | DISP | DISP | Включение высоковольтного преобразователя.
0- выкл. 1- вкл. |
20 | NC | NC | NC | NC | Не подключен |
Примечание: под. VSS – вывод должен быть подключен к Vss. NC – вывод должен быть оставлен не подключенным (в воздухе).
Краткое описание работы интерфейсов.
MCU Parallel 6800-series Interface
Параллельный интерфейс состоит из 8 двунаправленными линий данных (D [7: 0]), R/W#, D/C#, Е и CS#.
R/W# – НИЗКИЙ уровень на R/W# указывает на операцию записи, ВЫСОКИЙ на R/W# обозначает операцию чтения.
D/C# – НИЗКИЙ уровень на D/C# указывает на чтения/записи команды, ВЫСОКИЙ на D/C# указывает на чтения/записи данных.
Е – вход E служит фиксации данных, в то время когда сигнал CS# в низком уровне. Данные фиксируются по заднему фронту сигнала E.
CS# – вход выбора индикатора.
6800 | ||||
Функция | E | R/W# | CS# | D/C# |
Запись команды | ↓ | L | L | L |
Чтение статуса | ↓ | H | L | L |
Запись данных | ↓ | L | L | H |
Чтение данных | ↓ | H | L | H |
Примечание:
↓ – означает выполнение функции по заднему фронту сигнала
Н – означает высокий уровень в сигнале
L – означает низкий уровень в сигнале
Небольшая особенность при чтении данных, первое чтение надо пропустить.
MCU Parallel 8080-series Interface
Параллельный интерфейс состоит из 8 двунаправленными линий данных (D[7: 0]), RD#, WR#, D/C# и CS#.
D/C# – НИЗКИЙ уровень на D/C# указывает на чтения/записи команды, ВЫСОКИЙ на D/C# указывает на чтения/записи данных.
RD# – Передний фронт на входе RD# активирует считывания данных сигнала фиксации их на шине данных, в то время как CS# поддерживается на низком уровне.
WR# – Переднему фронту на входе WR# активирует запись команды/данных установленных на шине в драйвер, в то время как CS# поддерживается на низком уровне.
Чтение:
Запись:
8080 (Form 1) | ||||
Функция | RD# | WR# | CS# | D/C# |
Запись команды | H | ↑ | L | L |
Чтение статуса | ↑ | H | L | L |
Запись данных | H | ↑ | L | H |
Чтение данных | ↑ | H | L | H |
8080 (Form 2) | ||||
Функция | RD# | WR# | CS# | D/C# |
Запись команды | H | L | ↑ | L |
Чтение статуса | L | H | ↑ | L |
Запись данных | H | L | ↑ | H |
Чтение данных | L | H | ↑ | H |
Примечание:
↓ – означает выполнение функции по заднему фронту сигнала
Н – означает высокий уровень в сигнале
L – означает низкий уровень в сигнале
Небольшая особенность при чтении данных, первое чтение надо пропустить.
MCU Serial Interface (SPI)
Последовательный интерфейс состоит из последовательного тактового сигнала SCLK, последовательных данных SDIN, D/C#, CS#. В режиме SPI, D0 действует как SCLK, D1 действует как SDIN. Для неиспользованных контактов данных, D2 следует оставить открытым. Входы от D3 до D7, Е и R/W# может быть подключены к Vss.
8080 (Form 2) | |||||
Функция | E(RD#) | R/W#(WR#) | CS# | D/C# | D0 |
Запись команды | под. VSS | под. VSS | L | L | ↑ |
Запись данных | под. VSS | под. VSS | L | H | ↑ |
Процедура записи данных в драйвер индикатора
MCU I2C Interface
Интерфейс I2C состоит из ведомого устройства (бит адреса SA0), сигнала передачи данных SDA (SDAOUT /D2 для вывода и SDAIN/D1 для ввода данных) и тактовый сигнал SCL (D0). Обе шины данных и синхронизации должны быть подключены к нагрузочным резисторам. RES# используется для инициализации устройства.
Адрес ведомого устройства бит (sa0)
SSD1305 должен принять, адрес ведомого устройства, прежде чем начать передавать или получать любую информацию в от I2C шины. Устройство будет реагировать на адрес ведомого устройства согласно бита “SA0” адреса и выполнять операцию чтения/записи согласно бита “R/W#” со следующим форматом байта:
I2C | |||||||
b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
0 | 1 | 1 | 1 | 1 | 0 | SA0 | R/W# |
“SA0” бит обеспечивает расширения для подчиненного адреса. Адрес “0111100” или “0111101”, может быть выбран в качестве подчиненного адреса для SSD1305. Вход D/C# определяет значение для SA0, выбора адреса ведомого устройства.
R/W# бит используется для определения режима работы интерфейса I2C – шины. R/W# = 1 – режим чтения. R/W# = 0, – режим записи.
Формат шины I2C
Настройка индикатора для работы с I2C интерфейсом
Описание формата передачи данных и команд по шине I2C.
- Ведущее устройство инициирует передачу данных по условию СТАРТ.
- Передача адреса ведомого устройства (драйвера индикатора). Для SSD1309Z, адрес ведомого устройства может быть 0b0111100(R/W#) или 0b0111101(R/W#) путем установки бита SA0 в “0” или “1” (вход D/C предназначен для установки состояния бита SA0).
- Режим записи устанавливается путем установки бита R/W# в “0”.
- Сигнал подтверждения будет сгенерирован после получения одного байта данных, включая адрес ведомого и бита R/W#.
- После передачи адреса ведомого, либо управляющего байта, или байт данных, может быть отправлен через SDA. Контрольный байт состоит главным образом из Co и D/C# битов далее следуют шесть “0”.
а. Если Со бит установлен в логический “0” – далее будет следовать передача только одного байта, “1” – последовательность байт.
б. D/C# бит определяет следующий байт данных действует в качестве команды или данных. Если бит D/C# установлен в логический “0”, он определяет следующий байт данных в качестве команды. Если бит D/C# установлен в логическую “1”, он определяет следующий байт данных в качестве данных, которые будут записываться(читаться) в GDDRAM. Указатель столбца GDDRAM адрес будет увеличено на единицу автоматически после каждой записи данных. - Бит ACK будет сгенерирован после приема каждого байта управления или байт данных.
- Режим записи будет завершен, когда применяется условие СТОП.
Пожалуйста, следует отметить, что передача бита данных имеет некоторые ограничения.
1. Бит данных, который передается во время каждого импульса SCL, должен держать в стабильном состоянии в “высокий” период тактового импульса. За исключением начала или условия останова, линия передачи данных может быть включен только тогда, когда SCL низкий.
2. Обе линии передачи данных (SDA) и линия синхронизации (SCL) должен быть подтянуты к Vcc внешними резисторами (1,8к для 400кГ).
продолжение следует…
Это может быть интересно
- Проект с использованием MCC часть 14Views: 833 С выводом данных на дисплей мы справились (но могу сразу сказать библиотеку графики к этой статьи пришлось доработать, поэтому в этом проекте она обновлена). У нас на текущем …
- УКВ – радиоприем, часть 1Views: 9606 Музыкальная тема к статье, слушаем: Первый мой радиоприемник, выглядел так. Использовал исключительно в школе на уроках, держась за одно ухо и преданно смотря на училку и сладко улыбаясь. …
- Бегущие огни на WS2812BViews: 4869 В настоящее время большой популярностью стали пользоваться светодиоды со встроенным драйвером WS2812B. Текущий проект предназначен показать возможность использования и управления этими светодиодами. Это и проект и исследование по …
- Просто о структурах и объединениях в СиViews: 2177 Какие задачи нам позволяют решать структуры и объединения? Для разработчика встроенных систем эффективность и компактность кода всегда на первом месте. Если программировании на Ассемблере ты сам определяешь как …
- Защита датчиков температуры DS18B20 от статического электричестваViews: 1836 Статья перепечатана с сайта http://svetomuzyka.narod.ru При удалении датчика на большие расстояния возникает опасность наведения импульсов высокого напряжения на кабель, который соединяет датчик с контролером. Если не принимать меры защиты, …
- Kitchen timer with contactless gesture controlViews: 653 Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
- LATINO – открытый проект ch-светомузыкиViews: 1660 Проект построенный на некоторых принципах ch-светомузыка. Проект ознакомительный предназначен, для самостоятельного построения простого и эффективного светосинтезатора. Вывод осуществляется на ВОУ собранной на драйверах HL1606. Для этого была …
- Цифровой тахометр для автомобиля CH-С3300Views: 1903 Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …
- HVLD модуль на примере PIC24FJ128GA204Views: 642 HVLD модуль представляет собой простое устройство, для контроля напряжения питания микроконтроллера или внешнего напряжения (через делитель). Его задача при “выходе” напряжения за заданные пределы сформировать сообщение микроконтроллеру, что …
- Индикатор температурыViews: 2672 Проект для начинающих, на демо плате BB-2T3D-01. Простой индикатор температуры. Проект никак не задумывался, просто на витрину магазин Ворон нужна была демонстрационная модель на макетной плате, чего нибудь работающего. Остановились на индикаторе …