天天看點

8位、16位和32位的MCU,更多的位是更好的嗎?

8位、16位和32位的MCU,更多的位是更好的嗎?

圖1: mcu 由三個基本單元組成,中央處理器(CPU)、存儲器和外圍功能

“ bit”是“二進制數字”在一個8位單片機中,資料以8位的形式存儲,稱為位元組(在某些情況下,稱為八位元)。一個8位記憶體寄存器可以存儲28個可能值中的一個。根據所使用的整數表示形式,實際值的範圍不同。例如,對于無符号二進制數,範圍是0到255(28減1) ,使用2的補碼表示,範圍是 -128(- 1 x27)到127(27-1)。雖然8位單片機中的資料總線是8位寬的,但是位址總線寬度可以不同。位址總線寬度通常為12位到16位。例如,16位寬位址總線的結果是直接可尋址記憶體空間為65,536(216)位元組(稱為64kb)。但是這些分類隻是開始暗示特定的8位 mcu 的實際功能(圖2)。

8位、16位和32位的MCU,更多的位是更好的嗎?

圖2:8位處理器可以提供廣泛的性能能力

8位 mcu 是多功能的; 它們提供簡單的程式設計、能源效率和小型封裝尺寸(有些隻有六個引腳)。但是這些微控制器通常不是用來實作網絡和通信功能的。最常見的網絡協定和通信軟體堆棧是16位或32位。通信外圍裝置可用于一些8位裝置,但16位和32位 mcu 往往是更有效的選擇。盡管如此,8位 mcu 通常用于各種控制、傳感和接口應用程式。

32位功耗更高

雖然8位處理器是通用的,但它們的性能也同樣有限。當8位不足時,設計人員可以使用32位的 mcu,它可以帶來相當大的性能沖擊。32位 mcu 被廣泛應用,它們可以支援高端代數運算和浮點數學。雖然8位 mcu 通常被限制在幾兆赫茲的處理速度,但是32位單元可用,時鐘頻率在 GHz 範圍内,盡管幾百兆赫茲單元更為常見。

提高性能的代價是增加32位 mcu 的程式設計複雜性,包括多個狀态寄存器、複雜的中斷管理、多層固件執行特權等等。這就是為什麼32位機關如此強大的部分原因。他們可以快速處理數以千計的複雜計算,以滿足需要大量資料處理的應用,例如圖像處理或高速系統的實時控制。此外,32位處理器的較大記憶體位址空間往往需要緩沖高帶寬的資料流。

通常與32位 mcu 相關的較高時脈速度也會導緻能量消耗的增加。一般來說,32位 mcu 可以通過交換更高的能量消耗來支援更高強度的計算。但是在8位和32位之間的選擇并沒有那麼簡單。例如,32位單片機可以比8位單片機更快地完成一系列計算,然後進入睡眠模式的時間更長。那麼,32位 MCU 是否更節能呢?這是可能的,但不一定是真的。一個8位單片機可以有較低的總體能源消耗和有助于更長的電池壽命在便攜式裝置。選擇并不簡單,最佳能源消耗解決方案必須根據具體情況确定。

這裡有一個中間地帶

回到 ICE 的類比,在4個圓柱體(8位)和8個圓柱體(32位)之間有一個中間地帶; 通常,6個圓柱體(16位)的設計可以提供正确的效率和性能組合。8位 mcu 的性能本質上是有限的,隻能通過添加外圍裝置在一定範圍内進行改進。使用32位 mcu 的系統可以提供更高的性能,但是與其他解決方案相比,可能會過度消耗并消耗更多的功耗。

這就是16位 mcu 的用武之地; 它們可以結合8位單元的簡單性,同時提供增強的性能,而不需要過多的功耗。特别是在不需要大規模多線程和适度記憶體需求的應用程式中,16位 mcu 可以提供最佳的中間解決方案(圖3)。

8位、16位和32位的MCU,更多的位是更好的嗎?

圖3:16位 mcu 與8位裝置相比,配有專門的電機控制外圍裝置、數字變流技術、低功耗電池供電設計、進階模拟內建和硬體安全性能提高。(圖檔: 微晶片)

外圍裝置可能是關鍵。一些16位 mcu 有數學協處理器,支援密集的數學計算,類似于在相同時脈速度下的32位單元。此外,還有許多支援16位 mcu 的通信棧。例如,有了正确的實作,以太網、控制器區域網路路、通用串行總線(USB)和 Zigbee 等通信協定就可以在16位 mcu 上高效運作。與許多32位解決方案相比,使用16位 mcu 可以提供更簡單的電路闆實作。

增加外圍裝置

外圍裝置的可用性以及它們所在的位置可能是推動選擇8位、16位或32位的重要因素。向8位單片機添加外部通信外設也是一種選擇。但是,外圍晶片的加入往往會降低使用8位單片機的成本效益。使用一個內建了通信功能的32位單元可以節省成本。向上移動規模發現32位 mcu 通常包含更多的功能,并且能夠比8位和16位裝置更有效地處理多個外圍功能。

使用16位和32位 mcu 可以使計算量更大、速度更快的應用程式受益。可以受益于16位或32位 mcu 的示例包括 FFT 計算、高品質音頻或視訊、高分辨率圖像處理和各種邊緣計算應用程式。此外,機器學習和人工智能的實作通常需要32位,通常使用特定應用程式的加速器。

在複雜度的另一端,處理來自傳感器或其他來源的模拟信号并不一定受益于使用32位或16位 mcu。8位 mcu 可以包括内置的模數轉換器(adc) ,支援8位、10位、12位甚至16位速率。

8位 mcu 可用于支援一些加密功能,以提高安全性。但是這些功能通常是在硬體上實作的,這增加了成本,或者軟體增加了相對低功耗處理器的負擔。如果進階安全功能很重要,那麼使用16位或32位單片機可能是明智的。

總結-哪個單片機是最好的?

那麼,更多的比特更好嗎?不,不一定。這是一個複雜的決策過程(圖4)。成功的設計确定了以最具成本效益的方式提供所需性能的單片機架構。對于電池供電的裝置,以最節能的方式。

8位、16位和32位的MCU,更多的位是更好的嗎?

圖4:8位與32位單片機的比較: 8位裝置幾乎總是比32位設計的功耗要低,而8位機關的成本可以更低,但這并不總是正确的。選擇是複雜的,取決于許多特定于應用程式的需求。在某些情況下,16位單片機可能是最佳選擇。

确定最佳的單片機不一定是一個簡單的問題要回答。有時,這不僅僅是關于當今的性能需求; 随着時間的推移,可能需要傳遞一個具有增長潛力的解決方案,以處理更具挑戰性的應用程式需求。例如,安全需求可以不斷發展。适應未來對新的或增加的安全功能的需求的能力可能是一個重要的應用考慮因素。

如果一個特定的應用程式需要大量的記憶體,使用32位 MCU 通常會比8位甚至16位裝置提供更多的記憶體随機存取存儲器。延遲是比較各種 MCU 選擇時需要考慮的另一個因素。可以使用8位、16位或32位 MCU“同樣好地”執行某些功能。但是,如果應用程式需要較低的延遲,那麼它可能需要16位或32位處理器的速度和更快的時鐘速率。

白紀龍老師從事電子行業已經有15個年頭,

到目前為止已開發過的産品超上百款,目前大部分都已經量産上市,

從2018年開始花了5年的時間,

潛心錄制了上千集的實戰級電子工程師系列課程,

該課程從元器件到核心子產品到完整産品

老白的初心是“願天下工程師 不走彎路”

繼續閱讀