| Форум РадиоКот https://radiokot.ru/forum/ |
|
| Зеркальное отображение SSD1309 https://radiokot.ru/forum/viewtopic.php?f=61&t=166929 |
Страница 1 из 2 |
| Автор: | Andrjuxaxa [ Вт ноя 19, 2019 01:49:22 ] | |||||
| Заголовок сообщения: | Зеркальное отображение SSD1309 | |||||
Всем привет! Краткая предистория: Знакомый притащил 2 блатных радиоприёмника с дохлыми OLEDами, я в рамках своей осведомлённости давай шукать замену, как выяснилось - таких конкретно нигде несискать, продавцы посоветовали альтернативу, сверив датащиты по распиновкам, заказал, дорого!... но вскоре уяснил, что не в распиновке одной соль. Короче оригинальные на SSD1305, а мне втюхали SSD1309. Возврату не подлежит... сроки и тд. Проблемма заключается в зеркальном отображении картинки, как видно на вложенных фото. Рыскал долго в инете и датащит чуть-ли не назубок, всё сходится к тому, что-бы шить SSD1309, но я дуб-дубом в этой материи. Была зацепка насчёт RES#, в датащите то-ли опечатка, то-ли я это так понял, мол если RES# на землю кинуть, то заинициализируется как SSD1305. Посоветуйте как мне эту проблемку победить. ps. : Есть Arduinka UNO... но навыков ноль... Вот это радио: http://img.radiokot.ru/files/137555/21yyqffk9h.jpeg Это плата с отпаяным конэктором и распиновкой: http://img.radiokot.ru/files/137555/21yykc641x.jpg Датащиты вложены...
|
||||||
| Автор: | AAX [ Вт ноя 19, 2019 05:29:00 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Привет! Такие дисплеи бывают с "инвертированными" колонками на любом контроллере. Если я правильно понимаю, чип контроллера может стоять сверху или снизу (относительно изображения на экране, не знаю, как объяснить правильно). Перепайкой проводов, киданием ресета на землю это не лечится. Можно задать отражение картинки при инициализации дисплея. Для этого нужен логический анализатор и какой-нибудь микроконтроллер. Логическим анализатором читается последовательность команд инициализации дисплея. Если между инициализацией и передачей данных есть достаточная пауза, микроконтроллер ставится на 4 wire serial (SPI с data/command линией), читает трафик, находит последовательность инициализации, переключает пины в режим выхода, закидывает команду C0 (или C8). Если достаточной паузы нет, можно поставить микроконтроллер в разрыв интерфейса, 4 ноги читают, 4 пишут. Если передаётся C0 в процессе инициализации, заменять его на C8. Если не передаётся, добавить команду. Если инициализация происходит слишком часто, вставить дополнительную команду будет затруднительно. Ну, что-нибудь придумаете |
|
| Автор: | jcxz [ Вт ноя 19, 2019 14:05:14 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
находит последовательность инициализации, переключает пины в режим выхода, закидывает команду C0 (или C8). Как следует из приложенного мануала, команда "Set COM Output Scan Direction (C0h/C8h)" должна менять вертикальное направление сканирования. А у ТС-а с вертикальным как раз всё нормально. Хотя конечно идикатор в сём девайсе может быть установлен под углом 90 градусов и тогда эта команда подойдёт.Но я бы лучше смотрел на команду "Set Memory Addressing Mode (20h)" или команду ремапа. Если достаточной паузы нет, можно поставить микроконтроллер в разрыв интерфейса, 4 ноги читают, 4 пишут. Что может быть затруднительно если SCLK достаточно высокая. Так как нужно будет успевать работать параллельно с двумя SPI, один из которых к тому-же - слэйв. Для начинающего без опыта это будет сложно. Имхо.
|
|
| Автор: | jcxz [ Вт ноя 19, 2019 16:27:14 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
(сорри за бардак, я тут нимношка в ссылке живу четвёртый месяц, очень мало места и много проектов одновременно Это у Вас измеряемая температура с дискретностью до сотых отображается? А это реально нужно и в каких применениях? И какая точность?А то сейчас в соседней ветке тут как раз баталии насчёт точности измерения температуры идут. |
|
| Автор: | roman.com [ Вт ноя 19, 2019 16:39:25 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
На SSD1309 мы делали радиоуправление тут - https://radiokot.ru/forum/viewtopic.php?f=28&t=159826 1- При инициализации SSD1309 нужно правильно выставить развёртку: так: SPDR=0xC8; while(!(SPSR & (1<<7))); // развертка сверху вниз. // SSD1309 или так: SPDR=0xC0; while(!(SPSR & (1<<7))); // развертка снизу вверх. // SSD1309 2- Затем надо выставить развёртку: так: SPDR=0xA1; while(!(SPSR & (1<<7))); // развёртка слева направо (>>). // SSD1309 или так: SPDR=(не помню); while(!(SPSR & (1<<7))); // развёртка справа налево (<<). // SSD1309 3- А ещё у ТС смещение на два пикселя. Что бы это исправить, я например сдвигаю курсор (в функции курсора): Т.е. пишу адрес курсора со второго байта (Начальное 2): SPDR=0b00000010; while(!(SPSR & (1<<7))); // X - адрес 0000xxxx Low (Начальное 2). // SSD1309 Тогда всё нормально.
|
|
| Автор: | AAX [ Вт ноя 19, 2019 23:37:57 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Это у Вас измеряемая температура с дискретностью до сотых отображается? А это реально нужно и в каких применениях? И какая точность? это показометр, реально девайс будет "безголовый", т.е. без пользовательского интерфейса вообще. Просто стало интересно проверить возможности сенсора. Сотые там, конечно, никакие. Но в десятых меряет хорошо. Насколько я могу судить, сравнивая с китайским четырёхканальным термометром на термопарах А то сейчас в соседней ветке тут как раз баталии насчёт точности измерения температуры идут. Применение десятым оч. простое: везде, где нужно поддерживать температуру стабильной, от шага измерения зависит "вилка", в которой будет удерживаться температура. Т.е. если нужно поддерживать температуру в 30-40 градусов с точностью до двух-трёх градусов, десятые измерять прям очень желательно. В моём случае температуру и влажность воздуха нужно засовывать в датчик органических примесей. У него внутри проц, программка какая-то, он с информацией о температуре и влажности правильнее считает. Десятые и сотые там нафик не нужны - just for fun |
|
| Автор: | Andrjuxaxa [ Ср ноя 20, 2019 13:05:30 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Всем спасибо. Признаюсь для меня это тёмный лес - никогда еще не приходилось так вплотную связываться с микроконтролерами. Но общий смысл понял. Думаю на выходных зацепить матрицу на ардуинку и с самых азов постигать этот мир. Вчера наткнулся на польском форуме на якобы готовое решение похожей проблемы, но и тут без мало-мальского понятия для меня затруднительнльно будет повторить. Вот ссылка: https://translate.googleusercontent.com ... 4Fnzsiz6rw Кстати сфоткал шлейы матриц для сравнения, хотя врятли это имеет смысл : http://img.radiokot.ru/files/137555/220m76dupm.jpg http://img.radiokot.ru/files/137555/220m75l2ep.jpg |
|
| Автор: | jcxz [ Ср ноя 20, 2019 13:51:23 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Думаю на выходных зацепить матрицу на ардуинку и с самых азов постигать этот мир. Самый простой способ исследования: поставить на линии CS, SCLK, MOSI переключатель, которым будете коммутировать эти сигналы или на штатный контроллер LCD или на свой МК. Изначально поставили его в положение "штатный контроллер", включили питание, на экране появилась картинка (перевёрнутая), переключили переключатель на свой МК и пробуете подавать с помощью него команды, которые советовали в предыдущих постах (по мануалу на контроллер LCD). Пока не получится перевернуть изображение. А дальше уже думать как то же самое встроить в штатную работу устройства.Вряд-ли штатный контроллер подаёт команды инициализации в другое время кроме как сразу после включения питания. По-крайней мере я не вижу в этом необходимости. Но возможно что и подаёт - тогда будет сложнее. Если команды инициализации подаются только один раз при вкл.питания, то доработка будет несложной: Через N секунд(миллисекунд) после подачи питания перекоммутировать указанные сигналы на свой МК, подать нужные корректирующие команды (установленные на этапе исследования), перекоммутировать сигналы обратно на штатный МК. Возможно, что нужно будет ещё как-то синхронизироваться с сигналом CS от штатного МК. В худшем случае штатный МК всё время держит CS в активном состоянии - тогда будут сложности с вклиниванием в интерфейс. |
|
| Автор: | AAX [ Ср ноя 20, 2019 16:38:46 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Вчера наткнулся на польском форуме на якобы готовое решение похожей проблемы это не "якобы", а вполне себе решение. Только случай не Ваш - у них параллельный интерфейс задействован для передачи данных. С параллельным интерфейсом всё просто: когда активен режим command, и на 8 и 6 проводниках параллельного интерфейса единицы, и на всех остальных нули, поднять 1-й вывод в единицу. Получается замена команды A0 на A1. У Вас используется для связи с дисплеем последовательный интерфейс. Можно, конечно, на паре счётчиков и триггеров замутить "исправление" A0 на A1. Но не факт, что у Вас в девайсе передаётся A0. Потому, что ремап по-умолчанию выключен. Проще микроконтроллер использовать, имхо.
|
|
| Автор: | musor [ Ср ноя 20, 2019 16:50:03 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
я вот че подумал тока не смейтесь -ставим за стеклом зеркало в внешней амалгамой под 45 а дисплей ложим с низу горизонтално вот и все решение посилное ТС без перекодировки МК или правки кода прошифыки Добавлено after 59 seconds: была какато камера где так сделано и разверка шла справаналенво в матрасе |
|
| Автор: | Andrjuxaxa [ Ср ноя 20, 2019 23:06:06 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Проще микроконтроллер использовать, имхо. Пните пожайлуста в нужном направлении, раз уж за микроконтролер речь зашла, может были в истории уже подобные обсуждения. Я хоть на данном этапе не совсем всё вкуриваю, но пока я на этот уровень выйду, пройдут года. Тема то обширная, желательно в первую очередь проштудирить ту ветку, которая ведёт к скорейшему решению именно данной проблемеки. musor писал(а): ставим за стеклом зеркало ...такое решение тоже рассматривалось, мол когда чёнить прочитать желаешь - подноси зеркальце. Восторга от такой идеи у камрада я не заметил. А в корпусе свободного места совсем нет, упакован плотно. Вот ссылка на способ замены OLEDа в данном устройствае: http://alanwinstanley.squarespace.com/a ... splay.html |
|
| Автор: | AAX [ Чт ноя 21, 2019 03:13:37 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Пните пожайлуста в нужном направлении, раз уж за микроконтролер речь зашла, может были в истории уже подобные обсуждения. Не встречал. К сожалению, не могу задать направление, т.к. не понимаю, в какой точке Вы находитесь |
|
| Автор: | Andrjuxaxa [ Чт ноя 21, 2019 09:44:39 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Или "полный ноль, могу только разъём отключить, шлейф индикатора вынуть, новый вставить"? Вот именно так и обстоят дела. Схемку развести, вытравить...готовое решение шаг за шагом повторить. В аналоговам режиме короче. Но интерес есть вникнуть глубже. |
|
| Автор: | AAX [ Чт ноя 21, 2019 15:10:19 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Если целью ставить ремонт двух радеек, количество усилий, которое Вам предстоит потратить, слишком велико. Если цель в приобретении знаний - наверное, есть смысл ковыряться. Я бы начал с "оживления" дисплея под arduino, если уж оно у Вас есть. Скорее всего, с её помощью не получится сделать то, что нужно. Но разобраться с общими принципами - вполне. |
|
| Автор: | Starichok51 [ Чт ноя 21, 2019 20:50:31 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
AAX писал(а): arduino, если уж оно у Вас есть. AAX писал(а): с её помощью ты, всё же определись, arduino это ОНО или ОНА...а может, это вообще окажется ОН... |
|
| Автор: | jcxz [ Чт ноя 21, 2019 23:25:33 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
Скорее всего, с её помощью не получится сделать то, что нужно. Но разобраться с общими принципами - вполне. "Проблему скорей всего решить не получится, но зато получится увлекательно потратить время". |
|
| Автор: | AAX [ Пт ноя 22, 2019 00:23:23 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
ты, всё же определись, arduino это ОНО или ОНА... я, вроде, определённо и без сомнений написал - оно. По правилам русского языка arduino, наверное, "он". Поскольку слово образовано от имени собственного царя Ардуин. А по сути - без сомнения "оно".а может, это вообще окажется ОН... "Проблему скорей всего решить не получится, но зато получится увлекательно потратить время". и с пользой, главное, с пользой |
|
| Автор: | Starichok51 [ Пт ноя 22, 2019 09:18:05 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
AAX писал(а): А по сути - без сомнения "оно". а как же тогда бытьAAX писал(а): с её помощью ?что-то твоя суть как-то быстро перетекла в "она"... |
|
| Автор: | AAX [ Пт ноя 22, 2019 13:43:48 ] |
| Заголовок сообщения: | Re: Зеркальное отображение SSD1309 |
вот не хотел - но ты спровоцировал "Ардуино" это "отладочная плата", и я всегда говорю "она". "Оно" в первом случае употребил сознательно, в качестве эвфемизма к "это говно" |
|
| Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|


