zoukankan      html  css  js  c++  java
  • DMA2D 图形加速器简介

    在实际使用 LTDC 控制器控制液晶屏时,使 LTDC 正常工作后,往配置好的显存地址
    写入要显示的像素数据, LTDC 就会把这些数据从显存搬运到液晶面板进行显示,而显示
    数据的容量非常大,所以我们希望能用 DMA 来操作,针对这个需求, STM32 专门定制了
    DMA2D 外设,它可用于快速绘制矩形、直线、分层数据混合、数据复制以及进行图像数
    据格式转换,可以把它理解为图形专用的 DMA
    DMA2D 结构框图剖析
    27-13 DMA2D 的结构框图,它与前面 LTDC 结构里的图像处理单元很类似,主
    要为分层 FIFOPFC 及彩色混合器。

    1. FG FIFO BG FIFO
    FG FIFO(Foreground FIFO)BG FIFO(Backgroun FIFO)是两个 64x32 位大小的缓冲区,
    它们用于缓存从 AHB 总线获取的像素数据,分别专用于缓冲前景层和背景层的数据源。
    AHB 总线的数据源一般是 SDRAM,也就是说在 LTDC 外设中配置的前景层及背景层
    数据源地址一般指向 SDRAM 的存储空间,使用 SDRAM 的部分空间作为显存。
    2. FG PFC BG PFC
    FG PFC(FG Pixel Format Convertor)BG PFC(BG Pixel Format Convertor)是两个像素格
    式转换器,分别用于前景层和背景层的像素格式转换,不管从 FIFO 的数据源格式如何,
    都把它转化成字的格式(32 )ARGB8888
    图中的“ɑ”表示 Alpha,即透明度,经过 PFC,透明度会被扩展成 8 位的格式。
    图中的“CLUT”表示颜色查找表(Color Lookup Table),颜色查找表是一种间接的颜色
    表示方式,它使用一个 256x32 位的空间缓存 256 种颜色,颜色的格式是 ARGB8888
    RGB888。见图 27-14,利用颜色查找表,实际的图像只使用这 256 种颜色,而图像的每个
    像素使用 8 位的数据来表示,该数据并不是直接的 RGB 颜色数据,而是指向颜色查找表的
    地址偏移,即表示这个像素点应该显示颜色查找表中的哪一种颜色。在图像大小不变的情
    况下,利用颜色查找表可以扩展颜色显示的能力,其特点是用 8 位的数据表示了一个 24
    32 位的颜色,但整个图像颜色的种类局限于颜色表中的 256 种。 DMA2D 的颜色查找表可
    以由 CPU 自动加载或编程手动加载。

    3. 混合器
    FIFO 中的数据源经过 PFC 像素格式转换器后,前景层和背景层的图像都输入到混合
    器中运算,运算公式见图 27-15

    4. OUT PFC
    OUT PFC 是输出像素格式转换器,它把混合器转换得到的图像转换成目标格式,如
    ARGB8888RGB888RGB565ARGB1555 ARGB4444,具体的格式可根据需要在输
    PFC 控制寄存器 DMA2D_OPFCCR 中选择。


      STM32F429 芯片使用 LTDCDMA2D RAM 存储器,构成了一个完整的液晶控制
    器。 LTDC 负责不断刷新液晶屏, DMA2D 用于图像数据搬运、混合及格式转换, RAM
    储器作为显存。其中显存可以使用 STM32 芯片内部的 SRAM 或外扩 SDRAM/SRAM,只
    要容量足够大即可(至少要能存储一帧图像数据)

    DMA2D结构体
    配置完这些结构体成员,调用库函数DMA2D_Init即可把这些参数写入
    DMA2D的控制寄存器中,然后再调用DMA2D_StartTransfer函数开启数据传输及转换。 

     

  • 相关阅读:
    Visual Studio 常用快捷键 (二)
    Visual Studio 常用快捷键
    页游体验
    JSFL 工具
    GhostCat工具
    如何制作一个塔防游戏
    水墨
    给 想转2dx 却无从下手的aser
    两岸三地在线编程学习网站大全
    as3反射应用及简要代码
  • 原文地址:https://www.cnblogs.com/yangguang-it/p/7237791.html
Copyright © 2011-2022 走看看