91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

如何使用DMA彈性映射請(qǐng)求

MCU開發(fā)加油站 ? 來(lái)源:MCU開發(fā)加油站 ? 作者:MCU開發(fā)加油站 ? 2022-05-05 15:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

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

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

配置及使用方法

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

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

表1. DMA固定映射請(qǐng)求

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

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

DMA彈性映射使用

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

1) 開啟DMA彈性映射功能

將DMA的通道來(lái)源寄存器1的第24bit寫1,即DMA_SRC_SEL1寄存器的DMA_FLEX_EN位。向通道設(shè)置對(duì)應(yīng)的寄存器中寫入相應(yīng)的硬件ID號(hào)。每個(gè)外設(shè)的DMA請(qǐng)求都分配了一個(gè)硬件ID號(hào),只要將這個(gè)ID號(hào)寫進(jìn)通道來(lái)源寄存器中即可。ID號(hào)可查看RM中的表格,以403A為例,如下:

表2. 403A各個(gè)信道的DMA彈性請(qǐng)求一覽

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

上表中的CHx_SRC設(shè)定值就是硬件ID號(hào),將這個(gè)ID號(hào)寫進(jìn)通道來(lái)源寄存器中的對(duì)應(yīng)通道bit位就可以了。例如:要將SPI1的RX的DMA請(qǐng)求映射到DMA1的通道7,那么就要將0x09寫入到DMA_SRC_SEL1寄存器的CH7_SRC[23:16]。其他配置與常規(guī)DMA配置相同通過(guò)以上3步的配置,彈性映射功能即可使用。

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

2) DMA彈性映射庫(kù)函數(shù)使用

以上的配置在BSP中的dma.hdma.c的庫(kù)文件中有提供相應(yīng)的庫(kù)函數(shù),使用者只需調(diào)用庫(kù)函數(shù)即可完成DMA彈性映射模式的配置。庫(kù)函數(shù)說(shuō)明如下:

表3. DMA彈性映射庫(kù)函數(shù)說(shuō)明

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

此函數(shù)只需在配置好DMA常規(guī)功能后調(diào)用即可,如下:

圖1. DMA固定映射庫(kù)函數(shù)調(diào)用范例

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

上圖中為設(shè)置TIMER1的更新中斷為DMA彈性映射請(qǐng)求范例。

例程說(shuō)明

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

下面將對(duì)這兩個(gè)例程做一個(gè)使用說(shuō)明。

? data_to_gpio_flexible

例程data_to_jpio_flexible

本例程實(shí)現(xiàn)的功能為利用DMA將SRAM的數(shù)據(jù)傳輸?shù)紾PIO口的輸出寄存器中,從而達(dá)到控制GPIO口輸出的目的。同時(shí)配置TMER2產(chǎn)生overflow中斷并產(chǎn)生DMA請(qǐng)求,配置次DMA請(qǐng)求為彈性映射模式。TIMER2每產(chǎn)生一次DMA請(qǐng)求,DMA就從SRAM搬運(yùn)一筆數(shù)據(jù)到GPIO口。DMA相關(guān)的配置代碼:

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

實(shí)驗(yàn)結(jié)果可采用邏輯分析儀抓取GPIO口數(shù)據(jù)查看。

關(guān)于雅特力

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

雅特力目前已累積相當(dāng)多元的終端產(chǎn)品成功案例:如微型打印機(jī)、掃地機(jī)、光流無(wú)人機(jī)、熱成像儀、激光雷達(dá)、工業(yè)縫紉機(jī)、伺服驅(qū)控、電競(jìng)周邊市場(chǎng)、斷路器、ADAS、T-BOX、數(shù)字電源、電動(dòng)工具等終端設(shè)備應(yīng)用,廣泛地覆蓋5G物聯(lián)網(wǎng)、消費(fèi)、商務(wù)及工控等領(lǐng)域。

審核編輯 :李倩

聲明:本文內(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)注

    147

    文章

    18938

    瀏覽量

    398609
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5609

    瀏覽量

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

    關(guān)注

    3

    文章

    582

    瀏覽量

    105953

