<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MCX N微處理器SmartDMA對圖像數據的定制處理實現

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

MCX N系列MCU介紹

MCX N系列是高性能、低功耗微控制器,配備智能外設和加速器,可提供多任務功能和高能效。選擇MCX N系列,包含eIQ Neutron神經處理單元(NPU),適用于機器學習應用。低功耗高速緩存增強了系統性能,雙塊Flash存儲器和帶ECC檢測RAM支持系統功能安全,提供了額外的保護和保證。

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

圖像處理介紹及應用 在嵌入式領域,我們經常需要對圖像的數據進行處理。比如,我們從原圖像接收到的數據,每個像素的高低字節可能是反的,又比如,我們可能只想要RGB數據,但是原圖像數據可能還帶有透明度的數據成分,這時我們想把透明度的數據去掉。

有時候我們顯示接口要求的數據格式可能與我們RAM中的數據格式不一致,這時候就需要對圖像數據進行預處理,然后再顯示。還有時候,針對RAM中存放的顯示數據,我們想挑選其中的一部分進行顯示,比如隔點隔行顯示。上面這些情況都可以通過CPU核來處理,但這種重復簡單的工作無形給CPU造成很大的負擔。SmartDMA可以很容易實現上述功能,并且不需要打擾CPU核工作。

SmartDMA對圖像處理的實現

針對目前常用的情況,我用SmartDMA實現了如下幾個功能:

1) 可以作為通用的DMA來實現,因為SmartDMA可以訪問內存和外設,所以它可以作為一個通用的DMA。

2) 字節翻轉功能。Smart DMA有字節翻轉、位翻轉等功能,所以又可以對數據進行預處理。字節翻轉可以是一個半字(Half Word)里面的高低位字節翻轉。也可以是一個字(Word)里面的最高字節和最低字節翻轉。

3) 對一定數據長度的字節翻轉。比如每次圖像處理的一組數據有32個字節,SmartDMA可以將這些字節進行顛倒,也就是說第一個字節和最后一個字節互換,第二個字節和倒數第二個字節互換,以此類推。

4) 針對圖像的數據格式實現RGB565和RGB888之間的互換,這也是為了應對不同的顯示接口格式與RAM中存放的數據格式不一致的問題。

Demo展示 在MCXN系列微處理器的軟件開發包SDK里面已經有一個相應的例程(lvgl_demo_widgets_bm)來實現這個功能。它實現的是一個流行的圖形用戶界面Little VGL的常用部件功能。在顯示驅動中,用戶既可以通過普通的DMA傳送數據到LCD接口,也可以配置為通過SmartDMA來實現數據的傳輸。

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

SmartDMA給用戶提供API接口有如下幾個:

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




審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 加速器
    +關注

    關注

    2

    文章

    766

    瀏覽量

    36713
  • 數據傳輸
    +關注

    關注

    9

    文章

    1582

    瀏覽量

    63794
  • 微處理器
    +關注

    關注

    11

    文章

    2149

    瀏覽量

    81664
  • RGB
    RGB
    +關注

    關注

    4

    文章

    774

    瀏覽量

    57663
  • LCD接口
    +關注

    關注

    0

    文章

    8

    瀏覽量

    1879

原文標題:MCX N微處理器SmartDMA秘籍之-對圖像數據的定制處理

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    #微處理器與嵌入式系統設計 ARM微處理器簡介

    嵌入式微處理器
    電子技術那些事兒
    發布于 :2022年10月21日 21:46:17

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

    微處理器
    學習電子知識
    發布于 :2023年02月17日 20:50:35

    [3.13.1]--3.13專用微處理器設計實例(上)

    微處理器
    學習電子知識
    發布于 :2023年02月17日 20:52:49

    [3.14.1]--3.14專用微處理器設計實例(下)

    微處理器
    學習電子知識
    發布于 :2023年02月17日 20:53:47

    [4.2.1]--4.2微處理器設計示例1:電路設計(上)

    微處理器
    學習電子知識
    發布于 :2023年02月17日 20:54:48

    #芯圣車規級觸摸微處理器 HC8AT3541系列!

    微處理器
    上海芯圣電子股份有限公司
    發布于 :2024年01月16日 10:14:09

    [求助]微處理器電路如何工作?

    想把其他元件都取下來。然后就焊微處理器、SDRAM、蜂鳴器、FLASH、穩壓IC、晶振、其他外部電路全都不焊接上去,就這一部分電路如果芯片沒有問題,焊接也沒有問題,理論上能不能實現開機自檢,發出滴一聲的自檢音?望高手幫我分析下,小弟剛入行不久,好多都不懂。
    發表于 08-28 17:02

    處理器微處理器系統

    的,這篇文章就可以帶領大家了解一些基礎的、用來處理數據的集成電路芯片。在這些專門用于處理數據的芯片中,最常用的就是由微處理器構成的
    發表于 02-07 11:41

    如何確定微處理器復位閾值

      1、微處理器復位電路的任務  微處理器復位電路的第一個任務是確保電源上電時,微處理器從一個已知的狀態開始運行。為此,復位電路在電源上電時將微處理器鎖定在復位狀態。
    發表于 07-08 09:46

    微處理器TMP87K38N3H51資料推薦

    微處理器TMP87K38N3H51資料下載內容主要介紹了:TMP87K38N-3H51在21英寸彩電的I2C數據
    發表于 03-26 07:42

    什么是總線微處理器

    第一章復習要點①微處理器 p12②微型計算機p13③總線微處理器:一般也稱中央處理器(CPU),是本身具有運算能力和控制功能,是微型計算機的核心。微處理器:由運算
    發表于 07-22 06:48

    ARM微處理器介紹

    ARM(Advanced RISC Machines),既可認為是一個公司的名字,也可認為是對一類微處理器的統稱。中文名ARM嵌入式外文名Advanced RISC Machines屬 于一類微處理器的統稱產 品RISC處理器、
    發表于 09-09 07:29

    ARM微處理器的指令系統

    2.ARM微處理器的指令系統ARM微處理器的指令集是加載/存儲型的,即指令集僅能處理寄存中的數據,而且
    發表于 12-20 06:54

    微控制微處理器的區別是什么

    計算目的而設計的芯片。這種芯片往往是個人計算機和高端工作站的核心CPU。最常見的微處理器是Motorola的68K系列和Intel的X86系列。早期的微控制是將一個計算機集成到一個芯片中,實現嵌入...
    發表于 02-09 07:48

    微處理器的代碼是如何執行的呢

    微處理器的結構是由哪些部分組成的?微處理器的代碼是如何執行的呢?
    發表于 02-28 09:25
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>