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

 
 
8 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> LTDC + ChromART в STM, Проконсультируйте, кто работал.
NaughtyFreak
сообщение Mar 3 2016, 15:07
Сообщение #16


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

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Цитата(Obam @ Mar 3 2016, 17:54) *
Может показаться невероятным, но обычно амеры "http://www.tianma-usa.com/web/uploads/controller/20130614175157_IC%20Spec%20Request.pdf" не жадничают.
Особенно если прикинуться студентом.

тут ситуация другая, если дисплей в строго такой конфигурации,то по-другому они не сделают. либо в шлейфе должны быть доп. управляющие сигнальные линии
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 4 2016, 07:51
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(DrGluck @ Mar 2 2016, 20:52) *
Тут лучше начать с "конца" - какая нужна итоговая графика ... т.е. X*Y*Color ?

На текущий момент применяю дисплей 4.3" 480х272. Но планирую изделие выпускать и с 7". С цветом определился буду делать 565.
Графика у меня, скажем, офисная. То есть видео, мне ни разу не надо. ОЗУ планирую внешнее. Пока делаю на 429, но планирую попозже переехать на 746 какой-нибудь.
Во внешнем озу пока не планирую ничего кроме видеобуферов.
Не совсем понимаю, как там могут какие-то срывы синхронизации быть? Что-то совсем в мозги это не лезет.
Я работал с таким дисплеем на LPC2478 - это вообще ARM7 100MHz. И он у меня справлялся с задачей. Здесь мы имеем CM4F с матрицей шин нового поколения и с тактовой 180МГц.
Я планирую навертеть по-максимуму. То есть 2 Layer, DMA2D практически везде. Фонты я уже сформировал L4.
Пока пишу нижний уровень. GUi буду писать свою.

Цитата(NaughtyFreak @ Mar 3 2016, 17:16) *
Есть дисплей RGB 24 бит c aliexpress, можно ли его подключить в режиме 16 бит?

А какие проблемы? Просто заземлите неиспользуемые биты.
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Mar 4 2016, 08:29
Сообщение #18


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

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Цитата(SasaVitebsk @ Mar 4 2016, 10:51) *
А какие проблемы? Просто заземлите неиспользуемые биты.

Как оказалось никаких biggrin.gif Можно заземлить, но лучше на MSB7 подать
Go to the top of the page
 
+Quote Post
Obam
сообщение Mar 4 2016, 09:02
Сообщение #19


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(NaughtyFreak @ Mar 3 2016, 19:07) *
тут ситуация другая, если дисплей в строго такой конфигурации,то по-другому они не сделают. либо в шлейфе должны быть доп. управляющие сигнальные линии


Да, интерфейс здесь RGB - без вариантов, а вот выбор разрядности цвета в соответствующем регистре (а может и не в одном) наверняка есть. И значит, надо будет физически R,G,B[1..0]
не сажать на "0", а без выкрутасов подключать на LCD_R,G,B[1..0], что самое правильное.
Вот просто, тупо, pin-to-pin шина TM060RDH03 - выводы LTDC.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
NaughtyFreak
сообщение Mar 4 2016, 11:31
Сообщение #20


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

Группа: Участник
Сообщений: 90
Регистрация: 7-10-11
Из: Москва
Пользователь №: 67 593



Да понятно, что так правильно, но у меня всего осталось на эту шину 16 бит, но мне не смертельно, там промышленный девайс и мне его не девочкам показывать biggrin.gif

Сообщение отредактировал NaughtyFreak - Mar 4 2016, 11:37
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 4 2016, 12:07
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Obam @ Mar 4 2016, 12:02) *
Да, интерфейс здесь RGB - без вариантов, а вот выбор разрядности цвета в соответствующем регистре (а может и не в одном) наверняка есть.

Не загружайте человека ерундой. Какие регистры? Как вы их программировать собрались? Где вы видите линии команд?
Представьте, что там стоит ЦАП вот и всё. На данный контроллер надо просто подать тактовую с формировагнием тактирования точки, строки кадра.
Go to the top of the page
 
