无垠的广袤 发表于 2025-4-14 14:53:03

树莓派 PICO 2 简介、MicroPython程序测试

本帖最后由 无垠的广袤 于 2025-4-14 15:01 编辑

树莓派 PICO 2 测试
本文介绍了树莓派 PICO 2 的基本参数特点、原理图等,包括开发环境搭建、工程测试等流程。
介绍
树莓派官方于 2024 年 8 月 发布了 RP2350 微控制器,并同步发布了树莓派 Pico 2。这是树莓派的第二代微控制器板,基于 RP2350 设计的新型高性能、安全的微控制器。凭借更高的内核时钟速度、两倍的内存、更强大的 ARM 内核、新的安全功能和升级的接口功能,Pico 2 提供了显著的性能和功能提升,同时保留了与 Pico 系列早期成员的硬件和软件兼容性。
特点RP2350 具有比 RP2040 复杂得多的设计
[*]– 两个 150MHz Arm Cortex-M33 内核,支持浮点和 DSP
[*]– 内置 520KB SRAM
[*]– 围绕 Arm TrustZone for Cortex-M 构建的综合安全架构
[*]– 内置开关模式电源和低静态电流 LDO
[*]– 12 个升级的 PIO 状态机
[*]– 用于高速数据传输的新型 HSTX 外设
[*]– 支持外部 QSPI PSRAM
参数

[*]– 双核 Arm Cortex-M33 或双核 Hazard3 处理器 @ 150MHz
[*]– 520 KB 片上 SRAM
[*]– 软件和硬件与树莓派 Pico 1 代兼容
[*]– 通过 USB 使用大容量存储进行拖放式编程
[*]– 齿形模块允许直接焊接到载板上
[*]– 强大且完整记录的安全功能
[*]– 受保护的 OTP 存储,用于可选的启动解密密钥
[*]– 基于 Arm 或 RISC-V 安全/权限级别的全局总线过滤
[*]– 外设、GPIO 和 DMA 通道可单独分配给安全域
[*]– 故障注入攻击的硬件缓解措施
[*]– 硬件 SHA-256 加速器
[*]– 2 × UART
[*]– 2 × SPI控制器
[*]– 2 × I2C 控制器
[*]– 24 × PWM 通道
[*]– 4 个 ADC 通道
[*]– 1 × USB 1.1 控制器和 PHY,支持主机和设备
[*]– 12 × PIO 状态机
[*]– 开源 C/C++ SDK,MicroPython 支持
[*]– 工作温度 -20°C 至 +85°C
[*]– 支持的输入电压 1.8–5.5V DC
官方称 RP2350 与 RP2040 在软件和硬件上都是向前兼容的(RP2350 兼容 RP2040 的软件和硬件),这可能意味着针对 RP2040 设计的外设模块,仍然可以直接在 RP2350 上使用。
实物
Top viewBottom view

管脚定义

原理图开发环境搭建
介绍了针对树莓派 PICO 2 的 MicroPython 安装流程。
Thonny IDE
电脑需安装最新版 Python 软件;下载并安装 Thonny IDE ;运行 Thonny 软件,右下角选择 MicroPython (Raspberry Pi Pico) 解释器,并选择 Pico 对应的端口号。
[*]下载 MicroPython 的 UF2 文件;
[*]按住 Pico 开发板上的 BOOTSEL 按钮,给 Pico 上电连接电脑,松开 BOOTSEL 按钮;
[*]Pico 会被识别为大容量存储设备;
[*]将下载的 MicroPython 固件 UF2 文件拖入 RPI-RP2 卷内,之后 Pico 自动重启,MicroPython 开始运行
参考:树莓派 Pico 中文站, 微雪
工程测试
介绍了使用 MicroPython 对树莓派 Pico2 进行工程测试的主要流程,包括 Blink 和 PWM 呼吸灯的代码和效果展示。
官方例程:raspberrypi/pico-micropython-examples
闪灯

代码from machine import Pin
from utime import sleep
import utime

led = Pin(25, Pin.OUT)

if __name__ == '__main__':
    while True:
      # led点亮
      led.value(1)
      utime.sleep_ms(100)
      # led熄灭
      led.value(0)
      utime.sleep_ms(100)

定时器from machine import Pin, Timer

led = Pin("LED", Pin.OUT)
tim = Timer()
def tick(timer):
    global led
    led.toggle()

tim.init(freq=2.5, mode=Timer.PERIODIC, callback=tick)

效果呼吸灯

代码import utime
from machine import Pin,PWM
PWM_PulseWidth=0

pwm_LED=PWM(Pin(25))
pwm_LED.freq(500)
while True:
    while PWM_PulseWidth<65535:
      PWM_PulseWidth=PWM_PulseWidth+50
      utime.sleep_ms(1)   #延时1ms
      pwm_LED.duty_u16(PWM_PulseWidth)
    while PWM_PulseWidth>0:
      PWM_PulseWidth=PWM_PulseWidth-50
      utime.sleep_ms(1)
      pwm_LED.duty_u16(PWM_PulseWidth)

参考:raspberry-pi-pico pwm
Codefrom machine import Pin, Timer, PWM
import utime

led = PWM(Pin(25))
# 设置频率值
led.freq(1000)
led_value = 0
# led以5%增长/减少的速度变化亮度
led_space = 5

if __name__ == '__main__':
while True:
    led_value += led_space
    if led_value >= 100:
      led_value = 100
      led_space = -5
    elif led_value <= 0:
      led_value = 0
      led_space = 5
    # 设置占空比,需在0-65535之间
    led.duty_u16(int(led_value * 500))
    utime.sleep_ms(100)
参考:树莓派 Pico MicroPython 开发指南
效果

UART

代码from machine import UART, Pin
import time

uart1 = UART(1, baudrate=115200, tx=Pin(8), rx=Pin(9)) #设置串口1和波特率,TX--8,RX--9

uart0 = UART(0, baudrate=115200, tx=Pin(0), rx=Pin(1)) #设置串口0和波特率,TX--0,RX--1

txData = b'hello world\n\r'
uart1.write(txData)
time.sleep(0.1)
rxData = bytes()
while uart0.any() > 0:
    rxData += uart0.read(1)

print(rxData.decode('utf-8'))
硬件连接
GPIO8 -> GPIO1

GPIO9 -> GPIO0
效果参考:树莓派官方文档 raspberry-pi-pico-python-sdk-2
ADC

代码import machine
import utime

sensor_temp = machine.ADC(4)
conversion_factor = 3.3 / (65535)

while True:
    reading = sensor_temp.read_u16() * conversion_factor

    # The temperature sensor measures the Vbe voltage of a biased bipolar diode, connected to the fifth ADC channel
    # Typically, Vbe = 0.706V at 27 degrees C, with a slope of -1.721mV (0.001721) per degree.
    temperature = 27 - (reading - 0.706)/0.001721
    print(temperature)
    utime.sleep(2)
效果参考:pico-micropython-examples/adc/temperature.py
总结
本文介绍了树莓派 PICO 2 的基本参数特点、原理图等,包括开发环境搭建、工程测试等流程,为后续深入开发和应用扩展作铺垫,也为相关产品的应用提供了参考。




木子哦 发表于 2025-4-14 14:59:49

感谢分享!好内容
页: [1]
查看完整版本: 树莓派 PICO 2 简介、MicroPython程序测试