疫情肆虐,芯片迎來史上最大的缺貨潮,然后2021 年 1 月 21 日,樹莓派基金會卻發(fā)布了微處理器(Microcontroller)級新品 Raspberry Pi Pico,給寒冷的冬天注入一絲溫暖。該產(chǎn)品基于樹莓派基金會自研的 RP 2040 芯片構(gòu)建,售價僅為 4 美元。據(jù)介紹,Pico 作為一款微處理器,它擅長低時延的 I/O 通信和模擬信號輸入,功耗低,可以彌補樹莓派在與物理世界互動方面的不足。一起來揭開這款新品的神秘面紗吧。
Raspberry Pi Pico 是一款搭載了 RP 2040 芯片的微處理器開發(fā)板。對于 Pico 的參數(shù)和配置的介紹,我們分兩步進行:先看 RP 2040 芯片,再看 Pico 開發(fā)板。
RP 2040 芯片
RP 2040 芯片由樹莓派基金會設(shè)計開發(fā)。在 官網(wǎng) Blog 中,首席運營官、首席硬件工程師 James Adams 調(diào)侃道:似乎現(xiàn)在每個水果公司都在研制自己的芯片了,我們也不例外。
RP 2040 芯片采用 40 nm 制程工藝,7×7 mm QFN-56 封裝。它的具體規(guī)格參數(shù)如下:
搭載雙核 ARM Cortex M0+ 處理器,運行頻率 133 MHz
內(nèi)置 264 KB 的片上 RAM
可通過專用 QSPI 總線支持最高 16 MB 的片外閃存
外掛內(nèi)插器和整數(shù)除法器
30 個 GPIO 引腳,其中 4 個可用于模擬信號輸入
16 個 PWM 通道
主機和設(shè)備支持的 USB 1.1
8 個樹莓派可編程 I/O 狀態(tài)機
支持 UF2 的 USB 大容量存儲啟動模式,用于拖放式編程
樹莓派Pico 開發(fā)板
以下展示 Raspberry Pi Pico 開發(fā)板的參數(shù)和配置 3。為了準(zhǔn)確、完整地展示 Pico 的參數(shù)和配置,RP 2040 芯片的部分關(guān)鍵參數(shù)會被再次列舉。
搭載上述 RP 2040 芯片。
采用雙核 ARM Cortex M0+ 處理器,運行頻率 133 MHz。
搭載 264 KB 的片上 RAM,板載 2 MB 閃存。
主機和設(shè)備支持的 USB1.1。
支持低功耗的睡眠和休眠模式。
采用拖放式編程。
擁有 26 個 GPIO 引腳,其中 3 個可用于模擬信號輸入(即 3 路 12 位 ADC)。
擁有 2 個 SPI、2 個 I2C、2 個 UART、16 路 PWM。
可通過 Micro USB 供電,也支持 1.8-5.5 V 直流電源供電。因此我們用串聯(lián)的干電池或者鋰電池即可驅(qū)動 Pico,這使得 Pico 的應(yīng)用更加靈活。
配備 1 個 LED 燈和一個開關(guān)按鈕。該按鈕用于向 Pico 燒錄程序時控制 Pico 進入 USB 大容量存儲模式,也可用于通用的輸入。
40 個引腳均為 “焊孔 + 齒狀邊緣” 的形態(tài),由用戶靈活選擇安裝方式,便于與其他開發(fā)板焊接。
從參數(shù)和配置來看,Pico 就是一款微處理器開發(fā)板,也就是我們常說的「單片機」開發(fā)板。做個類比,它不是一款可以運行操作系統(tǒng)、五臟俱全的「樹莓派」電腦,而是一款擁有豐富通用輸入輸出接口、可以與傳感器和組件高效互動的「Arduino」開發(fā)板。
開發(fā)方法
對于 Pico 的編程開發(fā),官方開發(fā)了 Pico C/C++ SDK 和 Pico Python SDK 軟件開發(fā)工具包,用戶可以選擇 C/C++ 或者 Python 對 Pico 進行開發(fā)。
對 Pico 的編程和燒錄需要在計算機上進行。所支持的操作系統(tǒng)和計算機包括:
搭載 Raspberry Pi OS 的樹莓派
其他搭載基于 Debian 的 Linux 系統(tǒng)的平臺
搭載 MacOS 的計算機
搭載 Windows 的計算機等。
其中,作為親兒子,搭載 Raspberry Pi OS 的樹莓派 4B 或樹莓派 400 的開發(fā)環(huán)境配置最為便捷,通過一行 setup 腳本命令便可以完成大部分的配置工作。
Pico 采用頗為便捷的拖放式編程:將 Pico 通過 USB 與計算機連接,Pico 會被計算機識別為大容量存儲設(shè)備,向其中拖放編程文件即可完成程序燒錄。接下來的「上手體驗」環(huán)節(jié)會對此做具體介紹和展示。
上手體驗
目前,樹莓派基金會在全球 53 個國家和地區(qū)的授權(quán)代理商均開始發(fā)售 Pico,售價基本為 4 美元。
接下來跟一元硬幣和鑰匙來張合照??戳诉@張照片,大家應(yīng)該可以對 Pico 的「小」有了一個比較清晰的認(rèn)識。掏出你手里的鑰匙,它就是那么??!Pico 開發(fā)板為雙層 PCB 板,除了小,還很薄。拿在手上,這種輕薄的手感和齒狀的邊緣讓人有種拿著一片蘇打餅干的感覺。
現(xiàn)在來看看下圖所展示的 Pico 正反兩面,圖中為了方便大家正確區(qū)分正反兩面的方向,我用紅色原點對 40 號引腳加以標(biāo)記。Pico 的正面分布有 RP 2040 芯片、按鈕、LED 燈、電源芯片等元件。正面只對 1、2、39 號引腳進行了標(biāo)識。其背面無分布其他元件,背面 PCB 上對 40 個引腳的功能進行了標(biāo)識。Pico 正面的引腳標(biāo)記缺失可能會對剛接觸 Pico 的用戶帶來不便。
現(xiàn)在我們來開發(fā) Pico。
我們嘗試按照官方入門指南 Getting started with Raspberry Pi Pico 的指引,在搭載 Raspberry Pi OS 的樹莓派 4B 上使用 C/C++ SDK 開發(fā)。
使用 C/C++ SDK 開發(fā) Pico 的思路是,利用軟件將使用 C 語言編寫的程序轉(zhuǎn)化為可被 Pico 識別的 .uf2 文件,燒錄到 Pico 中,由 Pico 運行。
首先在樹莓派安裝 Git 工具,如果已經(jīng)安裝過,則可以忽略:
$ sudo apt install git
接下來在根目錄「/home/pi」下新建「pico」目錄,并在該目錄中下載用于開發(fā) Pico 的 SDK 和示例程序:
$ cd ~/
$ mkdir pico
$ cd pico
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
完成后,我們可以在「/home/pi/pico」目錄下看到「pico-examples」和「pico-sdk」兩個目錄?,F(xiàn)在安裝開發(fā)工具 CMake:
$ sudo apt update
$ sudo apt install cmake gcc-arm-none-eabi build-essential
至此,針對 Pico 開發(fā)的配置工作基本完成。
對于搭載 Raspberry Pi OS 的樹莓派,以上操作可以通過運行配置開發(fā)環(huán)境的腳本來更加便捷地完成。我們執(zhí)行克隆命令來獲取腳本,運行腳本后重啟樹莓派即可完成所有的配置工作,包括新建目錄、下載 SDK 和示例程序、下載 Visual Studio Code 等軟件,等等:
$ git clone https://github.com/raspberrypi/pico-setup.git
$ pico-setup/pico_setup.sh
$ sudo reboot
現(xiàn)在,我們在「/home/pi/pico」目錄下新建目錄「myProject」:
$ cd /home/pi/pico
$ mkdir myProject
$ cd myProject
在「~/myProject」目錄下,我們需要準(zhǔn)備三個文件:
文件 1:用 C 語言編寫控制 Pico 上 LED 等閃爍的「blink.c」程序,LED 燈連接的是 25 號引腳:
#include "pico/stdlib.h"
int main() {
const uint LED_PIN = 25;
gpio_init(LED_PIN);
gpio_set_dir(LED_PIN, GPIO_OUT);
while (true) {
gpio_put(LED_PIN, 1);
sleep_ms(250);
gpio_put(LED_PIN, 0);
sleep_ms(250);
}
}
文件 2:創(chuàng)建「CMakeLists.txt」文件:
cmake_minimum_required(VERSION 3.12)
include(pico_sdk_import.cmake)
project(test_project)
pico_sdk_init()
add_executable(myProject
blink.c
)
pico_add_extra_outputs(myProject)
target_link_libraries(myProject pico_stdlib)
文件 3:從「~/pico-sdk/external」目錄復(fù)制「pico_sdk_import.cmake」文件:
$ cp ../pico-sdk/external/pico_sdk_import.cmake .
準(zhǔn)備好三個文件后,在「~/myProject」目錄下新建并進入目錄「build」并執(zhí)行:
$ mkdir build
$ cd build
$ export PICO_SDK_PATH=../../pico-sdk
$ cmake ..
$ make
make 命令即為「編譯」,它將在「~/myProject/build」目錄下生成 .uf2 文件和其他文件。
現(xiàn)在用 Micro USB 轉(zhuǎn) USB 數(shù)據(jù)線將 Pico 和樹莓派 4B 連接。按住 Pico 的開關(guān)按鈕,將 Pico 通過 Micro USB 數(shù)據(jù)線與樹莓派 4B 連接,隨后松開按鈕。此時,Pico 會被樹莓派 4B 識別為「USB Mass Storage Device」。將「~/myProject/build」目錄下的「myProject.uf2」文件拖入其中,即可完成燒錄,Pico 上的 LED 燈便開始閃爍了。
編輯:hfy
-
微處理器
+關(guān)注
關(guān)注
11文章
2264瀏覽量
82498 -
樹莓派
+關(guān)注
關(guān)注
116文章
1708瀏覽量
105692
發(fā)布評論請先 登錄
相關(guān)推薦
評論