+Quote Post
Obam
сообщение Mar 4 2016, 12:21
Сообщение #22


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(SasaVitebsk @ Mar 4 2016, 16:07) *
Не загружайте человека ерундой. Какие регистры? Как вы их программировать собрались? Где вы видите линии команд?


Не надо так нервно реагировать. Нет причины.
Найду datasheet, прочитаю, расскажу.


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 4 2016, 12:28
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Obam @ Mar 4 2016, 15:21) *
Не надо так нервно реагировать. Нет причины.
Найду datasheet, прочитаю, расскажу.

Я уже отнервничал своё. )) Даташит приведен - почитайте. Он абсолютно стандартен, поэтому и называется RGB. Достаточно посмотреть цоколёвку разъёма. Там всё видно.
Контроллера (в вашем понимании) нет. Поэтому используется внешний контроллер.
Go to the top of the page
 
+Quote Post
skripach
сообщение Mar 6 2016, 04:52
Сообщение #24


■ ■ ■ ■
*****

Группа: Свой
Сообщений: 1 100
Регистрация: 9-08-06
Пользователь №: 19 443



Цитата(SasaVitebsk @ Mar 4 2016, 10:51) *
LPC2478 - это вообще ARM7 100MHz.

Так 72 вродеж было? wink.gif


--------------------
Делай что должен и будь что будет.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 11 2016, 08:01
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Вроде бы со всем разобрался, но некоторые вопросы всё же есть.
Разбирался с работой DMA2D. Вроде уже всё устаканилось в голове. Так пару вопросов которые можно и натурным экспериментом... (По поводу FIFO буфера)
Когда разбирал просматривал пример от ST для платы "STM324x9I_EVAL" из куба STM32Cube_FW_F4_V1.11.0\Projects\STM324x9I_EVAL\Applications\STemWin\STemWin_SampleDemo\EWARM
Там как раз есть работа с DMA2D а экранчик по RGB подключён.
И вот там непонятка есть...
Вот типовой пример работы с DMA2D
CODE
static void DMA2D_ConvertColor(void * pSrc, void * pDst, uint32_t PixelFormatSrc, uint32_t PixelFormatDst, uint32_t NumItems)
{
/* Set up mode */
DMA2D->CR = 0x00010000UL | (1 << 9); /* Control Register (Memory to memory with pixel format conversion and TCIE) */
/* Set up pointers */
DMA2D->FGMAR = (uint32_t)pSrc; /* Foreground Memory Address Register (Source address) */
DMA2D->OMAR = (uint32_t)pDst; /* Output Memory Address Register (Destination address) */
/* Set up offsets */
DMA2D->FGOR = 0; /* Foreground Offset Register (Source line offset) */
DMA2D->OOR = 0; /* Output Offset Register (Destination line offset) */
/* Set up pixel format */
DMA2D->FGPFCCR = PixelFormatSrc; /* Foreground PFC Control Register (Defines the input pixel format) */
DMA2D->OPFCCR = PixelFormatDst; /* Output PFC Control Register (Defines the output pixel format) */
/* Set up size */
DMA2D->NLR = (uint32_t)(NumItems << 16) | 1; /* Number of Line Register (Size configuration of area to be transfered) */
/* Execute operation */
DMA2D->CR |= DMA2D_CR_START;

while (DMA2D->CR & DMA2D_CR_START)
{
}
}

В целом всё понятно. Из текста видно что завершение транзакции они ожидают полингом.
Это, в принципе, не исключает обработку прерывания ....
Хотя при инициализации я не вижу его ...
Код
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef *hdma2d)
{  
  /* Enable peripheral */
  __HAL_RCC_DMA2D_CLK_ENABLE();  
}

