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

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

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

MSPM0L1306開發(fā)板教程之DMA

創(chuàng)易棧 ? 來源:創(chuàng)易棧 ? 2023-06-09 18:21 ? 次閱讀

DMA使用是一個不需要CPU干預,自己搬運數(shù)據(jù)的模塊,在前面講中斷事件的章節(jié)里面,就有提到過事件的DMA通道,DMA事件路由(DMA Event Route)。

5f2de698-06ad-11ee-962d-dac502259ad0.png

MSPM0L系列提供了6中DMA工作模式,除了比較常見的固定地址到固定地址(Fixed Address To Fixed Address),固定地址到地址塊(Fixed Address To Block Of Address),地址塊到固定(Block Of Address To Fixed Address),地址塊到地址塊( Block Of Address To Block Of Address)。

5f4dd106-06ad-11ee-962d-dac502259ad0.png

還提供了填數(shù)據(jù)到地址塊(Fill Data To Block Of Address),數(shù)據(jù)表到特定地址(Data Table To Specific Address)功能。

5fd0e726-06ad-11ee-962d-dac502259ad0.png

填數(shù)據(jù)到地址塊(Fill Data To Block Of Address)功能是用來快速生成一個等距數(shù)組,間距可以選擇±1,±2,±4,±8四個選項,DMA會把源地址中填入的數(shù)據(jù)當做起始數(shù)據(jù),然后進行加減間距,填到目標地址中。

數(shù)據(jù)表到特定地址(Data Table To Specific Address)功能,就是DMA順序讀兩次源地址中的數(shù)據(jù),把第一個數(shù)據(jù)當做目標地址的地址,第二個數(shù)據(jù)當做目標地址的數(shù)據(jù),依次填入對應的RAM中。

這里就接著上一次的UART的使用教程,上一次UART發(fā)送收到的信息是使用的中斷的方式,這次的程序使用UART接收中斷觸發(fā)DMA,DMA再把收到的信息通過UART發(fā)送出去。

在上次UART的SYSCONFIG配置中,在UART選項頁面配置DMA。

5feb5570-06ad-11ee-962d-dac502259ad0.png

DMA的觸發(fā)源選擇UART的接收中斷,會生成一個DMA通道的配置,因為是把串口接收寄存器中的數(shù)據(jù)搬運到串口的發(fā)送寄存器,所以選擇的是固定地址到固定地址的發(fā)送,每次觸發(fā)發(fā)送為1個字節(jié),發(fā)送模式選擇Repeat Single,如果不是Repeat的話,DMA會在發(fā)送完成傳輸次數(shù)(Transfer Size)后關(guān)閉DMA通道。

再到程序中,配置也比較簡單,只需要手動配置好源地址和目標地址,使能DMA即可。

60189d28-06ad-11ee-962d-dac502259ad0.png

配套的工程文件名為DMA,需要復制到SDK目錄下運行。

DMA的觸發(fā)源比較多,在mspm0l1306.h中可以找到對應芯片支持的觸發(fā)源。

60457c80-06ad-11ee-962d-dac502259ad0.png

可以看到除了除了DMA事件路由和軟件觸發(fā)外,還支持通用事件路由。

其實DMA的中斷除了可以中斷CPU,也可以產(chǎn)生通用路由事件做其他控制用,這樣就可以最大程度的較少CPU的干預,提升效率,降低功耗。

607036e6-06ad-11ee-962d-dac502259ad0.png

審核編輯:湯梓紅

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

    關(guān)注

    5

    文章

    889

    瀏覽量

    41219
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1199

    瀏覽量

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

    關(guān)注

    3

    文章

    552

    瀏覽量

    99928
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96162
  • 數(shù)據(jù)表
    +關(guān)注

    關(guān)注

    0

    文章

    295

    瀏覽量

    11412

原文標題:MSPM0L1306開發(fā)板教程7 - DMA

