国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

玩轉(zhuǎn)單片機(jī)的重要功能 - DMA ,你的MCU編程設(shè)計(jì)有可能成為卷王!

發(fā)布時(shí)間:2023-11-30 09:11    發(fā)布者:eechina
關(guān)鍵詞: 單片機(jī) , DMA , MCU , 編程設(shè)計(jì)
來源:DigiKey
作者:Alan Yang

直接存儲(chǔ)器訪問(DMA)控制器,可以在內(nèi)存和/或外設(shè)之間傳輸數(shù)據(jù),而不需要CPU參與每次傳輸。合理利用DMA控制器,可以減輕CPU的負(fù)擔(dān)。本文通過介紹DMA結(jié)構(gòu)與工作原理,以及兩種模式(兵乓模式與多數(shù)據(jù)包緩沖傳輸模式),來看看使用DMA如何提高MCU效率。

DMA結(jié)構(gòu)與工作原理

先進(jìn)的DMA控制器,如STMicroelectronics的STM32F4系列中包含的控制器,可以通過靈活的數(shù)據(jù)流分配和傳輸管理功能進(jìn)一步減輕CPU的負(fù)擔(dān)。

如圖左側(cè)所示,來自8個(gè)不同的通道DMA請(qǐng)求,并到仲裁器上,從而建立優(yōu)先級(jí)(編號(hào)較低的輸入通道,具有較高的優(yōu)先級(jí))。然后激活最高優(yōu)先級(jí)的傳輸,傳輸?shù)綀D中右側(cè)的兩個(gè)AHB 主設(shè)備(存儲(chǔ)器端口和外設(shè)接口),提高了外設(shè)到存儲(chǔ)器傳輸?shù)男省_@可能是DMA在基于CPU的設(shè)計(jì)中最常見的情況。


圖 1 STM32F4系列DMA控制器(圖片來源于STMicroelectronics)

為每個(gè)路徑分配單獨(dú)的FIFO,如圖1中間所示,允許針對(duì)每個(gè)外設(shè)接口的特性調(diào)整FIFO特性。例如,F(xiàn)IFO的閾值級(jí)別(請(qǐng)求傳輸?shù)纳疃?可以單獨(dú)設(shè)置為FIFO大小的¼,½或¾。這允許低速通道等待,直到FIFO幾乎滿了才進(jìn)行傳輸,以最小化開銷。更快的通道會(huì)更早地啟動(dòng)傳輸,可能只有一半大小,以避免FIFO溢出。

我們來通過一個(gè)實(shí)例,來看看DMA怎么工作的。

實(shí)例:“使用 STM32 來控制 NeoPixels LED

硬件部分采用STM32 開發(fā)板,與 NeoPixel LED、燈帶、矩陣等相連接。



RGB NeoPixels實(shí)際上是WS2812智能控制LED。下面是WS2812 LED的3字節(jié)數(shù)據(jù)協(xié)議的結(jié)構(gòu),分別代表綠紅藍(lán)三個(gè)信息。


圖 2 WS2812 LED的3字節(jié)數(shù)據(jù)協(xié)議的結(jié)構(gòu)

使用計(jì)時(shí)器來PWM控制波形,然后配置DMA使CPU高效并且易于實(shí)施。


圖 3 WS2812 LED的0和1位的計(jì)時(shí)圖

在軟件中,配置DMA, 選擇了“TIM2_CH3/UP”, 將方向改為“內(nèi)存到外設(shè)”, 同時(shí),將優(yōu)先級(jí)改為“非常高”,最后保存.ioc 文件,以生成項(xiàng)目代碼。


圖 4 配置DMA流,以便有效更新PWM信號(hào)的占空比

更多內(nèi)容請(qǐng)看下面文章:使用 STM32 來控制 NeoPixels

DMA的兩種模式

合理使用兩種DMA模式(兵乓模式與多數(shù)據(jù)包緩沖傳輸模式),可以幫助提高M(jìn)CU效率。

USB外設(shè)是一個(gè)很好的外設(shè)示例,早期的USB實(shí)現(xiàn)的最大吞吐量只有1.5 Mb/秒。隨著更高性能的標(biāo)準(zhǔn)版本的出現(xiàn)。比如要接近12 Mbit/s全速USB標(biāo)準(zhǔn)的理論最大值。我們來看看,數(shù)據(jù)傳輸方面DMA如何幫助提高M(jìn)CU效率!

我們以Microchip的ATXMEGA16D4-MH舉例。

兵乓模式:

之前通常使用單個(gè)存儲(chǔ)器緩沖區(qū)進(jìn)行外設(shè)數(shù)據(jù)傳輸。如果數(shù)據(jù)緩沖區(qū)已滿,MCU將響應(yīng)NAK(否定確認(rèn))消息。接收到NAK后,主機(jī)將等待并稍后重試傳輸。它將繼續(xù)重試,直到MCU能夠成功接收數(shù)據(jù)。

