历史上的今天
返回首页

历史上的今天

今天是:2025年06月03日(星期二)

正在发生

2018年06月03日 | STM32F429中LTDC的DMA2D加速

2018-06-03 来源:eefocus

液晶屏的时序问题?

每个液晶屏的时序都不一样,但总体上是类似的。如下图:
VDEN:    数据使能信号。HSYNC:     每一行扫描的起始点, 在扫描过程中, 不会管上一行扫描有没有结束, 当出现这一个信号,即开始新一行的扫描.VSYNC:      每一场扫描的起始点, 这与HSYNC相似的.BACK PROCH:     因为有不同tft屏和不同扫描硬件, 并且HSYNC和VSYNC对于时序的约束力有限, 所以会加入一些容错的时间, 因此行扫描和场扫描都会有BACK PROCH: 和FRONT PROCH: , 并且会在HSYNC,VSYNC出现之后, 和正常分辨率扫描之后都将容错时序, 也就是在正常扫描的前后都加入容错时间, BACK PROCH: 虽然从字面上理解是后容错, 但通常会放在正常描述之前, 当然这还要看具体TFT屏的规格书.FRONT PROCH:    也就是放在正常描述之后的容错时间. 同上.CLK:     也就是正常扫描的时钟, 一个上升沿只会扫描一个pixel.从下面这个示意图可以比较直观的看出:

注意:有些液晶屏给的参数单位可能不一样,需要自己计算。






各参数值确定方法如下:


VBPD:确定帧同步信号和帧数据传输前的一段延迟时间,是帧数据传输前延迟时间和行同步时钟间隔宽度的比值,如图,VBPD=t3/t6=1.02 mS/31.77μs=32。

VFPD:确定帧数据传输完成后到下一帧同步信号到来的一段延迟时间,是帧数据传输后延迟时间和行同步时钟间隔宽度的比值,如图,VFPD=t5/t6=0.35 ms/31.77μs=11。

VSPW:确定帧同步时钟脉冲宽度,是帧同步信号时钟宽度和行同步时钟间隔宽度的比值。如图,VSPW=t2/t6=0.06 ms/31.77μs=2。

HBPD:确定行同步信号和行数据传输前的一段延迟时间,描述行数据传输前延迟时间内VCLK脉冲个数,如图,VBPD=t7×VCLK=1.89 μs×25MHz=47。

HFPD:确定行数据传输完成后到下一行同步信号到来的一段延迟时间,描述行数据传输后延迟时间内VCLK脉冲个数,如图,HFPD=t9×VCLK=0.94 μs×25 MHz=24。

HSPW:确定行同步时钟脉冲宽度。描述行同步脉冲宽度时间内VCLK脉冲个数,如图,HSPW=3.77μs×25 MHz=94。


LTDC的使用问题?

可参考官方例程的配置,需要注意的是,它只是一个LCD控制器,需要定义缓存的地址。可以设置在flash里,但是不便于操作,一般还是建议设置外部SDRAM里。

LTDC中DMA2D的使用问题?

429中LTDC的2D加速功能还比较简单,只有以下4种模式    DMA2D功能:         DMA2D_M2M   从flash拷贝至显存       DMA2D_M2M_PFC 从flash拷贝至显存,并可以进行颜色的格式转换,替换/不更改/混合       DMA2D_M2M_BLEND 从flash拷贝至显存,并先进行前景与后景色混合       DMA2D_R2M 拷贝固定颜色至显存使用方式:


uint32_t DMA2D_OutAdd;  

uint32_t DMA2D_InAdd;  

void DMA2D_M2M_Config(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height)  

