|
LTDC + ChromART в STM, Проконсультируйте, кто работал. |
|
|
|
Mar 1 2016, 10:26
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Наконец, дошли руки до нового проекта. Изучил, насколько мозгов хватает. Мне непонятны некоторые моменты. 1. Допустим я хочу работать с LTDC в режиме L8 через CLUT. 565 на выходе. Вроде бы всё понятно никаких проблем не вижу. При копировании цветных картинок тоже проблем не вижу. Получается что их надо кратными 4 точкам делать да и запускать в 32-ух битном цвете 1 в 1. Фонты я сделал L4 b вот тут проблема. Либо вручную разворачивать L4 в L8, либо пробовать обычным DMA память - память, источник байт, получатель 16 бит, на предварительно очищенную память (если такое есть ещё). После чего делать альфа преобразование с цветом фонта. и потом прямое копирование DMA2D. 2. Допустим я хочу работать с LTDC в режиме 565 на прямую, а цветные картинки выводить через LUT. Вот тут проблема. По описанию CLUT имеет 2 режима 32/24 бита. Я что-то не пойму. То есть если я хочу преобразовать L8 -> 565(16), то такой возможности в DMA2D нет? И L4 -> 565 тоже нет. Или я чего-то недогоняю? PS: Нашёл в регистре (DMA2D output PFC control register (DMA2D_OPFCCR)) Color mode: These bits define the color format of the output image. И там режим RGB565. То есть вариант работы 2 просматривается. Для варианта L4 -> 8, только косвенные подходы. То есть сформировать CLUT на две точки Получится конструкция типа L4L4 -> L8L8. Правда размер LUT не маленький 256 * 3 = 768 по минимуму. Вроде бы где-то читал, что можно FLASH таблицу использовать. Короче буду думать пока. Наверное склоняюсь к варианту 2. === Если есть кто реализовывал аналогичные варианты - откликнитесь. Любопытно кто как делал.
|
|
|
|
|
 |
Ответов
(45 - 59)
|
Apr 5 2016, 10:44
|
Знающий
   
Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231

|
Цитата(SasaVitebsk @ Apr 5 2016, 12:49)  С точностью до наоборот. Начнёте подключать - поймёте. возможно Цитата(SasaVitebsk @ Apr 5 2016, 12:49)  ... Есть виджеты со статическим расположением, но имеющие возможность перемещения. Есть виджеты которые создаются пользователем в зависимости от параметра(ов) которые нужно отображать (вроде ПЛК). В EmWin тоже можно поместить структуру во флеш, с параметрами виджета или меню (координаты и некоторые свойства), только всё равно под каждый виджет будет выделятся память в куче GUI, т.к. параметры виджета могут изменятся, и не важно нужно Вам это или нет. Например у меня в сумме наверное порядка 100 виджетов, может и больше не считал, некоторые создаются пользователем, если под них делать всё флеш просто устанешь. А главное зачем, я написал виджет и потом размещаю его где хочу и как хочу, и в любой момент могу изменить его свойства, а если он не создан, то память не расходуется. А если захочу растянуть окно, то и виджет может растянутся вместе с окном, использую такой приём в диалогах со скролом или во всплывающем диалоге графиков. Типы переключения экранов аля Андройд мне не нравятся, привык к классической Винде Во флеше сидять только начальные координаты и размеры окна, всё остальное через свойство виджета, иногда просто копипастом или написав на часто повторяющиеся объекты функции настройки.
|
|
|
|
|
Apr 7 2016, 15:20
|

Участник

Группа: Участник
Сообщений: 65
Регистрация: 28-12-05
Из: Odessa
Пользователь №: 12 673

