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

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

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

MCX N微處理器SmartDMA對(duì)圖像數(shù)據(jù)的定制處理實(shí)現(xiàn)

恩智浦MCU加油站 ? 來(lái)源:恩智浦MCU加油站 ? 2024-03-28 11:42 ? 次閱讀

MCX N系列MCU介紹

MCX N系列是高性能、低功耗微控制器,配備智能外設(shè)和加速器,可提供多任務(wù)功能和高能效。選擇MCX N系列,包含eIQ Neutron神經(jīng)處理單元(NPU),適用于機(jī)器學(xué)習(xí)應(yīng)用。低功耗高速緩存增強(qiáng)了系統(tǒng)性能,雙塊Flash存儲(chǔ)器和帶ECC檢測(cè)RAM支持系統(tǒng)功能安全,提供了額外的保護(hù)和保證。

SmartDMA介紹 MCX N系列微控制器全系帶有SmartDMA協(xié)處理器。該協(xié)處理器支持高效匯編代碼指令運(yùn)行,主要功能包含加減,左移右移,字節(jié)位域交換,位翻轉(zhuǎn),訪問(wèn)內(nèi)存外設(shè),單周期讀寫IO,接收外部觸發(fā)信號(hào)等。為了方便客戶工程師簡(jiǎn)單使用,我將常用的一些功能,通過(guò)數(shù)組的形式放在主代碼工程中,用戶只需要調(diào)用API函數(shù)即可。今天主要介紹如何使用SmartDMA對(duì)圖像進(jìn)行預(yù)處理。

圖像處理介紹及應(yīng)用 在嵌入式領(lǐng)域,我們經(jīng)常需要對(duì)圖像的數(shù)據(jù)進(jìn)行處理。比如,我們從原圖像接收到的數(shù)據(jù),每個(gè)像素的高低字節(jié)可能是反的,又比如,我們可能只想要RGB數(shù)據(jù),但是原圖像數(shù)據(jù)可能還帶有透明度的數(shù)據(jù)成分,這時(shí)我們想把透明度的數(shù)據(jù)去掉。

有時(shí)候我們顯示接口要求的數(shù)據(jù)格式可能與我們RAM中的數(shù)據(jù)格式不一致,這時(shí)候就需要對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)處理,然后再顯示。還有時(shí)候,針對(duì)RAM中存放的顯示數(shù)據(jù),我們想挑選其中的一部分進(jìn)行顯示,比如隔點(diǎn)隔行顯示。上面這些情況都可以通過(guò)CPU核來(lái)處理,但這種重復(fù)簡(jiǎn)單的工作無(wú)形給CPU造成很大的負(fù)擔(dān)。SmartDMA可以很容易實(shí)現(xiàn)上述功能,并且不需要打擾CPU核工作。

SmartDMA對(duì)圖像處理的實(shí)現(xiàn)

針對(duì)目前常用的情況,我用SmartDMA實(shí)現(xiàn)了如下幾個(gè)功能:

1) 可以作為通用的DMA來(lái)實(shí)現(xiàn),因?yàn)镾martDMA可以訪問(wèn)內(nèi)存和外設(shè),所以它可以作為一個(gè)通用的DMA。

2) 字節(jié)翻轉(zhuǎn)功能。Smart DMA有字節(jié)翻轉(zhuǎn)、位翻轉(zhuǎn)等功能,所以又可以對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。字節(jié)翻轉(zhuǎn)可以是一個(gè)半字(Half Word)里面的高低位字節(jié)翻轉(zhuǎn)。也可以是一個(gè)字(Word)里面的最高字節(jié)和最低字節(jié)翻轉(zhuǎn)。

3) 對(duì)一定數(shù)據(jù)長(zhǎng)度的字節(jié)翻轉(zhuǎn)。比如每次圖像處理的一組數(shù)據(jù)有32個(gè)字節(jié),SmartDMA可以將這些字節(jié)進(jìn)行顛倒,也就是說(shuō)第一個(gè)字節(jié)和最后一個(gè)字節(jié)互換,第二個(gè)字節(jié)和倒數(shù)第二個(gè)字節(jié)互換,以此類推。

4) 針對(duì)圖像的數(shù)據(jù)格式實(shí)現(xiàn)RGB565和RGB888之間的互換,這也是為了應(yīng)對(duì)不同的顯示接口格式與RAM中存放的數(shù)據(jù)格式不一致的問(wèn)題。

