樹莓派(Raspberry Pi)日前發表其首款自行開發的微控制器(MCU) RP2040,以及搭載該MCU的開發板,售價僅4美元的樹莓派Pico。許多樹莓派的應用都與物理世界有直接關係,例如從感測器取得各種物理量測資料,但過去樹莓派官方並無適合的解決方案,因此開發者得自行選擇搭配的MCU板。樹莓派發表Pico後,將補上這個缺口。
樹莓派營運長James Adams在樹莓派官網上表示,從黃瓜分揀機到高空氣球,許多樹莓派的應用,都跟物理世界有直接關係。開發者藉由樹莓派上執行的軟體來讀取感測器資料、執行計算、連上網路及驅動執行器。這種橋接軟體和硬體世界的能力,讓樹莓派到今天都還十分流行,迄今為止已售出3,700萬台。
但是樹莓派並非毫無缺陷。即使在最低功率模式下,樹莓派Zero的功耗仍達100mW,且樹莓派本身是純數位的,不支援類比輸入。此外,儘管樹莓派上可以執行「裸機」(Bare Metal)軟體,但是在像Linux這類通用作業系統下執行軟體,仍不太能滿足低延遲控制需求。
因此,許多業餘開發者和工業應用都將樹莓派與微控制器配對使用。其中樹莓派負責較繁重的運算任務、網路存取和資料儲存,而微控制器則處理類比輸入和低延遲I/O,或實現超低功耗的待機模式。基於上述理由,樹莓派興起了自己設計MCU的念頭。
Adams幽默地說,如今,似乎每家「水果公司」都在設計自己的晶片,我們也不例外。RP2040便是樹莓派內部晶片團隊多年努力的結果。
RP2040有三個主要設計目標:高性能,尤其是整數運算;靈活的I/O,讓樹莓派可以與幾乎所有外部設備進行通訊;以及低成本,以消除進入門檻。樹莓派最終達成這三個目標,RP2040是一個功能完整的MCU晶片,但裸晶面積(Die Size)僅2平方毫米,採用40奈米製程,封裝則是7×7mm QFN-56封裝。
RP2040內建時脈為133MHz的雙核Arm Cortex-M0+、內建RAM容量為264KB,並可透過通過專用QSPI匯流排支援多達16MB的外部快閃記憶體,還整合了DMA控制器、內插器、整數除法器等周邊。
在I/O部分,RP2040共有30個GPIO接腳,其中4個可接受類比訊號輸入。其他通訊介面則包含UART、SPI、I2C與同時支援主機跟裝置模式的USB 1.1。
至於在浮點運算方面,由於Cortex-M0 +沒有浮點單元,因此樹莓派委託Qfplib函式庫作者Mark Owen調整出最佳化的浮點函數。它們比同等級的GCC函式庫要快得多,並且在任何基於RP2040的產品上都獲得了使用許可。
樹莓派Pico則是基於RP2040設計的低成本開發板。它包括RP2040、2MB快閃記憶體和一個支持1.8~5.5V輸入電壓的電源晶片。讓開發者可以透過多種途徑為Pico供電,例如三個串聯的AA電池,或單個鋰離子電池。
Pico提供了一個按鈕和一個LED,該按鈕可在引導時進入USB大型存放區模式,也可作為一般輸入。Pico的PCB布局是與RP2040晶片和封裝共同設計的,採用兩層PCB,並帶有可靠的接地層和易用的GPIO接點。