реклама на сайте
подробности

 
 
> 32F769IDISCOVERY + MIPI DSI 720p (1280x720)?, Не получается подключить разрешение 720p
Sanya_kv
сообщение Sep 13 2017, 07:28
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Не у кого нет опыта реализации разрешения 720p (1280x720) на плате 32f769 Discovery через MIPI DSI. В описании упоминается что МК в состоянии вывести 720p через DSI, но по факту ни чего не выходит.
Для тестирования разрешений использую переходник DSI to HDMI от ST. Ситуация ещё омрачается тем что нет полного описания на чип adv7533 используемый в переходнике.
В Общем буду благодарен за любую помощь.
Go to the top of the page
 
+Quote Post
8 страниц V  « < 2 3 4 5 6 > »   
Start new topic
Ответов (45 - 59)
Огурцов
сообщение Oct 4 2017, 19:59
Сообщение #46


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



просто топик про stm, а к stm гораздо проще добавить внешний контроллер lcd или контроллер с линуксом, нежели переползать на очередной недокамень
нет инета - тогда sd-карта
Go to the top of the page
 
+Quote Post
golf2109
сообщение Oct 5 2017, 04:28
Сообщение #47


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(Огурцов @ Oct 4 2017, 21:59) *
просто топик про stm, а к stm гораздо проще добавить внешний контроллер lcd или контроллер с линуксом, нежели переползать на очередной недокамень
нет инета - тогда sd-карта

какой то оксюморон сами говорите, что тема о STM32, и сами же предлагаете другие контроллеры
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 5 2017, 05:57
Сообщение #48


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(golf2109 @ Oct 5 2017, 04:28) *
какой то оксюморон сами говорите, что тема о STM32, и сами же предлагаете другие контроллеры

не знаю, что у вас за юморон, но я предлагаю, как не уходить на другие мк, но расширить возможности stm
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал
Go to the top of the page
 
+Quote Post
golf2109
сообщение Oct 6 2017, 00:24
Сообщение #49


Участник
*

Группа: Участник
Сообщений: 66
Регистрация: 15-04-10
Из: Kiev
Пользователь №: 56 654



Цитата(Огурцов @ Oct 5 2017, 07:57) *
не знаю, что у вас за юморон, но я предлагаю, как не уходить на другие мк, но расширить возможности stm
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал

оксюморон - сочетание противоречащих друг другу понятий
подробнее в вики...
а насчет 1080 читаем первоисточники
http://www.st.com/content/ccc/resource/tec....DM00287603.pdf
стр. 39
а "не сделал" - значит нет потребности
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 07:01
Сообщение #50


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(golf2109 @ Oct 6 2017, 04:24) *
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом

Там есть MIPI DSI интерфейс. К нему уже найти дисплей без особых проблем.

Ни кто не баловался с DMA2D. Не получается залить картинку цветом с прозрачностью в режиме RGB565. Пытаюсь сделать эффект затемнения за диалоговым окном на одном слое.
С двумя слоями работает без проблем при разрешении 1024x768.
Но мне нужно в разрешении 1280х800, а там тянет только 1 слой.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 07:50
Сообщение #51


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(golf2109 @ Oct 6 2017, 00:24) *
оксюморон - сочетание противоречащих друг другу понятий

вы не поняли один юморон, и я не удивлён, что вы не поняли и другой

Цитата(golf2109 @ Oct 6 2017, 00:24) *
а насчет 1080 читаем первоисточники

что именно в первоисточнике ? 30 кадров 8 бит ?

Цитата(golf2109 @ Oct 6 2017, 00:24) *
а "не сделал" - значит нет потребности

действительно, кому такая порнуха нужна
мой коллега сделал примерно такое, хоть скорее и не по его вине, но тоже, через одно место
поэтому реального практического смысла у него тоже не получилось

Цитата(golf2109 @ Oct 6 2017, 00:24) *
и кроме того, попробуйте найти дисплей 1080 с RGB интерфейсом

в том вам и вопрос, а зачем ?
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 6 2017, 08:16
Сообщение #52


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Огурцов @ Oct 5 2017, 08:57) *
я например хочу 1080p, как это сделать на stm без дополнительного расширения ? и вообще, странно, что такого ещё никто не сделал


В таблице ясно написано, что такое разрешение только на 1 слое и в 16битах, при 32х битной сдрам, что тут может быть непонятного, если достаточно таких параметров - должно работать...

