0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SWM341 DMA2D模塊介紹

jf_pJlTbmA9 ? 來(lái)源:華芯微特32位MCU ? 作者:華芯微特32位MCU ? 2023-11-06 17:11 ? 次閱讀

1、DMA2D模塊基礎(chǔ)知識(shí)

DMA2D是專用于圖像處理的專業(yè)DMA。特別是刷單色屏,刷圖片,刷Alpha(透明)混合效果全靠它,而且可以大大降低CPU利用率。

DMA2D主要實(shí)現(xiàn)了兩個(gè)功能,一個(gè)是DMA數(shù)據(jù)傳輸功能,另一個(gè)是2D圖形加速功能。

DMA數(shù)據(jù)傳輸

主要是兩種方式,一個(gè)是寄存器到存儲(chǔ)器,另一個(gè)是存儲(chǔ)器到存儲(chǔ)器。通過(guò)DMA可以大大降低CPU的利用率。

2D圖形加速功能

支持硬件的顏色格式轉(zhuǎn)換和Alpha混合效果。DMA2D可在以下四種模式下工作:

·寄存器到存儲(chǔ)器

·存儲(chǔ)器到存儲(chǔ)器

·存儲(chǔ)器到存儲(chǔ)器并執(zhí)行像素格式轉(zhuǎn)換

·存儲(chǔ)器到存儲(chǔ)器并執(zhí)行像素格式轉(zhuǎn)換和混合

wKgaomUDxX6ADki7AAHRzJZiDkg704.png

△DMA2D模塊結(jié)構(gòu)框示意圖

2、DMA2D前景層FIFO和背景層FIFO

DMA2D前景層FIFO和背景層FIFO獲取要復(fù)制和/或處理的輸入數(shù)據(jù)。這些FIFO根據(jù)相應(yīng)像素格式轉(zhuǎn)換器PFC中定義的顏色格式獲取像素。

通過(guò)如下一組寄存器對(duì)它們進(jìn)行編程

·DMA2D前景層存儲(chǔ)器地址寄存器(FGMAR)

·DMA2D前景層偏移寄存器(FGOR)

·DMA2D背景層存儲(chǔ)器地址寄存器 (BGMAR)

·DMA2D背景層偏移寄存器 (BGOR)

·DMA2D行數(shù)寄存器(行數(shù)和每行像素?cái)?shù))(NLR)

DMA2D在寄存器到存儲(chǔ)器模式下工作時(shí),不激活任何FIFO。

DMA2D在存儲(chǔ)器到存儲(chǔ)器模式下工作時(shí)(無(wú)像素格式轉(zhuǎn)換和混合操作),僅激活FG FIFO,并將其用作緩沖區(qū)。

DMA2D在存儲(chǔ)器到存儲(chǔ)器模式下工作時(shí)并支持像素格式轉(zhuǎn)換時(shí)(無(wú)混合操作),不會(huì)激活BG FIFO。

3、DMA2D 前景層和背景層像素格式轉(zhuǎn)換器

DMA2D前景層和背景層像素格式轉(zhuǎn)換器 (PFC)執(zhí)行像素格式轉(zhuǎn)換,以生成每像素32位的值。PFC還能夠修改alpha通道。

轉(zhuǎn)換器在第一階段轉(zhuǎn)換顏色格式。前景層像素和背景層像素的原始顏色格式分別通過(guò) FGPFCCR和BGPFCCR的CFMT [3:0] 位來(lái)配置。

顏色格式的編碼方式如下:

·Alpha 值字段:透明【0xFF 值對(duì)應(yīng)不透明像素,0x00 對(duì)應(yīng)透明像素】

·R 字段代表紅色

·G 字段代表綠色

·B 字段代表藍(lán)色

如果原始格式不包括alpha通道,則會(huì)自動(dòng)將alpha值設(shè)為0xFF(不透明)。通過(guò)ARGB8888模式支持按32位對(duì)齊24位RGB888。

生成32位值后,即可根據(jù)FGPFCCR/ BGPFCCR寄存器的AMODE [1:0]字段修改alpha 通道。

