“RP2040、ESP32、AVR、CH32V003、STM32...?各種各樣的 MCU 挑花了眼,到底該如何選擇?”
細心的讀者可能注意到,我有時會調(diào)侃那些在可以用更簡單、更便宜的控制方案的情況下,卻選擇了單板計算機(SBCs)用于項目的愛好者。
焊接中的微控制器
我不是一個純粹主義者;硬件和軟件的選擇沒有最終結(jié)果重要。但某些決策實屬自討苦吃:若僅需控制幾個 I/O 端口,樹莓派搭載的完整 Linux 系統(tǒng)不僅帶來延遲和調(diào)度抖動,還潛藏諸多隱患(如失控的后臺服務(wù)數(shù)月間用臨時文件或日志塞滿SD卡)。 本文將超越調(diào)侃范疇,讓我們快速了解一下您在嵌入式控制方面擁有的選擇,將可編程芯片的應(yīng)用場景劃分為三大類進行解析。 場景一:流程控制
到目前為止,業(yè)余項目中最常見的需求是簡單的自動化:即采集傳感器或輸入界面數(shù)據(jù),按既定邏輯控制電機、小型顯示屏或繼電器。若滿足以下條件,則適用本場景:
算法足夠簡單,對于可變變量或調(diào)用棧所需的 RAM 不超過 16 kB
每秒運算量不超過約 5 萬次浮點運算或 3.2 萬次 32 位乘除
I/O 操作頻率低于10MHz
長期以來,這類任務(wù)由 8 位微控制器主導(dǎo)。早期產(chǎn)品源自 1970 年代 CPU 架構(gòu),后逐漸被Atmel開發(fā)(現(xiàn)由Microchip維護)的 AVR 系列等現(xiàn)代設(shè)計取代。該系列不僅包含經(jīng)典 ATmega 芯片,還有性能更強、成本更低的 AVR Dx 系列,但相對來說,AVR Dx系列在愛好者群體中的知名度并不高。
現(xiàn)代 8 位 MCU 性能較早期 8位微機提升了數(shù)個量級,但更注重易用性而非極致速度。此類芯片具備寬電壓輸入范圍,集成豐富外設(shè)(ADC、DAC、運放、核心獨立可配置邏輯等),并擁有超低功耗休眠模式。最關(guān)鍵的是其架構(gòu)簡潔,執(zhí)行速度穩(wěn)定可預(yù)測,無需擔憂總線競爭、分支預(yù)測、緩存未命中或內(nèi)存等待狀態(tài)等問題。
近年來涌現(xiàn)出大量用途相似但簡化的、低端的 32 位芯片(如意法半導(dǎo)體 STM32L0 系列、國產(chǎn) CH32V003)。這些產(chǎn)品多基于 50 MHz 以下的 ARM Cortex-M0 或 RISC-V 內(nèi)核,配備不足 32KB SRAM。盡管 32 位聽起來在技術(shù)上更先進、更現(xiàn)代,但在這個特定的細分領(lǐng)域,32 位技術(shù)并沒有帶來真正的優(yōu)勢,反而存在一些隱藏的權(quán)衡:例如 CH32V003 缺失整數(shù)乘法電路。此類芯片存在的根本原因是,對于那些不是Microchip公司且沒有內(nèi)部8位芯片設(shè)計團隊的公司來說,制造這類32位芯片的成本更低。
場景二:高性能計算 當涉及海量數(shù)據(jù)處理時,低成本平臺的局限暴露無遺。典型場景包括攝像頭信號流中的物體檢測、視頻流解壓縮,或者運行《毀滅戰(zhàn)士》游戲。 計算類芯片是高端芯片的領(lǐng)域,具備浮點運算單元、直接內(nèi)存訪問(DMA)控制器、幾百K的快速內(nèi)置RAM,以及最高可達約 500MHz 的時鐘頻率。旗艦產(chǎn)品多基于ARM Cortex-M7架構(gòu)(部分廠商選擇集成多個低端核心如 Cortex-M3)。這類 IC 可能集成高速 USB 或以太網(wǎng)專用電路,以及硬件加速的媒體編解碼器或加密例程。 業(yè)務(wù)愛好者常用選項包括意法半導(dǎo)體 STM32H7 系列、Microchip SAM S70/PIC32CZ 系列。恩智浦、英飛凌、瑞薩等廠商雖提供同類產(chǎn)品,但因文檔質(zhì)量欠佳及參考代碼稀缺,應(yīng)用門檻較高。最后但同樣重要的是依托樹莓派生態(tài)的 RP2040/RP2350 系列,雖因無內(nèi)置閃存略顯不便(最新 RP2354 已改進),仍屬優(yōu)秀芯片。 高端 32 位芯片雖比 8 位產(chǎn)品更為復(fù)雜,但學(xué)習(xí)曲線并非想象中陡峭。以 Cortex-M7 芯片 ATSAMS70J21 的 "Hello World" 配置為例,其開發(fā)流程與 AVR MCU 類似。針對此類器件已形成成熟開源工具鏈,盡管需要整合多個獨立組件。
場景三:網(wǎng)絡(luò)互聯(lián)
當獨立微控制器無法勝任時,通常并非算力不足,而是需滿足以下需求:高速無線連接、強勁的3D圖形協(xié)處理器、數(shù)GB高速內(nèi)存。簡言之,即承載雅虎網(wǎng)站全量追蹤器與廣告所需的配置規(guī)格。
單板計算機(SBC)是比較適合處理這類任務(wù)。它們通常配備 ARM Cortex-A 處理器,并運行完整的操作系統(tǒng)。正如之前提到的,SBC 的輸入 / 輸出延遲往往較高且難以預(yù)測,其價格通常是自微控制器(MCU)的數(shù)倍;而且,SBC 的能效通常也很差。不過,它在某些情況下可能是完成任務(wù)的最佳選擇。此外,還有一個好處就是熟悉度:它就是一個可以通過 SSH 登錄的 Linux 系統(tǒng)。 最受業(yè)余愛好者歡迎的單板計算機(SBC)是樹莓派系列,但市場上仍存在大量競品與克隆產(chǎn)品可供選擇。SBC 核心參數(shù)與傳統(tǒng) PC 無異:處理器性能、內(nèi)存大小以及圖形處理單元(GPU)。 撇開Linux系統(tǒng)不談,還存在一個處于中間狀態(tài)、比較特殊的射頻微控制器子類別,它們支持Wi-Fi功能。由于 Wi-Fi 協(xié)議復(fù)雜度高且運算密集,傳統(tǒng)方案多采用獨立模塊處理。但部分模塊廠商發(fā)現(xiàn),通過適度分配算力,可讓用戶在 Wi-Fi 芯片上直接運行代碼。最具代表性的案例是樂鑫 ESP32 系列;其性價比難以超越,因而成為連接手機應(yīng)用的簡易物聯(lián)網(wǎng)產(chǎn)品首選方案。若拆解「智能」咖啡機或智能貓砂盆,大概率會發(fā)現(xiàn)內(nèi)置的樂鑫芯片。
成本權(quán)衡
人們很容易被市場上最便宜的微控制器所吸引,然而,人們也應(yīng)該意識到,自己的時間是有價值的,不能僅僅因為價格而忽略其他因素。如果是在大規(guī)模生產(chǎn)廉價小飾品(trinkets),比如生產(chǎn)成千上萬個產(chǎn)品,那么更換為比原來使用的芯片便宜0.10美元的微控制器可能是明智的。然而對于愛好者的項目或者小規(guī)模的產(chǎn)品生產(chǎn),這種微小的成本節(jié)約可能不值得付出額外的精力和麻煩。 當你在考慮一個新的硬件平臺時,你需要思考一個問題,那就是學(xué)習(xí)這個平臺的架構(gòu)是否會在未來為你打開更多的機會之門。如果你選擇像ESP32或RP2040這樣的平臺,那么你在未來的選擇會比較有限。如果你選擇ST Microelectronics 或 Microchip 這樣的平臺,你將獲得一個廣泛的芯片選擇。這些芯片具有不同的功能、不同的價格點,并且它們都使用一個通用的工具鏈和一組相似的API(應(yīng)用程序編程接口)。這意味著,無論你選擇哪種芯片,你都可以使用相同的開發(fā)工具和編程接口來進行開發(fā)。這為你提供了更大的靈活性和擴展性,因為你可以在不同的項目中選擇最適合的芯片,而不需要重新學(xué)習(xí)新的開發(fā)環(huán)境。另一方面,如果你需要非常便宜的 Wi-Fi 功能,那么即使有成百上千種沒有內(nèi)置連接功能的產(chǎn)品,對你來說也是沒有用的。
原文轉(zhuǎn)載自:https://lcamtuf.substack.com/p/choosing-a-microcontroller,經(jīng)過翻譯及校驗
注意:如果想第一時間收到 KiCad 內(nèi)容推送,請點擊下方的名片,按關(guān)注,再設(shè)為星標。
常用合集匯總:
和 Dr Peter 一起學(xué) KiCad
KiCad 8 探秘合集
KiCad 使用經(jīng)驗分享
KiCad 設(shè)計項目(Made with KiCad)
常見問題與解決方法
KiCad 開發(fā)筆記
插件應(yīng)用
發(fā)布記錄
審核編輯 黃宇
-
微控制器
+關(guān)注
關(guān)注
48文章
8387瀏覽量
164680 -
mcu
+關(guān)注
關(guān)注
147文章
18938瀏覽量
398594 -
cpu
+關(guān)注
關(guān)注
68文章
11281瀏覽量
225100
發(fā)布評論請先 登錄
基于沁恒CH596國產(chǎn)MCU微控制器的動態(tài)血糖儀CGM方案
OBD診斷儀方案MCU微控制器應(yīng)用
MCU微控制器光伏模塊主控應(yīng)用
MCU微控制器N32L403在毫米波雷達上的應(yīng)用優(yōu)勢
在選型時應(yīng)如何權(quán)衡不同型號CW32微控制器的性能與成本?
在筋膜槍上應(yīng)用的MCU微控制器方案
MCU微控制器CH32L103高速電吹風(fēng)方案
選擇微控制器MCU幾個步驟
MCU微控制器是什么(mcu微控制器芯片原理)
推薦高性能MCU微控制器N32H785EC(MCU單片機特征)
如何使用 M032 系列微控制器 (MCU) 實現(xiàn) USB 磁盤和 FatFs 功能?
如何使用 M460 系列微控制器 (MCU) 接收和打印 CANFD 總線上的所有消息?
知名廠商微控制器(MCU)芯片手冊分享
RA0E2 通用微控制器 (MCU)數(shù)據(jù)手冊和選型解讀
微控制器(MCU)選型指南
評論