Почему не делают, по себе скажу, что кроме собственно отрисовки картинки с таким разрешением, ее еще нужно как-то подготовить, а в случае анимированных - еще и обеспечить скорость распаковки-обновления, а с этим такие МК не справляются однозначно..
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 09:19
Сообщение #53


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(mantech @ Oct 6 2017, 08:16) *
В таблице ясно написано, что такое разрешение только на 1 слое и в 16битах, при 32х битной сдрам, что тут может быть непонятного, если достаточно таких параметров - должно работать...

Почему не делают, по себе скажу, что кроме собственно отрисовки картинки с таким разрешением, ее еще нужно как-то подготовить, а в случае анимированных - еще и обеспечить скорость распаковки-обновления, а с этим такие МК не справляются однозначно..

недостаточно, нужно 24 бита, или 32 - для удобства
вот пусть stm (да хоть avr) и занимается подготовкой и распаковкой
и что совсем прекрасно - в асинхронном режиме
а отрисовкой пусть занимается внешний, по отношению к stm, контроллер lcd - не понятно, что тут непонятно
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 6 2017, 09:59
Сообщение #54


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Sanya_kv @ Oct 6 2017, 10:01) *
Ни кто не баловался с DMA2D. Не получается залить картинку цветом с прозрачностью в режиме RGB565. Пытаюсь сделать эффект затемнения за диалоговым окном на одном слое.

В чем именно проблема, напишите подробнее? У меня такой вариант работает без проблем. Да и почти вся графика работает через DMA2D.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 10:28
Сообщение #55


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 13:59) *
В чем именно проблема, напишите подробнее? У меня такой вариант работает без проблем. Да и почти вся графика работает через DMA2D.

Скажите, в своём проекте Вы RGB565 режим используете?

Пытался делать заливку цветом в формате ARGB8888, как оказалось для режима RGB565 он выкидывает alpha канал в функции DMA2D_SetConfig.
Понял что не так делал.
Сейчас пытаюсь разобраться как это сделать правильно.
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 6 2017, 12:05
Сообщение #56


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



Цитата(Шаманъ @ Oct 6 2017, 09:59) *
Да и почти вся графика работает через DMA2D

а dma2d может работать со статической памятью и с отключенным ltdc ?
Go to the top of the page
 
+Quote Post
Шаманъ
сообщение Oct 6 2017, 13:40
Сообщение #57


Знающий
****

Группа: Участник
Сообщений: 758
Регистрация: 27-08-08
Пользователь №: 39 839



Цитата(Sanya_kv @ Oct 6 2017, 13:28) *
Скажите, в своём проекте Вы RGB565 режим используете?

Я разные режимы использую, но фреймбуфер в RGB565.

Цитата
Пытался делать заливку цветом в формате ARGB8888, как оказалось для режима RGB565 он выкидывает alpha канал в функции DMA2D_SetConfig.

Что такое SetConfig я не знаю - STMовскими либами не пользуюсь.

Чтобы сделать то, что Вы хотите Вам нужно сконфигурировать DMA2D для полной обработки (режим Memory-to-memory with blending, см. описание регистра DMA2D->CR). Далее в качестве переднего плана указать формат цвета А8, с заменой альфа канала на указанное Вами значение, установить регистр DMA2D->FGCOLR в требуемый цвет, в качестве заднего плана нужно использовать тот же кусок фреймбуфера куда будете рисовать.

Тогда у Вас будет прочитано исходное изображение произведен блендинг с указанным Вами цветом переднего плана и прозрачностью, и результат записан обратно. В Reference Manual DMA2D блок достаточно хорошо описан - там нет ничего сложного.

Надеюсь Вы поняли меня sm.gif


Цитата(Огурцов @ Oct 6 2017, 15:05) *
а dma2d может работать со статической памятью и с отключенным ltdc ?

Да, это независимый блок. Может и с внутренней и со статической, читать из флеша может и т.д.
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 6 2017, 14:58
Сообщение #58


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 17:40) *
Надеюсь Вы поняли меня sm.gif

Спасибо за развернутый ответ. Честно говоря уже и не рассчитывал. sm.gif
Go to the top of the page
 
+Quote Post
Sanya_kv
сообщение Oct 9 2017, 14:52
Сообщение #59


Частый гость
**

Группа: Свой
Сообщений: 185
Регистрация: 25-02-09
Из: Россия
Пользователь №: 45 369