Alpha通道可以:

·保持不變(不做修改)

·替換為FGPFCCR/BGPFCCR的ALPHA[7:0]值

·換為原始alpha值與FGPFCCR/BGPFCCR的ALPHA [7:0]值的乘積除以255所得商。

4、DMA2D混合器

DMA2D混合器成對(duì)混合源像素以計(jì)算結(jié)果像素。

混合將按以下公式執(zhí)行:

wKgZomUDxX-AU0S9AABP9IEHO-A716.png

混合器不需要任何配置寄存器。是否使用混合器取決于CR寄存器的MODE[1:0]字段中定義的DMA2D工作模式。

5、DMA2D輸出PFC

輸出PFC將像素格式從32位轉(zhuǎn)換為指定的輸出格式,輸出格式在DMA2D輸出像素格式轉(zhuǎn)換器配置寄存器 (OPFCCR)的CFMT [2:0]字段中定義。

6、DMA2D輸出FIFO

輸出FIFO根據(jù)輸出PFC中定義的顏色格式對(duì)像素進(jìn)行編程。

通過(guò)如下一組寄存器定義目標(biāo)區(qū)域:

·DMA2D輸出存儲(chǔ)器地址寄存器 (OMAR)

·DMA2D輸出偏移寄存器 (OOR)

·DMA2D行數(shù)寄存器(行數(shù)和每行像素?cái)?shù))(NLR)

如果DMA2D在寄存器到存儲(chǔ)器模式下工作,則配置的輸出矩形將以DMA2D輸出顏色寄存器 (OCOLOR)中指定的顏色填充。

7、DMA2D配置

DMA2D可在以下四種模式下工作,通過(guò)CR寄存器的MODE[1:0]位選擇工作模式:

·寄存器到存儲(chǔ)器

·存儲(chǔ)器到存儲(chǔ)器

·存儲(chǔ)器到存儲(chǔ)器并執(zhí)行PFC

·存儲(chǔ)器到存儲(chǔ)器并執(zhí)行PFC和混合

寄存器到存儲(chǔ)器

寄存器到存儲(chǔ)器模式用于以預(yù)定義顏色填充用戶自定義區(qū)域。顏色格式在OPFCCR中設(shè)置。

DMA2D不從任何源獲取數(shù)據(jù)。它只將OCOLOR寄存器中定義的顏色寫入通過(guò)OMAR 尋址以及NLR和OOR定義的區(qū)域。

存儲(chǔ)器到存儲(chǔ)器

在存儲(chǔ)器到存儲(chǔ)器模式下,DMA2D不執(zhí)行任何圖形數(shù)據(jù)轉(zhuǎn)換。前景層輸入FIFO充當(dāng)緩沖區(qū),數(shù)據(jù)從FGMAR中定義的源存儲(chǔ)單元傳輸?shù)絆MAR尋址的目標(biāo)存儲(chǔ)單元。

FGPFCCR寄存器的CFMT [3:0]位中編程的顏色模式?jīng)Q定輸入和輸出的每像素位數(shù)。

對(duì)于要傳輸?shù)膮^(qū)域大小,源區(qū)域大小由NLR和FGOR寄存器定義,目標(biāo)區(qū)域大小則由 NLR和OOR寄存器定義。

存儲(chǔ)器到存儲(chǔ)器并執(zhí)行PFC

此模式下,DMA2D對(duì)源數(shù)據(jù)執(zhí)行像素格式轉(zhuǎn)換并將結(jié)果存儲(chǔ)在目標(biāo)存儲(chǔ)單元。

對(duì)于要傳輸?shù)膮^(qū)域大小,源區(qū)域大小由NLR和FGOR寄存器定義,目標(biāo)區(qū)域大小則由 NLR和OOR寄存器定義。

從FGMAR寄存器定義的位置獲取數(shù)據(jù),并由前景層PFC進(jìn)行處理。原始像素格式通過(guò) FGPFCCR寄存器配置。

