<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > STM32再學習——DMA控制器

          STM32再學習——DMA控制器

          作者:jobs 時間:2013-10-23 來源:電子產(chǎn)品世界 收藏

            這簡單的三字母表示Direct Memory Access,直譯過來就是“直接存儲器存取”,其設計目的是提供在外設和存儲器之間或者存儲器和存儲器之間的高速數(shù)據(jù)傳輸,而無須的干預,從而節(jié)省了寶貴的運行時間,為其它操作提供了充足的時間。

          本文引用地址:http://www.ex-cimer.com/article/182406.htm

            F103系統(tǒng)有7個通道,每個通道專門用來管理來自一個或多個硬件外設對存儲器的訪問請求。該訪問請求可以通過硬件觸發(fā),也可以通過軟件配置來完成軟件觸發(fā)。7個通道請求通過一個仲裁器來協(xié)調(diào),它們的優(yōu)先級可以通過軟件編程來設置,但相等的優(yōu)先級通過固有的硬件決定(請求0優(yōu)先于請求1)。

            是可以完成外設至內(nèi)存、內(nèi)存至外設與內(nèi)存至內(nèi)存的三方數(shù)據(jù)直接轉(zhuǎn)移。數(shù)據(jù)在傳輸?shù)臅r候可以選擇字節(jié)、半字與全字的傳輸寬度,并模擬打包與拆包過程,支持循環(huán)的緩沖器管理。最大的傳輸數(shù)據(jù)長度為65536,當然,如果選擇全字傳輸則DMA傳輸一次傳輸可多達128K個字節(jié)的數(shù)據(jù),這個對于嵌入式的MCU來說,可以說是一個天文數(shù)字了。

            DMA對于數(shù)據(jù)的處理傳輸是采用的共享系統(tǒng)數(shù)據(jù)線執(zhí)行的,因此,在1個DMA請求發(fā)生時要占用至少2個周期的總線時間,考慮到其它原因,2個連續(xù)的DMA請求間釋放系統(tǒng)時鐘至少1個周期,如果對于72Mhz的MCU來說一個周期約為14ns,2個周期也就是28個ns的時間。MCU的計算時間已經(jīng)進入了納秒階段了……

            DMA的實現(xiàn)過程只有簡單的三步(當然是簡單說了):

            從外設數(shù)據(jù)或者從DMA_CMARx 指定地址的存儲器單元執(zhí)行加載操作。

            存數(shù)據(jù)到外設數(shù)據(jù)或者存數(shù)據(jù)到DMA_CMARx 寄存器指定地址的存儲器單元。

            執(zhí)行一次DMA_CNDTRx 寄存器的遞減操作。該寄存器包含未完成的操作數(shù)目。

            DMA控制器通道的請求映像。DMA通道有7個請求,而這7個請求與所連接的外設可不是隨心所欲的選擇,因此,對于在同一個通道的DMA請求外設來說,在同一時間只能有一個請求有效,我們先請出來DMA請求映像來,如下圖所示:

            從上面可以清楚的看到,每個通道都可以用做Memory 2 memory,而這個功能,筆者認為卻是相當重要的。

            通訊與傳感器是目前發(fā)展的兩個大發(fā)向,而與外設相連的DMA通道是以最快、最省事的方式將數(shù)據(jù)傳給MCU,而我們知道原始數(shù)據(jù)肯定要進行一步數(shù)據(jù)的處理,因此,使用DMA的Memory2memory功能可以輕松完成數(shù)據(jù)“乒乓控制”,從而同時完成數(shù)據(jù)的采集與處理。通訊時,待發(fā)送的數(shù)據(jù)存儲至緩沖器,而DMA的內(nèi)存至外設,又可以把數(shù)據(jù)直接送到外設,不用MCU的任何運算與資源,對于數(shù)據(jù)通訊節(jié)省了大師寶貴的時間,也使得工程師們更加把精力關注于數(shù)據(jù)的處理中。

            這么多的優(yōu)點,并沒有多加銀子,完全是免費贈送的,以后的項目應用一定使用。免費而高效,何樂而不為呢?

           

          存儲器相關文章:存儲器原理




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();