Вариант модуля индикации для Amanero на SSD1322 OLED модуле

Всем доброго дня. Предлагаю вашему вниманию собственный вариант модуля индикации, работающий с модулем гальванической развязки  для Amanero. В процессе сборки AH-D6 встал вопрос отображения информации о потоке  и режимов работы цапа. Основным критерием при выборе дисплея было желание  стилизовать изображение под VFD дисплеи.  В ходе экспериментов выбор пал на OLED модуль 3.12’’ 256х64 на контроллере SSD1322, покупал на али. Варианты цветов свечения- белый, синий, зеленый, желтый. Следует  уточнить, что продавцы присылают дисплеи,  сконфигурированные для работы по параллельному  интерфейсу 8080.  Для работы в данном устройстве следует настроить для работы в 4SPI, согласно таблице на плате дисплея  (R6 переместить в позицию R5). Схема устройства приведена ниже.

Как видно из рисунка,  схема устройства предельно проста и вопросов вызвать не должна.  Контроллер модуля индикации- stm32f103c8t6. Дисплей работает по 4 wire SPI интерфейсу на частоте 9 МГц. Управление инкрементальным энкодером, в моем случае установлен  RE1103EF2-V01-4318. Отдельно хочу остановиться на  разъеме J1, он не pin-to-pin совместим  с разъемом оригинального модуля гальванической развязки от Андрея.  Пины 9 и 10 поменяны местами. На 8 пин вывел сигнал с микроконтроллера  m/slЕго дальнейшем планирую  использовать для переключения источников. Эти различия следует учесть при сборке.

Логика управления следующая. Вращение энкодера по часовой стрелке — переключение по кругу четырех режимов цифрового фильтра SHARP, SLOW, SHARP SD, SLOW SD, против часовой стрелки- переключение по кругу входов USB(цап переводится в master, m/sl  устанавливается в 0), S/PDIF (цап переводится в slave, m/sl  устанавливается в 1).

Нажатие на кнопку энкодера- вход в меню модуля со структурой:

INPUT SELECT(выбор входа)

DIGITAL FLT(выбор режима цифрового фильтра)

DSD CONFIG(режим  автоматического определения  DSD потока ON/OFF)

SAMPLE RATE(режим автоматического определения частоты дискретизации ON/OFF)

BRIGHTNESS(настройка яркости свечения индикатора)

EXIT(выход из меню и сохранение настроек во flash, при следующем включении    конфигурация будет загружена  из памяти)

        Управление от пульта ДУ не стал делать, показалось лишним, при желании легко добавить. Исходники и сам файл прошивки прилагаю к статье. Проект собран для Keil 5 MDK-ARM. Программирование  контроллера производится через разъем J2 SWO, для прошивки понадобится программатор- отладчик ST-LINK и STM32 ST-LINK Utility.

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

Модуль смонтирован на печатной плате 50х150 мм., файл для SprintLayout во вложениях.

И еще несколько фотографий

Так выглядит в темноте

 

Вложение:
schematic.png 53 Кбскачан 45 раз
RSS
zokir  
09:10

Отличная работа. Соберупроверю и дополню отзыв

22:23

Управление от пульта ДУ не стал делать, показалось лишним, при желании легко добавить.

Еще бы крупные часы на индикатор добавить, для дежурного режима, с ДУ пультом.

dega  
02:34

По поводу часов думал, не устраивает точность rtc в stm32. Если делать, то на внешнем чипе rtc. Подумаю, может прикручу часики. 

caleb  
01:48
+1

Отличная работа!  Были бы эти индикаторы подешевше… выглядит весьма привлекательно, но просто так жаба задушит такой купить.

dega  
01:38

Спасибо. По стоимости вопрос спорный. Да, oled индикаторы довольно дорогие. Но если сравнивать этот индикатор с oled 1602 от winstar, то разница в 4$ уже не так существенна.

caleb  
19:39

Он по мне даже лучше смотрится чем oled 1602, как-то более красиво что ли, выразительно.