bjxyrh 发表于 2022-4-15 21:16:03

TK499驱动480*800的RGB屏速度慢,有没有硬件加速器或者DMA

TK499移植emwin跑480*800的RGB屏速度慢,都快执行不了其他任务了,有没有硬件加速器或者DMA?有了解的给个优化建议。

我是基于坛友的ucosiii_emwin_TK043F1168这个文件修改的。

tiky 发表于 2022-4-15 22:58:02

你手上的屏看看支持MCU8080模式不,也学着TK043F116那样驱动看。

   如果应用简单的话,可以用三缓冲切屏,用内部LTDC中断切换,800*480的大屏速度都能达40帧以上,参考这个帖子:

TKM32F499用LTDC驱动RGB888屏的多图层示例,高达每秒44帧,支持滚屏https://www.amobbs.com/thread-5745040-1-1.html

bjxyrh 发表于 2022-4-16 08:51:52

本帖最后由 bjxyrh 于 2022-4-16 08:57 编辑

tiky 发表于 2022-4-15 22:58
你手上的屏看看支持MCU8080模式不,也学着TK043F116那样驱动看。

   如果应用简单的话,可以用三缓冲切 ...
(引用自2楼)

不支持,你们有5寸屏带电容触摸的吗?
麻烦发一下规格书
我们使用接口

xuekcd 发表于 2022-4-16 10:56:09

这个问题建议先到硬汉论坛学习

tiky 发表于 2022-4-16 11:15:07

这个你需要可以联系客服看看

amigenius 发表于 2022-4-16 12:38:57

TK499挂了RGB屏,分辨率一高,总线带宽被LTDC大量占用了。800*480用16bit色吧,带宽能省不少。

bjxyrh 发表于 2022-4-16 14:23:29

amigenius 发表于 2022-4-16 12:38
TK499挂了RGB屏,分辨率一高,总线带宽被LTDC大量占用了。800*480用16bit色吧,带宽能省不少。 ...
(引用自6楼)

我用的RGB565,16bit的
void Set_LCD_Timing_to_LTDC(void)
{
    LCD_FORM_TypeDef LCD_FORM;
    LTDC->OUT_EN = 0;
    LTDC->DP_ADDR0 = (u16)LTDC_Buf;//第0层地址
//    LTDC->DP_ADDR1 = (u32)(LTDC_Buf + SDRAM_RGB_OFFSET);//第一层地址
    LTDC->BLK_DATA = 0x0000;//背景色

                LCD_FORM.sHsyncStart = 10;//水平激活起始
    LCD_FORM.sHsyncEnd = 105;    //水平激活结束
    LCD_FORM.aHorLen = 800 - 1;//水平分辨率
    LCD_FORM.blkHorEnd = 114;    //水平消隐

    LCD_FORM.sVsyncStart = 10;//垂直激活起始
    LCD_FORM.sVsyncEnd = 11;    //垂直激活结束
    LCD_FORM.aVerLen= 480 - 1;        //垂直分辨率
    LCD_FORM.blkVerEnd = 20;   //垂直消隐
       
    set_resolutionXX(&LCD_FORM);

                LTDC->VI_FORMAT = 0X01;//RGB565
                LTDC->POL_CTL = 0x3;
                LTDC->OUT_EN |= 0x107;

}
我尝试DMA搬运没能成功,《TK499_emWin_TK050F5590_XBF横屏版_支持二次开发》这个驱动没有公开,不知道有没有使用硬件加速什么的

bjxyrh 发表于 2022-4-16 14:27:36

tiky 发表于 2022-4-16 11:15
这个你需要可以联系客服看看
(引用自5楼)

客服电话没人接,淘宝客服说没有教程,官方数据手册没有提到RGB对应的DMA,不清楚是内部没有还是没有写全

bjxyrh 发表于 2022-4-16 14:28:51

xuekcd 发表于 2022-4-16 10:56
这个问题建议先到硬汉论坛学习
(引用自4楼)

硬汉论坛没看到相关帖子

szjqt 发表于 2022-4-16 15:31:25

如果把代码都花在推屏上估计这个产品可能够呛。

tiky 发表于 2022-4-16 20:58:01

bjxyrh 发表于 2022-4-16 14:23
我用的RGB565,16bit的
void Set_LCD_Timing_to_LTDC(void)
{
(引用自7楼)

   RGB模式就是一个显存操作-->显存=内存,所以DMA的话就是M2M模式了,说白了就是内存copy了,没办法发挥什么优化。用MCU模式可以直接M to TK80 的DMA.
    上面你提及到的二次发开的例程是比较老的,在这个论坛里找emWin6.1或者6.14,一般都包山包海的了,驱动没打包成lib,或者懒得找的话,星期一叫客服发一个相近的例程给你,emWin6.14的。

bjxyrh 发表于 2022-4-17 10:11:15

tiky 发表于 2022-4-16 20:58
RGB模式就是一个显存操作-->显存=内存,所以DMA的话就是M2M模式了,说白了就是内存copy了,没办法发 ...
(引用自11楼)

emwin运行都没有问题的,目前测试就是480*800RGB接口刷新慢,太占MCU资源了。要是把ltdc刷新独立硬件处理就完美了

bjxyrh 发表于 2022-4-20 15:45:24

tiky 发表于 2022-4-16 20:58
RGB模式就是一个显存操作-->显存=内存,所以DMA的话就是M2M模式了,说白了就是内存copy了,没办法发 ...
(引用自11楼)

请问TK499的RGB565可以变为BGR顺序吗?手册上没看到
页: [1]
查看完整版本: TK499驱动480*800的RGB屏速度慢,有没有硬件加速器或者DMA