Цитата(Шаманъ @ Oct 6 2017, 17:40) *
Чтобы сделать то, что Вы хотите Вам нужно сконфигурировать DMA2D для полной обработки (режим Memory-to-memory with blending, см. описание регистра DMA2D->CR). Далее в качестве переднего плана указать формат цвета А8, с заменой альфа канала на указанное Вами значение, установить регистр DMA2D->FGCOLR в требуемый цвет, в качестве заднего плана нужно использовать тот же кусок фреймбуфера куда будете рисовать.

Тогда у Вас будет прочитано исходное изображение произведен блендинг с указанным Вами цветом переднего плана и прозрачностью, и результат записан обратно. В Reference Manual DMA2D блок достаточно хорошо описан - там нет ничего сложного.

Сделал как вы рекомендовали, все завилось с пол пинка. Попутно избавился от СТМовских библиотек в LTDC и DMA2D, лишнего там ... .
Ещё раз благодарю "Шаманъ" за помощь . Неизвестно сколько мне одному пришлось разбираться. По началу банально не был уверен в позитивном результате.
На будущие, может кому пригодится, примерный набросок рабочей функции заливки области цветом с прозрачностью.
CODE
//=============== Заполнить буфер цветом с коэффициентом прозрачности ========
void LCD_DRV_LL_FillBufferAlphaColor(uint32_t BufferAddr, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t OutputColorMode, uint32_t ColorRGB888, uint8_t Alpha)
{
// Копирование с замешиванием
MODIFY_REG(DMA2D->CR, DMA2D_CR_MODE, DMA2D_M2M_BLEND);

//Конфигурация переднего плана
DMA2D->FGPFCCR = (DMA2D_FGPFCCR_CM & DMA2D_INPUT_A8)// Формат цвета
|(DMA2D_FGPFCCR_AM & (1 << DMA2D_FGPFCCR_AM_Pos))//Замена альфа канала
|(DMA2D_FGPFCCR_ALPHA & (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));//Алфа канал

DMA2D->FGCOLR = ColorRGB888;
DMA2D->FGMAR = BufferAddr;
DMA2D->FGOR = OffLine;

//Конфигурация заднего плана
DMA2D->BGPFCCR = DMA2D_BGPFCCR_CM & OutputColorMode;// Формат цвета

DMA2D->BGMAR = BufferAddr;
DMA2D->BGOR = OffLine;


//Выходной буфер
// Формат цвета
DMA2D->OPFCCR = DMA2D_OPFCCR_CM & OutputColorMode;


DMA2D->OMAR = BufferAddr;//адрес буфера для заполнения
DMA2D->OOR = OffLine; // установка смещения (xSize + OffLine = LayerXSize)

// установка количества пикселей на линию и количество линий
DMA2D->NLR = (DMA2D_NLR_NL|DMA2D_NLR_PL) & (ySize| (xSize << DMA2D_NLR_PL_Pos));

//Запуск
DMA2D->CR |= DMA2D_CR_START;

if((DMA2D->CR & DMA2D_CR_START) != RESET)
{
uint32_t tickstart = HAL_GetTick();
__IO uint32_t DMA2D_ISR;
uint32_t ErrorCode;
//Ожидаем конца выполнения рисования
while(((DMA2D_ISR = DMA2D->ISR) & DMA2D_FLAG_TC) == RESET)
{
if ((DMA2D_ISR & (DMA2D_FLAG_CE|DMA2D_FLAG_TE)) != RESET)
{//Ошибка
if ((DMA2D_ISR & DMA2D_FLAG_CE) != RESET)
{
ErrorCode |= HAL_DMA2D_ERROR_CE;
}
if ((DMA2D_ISR & DMA2D_FLAG_TE) != RESET)
{
ErrorCode |= HAL_DMA2D_ERROR_TE;
}

DMA2D->IFCR = DMA2D_FLAG_TC | DMA2D_FLAG_CTC;
return;//произошла ошибка
}
if((HAL_GetTick() - tickstart ) > DMA2D_TIMEOUT)
{//Вышло время ожидания
DMA2D->CR |= DMA2D_CR_ABORT;//
DMA2D->IFCR = DMA2D_FLAG_TC | DMA2D_FLAG_CTC;
return;
}
}
}
DMA2D->IFCR = DMA2D_FLAG_TC|DMA2D_FLAG_CTC;
}
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Oct 23 2017, 02:40
Сообщение #60


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



ещё вопрос: есть мысли как подключить к stm второй дисплей ? с разными картинками, конечно
Go to the top of the page
 
+Quote Post

8 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01525 секунд с 7
ELECTRONIX ©2004-2016