Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE
Дисплей от Sony Ericsson W580 320x240
Покопал ещё глубже этот дисплей. Оказалось, что сигнал FMARK выведен на ножку (Вывод "?" на плате-переходнике в Layout, выкладывал выше). Это значит, что можно избежать фликера, при выводе движущихся изображений.
Исходники для STM32F4Discovery+Keil ниже. FMARK заведен на внешнее прерывание (хотя можно и через GPIO опрашивать), картинки меняются через секунду. Синхронизируется по флагу, который выставляется внешним прерыванием FMARK.
Это сообщение отредактировал Gospodin_Riba - Jun 24 2018, 01:18 AM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Посчастливилось стать обладателем Б/У (а значит - оригинал с наиотличнейшим качеством!) дисплея от телефона Sony Ericsson K800i. Марка дисплея RNH942271R1A (указана на приклееной бумаге).
Аккуратно сняв дисплей и отпаяв феном с платы ответную часть разьёма, начал исследование.
Все иниты, взятые с ресурсов (ссылки ниже), НЕ работали!
При подаче питания - весь экран дисплея залит белым цветом. После инита экран темнеет и на нём появляются вертикальные полосы в оттенках серого. Запись в видеопамять активизирует развертку и появляется мусор, который тут же зарисовывается картинкой.
На светодиоды подсветки - резистор 100...150 Ом (ток 20 мА), напряжение подсветки 12V. Все линии питания дисплея запитаны от напряжения 3V.
Качество такое же как у дисплеев SE W580/S500 (при условии, если ОРИГИНАЛ, снятый с телефона, а не китайский). Габариты почти такие же.
Это сообщение отредактировал Gospodin_Riba - Jun 25 2018, 04:51 PM
Присоединённое изображение (Нажмите для увеличения)
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
Дисплей в работе можно посмотреть здесь:
Выкладываю сорцы всего проекта, Keil + STM32F4Discovery (STM32F407).
Дисплей прикручен к FSMC, частоту процессора пришлось выставить 84 МГц (дисплей чувствителен ко времянкам, для 168 МГц нужно перенастроить регистры FSMC).
Есть ножка WSYNC, которая даёт пульс, когда кадр отрисован. Настроил как внешнее прерывание с частотой 58 Гц (рефрешрейт дисплея, измерил частотомером).
В целом настройки дисплея те же, что и в телефоне SE K800i
Это сообщение отредактировал Gospodin_Riba - Jun 25 2018, 05:02 PM
Есть дисплей с моторолы С155 хочу подключить к атмегы 328, и написать прошивку для чего-то там в середе Ардуино IDE. Вопрос кто подкинет библиотеку и схемку что куда подключать, я немножко зеленый в этом вопросе, в подключены неизвестных десплеив к мк
С такими аппетитами впору какой-нибудь allwinner осваивать и прицепить адский "телевизор" на RGB-bus (HDMI, ...) и хоть HD гнать. Но правда без Linux заманаться можно. А с Linux эмуляторов можно понаставить парой команд, даже код писать не придется.
А у display bus насколько я понимаю довольно часто есть выход синхронизации кадра, чтобы можно было порисовать без тиринга. В RGB bus и прочих HDMI такой сигнал не нужен, но проблема лишь немного переезжает
Эх, были бы сейчас 80-90 XX века - рыба показал бы Кармаку где раки зимуют
Это сообщение отредактировал BlasterMaster - Jul 11 2018, 08:06 AM
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE (BlasterMaster @ Jul 11 2018, 07:58 AM)
С такими аппетитами впору какой-нибудь allwinner осваивать и прицепить адский "телевизор" на RGB-bus (HDMI, ...) и хоть HD гнать. Но правда без Linux заманаться можно. А с Linux эмуляторов можно понаставить парой команд, даже код писать не придется.
А у display bus насколько я понимаю довольно часто есть выход синхронизации кадра, чтобы можно было порисовать без тиринга. В RGB bus и прочих HDMI такой сигнал не нужен, но проблема лишь немного переезжает
Эх, были бы сейчас 80-90 XX века - рыба показал бы Кармаку где раки зимуют
С Линуксом и дурак сможет. А если нет Линукса и нет ресурсов, тогда как?
На телек/моник изображение вывести нет проблем. Делал на ПЛИС видеокарту, которая эмулировала LCD экран от сотиков.
В 80-90ее гг элементная база на уровне Z80, M68000. Даже AVR-ов не было. Так что раков бы не вышло Ну разве что на клонировании картриджей разбогатеть
Это сообщение отредактировал Gospodin_Riba - Jul 13 2018, 04:40 PM
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Тогда смотреть на бутлоадеры и программы не использующие OS, у linux-sunxi в git есть несколько простых примеров как писать штуки подхватываемые boot ROM по usb или с SD карты, с вгрузкой в SRAM. Убедить бутром пустить свою прожку с usb или sd-карты не особо сложно, детали того что бутром делает - в гите и вике linux sunxi описаны.
Сложно - раскочегарить железо и делать им что-то полезное. А не пользоваться богатой периферией - глупо, чтоли. И про отсутствие ресурсов - то же самое. Ну вон на али платка с H3 (родственник A1x, но уже 4 ядра) и 256-512 мегов RAM, парой эзернетов и проч стоит около $10.
Без линя - сроки разработки в небеса уйдут, а преимущества в чем будут? Или это бессмертные шутят? Я могу придумать пару экзотичных развлечений, типа SDR передатчика очень быстрым GPIO. В raspberry так даже с линем ухитрились вроде сделать, прямым програмингом регистров GPIO, хоть это и фи в многозадачке. Но это лишь 1 из множества применений.
QUOTE
На телек/моник изображение вывести нет проблем. Делал на ПЛИС видеокарту, которая эмулировала LCD экран от сотиков.
По сути нечто типа чипа бриджа получилось, только необычного, круто . Но у A1x есть свои железки для сплевывания фреймбуфера в RGB-bus, LVDS, а у A10/A20 и HDMI, оно тайминги формирует и само из DRAM таскает. Зачем ему ПЛИС? Там даже 3D GPU есть. Даже у A13. Ras pi в этом вообще кусок прикола, там GPU со своей ОС, а до кучи он сбоку ARM с Linux запускает для взаимодействия с собой. Броадком интересные ребята.
QUOTE
В 80-90ее гг элементная база на уровне Z80, M68000. Даже AVR-ов не было. Так что раков бы не вышло Ну разве что на клонировании картриджей разбогатеть
Сейчас железо стало многократно сложнее, улучшение технологий позволило в копеечный кристалл упихивать намного более сложное железо. Даже китайцам. Один только GPU моего компьютера многократно сложнее их всех вместе взятых, а запуск системного процессора поспорит в подготовкой космической ракеты к старту. Програмить такие системы как если бы это был спекки не очень работает. SoC где-то на границе между МК и этим. Там уже тяжко все напрямую делать, без ОС.
//но демонстрация системного мастерства у тебя эпично получается, радует глаз... но только технарям, юзеры за счет дешевых крутых железок уже зажрались
Это сообщение отредактировал BlasterMaster - Jul 20 2018, 05:58 PM
#define LCD_COM16 (*(volatile unsigned short int*) 0xC0000000) /* Порт команд 16 бит */ #define LCD_DAT16 (*(volatile unsigned short int*) 0xC0010000) /* Порт данных 16 бит */
//Дисплей на 8-битной шине, но взаимодействие - через 16 бит.
Это сообщение отредактировал Gospodin_Riba - Jul 21 2018, 11:39 AM
Присоединённое изображение (Нажмите для увеличения)
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE
Без линя - сроки разработки в небеса уйдут, а преимущества в чем будут? Или это бессмертные шутят? Я могу придумать пару экзотичных развлечений, типа SDR передатчика очень быстрым GPIO. В raspberry так даже с линем ухитрились вроде сделать, прямым програмингом регистров GPIO, хоть это и фи в многозадачке. Но это лишь 1 из множества применений.
Вы мешаете семейство ядер процессоров. Я пишу под Cortex-M7, это профиль "микроконтроллер".Ваш Alwinner- это Cortex-A*(не помню 7 или 9) - это "application" профиль.
Ещё раз - в ядрах профиля "микроконтроллер" операционным системам НЕ МЕСТО. Любители пыхтонов, педе-rust'ов и прочей нечисти идут и курят Cortex-A9. Ибо нефиг лезть в "microcontroller".
QUOTE
Зачем ему ПЛИС? Там даже 3D GPU есть. Даже у A13. Ras pi в этом вообще кусок прикола, там GPU со своей ОС,
Ну и много Вы напрограммировали под этот GPU? Под Mali-400 нет никакой низкоуровневой документации, и драйвера закрыты(алинуксоеды срут кирпичами с Торвальдсом впридачу. Вспомним "..so Nvidia, f*ck you..."). Значит неинтересны.
QUOTE
а запуск системного процессора поспорит в подготовкой космической ракеты к старту
Ну-ну Я работал с 3D-ускорителем видеокарты 3Dfx Voodoo2,3 с даташитом на регистры. И ракету по-вашему запустил (2D- и 3D- ускорители). А вот c Mail-400 что делать? Демосы под пингвин пускать?
QUOTE
юзеры за счет дешевых крутых железок уже зажрались
Да, зажрались. Только мне на это глубоко фиолетово.
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Вы мешаете семейство ядер процессоров. Я пишу под Cortex-M7, это профиль "микроконтроллер".
Все-таки не мешаю, т.к. осваиваю STM32 понемногу, мне они интересны как простые и предсказуемые штуки. Мне интересны в основном уровня F1/L1, плюс-минус.
QUOTE
Ваш Alwinner- это Cortex-A*(не помню 7 или 9) - это "application" профиль.
Да, только в A1x - ядро A8, в A20/H3 - ядро A7. И периферия под стать. В рамках топика любопытны RGB-bus'ом, пожалуй. Может еще LVDSом, но это не мобилочные матрицы уже.
QUOTE
Ещё раз - в ядрах профиля "микроконтроллер" операционным системам НЕ МЕСТО.
Согласен, для меня это так. Но любители RTOS поспорят, а на старшие STM32 даже порт Linux кто-то сделал.
QUOTE
Любители пыхтонов, педе-rust'ов и прочей нечисти идут и курят Cortex-A9. Ибо нефиг лезть в "microcontroller".
Не надо туда пихтонрастов! Тормозной глючный говнокод на обычных компах и серверах то достал. Я то на сишке шпрехаю, он и так и так нормально, и даже на десктопном Linux. Без него ОС не будет вообще
QUOTE
Под Mali-400 нет никакой низкоуровневой документации, и драйвера закрыты(алинуксоеды срут кирпичами с Торвальдсом впридачу. Вспомним "..so Nvidia, f*ck you..."). Значит неинтересны.
MALI все же подрасковыряли. Сперва Libv, потом продолжатели дела. По десктопным меркам архаичная штука, но в мобилках еще катит. Для вывода картинки на экран mali не нужен, он "считалка".
Нвидия.... когда nouveau их разреверсили (линуксоиды это умеют) - те зассали. И обвесили secure boot'ом сервисные процессоры новых видях. Где-то с GTX9xx, чтоли. Так что запускать ВАШ код на ИХ железе - низз! Собственность нвидия, tresspassers will be shot! Деньги уплачены? Не ебет! Железка знает кто настоящий хозяин. Милая фирма, да? Может фак то заслужен? Стебаться над этим можно, но ... вот вам Intel Management Engine. Вообще всем у кого Intel новее 2010 года. А вот "secure" boot. И boot guard, чтоб не отпатчили это в BIOS/UEFI ненароком. А вот подписи дров. Сперва опциональные, потом как сейчас. А вот виндостор, пока опциональный, но iPhone лишают wintel сна. А вот вам кейлогер в десяточке! И прочая телеметрия. Стебщики все больше похожи на лабораторных мышей, облепленых датчиками и бэкдорами :P. АМД идея с ME понравилась - в новых железках встроили "security" процессор, похожий по смыслу. Дурной пример заразителен.
А еще я сгонял на машине времени и узнал что около 2020 - BIOS объявят deprecated. Так что те кто что-то соображает в делах системных должны бы уже прикинуть куда ветер дует.
QUOTE
Ну-ну Я работал с 3D-ускорителем видеокарты 3Dfx Voodoo2,3 с даташитом на регистры. И ракету по-вашему запустил (2D- и 3D- ускорители).
По современным меркам это новогодний фейерверк. Но уже лунная экспедиция была. Современные GPU - массив SIMD. На них считается все, даже не графика. Или антиалиас прям шейдерами. В вуде - так? Плюс дюжина сервисных процессоров с своими прошивками. У AMD - Xtensa. У Nvidia - Falcon. Я поинтересовался что происходит когда драйвер убирает иллюзию VGA. И увидел ракету. В Linux ее не очень прячут, можно потрогать руками если хочется. У амд ATOM BIOS еще всякий, знает как работать с "своим" железом, интерпретируется драйвером а не выполняется напрямую. Поэтому железка взлетает и на ARM, MIPS и PPC если там PCI-e есть.
QUOTE
А вот c Mail-400 что делать? Демосы под пингвин пускать?
Это уж по вкусу. Libv и сотоварищи мемтестер написали - он шину сильнее прогружает. Если 2D хватает на mali можно вообще забить, выводом картинки он не занимается.
QUOTE
Да, зажрались. Только мне на это глубоко фиолетово.
А, вы чисто для себя прикалываетесь? Я не спорю, радует глаз и украшает vrtp . Все же мастерство - это мастерство. Мелкий вэйвлетный кодек, который даже на STM'е успевает... ммм... это изящно, что ни говори. Мне такие артефакты симпатичнее любого пыхтонраста
В k770i IPS матрица стоит, да еще и подсветка с теплым оттенком. Картинку выдает изумительную! Еще и дисплей вместе с защитным стеклом идет! Контроллер не помню какой стоит, если порыться, то можно найти, я где то писал вроде, ДШ спокойно гуглился.
Это сообщение отредактировал vitalik_b - Jul 22 2018, 08:31 PM
В k770i IPS матрица стоит, да еще и подсветка с теплым оттенком. Картинку выдает изумительную! Еще и дисплей вместе с защитным стеклом идет! Контроллер не помню какой стоит, если порыться, то можно найти, я где то писал вроде, ДШ спокойно гуглился.
Спасибо за информацию. Читал про IPS, качество действительно отличное, но с быстродействием у них не очень. Интересно было бы узнать, как этот дисплей воспроизводит анимацию, будут ли шлейфить спрайты при перемещении, подобно тому как это было на первых LCD-мониторах с откликом 16 мс.
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE (BlasterMaster @ Jul 22 2018, 04:49 PM)
А, вы чисто для себя прикалываетесь?
BlasterMaster, интересно дискутируете, только может в теме про игровую консоль будете писать? Это просьба.
Всё-таки эта тема "Дисплеи от сотиков", и весь флейм как бы он интересен ни был, может быть ВНЕЗАПНО удален модераторами. В лучшем случае - перенесён. Поэтому обсуждение лучше перенести в "консоль".
Это сообщение отредактировал Gospodin_Riba - Jul 25 2018, 02:50 PM
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Автор
Сообщений: 2137
Пользователь №: 116127
Регистрация: 26-April 16
QUOTE (Gospodin_Riba @ Jun 27 2018, 11:53 AM)
Удалось запустить этот дисплей (K800i) при частоте контроллера 168 МГц.
Причина оказалась в восприимчивости вывода !CS к помехам. Вычислил это, постепенно понижая частоту тактирования каждой линии GPIO.
Поставил резистор 820 Ом на ногу !CS (между STM и LCD), всё работает как часы.
Удалось выяснить истинную причину такого поведения дисплея от K800i с контроллером Toshiba.
Этот контроллер дисплея требует большого холда на временных диаграммах. Речь об Address Hold. Он долже быть не короче 15 нс. А микроконтроллеры STM32 имеют FSMC с фиксированным холдом - 1 CLK, что на 200 МГц даст всего 5 нс.
Отсюдова и глюки и трудности в инициализации. Остальные дисплеи,с которыми я работал , имеют холд от 0 до 7 нс.
Поэтому выхода 2: понижать тактовую FMC до 66 МГц (чтоб 1 CLK= 15 нс), либо переводить FSMC в режим NAND и там холд регулируется.
1) Костыль в коде инита не нужен 2) Резистор на !CS не нужен 3) Команды-подпорки (выставление X и Y перед каждым кадром, преамбула выдачи данных) не нужны! В бесконечном цикле можно слать только данные без команд. 4) Дисплей устойчив и не уходит в зависон
Ура!
--------------------
По всем вопросам пишите на почту: repstosw2018 [собака] gmail [точка] com Энтузиазм заканчивается, когда начинается Кризис. Рождается Капитализм :)
Группа: Cоучастник
Сообщений: 3
Пользователь №: 115657
Регистрация: 25-March 16
Место жительства: Москва
Gospodin_Riba, вызывают улыбку эти опыты с дисплеем на STM32F4. Я понимаю что Вы не оцените и не буду спорить, у Вас свой подход. Сейчас за 20$ можно купить новый смартфон. В эти 20$ входит сенсорный экран, аккумулятор, gsm, блютуз, wifi, камера, gps и т.д. Есть операционка, которая предоставляет графический интерфейс и API к переферии. Если нужны GPIO, элементарно делается через USB или по беспроводному интерфейсу. Просто неограниченные возможности с минимум вкладываемого времени. А теперь подсчитайте во сколько вам это все обойдется покупая все модули по отдельности и сколько нужно человеко-часов все это соединить и запрограммировать.
Это сообщение отредактировал kruzo - Jul 26 2018, 12:27 PM
Группа: Cоучастник
Сообщений: 3
Пользователь №: 115657
Регистрация: 25-March 16
Место жительства: Москва
QUOTE (Gospodin_Riba @ Jul 26 2018, 12:20 PM)
QUOTE
Gospodin_Riba, вызывают улыбку эти опыты с дисплеем на STM32F4.
Для полной справедливости, улыбнитесь ещё нескольким сотням пользователям, написавшим в этой теме про подключение дисплеев.
QUOTE
Есть операционка, которая предоставляет графический интерфейс и API к переферии.
Вот как! А я и не знал.
Второе пришествие Билла Гейтса? Или Стива Джобса?
Да я на другой ответ и не рассчитывал )). Я так и написал. Но может кто задумается . Прогресс неумолим. 20$ за готовый смартфон с сенсорным дисплеем и кучей модулей и операционкой на борту )). Вентилятор в туалете можно ардуину взять. Хочется с красивым сенсорным дисплеем что-то посерьезнее - смартфон за 20ку. А ковыряния со слайдами на экране это для гиков. Взять топовый STM32 и показывать что уже быстрее слайдов это тоже для гиков.
Это сообщение отредактировал kruzo - Jul 26 2018, 12:38 PM
Группа: Cоучастник
Сообщений: 32
Пользователь №: 121675
Регистрация: 16-September 17
Место жительства: Россия
Добрый день. Ребята не подскажете распиновку или кто сталкивался с такими дисплеями TXDT350DH-129 от Explay N1 3,5 дюйма 39 pin, CXD350-27 v1.1 3,5 дюйма 40pin от Goldstar SP35 (OYSTERS Arctic 350).
Присоединённое изображение (Нажмите для увеличения)
доброго времени суток, помогите мне пожалуйста , как экран от нокия 6111 подключить к ардуино ? меня интересует куда подпаиваться и и библиотека для него на ардуину уно вот скриншот из схемы телефона
Присоединённое изображение (Нажмите для увеличения)