ATXMEGA16D4-MH使用乒乓模式來消除這個(gè)問題。乒乓模式使用兩個(gè)存儲(chǔ)單元(memory banks)進(jìn)行數(shù)據(jù)傳輸。當(dāng)一個(gè)存儲(chǔ)單元滿時(shí),主機(jī)可以將數(shù)據(jù)傳輸?shù)搅硪粋(gè)存儲(chǔ)單元。在兩個(gè)存儲(chǔ)單元之間交替?zhèn)鬏斂梢员苊鈴?fù)審,并提高整體數(shù)據(jù)帶寬。


圖 5 乒乓模式提高了效率(圖片來源于Microchip)

此外,如上圖所示,以乒乓模式還使MCU有更多時(shí)間來處理數(shù)據(jù)。如圖所示,沒有乒乓,CPU只能處理傳輸之間的數(shù)據(jù)。使用乒乓模式,CPU可以在傳輸周期的一部分時(shí)間內(nèi)處理數(shù)據(jù),并降低NAK被要求“趕上”數(shù)據(jù)處理要求的可能性。

多數(shù)據(jù)包緩沖傳輸模式

另一個(gè)很有用的模式,可以讓MCU的數(shù)據(jù)傳輸更高效。這個(gè)特性叫做“多數(shù)據(jù)包緩沖傳輸模式”。如果你要通過USB端口傳送的數(shù)據(jù)包,超過了全速USB的BULK傳輸模式所允許的最大值(64字節(jié)),那么就可以用上這個(gè)模式。以前,你需要在主機(jī)上把數(shù)據(jù)包分成小塊,然后在接收端把它們合并,這會(huì)增加中央處理器(CPU)的負(fù)擔(dān)。不過現(xiàn)在,多數(shù)據(jù)包緩沖功能加入了USB設(shè)備,它會(huì)在數(shù)據(jù)包超過USB標(biāo)準(zhǔn)大小時(shí)自動(dòng)幫你分割和合并數(shù)據(jù)。重要的是,這個(gè)模式還能減少中斷的次數(shù),因?yàn)橹挥性谡麄(gè)傳輸結(jié)束后才需要中斷CPU。這意味著,CPU可以處理其他任務(wù),或者進(jìn)入休眠模式,直到整個(gè)傳輸完成并且準(zhǔn)備好處理。

總結(jié):

合理利用DMA控制器,可以減輕減輕CPU的負(fù)擔(dān),事半功倍。結(jié)合“乒乓緩沖”和“多傳輸模式”,你可以把傳輸?shù)膸拸幕鶞?zhǔn)BULK傳輸模式的5.6 Mb/s提升到8.7 Mbits/s,這是一個(gè)不小的提升。更重要的是,在使用這兩個(gè)功能的情況下,CPU的負(fù)擔(dān)從基準(zhǔn)的46%降低到只有9%。這兩個(gè)功能的結(jié)合,不僅在性能上有所改進(jìn),而且還能節(jié)省能源。
本文地址:http://www.qingdxww.cn/thread-847346-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 更佳設(shè)計(jì)的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 利用模擬開發(fā)工具生態(tài)系統(tǒng)進(jìn)行安全電路設(shè)計(jì)
  • 你仿真過嗎?使用免費(fèi)的MPLAB Mindi模擬仿真器降低設(shè)計(jì)風(fēng)險(xiǎn)
  • 想要避免發(fā)生災(zāi)難,就用MPLAB SiC電源仿真器!
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91视频这里只有精品 | 色综合狠狠操 | 在线免费观看色视频 | 香蕉久久夜色精品国产2020 | 国产成人午夜精品5599 | 最好免费观看韩国+日本 | 国内精品免费网站牛牛 | 久草免费在线观看 | 午夜国产在线 | 久久精品免费观看 | 欧美视频在线免费看 | 国内色综合精品视频在线 | 亚洲男人的天堂网站 | 国产一区欧美 | 四虎永久在线精品国产馆v视影院 | 亚洲人的天堂男人爽爽爽 | 欧美国产日本精品一区二区三区 | 一区二区三区欧美日韩国产 | 欧美一级va在线视频免费播放 | 国产精品毛片大码女人 | 日本日本在线观看视频 | 国产精品亚洲高清一区二区 | 国产久草视频在线 | 男女啪啦猛视频免费 | 国产午夜精品一区二区三区小说 | 99re视频这里只有精品 | 九月色婷婷 | 极品久久 | 欧美日韩一区二区三区麻豆 | 高清国产在线 | 国产福利一区在线 | 黄工厂精品视频在线观看 | 成人黄app福利网站大全 | 中文字幕在线视频一区 | 一级特黄特黄的大片免费 | 国产一区二区在线不卡 | 婷婷在线五月 | 四虎精品在线视频 | 精品在线视频免费观看 | 婷婷色国产 | 日韩视频一区二区三区 |