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