Demo展示 在MCXN系列微處理器的軟件開發(fā)包SDK里面已經(jīng)有一個(gè)相應(yīng)的例程(lvgl_demo_widgets_bm)來(lái)實(shí)現(xiàn)這個(gè)功能。它實(shí)現(xiàn)的是一個(gè)流行的圖形用戶界面Little VGL的常用部件功能。在顯示驅(qū)動(dòng)中,用戶既可以通過(guò)普通的DMA傳送數(shù)據(jù)到LCD接口,也可以配置為通過(guò)SmartDMA來(lái)實(shí)現(xiàn)數(shù)據(jù)的傳輸。

使用的開發(fā)板是FRDM-MCXN947(FRDM-MCXN947 Development Board using MCUXpresso | NXP Semiconductors), 該開發(fā)板具有LCD接口。LCD使用FlexIO來(lái)驅(qū)動(dòng)。LCD接口支持NXP LCD顯示屏模塊LCD-PAR-S035(LCD-PAR-S035 | NXP Semiconductors)。該LCD支持480x320分辨率。

SmartDMA給用戶提供API接口有如下幾個(gè):

enum _smartdma_display_api
{


kSMARTDMA_FlexIO_DMA_Endian_Swap = 0U,


kSMARTDMA_FlexIO_DMA_Reverse32,


kSMARTDMA_FlexIO_DMA,


kSMARTDMA_FlexIO_DMA_Reverse, /*!< Send data to FlexIO with reverse order.


*/


kSMARTDMA_RGB565To888, /*!< Convert RGB565 to RGB888 and save to output


memory, use parameter


smartdma_rgb565_rgb888_param_t. */


kSMARTDMA_FlexIO_DMA_RGB565To888, /*!< Convert RGB565 to RGB888 and send to


FlexIO, use parameter


smartdma_flexio_mculcd_param_t. */


kSMARTDMA_FlexIO_DMA_ARGB2RGB, /*!< Convert ARGB to RGB and send to FlexIO,


use parameter


smartdma_flexio_mculcd_param_t. */


kSMARTDMA_FlexIO_DMA_ARGB2RGB_Endian_Swap, /*!< Convert ARGB to RGB, then


swap endian, and send to FlexIO, use


parameter smartdma_flexio_mculcd_param_t. */


kSMARTDMA_FlexIO_DMA_ARGB2RGB_Endian_Swap_Reverse, /*!< Convert ARGB to RGB,


then swap endian and reverse, and send


to FlexIO, use parameter smartdma_flexio_mculcd_param_t. */


};

Demo顯示如下:

fed5b1d8-eca5-11ee-a297-92fbcf53809c.png




審核編輯:劉清

聲明:本文內(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)投訴
  • 加速器
    +關(guān)注

    關(guān)注

    2

    文章

    790

    瀏覽量

    37674
  • 數(shù)據(jù)傳輸
    +關(guān)注

    關(guān)注

    9

    文章

    1792

    瀏覽量

    64410
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2244

    瀏覽量

    82267
  • RGB
    RGB
    +關(guān)注

    關(guān)注

    4

    文章

    796

    瀏覽量

    58336
  • LCD接口
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    1886

原文標(biāo)題:MCX N微處理器SmartDMA秘籍之-對(duì)圖像數(shù)據(jù)的定制處理

