MCU的主要選擇技巧
對于嵌入式設計,最重要的考慮因素是MCU核心處理器內核性能是否可以充分滿足預期的工作要求。基本的8位流水線(pipeline)型MCU能夠處理涉及監(jiān)控I/O端口,并根據(jù)這些輸入更改狀態(tài)等控制任務。但是,如果任務中涉及算法(例如閉環(huán)控制)中輸入的算術操作,則系統(tǒng)可能需要更復雜的指令集,這需要轉移到16位甚至32位流水線型MCU。位數(shù)較高的流水線MCU具有將采樣和其他實際數(shù)據(jù)一并處理的優(yōu)勢。 而對于一個8位流水線MCU,除了最小數(shù)據(jù)值外,所有其他數(shù)據(jù)均需要分成子單元進行處理,這會影響性能。對于閉環(huán)控制,能夠支持數(shù)字信號處理的16位架構通常會在成本與算術性能之間具備最佳平衡。但是,對于需要支持控制、通信和管理等復合功能的系統(tǒng),可能需要更高的32位流水線MCU能力。
I/O端口
使用MCU進行設計的巨大優(yōu)勢是它們都具有多種集成的I/O端口。通過精心選擇I/O端口的組合,這些端口可以專門針對一些特定應用量身定制,端口可以從寄存器可編程數(shù)字信號線到智能電機控制單元,再到用于IoT連接的整個無線子系統(tǒng)。首先確定應用需要哪些功能,通常可以直接使用參數(shù)搜索來創(chuàng)建合適器件的候選清單。在理想的情況下,總有一個MCU具有應用所需的全部I/O。但是,現(xiàn)實卻可能不是這樣,尤其是對于更多的細分市場設計。許多外圍設備都符合通用接口規(guī)范(例如I2C或SPI),或者可以采用并行接口,由此可以連接到存儲器總線,或者可以通過控制通用I/O線進行訪問。通過分析設計中所需的外部組件可確定除內置外設之外,MCU是需要串行I/O還是并行I/O端口。
存儲器
存儲器通常是在MCU系列中選擇特定部件的主要考慮標準。由于外部存儲器會增加總體成本,而且訪問所需的額外周期常常會降低性能,因此,盡管通常在系統(tǒng)斷電時可使用外部串行存儲器用于存儲配置數(shù)據(jù),確保目標應用與所選MCU的存儲器限制能夠匹配非常重要。至于性能評估,設計團隊需要估計具體應用和隨附的操作系統(tǒng)(如果只需要一個操作系統(tǒng))會在程序和數(shù)據(jù)存儲方面占用多少字節(jié)。通常,在選擇MCU之前,應用無法完全確定。此外,即便使用函數(shù)點(function-point)分析之類的估算技術,仍然很難確定實際存儲器使用情況的準確預測。因此,建議選擇一個MCU系列,它能夠輕松調節(jié)包括閃存和SRAM等存儲器大小。由于MCU都具有配置多種存儲器大小的變型,因此通??梢灾苯愚D換到下一個器件,而不會影響引腳布局或設計的其他方面。
功率
能耗已成為嵌入式系統(tǒng)設計人員考慮的一個主要問題。當今的許多物聯(lián)網項目都會依靠單節(jié)電池運行數(shù)年,即使對于采用市電供電的系統(tǒng),能效目前也已成為工程師的核心考慮標準之一。通過精心選擇MCU可以有多種方式來提高能效。一種是繼續(xù)轉向更密集的處理,以便利用擴展的優(yōu)勢(不僅局限在邏輯和存儲容量上,而且在功耗方面)。然而,當MCU必須運行的工作載荷較輕時,通??梢圆呗孕缘夭捎玫突顒有院退吣J絹硖岣吣苄?。將活動分解成短脈沖,設計人員可以利用睡眠模式將電流消耗降低到僅為nA級。此外,越來越多的MCU可提供智能外圍控制器,使得無需喚醒處理器內核即可執(zhí)行常規(guī)功能。這樣可以使睡眠時間最大化,因而減少了運行該應用所需的功率。
工具
工具支持是許多領先MCU架構的關鍵差異化因素。盡管通過參數(shù)搜索會得到來自不同處理器體系結構的多個候選者,但是工具支持在多大程度上能夠適合開發(fā)團隊的需求,這是決定選擇哪種MCU的重要考慮因素,同時要強調的是需要考慮開發(fā)人員的技能和經驗。擁有大型系統(tǒng)開發(fā)所需高級語言深度知識的工程師自然會傾向于使用ARM等32位架構,因為它們能夠提供最廣泛的編譯器選擇。而如果存儲器和成本限制是主要的考慮因素,或許更應該采用8位或16位體系結構,并考慮它們對C代碼可能施加的某些限制。在許多情況下,可以使用各種各樣的工具。編譯器、調試器和鏈接器(linkers)的完整工具鏈支持主要的8位和16位MCU架構,這些工具鏈通常包含在集成開發(fā)環(huán)境(IDE)中,并且價格非常合理。
封裝
在許多設計中,容納MCU所需的空間是一個重要的考慮因素。用戶經常傾向于選擇采用高集成度MCU解決方案,因為這種方案可以實現(xiàn)緊湊的外形尺寸。但是,核心封裝設計和板級設計可以支持的功能之間需要進行折衷權衡。例如,越來越多的MCU以芯片級封裝提供,以便盡可能減少這些器件所占用的空間。封裝下方的互連密度可能會對PCB設計造成很大挑戰(zhàn),需要采用成本更高的堆疊和組裝工藝。電路板空間還會受到所需支持組件數(shù)量以及目標PCB上可用的布線選擇等影響。