在顏色轉(zhuǎn)換執(zhí)行期間,可根據(jù)FGPFCCR寄存器中編程的值添加或更改alpha值。如果原始圖像沒(méi)有alpha通道,則會(huì)自動(dòng)添加一個(gè)默認(rèn)的alpha值0xFF以獲得完全不透明的像素。

可根據(jù)FGPFCCR寄存器的AMODE [1:0]位修改alpha值:

·保持不變

·替換為FGPFCCR寄存器的ALPHA[7:0]值中定義的值

·替換為原始值與FGPFCCR寄存器的ALPHA[7:0]值的乘積除以255所得商

結(jié)果得到的32位數(shù)據(jù)由OUT PFC編碼成OPFCCR寄存器的CFMT [2:0]字段所指定的格式。數(shù)據(jù)經(jīng)處理后,將寫入OMAR尋址的目標(biāo)存儲(chǔ)單元。

DMA數(shù)據(jù)傳輸

此模式下,將在前景層FIFO和背景層FIFO(分別在FGMAR和BGMAR中定義)獲取兩個(gè)源圖像。

必須按存儲(chǔ)器到存儲(chǔ)器模式中所述配置兩個(gè)像素格式轉(zhuǎn)換器。由于這兩個(gè)像素格式轉(zhuǎn)換器各自獨(dú)立,因此其配置可以不同。在每個(gè)像素都通過(guò)相應(yīng)的PFC轉(zhuǎn)換為32位后,將根據(jù)上述公式進(jìn)行混合:輸出PFC將根據(jù)指定的輸出格式對(duì)得到的32位像素值進(jìn)行編碼,并且編碼數(shù)據(jù)將寫入OMAR尋址的目標(biāo)存儲(chǔ)單元。