原文標(biāo)題:AT32 MCU DMA通道的靈活配置

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)56:測(cè)試DMA 功能

    所示。 首先創(chuàng)建了 I/O 完成和提交隊(duì)列, 然后請(qǐng)求 DMA 寫, 長(zhǎng)度為 8 即 4KB, 源地址為 32’h10000000, 該地址位于DDR 地址域中, 目的地址為 32’h1000, 該地
    發(fā)表于 12-15 16:25

    DMA彈性映射功能

    映射模式下,TMR2的overflow事件產(chǎn)生DMA請(qǐng)求只在某固定通道下,通過(guò)彈性映射功能,可以將其定義到
    發(fā)表于 12-12 16:04

    芯源的直接內(nèi)存訪問(wèn)(DMA)技術(shù)介紹

    芯片內(nèi)置 DMA 控制器,4 條獨(dú)立通道,外設(shè)和存儲(chǔ)器之間、外設(shè)和外設(shè)之間、存儲(chǔ)器和存儲(chǔ)器之間的高速數(shù) 據(jù)傳輸。 每個(gè) DMA 通道都通過(guò)專用的硬件連接 DMA 請(qǐng)求,并支持獨(dú)立的軟件
    發(fā)表于 11-12 07:40

    AG32 內(nèi)置的CPLD 的DMA功能如何實(shí)現(xiàn)?

    內(nèi)部數(shù)據(jù)準(zhǔn)備就緒后,主動(dòng)觸發(fā)DMA請(qǐng)求信號(hào) ?檢測(cè)到DMA請(qǐng)求后,MCU的DMA控制器自動(dòng)將CPLD中的數(shù)據(jù)搬運(yùn)至MCU指定的RAM地址
    發(fā)表于 10-31 15:42

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)42:DMA 讀寫功能驗(yàn)證與分析

    DMA 請(qǐng)求情況下的數(shù) 據(jù)傳輸。 對(duì) DMA 功能的測(cè)試要考慮到 DMA 長(zhǎng)度、 操作等配置因素, 在得到配置信 息后, 待測(cè)設(shè)計(jì)應(yīng)能正確完成數(shù)據(jù)傳輸任務(wù)。 以 4KB 數(shù)據(jù)
    發(fā)表于 10-27 09:10

    DMA硬件實(shí)現(xiàn)——讀寫實(shí)現(xiàn)

    中的data_w。 3.波形分析 如下圖為從SRAM1中讀入數(shù)據(jù)部分的波形。 當(dāng)cmd_valid拉高時(shí),當(dāng)前周期dma作為主設(shè)備會(huì)發(fā)送這次請(qǐng)求的具體信息,包括地址cmd_addr、讀/寫
    發(fā)表于 10-24 07:58

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)29: TLP 請(qǐng)求處理流程

    當(dāng)請(qǐng)求類型為 MEM 讀寫請(qǐng)求時(shí)使用地址路由的方式。 如果請(qǐng)求地址在此設(shè)備 BAR 空間內(nèi), 則對(duì) BAR 空間進(jìn)行讀寫操作,讀操作將生成 CplD, 從對(duì)應(yīng)請(qǐng)求端口的輸出端口發(fā)出;
    的頭像 發(fā)表于 09-23 09:05 ?555次閱讀
    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)29: TLP <b class='flag-5'>請(qǐng)求</b>處理流程

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)18:PCIe請(qǐng)求模塊設(shè)計(jì)(上)

    請(qǐng)求模塊的具體任務(wù)是將系統(tǒng)的請(qǐng)求轉(zhuǎn)換成為axis接口形式的TLP或配置管理接口信號(hào)。這些請(qǐng)求主要包含初始化配置請(qǐng)求和門鈴寫請(qǐng)求,初始化配置
    的頭像 發(fā)表于 08-09 14:52 ?4813次閱讀
    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)18:PCIe<b class='flag-5'>請(qǐng)求</b>模塊設(shè)計(jì)(上)

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)13:PCIe請(qǐng)求模塊設(shè)計(jì)(下)

    在接收到請(qǐng)求總線接口的請(qǐng)求事務(wù)后,當(dāng)請(qǐng)求類型的值為0時(shí),表示通過(guò)PCIE硬核的配置管理接口發(fā)送請(qǐng)求,由于請(qǐng)求接口的接口和時(shí)序與配置管理接口基
    的頭像 發(fā)表于 08-04 16:35 ?521次閱讀
    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)13:PCIe<b class='flag-5'>請(qǐng)求</b>模塊設(shè)計(jì)(下)

    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之12:PCIe請(qǐng)求模塊設(shè)計(jì)(上)

    請(qǐng)求模塊負(fù)責(zé)將系統(tǒng)請(qǐng)求轉(zhuǎn)換為AXIS接口的TLP信號(hào)或配置管理接口信號(hào),處理初始化配置請(qǐng)求和門鈴寫請(qǐng)求。初始化請(qǐng)求根據(jù)總線號(hào)選擇Cfg_mg
    的頭像 發(fā)表于 08-04 09:52 ?634次閱讀
    NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)之12:PCIe<b class='flag-5'>請(qǐng)求</b>模塊設(shè)計(jì)(上)

    無(wú)法配置 ADC1 來(lái)觸發(fā) DMA 傳輸,怎么解決?

    啟動(dòng)。 您能幫我設(shè)置 DMA 通道的觸發(fā)源嗎? 此外,我在 ADC1 章節(jié)中讀到以下聲明: [i]比較通道有 8 個(gè)事件(CMPUPx 和 CMPLOx),可以請(qǐng)求 DMA,參見(jiàn)圖 187。 [i]因此
    發(fā)表于 07-21 06:57

    NVMe IP高速傳輸卻不依賴XDMA設(shè)計(jì)之五:DMA 控制單元設(shè)計(jì)

    寄存器組包含 DMA 操作寄存器、 DMA 長(zhǎng)度寄存器、 DMA 源目的地址寄存器和 DMA 狀態(tài)寄存器。 DMA 操作寄存器定義了
    發(fā)表于 07-02 19:45

    【產(chǎn)品介紹】動(dòng)態(tài)熱機(jī)械分析儀DMA 303 Eplexor

    動(dòng)態(tài)熱機(jī)械分析儀DMA303Eplexor動(dòng)態(tài)熱機(jī)械分析解讀各種材料的機(jī)械性能動(dòng)態(tài)熱機(jī)械分析(DMA/DMTA)是確定工程材料機(jī)械性能,特別是聚合物的黏彈行為的一個(gè)不可缺少的工具。通過(guò)在動(dòng)態(tài)振蕩
    的頭像 發(fā)表于 06-12 14:12 ?1180次閱讀
    【產(chǎn)品介紹】動(dòng)態(tài)熱機(jī)械分析儀<b class='flag-5'>DMA</b> 303 Eplexor

    一文詳解AXI DMA技術(shù)

    AXI直接數(shù)值存?。―rect Memory Access,DMA)IP核在AXI4內(nèi)存映射和AXI4流IP接口之間提供高帶寬的直接內(nèi)存訪問(wèn)。DMA可以選擇分散收集(Scatter Gather
    的頭像 發(fā)表于 04-03 09:32 ?2528次閱讀
    一文詳解AXI <b class='flag-5'>DMA</b>技術(shù)

    函數(shù)HAL_I2C_Slave_Seq_Transmit_IT和HAL_I2C_Slave_Seq_Receive_IT實(shí)現(xiàn)代碼里有處理DMA請(qǐng)求,這是出于什么考慮?

    函數(shù)HAL_I2C_Slave_Seq_Transmit_IT和HAL_I2C_Slave_Seq_Receive_IT實(shí)現(xiàn)代碼里有處理DMA請(qǐng)求,這是出于什么考慮?求解答!
    發(fā)表于 03-14 09:01