|
STM32F439IIT6 + LTDC дисплей, Наблюдаю лишь бегающие полоски |
|
|
|
May 4 2016, 18:39
|

Профессионал
    
Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980

|
Приветствую всех. Подключаю дисплей (ДШ приложил) 800x480 к LTDC. Проц - F439IIT6, LQFP176, дисплей подключен по полной схеме RGB888 +4 сигнала (HSYNC, VSYNC, DE, DCLK). На основе примеров написал прошивку (приложил) - просто инициализирует LTDC и всё. Но пока дальше невнятных полосок на экране ничего не увидел. Полоски напоминают советский телек со сбитыми частотой кадров и всем остальным. Если забить фреймбуфер нулями (чёрный цвет) - полоски исчезают (что вполне естественно), но вверху и внизу мигают и бегают светлые строки. Буфер лежит в SDRAM. Сам SDRAM проверен миллион раз - STemWin с буфером 2 МБ в SDRAM + SSD1963 - работает великолепно. Посмотрите, пожалуйста, кто может. Хотя после откровенной неправды в ДШ насчёт напряжения подсветки (указано 9.9в, оказалось 18-19в), я вообще сильно сомневаюсь в его корректности. Спасибо.
--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса. (с) Мария Эдуарда
|
|
|
|
|
 |
Ответов
|
May 5 2016, 13:56
|

Участник

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

