女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>STM3 DMA相關概念及原理介紹資料下載

STM3 DMA相關概念及原理介紹資料下載

2021-04-27 | pdf | 1.4MB | 次下載 | 2積分

資料介紹

第一次接觸DMA是在學校學習ARM9裸板程序的時候,想起來都時隔快2年了。現在來看看STM32平臺的DMA,一樣,在標準外設庫的支持下,STM32的DMA編程十分簡單,但是既是學習,那還是花點時間看看DMA的相關概念及原理的了解下。 1. DMA簡介 DMA是Direct Memory Access的簡稱,是直接存儲器訪問的意思。DMA是STM32單片機的外設之一,主要功能是用來搬移數據的。通過DMA搬移數據不需要CPU直接參與控制,也不需要中斷處理方式那樣保留現場和恢復現場。在傳輸數據的時候,CPU可以干其他事情。 無使用DMA的數據傳輸: 使用DMA后的數據傳輸: DMA數據傳輸支持從外設到存儲器、存儲器到外設、存儲器到存儲器(這里所講的存儲器可以是SRAM,也可以是FLASH)。DMA控制器包含了DMA1控制器和DMA2控制器,分別由7和5個通道作為數據傳輸。每個通道專門用來管理來自一個或者多個外設對存儲器訪問的請求,還有一個仲裁器用于協調各個外設對DMA傳輸請求的優先權。注意,DMA2只存在于大容量或互聯型的STM32單片機中。 2. DMA功能框圖 2.1 STM32外設對DMA的請求及通道 請求及通道對應圖中的標號1和標號2:STM32外設想要通過DMA來傳輸數據,需先給DMA控制器發送DMA請求,控制器在收到外設的DMA請求之后會給外設一個應答信號,外設應答且DMA控制器收到外設的應答后,DMA啟動傳輸,直至傳輸完畢。 為什么需要發出請求,應答和接收應答這幾個繁瑣的步驟?由圖中藍色框框可以看出,DMA傳輸和CPU是共用系統總線的,要啟動DMA傳輸的前提是系統總線是空閑的,換句話說是CPU沒有占用系統總線,所以啟動DMA傳輸前需要以上幾個應答機制,其最底層是DMA控制器和CPU正為系統總線作出協調。DMA1有7個通道,DMA2有5個通道,不同的外設請求要通過對應的DMA通道發給DMA控制器。將不同的外設請求傳輸至對應的通道,這個是我們在軟件編程上設置的。 DMA1開放的通道及對應請求: DMA2開放的通道及對應請求: 雖然每個通道可以接收多個外設的請求,但是同一時間內只能接收一個。 2.2 仲裁器 仲裁器對應圖中的標號3:當DMA控制器的多個通道發生DMA請求時,就需要仲裁器管理響應處理的順序。仲裁器通過軟件和硬件來管理DMA請求:軟件指的是我們寫的代碼,在DMA_CCRx(x指通道號)寄存器中設置,有4個等級,非常高(DMA_Priority_VeryHigh)、高(DMA_Priority_High)、中(DMA_Priority_Medium)和低(DMA_Priority_Low)。硬件則是指若有兩個或以上的DMA通道請求設置的優先級一樣,則它們的響應順序取決于通道編號,編號低者優先級高,在有DMA2的STM32中,DMA1控制器擁的響應優先級高于DMA2。 2.3 配置DMA控制器 配置DMA控制器,無非就是下圖這幾個寄存器: 前面說到,DMA數據傳輸機制并不需要CPU的參與,但是DMA控制器要正常工作,數據要正確傳輸,需有三個必要條件:源地址、目的地址和數據大小,對于數據分批傳輸的情況,數據大小這個條件還包含每次傳輸的大小及單位。 (1)源地址和目的地址 DMA的傳輸數據的方向有三個:從外設到存儲器、從存儲器到外設、從存儲器到存儲器。DMA_CCR的BIT[4]DIR就是用于配置數據傳輸方向的: 取值為0表從外設到存儲器,取值為1表從存儲器到外設。外設地址在DMA_CPAR寄存器配置,存儲器地址在DMA_CMAR寄存器配置。 (2)傳輸數據的大小及單位 以串口向電腦發送數據為例(存儲器->外設方向),開發板軟件可以一次性給電腦發送大量數據,具體多少在DMA_CNDTR配置: DMA_CNDTR低16位有效,一次最多只能傳輸65535個數據。 數據要正確傳輸,源、目標存儲的數據寬度必須一致。串口數據寄存器是8位的,也就是外設數據寬度設置寄存器DMA_CCRx的BIT[9:8]PSIZE取值為0: 存儲器的數據寬度設置寄存器DMA_CCRx的BIT[11:10]MSIZE取值也為0: DMA傳輸數據,還需要設置源地址上的數據發送指針和目的地址數據存放指針的增量模式。開發板串口向電腦發送數據,假設要發送的數據很多,那么存儲器(源地址)上數據發送指針每次發送完畢需要加1,而串口數據寄存器則不需要,因為該寄存器只有一個,數據寄存器上的數據傳送到電腦后被清空了(就算不清空,數據直接覆蓋也沒關系)。外設的地址指針增量模式由DMA_CCRx的PINC配置,存儲器的地址指針則由MINC配置。 (3)傳輸結束 DMA中斷狀態寄存器DMA_ISR可以設置每個DMA通道傳輸過半、傳輸完成和傳輸錯誤示產生對應標志, 在DMA_CCRx位1、2、3可以設置發生傳輸過半、傳輸完成和傳輸錯誤時產生中斷: 另外補充一點,位0用于使能DMA傳輸 傳輸完成分兩種模式:一次傳輸和循環傳輸,一次傳輸指傳輸一次后就停止,要再傳輸需要關閉DMA使能后重新配置后才能繼續傳輸。循環傳輸則是一次傳輸完成后又恢復第一次傳輸時的配置循環傳輸,如此循環。設置位在DMA_CCRx寄存器的CIRC。 3. DMA功能模塊描述結構體 標準庫的一貫風格,在stm32f10x_dma.h文件中定于可DMA_InitTypeDef初始化結構體,DMA_Init()函數定義在stm32f10x_dma.c中。 (1)DMA_PeripheralBaseAddr:外設地址,若是存儲器到存儲器模式,此成員設置為其中一個存儲器的地址,否則設置為外設的地址。 (2)DMA_MemoryBaseAddr:存儲器地址,一般設置為程序中存放數據的容器(數組)的首地址。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費