MCU 應用中用于提高效率的高級外設總線架構
MCU 現在擁有數量驚人的片上外設,這些外設可以同時用于從 CPU 中卸載低級功能。這可以顯著提高處理效率、降低功耗并簡化您的設計。但是,如果您的外圍功能壓倒了內部總線接口并且數據傳輸速度顯著降低,您可能會感到意外。幸運的是,MCU 制造商添加了新的高效總線接口,通常在關鍵外設和片上存儲器之間具有多條路徑,有助于支持多種數據傳輸。然而,這些新總線確實有局限性,因為將所有東西連接到其他所有東西在芯片面積和功率方面都過于昂貴。了解這些新片上總線的常用模型將幫助您創(chuàng)建高效的設計,最大限度地提高數據傳輸帶寬。
本文將快速回顧一些常見的智能片上總線特性,并將舉例說明利用這些關鍵特性的示例設計。涵蓋的一些主題包括:片上總線矩陣架構、DMA 控制器的使用、專用外設數據傳輸功能、智能緩沖、總線優(yōu)先系統(tǒng)和中斷控制。
通用總線接口架構
幾乎每個高性能總線互連結構中都出現了幾種關鍵的架構方法。這應該不足為奇,因為支持高帶寬的關鍵策略是能夠建立多個可以獨立運行的并行連接。總線矩陣架構,其中幾個總線主機可以獨立訪問多個總線從機,可能是高效總線架構最常見的構建塊。飛思卡爾 KineTIs K70 MCU 是高效數據處理和移動所需的互連架構類型的一個很好的例子。
如圖 1 所示,飛思卡爾KineTIs K70MCU 使用多級總線矩陣,可以在八個獨立的總線主控器和八個獨立的總線從屬器之間互連。多個主機和從機可以獨立運行。內存分配對于最大化效率至關重要。例如,以下操作都可以并行操作而沒有重疊:
內核 - Flash 中的指令和 SRAM_L 中的僅內核數據和堆棧
USB - SRAM_U 中的數據緩沖區(qū)
LCD 控制器 - DDR 中的圖形緩沖區(qū)
pYYBAGLslreANcv-AAGM6YPywB0541.png
圖 1:飛思卡爾 KineTIs K70 MCU 總線互連架構。(由飛思卡爾提供)
飛思卡爾還為 K70 提供模塊化開發(fā)平臺,這是其飛思卡爾塔式系統(tǒng)的一部分,可通過可重新配置的硬件實現快速原型設計和工具重用。TWR-K70F120M可與多種塔式系統(tǒng)外圍模塊一起使用,包括接受來自 K70 MCU 圖形 LCD 控制器的 RGB 數據的新型 TWR-LCD-RGB。
當兩個或多個主設備嘗試訪問單個從端口時,接口將使用仲裁算法來確定哪個主設備將首先訪問該端口。通常可用于總線訪問的兩種常見仲裁方案是固定優(yōu)先級或循環(huán)法。在固定優(yōu)先級方案中,主控優(yōu)先級是固定的,賦予高優(yōu)先級主控對低優(yōu)先級主控的訪問權限。如果有多個具有相同優(yōu)先級的主設備,則可以使用循環(huán)優(yōu)先級方案。在此方案中,主機輪流優(yōu)先級,以便隨著時間的推移對資源具有平等的訪問權。
請注意 DMA 訪問總線矩陣的重要性。通常,DMA 傳輸是最節(jié)能的,因此 DMA 對總線矩陣進行有效的主機訪問至關重要。一些資源將與總線矩陣有多個連接——例如,注意 DRAM 控制器——因為它們是多個主控器的關鍵資源。這通過消除多個主服務器需要訪問同一資源時可能發(fā)生的“訪問阻塞”來提高整體性能。
用于提高效率的高級外設總線架構
在許多 MCU 應用中,外設操作與 CPU 和內存操作一樣重要。如果有先進的總線接口與關鍵的外圍功能以及基于 CPU 的功能一起使用,它可以提高傳輸效率。瑞薩電子 RX600 MCU 具有多個外圍總線,可用于更有效地分散帶寬負載。如圖 2 所示,RX600 不僅有一個面向 CPU 的操作的總線矩陣(如圖頂部所示),還有多個外設總線(如圖底部所示),以更好地在智能外設之間分配帶寬。大量外設流量永遠不需要訪問 CPU 總線矩陣,這提高了數據傳輸效率,而無需增加 CPU 總線矩陣的大小,通常是更高性能、大芯片尺寸和更高功率的子系統(tǒng)。
pYYBAGLslsSAORFKAALVD8ZtOng032.png
圖 2:瑞薩電子 RX600 多總線架構分散帶寬負載。(瑞薩電子提供)
在圖 2 中,同時發(fā)生了六個并行數據傳輸操作:
CPU取指令
USB 數據傳輸到 CPU
以太網數據移出 SRAM
RGB 數據從外部 SDRAM 移出到 LCD
ADC 值加載到 SRAM
定時器數據寫入 DAC 輸出
當多個活動同時發(fā)生時,單獨的外圍總線的可用性可以顯著提高效率。在具有較少同時外圍設備要求的系統(tǒng)中,一個或兩個外圍總線可能就足夠了。
雙 CPU 內核架構
具有雙 CPU 內核的 MCU,例如 Atmel SAM4C8CA,也需要高性能總線接口,甚至可能比單核 MCU 更多,因為允許每個 CPU 訪問關鍵資源非常重要。并行,以便整體系統(tǒng)性能不受影響。在許多實現中,一個 CPU 具有較高的處理能力,而另一個 CPU 具有較小的能力。這在需要較低性能系統(tǒng)控制器和較高性能應用處理器的設計中很有用。
如圖 3 所示,Atmel SAM4C8C 有一個具有浮點能力的 CPU,而另一個具有定點 CPU。SAM4C8C 具有 512 KB 的 Flash 存儲器和 128+16+8 KB 的 SRAM。處理任務分配給適當的 CPU 以提高效率。兩個高速 AHB 多層總線矩陣互連用于支持最大數量的處理重疊。獨立的 DMA 控制器和中斷控制器支持高效的數據傳輸,無需 CPU 干預。一個簡單的異步 AHB 到 AHB 橋用于處理 CPU 尋址空間之間的同步和數據傳輸,即使在 DMA 控制下也是如此。
poYBAGLsm3uAAuw_AAFUxGVYDPs683.png
圖 3:Atmel 雙 CPU 內核 SAM4C8CA 總線接口架構。(由愛特梅爾提供)
低功耗和高效的數據傳輸
您可能會認為這些多總線架構針對的是最高性能的系統(tǒng),但即使是低功耗應用程序也可以利用高效的總線架構。Texas Instruments MSP430F5507IRGZR屬于供應商的MSP430 MCU 系列,將 USB、LCD 控制和高性能模擬集成在一個芯片上,適用于小尺寸應用。外設有幾種自主運行的方法,當 CPU 進入低功耗模式時,這有助于降低運行功耗,如圖 4 所示。
poYBAGLsm4uAQfSkAADvPLoizdA095.png
圖 4:TI MSP430 系列通過使用自主外設實現低功耗運行。(由 TI 提供)
通過使用即使在低功耗操作期間也保持活動狀態(tài)的外圍總線,可以在 CPU 運行期間從 ADC 采樣數據、將數據傳輸到存儲器、輸出 PWM 信號、更新 LCD 顯示以及發(fā)送/接收串行數據通信處于低功耗待機狀態(tài)。請注意,快速喚醒時間可以在需要時快速響應外設請求,而不會在喚醒時消耗大量電力。有了這種能力,即使是短時間的 CPU 操作也可以是高效的。
概括
從復雜的 MCU 中獲得最大性能需要外設和內存之間的大量重疊總線活動,以及在需要時與 CPU 之間的重疊總線活動。通常,最有效的實現會同時進行多個傳輸,而不涉及任何 CPU 活動。了解 MCU 總線接口架構的功能和局限性對于實現高效率至關重要。
BOM配單
稀缺樣品
如需樣品請前往創(chuàng)芯為電子購買。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。