|
Делал для 800x600 в палитровом режиме 8-бит цвет, фреймбуфер на внешнюю SDRAM указывает, дисплей аналогичный по интерфейсу, процессор 429 . Посмотри может Ты чего пропустил, код инициализации рабочий. CODE void LCD_Config(void) { LTDC_InitTypeDef LTDC_InitStruct; LTDC_Layer_InitTypeDef LTDC_Layer_InitStruct;
RCC_PLLSAICmd (DISABLE); RCC_PLLSAIConfig(320, 7, 2); RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div4); RCC_PLLSAICmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLSAIRDY) == RESET) { }
RCC_APB2PeriphClockCmd(RCC_APB2Periph_LTDC, ENABLE); InitTFTPinout();
LTDC_InitStruct.LTDC_HSPolarity = LTDC_HSPolarity_AL; LTDC_InitStruct.LTDC_VSPolarity = LTDC_VSPolarity_AL; LTDC_InitStruct.LTDC_DEPolarity = LTDC_DEPolarity_AL; LTDC_InitStruct.LTDC_PCPolarity = LTDC_PCPolarity_IPC; LTDC_InitStruct.LTDC_HorizontalSync = 40; LTDC_InitStruct.LTDC_VerticalSync = 20; LTDC_InitStruct.LTDC_AccumulatedHBP = 46; LTDC_InitStruct.LTDC_AccumulatedVBP = 23; LTDC_InitStruct.LTDC_AccumulatedActiveW = 1056; LTDC_InitStruct.LTDC_AccumulatedActiveH = 635; LTDC_InitStruct.LTDC_TotalWidth = 1058; LTDC_InitStruct.LTDC_TotalHeigh = 637; LTDC_InitStruct.LTDC_BackgroundRedValue = 0; LTDC_InitStruct.LTDC_BackgroundGreenValue = 0; LTDC_InitStruct.LTDC_BackgroundBlueValue = 0; LTDC_Init(<DC_InitStruct); LTDC_Layer_InitStruct.LTDC_HorizontalStart = 46; LTDC_Layer_InitStruct.LTDC_HorizontalStop = (800 + 45); LTDC_Layer_InitStruct.LTDC_VerticalStart = 23; LTDC_Layer_InitStruct.LTDC_VerticalStop = (600 + 22); LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_L8;//LTDC_Pixelformat_AL44;//LTDC_Pixelformat_ARGB4444; LTDC_Layer_InitStruct.LTDC_ConstantAlpha = 255; LTDC_Layer_InitStruct.LTDC_BlendingFactor_1 = LTDC_BlendingFactor1_CA; LTDC_Layer_InitStruct.LTDC_BlendingFactor_2 = LTDC_BlendingFactor2_CA; LTDC_Layer_InitStruct.LTDC_DefaultColorBlue = 0; LTDC_Layer_InitStruct.LTDC_DefaultColorGreen = 0; LTDC_Layer_InitStruct.LTDC_DefaultColorRed = 0; LTDC_Layer_InitStruct.LTDC_DefaultColorAlpha = 0; //LTDC_Layer_InitStruct.LTDC_CFBStartAdress = (uint32_t)&L8BIT; LTDC_Layer_InitStruct.LTDC_CFBStartAdress = VideoAdress; //FillMems (&L8BIT[0],10000,80); //FillMems (&L8BIT[10000],10000,20); //FillMems (&L8BIT[20000],10000,50); //FillMems (&L8BIT[30000],10000,70);
//FillMems ((unsigned char*)VideoAdress,10000,80); //FillMems ((unsigned char*)(VideoAdress+10000),10000,20); //FillMems ((unsigned char*)(VideoAdress+20000),10000,50); //FillMems ((unsigned char*)(VideoAdress+30000),10000,70);
LTDC_Layer_InitStruct.LTDC_CFBLineLength = (803); LTDC_Layer_InitStruct.LTDC_CFBPitch = (800); LTDC_Layer_InitStruct.LTDC_CFBLineNumber = 600; LTDC_LayerInit(LTDC_Layer1, <DC_Layer_InitStruct); LTDC_colorkeying_InitStruct.LTDC_ColorKeyBlue = 0; LTDC_colorkeying_InitStruct.LTDC_ColorKeyGreen = 0; LTDC_colorkeying_InitStruct.LTDC_ColorKeyRed = 0; TFT_CLUT_Init ((unsigned char*)resname_pal_f);
LTDC_LayerCmd(LTDC_Layer1,ENABLE); LTDC_ReloadConfig (LTDC_IMReload); LTDC_Cmd (ENABLE); }
Если SDRAM настроил хотя-бы на максимум - 85 Мгц, вроде, то должно работать. В любом случае по трафику програмного доступа к SDRAM у тебя остается от 5-10 мегабайт, так как 36 у тебя отнял дисплей. Память не забывай, работает 8-ми байтными пакетами, надеюсь 16-ти битная шина ?! Были полосы у меня при экспериментах пропускной способности и арбитража, когда я еще хотел на внешнюю SDRAM - с камеры грузить, она тоже 40 Мгц, тогда все сразу потухло, с полосами все было. Хотел посмотреть что будет. Если у тебя какой-нибудь периферийный модуль с DMA настроен на настроен на внешнюю SDRAM, то тогда это причины.
Сообщение отредактировал IgorKossak - May 5 2016, 19:34
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!
|
|
|
|
Сообщений в этой теме
hd44780 STM32F439IIT6 + LTDC дисплей May 4 2016, 18:39 hd44780 Спасибо за ответ.
Память у меня работает на 60 MH... May 5 2016, 15:35 romas2010 Цитата(hd44780 @ May 4 2016, 21:39) Полос... May 5 2016, 20:11 SpyBot Чтобы просто оживить дисплей, я размещал видеопамя... May 5 2016, 21:47 skripach ЦитатаУ меня для LPC1788+LCD подобный эффект был.у... May 5 2016, 22:47 pvo125 По моему в структуре настройки слоя нужно писать к... May 6 2016, 03:24 Шаманъ Цитата(hd44780 @ May 4 2016, 21:39) Приве... May 6 2016, 14:31 AVI-crak Цитата(hd44780 @ May 5 2016, 01:39) Хотя ... May 6 2016, 15:57 hd44780 Благодарю всех за ответы. Продолжаю разборки, уарт... May 6 2016, 18:03 Шаманъ Цитата(hd44780 @ May 6 2016, 21:03) Про ч... May 6 2016, 20:29 SpyBot Вернее, даже не нужно использовать никакое озу. До... May 6 2016, 21:41 hd44780 Посмотрел осциллом:
1. DCLK == тактовой LTDC модул... May 8 2016, 08:32 Шаманъ Цитата(hd44780 @ May 8 2016, 11:32) Посмо... May 8 2016, 09:28  hd44780 Цитата(Шаманъ @ May 8 2016, 12:28) Пробов... May 8 2016, 14:32   SpyBot Цитата(hd44780 @ May 8 2016, 17:32) DE по... May 11 2016, 01:14 hd44780 С Днём Победы всех!
Короче всякие там HSYNC и... May 9 2016, 07:42 hd44780 Тут хоть бы этот один подключить ... Начинаю думат... May 11 2016, 11:14 Шаманъ Цитата(hd44780 @ May 11 2016, 14:14) Тут ... May 11 2016, 15:26 hd44780 RGB ноги я перекофигурю, а DЕ у меня и так к LTDC... May 11 2016, 16:26 ArseGun LCD подобного типа крайне чувствительны к соблюден... May 11 2016, 16:59 hd44780 ArseGun, я понимаю. Но на шлейфе нет никаких напря... May 11 2016, 18:31 Шаманъ Цитата(hd44780 @ May 11 2016, 21:31) Попр... May 11 2016, 20:19 ArseGun Цитата(hd44780 @ May 11 2016, 22:31) Arse... May 12 2016, 03:34  hd44780 Цитата(ArseGun @ May 12 2016, 06:34) Попр... May 12 2016, 14:25   Шаманъ Цитата(hd44780 @ May 12 2016, 16:25) Вот ... May 12 2016, 15:37    hd44780 Цитата(Шаманъ @ May 12 2016, 18:37) А есл... May 12 2016, 17:10     Шаманъ Цитата(hd44780 @ May 12 2016, 19:10) Да, ... May 13 2016, 15:56 SasaVitebsk Честно говоря, судя по изображению, я вообще не ви... May 13 2016, 06:36 hd44780 Картинки да, нет. Есть то, что на фото. Только оно... May 13 2016, 09:47 hd44780 Всем спасибо. Ошибка проектирования платы. 2 ноги ... May 14 2016, 16:06 Шаманъ Цитата(hd44780 @ May 14 2016, 18:06) Дела... May 15 2016, 10:06 hd44780 Да, по DCLK спасут, а вторую дорогу пока не смотре... May 16 2016, 10:19 hd44780 Попробовал LTDC + 3xDAC --> VGA, оно ожило. Пр... Jun 27 2016, 13:02 Rash на Disco429, нормально работает LTDC (565 запускал... Jun 28 2016, 10:36 hd44780 Да, на этой дискаверине и у меня норм всё. Но я не... Jun 28 2016, 18:01 Rash для макета самое то, дисплей родной отпаивается, д... Jun 28 2016, 19:23 hd44780 Всех с НГ и Рождеством Христовым!
Тема полност... Jan 8 2017, 07:06 uriy Можете похвастаться своими результатами?
Я тоже ба... Jan 8 2017, 18:12 hd44780 uriy, скорость я пока не тестировал, работаю на ST... Jan 10 2017, 05:08
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|