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

電機控制器選型指南
Simplelink? MSP432E4微控制器的系統設計指南

評論