作者:陸向陽
近期樹莓派基金會發表一片新板子,名為Raspberry Pi Pico,它不相容於過往的Raspberry Pi ,為何基金會要推出一個不相容品?本文將對此進行探討。
回應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。
雖然樹莓派不是第一次使用獨家晶片,打從2015年的BCM2836、2016年的BCM2837即屬獨家供貨,然基金會還是很打趣的說:每個水果公司都會打造自己的矽晶片,言下之意是指Apple跟Raspberry Pi自己,故稱Raspberry Si(Si=Silicon,晶片的俗稱)。樹莓派宣稱RP2040晶片是從過去Sense HAT到Raspberry 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的支援。
進一步的,由於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很陽春的原因,更多特色功能與設計,由協力夥伴來實現滿足。
小結
最後,樹莓派在推廣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特約專欄作者;責任編輯:林亮潔)
- 創客積木M5Stack加入LLM戰局 - 2024/11/29
- MLPerf大語言模型、生成式AI測項觀察 - 2024/11/27
- Sony強力加持!樹莓派發表專屬AI攝影機 - 2024/10/28