{  

    DMA2D_InitTypeDef      DMA2D_InitStruct;  

    DMA2D_FG_InitTypeDef   DMA2D_FG_InitStruct;  

  

    /* Enable the DMA2D Clock */  

    RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2D, ENABLE);  

  

    /* DMA2D configuration */  

    DMA2D_DeInit();  

  

    /* Transfer mode */  

    DMA2D_InitStruct.DMA2D_Mode = DMA2D_M2M;  

  

    /* Color mode */  

    DMA2D_InitStruct.DMA2D_CMode = DMA2D_RGB565;  

  

    DMA2D_OutAdd = CurrentFrameBuffer + 2*(LCD_PIXEL_WIDTH*Ypos + Xpos);  

  

    /* Output Address */  

    DMA2D_InitStruct.DMA2D_OutputMemoryAdd = DMA2D_OutAdd;  

  

    /* Number of lines : height */  

    DMA2D_InitStruct.DMA2D_NumberOfLine = Height;  

  

    /* Number of pixel per line : width */  

    DMA2D_InitStruct.DMA2D_PixelPerLine = Width;  

  

    /* Initialize the alpha and RGB values */  

    DMA2D_InitStruct.DMA2D_OutputGreen = 0;  

    DMA2D_InitStruct.DMA2D_OutputBlue = 0;  

    DMA2D_InitStruct.DMA2D_OutputRed = 0;  

    DMA2D_InitStruct.DMA2D_OutputAlpha = 0;  

  

    /* Initialize the output offset */  

    DMA2D_InitStruct.DMA2D_OutputOffset = (LCD_PIXEL_WIDTH - Width);  

  

    /* Initialize DMA2D */  

    DMA2D_Init(&DMA2D_InitStruct);  

  

    /* Configure default values for foreground */  

    DMA2D_FG_StructInit(&DMA2D_FG_InitStruct);  

  

    /* Configure DMA2D foreground color mode */  

    DMA2D_FG_InitStruct.DMA2D_FGCM = DMA2D_RGB565;  

  

    /* Configure Input Address */  

    DMA2D_FG_InitStruct.DMA2D_FGMA = CurrentFrameBuffer+BUFFER_OFFSET;  

  

    /* Initialize foreground */  

    DMA2D_FGConfig(&DMA2D_FG_InitStruct);  

  

    /* Start Transfer */  

    DMA2D_StartTransfer();  

  

    /* Wait for CTC Flag activation */  

    while(DMA2D_GetFlagStatus(DMA2D_FLAG_TC) == RESET)  

    {  

    }  

}  

先定义好输入指针,这个函数实现的就是把flash里面的数据导入显存中显示。

推荐阅读

史海拾趣

科山芯创(COSINE)公司的发展小趣事

科山芯创深知品质是企业的生命线。他们建立了严格的质量管理体系,从原材料采购到生产流程再到成品检测,每一个环节都严格把关。同时,他们还不断提升服务水平,为客户提供全方位的技术支持和解决方案。这些努力使得科山芯创在客户中赢得了良好的口碑和信任。

Electro Adapter Inc公司的发展小趣事

作为一家以技术为核心的企业,EA公司始终将技术创新作为公司发展的重中之重。公司不断引进新技术、新工艺,加强与高校、科研机构的合作,共同研发具有自主知识产权的新产品。在智能电源适配器领域,EA公司率先推出了一系列具有智能化、网络化功能的产品,引领了行业潮流。这些产品的推出不仅提高了公司的市场竞争力,也为客户提供了更加便捷、高效的使用体验。

CMD公司的发展小趣事

CMD公司在数据存储领域不断创新,推出了一系列高性能的产品。其微开放系统、高性能工作站等产品为LAN和PC提供了先进的数据存储技术。同时,CMD还致力于发展、生产、销售高性能ASIC和板级产品,其IDE/UltraATA芯片在全球范围内得到了广泛应用。

国盛科技(BOCHEN)公司的发展小趣事

随着市场竞争的加剧,国盛科技意识到传统生产方式已难以满足市场需求。于是,公司开始积极探索自动化生产之路。经过不懈努力,国盛科技成功自主研发了电位器自动包装设备、自动测试设备等多种自动化设备,实现了产品流水化生产。这一突破不仅大大提高了生产效率,还使得电位器年产量突破一亿只,为国盛科技赢得了市场的广泛认可。

AEMC Instruments公司的发展小趣事

除了提供优质的产品外,AEMC Instruments公司还注重服务升级和客户关怀。公司建立了完善的客户服务体系,提供售前咨询、售后技术支持等全方位服务。同时,公司还定期举办技术培训和交流活动,帮助客户更好地使用和维护产品。这些举措不仅提高了客户的满意度和忠诚度,也促进了公司与客户的长期合作关系。