|
Делал на 429 . Запускал режим LUT8, дисплей 800x600. 40 мегабайт видеопотока, заметьте !!! однобайтовый, не перепутал ! Сожрал весь трафик к SDRAM. Осталось там для 3-4 мбайта в секунду, для программы (это из учета что частота SDRAM с максимально скоростной конфигурации получилась то-ли 75 то-ли 85 Мгц в 16-ти битном режиме памяти). Как по мне - это медленно. Попутно запустил камеру на OV - чипе, настроил на внутреннюю оперативку, а так как ее мало было для полного растра пришлось весь кадр перегружать за 3-4 физических кадра + еще и каждую точку с 565 режима камеры в 8бит переделывал  . 729 - много не выправит. С такими потребностями и хваткой надо на ALLWINER-ы переходить. Но там одна только загвоздка и она ключевая, надо изучить команды MALI архитекруты  .
|
|
|
|
|
Apr 7 2016, 17:27
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(картошка @ Apr 7 2016, 18:20)  Делал на 429 . Запускал режим LUT8, дисплей 800x600. 40 мегабайт видеопотока, заметьте !!! однобайтовый, не перепутал ! 40*2^20/(800*600)=87.38 к/с - зачем столько? Цитата(картошка @ Apr 7 2016, 18:20)  729 - много не выправит. 479й с 32битной SDRAM будет намного полезнее в этом плане
|
|
|
|
|
Apr 11 2016, 16:47
|
Местный
  
Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491

|
Цитата(Шаманъ @ Apr 7 2016, 20:27)  40*2^20/(800*600)=87.38 к/с - зачем столько? Какие то дисплеи на небольшой частоте подмерцывают, что крайне отрицательно сказывается на усталости глаз. Я пробовал разгонять правда 320х240 до 150 и более фпс, от этого восприятие картинки только улучшалось. Но это мерцание не все видят. У меня вот какое то обостренное чувство к мерцанию подсветки и матрицы любых дисплеев. А коллеги замечают мерцание только наверное на 25 фпс  Цитата(Шаманъ @ Apr 7 2016, 20:27)  479й с 32битной SDRAM будет намного полезнее в этом плане А при 1 байтном цвете, будет ли чтение одновременно 4 точек из сдрам? Также и при например записи с ацп. Сможет ли он записывать в сдрам одновременно 4 отсчета?
|
|
|
|
|
Apr 11 2016, 17:27
|
Участник

Группа: Участник
Сообщений: 40
Регистрация: 24-06-09
Из: Беларусь
Пользователь №: 50 607

|
Цитата(SpyBot @ Apr 11 2016, 19:47)  Какие то дисплеи на небольшой частоте подмерцывают, что крайне отрицательно сказывается на усталости глаз. Я пробовал разгонять правда 320х240 до 150 и более фпс, от этого восприятие картинки только улучшалось. Почитайте про tearing effect и два способа минимизации последствий Достаточно 25...30 кадров в секунду, но синхронизированных с развёрткой
|
|
|
|
|
Apr 11 2016, 18:32
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(SpyBot @ Apr 11 2016, 19:47)  Какие то дисплеи на небольшой частоте подмерцывают, что крайне отрицательно сказывается на усталости глаз. Очень часто мерцание возникает из-за ШИМ управления подсветкой. Если частоты неудачно выбраны, то может получаться форменная порнография. Потому у себя всегда управляю подсветкой регулировкой преобразователя, а не низкочастотным ШИМом. Если же речь о мерцании из-за перерисовки экрана, то стоит прислушаться к совету в предыдущем сообщении. Цитата А при 1 байтном цвете, будет ли чтение одновременно 4 точек из сдрам? Также и при например записи с ацп. Сможет ли он записывать в сдрам одновременно 4 отсчета? Ну если память 32бита, то читать и записывать 4байта за раз это как бы ее прямое назначение LTDC тоже должен работать с памятью 32битными словами. К сожалению 479е у нас не продаются, потому что-то более определенное сказать не смогу.
|
|
|
|
|
Apr 11 2016, 20:53
|
Местный
  
Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491

