為物聯(lián)網(wǎng)開發(fā)選擇最佳的MCU架構(gòu)
微控制器(MCU)如何在物聯(lián)網(wǎng)設(shè)備中使用?開發(fā)人員又該如何為產(chǎn)品選擇最合適的MCU解決方案?本文將為您介紹MCU的應(yīng)用知識和開發(fā)技巧,并解釋評估選用8位和32位MCU的關(guān)鍵考量因素。
什么是微控制器(MCU),它們?nèi)绾卧谖锫?lián)網(wǎng)(IoT)設(shè)備中使用?
你是否曾經(jīng)驚嘆過健身追蹤器是如何記錄你走的每一步,或者洗衣機(jī)是如何感知水位的?其實(shí)是通過設(shè)備內(nèi)部的MCU。它是在單一集成電路上構(gòu)建的小型計算機(jī),包含一個或多個處理器內(nèi)核(CPU)、存儲器和可編程輸入/輸出外圍設(shè)備。這些微型芯片為數(shù)據(jù)收集、傳感和控制物理世界提供了一種經(jīng)濟(jì)實(shí)惠且廣受歡迎的方法。
MCU廣泛應(yīng)用于各種系統(tǒng),從汽車發(fā)動機(jī)控制和植入式醫(yī)療設(shè)備到遙控器、辦公設(shè)備、家用電器、電動工具、玩具和其他嵌入式系統(tǒng)。它可以作為一個橋梁使通信協(xié)議和硬件抽象層交互,并且可以運(yùn)行所選的實(shí)時操作系統(tǒng)/操作系統(tǒng)(RTOS/OS)來操作設(shè)備。
MCU的共同特性
MCU是嵌入式設(shè)備的大腦,在一個很小的封裝中容納了強(qiáng)大的功能。無論架構(gòu)如何,所有MCU都有一些共同點(diǎn):
基于位數(shù)的MCU內(nèi)核架構(gòu):MCU所使用的位數(shù)(有時稱為位深度或數(shù)據(jù)寬度),如8、16、32,可以告訴你寄存器的大?。ㄈ?位MCU就代表每個寄存器為8位)和可存儲的地址數(shù)量(28=256個地址);32位理論上可以尋址多達(dá)536MB的數(shù)據(jù),從技術(shù)上講,這使其具有更高的數(shù)據(jù)效率。
存儲器:MCU有兩種存儲器,程序存儲器(閃存)存儲在MCU上運(yùn)行的代碼,而數(shù)據(jù)存儲器(RAM)則存儲代碼使用的數(shù)據(jù)。
外圍設(shè)備和通信接口:這些內(nèi)置的部件讓MCU與外部世界進(jìn)行交互,如感知溫度或控制電機(jī)。
安全性:MCU的安全性對于保護(hù)固件知識產(chǎn)權(quán),保護(hù)設(shè)備中的私有數(shù)據(jù),保障服務(wù)執(zhí)行是至關(guān)重要的。
8位MCU和市場上流行的架構(gòu)
自20世紀(jì)80年代以來,8位MCU一直是嵌入式開發(fā)的核心,即使在32位架構(gòu)變得更加普遍的情況下,8位MCU仍將繼續(xù)在物聯(lián)網(wǎng)開發(fā)中發(fā)揮重要作用?,F(xiàn)代8位MCU的簡易性和高成本效益確保它們在許多年內(nèi)仍將是工程師工具箱中的重要工具。
下面是一些市場上流行的8位MCU架構(gòu)的例子:
PIC:1975年由通用儀器(General Instruments)公司開發(fā),現(xiàn)在屬于Microchip公司,PIC芯片為無數(shù)玩具、遙控器和經(jīng)濟(jì)實(shí)惠的小型工具提供了支持。
AVR:由Atmel公司開發(fā),深受設(shè)計愛好者和專業(yè)人士的喜愛。AVR芯片是Arduino板的核心,它使得電子產(chǎn)品更容易被人們獲得和使用。AVR芯片是創(chuàng)新的催化劑,廣泛應(yīng)用于嵌入式系統(tǒng)。
8051:由英特爾公司于1980年開發(fā),是名副其實(shí)的"老兵"。8051在工業(yè)應(yīng)用和醫(yī)療設(shè)備領(lǐng)域呈現(xiàn)蓬勃之勢,這彰顯了其在簡便性和可靠性方面的持久吸引力。
芯科科技使用CIP-8051內(nèi)核作為整個C8051和EFM 8位產(chǎn)品組合的基礎(chǔ)。這種流水線架構(gòu)使我們能夠提高效率,可以在一個時鐘周期內(nèi)執(zhí)行超過80%的指令,這使得它們比其他8位MCU更具優(yōu)勢。芯科科技8位MCU產(chǎn)品的最新成員是BB5系列,該系列由3款產(chǎn)品組成:
BB52:更通用的MCU,具有更大的內(nèi)存和多達(dá)29個GPIO。
BB51:中檔MCU,在功能和成本上實(shí)現(xiàn)了很好的平衡。
BB50:兼具小尺寸和成本效益的平臺,即使針對最簡單的應(yīng)用亦是如此。
8位MCU的優(yōu)勢
與32位MCU相比,8位MCU在一些方面具有優(yōu)勢。以下是幾項最重要的優(yōu)勢:
成本:8位MCU是經(jīng)濟(jì)實(shí)惠的倡導(dǎo)者,對于預(yù)算緊張的項目和設(shè)計愛好者做實(shí)驗(yàn)而言是完美選擇。
功耗:8位MCU比32位MCU更精簡,使其成為對功耗敏感的簡單應(yīng)用的理想選擇。
代碼大?。?位MCU的代碼占用的空間很小,這對于內(nèi)存有限的應(yīng)用是有利的。
易用性:8位MCU易于學(xué)習(xí)和使用。利用現(xiàn)成的開發(fā)工具和在線社區(qū),用戶可以立即開始編碼。
可用性:8位MCU很容易獲得,且有大量選項可供選擇。無論您是構(gòu)建簡單的機(jī)器人還是智能家居傳感器,8位MCU都能將想法變?yōu)楝F(xiàn)實(shí)。
8位MCU的缺點(diǎn)
盡管8位MCU因價格實(shí)惠和尺寸緊湊而廣受歡迎,但與高位MCU相比,確實(shí)還有一些限制。
有限的內(nèi)存空間:8位MCU的主要缺點(diǎn)之一是有限的內(nèi)存空間,這可能會給執(zhí)行復(fù)雜任務(wù)或處理大量數(shù)據(jù)帶來挑戰(zhàn)。
處理速度:由于其有限的指令集,8位MCU執(zhí)行復(fù)雜任務(wù)或處理大量數(shù)據(jù)的能力受到了限制。在需要實(shí)時處理或高速數(shù)據(jù)傳輸?shù)膽?yīng)用中,這可能是一個明顯的缺點(diǎn)。
32位MCU和市場上流行的架構(gòu)
有沒有想過無人機(jī)如何捕捉令人驚嘆的航拍鏡頭,或者智能音箱如何完美地播放喜歡的音樂?這些看似神奇的功能都是通過32位MCU實(shí)現(xiàn)的!32位MCU擅長執(zhí)行復(fù)雜任務(wù)、處理大量數(shù)據(jù),并支持高端代數(shù)運(yùn)算和浮點(diǎn)數(shù)學(xué)運(yùn)算。
下面是一些市場上流行的32位MCU架構(gòu)的例子:
ARM Cortex-M: ARM Cortex-M系列是專為嵌入式系統(tǒng)設(shè)計的32位MCU系列,在智能手機(jī)、無人機(jī)和可穿戴設(shè)備背后提供了強(qiáng)大支撐。
PIC32: PIC32 MCU是由Microchip公司開發(fā)的32位MCU系列。從工業(yè)自動化到機(jī)器人,PIC32都能高效地應(yīng)對要求嚴(yán)苛的任務(wù)。
AVR32: AVR32是由Atmel公司開發(fā)的32位微控制器架構(gòu),其將易于使用的AVR技術(shù)帶入了32位領(lǐng)域,是設(shè)計愛好者和專業(yè)人士的完美選擇。
RISC-V: RISC-V是一種開源架構(gòu),是RISC架構(gòu)系列中的最新進(jìn)展,具有簡單、模塊化和可擴(kuò)展等特點(diǎn)。RISC-V架構(gòu)由于其開源特性而越來越受歡迎,因?yàn)殚_源可以帶來更大的靈活性且支持定制化。RISC-V MCU被用于各種應(yīng)用,包括嵌入式系統(tǒng)、物聯(lián)網(wǎng)設(shè)備和高性能計算等。
芯科科技提供的所有EFM32和EFR32第二代MCU和無線SoC產(chǎn)品都使用了多核Cortex-M平臺。我們大多數(shù)的Cortex-M33內(nèi)核運(yùn)行頻率高達(dá)76.4 MHz,可以作為無線和應(yīng)用開發(fā)的主應(yīng)用內(nèi)核,而2個專用的M0+內(nèi)核運(yùn)行射頻和安全子系統(tǒng),這樣可以為開發(fā)人員提供覆蓋整個產(chǎn)品組合的一致平臺。該架構(gòu)允許子系統(tǒng)獨(dú)立于應(yīng)用內(nèi)核運(yùn)行,并且在不考慮縮短開發(fā)時間的情況下有助于提供底層的靈活性,同時支持產(chǎn)品系列之間進(jìn)行更多的設(shè)計重用。此外,將人工智能和機(jī)器學(xué)習(xí)(AI/ML)硬件加速功能添加到無線和獨(dú)立MCU中,可以減少在邊緣增加智能所需的時間和功耗。
32位MCU的優(yōu)勢
與8位MCU相比,32位MCU在一些方面具有優(yōu)勢。以下是幾項最重要的優(yōu)勢:
處理能力:32位MCU旨在提供高性能和高能效。與8位和16位MCU相比,32位MCU速度更快、功能更強(qiáng),但仍然節(jié)能。32位MCU可以處理更多的RAM和閃存,并具有更高的時鐘速度。這使得它們非常適合需要高性能計算的應(yīng)用,例如快速傅里葉變換(FFT)計算、高質(zhì)量音頻或視頻、高分辨率圖像處理以及各種邊緣計算應(yīng)用。
內(nèi)存:與8位內(nèi)存總線相比,32位內(nèi)存總線提供了更寬的數(shù)據(jù)路徑,使其能夠在一個時鐘周期內(nèi)傳輸更多的數(shù)據(jù)。這可以實(shí)現(xiàn)更快的數(shù)據(jù)傳輸速率,并提高整體系統(tǒng)性能,從而使我們能夠保存高分辨率圖像,復(fù)雜的算法,甚至整個操作系統(tǒng)。
外圍設(shè)備支持:32位MCU在外圍設(shè)備方面具有多項優(yōu)勢。它們提供更先進(jìn)的通信接口,如EUSART、USB、以太網(wǎng)、CAN、SDMMC和集成LCD控制器等。這些外圍設(shè)備對于許多現(xiàn)代應(yīng)用至關(guān)重要,例如物聯(lián)網(wǎng)設(shè)備、汽車系統(tǒng)和工業(yè)自動化等。32位MCU還提供更先進(jìn)的模數(shù)轉(zhuǎn)換器(20位ADC),這對于許多需要高精度測量的應(yīng)用至關(guān)重要,以及12位DAC,高級定時器,可編程計數(shù)器和精確的集成定時元件(如高精度內(nèi)部RC振蕩器),這些對于許多需要精確定時和計數(shù)的應(yīng)用也是至關(guān)重要的。
編碼效率:32位MCU可以在每個周期內(nèi)包含更多指令,從而實(shí)現(xiàn)更快的執(zhí)行速度和更低的功耗。這是因?yàn)樗鼈冊诿總€時鐘周期內(nèi)可以處理更多的數(shù)據(jù)位,意味著它們可以用更少的資源做更多的事情。此外,32位MCU可以實(shí)現(xiàn)更高的代碼效率,從而以更小的程序進(jìn)行復(fù)雜的操作。
庫和驅(qū)動程序的可用性:隨時可以訪問各種庫和維護(hù)良好的驅(qū)動程序?qū)τ诟咝У能浖_發(fā)和無縫的硬件集成至關(guān)重要。當(dāng)開發(fā)人員可以利用現(xiàn)有的庫和驅(qū)動程序時,就可以顯著提高工作效率,并有助于創(chuàng)建可提供更佳用戶體驗(yàn)的強(qiáng)大應(yīng)用。
32位MCU的缺點(diǎn)
雖然32位MCU在性能和多功能性方面具有明顯優(yōu)勢,但它們并不是一種萬能的解決方案。在啟動項目之前,請考慮以下權(quán)衡因素:
功耗:與簡單的8位MCU相比,32位架構(gòu)更高的復(fù)雜性使得實(shí)現(xiàn)最佳的低功耗運(yùn)行要復(fù)雜得多。開發(fā)人員可能需要管理更復(fù)雜的能量狀態(tài),并對外圍設(shè)備進(jìn)行權(quán)衡,以達(dá)到類似的功耗指標(biāo)。
復(fù)雜性:32位MCU比8位MCU更復(fù)雜,這會使它們更難以編程和調(diào)試。
代碼大?。簩τ诓惶珡?fù)雜的操作,32位MCU的代碼可能會比8位MCU的更大,這對于內(nèi)存有限的應(yīng)用來說可能是一個缺點(diǎn)。然而,代碼大小在很大程度上取決于產(chǎn)品開發(fā)所用的代碼優(yōu)化工具。
結(jié)論:明智地選擇MCU架構(gòu)和平臺
在物聯(lián)網(wǎng)開發(fā)領(lǐng)域,選擇合適的處理器平臺至關(guān)重要!8位和32位MCU解決了不同的挑戰(zhàn),并在現(xiàn)代物聯(lián)網(wǎng)發(fā)展中均占有一席之地。
當(dāng)談到經(jīng)濟(jì)和高效時,8位MCU無疑是佼佼者!它們具有成本效益且尺寸緊湊,是無線物聯(lián)網(wǎng)傳感器等簡單任務(wù)的理想選擇。與32位MCU相比,其更高的能量效率也使其成為電池供電設(shè)備的優(yōu)先選擇。
另一方面,32位MCU可以提供比8位MCU更強(qiáng)大的處理能力和內(nèi)存。這使得它們更適合需要更高性能和更大內(nèi)存的應(yīng)用。然而,這也是以增加復(fù)雜性為代價的。
那么,誰會在物聯(lián)網(wǎng)領(lǐng)域取得勝利呢?對于基本的、簡單的任務(wù)或者預(yù)算受限的情況,8位MCU會更合適。但是,當(dāng)需要強(qiáng)大的性能來執(zhí)行密集型任務(wù)時,32位MCU則成為最佳選擇。開發(fā)人員可以先評估產(chǎn)品功能需求再做出明智的選擇。