Подключение OLED на SSD1325 к STM32F4xx

Опубликовано 16 сентября 2013 в рубрике Микроконтроллеры

Рейтинг статьи:

Довелось тут разбираться с контроллером STM32. И одна из задач была - подключение OLED дисплея на базе контроллера SSD1325 посредством шины SPI.OLED SSD1325

Ну что ж. Документация на контроллер и дисплей есть, все должно получиться.

Для начала, о среде разработки. Существует достаточно много различных сред разработки для контроллеров STM. Среди них была выбрана бесплатная среда CooCox. Это только IDE, еще необходим компилятор. Компилятор тоже бесплатный GCC. C программной частью все более-менее понятно. Теперь аппаратная. Был взят готовый модуль STM32F4 Discovery и дисплей Winstar WH, для которого была изготовлена переходная плата с преобразователем напряжения.

Схема подключения SSD1325

Установив все программы и подготовив железо, приступаем. Для работы с периферией использовались стандартные библиотеки CMSIS. Первым делом настраиваем SPI интерфейс и дополнительные сигналы, такие, как Res, #CS и D/C.

Обратная сторона переходной платы

Для подключения в микроконтроллере были использованы следующие ноги:

  • PA5 - SCK
  • PA6 - MOSI
  • PC0 - RES
  • PC1 - #D/C
  • PC2 - #CS

Подготавливаем функции записи команды и данных и пишем блок инициализации. Проверка. И... тишина. В даташите этого четко не прописано, но при подключении по SPI, линии R/W и Е необходимо сажать на землю. После исправления экран оживает.

Ну теперь написать для полного счастья "Hello World" и далее прописывать необходимые функции вывода изображений-текста. Взят готовый файл шрифтов 5x7 и написаны функции вывода одного символа и строки символов. Но и тут поджидает неудача.

Текст выводится, но не стабильно. Перерыв все тайминги и задержки так и не добился стабильной работы. Позже выяснилось, что шумел преобразователь на 15 вольт. И вносил помехи в обмен данными. После введения фильтра все стало работать стабильно.

Ну вот собственно и результат:

Обратная сторона переходной платы

Для регулировки яркости можно использовать управление контрастом и также управление фазой импульсов контроллера.

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

Скачать драйвер

 

 

Комментариев: 4

  • guest:

    А в какой кодировке русский язык в комментариях в файле ssd1325_driver.c

      Somebady:

      Спасибо, поправил. Теперь в UTF-8.

  • guest:

    Now I feel stipud. That's cleared it up for me

  • krek7511:

    А схему преобразователя можете выложить, на какой ис собрано?