精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

如何使用DMA彈性映射請求

MCU開發加油站 ? 來源:MCU開發加油站 ? 作者:MCU開發加油站 ? 2022-05-05 15:35 ? 次閱讀

概述

在使用Artery部分系列MCU時(如AT32F413AT32F415AT32F403AAT32F407),可以使用DMA彈性映射功能。此功能使得DMA的通道配置更加靈活,可以將某外設的DMA請求通道指定到DMA1或者DMA2共14個通道中的任意一個通道。(如:可以將SPI1接受數據的DMA請求指定到DMA1的通道7)。

本指南將介紹如何使用DMA彈性映射請求,從而使得DMA傳輸變得更加靈活多變。

配置及使用方法

常規DMA使用(DMA固定映射)

常規的DMA使用以及配置方式為:外設的DMA通道已經固定且不可改變,使用時配置好再使能固定通道即可。這就意味著如果想開啟某個外設的DMA功能,那么通道是不可改變的,例如想使用SPI1的RX DMA功能,那么就要查看RM的手冊,如下:

表1. DMA固定映射請求

7faa1bec-cc45-11ec-bce3-dac502259ad0.png

從表格中可以知道需要開啟DMA1的通道2。

DMA彈性映射使用

DMA彈性映射請求功能提供了一種更靈活的使用方式,即外設的DMA通道不固定,可選擇DMA1和DMA2中,共14個通道的任意一個通道。想要使用此功能,需要通過以下幾步的設定:

1) 開啟DMA彈性映射功能

將DMA的通道來源寄存器1的第24bit寫1,即DMA_SRC_SEL1寄存器的DMA_FLEX_EN位。向通道設置對應的寄存器中寫入相應的硬件ID號。每個外設的DMA請求都分配了一個硬件ID號,只要將這個ID號寫進通道來源寄存器中即可。ID號可查看RM中的表格,以403A為例,如下:

表2. 403A各個信道的DMA彈性請求一覽

7fc7c174-cc45-11ec-bce3-dac502259ad0.png

上表中的CHx_SRC設定值就是硬件ID號,將這個ID號寫進通道來源寄存器中的對應通道bit位就可以了。例如:要將SPI1的RX的DMA請求映射到DMA1的通道7,那么就要將0x09寫入到DMA_SRC_SEL1寄存器的CH7_SRC[23:16]。其他配置與常規DMA配置相同通過以上3步的配置,彈性映射功能即可使用。

注:DMA1/2的DMA_FLEX_EN必須要同時設定為1或時,DMA1/2的映像模式必須一致。無法DMA1是固定式映像,DMA2是彈性式映像。

2) DMA彈性映射庫函數使用

以上的配置在BSP中的dma.hdma.c的庫文件中有提供相應的庫函數,使用者只需調用庫函數即可完成DMA彈性映射模式的配置。庫函數說明如下:

表3. DMA彈性映射庫函數說明

7fe6600c-cc45-11ec-bce3-dac502259ad0.png

此函數只需在配置好DMA常規功能后調用即可,如下:

圖1. DMA固定映射庫函數調用范例

8000c5e6-cc45-11ec-bce3-dac502259ad0.png

上圖中為設置TIMER1的更新中斷為DMA彈性映射請求范例。

例程說明

DMA彈性映射功能在BSP中例程,路徑為:AT32F403A_407_Firmware_Library_V2.x.xprojectat_start_f403aexamplesdmadata_to_gpio_flexible(以403A路徑為例)

下面將對這兩個例程做一個使用說明。

? data_to_gpio_flexible

例程data_to_jpio_flexible

本例程實現的功能為利用DMA將SRAM的數據傳輸到GPIO口的輸出寄存器中,從而達到控制GPIO口輸出的目的。同時配置TMER2產生overflow中斷并產生DMA請求,配置次DMA請求為彈性映射模式。TIMER2每產生一次DMA請求,DMA就從SRAM搬運一筆數據到GPIO口。DMA相關的配置代碼:

8019eada-cc45-11ec-bce3-dac502259ad0.png

實驗結果可采用邏輯分析儀抓取GPIO口數據查看。

關于雅特力

雅特力科技于2016年成立,是一家致力于推動全球市場32位微控制器創新趨勢的芯片(MCU)設計公司,專注于ARM Cortex-M4/M0+的32位微控制器研發與創新,全系列采用55nm先進工藝及ARM Cortex-M4高效能或M0+低功耗內核,締造M4業界最高主頻288MHz運算效能,并支持工業級別芯片工作溫度范圍(-40°~105°)。

雅特力目前已累積相當多元的終端產品成功案例:如微型打印機、掃地機、光流無人機、熱成像儀、激光雷達、工業縫紉機、伺服驅控、電競周邊市場、斷路器、ADAS、T-BOX、數字電源、電動工具等終端設備應用,廣泛地覆蓋5G物聯網、消費、商務及工控等領域。

審核編輯 :李倩

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

    關注

    146

    文章

    16992

    瀏覽量

    350310
  • 寄存器
    +關注

    關注

    31

    文章

    5317

    瀏覽量

    120006
  • dma
    dma
    +關注

    關注

    3

    文章

    559

    瀏覽量

    100429

原文標題:AT32 MCU DMA通道的靈活配置

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