|
Цитата(Шаманъ @ Apr 11 2016, 21:32)  Очень часто мерцание возникает из-за ШИМ управления подсветкой. Если частоты неудачно выбраны, то может получаться форменная порнография. Потому у себя всегда управляю подсветкой регулировкой преобразователя, а не низкочастотным ШИМом.
Если же речь о мерцании из-за перерисовки экрана, то стоит прислушаться к совету в предыдущем сообщении. Подсветка всегда питается постоянным напряжением, шим я категорически неприемлю. Речь идет о полностью статической картинке. Попробуйте постепенно снижать частоту LTDC и на каком то этапе станет видно, что картинка немного мерцает и к тому же сильно напрягаются глаза. Еще один момент, что на углах обзора градусов так 45 видно, как особенно сильно мерцают горизонтальные темные линии. У меня частота LTDC при которой картинка становится более менее комфортной - не менее 50 МГц для 320х240.
|
|
|
|
|
Apr 11 2016, 21:04
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(SpyBot @ Apr 11 2016, 23:53)  Еще один момент, что на углах обзора градусов так 45 видно, как особенно сильно мерцают горизонтальные темные линии. Судя по описанию, это похоже на неправильно выставленный или шумный источник VCOM. Характерно для дешевых индикаторов. Цитата(SpyBot @ Apr 11 2016, 23:53)  У меня частота LTDC при которой картинка становится более менее комфортной - не менее 50 МГц для 320х240. А у индикатора какая максимальная допустимая частота PCLK?
|
|
|
|
|
Apr 11 2016, 21:29
|
Местный
  
Группа: Свой
Сообщений: 285
Регистрация: 5-11-05
Пользователь №: 10 491

|
Цитата(aaarrr @ Apr 12 2016, 00:04)  А у индикатора какая максимальная допустимая частота PCLK? 30 MHz, но он на удивление работает и с гораздо большей частотой. Да, это очень дешевый дисплей При больших фпс начинают даже плыть цвета, но синхронизацию он не теряет.
|
|
|
|
|
Apr 12 2016, 06:29
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
Цитата(SpyBot @ Apr 11 2016, 23:53)  Подсветка всегда питается постоянным напряжением, шим я категорически неприемлю. Почему? Поясните, пожалуйста. Цитата(SpyBot @ Apr 11 2016, 19:47)  А при 1 байтном цвете, будет ли чтение одновременно 4 точек из сдрам? Также и при например записи с ацп. Сможет ли он записывать в сдрам одновременно 4 отсчета? С точки зрения CPU, вы будете читать 32 бита. То есть 4 отсчёта/ точки. Как будет обеспечиваться ваше чтение, зависит от схемотехники. На найболее распростанённых схемах, применена 16 битная SDRAM (дешёвая и легко разводится). В этом случае ваше обращение к 32-ух битному слову выльется в 2 обращения к ОЗУ. В каждом случае будут вставлены определённые такты ожидания. Иными словами, с точки зрения CPU обращение к внешней памяти осуществляется также как к внутренней, но операции чтения/ записи выполняются медленнее. Есть ещё регенерация. Насколько прозрачно она выполняется я не смотрел. Думаю, что сейчас контроллеры динамической памяти уже вполне отработаны, и регенерация осуществляется прозрачно (то есть процессор значимо не тормозится, при выполнении регенерации).
|
|
|
|
|
Apr 12 2016, 06:31
|
Знающий
   
Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839

|
Цитата(SpyBot @ Apr 11 2016, 23:53)  У меня частота LTDC при которой картинка становится более менее комфортной - не менее 50 МГц для 320х240. Ого! У меня на 320х240 6.4МГц помнится и все абсолютно нормально. Притом вначале ошибся и он также нормально довольно долго работал на частоте в два раза меньше. Экран правда не из самых дешевых. Цитата(SasaVitebsk @ Apr 12 2016, 09:18)  Почему? Поясните, пожалуйста. Мерцает подсветка, мерцает сам экран с разными частотами когда одно накладывается на другое могут быть очень прикольные эффекты, даже если ШИМ синхронизирован с экраном  Потому лучше управлять преобразователем питания подсветки без ШИМа, тем более почти все преобразователи отлично управляются путем корректировки напряжения ОС регулятора. Вот так:
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|