Страница 8 из 20 ПерваяПервая ... 56789101118 ... ПоследняяПоследняя
Показано с 71 по 80 из 194

Тема: Программное обеспечение для "Маламута" основанное на открытое автором версии V2.0

  1. #71
    Благодаря подсказкам знающих товарищей наконец-то удалось запустить большой ТФТ800х480. Ну собственно , как и предупреждали, везде одни тормоза, или я неправильно клок задал.
    Скопом посмотрел - DCLK== 28 MHz, кадры и строки 29 КГц и 56 Гц примерно. Спектр и водопад жутко тормозят, тексты ещё вообще не рисовал...
    Для СТМ есть ещё какая-то HAL библиотека . кто знает, может она шустрее работает?
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	DSCF4069.JPG 
Просмотров:	99 
Размер:	727.2 Кб 
ID:	288464  


  2. #72
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    9,883
    Записей в дневнике
    17
    Позывной
    UA1ARN
    Цитата Сообщение от Andreichk Посмотреть сообщение
    или я неправильно клок задал
    Похоже правильно. ВОт тут пишут про контроллер вашего дисплея:
    https://www.buydisplay.com/download/ic/OTA7001A.pdf
    Нажмите на изображение для увеличения. 

Название:	Untitled.png 
Просмотров:	93 
Размер:	71.4 Кб 
ID:	288468

    ps: кадровая, VSYNC, около 60 герц.

    Цитата Сообщение от Andreichk Посмотреть сообщение
    Спектр и водопад жутко тормозят
    Да, именно это и ожидалось. ПРоверьте что там с FIFO у LTDC.
    Последний раз редактировалось Genadi Zawidowski; 05.05.2018 в 23:59.
    ... Я там глубину сам промерял!

  3. #73
    Цитата Сообщение от Genadi Zawidowski Посмотреть сообщение
    ПРоверьте что там с FIFO у LTDC.
    а что там должно быть?

  4. #74
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    9,883
    Записей в дневнике
    17
    Позывной
    UA1ARN
    Функционировать, разумеется. Инициализации для stm32f429 и stm32h7 у меня в проекте можно посмотреть, ltdc.c. срисовывал я с st-шных либ. Сейчас не помню, есть ли в регистрах управление параметрами fifo на ltdc.
    Последний раз редактировалось Genadi Zawidowski; 06.05.2018 в 00:34.
    ... Я там глубину сам промерял!

  5. #75
    ну вот так инит вобщем выглядит теперь: что тут ещё можно править?

    Код:
    void TFT800_480_InitLTDC(void) {
     
     TM_ILI9341_InitPins();  /* Initialize pins used */
     TM_SDRAM_Init();         /* Init SDRAM */
     
     LTDC_InitTypeDef LTDC_InitStruct;
     
     /* Enable the LTDC Clock */
     RCC->APB2ENR |= RCC_APB2ENR_LTDCEN;
    
     /* Enable the DMA2D Clock */
     RCC->AHB1ENR |= RCC_AHB1ENR_DMA2DEN;
       
     /* Polarity configuration */
     /* Initialize the horizontal synchronization polarity as active low */
     LTDC_InitStruct.LTDC_HSPolarity = LTDC_HSPolarity_AL;     
     /* Initialize the vertical synchronization polarity as active low */  
     LTDC_InitStruct.LTDC_VSPolarity = LTDC_VSPolarity_AL;     
     /* Initialize the data enable polarity as active low */
     LTDC_InitStruct.LTDC_DEPolarity = LTDC_DEPolarity_AL;     
     /* Initialize the pixel clock polarity as input pixel clock */ 
     LTDC_InitStruct.LTDC_PCPolarity = LTDC_PCPolarity_IPC;
     /* Configure R,G,B component values for LCD background color */                   
     LTDC_InitStruct.LTDC_BackgroundRedValue   = 0x00;            
     LTDC_InitStruct.LTDC_BackgroundGreenValue = 0x00;          
     LTDC_InitStruct.LTDC_BackgroundBlueValue  = 0x00;  
     /* Configure PLLSAI prescalers for LCD */
     /* Enable Pixel Clock */
     /* PLLSAI_VCO Input = HSE_VALUE/PLL_M = 1 Mhz */
     /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAI_N = 192 Mhz */
     /* PLLLCDCLK = PLLSAI_VCO Output/PLLSAI_R = 192/4 = 96 Mhz */
     /* LTDC clock frequency = PLLLCDCLK / RCC_PLLSAIDivR = 96/4 = 24 Mhz */
     RCC_PLLSAIConfig(200, 4, 4);//RCC_PLLSAIConfig(192, 7, 4);
     RCC_LTDCCLKDivConfig(RCC_PLLSAIDivR_Div2);//25MHz
     /* Enable PLLSAI Clock */
        RCC_PLLSAICmd(ENABLE);
     
        /* Wait for PLLSAI activation */
     while (RCC_GetFlagStatus(RCC_FLAG_PLLSAIRDY) == RESET) {
     
     }
     
        /* Timing configuration */  
           
        LTDC_InitStruct.LTDC_HorizontalSync     = 0;      /* Configure horizontal synchronization width */  
        LTDC_InitStruct.LTDC_VerticalSync       = 0;      /* Configure vertical synchronization height */  
        LTDC_InitStruct.LTDC_AccumulatedHBP     = 46;     /* Configure accumulated horizontal back porch */   
        LTDC_InitStruct.LTDC_AccumulatedVBP     = 23;     /* Configure accumulated vertical back porch */   
        LTDC_InitStruct.LTDC_AccumulatedActiveW = 846;    /* Configure accumulated active width */     
        LTDC_InitStruct.LTDC_AccumulatedActiveH = 503;    /* Configure accumulated active height */   
        LTDC_InitStruct.LTDC_TotalWidth         = 862;   /* Configure total width */  
        LTDC_InitStruct.LTDC_TotalHeigh         = 510;    /* Configure total height */
     /* Init LTDC */
     LTDC_Init(&LTDC_InitStruct);
    }
    //===============================================================================================================
    //==========                                                         =====================================
    //===============================================================================================================
    void TFT800_480_InitLayers(void) {
     LTDC_Layer_InitTypeDef LTDC_Layer_InitStruct;
     /*  Windowing configuration */
     
     //  Horizontal start = horizontal synchronization + Horizontal back porch  
     // Horizontal stop  = Horizontal start + LCD_PIXEL_WIDTH - 1 
     // Vertical start   = vertical synchronization + vertical back porch    
     // Vertical stop    = Vertical start + LCD_PIXEL_HEIGHT - 1        
     
     LTDC_Layer_InitStruct.LTDC_HorizontalStart =  46;
     LTDC_Layer_InitStruct.LTDC_HorizontalStop  = 845;
     LTDC_Layer_InitStruct.LTDC_VerticalStart   =  23;
     LTDC_Layer_InitStruct.LTDC_VerticalStop    = 502;
     /* Pixel Format configuration*/
        LTDC_Layer_InitStruct.LTDC_PixelFormat = LTDC_Pixelformat_RGB565;
        /* Alpha constant (255 totally opaque) */
        LTDC_Layer_InitStruct.LTDC_ConstantAlpha = 255; 
        /* Default Color configuration (configure A,R,G,B component values) */          
        LTDC_Layer_InitStruct.LTDC_DefaultColorBlue = 0;        
        LTDC_Layer_InitStruct.LTDC_DefaultColorGreen = 0;       
        LTDC_Layer_InitStruct.LTDC_DefaultColorRed = 0;         
        LTDC_Layer_InitStruct.LTDC_DefaultColorAlpha = 0;
     
        /* Configure blending factors */       
        LTDC_Layer_InitStruct.LTDC_BlendingFactor_1 = LTDC_BlendingFactor1_CA;    
        LTDC_Layer_InitStruct.LTDC_BlendingFactor_2 = LTDC_BlendingFactor2_CA;
        /* the length of one line of pixels in bytes + 3 then :
        Line Lenth = Active high width x number of bytes per pixel + 3 
        Active high width         = LCD_PIXEL_WIDTH 
        number of bytes per pixel = 2    (pixel_format : RGB565) 
        */
     LTDC_Layer_InitStruct.LTDC_CFBLineLength = 480 * 2 +3;
     
     /* the pitch is the increment from the start of one line of pixels to the 
        start of the next line in bytes, then :
        Pitch = Active high width x number of bytes per pixel     
        */ 
     LTDC_Layer_InitStruct.LTDC_CFBPitch = 480 * 2;
     /* Configure the number of lines */ 
     LTDC_Layer_InitStruct.LTDC_CFBLineNumber = 800;
     
     /* Start Address configuration : the LCD Frame buffer is defined on SDRAM */   
     LTDC_Layer_InitStruct.LTDC_CFBStartAdress = ILI9341_FRAME_BUFFER;
     /* Initialize Layer 1 */
     LTDC_LayerInit(LTDC_Layer1, &LTDC_Layer_InitStruct);
        /* Configure Layer2 */
        /* Start Address configuration : the LCD Frame buffer is defined on SDRAM w/ Offset */  
     LTDC_Layer_InitStruct.LTDC_CFBStartAdress = ILI9341_FRAME_BUFFER + ILI9341_FRAME_OFFSET;
     
     /* Configure blending factors */ 
     LTDC_Layer_InitStruct.LTDC_BlendingFactor_1 = LTDC_BlendingFactor1_PAxCA;
     LTDC_Layer_InitStruct.LTDC_BlendingFactor_2 = LTDC_BlendingFactor2_PAxCA;
     /* Initialize Layer 2 */
     LTDC_LayerInit(LTDC_Layer2, &LTDC_Layer_InitStruct);
     LTDC_ReloadConfig(LTDC_IMReload);
     
     /* Enable foreground & background Layers */
     LTDC_LayerCmd(LTDC_Layer1, ENABLE);
     LTDC_LayerCmd(LTDC_Layer2, ENABLE);
     
     /* Reload immediate */
     LTDC_ReloadConfig(LTDC_IMReload);
     LTDC_DitherCmd(ENABLE);
     
     /* Display On */
     LTDC_Cmd(ENABLE);
     
     /* Set opacity */
     LTDC_LayerAlpha(LTDC_Layer1, 255);
     LTDC_LayerAlpha(LTDC_Layer2, 0);
     
     /* Immediate reload */
     LTDC_ReloadConfig(LTDC_IMReload);
    }

  6. #76
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    9,883
    Записей в дневнике
    17
    Позывной
    UA1ARN
    Заглянул в даташит на 429. Нет там отключения FIFO - всегда работает. Тормозить еще может работа с SDRAM. В оригинале (от ST) почему-то запрещено BURST READ.
    Разнесите память данных программ и SDRAM с ее видеобуфером. Хотя, это вроде уже сделано...
    Еще моет помочь переход на 8 бит цвет с палитрой
    Последний раз редактировалось Genadi Zawidowski; 06.05.2018 в 02:16.
    ... Я там глубину сам промерял!

  7. #77
    попался мне на глаза занедорого F7
    https://www.ebay.de/itm/STM32-Develo...53.m2749.l2649

    Решил разориться ещё немного и заказал.......

  8. #78
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    9,883
    Записей в дневнике
    17
    Позывной
    UA1ARN
    Цитата Сообщение от Genadi Zawidowski Посмотреть сообщение
    stm32h7
    Вообще-то F7 и H7 разные чипы... Но поздравляю.
    ... Я там глубину сам промерял!

  9. #79
    неожиданно было обнаружено, что на модуле стоит память с индексом -7, что согласно даташиту указывает на макс. тактовую частоту шины 143 МГц. Сразу пришло в голову найти и заменить на аналогичную с индексом -5, то есть с тактовой 200 МГц. https://www.ebay.co.uk/itm/AS4C4M16S...53.m2749.l2649

    раза в 1.5 наверное точно можно шину ускорить. А что скажет купечество?


  10. #80
    Аватар для Genadi Zawidowski
    Регистрация
    22.07.2004
    Адрес
    Санкт-Петербург
    Сообщений
    9,883
    Записей в дневнике
    17
    Позывной
    UA1ARN
    Я не проверял, можно ли раскрутить тактовую внутри и процессора для внешней шины... Ну получите процентов 15 ускорения для расчетной задачи.... А смысл? Burst на текущей микросхеме памяти ускорение дал?
    ... Я там глубину сам промерял!

Страница 8 из 20 ПерваяПервая ... 56789101118 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Icom IC-FR5000 Программное обеспечение
    от Mun в разделе Модификация радиостанций
    Ответов: 22
    Последнее сообщение: 21.04.2017, 09:22
  2. Программное обеспечение для websdr
    от RV0APS в разделе Software Defined Radio (SDR), Digital Radio Mondiale (DRM)
    Ответов: 133
    Последнее сообщение: 21.03.2016, 00:46
  3. Программное обеспечение для радиолюбителя
    от ASK в разделе Для начинающих
    Ответов: 1
    Последнее сообщение: 16.10.2013, 13:18
  4. Программное обеспечение для портативки UV-5R
    от ua6bqn в разделе Программное обеспечение
    Ответов: 1
    Последнее сообщение: 26.07.2012, 08:35
  5. Программное обеспечение PSP
    от RZ6FE в разделе Софт для мобильных устройств
    Ответов: 5
    Последнее сообщение: 20.11.2009, 14:20

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •