26.12.2018, 14:43
|
|
Прописка
Регистрация: 26.01.2010
Сообщений: 108
Сказал спасибо: 15
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Проблема с PCLK LTDC в STM32F429
Есть задача запустить TFT через LTDC-модуль на NUCLEO-144.
МК - STM32F429ZI
Дисплей - FG040346DSSWBG03
http://www.bfdisplay.fr/fiches-techn...46DSSWBG03.pdf
Юзаю Куб+AC6 eКлипсу.
Проблема - сигнал тактирования PCLK корявый - не дотягивает по логич. уровням (это на частотах около МГц). А на десятке МГц - больше уже синус напоминает(. С цифрой на таком уровне никогда не сталкивался, но подозреваю, что или че-то не доделал в настройке или б/у С1-94 не является измерительным инструментом.
+ есть еще вопрос - ну что же за тайминги выставлять для этой ЛСД-панели?! В сети 2 pdf: rev.1 без таймингов вообще и rev.2 с неполной инфой.
Самое интересное - я перебрасывал сигнал PCLK на др. ножку - результат тот же!
Спасибо)
|
|
|
|
26.12.2018, 15:55
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
В настройке пинов есть такой параметр - скорость (макс. частота) переключения порта. Влияет на скорость нарастания фронтов. Задаётся регистров OSPEEDR. Нужно установить high speed. Very high speed тоже можно.
ПО поводу таймингов для LTDC. Если в даташите дисплея ничего не приведено (странно?), то смотрим, какого размера в пикселях дисплей. 480х272. Это размер активной области. Добавляем пару тактов для гориз. синхроимпульса, дабавляем штук 40 тактов для HPB, штук 10 для HFP, штук 10 линий для VBP, пару-тройку линий для VFP, штук 10 линий для верт. синхро. Ну вот и получили тайминги.
Всё тайминги, за исключением размера активной области дисплея, не критичны и могут варьироваться в зависимости от производительности системы в целом.
Можно посмотреть тайминги аналогичных дисплеев, в частности, который установлен на F746 Discovery
Последний раз редактировалось NewWriter; 26.12.2018 в 16:15.
|
|
|
|
26.12.2018, 16:10
|
|
Прописка
Регистрация: 26.01.2010
Сообщений: 108
Сказал спасибо: 15
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
"Игрался" этим параметром. Ставил High и VeryHigh - все едино, не повлияло. ))
|
|
|
|
26.12.2018, 16:17
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
Кстати, у вас осцилл вместе со щупом ни фига не тянет такую частоту. Полоса в 10 МГц п это синусоида. А посмотреть прямоугольник - нужна полоса под сотню МГц
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
26.12.2018, 17:22
|
|
Прописка
Регистрация: 26.01.2010
Сообщений: 108
Сказал спасибо: 15
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
1. Про тайминги - я понимаю, что просто изображение будет корявым и можно подстраивать "на глаз" - просто хотелось запустить "по ФЭН-ШУЙ" ... Вообще дисплей выдран от портативной приставки (AIO вроде).
2. Про полосу не знал - спасибо за дельный совет! ) Сейчас вспомнил. что есть еще простенький анализатор - но это возможно потом понадобится, по-позже. (А осцилл давно хочу под подобные измерения цифровой, но пока ничего не утвердил на покупку......) Однако на частотах 1-2 МГц - сигнал-то все равно корявый ) Вот как ЭТО вот объяснить? Даже этим осциллом 1 МГц все-таки можно же посмотреть! Спецом ставил дабы "отрепетировать", причем корявость проявлялась даже без подключенного дисплея.
|
|
|
|
26.12.2018, 18:00
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
1. Изображение поползет только при несоблюдении размеров активной области (с точностью до пикселя) и иногда при несоблюдении минимальной ширины вертикального синхроимпульса. Остальные значения варьируются в некотором диапазоне и влияют только на загруженность графической подсистемы. В двух словах: чем меньше значения невидимых областей, тем сильнее нагрузка на подсистему вывода изображения. И если производительности не хватает, могут появляться подергивания картинки из-за занятости шин МК и SDRAM.
Для полноценной работы с таким дисплеем нужна внешняя ОЗУ SDRAM, как сделано на платах Discovery серий F429, F469, F746, F769. Иначе, вам просто не хватит объема встроенной ОЗУ для размещения видеобуфера. С вашим МК
и без SDRAM вы можете позволить себе работать только в режиме индексных цветов в формате L8, AL44 или A8. Видеобуфер займет 127 кБ из 192 кБ доступных ОЗУ. 64 кБ CCM-области доступны только в режиме ядра..
Индексные цвета - это когда каждому значению индекса сопоставляется значение цвета в формате RGB888. Сопоставление происходит через загрузку таблицы CLUT. Для модели L8 индексов может быть 256, а для AL44 - 16. То есть, из всей палитры 24-битного цвета вы можете оперировать любыми 16 или 256 предварительно загруженными цветами.
Для текста и простой графики этого достаточно
Тайминги дисплея могут быть, например, вот такими: (аналогичный дисплей RK043FN48 размером 480х272)
Код:
|
#define HSYNCW 5 // ширина гориз.синхр.
#define VSYNCW 5 // ширина верт.синхр.
#define HBP 43 // гориз. задняя невидимая область
#define VBP 12 // вертик. задняя невидимая область
#define HACTW 480 // активн. ширина (число видимых пикс)
#define VACTW 272 // активн. высота (число видимых пикс)
#define HTOTAL 531 // общая ширина
#define VTOTAL 288 // общая высота
#define HFP 8 // гориз. передняя невидимая область
#define VFP 4 // вертик. передняя невидимая область |
----
2. Касательно осцилла - нууу может быть, щупы плохие, с большой ёмкостью, или сбилась калибровка осцилла. У меня таких осциллов давно уже нет, проверить не могу.
Про лог.анализатор - это гораздо лучше. Если он держит частоту 15-20 МГц, то можете посмотреть сигналы CLK (пиксельный клок), DE (фактическая передача графических данных), HSYNC, VSINC (горизонтальный и вертикальный синхноимпульсы - начало строки и начало кадра). Это намного полезнее с точки зрения понимания работы LTDC и дисплея.
Последний раз редактировалось NewWriter; 26.12.2018 в 18:37.
Причина: Блин, капец, че такое с форматированием текста????? Едва справился, часть кода пропадала
|
|
|
Сказали "Спасибо" NewWriter
|
|
|
29.12.2018, 12:20
|
|
Прописка
Регистрация: 26.01.2010
Сообщений: 108
Сказал спасибо: 15
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
Есть новая инфа - решил плюнуть на доки и подрубить еще 2 сигнала, которые вроде и имеются, но в ДШ было указано, что можно оставить неподключенными - HSYNC и VSYNC. Дал на каждый пару тиков. Дисплей стал показывать вместо ожидаемого сплошного зеленого поля зеленые поперечные полоски шириной в несколько пикселей. которые стали быстро пробегать снизу вверх по всему экрану. (как на ненастроенном телевизоре)
Теперь чую надо угадать эти тайминги.......
|
|
|
|
29.12.2018, 12:29
|
|
Прописка
Регистрация: 26.01.2010
Сообщений: 108
Сказал спасибо: 15
Сказали Спасибо 11 раз(а) в 9 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
to NewWriter:
1. Про то. что для комфорта нужна полноценная внешняя SDRAM полностью согласен. как только буду уверен в правильности настройки LTDC -полезу курить FSMC и задействование новенькой SAMSUNG SDRAM на несколько метров. Хочется в итоге сделать подобие фоторамки.
2. Есть вопрос - в чем принципиальная разница между управлением ТФТ панелью в режиме DE и в режиме HSYNC/VSYNC? Мне попадался ранее дисплей на работе, который можно было запускать либо в 1-м либо во 2-м режиме. А здесь я понял из ДШ судя по диаграммам, что режим DE, а он оказался нифига не DE ) Как правильно это опознавать?!
3. Попробую на днях запустить дав на синхро по 5 импульсов как в вашем примере.
Заранее спасибо))
|
|
|
|
30.12.2018, 08:59
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Проблема с PCLK LTDC в STM32F429
Сообщение от КСеРоКС
|
зеленые поперечные полоски шириной в несколько пикселей
|
Неправльный размер активной области, либо не распознаются синхномпульсы (минимальная ширина, полярность). Да и DE нужен тоже.
1. Если подсоединяете "внавес" проводами, то могут пойти ошибки данных, ведь SDRAM работает на высокой частоте в 50-100 МГц.
2. В дисплей без DE положение видимой области дисплея в сигнале определяется самим дисплеем на основе подсчета импульсов пиксельного клока. Значения HFP, HBP, VFP, VBP жестко заданы дисплеем и не могут быть изменены.
Наибольшую гибкость в работе дает дисплей с полным набором сигналов - DE, VSYNC, HSYNC.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 20:05.
|
|