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