国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

AT32講堂004 | AT32 MCU DMA通道的靈活配置

雅特力 AT32 MCU ? 2022-05-10 09:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

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

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

配置及使用方法

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

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

表1. DMA固定映射請求

9e433768-c7e6-11ec-8521-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彈性請求一覽

9e5a4f52-c7e6-11ec-8521-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.h\dma.c的庫文件中有提供相應的庫函數,使用者只需調用庫函數即可完成DMA彈性映射模式的配置。庫函數說明如下:表3. DMA彈性映射庫函數說明9e7d845e-c7e6-11ec-8521-dac502259ad0.png

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

圖1. DMA固定映射庫函數調用范例9e98c476-c7e6-11ec-8521-dac502259ad0.png上圖中為設置TIMER1的更新中斷為DMA彈性映射請求范例。

例程說明

DMA彈性映射功能在BSP中例程,路徑為:AT32F403A_407_Firmware_Library_V2.x.x\project\at_start_f403a\examples\dma\data_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相關的配置代碼:9eb5aa1e-c7e6-11ec-8521-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
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    398004
  • FAT32
    +關注

    關注

    0

    文章

    33

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AT32F011 系列快速使用指南

    1.1.4 小節用于介紹 AT32 Work Bench 使用。AT32 Work Bench 通過對 MCU 的圖形化配置,生成 初始化 C 代碼和對應 IDE 項目,以減少開發人
    發表于 03-02 11:27

    AT32硬件除法器應用指南

    AT32硬件除法器應用指南 AT32F011 提供了 32 位硬件除法器,并且可以執行無符號及有符號運算,本應用指南將介紹基礎概念及實際案例。 支持型號: AT32F011 系列 1. AT32
    發表于 01-30 13:49

    如何使用AT32 EdgeAI Sensor EV Board

    9. 軟件流程圖 2.2 代碼介紹 應用代碼主要包含兩個部分:分別是 MCU、傳感器的配置和測試程序。項目中所使用的各類傳感器 的驅動代碼放置于以下目錄
    發表于 01-30 13:44

    AT32開源鴻蒙開發環境搭建

    本帖最后由 jf_77210199 于 2026-1-19 09:49 編輯 AT32開源鴻蒙開發環境搭建 主要介紹兩部分內容: 1、如何快速搭建起開源鴻蒙的開發環境。 2、如何獲取
    發表于 01-16 13:56

    國產MCU替代優選!雅特力AT32系列憑高性能+高兼容,橫掃工控/消費/AIoT多場景

    在國產化替代加速背景下,雅特力AT32系列MCU成工程師優選。該系列基于ARM Cortex-M4/M0+內核,具備高主頻、豐富外設及工業級可靠性,關鍵性能對標國際一線品牌。核心優勢在于與STM32
    的頭像 發表于 01-07 17:15 ?1222次閱讀

    探索DS90LV004:4通道LVDS緩沖器/中繼器的卓越性能

    探索DS90LV004:4通道LVDS緩沖器/中繼器的卓越性能 在高速數據傳輸領域,LVDS(低壓差分信號)技術憑借其低功耗、低噪聲和高數據速率等優勢,得到了廣泛應用。TI公司的DS90LV004
    的頭像 發表于 12-29 13:55 ?338次閱讀

    雅特力AT32 MCU推動低空經濟發展

    雅特力AT32系列MCU憑借288MHz主頻與高精度外設,為無人機飛控、電調及云臺提供核心算力支持,實現厘米級定位與高效動力控制,顯著提升在電力巡檢、農林植保等低空經濟場景下的作業精度與可靠性,助力產業智能化升級。
    的頭像 發表于 12-04 09:53 ?1659次閱讀
    雅特力<b class='flag-5'>AT32</b> <b class='flag-5'>MCU</b>推動低空經濟發展

    探索DS90LV004:四通道1.5Gbps LVDS緩沖器/中繼器的卓越性能

    緩沖器/中繼器——DS90LV004。 文件下載: DS90LV004TVS.pdf 一、DS90LV004概述 DS90LV004是一款功能強大的四
    的頭像 發表于 12-01 10:26 ?603次閱讀
    探索DS90LV<b class='flag-5'>004</b>:四<b class='flag-5'>通道</b>1.5Gbps LVDS緩沖器/中繼器的卓越性能

    SPI主機/從機接收發送都開啟DMA通信

    AT32_SPI主機/從機接收發送都開啟DMA通信 示例目的 本示例代碼展示了如何使用 AT32DMA 進行 SPI 數據傳輸。SPI 作為主機時,接收和發送同時開啟 DMA
    發表于 09-10 16:56

    AT32 MCU如何使用IAP

    工具和示例源碼 。 設置地址分布 配置地址空間 :在AT32 MCU的內存中正確配置地址空間是非常重要的。通常,bootloader代碼存放在較低的地址段,而app代碼緊隨其后。例如
    發表于 08-08 17:13

    無法配置 ADC1 來觸發 DMA 傳輸,怎么解決?

    ,必須在 SCU.DMAP_ADC.ADC1_CMPHI0/ADC1_CMPLO0 中分配 DMA 通道,并且 DMA [i]必須進行相應配置,請參閱
    發表于 07-21 06:57

    AT32 IAP using the USART

    對于AT32 MCU,除了出廠固化的bootloader,用戶也可以在應用程序中編寫自己的bootloader程序,用于最終產品的固件更新。此功能稱為應用程序內編程(IAP)。 本應用筆記的目的
    發表于 07-11 10:51

    AT32的ERTC與RTC的區別

    AT32單片機系列中包含兩種實時時鐘(RTC)模塊:標準的RTC和增強型RTC(ERTC)。以下是兩者的區別: 功能豐富性 RTC :提供基本的計數功能,以秒為單位遞增,范圍從0x00000000到
    發表于 07-11 10:48

    第十五章 DMA

    本章介紹DMA(直接存儲器存取),其可在不占用CPU的情況下搬數據,支持多種傳輸方向,含控制器、通道配置及相關實驗代碼。
    的頭像 發表于 06-14 16:32 ?1427次閱讀
    第十五章 <b class='flag-5'>DMA</b>

    stm32f407無法配置定時器2為全部dma怎么解決?

    本人使用定時器2配置為4個通道dma捕獲時,出現stream6和stream7這兩個對應的通道無法同時存在,在都配置的情況下,只要這兩個對
    發表于 06-11 06:49