Visits: 1431
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кГ).
продолжение следует…
Это может быть интересно
- ch-4000 – универсальная печатная платаVisits: 983 На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, …
- Акриловый корпус для платы ch-4000Visits: 637 Плата ch-4000 подходит для монтажа в корпуса на дин рейку, но для домашней автоматики необходимо что-то другое, поэтому был разработан корпус из акрила который позволит создавать настольные и настенные устройства. Корпус …
- Униполярный шаговый двигательVisits: 2125 В приводах различных устройств часто применяются шаговые двигатели, Шаговый двигатели различают двух типов униполярные – когда обмотки коммутируются током текущим только в одну сторону, например при …
- Проект с использованием MCC часть 10Visits: 777 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …
- MPLAB® Harmony – или как это просто! Часть 4.Visits: 1943 Часть четвертая – это может показаться немного сложно. Структура проекта. Для облегчения конфигурирования проекты MPLAB Harmony обычно структурированы таким образом, чтобы изолировать код, необходимый для настройки «системы», от …
- Проект с использованием MCC часть 16Visits: 1033 Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код if(EUSART_DataReady) // проверим флаг готовности данных …
- Сумеречное релеVisits: 1413 Реле управления освещением, датчик день-ночь – одним словом фотореле для управления освещением или формирования сигнала для системы умный дом о понижении или повышении освещенности относительно заданного уровня. Реле выполнено по классической схеме, конденсаторный блок питания, от сети переменного тока …
- Часы-кухонный таймерVisits: 3868 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
- Применение typedef, struct и unionVisits: 8687 Полезные описания переменных Часто необходимо в памяти расположить последовательно разные виды данных, что бы потом можно было их использовать. Полезные ссылки Взято и переработано с сайта http://www.butovo.com/~zss/cpp/struct.htm http://cppstudio.com/post/9172/ …
- Проект с использованием MCC часть 11Visits: 800 Можно несколько облагородить программу вынести наши процедуры обработки нажатия кнопок в отдельные функции. Но вы должны понимать, что это хоть и не значительно, но будет тормозить общую скорость …