文章出處:【微信號(hào):NXP_SMART_HARDWARE,微信公眾號(hào):恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    [3.10.1]--3.10微處理器概述

    微處理器
    學(xué)習(xí)電子知識(shí)
    發(fā)布于 :2023年02月17日 20:50:35

    [3.13.1]--3.13專用微處理器設(shè)計(jì)實(shí)例(上)

    微處理器
    學(xué)習(xí)電子知識(shí)
    發(fā)布于 :2023年02月17日 20:52:49

    [3.14.1]--3.14專用微處理器設(shè)計(jì)實(shí)例(下)

    微處理器
    學(xué)習(xí)電子知識(shí)
    發(fā)布于 :2023年02月17日 20:53:47

    ARM微處理器的編程模型

    ARM微處理器的編程模型 目錄ARM微處理器的工作狀態(tài)ARM體系結(jié)構(gòu)的存儲(chǔ)格式指令長(zhǎng)度及數(shù)據(jù)類型ARM微處理器的工作模式ARM體系結(jié)構(gòu)的
    發(fā)表于 02-21 09:14 ?50次下載

    什么是微處理器

    什么是微處理器 CPU是Central Processing Unit(中央微處理器)的縮寫,它是計(jì)算機(jī)中最重要的一個(gè)部分,由運(yùn)算  和控制組成。如果把計(jì)算機(jī)比作
    發(fā)表于 06-17 07:32 ?1512次閱讀

    微處理器工作原理

    微處理器工作原理1. 引言 2. 微處理器的結(jié)構(gòu)
    發(fā)表于 08-05 10:49 ?6690次閱讀

    基于FPGA實(shí)現(xiàn)VLIW微處理器

    超長(zhǎng)指令字VLIW微處理器架構(gòu)采用了先進(jìn)的清晰并行指令設(shè)計(jì)。VLIW微處理器的最大優(yōu)點(diǎn)是簡(jiǎn)化了處理器的結(jié)構(gòu),刪除了處理器內(nèi)部許多復(fù)雜的控制電路,它能從應(yīng)用程序中提取高度并行的
    發(fā)表于 09-26 14:12 ?1240次閱讀
    基于FPGA<b class='flag-5'>實(shí)現(xiàn)</b>VLIW<b class='flag-5'>微處理器</b>

    基于微處理器的車載導(dǎo)航電子地圖的設(shè)計(jì)和實(shí)現(xiàn)

    基于微處理器的車載導(dǎo)航電子地圖的設(shè)計(jì)和實(shí)現(xiàn)
    發(fā)表于 01-24 16:15 ?7次下載

    什么是微處理器_微處理器具有什么功能

    微處理器由一片或少數(shù)幾片大規(guī)模集成電路組成的中央處理器。這些電路執(zhí)行控制部件和算術(shù)邏輯部件的功能。微處理器能完成取指令、執(zhí)行指令,以及與外界存儲(chǔ)和邏輯部件交換信息等操作,是微型計(jì)算機(jī)
    發(fā)表于 10-27 15:20 ?1.5w次閱讀

    基于FPGA的VLIW微處理器基本功能實(shí)現(xiàn)設(shè)計(jì)

    指令均勻地分配給芯片中的眾多執(zhí)行單元。本設(shè)計(jì)是針對(duì)VLIW微處理器的基本功能設(shè)計(jì)實(shí)現(xiàn)的,是針對(duì)64位指令字和192位數(shù)據(jù)進(jìn)行操作處理,主要功能是將指令和
    發(fā)表于 01-31 16:55 ?1157次閱讀
    基于FPGA的VLIW<b class='flag-5'>微處理器</b>基本功能<b class='flag-5'>實(shí)現(xiàn)</b>設(shè)計(jì)

    基于OMAP5910雙核處理器實(shí)現(xiàn)實(shí)時(shí)圖像處理系統(tǒng)的應(yīng)用設(shè)計(jì)

    實(shí)時(shí)圖像處理系統(tǒng)的顯著特點(diǎn)是數(shù)據(jù)量大,有效地處理和傳輸圖像數(shù)據(jù)
    的頭像 發(fā)表于 06-15 14:52 ?2383次閱讀
    基于OMAP5910雙核<b class='flag-5'>處理器</b><b class='flag-5'>實(shí)現(xiàn)</b>實(shí)時(shí)<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>系統(tǒng)的應(yīng)用設(shè)計(jì)

    嵌入式微處理器的原理和應(yīng)用

    嵌入式微處理器是專為嵌入式系統(tǒng)設(shè)計(jì)的微處理器,它們是嵌入式系統(tǒng)的核心組件,負(fù)責(zé)執(zhí)行程序指令、處理數(shù)據(jù)和控制其他硬件設(shè)備。與通用微處理器相比,
    的頭像 發(fā)表于 03-28 15:51 ?793次閱讀

    什么是嵌入式微處理器?嵌入式微處理器有哪些?

    嵌入式微處理器是指嵌入到特定應(yīng)用系統(tǒng)中的微處理器,它是整個(gè)嵌入式系統(tǒng)的核心,由通用處理器演變而來(lái),具有體積小、重量輕、成本低、可靠性高等優(yōu)點(diǎn)。與通用處理器相比,嵌入式
    的頭像 發(fā)表于 03-29 11:39 ?908次閱讀

    嵌入式微處理器主要組成 嵌入式微處理器的分類和特點(diǎn)

    嵌入式微處理器是指集成在嵌入式系統(tǒng)中的微處理器,它是一種專門針對(duì)特定應(yīng)用的定制處理器。嵌入式微處理器的主要組成包括核心
    的頭像 發(fā)表于 05-04 15:48 ?2193次閱讀

    影響微處理器性能的因素

    影響微處理器性能的因素是多方面的,這些因素共同決定了微處理器處理數(shù)據(jù)、執(zhí)行指令以及協(xié)調(diào)系統(tǒng)各部件工作時(shí)的效率和能力。
    的頭像 發(fā)表于 08-22 12:31 ?755次閱讀