吴忠躺衫网络科技有限公司

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

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

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

一文講解DMA存儲器到外設(shè)的傳輸方式

CHANBAEK ? 來源:CSDN-借過風(fēng)景 ? 作者:CSDN-借過風(fēng)景 ? 2023-02-03 16:37 ? 次閱讀

簡介

CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開源指令集設(shè)計。 片上集成了時鐘安全機(jī)制、多級電源管理、通用DMA控制器。 此系列具有1路USB2.0主機(jī)/設(shè)備接口、多通道12位ADC轉(zhuǎn)換模塊、多通道TouchKey、多組定時器、多路IIC/USART/SPI接口等豐富的外設(shè)資源。

關(guān)于DMA,具有三種數(shù)據(jù)傳輸方式:存儲器到存儲器、存儲器到外設(shè)、外設(shè)到存儲器。 前面已講解過關(guān)于存儲器到存儲器數(shù)據(jù)傳輸方式,本章將講解存儲器到外設(shè)的傳輸方式以及在下一章將會講解外設(shè)到存儲器的傳輸方式。 關(guān)于DMA存儲器到外設(shè)傳輸方式,程序中,首先定義一個靜態(tài)的源數(shù)據(jù),存放在內(nèi)部 FLASH中,然后通過DMA的方式傳輸?shù)酱诘臄?shù)據(jù)寄存器,然后通過串口把這些數(shù)據(jù)發(fā)送到電腦上位機(jī)顯示出來。

1、DMA簡介及相關(guān)函數(shù)介紹

直接存儲器訪問控制器(DMA)提供在外設(shè)和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸方式,無須CPU干預(yù),數(shù)據(jù)可以通過DMA快速地移動,以節(jié)省CPU的資源來做其他操作。

DMA控制器有7個通道,每個通道專門用來管理來自于一個或多個外設(shè)對存儲器訪問的請求。 還有一個仲裁器來協(xié)調(diào)各通道之間的優(yōu)先級。

DMA作為一種高效、高速的數(shù)據(jù)傳輸方式,具有以下幾個特性:

具有7個獨(dú)立可配置通道,且每個通道都連接專用的硬件DMA請求,并支持軟件觸發(fā)

支持循環(huán)的緩沖器管理

多個通道之間的請求優(yōu)先權(quán)可以通過軟件編程設(shè)置(最高、高、中和低),優(yōu)先權(quán)設(shè)置相等時由通道號決定(通道號低優(yōu)先級高)

支持三種傳輸方式:存儲器到存儲器、存儲器到外設(shè)、外設(shè)到存儲器

閃存、SRAM、外設(shè)的SRAM、APB1、APB2和AHB外設(shè)均可作為訪問的源和目標(biāo)

獨(dú)立數(shù)據(jù)源獨(dú)立數(shù)據(jù)源和目標(biāo)數(shù)據(jù)區(qū)的傳輸寬度(字節(jié)、半字、全字),模擬打包和拆包的過程。 源和目標(biāo)地址必須按數(shù)據(jù)傳輸寬度對齊。

每個通道都有3個事件標(biāo)志(DMA傳輸過半、DMA傳輸完成和DMA傳輸錯誤),這3個事件標(biāo)志邏輯或成為一個單獨(dú)的中斷請求

關(guān)于DMA具體信息,可參考CH32V103應(yīng)用手冊。 DMA標(biāo)準(zhǔn)庫函數(shù)第十三章已做過介紹,在此不再贅述。

2、硬件設(shè)計

本章教程所用資源均為CH32V103開發(fā)板內(nèi)部資源,無需進(jìn)行其他硬件連接,只需進(jìn)行程序配置即可。

3、軟件設(shè)計

本章主要進(jìn)行存儲器到外設(shè)的DMA數(shù)據(jù)傳輸方式,其相較于存儲器到存儲器的傳輸方式,程序中對DMA配置進(jìn)行一些修改即可,具體如下:

dma.h文件

pYYBAGPcx3qAeRV7AAAr7RfMq-g409.png

dma.h文件主要進(jìn)行函數(shù)聲明;

dma.c文件

pYYBAGPcx3qAI5SwAAGLqtFHUwo978.png

4、下載驗(yàn)證

將編譯好的程序下載到開發(fā)板并復(fù)位,可見存儲器存儲數(shù)據(jù)被發(fā)送到串口:

poYBAGPcx3qAF6CsAACSp8bXmoU035.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19407

    瀏覽量

    231182
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17317

    瀏覽量

    352640
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7528

    瀏覽量

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

    關(guān)注

    3

    文章

    566

    瀏覽量

    100956
  • RISC-V
    +關(guān)注

    關(guān)注

    45

    文章

    2322

    瀏覽量

    46592