文章出處:【微信號:創(chuàng)易棧,微信公眾號:創(chuàng)易棧】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    MSPM0L1306開發(fā)板程之OPA

    MSPM0L系列的OPA是一個軌到軌輸入輸出的可編程運算放大器,最大為32x,可以軟件配置為零漂移斬波放大器以提高精度和漂移性能,有專門優(yōu)化的輸入管腳的型號可以達到10pA的輸入偏置電流,標準模式為6MHz帶寬,低功耗模式下帶寬為1MHz,電流100uA。
    發(fā)表于 07-15 09:58 ?1740次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>OPA

    電賽:mspm0l1306開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?

    mspm0l1306開發(fā)板可以燒錄程序,但是程序運行不了,怎么解決這個問題?
    發(fā)表于 08-01 00:53

    MSPM0L1306開發(fā)板程之開發(fā)環(huán)境搭建

    TI的MSPM0L系列的開發(fā),可以使用KEIL,IAR,CCS等開發(fā)環(huán)境。仿真器可以使用ARM開發(fā)常用的JLINK,以及TI的XDS仿真器。
    的頭像 發(fā)表于 04-23 10:11 ?1.1w次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b><b class='flag-5'>開發(fā)</b>環(huán)境搭建

    MSPM0L1306開發(fā)板程之GPIO輸入輸出

    GPIO算是所有MCU入門的第一步,今天的教程就來教大家設(shè)置MSPM0L系列的GPIO的輸入輸出功能。
    的頭像 發(fā)表于 05-04 17:22 ?5931次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>GPIO輸入輸出

    MSPM0L1306開發(fā)板程之運行模式

    今天的教程講下MSPM0L系列的運行模式。
    的頭像 發(fā)表于 05-29 11:21 ?2672次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>運行模式

    MSPM0L1306開發(fā)板程之ADC

    MSPM0L系列的ADC是一個12bit的SAR ADC,采樣頻率最高1.45MHz,最高可做到11.2位的實際有效位(ENOB)。
    的頭像 發(fā)表于 06-10 10:16 ?3354次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>ADC

    MSPM0L1306開發(fā)板程之通用定時器

    MSPM0L系列的通用定時器(TIMG)是一個16位的自動重裝定時器,支持向下和上下計數(shù)兩種模式,同時帶有兩個比較捕獲單元,可以做到輸出比較,輸入捕獲,PWM輸出,單脈沖輸出等功能。
    的頭像 發(fā)表于 06-30 15:50 ?3791次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>通用定時器

    MSPM0L1306開發(fā)板程之I2C

    MSPM0L系列的I2C支持主從模式,有7位地址位可以設(shè)置,速率最大1Mbps,無論是主機或者從機,發(fā)送和接收都有獨立的8個字節(jié)FIFO。
    的頭像 發(fā)表于 06-30 15:50 ?3599次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>I2C

    MSPM0L1306開發(fā)板教程- NVM(FLASH)

    MSPMPL系列中的NVM(Non Volatile Memory)非易失性存儲,也就是我們常說的FLASH。
    的頭像 發(fā)表于 07-08 10:52 ?2520次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程- NVM(FLASH)

    MSPM0L1306開發(fā)板教程-SPI

    MSPM0L系列的SPI控制器最大頻率是16MHz,支持3線和4線的模式,帶有4個片選(CS),其中CS3支持命令模式(Command Mode)。
    的頭像 發(fā)表于 07-08 10:56 ?2246次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教程-SPI

    MSPM0L1306開發(fā)板程之COMP

    MSPM0L帶有模擬比較器功能,可以用于模擬信號的比較,用于中斷MCU或者觸發(fā)MCU其他外設(shè)。
    的頭像 發(fā)表于 07-15 09:56 ?1710次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>COMP

    MSPM0L1306開發(fā)板程之WWDT

    窗口看門狗WWDT,MSPM0L系列的看門狗的時鐘使用的是32KHz的LFCLK,計數(shù)器有25位,寄存器可以有8個可選的計數(shù)周期,加上時鐘的最大8分頻,也就是有64檔計數(shù)周期可選,從1.95ms到8190s,有兩個閾值,關(guān)閉窗口(closed window)和打開窗口(open window)。
    的頭像 發(fā)表于 07-15 10:01 ?1188次閱讀
    <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>教<b class='flag-5'>程之</b>WWDT

    TI MSPM0L1306開發(fā)板簡介

    看參考設(shè)計的時候看到了這個芯片,和以往爛大街的芯片不一樣,它發(fā)布于今年3月。這個芯片更是TI這個老師傅狠狠的將活注入到MCU里面產(chǎn)生的奇妙產(chǎn)物。
    的頭像 發(fā)表于 12-15 10:00 ?5871次閱讀
    TI <b class='flag-5'>MSPM0L1306</b><b class='flag-5'>開發(fā)板</b>簡介

    MSPM0 L 系列 MCU硬件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《MSPM0 L 系列 MCU硬件開發(fā)指南.pdf》資料免費下載
    發(fā)表于 09-09 10:36 ?0次下載
    <b class='flag-5'>MSPM0</b> <b class='flag-5'>L</b> 系列 MCU硬件<b class='flag-5'>開發(fā)</b>指南

    MSPM0 L系列MCU硬件開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《MSPM0 L系列MCU硬件開發(fā)指南.pdf》資料免費下載
    發(fā)表于 09-07 11:12 ?0次下載
    <b class='flag-5'>MSPM0</b> <b class='flag-5'>L</b>系列MCU硬件<b class='flag-5'>開發(fā)</b>指南