24小時聯系電話:18217114652、13661815404
中文
行業資訊
8 位、16 位和 32 位 MCU,位越多越好嗎?
8 位、16 位和 32 位 MCU,位越多越好嗎?
MCU 中的位越多越好嗎?這類似于問:內燃機 (ICE) 中的氣缸越多越好嗎?外設和其他功能很重要,而不僅僅是位(或柱面)。例如,在20世紀80年代,沃爾沃提供與增快斷了線比雪佛蘭科爾維特與渦輪發動機V4旅行車很多大V8。當然,一旦 V8 在一百碼后上鏈,旅行車就會干杯。但是前一百碼為沃爾沃廣告提供了一個很好的視覺效果。對于 MCU,總功耗、外圍設備的可用性、延遲需求和其他因素都很重要,而不僅僅是位數。
MCU 無處不在。它們存在于手機、玩具、車輛、白色家電、可再生能源系統、物聯網 (IoT) 設備等等中。MCU 對于控制從電機到閃爍 LED 的硬件功能至關重要。MCU 的基本架構包括一個中央處理單元、一些存儲器和外圍功能(圖 1)。MCU 從傳感器、開關和其他設備獲取輸入,并按照預編程指令的規定控制外圍設備的功能,例如顯示器、執行器和電機的驅動器。根據所控制功能的復雜性和各種輸入所需的處理量,MCU 有 8 位、16 位和 32 位可供選擇。一般來說,位數越多,處理潛力越大。
圖 1:MCU 由三個基本元素組成,即中央處理單元 (CPU)、存儲器和外圍功能。
“位”是“二進制數字”。在 8 位 MCU 中,數據以 8 位為一組存儲,稱為字節(或在某些情況下,八位字節)。一個 8 位內存寄存器可以存儲可能的 2 8 個值之一。根據使用的整數表示,實際值的范圍不同。例如,對于無符號二進制數,范圍是 0 到 255(2 8減 1),使用二進制補碼表示,范圍是 -128(-1 X 2 7)到 127(2 7 – 1)。雖然 8 位 MCU 中的數據總線是 8 位寬,但地址總線的寬度可能會有所不同。12 到 16 位的地址總線寬度很常見。例如,一個 16 位寬的地址總線會產生 65,536 (2 16) 個字節(稱為 64KB)。但這些分類只是開始暗示特定 8 位 MCU 的實際功能(圖 2)。
圖 2:8 位處理器可以提供廣泛的性能能力。
8 位 MCU 是通用的;它們提供簡單的編程、能源效率和小封裝尺寸(有些只有六個引腳)。但是這些 MCU 通常不是為了實現網絡和通信功能而設計的。最常見的網絡協議和通信軟件堆棧是 16 位或 32 位。某些 8 位設備可以使用通信外設,但 16 位和 32 位 MCU 通常是更有效的選擇。盡管如此,8 位 MCU 通常用于各種控制、傳感和接口應用。
32 位更強大
雖然 8 位處理器用途廣泛,但它們的性能同樣受到限制。當 8 位不夠用時,設計人員可以求助于 32 位 MCU,它可以帶來相當大的性能沖擊。32 位 MCU 的應用范圍很廣,它們可以支持高端代數運算和浮點數學運算。雖然 8 位 MCU 通常僅限于幾 MHz 的處理速度,但 32 位單元的時鐘頻率可以達到 GHz 范圍,盡管幾百 MHz 單元更為常見。
提高性能的同時也增加了 32 位 MCU 的編程復雜性,包括多個狀態寄存器、復雜的中斷管理、多層固件執行權限等。這是 32 位單元如此強大的部分原因。它們可以為需要大量數據處理的應用程序快速處理數千個復雜的計算,例如圖像處理或高速系統的實時控制。此外,32 位處理器通常需要更大的內存地址空間來緩沖高帶寬數據流。
通常與 32 位 MCU 相關的更高時鐘速度也會導致能耗增加。一般來說,32 位 MCU 可以通過犧牲更高的能耗來支持更密集的計算。但是在 8 位和 32 位之間的選擇并不是那么簡單。例如,32 位 MCU 可以比 8 位 MCU 更快地完成一系列計算,然后進入更長時間的睡眠模式。那么,32位MCU是不是更節能呢?這是可能的,但不一定是真的。8 位 MCU 可以降低整體能耗,并有助于延長便攜式設備的電池壽命。選擇并不簡單,必須根據具體情況確定最佳能耗解決方案。
有一個中間立場
回到 ICE 的類比,在 4 柱面(8 位)和 8 柱面(32 位)之間有一個中間地帶;通常,6 柱面(16 位)設計可以提供恰到好處的效率和性能組合。8 位 MCU 的性能本質上是有限的,只能通過添加外設在有限的范圍內提高。使用 32 位 MCU 的系統可提供更高的性能,但與替代解決方案相比,它可能會過度殺傷并消耗更多功率。
這就是 16 位 MCU 的用武之地;它們可以結合 8 位單元的簡單性,同時提供增強的性能而不會造成過多的功耗損失。特別是在不需要大量多線程和中等內存需求的應用中,16 位 MCU 可以提供最佳的中間解決方案(圖 3)。
圖 3:與 8 位器件相比,具有用于電機控制、數字電源轉換、低功耗電池供電設計、高級模擬集成和硬件安全的專用外設的 16 位 MCU 可以提供性能增強。
外圍設備可能是關鍵。一些 16 位 MCU 具有支持密集數學計算的數學協處理器,類似于某些 32 位單元在相同時鐘速度下。而且,有許多支持 16 位 MCU 的通信堆棧。例如,如果實施正確,以太網、控制器局域網 (CAN)、通用串行總線 (USB) 和 Zigbee 都是可以在 16 位 MCU 上高效運行的通信協議。與許多 32 位解決方案相比,使用 16 位 MCU 可以提供更簡單的電路板實現。
添加外圍設備
外設的可用性及其駐留位置可能是推動選擇 8 位、16 位或 32 位的重要因素??梢赃x擇向 8 位 MCU 添加外部通信外設。但是,添加外圍芯片通??梢韵褂?span> 8 位 MCU 的成本效益。使用已經集成了通信功能的 32 位單元會更便宜。向上擴展會發現 32 位 MCU 通常包含更多功能,并且可以比 8 位和 16 位設備更有效地處理多個外圍功能。
涉及更大數量和快速計算的應用程序受益于 16 位和 32 位 MCU 的使用??梢詮?span> 16 位或 32 位 MCU 受益的示例包括 FFT 計算、高質量音頻或視頻、高分辨率圖像處理和各種邊緣計算應用。此外,機器學習和人工智能實現通常需要 32 位,通常帶有特定于應用程序的加速器。
另一方面,處理來自傳感器或其他來源的模擬信號不一定受益于使用 32 位或 16 位 MCU。8 位 MCU 可以包括支持 8 位、10 位、12 位甚至 16 位速率的內置模數轉換器 (ADC)。
8 位 MCU 可以支持某些加密功能以提高安全性。但這些功能通常是在硬件中實現的,這會增加成本或軟件,從而增加了相對低功耗處理器的負擔。如果更高級別的安全功能很重要,那么使用 16 位或 32 位 MCU 可能是明智的。
總結一下——哪個 MCU 最好?
那么,越多越好嗎?不,不一定。這是一個復雜的決策過程(圖 4)。成功的設計確定了以最具成本效益的方式提供所需性能的 MCU 架構。對于電池供電的設備,以最節能的方式。
圖 4:8 位與 32 位 MCU 比較:8 位器件幾乎總是比 32 位設計功耗更低,雖然 8 位單元的成本可能更低,但并非總是如此。選擇很復雜,取決于許多特定于應用程序的要求。在某些情況下,16 位 MCU 可能是最佳選擇。
確定最佳 MCU 不一定是一個簡單的問題。有時,這不僅僅是關于當今的性能要求;隨著時間的推移,可能需要提供具有增長潛力的解決方案來處理更具挑戰性的應用需求。例如,安全需求可以不斷發展。適應未來對新的或增加的安全功能的需求的能力可能是一個重要的應用考慮因素。
如果特定應用需要大量隨機存取存儲器 (RAM),與 8 位甚至 16 位設備相比,使用 32 位 MCU 通常會提供更多的 RAM。在比較各種 MCU 替代方案時,延遲是另一個需要考慮的因素。使用 8 位、16 位或 32 位 MCU 可能“同樣出色地”執行某些功能。但是,如果應用程序需要低延遲,則可能需要具有更快時鐘速率的 16 位或 32 位處理器的速度。