收藏 人收藏

    評論

    相關(guān)推薦

    直接存儲器存取(DMA)簡介及程序設(shè)計

    直接存儲器存取(DMA)用來提供在外設(shè)存儲器之間或者存儲器存儲器之間的高速數(shù)據(jù)
    的頭像 發(fā)表于 06-01 09:01 ?8589次閱讀
    直接<b class='flag-5'>存儲器</b>存取(<b class='flag-5'>DMA</b>)簡介及程序設(shè)計

    轉(zhuǎn):STM32CubeMX系列教程6:直接存儲器訪問 (DMA)

    使用。說白了DMA就是個搬運(yùn)工,將數(shù)據(jù)從個地方搬到另個地方而不需要CPU處理。作為個搬運(yùn)工,要他正常工作必須要確定幾個重要的參數(shù)。1
    發(fā)表于 07-02 17:00

    STM32F4xx系列的DMA支持外設(shè)傳輸模式

    DMA 支持外設(shè)存儲器傳輸存儲器到外設(shè)傳輸
    發(fā)表于 08-20 06:31

    DMA傳輸實(shí)現(xiàn)高速數(shù)據(jù)移動過程

    DMA傳輸實(shí)現(xiàn)高速數(shù)據(jù)移動過程無需任何CPU 操作控制其支持以下三種傳輸方式外設(shè)存儲器
    發(fā)表于 01-21 11:32

    DMA直接存儲器訪問與配置流程簡介

    DMA配置流程三、DMA應(yīng)用簡單實(shí)例1. 存儲器存儲器(M2M)2. 存儲器到USART串口(M2P)
    發(fā)表于 01-26 07:54

    為什么DCMI DMA無法通過FMC將圖像數(shù)據(jù)傳輸?shù)酵?/b>部存儲器呢?

    我總是需要將內(nèi)部存儲器用于傳入圖像緩沖區(qū)為什么STM32H7A3中的DCMI DMA無法通過FMC或OCTOSPI HYPER存儲器將圖像數(shù)據(jù)傳輸?shù)酵?/b>部
    發(fā)表于 12-21 06:20

    CH32V103基礎(chǔ)教程13-DMA存儲器存儲器

    本章教程講解DMA存儲器存儲器模式。存儲器存儲器模式可以實(shí)現(xiàn)數(shù)據(jù)在兩個內(nèi)存的快速拷貝。程序中
    發(fā)表于 04-17 15:28

    CH32V103基礎(chǔ)教程27-DMA存儲器到外設(shè)

    關(guān)于DMA,具有三種數(shù)據(jù)傳輸方式存儲器存儲器存儲器到外
    發(fā)表于 04-20 16:35

    CH32V103基礎(chǔ)教程28-DMA外設(shè)存儲器

    關(guān)于DMA,具有三種數(shù)據(jù)傳輸方式存儲器存儲器存儲器到外
    發(fā)表于 04-20 16:37

    STM32學(xué)習(xí)筆記(7)——DMA直接存儲器訪問

    DMA配置流程三、DMA應(yīng)用簡單實(shí)例1. 存儲器存儲器(M2M)2. 存儲器到USART串口(M2P)
    發(fā)表于 12-02 14:06 ?3次下載
    STM32學(xué)習(xí)筆記(7)——<b class='flag-5'>DMA</b>直接<b class='flag-5'>存儲器</b>訪問

    STM32通(9) DMA

    . DMA簡介DMA(Direct Memory Access,直接存儲器訪問) 傳輸將數(shù)據(jù)從
    發(fā)表于 12-03 09:21 ?17次下載
    STM32<b class='flag-5'>一</b><b class='flag-5'>文</b>通(9) <b class='flag-5'>DMA</b>

    STM32F103 中級篇 22 DMA 直接存儲器訪問

    22.1直接存儲器訪問22.1.1 DMA功能框圖講解DMA(Direct Memory Access)—直接存儲器存取,是單片機(jī)的
    發(fā)表于 12-16 16:59 ?2次下載
    STM32F103 中級篇 22 <b class='flag-5'>DMA</b> 直接<b class='flag-5'>存儲器</b>訪問

    詳解DMA

    DMA傳輸將數(shù)據(jù)從個地址空間復(fù)制到另個地址空間,提供在外設(shè)存儲器之間或者
    的頭像 發(fā)表于 10-12 09:45 ?1.3w次閱讀

    講解DMA外設(shè)存儲器傳輸方式

    CH32V103系列是以青稞V3A處理為核心的32位通用MCU,該處理是基于RISC-V開源指令集設(shè)計。 片上集成了時鐘安全機(jī)制、多級電源管理、通用DMA控制。 此系列具有1路U
    的頭像 發(fā)表于 02-03 16:37 ?1603次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>講解</b><b class='flag-5'>DMA</b><b class='flag-5'>外設(shè)</b>到<b class='flag-5'>存儲器</b>的<b class='flag-5'>傳輸</b><b class='flag-5'>方式</b>

    存儲器到外設(shè)DMA動態(tài)訪問技術(shù)

     存儲器到外設(shè)數(shù)據(jù)復(fù)制的個例子是大量數(shù)據(jù)應(yīng)該通過通信外設(shè)(例如UART)傳輸的情況;如果沒有DMA
    發(fā)表于 11-27 15:22 ?665次閱讀
    澳门百家乐官网官方网站破解百家乐官网技巧| 百家乐官网庄闲必胜打| 蓝山县| 大发888官方 3000| 蓝盾百家乐的玩法技巧和规则| 百家乐小游戏开发| 网页百家乐官网的玩法技巧和规则 | 百家乐官网论坛香港马会| 衡水市| 瑞丰国际开户| 大发888娱乐85战神版| 嘉禾百家乐的玩法技巧和规则| 澳门百家乐官网小| 百家乐官网怎么看大小| 赌场百家乐官网攻略| 南皮县| 轮盘赌技巧| 大发麻将| 大发888娱乐城 bg| 菲利宾太阳城娱乐网| 百佬汇百家乐的玩法技巧和规则| 百家乐赌钱| 百家乐稳赢投注方法| 百家乐的胜算法| 百家乐官网技巧开户| 谁会玩百家乐官网的玩法技巧和规则 | 云鼎娱乐场| bet365贴吧| 大发888现金存款| 威尼斯人娱乐城地址| 百佬汇百家乐的玩法技巧和规则 | 百家乐技术交流群| 百家乐官网群必胜打朽法| 多台百家乐官网的玩法技巧和规则| 百家乐官网制胜秘| 百家乐官网实战路| 百家乐官网双龙出海| 百家乐官网发牌靴遥控| 百家乐官网筹码免运费| 百家乐官网的代理办法| 网上百家乐官网的技巧|