以上五个故事是基于AEMC Instruments公司的发展情况所做出的概括性描述,旨在展示公司在电子行业中的成长历程和取得的成就。当然,具体的发展故事还需要根据公司的实际情况和历史记录来深入挖掘和呈现。

DAPAudio公司的发展小趣事

随着公司产品的不断成熟和市场的逐渐扩大,DAPAudio开始将目光投向国际市场。通过与国际知名品牌的合作和自身的市场拓展努力,DAPAudio的产品逐渐进入欧美等发达国家和地区的市场。在国际市场上,DAPAudio凭借其卓越的产品性能和优质的服务赢得了广泛的赞誉和认可。

问答坊 | AI 解惑

摩托罗拉出售汽车电子部 潜心发展通讯技术

   据外电报道,手机制造商摩托罗拉周一表示,公司将把其汽车电子业务部以10亿美元的价格出售给德国的一家轮胎公司大陆公司,这样摩托罗拉就可以更加专心致志地把重点放在发展通讯技术上。   这个拥有4500名员工的部门去 ...…

查看全部问答>

消费类电子产品仍然主宰MCU市场

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑 2006年,在消费类电子产品制造继续快速发展的带动下,中国MCU市场依旧保持了较好的发展势头,增长率继续维持在25%以上的高水平。从应用领域来看,一方面,消费电子产品仍是中国MCU市场需求的主 ...…

查看全部问答>

IR2110的问题

不知道大家有没有人用过IR2110的,我调了好长时间有一个问题始终无法解决。还请知道的人帮忙提示一下。 具体电路图如图所示: 当DTP结束,即上面的功率管截止的时候,下面的功率管的控制信号就会有一个类似于下降沿干扰的信号产生使得下面的功率 ...…

查看全部问答>

模数转换后的8路二进制数用7段译码显示器输出电路---要硬件的

模数转换后的8路二进制数用7段译码显示器输出电路---要硬件的。。。。。。。。。。。。。。急急急,我作的毕业设计急用,哪位高手指点指点,发个图过来啊谢谢了…

查看全部问答>

21个详细且精湛的模拟电子技术问答

21个详细且精湛的模拟电子技术问答,内容包括: 01 电压基准及时间基准 O2 压频转换器 03 高速比较器 04 运算放大器 05 数模转换器 06 Σ ?Δ模数转换器 07 数据转换器的噪声及其它问题 08 运算放大器的噪声 09 运算放大器的建立时间 10 串行数据转 ...…

查看全部问答>

未来电源的新功率半导体器件

这篇文章介绍了一些新型器件在电源设计上的应用,对电源设计人员来说,值得一读。 上传宣言:分享资料,分享快乐。…

查看全部问答>

LTIB介绍和安装(一)

因为eewrold每个帖子指数限制是1万字,只能切开分几个帖子,顺便说下,这个字数限制实在是没理由。 LTIB (Linux Target Image Builder)是飞思卡尔公司开发的一个工具,用于简化嵌入式bsp开发的工具,基本上就是一些脚本加上预先制作成功交叉工 ...…

查看全部问答>

PC连接windows mobile串口通信的问题

我用数据线连接mobile的USB口和电脑的USB口。想用串口通信的方法,写程序让这两个设备通信,这样可行吗?用CreateFile函数,但我不知道具体到哪一个串口。一个一个的试过了也没有成功接收到数据。手机上面的那个USB口我怎么才能知道是哪个口呢?电 ...…

查看全部问答>

知名公司高薪诚聘 hardwarePE

知名公司招聘硬件产品工程师,要求有硬件电路设计经验,熟练使用各种电子测试设备。 如下jd,有意者可咨询alice Job Title Hardware PE  (Shanghai) Roles and Responsibilities 1. This position will be to work as a member of ...…

查看全部问答>

谁有MPEG-2标准中文版,免费的下载地址.谢谢了...

谁有MPEG-2标准中文版,免费的下载地址.谢谢了...偶没有分了.帮帮忙.!!…

查看全部问答>