收藏 人收藏

    評論

    相關推薦

    雅特力AT32F402/F405 DMA使用指南

    通道都支持外設的DMA請求映射到任意通道上。圖1.DMA控制器架構DMAMUX簡介對于如何將外設的DMA
    的頭像 發表于 11-20 01:03 ?95次閱讀
    雅特力AT32F402/F405 <b class='flag-5'>DMA</b>使用指南

    DMA是什么?詳細介紹

    系統性能。 DMA(直接內存訪問)概述 1. DMA的定義 直接內存訪問(DMA)是一種硬件特性,允許外圍設備直接讀寫系統內存,而不需要CPU的直接控制。這種技術主要用于高速數據傳輸,如磁盤讀寫、網絡通信等。 2.
    的頭像 發表于 11-11 10:49 ?1117次閱讀

    請求訪問音頻軟件

    電子發燒友網站提供《請求訪問音頻軟件.pdf》資料免費下載
    發表于 10-17 11:15 ?0次下載
    <b class='flag-5'>請求</b>訪問音頻軟件

    2k1000LA中關于IODMA請求的描述

    在2k1000的用戶手冊中,有對IO互連網絡的DMA請求路由方式進行闡述,如圖。 其中提到窗口命中需要兩個條件,一是地址經過掩碼后與base相等,二是DMA訪存屬性和mmap[5]共同決定是否命中
    發表于 08-15 21:52

    揭秘車載VCU項目之外掛界的“大哥”DMA

    引腳配置此實例選擇CAN0進行配置。三、外設配置對于DMA,其采用的固定映射,對于通道0至通道15,其映射一部分外設,通道16至通道31映射一部分外設,所以對于外設要使用
    的頭像 發表于 07-30 08:11 ?520次閱讀
    揭秘車載VCU項目之外掛界的“大哥”<b class='flag-5'>DMA</b>

    路由器映射是什么意思?路由器端口映射怎么設置?

    路由器映射是指將一臺主機的內網(LAN)IP地址映射成一個公網(WAN)IP地址,當用戶訪問提供映射端口主機的某個端口時,服務器將請求轉移到本地局域網內部提供這種特定服務的主機。??
    的頭像 發表于 05-10 13:42 ?1196次閱讀

    請問STM32L4R5ZI的DMA/DMAMUX是怎么管理請求

    原來的STM32系列,比如F1,是沒有DMAMUX這個東西的,DMA1的1通道2通道具體對應什么樣的請求,有一個專門的對應表。但是現在的DMAMUX加進來以后,對于89個外設請求,并沒有地方說明什么
    發表于 04-28 06:19

    請問STM32H750VB的DMA通道映射在哪里查看?

    準備用STM32H750VB這款芯片,在參考手冊中發現找不到DMA通道的映射表,想問一下這個去哪里查看?
    發表于 04-11 07:15

    定時器TIM2輸出TRGO信號,DMA使用DMA_REQUEST_TIM2_UP請求可以實現嗎?

    定時器TIM2輸出TRGO信號,DMA使用DMA_REQUEST_TIM2_UP請求可以實現嗎?
    發表于 04-10 07:09

    什么是DMADMA究竟有多快!

    直接內存訪問(Direct Memory Access,DMA):在計算機體系結構中,DMA 是一種數據傳輸方式,允許外部設備直接訪問計算機的內存,而無需通過中央處理單元(CPU)的干預。這有
    的頭像 發表于 02-22 10:43 ?1803次閱讀
    什么是<b class='flag-5'>DMA</b>?<b class='flag-5'>DMA</b>究竟有多快!

    雅特力AT32F423 DMA使用指南

    通道都支持外設的DMA請求映射到任意通道上。圖1.DMA控制器架構DMAMUX簡介對于如何將外設的DMA
    的頭像 發表于 02-22 08:13 ?639次閱讀
    雅特力AT32F423 <b class='flag-5'>DMA</b>使用指南

    Aurix的DMA硬件請求源自于中斷路由模塊,請問是否支持一個外設請求(中斷)對應多個DMA通道?

    Aurix的DMA硬件請求源自于中斷路由模塊,請問是否支持一個外設請求(中斷)對應多個DMA通道?
    發表于 01-26 07:15

    拆解mmap內存映射的本質!

    mmap 內存映射里所謂的內存其實指的是虛擬內存,在調用 mmap 進行匿名映射的時候(比如進行堆內存的分配),是將進程虛擬內存空間中的某一段虛擬內存區域與物理內存中的匿名內存頁進行映射,當調用
    的頭像 發表于 01-24 14:30 ?1486次閱讀
    拆解mmap內存<b class='flag-5'>映射</b>的本質!

    用AT32F437ZMT7配置串口7的彈性dma接收一直配不好,dma的接收中斷一直進不去是為什么?

    我用AT32F437ZMT7 配置串口7的彈性dma 接收一直配不好,dma的接收中斷一直進不去 想問一下,配置這個彈性dma有需要特別注意
    發表于 01-16 07:12

    dma和通道技術的區別

    DMA(Direct Memory Access)和通道技術是計算機系統中用來優化數據傳輸和處理的重要技術。盡管它們都與數據傳輸相關,但它們在實現方法、特點和應用場景等方面存在一些重要的區別
    的頭像 發表于 01-04 14:31 ?2280次閱讀