破盤4美元!Raspberry Pi Pico技術與策略解析

作者:陸向陽

近期樹莓派基金會發表一片新板子,名為Raspberry Pi Pico,它不相容於過往的Raspberry Pi ,為何基金會要推出一個不相容品?本文將對此進行探討。

圖1 只有4美元的新板卡Raspberry Pi Pico。(圖片來源:樹莓派基金會)

回應MCU應用需求

Raspberry Pi Pico非常便宜,僅4美元!

Raspberry Pi Pico的推出,估計是基金會回應長期以來,創客用Raspberry Pi 進行控制應用的需求反應。由於Raspberry Pi 上有26/40個GPIO接腳,可用來連接按鈕、燈號,或間接驅動喇叭、馬達等,但整體而言Raspberry Pi 依然不適合拿來做這些本來屬於微控制器(MCU)領域的應用。

例如Raspberry Pi 怎樣運作也要耗約100mA電流,對控制應用而言還不夠省電;或即便不透過作業系統,由控制程式直接掌控硬體,其控制反應也還是不夠即時;此外Raspberry Pi 也缺乏MCU上幾乎基本配備的類比數位轉換器(ADC),或俗稱類比輸入(Analog Input)。

為了回應上述需要,基金會與晶片商合作共同推出了名為RP2040的控制器晶片,以此晶片建構成Raspberry Pi Pico。

RP2040晶片解析

Raspberry Pi Pico的核心在RP2040晶片,該晶片接受1.8~5.5V的寬裕範圍運作電壓,言下之意只要2顆或3顆AA電池就可運作,供電設計簡便許多。晶片上有2個UART、2個SPI、2個I2C、16個PWM、8個可程式化輸入輸出的狀態機,共計30個GPIO接腳,並有4個類比輸入。晶片也支援USB 1.1介面,程式寫入可以如同電腦使用者把檔案丟入USB隨身碟那麼簡單直覺。

接腳與介面是晶片的週邊電路,核心部分則有2個Cortex-M0+核心,時脈133MHz,記憶體則為264KB SRAM,儲存則是可透過QSPI介面外接快閃記憶體,最高容量達16MB。其他對晶片、板卡應用者而言比較不重要的是半導體技術資訊,包含使用40奈米製程、裸晶面積2平方公釐、封裝為7 x 7公釐QFN-56等。

值得一提的是,RP2040的晶片編號是有意涵的,RP當然是Raspberry Pi的簡稱,2為兩個核心,0指Cortex-M0+,4則是用一個公式floor(log2(ram/16k))而得到,即floor(log2(264k/16k)),最後的0也是相同的函式,但是是計算晶片內的儲存記憶體容量,由於全部在晶片外,所以晶片內是零,故數字為0。

圖2 RP2040晶片的編號意涵。(圖片來源:樹莓派基金會)

雖然樹莓派不是第一次使用獨家晶片,打從2015年的BCM2836、2016年的BCM2837即屬獨家供貨,然基金會還是很打趣的說:每個水果公司都會打造自己的矽晶片,言下之意是指Apple跟Raspberry Pi自己,故稱Raspberry Si(Si=Silicon,晶片的俗稱)。樹莓派宣稱RP2040晶片是從過去Sense HATRaspberry Pi 400等開發經驗中習得的經驗所打造成。

軟體解析

既然RP2040晶片運算力、硬體資源遠遠不及Raspberry Pi,自然不可能跑什麼Raspberry Pi OS(昔為Raspbian)、Ubuntu Linux或其他本來在Raspberry Pi上的OS,而是直接執行開發撰寫成的控制程式,撰寫方式主要有二,簡單點的作法是用MicroPython,技術一點則用C。

若選擇MicroPython則有Thonny IDE的初學者整合開發環境可用,若選擇C則可用gcc,或者是Visual Studio Code。為了讓MicroPython在RP2040晶片上有更好的執行表現,基金會特別與MicroPython作者、Thonny IDE作者合作,請他們在新版MicroPython、Thonny IDE上增強對RP2020的支援。

圖3 適合初學者的Python整合開發環境Thonny IDE(圖片來源:Thonny官網)

進一步的,由於RP2040大幅減弱運算力,晶片內沒有硬體浮點運算單元,然而即便是簡單的物聯網應用都可能會用及浮點運算,因此也有配套補強方案,基金會與浮點運算函式庫Qfplib的作者聯繫,推出針對RP2040晶片最佳化的浮點運算函式庫,此函式庫比gcc的浮點運算函式庫更快速。

Raspberry Pi Pico解析

了解RP2040晶片後再進一步了解以晶片構成的Raspberry Pi Pico板卡。雖然RP2040可外接最多16MB儲存,但Raspberry Pi Pico上僅有2MB,然後30個GPIO接腳在板上有26個可用,4組類比輸入在板上有3組可用。板上還有一個USB埠、一個按鈕、一個LED燈號。由於Raspberry Pi Pico是與RP2040協同設計而成,所以即便Raspberry Pi Pico只是簡單的兩層板,也是能很穩定正常地運作。

RP2040晶片策略

與過去Raspberry Pi不同的,RP2040晶片並非只有樹莓派自己官方的板卡可用,這次是類同於Arduino的推展方式,歡迎各家板卡商使用其晶片來推出產品,使控制應用的板卡能盡可能多樣發展。所以除了Raspberry Pi Pico官方板卡外,發表當日即有4個夥伴支持呼應,並推出8張使用RP2040晶片的板卡:

  • Adafruit Feather RP 2040
  • Adafruit ItsyBitsy RP 2040
  • Arduino Nano RP2040 Connect
  • Pimoroni PicoSystem
  • Pimoroni Pico Explorer Base
  • SparkFun Thing Plus – RP2040
  • SparkFun MicroMod RP2040 Processor
  • SparkFun Pro Micro – RP2040

不同板卡有不同的強調,有的是擁有比官方Raspberry Pi Pico更多的外部記憶體,有的是加裝記憶卡卡槽,有的加裝無線通訊,有的有慣性感測器等等。估計這也是Raspberry Pi Pico很陽春的原因,更多特色功能與設計,由協力夥伴來實現滿足。

圖4 SparkFun Thing Plus – RP2040,售價16美元,可接MicroSD記憶卡。(圖片來源:樹莓派基金會)

小結

最後,樹莓派在推廣RP2040/Raspberry Pi Pico上使用其過往慣用的推廣法,過去為了拱MagPi雜誌,只要買雜誌就送5美元的Pi Zero板卡,現在為了拱HackSpace雜誌,只要買雜誌就送Raspberry Pi Pico,另外也伴隨硬體推出配套的入門書(英文)。

截至近期(2021年1月27日)為止,RP2040/Raspberry Pi Pico的部落格專文已累積達228則留言,留言則數明顯多於其他的RPi部落格專文,因此估計RP2040/Raspberry Pi Pico會掀起一波話題。

更往未來看,筆者認為:若RP2040/Raspberry Pi Pico推行順利,則原有Raspberry Pi的控制應用價值與角色將逐漸轉淡、放手,專心扮演資料處理(電腦)角色,其GPIO使用的機會逐漸減少,甚至完全密封不再使用,相關控制工作逐漸轉移、下放到RP2040上頭。

(作者為MakerPRO特約專欄作者;責任編輯:林亮潔)

陸向陽

Author: 陸向陽

從電子科系畢業後,即以媒體人的角色繼續這段與「電子科技」的不解之緣。歷任電子技術專書作者、電子媒體記者、分析師等角色,並持續寫作不殆。近來投入Arduino、Raspberry Pi等開放硬體的研究與教程介紹。

Share This Post On

發表

跳至工具列