Дошли у меня руки до того, чтобы поиграть с VFD дисплеями из девайса, про который писал
чуть раньше.
С сегментными индикаторами никаких проблем не возникло. Даташит есть, принцип понятен, за пару часов набросал библиотеку для PT6311 и всё заработало:
Другое дело, что качество VFD самих по себе не очень. На одном дисплее засвечиваются некоторые сегменты, на другом - разряды посередине тусклее, чем разряды по краям. Но это уже другой вопрос, к делу не относящийся.
А вот дисплей из блока анализатора спектра - это какой-то трындец. Полдня с ним бился, и никак не могу понять логику развёртки изображения на экран.
Дисплей графический, 140x32. Называется MN14032A, производитель некий Noritake.
Даташита нормального нет, есть такой вот обрезок
Что-то из него вроде как понятно. Отправлять нужно данные пачками по 240 бит, потом защёлкивать отправленные данные и переходить к следующему столбцу (gird)
В посылке из 240 бит первые 192 бит - вроде как заполняют столбец (Grid) высотой 32 и шириной 6 пикселов, причём с какой-то замороченной перестановкой битов (abcdef => afbecd). Оставшиеся 48 бит посылки должны каким-то образом выбирать этот Grid. Как - толком не понятно. На картинке эти Grid-ы (G1/G2/G3...) непонятно каким образом захватывают биты по горизонтали. На графике с таймингами видно, что почему-то посылка сразу на два Grid-а распространяется - текущий и предыдущий. В общем, какой-то кошмар.
Ещё до конца непонятно, что за GCP вывод. Вроде как для grayscale нужен. Если его дёргать в нужный момент, то текущая развёртка "гасится" и как бы ШИМ получается. Если не трогать (пока и не трогаю), то вроде как максимальной заполнение ШИМ выходит, и можно пока на это не отвлекаться.
В общем, толком непонятно, в какой последовательности биты из массива надо выводить, как между собой перекликаются соседние Grid-ы.
В поисках информации наткнулся на похожий дисплей MN25664 и более полный даташит на него. Но особо ситуацию это не прояснило. На всякий случай приложу инфу на него + свои попытки что-то сделать. В .c файле, который во вложении - кусочек кода, который выводит на экран то, что показано на картинке выше. Развёртка - это просто постоянное дёрганье из main.c в цикле функции mn14032Test()
Если кто-то сталкивался с подобными дисплеями, требующими внешней развёртки, и может помочь с описанием этого всего, очень сильно буду благодарен за любую полезную информацию.
Добавлено after 3 hours 32 minutes 42 seconds:Вопрос снят, вроде как разобрался. Там действительно заморочено вышло, но, главное, заработало.
Дальше осталось только причёсывание и оптимизация кода.
- Вложения
-
- stuff.7z
- (564.45 KiB) Скачиваний: 266