Если посмотреть, к примеру в том же файле ...
Код
void HAL_LTDC_MspInit(LTDC_HandleTypeDef *hltdc)
{  
  GPIO_InitTypeDef GPIO_Init_Structure;
  
  /* Enable peripherals and GPIO Clocks */  
  /* Enable the LTDC Clock */
  __HAL_RCC_LTDC_CLK_ENABLE();
....
  /* Set LTDC Interrupt to the lowest priority */
  HAL_NVIC_SetPriority(LTDC_IRQn, 0xF, 0);
  
  /* Enable LTDC Interrupt */
  HAL_NVIC_EnableIRQ(LTDC_IRQn);
}

То видно что на LTDC прерывание обрабатывается ...
Это же видно и в файле проекта stm32f4xx_it
Там есть обработчик LTDC_IRQHandler, но нет обработчика DMA2D_IRQHandler....

Но в приведенном примере я вижу:
DMA2D->CR = 0x00010000UL | (1 << 9); /* Control Register (Memory to memory with pixel format conversion and TCIE) */
То есть разрешаются прерывания по трансферу.
Это как? Хомут? И как у них это работает?
Кто прокомментирует?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Mar 30 2016, 07:19
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Короче пишу на всех парах приложение. Сейчас лабаю gui. Всякие там кнопочки и прочие win элементы. Пишу с нуля. Под десятку затачиваю... )) Везде ускоритель использую.
В принципе даже поворот можно делать, хотя и есть нюансы (нет отрицательного смещения на строку). Можно линии выводить, текст, иконки с несколькими видами сжатия.
Удобно, что работает под отладчиком.
Уже обнаружились всякие мелочи. Пока комментировать не буду, тока вчера ночью примитивы запустил.
---
Пример, который упоминал, постом выше, как раз показывает как не надо делать. Показывает отличие примера, от коммерческого ПО. ((
Go to the top of the page
 
+Quote Post
lleeloo
сообщение Mar 31 2016, 21:34
Сообщение #27





Группа: Участник
Сообщений: 11
Регистрация: 22-03-13
Пользователь №: 76 154



Нужно больше гуев, хороши и разных=) Чем не устроили готовые решения ГУЙ (там уже по всем граблям люди прошли уже вроде)?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Apr 1 2016, 05:42
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(lleeloo @ Apr 1 2016, 00:34) *
Нужно больше гуев, хороши и разных=) Чем не устроили готовые решения ГУЙ (там уже по всем граблям люди прошли уже вроде)?

Это где? В GUI от uCOS? В смысле StemWin или как она там ...
А вы её смотрели? ))
Go to the top of the page
 
+Quote Post
Rash
сообщение Apr 1 2016, 06:52
Сообщение #29


Знающий
****

Группа: Свой
Сообщений: 639
Регистрация: 5-09-05
Пользователь №: 8 231



смотрели, не всё гладко, но полностью написать свою не решился. Проще их баги исправлять перехватом сообщений и добавлять виджеты. Если б её исходники последних версий, то вообще проблем бы не было, т.к. многие их недочёты тянуться с версий 3xx и никто их не исправляет.
Интересно будет посмотреть ваш вариант по сравнению с emWin.
Go to the top of the page
 
+Quote Post
AleksBak
сообщение Apr 1 2016, 07:35
Сообщение #30


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

Группа: Участник
Сообщений: 132
Регистрация: 6-02-16
Из: г. Баку
Пользователь №: 90 364



Цитата(lleeloo @ Apr 1 2016, 01:34) *
Нужно больше гуев, хороши и разных=) Чем не устроили готовые решения ГУЙ (там уже по всем граблям люди прошли уже вроде)?

Человек же четко написал чем не устроили. (Зачем так акцентировать внимание именно на этом слове "ГУЙ"??) И написал также, что хочет разобраться до конца и пишет периодически об этом. Но вот после подобных заявлений наверно он начинает думать: "А нафига? Зачем я тут буду что-то писать если оно никому не надо?" А если посмотреть шире, на другие подобные темы/проблемы, то в итоге получается, что их авторы замыкаются в себе в большинстве случаев и в одиночку улучшают софт и пр. Т.к. некоторым оказывается это и не нужно вовсе. Вот так вот.
Go to the top of the page
 
+Quote Post

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

 


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


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