現(xiàn)代MCU增加了一系列新功能,如果使用得當,可以顯著提高應(yīng)用效率。特別地,使用可獨立于CPU操作的智能外圍設(shè)備,外圍設(shè)備允許CPU并行地執(zhí)行其他任務(wù)或者使其進入低功率睡眠模式。使用這些技術(shù)中的任何一種都可以提高整體處理效率和節(jié)省功耗。
基于MCU的設(shè)計中遇到的首批智能外設(shè)之一是直接存儲器訪問(DMA)控制器。這種專用硬件模塊可以在存儲器和/或外設(shè)之間傳輸數(shù)據(jù),而不需要CPU參與每次傳輸。高級DMA控制器(例如STMicroelectronics STM32F4系列中包含的控制器)可以通過使用靈活的數(shù)據(jù)流分配和傳輸管理功能進一步卸載CPU。讓我們更詳細地看一下這些功能,看看它們?nèi)绾斡糜谔岣咛幚硇省D1顯示了一個框圖,表示STM32F4器件上兩個DMA控制器之一可用的各種數(shù)據(jù)路徑。如圖左側(cè)所示,DMA請求來自8個不同的通道(分配給各種啟用DMA的外設(shè)),并被路由到仲裁器上的8個不同的請求輸入,建立優(yōu)先級(編號較低的輸入具有更高的優(yōu)先級) )。然后激活最高優(yōu)先級的傳輸,圖右側(cè)的AHB Masters執(zhí)行所需的數(shù)據(jù)傳輸。內(nèi)存和外設(shè)接口的獨立主機進一步提高了外設(shè)到內(nèi)存?zhèn)鬏數(shù)男剩@可能是基于MCU的設(shè)計中最常用的DMA。
為每個流分配單獨的FIFO,如圖所示在圖1的中間,允許針對每個外設(shè)接口的特性調(diào)整FIFO特性。例如,F(xiàn)IFO的閾值電平(請求傳輸?shù)纳疃龋┛梢詥为氃O(shè)置為FIFO大小的1/4,?或3/4。這允許低速通道在傳輸之前等待FIFO幾乎滿,以最小化開銷。更快的通道可以更快地啟動傳輸,可能是?大小以避免FIFO溢出。
圖1:STM32F4系列DMA控制器(由STMicroelectronics提供)。
其他高級DMA尋找的能力與數(shù)據(jù)傳輸?shù)墓芾碛嘘P(guān)。某些外設(shè)提供傳輸結(jié)束指示器,高級DMA控制器可以檢測并使用它來獨立于CPU終止傳輸。 DMA控制器完成雙緩沖和循環(huán)緩沖管理,通過在傳輸過程中自動重新配置源和目標來消除CPU開銷。如果CPU需要管理這些類型的低級任務(wù),您可以看到處理效率會受到影響映射,優(yōu)先級排序和管理數(shù)據(jù)傳輸活動的這種靈活性大大降低了CPU開銷,一旦初始化了智能DMA控制器,就可以管理傳輸并有效地分配帶寬而無需進一步的CPU干預(yù)。這種獨立操作是任何智能外設(shè)的關(guān)鍵特性,設(shè)計人員在選擇目標器件時應(yīng)該尋找,我們將在其他智能外設(shè)中找到我們將在下面討論的內(nèi)容。
在串行外設(shè)中尋找智能《 br》一旦理解了DMA的使用,就可以自然地尋找為串行外圍設(shè)備提供額外智能的方法,以充分利用DMA功能并進一步從低級功能中卸載CPU。集成到高速外設(shè)(如以太網(wǎng)和USB)中的專用FIFO緩沖器的使用提供了額外的CPU自治水平,因為可以通過單個突發(fā)中的傳輸來分階段和處理傳輸,以提高效率。智能外設(shè)可以根據(jù)帶寬要求設(shè)置CPU可以中斷的各種級別。請注意,這些獨立的FIFO可以與專用于DMA控制器的任何FIFO配合使用,如圖1所示的STM32F4器件。外設(shè)FIFO可以提供第一級緩沖,DMA可以根據(jù)哪些外設(shè)同時處于活動狀態(tài)來提供第二級。當FIFO僅在外設(shè)上可用時,這允許額外級別的管理和控制(即智能)。
如前所述,許多外設(shè)包括可用于請求CPU干預(yù)的靈活中斷,如果中斷具體到足以告訴CPU究竟需要什么服務(wù),響應(yīng)時間可以大大減少。如果中斷不是智能的,則CPU需要搜索各種標志或狀態(tài)位以確定要采取的操作。在時序預(yù)算和延遲要求最具侵略性的情況下,使用具有智能中斷的外設(shè)可以產(chǎn)生很大的不同。
有些MCU采用這種方法更進一步,完全消除了某些操作的中斷。 Energy Micro(現(xiàn)為Silicon Labs的一部分)EFM32GZ系列包括一個特殊的外設(shè)反射系統(tǒng)(PRS),可通過允許外設(shè)之間的快速和自主通信來實現(xiàn)許多常見的中斷功能。由于來自一個外圍設(shè)備的事件可以用作輸入信號或由其他外圍設(shè)備觸發(fā),因此可以消除對CPU的中斷以實現(xiàn)簡單的內(nèi)務(wù)處理功能的需要。通過四個可配置互連通道之一選擇和路由這些信號。生成外設(shè)(產(chǎn)生事件的外設(shè))的輸出被路由到消費者(由事件觸發(fā)的外設(shè))并針對電平或上升/下降沿靈敏度進行調(diào)整。
PRS的示例使用如圖2所示。定時器可以用于觸發(fā)ADC轉(zhuǎn)換的開始,ADC轉(zhuǎn)換完成信號可用于觸發(fā)DMA傳輸。反過來,DMA完成信號可用于重置定時器以重新開始序列。無需CPU干預(yù),無需生成中斷。請注意,在進行了一些測量(可能是1,000次)之后,可以將額外的計數(shù)器添加到用于喚醒CPU的PRS中。然后,CPU可以同時處理所有1,000個樣本,以進一步提高處理能力和功效。
圖2:Silicon Labs EFM32GZ系列外設(shè)反射系統(tǒng)示例(由Silicon Labs提供)。 》多核MCU創(chuàng)建智能外設(shè)
高性能MCU的終極卸載引擎是一個協(xié)處理器,可以完全獨立地管理外設(shè)I/O功能。最近采用NXP LPC4370FET100E的多核MCU,允許設(shè)計人員創(chuàng)建一個專用于外設(shè)控制的完全獨立的通道控制器。實際上,恩智浦LPC4370有三個CPU內(nèi)核:主ARM Cortex-M4 CPU,面向協(xié)處理器的ARM Cortex-M0 CPU,以及面向外設(shè)控制的ARM?Cortex?-M0 CPU。圖3顯示了面向外設(shè)的CPU(位于框圖左上方)是外設(shè)子系統(tǒng)的一部分,該子系統(tǒng)包括AHB子系統(tǒng)總線矩陣,SPI端口,子系統(tǒng)GPIO和本地SRAM存儲器。核心到核心的橋通過主AHB總線矩陣將子系統(tǒng)連接到設(shè)備的其余部分。外設(shè)子系統(tǒng)具有獨立管理外設(shè)所需的所有硬件,在某些情況下可以是唯一的CPU活動,其他CPU處于低功耗狀態(tài)以提高電源效率。
圖3:恩智浦LPC4370系列框圖(由恩智浦提供)。但是,智能外設(shè)控制無需停在那里。實際上,第二個ARM Cortex-M0 CPU也可用于外設(shè)控制,可能用于模擬DAC和ADC子系統(tǒng),也可用作智能電機控制外設(shè)。智能外設(shè)控制的這種分層使得僅啟用所需的子系統(tǒng)成為可能;高性能數(shù)據(jù)處理功能中的主CPU,通過SPI端口進行命令處理時的低速智能外設(shè)接口(設(shè)備的其余部分處于掉電模式),或高速智能外設(shè)控制器期間電機控制或模擬操作。當多個內(nèi)核可用于創(chuàng)建獨立的智能子系統(tǒng)時,獨立操作的可能性很大,并且可以更輕松地針對應(yīng)用的特定需求進行定制。
不要忽視智能模擬
可能很容易專注于數(shù)字外設(shè),忽略了模擬外設(shè)中可用的新功能,這些功能也為他們提供了更高的智能水平。瑞薩RL78系列等高級MCU中包含的模數(shù)轉(zhuǎn)換器(ADC)能夠獨立運行,類似于串行端口等數(shù)字外設(shè)所描述的操作。例如,智能ADC可以配置為在由硬件定時器觸發(fā)時進行定期測量,完全獨立于CPU。捕獲的值可以使用DMA功能按順序存儲到存儲器中,并且在需要進行足夠的測量以進行處理之前,CPU不需要參與。在數(shù)字信號處理(DSP)應(yīng)用中,在需要處理之前可能需要進行一千次測量。在此期間,CPU可以執(zhí)行其他功能,或者可以進入低功耗睡眠模式和定時器中斷,用于在獲取足夠的樣本時喚醒CPU。很容易看出,在需要使用CPU捕獲和存儲每個ADC測量值的實現(xiàn)中,處理和功率效率都得到了很大改善。
您可能認為這種級別的智能自主操作就足夠了,但是正如他們在低預(yù)算的深夜電視廣告中所說的那樣,“等等,還有更多!”瑞薩RL78 ADC還具有窗口功能,可用于進一步改善自主操作。該功能允許編程人員為捕獲的ADC值定義低電平和高電平閾值(窗口),如圖3所示。如果捕獲的值超出定義的閾值,則可以生成中斷(如果ADRCK控制位設(shè)置為“1”。請注意,如果需要反向窗口,如果值落在窗口內(nèi),則可以生成中斷。如果模擬值開始在可接受范圍之外漂移,則此功能允許快速響應(yīng)。如果沒有這種智能水平,則需要捕獲完整數(shù)據(jù)集(可能是一千次測量)的結(jié)束,然后大量的CPU周期掃描整個數(shù)據(jù)集以確定該值是否已開始超出可接受的范圍。如果每10μs進行一次測量并且每次進行1,000次測量,則對閾值違規(guī)的最壞情況響應(yīng)將超過10 ms(不包括CPU掃描整個數(shù)據(jù)集的時間,整個時間刻錄功率) 。顯然,像瑞薩RL78那樣使用窗口函數(shù)可以節(jié)省大量的處理周期時間和功耗。
圖4:瑞薩RL78 ADC窗口函數(shù)的范圍設(shè)置(由瑞薩提供。)智能使用低功耗模式
重要的是要注意,將非活動CPU置于低功耗模式的能力是進一步提高功效的關(guān)鍵技術(shù)。 TechZone最近的一篇文章“使用MCU電源管理選項來優(yōu)化系統(tǒng)效率”提供了一個很好的資源,可以更好地理解各種可用的低功耗模式,因此我們可以在此處放棄詳細討論。我們關(guān)于低功耗模式的關(guān)鍵點是,智能外設(shè)由于其自主運行能力,提供了許多機會將CPU置于低功耗狀態(tài),“節(jié)省”它們用于最擅長的復(fù)雜數(shù)據(jù)處理任務(wù)。當?shù)凸哪J脚c智能外設(shè)結(jié)合使用時,功耗和處理效率的提高可能會非常顯著??偠灾琈CU已開發(fā)出多種自主功能,可用于卸載低級處理任務(wù)以進行管理外圍設(shè)備及其相關(guān)的數(shù)據(jù)傳輸功能。新的多核MCU提供了更多創(chuàng)建和使用智能外設(shè)的機會,可以滿足應(yīng)用的特定需求。當正確集成到基于MCU的應(yīng)用程序中時,智能外設(shè)子系統(tǒng)的使用可以顯著提高處理和功效。不要忽視設(shè)計中的這些機會。
-
mcu
+關(guān)注
關(guān)注
146文章
16812瀏覽量
349452 -
控制器
+關(guān)注
關(guān)注
112文章
16039瀏覽量
176746 -
存儲器
+關(guān)注
關(guān)注
38文章
7408瀏覽量
163422 -
cpu
+關(guān)注
關(guān)注
68文章
10780瀏覽量
210506
發(fā)布評論請先 登錄
相關(guān)推薦
評論