MCU中的位越多越好嗎?這類似于問:內(nèi)燃機(jī)(ICE)中的氣缸越多越好嗎?外設(shè)和其他功能很重要,而不僅僅是位(或bit)。對于MCU,總功耗、外圍設(shè)備的可用性、延遲需求和其他因素都很重要,而不僅僅是位數(shù)。
MCU無處不在。它們存在于手機(jī)、玩具、車輛、白色家電、可再生能源系統(tǒng)、物聯(lián)網(wǎng)(IoT)設(shè)備等等中。MCU對于控制從電機(jī)到閃爍LED的硬件功能至關(guān)重要。MCU的基本架構(gòu)包括一個中央處理單元、一些存儲器和外圍功能(圖1)。MCU從傳感器、開關(guān)和其他設(shè)備獲取輸入,并按照預(yù)編程指令的規(guī)定控制外圍設(shè)備的功能,例如顯示器、執(zhí)行器和電機(jī)的驅(qū)動器。根據(jù)所控制功能的復(fù)雜性和各種輸入所需的處理量,MCU有8位、16位和32位可供選擇。一般來說,位數(shù)越多,處理潛力越大。
“位”是“二進(jìn)制數(shù)字”。在8位MCU中,數(shù)據(jù)以8位為一組存儲,稱為字節(jié)(或在某些情況下,八位字節(jié))。一個8位內(nèi)存寄存器可以存儲可能的28個值之一。根據(jù)所使用的整數(shù)表示,實(shí)際值的范圍會有所不同。例如,對于無符號二進(jìn)制數(shù),范圍是0到255(2^8減1),使用二進(jìn)制補(bǔ)碼表示,范圍是-128(-1X2^7)到127(2^7–1)。雖然8位MCU中的數(shù)據(jù)總線是8位寬,但地址總線的寬度可能會有所不同。12到16位的地址總線寬度很常見。例如,一條16位寬的地址總線會產(chǎn)生65536(2^16)個字節(jié)(稱為64KB)。但這些分類只是開始暗示特定8位MCU的實(shí)際功能(圖2)。
8位MCU用途廣泛;它們提供簡單的編程、能源效率和小封裝尺寸(有些只有六個引腳)。但這些MCU通常并非設(shè)計(jì)用于實(shí)現(xiàn)網(wǎng)絡(luò)和通信功能。最常見的網(wǎng)絡(luò)協(xié)議和通信軟件堆棧是16位或32位。某些8位設(shè)備可以使用通信外設(shè),但16位和32位MCU通常是更有效的選擇。盡管如此,8位MCU通常用于各種控制、傳感和接口應(yīng)用。
一、32位更強(qiáng)大
雖然8位MCU用途廣泛,但它們的性能同樣受到限制。當(dāng)8位不夠用時(shí),設(shè)計(jì)人員可以求助于32位MCU,它可以帶來相當(dāng)大的性能沖擊。32位MCU的應(yīng)用范圍很廣,它們可以支持高端代數(shù)運(yùn)算和浮點(diǎn)數(shù)學(xué)運(yùn)算。雖然8位MCU通常僅限于數(shù)MHz的處理速度,但32位單元的時(shí)鐘速率可達(dá)到GHz范圍,盡管數(shù)百M(fèi)Hz單元更為常見。
提高性能的同時(shí)也增加了32位MCU的編程復(fù)雜性,包括多個狀態(tài)寄存器、復(fù)雜的中斷管理、多層固件執(zhí)行權(quán)限等。這是32位單元如此強(qiáng)大的部分原因。它們可以為需要大量數(shù)據(jù)處理的應(yīng)用程序快速處理數(shù)千個復(fù)雜的計(jì)算,例如圖像處理或高速系統(tǒng)的實(shí)時(shí)控制。此外,32位MCU通常需要更大的內(nèi)存地址空間來緩沖高帶寬數(shù)據(jù)流。
通常與32位MCU相關(guān)的更高時(shí)鐘速度也會導(dǎo)致能耗增加。一般來說,32位MCU可以通過犧牲更高的能耗來支持更密集的計(jì)算。但是在8位和32位之間的選擇并不是那么簡單。例如,32位MCU可以比8位MCU更快地完成一系列計(jì)算,然后進(jìn)入更長時(shí)間的睡眠模式。那么,32位MCU是不是更節(jié)能呢?這是可能的,但不一定是真的。8位MCU可以降低整體能耗,并有助于延長便攜式設(shè)備的電池壽命。選擇并不簡單,必須根據(jù)具體情況確定最佳能耗解決方案。
二、介于中間MCU
回到ICE的類比,在8bit(8位)和32bit(32位)之間有一個中間地帶;通常,16bit(16位)設(shè)計(jì)可以提供恰到好處的效率和性能組合。8位MCU的性能本質(zhì)上是有限的,只能通過添加外設(shè)在有限的范圍內(nèi)提高。使用32位MCU的系統(tǒng)可提供更高的性能,但與替代解決方案相比,可能會過大并消耗更多功率。
這就是16位MCU的用武之地,它們可以結(jié)合8位單元的簡單性,同時(shí)提供增強(qiáng)的性能而不會造成過多的功率損失。特別是在不需要大量多線程和適度內(nèi)存需求的應(yīng)用中,16位MCU可以提供最佳的中間解決方案(圖3)。
外圍設(shè)備可能是關(guān)鍵。一些16位MCU具有數(shù)學(xué)協(xié)MCU,支持密集的數(shù)學(xué)計(jì)算,類似于一些32位單元在相同的時(shí)鐘速度下。而且,有許多支持16位MCU的通信堆棧。例如,如果實(shí)施正確,以太網(wǎng)、控制器局域網(wǎng)(CAN)、通用串行總線(USB)和Zigbee都是可以在16位MCU上高效運(yùn)行的通信協(xié)議。與許多32位解決方案相比,使用16位MCU可以提供更簡單的電路板實(shí)現(xiàn)。
三、MCU外設(shè)
外設(shè)的可用性及其駐留位置可能是推動選擇8位、16位或32位的重要因素。可以選擇向8位MCU添加外部通信外設(shè)。但是,添加外圍芯片通常可以消除使用8位MCU的成本效益。使用已經(jīng)集成了通信功能的32位單元會更便宜。向上擴(kuò)展會發(fā)現(xiàn)32位MCU通常包含更多功能,并且可以比8位和16位設(shè)備更有效地處理多個外圍功能。
涉及更大數(shù)量和快速計(jì)算的應(yīng)用程序受益于16位和32位MCU的使用。可以從16位或32位MCU受益的示例包括FFT計(jì)算、高質(zhì)量音頻或視頻、高分辨率圖像處理和各種邊緣計(jì)算應(yīng)用。此外,機(jī)器學(xué)習(xí)和人工智能實(shí)現(xiàn)通常需要32位,通常帶有特定于應(yīng)用程序的加速器。
另一方面,處理來自傳感器或其他來源的模擬信號不一定受益于使用32位或16位MCU。8位MCU可以包括支持8位、10位、12位甚至16位速率的內(nèi)置模數(shù)轉(zhuǎn)換器(ADC)。
8位MCU可以支持一些加密功能以提高安全性。但這些功能通常是在硬件中實(shí)現(xiàn)的,這會增加成本或軟件,從而增加了相對低功耗MCU的負(fù)擔(dān)。如果更高級別的安全功能很重要,那么使用16位或32位MCU可能是明智的。
四、哪個MCU更好?
那么,比特越多越好嗎?不,不一定。這是一個復(fù)雜的決策過程(圖4)。成功的設(shè)計(jì)確定了以最具成本效益的方式提供所需性能的MCU架構(gòu)。對于電池供電的設(shè)備,應(yīng)選擇最節(jié)能的方式。
確定最佳MCU不一定是一個簡單的問題。有時(shí),這不僅僅是關(guān)于當(dāng)今的性能要求;隨著時(shí)間的推移,可能需要提供具有增長潛力的解決方案來處理更具挑戰(zhàn)性的應(yīng)用需求。例如,安全需求可以不斷發(fā)展。適應(yīng)未來對新的或增加的安全功能的需求的能力可能是一個重要的應(yīng)用考慮因素。
如果特定應(yīng)用需要大量隨機(jī)存取存儲器(RAM),與8位甚至16位設(shè)備相比,使用32位MCU通常會提供更多的RAM。在比較各種MCU替代方案時(shí),延遲是另一個需要考慮的因素。使用8位、16位或32位MCU可能“同樣出色地”執(zhí)行某些功能。但是,如果應(yīng)用程序需要低延遲,則可能需要具有更快時(shí)鐘速率的16位或32位MCU的速度。
-
mcu
+關(guān)注
關(guān)注
146文章
17019瀏覽量
350374 -
32位
+關(guān)注
關(guān)注
0文章
25瀏覽量
13933 -
16位
+關(guān)注
關(guān)注
0文章
12瀏覽量
8989 -
8位
+關(guān)注
關(guān)注
0文章
15瀏覽量
12131
發(fā)布評論請先 登錄
相關(guān)推薦
評論