了解如何在MCU的內(nèi)部總線結(jié)構(gòu)驅(qū)動器應(yīng)用效率
微控制器現(xiàn)在有一個驚人的數(shù)字,可以同時使用來卸載低級別的功能從CPU片上外設(shè)。這可以大大提高加工效率,降低功耗,并簡化設(shè)計。你可能會在一個不幸的意外,不過,如果你的外設(shè)功能壓倒內(nèi)部總線接口和數(shù)據(jù)傳輸緩慢的大幅提升。幸運的是,微控制器制造商已經(jīng)增加了新的,高效的總線接口,常與關(guān)鍵外設(shè)和片上存儲器,可以幫助支持多種數(shù)據(jù)傳輸之間的多條路徑。這些新的公交車確實有局限性,但是,由于連接一切,一切是在芯片面積和功耗方面過于昂貴。了解常見的使用模式,這些新的片上總線將幫助您創(chuàng)建,最大限度地提高數(shù)據(jù)傳輸帶寬,高效的設(shè)計。本文將快速回顧一下一些常見的智能片上總線的功能并舉例說明例如設(shè)計,充分利用這些關(guān)鍵功能。一些涉及的主題將包括:片上總線矩陣架構(gòu),采用DMA控制器,專用外設(shè)數(shù)據(jù)傳輸功能,智能緩存,公交優(yōu)先系統(tǒng),并中斷控制。
通用總線接口架構(gòu)
幾個關(guān)鍵的架構(gòu)方法出現(xiàn)在幾乎所有的高性能總線互連結(jié)構(gòu)。這并不奇怪,因為在關(guān)鍵戰(zhàn)略支持高帶寬是能夠建立可獨立運行多個并行連接。總線矩陣架構(gòu),幾個總線控制器可以獨立訪問多個公交車奴,也許是最常見的構(gòu)建塊的高效率總線架構(gòu)。飛思卡爾的Kinetis K70 MCU是需要有效的數(shù)據(jù)處理和移動互連架構(gòu)類型的一個很好的例子。如圖1所示,飛思卡爾的Kinetis K70 MCU使用多級總線矩陣,可八個單獨的總線主控器和八個獨立總線從設(shè)備之間相互連接。這是可能的多個主機和從獨立運作。內(nèi)存分配是非常重要的效益最大化。例如,以下操作可能所有操作在沒有重疊平行:
•核心 - 在Flash中的說明和核心只有數(shù)據(jù)和堆棧的SRAM_L
•USB - 在SRAM_U數(shù)據(jù)緩沖區(qū)
•LCD控制器 - 圖形緩沖區(qū)DDR
圖1:飛思卡爾的Kinetis K70 MCU總線互連架構(gòu)。 (飛思卡爾提供)飛思卡爾還提供了一個模塊化開發(fā)平臺,為K70,它的飛思卡爾Tower System的一部分,使通過可重構(gòu)硬件快速原型和工具再利用。該TWR-K70F120M可與廣闊的選擇塔式系統(tǒng)的外設(shè)模塊,包括新的TWR-LCD-RGB它從K70 MCU圖形LCD控制器接受RGB數(shù)據(jù)。當(dāng)兩個或多個主機試圖訪問一個從端口,接口將使用仲裁算法,以確定哪些主機將首先訪問端口。兩種常見的仲裁方案,可以經(jīng)常用于總線訪問是固定的優(yōu)先級或循環(huán)。在一個固定的優(yōu)先級方案中的主優(yōu)先級是固定的,通過優(yōu)先級較低的主人給予高優(yōu)先級的主站的訪問權(quán)限。如果有幾個主站以相等的優(yōu)先權(quán),以循環(huán)優(yōu)先級方案可以被使用。在這個方案中的主人旋轉(zhuǎn)優(yōu)先為,隨著時間的推移,有平等機會獲得資源。通知的DMA訪問總線矩陣的重要性。通常情況下,DMA傳輸是最節(jié)能的所以對DMA具有高效的主機訪問總線矩陣是至關(guān)重要的。一些資源將有多個連接到總線矩陣 - 注意例如DRAM控制器 - 因為它們是多個主關(guān)鍵資源。這通過消除“訪問阻塞”當(dāng)多個主需要訪問相同的資源,可能會發(fā)生,提高了整體性能。
高級外設(shè)總線結(jié)構(gòu),以提高效率
在許多MCU應(yīng)用,外設(shè)的操作是一樣的CPU和內(nèi)存操作一樣重要。它可以提高轉(zhuǎn)換效率,如果有與關(guān)鍵外設(shè)功能以及基于CPU的功能,采用先進的總線接口。瑞薩RX600 MCU有多個外圍總線,可用于更有效地傳播帶寬負(fù)載。如圖2所示,RX600不僅具有用于面向CPU動作的總線矩陣(在該圖的頂部示出),但多個外圍總線(在圖的底部示出),以更好地智能外設(shè)之間分配帶寬。甲顯著量周流量從來不需要訪問CPU總線矩陣和這個提高了數(shù)據(jù)傳輸效率,而不增加CPU總線矩陣的大小,通常是更高的性能以及大芯片尺寸和更高功率子系統(tǒng)。
圖2:瑞薩RX600多總線架構(gòu)擴展帶寬負(fù)載。[!--empirenews.page--]
(瑞薩提供)在圖2中有一次發(fā)生的6個分?jǐn)?shù)據(jù)傳輸操作:
•CPU獲取指令
•USB數(shù)據(jù)傳送到CPU
•以太網(wǎng)數(shù)據(jù)移出的SRAM
•RGB數(shù)據(jù)被移出外部的SDRAM向LCD
•ADC值加載到SRAM
•定時器數(shù)據(jù)寫入DAC輸出
獨立的外設(shè)總線的可用性可以在多個活動同時發(fā)生提供顯著的效率提升。在具有較少的同時外周要求的系統(tǒng)的一個或兩個外圍總線可能是足夠的。
雙CPU核心架構(gòu)
MCU可提供雙CPU內(nèi)核,像愛特梅爾SAM4C8CA,也有需要高性能總線接口,也許比單核的MCU甚至更多,因為以允許每個CPU訪問關(guān)鍵資源平行是很重要的,使得整體系統(tǒng)性能不會受到影響。在許多實現(xiàn)一個CPU具有更高的處理能力,而其他有更少的能力。這是在需要較低能的系統(tǒng)控制器和性能更高的應(yīng)用處理器設(shè)計是有用的。正如圖3所示,愛特梅爾SAM4C8C具有一個CPU與浮點能力而另一個具有固定點的CPU。 SAM4C8C具有512 KB的閃存和128 + 16 + 8 KB的SRAM。處理任務(wù)被分配到適當(dāng)?shù)腃PU,以提高效率。兩個高速AHB多層總線矩陣互連用于支持處理重疊的最大量。獨立的DMA控制器,中斷控制器,支持無需CPU干預(yù)高效的數(shù)據(jù)傳輸。一個簡單的異步AHB至AHB橋用于處理CPU的尋址空間之間的同步和數(shù)據(jù)傳輸,即使在DMA
控制。
圖3:愛特梅爾雙CPU內(nèi)核SAM4C8CA總線接口架構(gòu)。 (愛特梅爾提供)
低功耗,高效的數(shù)據(jù)傳輸
你可能會認(rèn)為這樣的多總線架構(gòu)是針對最高性能的系統(tǒng),但即使是低功耗應(yīng)用可以利用高效的校車架構(gòu)的優(yōu)勢。供應(yīng)商的MSP430 MCU系列的德州儀器MSP430F5507IRGZR,集成了USB,LCD控制,以及高性能模擬所有小尺寸應(yīng)用在單一芯片上。外設(shè)有幾種方法用于操作自主,并且這可以幫助降低操作功率當(dāng)CPU置于低功率模式,如圖4。
圖4:使用自主外設(shè)TI MSP430系列低功耗運行。 (TI提供)通過使用外圍總線,即使在低功率的操作是可能的采樣來自ADC數(shù)據(jù),將數(shù)據(jù)傳送到存儲器,輸出的PWM信號,更新LCD顯示器,以及發(fā)送/接收串行數(shù)據(jù)通信保持活躍所有在CPU處于低功耗待機狀態(tài)。需要注意的是快速喚醒時間使得可以外設(shè)請求需要時迅速作出反應(yīng),不燃燒一顯著量的功率而醒來。甚至短的CPU的操作可以高效具有這樣的能力。
總結(jié)
獲得最大的表現(xiàn)出一個復(fù)雜的MCU需要顯著量在需要時,向和從CPU外設(shè)和存儲器和,之間的重疊總線活動的。通常情況下,最有效的實現(xiàn)將有多個傳輸同時不參與任何CPU的經(jīng)營活動的。了解MCU的總線接口架構(gòu)的能力和限制是實現(xiàn)效率的一種高層次的關(guān)鍵。