<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 話(huà)說(shuō)STM32F4系列的總線(xiàn)矩陣與訪(fǎng)問(wèn)調度

話(huà)說(shuō)STM32F4系列的總線(xiàn)矩陣與訪(fǎng)問(wèn)調度

作者: 時(shí)間:2016-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏

  

本文引用地址:http://dyxdggzs.com/article/201609/296596.htm

 

  可能不少人見(jiàn)過(guò)系列的內部系統架構框圖。大致如下圖,該圖很重要,不可視而不見(jiàn)。

  

 

  圖中縱橫交錯的就是多層AHB矩陣,負責把上方黃色主設備跟右邊綠色從設備互聯(lián)起來(lái)。所謂AHB主設備是指CPU或DMA[通用DMA或專(zhuān)用DMA],由它們啟動(dòng)訪(fǎng)問(wèn),即讀寫(xiě)操作。那些響應主設備讀寫(xiě)訪(fǎng)問(wèn)的設備就是AHB從設備,比如存儲器、各類(lèi)外設等。

  因為矩陣的存在,使得多個(gè)主設備可以并行訪(fǎng)問(wèn)不同的從設備,增強了數據傳輸能力,提升了訪(fǎng)問(wèn)效率,同時(shí)也改善了功耗性能。

  不過(guò),雖然總線(xiàn)矩陣使得多個(gè)主設備可以并行訪(fǎng)問(wèn)不同的從設備,但在每個(gè)預定的時(shí)間內,只有一個(gè)主設備擁有總線(xiàn)控制權。如果有多個(gè)主設備同時(shí)出現總線(xiàn)請求時(shí)就得進(jìn)行仲裁。所以總線(xiàn)矩陣里還有個(gè)AHB總線(xiàn)仲裁器,它保證每個(gè)時(shí)刻只有一個(gè)主設備通過(guò)總線(xiàn)矩陣對從設備進(jìn)行訪(fǎng)問(wèn)。(注1)

  為了確保每個(gè)主設備訪(fǎng)問(wèn)從設備的延遲盡量短,在總線(xiàn)矩陣里實(shí)行循環(huán)調度優(yōu)先級方案:

  • 循環(huán)調度仲裁策略使總線(xiàn)帶寬合理分配。

  • 限定最大延時(shí)。

  • 循環(huán)調度以1 次傳輸為單位。

  當多個(gè)AHB 主設備試圖同時(shí)訪(fǎng)問(wèn)同一個(gè)AHB從設備時(shí),總線(xiàn)矩陣仲裁器介入以解決訪(fǎng)問(wèn)沖突。在下面的例子中CPU 和DMA1 均試圖訪(fǎng)問(wèn)SRAM1 以讀取數據。

  

 

  如上述示例總線(xiàn)訪(fǎng)問(wèn)請求同時(shí)發(fā)生的情況下,就需要總線(xiàn)矩陣仲裁。為了解決這種問(wèn)題,需要應用循環(huán)調度策略:如果本次最后贏(yíng)得總線(xiàn)控制權的主設備是CPU,則在下一次訪(fǎng)問(wèn)中DMA1將贏(yíng)得總線(xiàn)控制權并首先訪(fǎng)問(wèn)SRAM1。CPU 隨后方可有權訪(fǎng)問(wèn)SRAM1。

  這就表明,一個(gè)主設備的傳輸延時(shí)取決于其它等待請求訪(fǎng)問(wèn)AHB 從設備的主設備數量。下面的例子是五個(gè)主設備試圖同時(shí)訪(fǎng)問(wèn)SRAM1的情形:

  

 

  DMA1再次獲得總線(xiàn)矩陣訪(fǎng)問(wèn)權并訪(fǎng)問(wèn)SRAM1 的延時(shí)等于其它等待請求的所有主設備的執行時(shí)間之和。

  我們再來(lái)看看進(jìn)行總線(xiàn)矩陣仲裁可能導致的DMA傳輸延時(shí)最差情況。

  主設備DMA端口進(jìn)行一次數據傳輸會(huì )遭遇的延時(shí)取決于其它主設備的傳輸類(lèi)型和長(cháng)度。比如,我們結合上面的DMA1 & CPU 的例子,它們并行訪(fǎng)問(wèn)SRAM。 DMA傳輸延時(shí)將隨著(zhù)CPU 數據傳輸事務(wù)長(cháng)度而變化。如果總線(xiàn)訪(fǎng)問(wèn)首先給予CPU 且不是執行單次數據加載/存儲,DMA 訪(fǎng)問(wèn)SRAM 的等待時(shí)間可能從一個(gè)AHB 周期(單次數據加載/ 存儲時(shí)間)延長(cháng)為N 個(gè)AHB 周期,這里N 為CPU 數據傳輸事務(wù)中數據的數量。

  CPU 鎖定AHB 總線(xiàn)以保持其訪(fǎng)問(wèn)總線(xiàn)的所有權,減少了多次加載/ 存儲操作過(guò)程中的延時(shí)以及進(jìn)入中斷的延時(shí)。這提高了固件的響應能力,但是可能導致DMA 數據傳輸事務(wù)的延遲。

  DMA1 與CPU 并行訪(fǎng)問(wèn)SRAM 的延時(shí)取決于傳輸類(lèi)型:

  • 中斷(上下文保護)發(fā)起的CPU 傳輸:8 個(gè)AHB 周期;

  • LDM/STM 指令發(fā)起的CPU 傳輸:14 個(gè)AHB 周期(注2)

  ---在多達14 個(gè)寄存器與存儲器之間進(jìn)行傳輸;

  

 

  上圖詳細描述了一個(gè)因中斷進(jìn)入而導致DMA多周期傳輸延遲的情形。DMA 存儲器端口被觸發(fā),發(fā)出存儲器訪(fǎng)問(wèn)請求。經(jīng)過(guò)仲裁, AHB 總線(xiàn)未授權DMA1 存儲器端口訪(fǎng)問(wèn),而由CPU 來(lái)訪(fǎng)問(wèn)總線(xiàn)??梢钥吹皆诜?wù)DMA 請求之前有一段額外的延時(shí)。這段中斷發(fā)起的CPU 傳輸,耗時(shí)為8 個(gè)AHB 周期。

  不難理解,當同時(shí)對一個(gè)從設備進(jìn)行尋址且數據傳輸事務(wù)長(cháng)度不是一個(gè)數據單元時(shí),其他主設備(如DMA2,USB_HS, Ethernet…)也會(huì )碰到類(lèi)似情形。所以,為了提高DMA 對總線(xiàn)矩陣的訪(fǎng)問(wèn)性能,要盡量回避總線(xiàn)競爭。

  以上內容主要取材于ST官方應用筆記文檔AN4031的一部分。該筆記里除了上述內容外,還對STM32F2/F4的DMA傳輸路徑、DMA傳輸時(shí)間的估算、DMA編程都有較為細致的介紹。我這里算是拋磚引玉,有興趣的話(huà)可以去www.stmcu.com.cn 的設計資源區搜索下載AN4031。

  (注1)并非所有主設備訪(fǎng)問(wèn)從設備都得經(jīng)過(guò)總線(xiàn)矩陣,細心的人可能看到了有些主設備與從設備間有直通通道。細節詳見(jiàn)STM32芯片相關(guān)參考手冊。

  (注2) 通過(guò)配置編譯器,將加載/ 存儲多重指令分解為單個(gè)加載/ 存儲指令,可以降低由LDM/STM 發(fā)起的傳輸的延時(shí)。

  



關(guān)鍵詞: STM32F4 總線(xiàn)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>