來(lái)源:華芯微特32位MCU

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16665

    瀏覽量

    347737
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2611

    瀏覽量

    47006
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7365

    瀏覽量

    163085
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    552

    瀏覽量

    99926
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)解碼bmp圖片時(shí)是否可以使用dma2d功能 ?

    請(qǐng)教下,解碼bmp圖片時(shí)是否可以使用dma2d功能 ? 具體描述如下: 沒(méi)有使用 emWin 就是先讀取整副 bmp 的數(shù)據(jù),之后解碼暫存,之后使用 dma2d 功能顯示, 有沒(méi)有這個(gè)必要或者這個(gè)能否能否實(shí)現(xiàn)啊,如果確定使用 d
    發(fā)表于 04-30 06:39

    轉(zhuǎn):DMA2D圖形加速

    DMA2D(Chrom-Art Accelerator?)是專用于圖像處理的專業(yè) DMA,就是Chrom-Art加速器控制器DMA2D可以執(zhí)行如下的幾個(gè)工作:1、用特定顏色填充目標(biāo)圖像的一部分或全部
    發(fā)表于 08-11 09:52

    STM32F429的DMA2D應(yīng)用之刷色塊

    第46章 STM32F429的DMA2D應(yīng)用之刷色塊,位圖和Alpha混合本章節(jié)為大家講解DMA2D應(yīng)用中經(jīng)常用到的刷色塊,刷位圖,Alpha混合和圖片混合的實(shí)現(xiàn)。目錄第46章 STM32F429
    發(fā)表于 08-10 06:51

    怎樣使用寄存器DMA2D傳輸LVGL配置

    我看了很多DMA2D教程都是用阻塞方式來(lái)刷新屏, 這樣就消耗了性能 相當(dāng)于沒(méi)用DMA, 所以我使用DMA2D中斷來(lái)傳輸數(shù)據(jù)測(cè)試平臺(tái)stm32f429 + 正點(diǎn)原子7寸1024x600液晶屏
    發(fā)表于 01-26 06:22

    使用DMA2D外設(shè)加速ART-PI-LVGL的顯存數(shù)據(jù)搬運(yùn)

    使用”GPU”來(lái)為L(zhǎng)VGL加速—DMA2D加速顯存數(shù)據(jù)搬運(yùn)二、DMA2D介紹在STM32高性能芯片中,可以使用DMA2D外設(shè)專門用來(lái)給LCD顯示加速,有LTDC外設(shè)的型號(hào)中,通常也會(huì)配
    發(fā)表于 06-30 10:24

    怎樣去解決STM32H735G-DK DMA2D起始地址漂移的問(wèn)題呢

    我正在使用 CubeMX 生成起始文件而不是 BSP 示例。當(dāng)我嘗試設(shè)置 DMA2D 時(shí),我發(fā)現(xiàn)起始地址將被移動(dòng) 0xC。...// setup octospi2 for hyperram
    發(fā)表于 12-12 07:10

    STM32L4R9芯片的圖形加速器DMA2D實(shí)例使用

    摘要:本文首先介紹STM32L4R9芯片的圖形特性及相關(guān)的硬件模塊,以及圖形顯示時(shí)各個(gè)模塊的功能劃分。尤其是針對(duì)DMA2D模塊,詳細(xì)描述主要
    發(fā)表于 02-07 14:27

    SWM341系列MCU數(shù)據(jù)手冊(cè)

    SWM341 是一款基于 ARM○R Cortex?-M33 的 32 位微控制器。具有高性能、低功耗、代碼密度大等突出特點(diǎn),適用于工業(yè)控制、白色家電、電機(jī)驅(qū)動(dòng)等諸多應(yīng)用領(lǐng)域。SWM341 內(nèi)嵌
    發(fā)表于 09-14 07:59

    STM32469I_EVAL-DMA2D

    單片機(jī)開(kāi)發(fā)板STM32469I_EVAL的開(kāi)發(fā)例程DMA2D
    發(fā)表于 06-03 15:48 ?7次下載

    Chrom-Art Accelerator控制器 (DMA2D)

    Chrom-Art Accelerator 控制器 (DMA2D) 本章適用于 STM32F42xxx 和 STM32F43xxx 系列。 11.1 DMA2D 簡(jiǎn)介 Chrom-Art
    發(fā)表于 12-05 15:39 ?12次下載

    "stm32 DMA2D使用中斷LVGL,提高LVGL幀率"

    我看了很多DMA2D教程都是用阻塞方式來(lái)刷新屏 這樣就消耗了性能 相當(dāng)于沒(méi)用DMA 所以我使用DMA2D中斷來(lái)傳輸數(shù)據(jù)測(cè)試平臺(tái)stm32f429 + 正點(diǎn)原子7寸1024x600液晶屏 45MHZ
    發(fā)表于 12-02 17:06 ?37次下載
    "stm32 <b class='flag-5'>DMA2D</b>使用中斷LVGL,提高LVGL幀率"

    華芯微特SWM341系列微控制器主要性能 SWM34SRT6-50顯示驅(qū)動(dòng)應(yīng)用

    本文介紹了華芯微特SWM341系列主要性能,和其系列之一的SWM34SRET6-50驅(qū)動(dòng)4.3寸800*480 TFTLCD顯示的例程應(yīng)用。
    的頭像 發(fā)表于 06-13 11:49 ?6991次閱讀

    SWM341 DMA2D模塊介紹

    DMA2D是專用于圖像處理的專業(yè)DMA。特別是刷單色屏,刷圖片,刷Alpha(透明)混合效果全靠它,而且可以大大降低CPU利用率。
    的頭像 發(fā)表于 06-02 09:19 ?1532次閱讀
    <b class='flag-5'>SWM341</b> <b class='flag-5'>DMA2D</b><b class='flag-5'>模塊</b><b class='flag-5'>介紹</b>

    SWM341系列之86盒智能開(kāi)關(guān)應(yīng)用

    SWM341系列之 86盒智能開(kāi)關(guān)應(yīng)用
    的頭像 發(fā)表于 11-10 18:25 ?913次閱讀
    <b class='flag-5'>SWM341</b>系列之86盒智能開(kāi)關(guān)應(yīng)用

    SWM341系列之SWM34SRET6介紹

    SWM341系列之SWM34SRET6介紹
    的頭像 發(fā)表于 10-27 10:19 ?1854次閱讀
    <b class='flag-5'>SWM341</b>系列之<b class='flag-5'>SWM</b>34SRET6<b class='flag-5'>介紹</b>