TOG 0 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба Товарищи, имеется STM32H743 к которому подключен дисплей(MIPI DSI 1280x720) через MIPI DSI мост. Имеется проект на TouchGFX с кучей экранов. Вся графика грузится в QSPI-флэшку. Для видеобуфера используется внешняя SDRAM на 16 Мбайт. В МК включен кэш данных и кэш инструкций. Все работает. Но иногда после перепрошивки проекта в память МК может начать дергаться изображение всегда на одном и том-же экране. На всех других экранах изображение всегда стабильное. Перезагрузка не устраняет проблему, кабели тоже ни при чём. Меняю в программе что-то совершенно незначительное, можно например добавить какую-нибудь переменную, пересобираю проект, заливаю в память МК(QSPI-флэшку не прошиваю) и все начинает работать нормально, ничто нигде не дергается. Уже год вся эта шляпа длится, не могу найти причину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 61 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба 2 minutes ago, TOG said: Для видеобуфера используется внешняя SDRAM на 16 Мбайт. Возможно и не в тему. Но у меня было подобное лет 10 назад на LPC2478, когда в SDRAM размещался исполняемый код и видеобуфер. Процессор занимал надолго шину, и DMA контроллера дисплея не мог получить доступ для обновления картинки. Возможно, у Вас что-то подобное. Кстати, ещё на работе лет 5 назад было такое же на LPC1788. Всё лечилось назначением приоритетов мастеров на AHB шине/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба Command или Video mode ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
TOG 0 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба On 10/20/2023 at 1:41 PM, x893 said: Command или Video mode ? Video mode Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба Угадать сложно. Попробуйте переключить в command mode. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 245 20 октября, 2023 Опубликовано 20 октября, 2023 · Жалоба 6 часов назад, TOG сказал: Уже год вся эта шляпа длится, не могу найти причину. Пора уже изучать и задействовать MPU. Точнее - это надо было сделать ещё год назад. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 87 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба Дергание изображения - признак нехватки пропускной способности канала "память - дисплей". Вероятно, работает там на пределе возможностей, и малейшие изменения приводят к нехватке скосрости. Включенный отладчик отбирает некоторую часть производительности. В общем, самое время задумываться о скором наступлении предела производительности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба 8 minutes ago, EdgeAligned said: самое время задумываться Об использовании command mode Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 87 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба ...можно и так Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 245 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба 1 час назад, EdgeAligned сказал: Дергание изображения - признак нехватки пропускной способности канала "память - дисплей". Не факт. Так как: В 20.10.2023 в 10:18, TOG сказал: Но иногда после перепрошивки проекта в память МК может начать дергаться изображение всегда на одном и том-же экране. На всех других экранах изображение всегда стабильное. Если бы не хватало пропускной способности, то скорее всего дёргались бы все экраны и всегда. Для проверки можно попробовать остановить МК отладчиком на дёргающемся экране. И посмотреть - перестаёт дёргаться или нет? Если перестал - баг скорее всего программный. Если конечно остановка МК отладчиком не останавливает работу интерфейса дисплея. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 90 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба В 20.10.2023 в 14:18, TOG сказал: Но иногда после перепрошивки проекта в память МК может начать дергаться изображение всегда на одном и том-же экране. Ищите чем он отличается от других - номером, адресами, он последний или первый в каких-то списках и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 61 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба И самое главное - перейти на LVGL 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 87 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба А, так эти экраны не одновременно работают, а сменные? Ну тогда в другом вопрос - а дорожки как проведены на плате? Всё0таки для такого большого дисплея с DSI требуется выравнивание длины проводников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба 1 час назад, EdgeAligned сказал: А, так эти экраны не одновременно работают, а сменные? Ага, каждый юзер приходит на работу со своим сменным экраном)) Шутка. Очевидно, под "экранами" подразумеваются некие логически выделенные менюшки в GUI. 3 часа назад, jcxz сказал: Если бы не хватало пропускной способности, то скорее всего дёргались бы все экраны и всегда. ИМХО, мало информации для гадания. Может, на "глючном" экране идет слишком активная работа с графической библиотекой, или CPU в это время загружен гораздо сильнее доступами в общие ресурсы - ту же SDRAM, например. Вариантов много. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EdgeAligned 87 21 октября, 2023 Опубликовано 21 октября, 2023 · Жалоба Просто я малость не понял как именно "дергается экран". Если этот "экран" занимает всю площадь дисплея, все 1024х768 пикс и дергаются строки по горизонтали, тогда это точно нехватка производительности памяти из-за каких либо доп.действий именно в этом "экране". Например, там постоянно перерисовывается часть изображения, занимая слишком большую часть времени в обмене с SDRAM. Кстати, в H743 нет собственного DSI, есть только DPI. А вот SDRAM можно (и нужно) было ставить с 32-битной шиной данных для дисплея с таким числом пикселей. Видео дефекта и описание железа в плане SDRAM и дисплея внесло бы больше ясности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться