天天看點

如何選擇合适的基于ARM的MCU

并非所有基于ARM架構的MCU都能提供相同水準的性能和能效,是以選擇合适的方案是非常重要的。

許多MCU供應商組合包括主題上的數百種變體。雖然看起來基于ARM Cortex-M的MCU的出現可能是這一廣泛選擇的核心,但實際上總有很多32位選項可供選擇。

在過去,對任何給定指令集的支援隻是選擇過程中的一個重要元素,但是由于ARM,指令集的相關性可能已經變得沒有實際意義。圍繞Cortex-M核心的生态系統意味着工程師可以在一個架構上合理地标準化。但這仍然有許多功能需要比較。在今天的嵌入式應用程式中,這将重點放在一個簡短的參數清單中,這些參數仍然可以根據需求進行測量。那麼讓我們來看看需要考慮的八個最重要的MCU功能。

有功功率

與使用CMOS技術制造的所有內建器件一樣,MCU僅在其邏輯門改變狀态時消耗功率。現代MCU中CMOS門的數量意味着功耗可能會變得很大,特别是在高時鐘速率下。是以,有源功耗是近年來大多數裝置制造商關注的關鍵數字和面積。

大多數MCU将努力在有功功耗和處理性能之間取得平衡。即使相同的核心位于器件的核心,該參數也可能因MCU供應商的設計專業知識而有很大差異。

性能

了解性能名額非常重要,特别是在查閱資料表時,因為規格經常在“理想”(或更不适合)的操作條件下報告。要提供高性能和低有功功率是困難的,同樣,一個領域MCU供應商可以區分他們的産品。仔細比較資料表性能規格,并向MCU供應商詢問結果背後的實際運作條件。

響應

保持有功功率低的一種方法是降低工作頻率,這不可避免地并且很自然地導緻睡眠模式。任何MCU都可以進入消耗最少有功和靜态功耗的模式,但總是通過時鐘和功率門控來實作,即将時鐘或功率移到MCU的特定區域。在不适當考慮目标應用的要求的情況下使用該技術的懲罰可能導緻MCU在需要時恢複其職責的速度很慢。從深度睡眠模式快速喚醒是MCU供應商中一個激烈争議的參數。

能源效率

如果降低響應性是使用睡眠模式的懲罰,則益處是較低的能量消耗。在這裡,趨勢是已經有一段時間并且實施一系列睡眠模式,為正确的操作條件提供适當的效率水準。降低功耗和快速喚醒的休眠模式應該補充深度睡眠模式,在應用需要時,即使以更長的喚醒時間為代價,也能将功耗降至最低。超低功耗有源和睡眠模式的組合以及非常快的喚醒時間定義了MCU的能效。

如何選擇合适的基于ARM的MCU

能源效率由功耗随時間變化定義,即最低有效和睡眠模式能量加上最快的喚醒時間。

外設

MCU設計的最新發展是在外圍子系統中實作更高的智能,允許各種外設自動運作。除了為應用程式開發帶來新的次元之外,自主外設的最重要的好處是它們允許核心更長時間保持(深度)睡眠模式。自動外圍裝置無需定期從深度節能睡眠模式中出現以檢查事件,而是能夠注冊事件并決定是否需要核心幹預。如果您的應用需要出色的能效,請務必選擇具有支援自主外設操作的架構的MCU。

情報

自治不需要以單個事件結束; 一些MCU現在實作了允許多個外設進行互操作的系統,進而在喚醒CPU核心之前解析更複雜的條件或一系列互相依賴的事件。MCU供應商對該功能的支援要少得多,但可以在特定應用中提供顯着優勢,特别是那些由電池供電且需要檢測不頻繁事件或條件的應用,例如環境變化(濕度,煙霧和二氧化碳)或入侵。

接口

一些供應商提供的MCU能夠直接和智能地連接配接到更廣泛的信号。MCU本質上是數字的,但通常具有高水準的混合信号能力,例如內建模拟到數字和數字到模拟轉換器。然而,由于我們生活的世界本質上仍然是模拟的,是以越來越需要為模拟信号提供更大的支援,特别是那些來自傳感器的模拟信号。物聯網(IoT)将由先進的傳感器啟用,這些傳感器将包含很小的模拟信号。能夠直接連接配接到小型電容式,電感式或電阻式傳感器,并在喚醒CPU之前智能地解析信号,這無疑将成為面向物聯網設計的常見用例。

軟體

雖然如前所述,ARM Cortex系列擁有強大且不斷發展的軟體提供商生态系統,但終端應用程式仍需要專用的應用程式代碼。軟體開發現在被認為是工程資源的最大單一消費者,是以在選擇合适的MCU時,考慮生态系統和MCU供應商提供的軟體支援水準和工具品質非常重要。MCU供應商仍然必須提供強大且使用者友好的軟體開發工具。即使IDE由首選合作夥伴提供,也必然會有特定差異化功能所需的支援元素。尋找能夠提供非常全面的開發生态系統的MCU供應商,旨在簡化設計過程。

如何選擇合适的基于ARM的MCU

Silicon Labs的Simplicity Studio生态系統是一個以能源優化工具為特色的綜合開發平台的主要示例。

為選擇最合适的32位MCU需要全面了解應用和可用的MCU解決方案。在高層面上來看,許多基于ARM的MCU可能看起來一樣,但事實是它們不是。通過仔細定義您的應用需求,工程師将能夠更好地評估供應商選項并找到理想的32位MCU。