專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
MCU中的位越多越好嗎?這類似于問(wèn):內(nèi)燃機(jī)(ICE)中的氣缸越多越好嗎?外設(shè)和其他功能很重要,而不僅僅是位(或bit)。對(duì)于MCU,總功耗、外圍設(shè)備的可用性、延遲需求和其他因素都很重要,而不僅僅是位數(shù)。
MCU無(wú)處不在。它們存在于手機(jī)、玩具、車輛、白色家電、可再生能源系統(tǒng)、物聯(lián)網(wǎng)(IoT)設(shè)備等等中。MCU對(duì)于控制從電機(jī)到閃爍LED的硬件功能至關(guān)重要。MCU的基本架構(gòu)包括一個(gè)中央處理單元、一些存儲(chǔ)器和外圍功能(圖1)。MCU從傳感器、開(kāi)關(guān)和其他設(shè)備獲取輸入,并按照預(yù)編程指令的規(guī)定控制外圍設(shè)備的功能,例如顯示器、執(zhí)行器和電機(jī)的驅(qū)動(dòng)器。根據(jù)所控制功能的復(fù)雜性和各種輸入所需的處理量,MCU有8位、16位和32位可供選擇。一般來(lái)說(shuō),位數(shù)越多,處理潛力越大。
“位”是“二進(jìn)制數(shù)字”。在8位MCU中,數(shù)據(jù)以8位為一組存儲(chǔ),稱為字節(jié)(或在某些情況下,八位字節(jié))。一個(gè)8位內(nèi)存寄存器可以存儲(chǔ)可能的28個(gè)值之一。根據(jù)所使用的整數(shù)表示,實(shí)際值的范圍會(huì)有所不同。例如,對(duì)于無(wú)符號(hào)二進(jìn)制數(shù),范圍是0到255(2^8減1),使用二進(jìn)制補(bǔ)碼表示,范圍是-128(-1X2^7)到127(2^7–1)。雖然8位MCU中的數(shù)據(jù)總線是8位寬,但地址總線的寬度可能會(huì)有所不同。12到16位的地址總線寬度很常見(jiàn)。例如,一條16位寬的地址總線會(huì)產(chǎn)生65536(2^16)個(gè)字節(jié)(稱為64KB)。但這些分類只是開(kāi)始暗示特定8位MCU的實(shí)際功能(圖2)。
8位MCU用途廣泛;它們提供簡(jiǎn)單的編程、能源效率和小封裝尺寸(有些只有六個(gè)引腳)。但這些MCU通常并非設(shè)計(jì)用于實(shí)現(xiàn)網(wǎng)絡(luò)和通信功能。最常見(jiàn)的網(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,它可以帶來(lái)相當(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單元更為常見(jiàn)。
提高性能的同時(shí)也增加了32位MCU的編程復(fù)雜性,包括多個(gè)狀態(tài)寄存器、復(fù)雜的中斷管理、多層固件執(zhí)行權(quán)限等。這是32位單元如此強(qiáng)大的部分原因。它們可以為需要大量數(shù)據(jù)處理的應(yīng)用程序快速處理數(shù)千個(gè)復(fù)雜的計(jì)算,例如圖像處理或高速系統(tǒng)的實(shí)時(shí)控制。此外,32位MCU通常需要更大的內(nèi)存地址空間來(lái)緩沖高帶寬數(shù)據(jù)流。
通常與32位MCU相關(guān)的更高時(shí)鐘速度也會(huì)導(dǎo)致能耗增加。一般來(lái)說(shuō),32位MCU可以通過(guò)犧牲更高的能耗來(lái)支持更密集的計(jì)算。但是在8位和32位之間的選擇并不是那么簡(jiǎn)單。例如,32位MCU可以比8位MCU更快地完成一系列計(jì)算,然后進(jìn)入更長(zhǎng)時(shí)間的睡眠模式。那么,32位MCU是不是更節(jié)能呢?這是可能的,但不一定是真的。8位MCU可以降低整體能耗,并有助于延長(zhǎng)便攜式設(shè)備的電池壽命。選擇并不簡(jiǎn)單,必須根據(jù)具體情況確定最佳能耗解決方案。
二、介于中間MCU
回到ICE的類比,在8bit(8位)和32bit(32位)之間有一個(gè)中間地帶;通常,16bit(16位)設(shè)計(jì)可以提供恰到好處的效率和性能組合。8位MCU的性能本質(zhì)上是有限的,只能通過(guò)添加外設(shè)在有限的范圍內(nèi)提高。使用32位MCU的系統(tǒng)可提供更高的性能,但與替代解決方案相比,可能會(huì)過(guò)大并消耗更多功率。
這就是16位MCU的用武之地,它們可以結(jié)合8位單元的簡(jiǎn)單性,同時(shí)提供增強(qiáng)的性能而不會(huì)造成過(guò)多的功率損失。特別是在不需要大量多線程和適度內(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可以提供更簡(jiǎn)單的電路板實(shí)現(xiàn)。
三、MCU外設(shè)
外設(shè)的可用性及其駐留位置可能是推動(dòng)選擇8位、16位或32位的重要因素??梢赃x擇向8位MCU添加外部通信外設(shè)。但是,添加外圍芯片通??梢韵褂?位MCU的成本效益。使用已經(jīng)集成了通信功能的32位單元會(huì)更便宜。向上擴(kuò)展會(huì)發(fā)現(xiàn)32位MCU通常包含更多功能,并且可以比8位和16位設(shè)備更有效地處理多個(gè)外圍功能。
涉及更大數(shù)量和快速計(jì)算的應(yīng)用程序受益于16位和32位MCU的使用??梢詮?6位或32位MCU受益的示例包括FFT計(jì)算、高質(zhì)量音頻或視頻、高分辨率圖像處理和各種邊緣計(jì)算應(yīng)用。此外,機(jī)器學(xué)習(xí)和人工智能實(shí)現(xiàn)通常需要32位,通常帶有特定于應(yīng)用程序的加速器。
另一方面,處理來(lái)自傳感器或其他來(lái)源的模擬信號(hào)不一定受益于使用32位或16位MCU。8位MCU可以包括支持8位、10位、12位甚至16位速率的內(nèi)置模數(shù)轉(zhuǎn)換器(ADC)。
8位MCU可以支持一些加密功能以提高安全性。但這些功能通常是在硬件中實(shí)現(xiàn)的,這會(huì)增加成本或軟件,從而增加了相對(duì)低功耗MCU的負(fù)擔(dān)。如果更高級(jí)別的安全功能很重要,那么使用16位或32位MCU可能是明智的。
四、哪個(gè)MCU更好?
那么,比特越多越好嗎?不,不一定。這是一個(gè)復(fù)雜的決策過(guò)程(圖4)。成功的設(shè)計(jì)確定了以最具成本效益的方式提供所需性能的MCU架構(gòu)。對(duì)于電池供電的設(shè)備,應(yīng)選擇最節(jié)能的方式。
確定最佳MCU不一定是一個(gè)簡(jiǎn)單的問(wèn)題。有時(shí),這不僅僅是關(guān)于當(dāng)今的性能要求;隨著時(shí)間的推移,可能需要提供具有增長(zhǎng)潛力的解決方案來(lái)處理更具挑戰(zhàn)性的應(yīng)用需求。例如,安全需求可以不斷發(fā)展。適應(yīng)未來(lái)對(duì)新的或增加的安全功能的需求的能力可能是一個(gè)重要的應(yīng)用考慮因素。
如果特定應(yīng)用需要大量隨機(jī)存取存儲(chǔ)器(RAM),與8位甚至16位設(shè)備相比,使用32位MCU通常會(huì)提供更多的RAM。在比較各種MCU替代方案時(shí),延遲是另一個(gè)需要考慮的因素。使用8位、16位或32位MCU可能“同樣出色地”執(zhí)行某些功能。但是,如果應(yīng)用程序需要低延遲,則可能需要具有更快時(shí)鐘速率的16位或32位MCU的速度。
以上就是英銳恩單片機(jī)開(kāi)發(fā)工程師分享的“8位MCU、16位MCU和32位MCU?位越多越好嗎?”。英銳恩專注單片機(jī)應(yīng)用方案設(shè)計(jì)與開(kāi)發(fā),提供8位單片機(jī)、16位單片機(jī)、32位單片機(jī)。