【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板

37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百九十六:树莓派Pico开发板 raspberry pi PICO双核 RP2040 单片机C++/Python编程入门控制器

在这里插入图片描述
在这里插入图片描述

2021年1月21日,树莓派基金会 (Raspberry Pi Foundation)官网博客发布了最新一款微控制器开发板:RaspBerry Pi Pico,其采用的是首款自研芯片RP2040。

RP2040芯片由台积电采用40nm制程制造,采用Arm Cortex M0+处理器架构,运行频率为133 MHz,拥有264K SRAM,2MB板载存储空间,很大程度上解决了模拟输入,低延迟,低功耗的问题。

Raspberry Pi Pico是基于RP2040建构的。根据最初的设计原则,PR2040实现了三点目标:一是高性能,特别是整数工作负载;二是更灵活的I/O,允许与外部任何设备进行通信;三是低成本。

在这里插入图片描述
关于 RP2040 型号的含义,RP 代表 “Raspberry Pi”,“2”是内核数,“0”是指所使用的 MCU 内核(例如 Cortex-M0 +)。

最后两位数字是“4” 和“0”使用 floor(log2(x / 16k))公式计算一个数字,该数字表示 SRAM 和芯片内部的非易失性存储容量。

RP2040芯片是 7×7mm QFN-56 封装的,具体功能框图如下:

【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第1张图片
RP2040的性能指标:

双核 Arm Cortex-M0+ @ 133MHz
264KB 片内RAM,内部6个独立的RAM块, 在总线中心进行交换,可以让内核和DMA并行运行而无冲突
通过专用的QSPI总线可以支持最高16MB的片外Flash存储器
DMA控制器
Interpolator and integer divider peripherals
30 GPIO管脚, 其中的4个可以用于模拟输入
2 × UARTs, 2 × SPI控制器, 和2 × I2C控制器
16 × PWM通道
1 × USB 1.1控制器和PHY,支持Host和Device
8 × 树莓派可编程I/O状态机
USB存储启动模式并支持UF2, 可以通过拖拽进行编程
7*7 56管脚的QFN封装

【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第2张图片
RP2040 芯片由树莓派自己设计开发,采用 40 nm 制程工艺,7×7 mm QFN-56 封装。RP2040 的设计思想基于多年来树莓派产品和项目中使用的其他供应商设备的优缺点。它主要具备以下 3 个方面的关键优势:

1、两个快速 CPU 内核。RP2040 具有 一对 ARM Cortex-M0+ 内核,时钟频率为 133 MHz,提供充足的整数性能。用户可以使用一个内核运行应用程序代码,另一个内核监督硬件;也可以使用 FreeRTOS 或 MicroPython 在两个内核上运行应用程序代码。
2、大量的 RAM。RP2040 拥有 264KB 的 RAM,这使得用户可以专注于实现功能,无需花费时间和精力优化应用程序的大小。其中,一个完全连接的交换机将 ARM 内核和 DMA 引擎连接到六个独立的 RAM 组,使得用户可以充分利用系统的性能。
3、灵活的 I/O。RP2040 提供所有常用接口:硬件 UART、SPI 和 I2C 控制器、USB 1.1 和四通道 ADC。而可编程 I/O (PIO) 子系统使 RP2040 脱颖而出,支持包括 SDIO、DPI、I2S,甚至 DVI-D 在内的软件实现协议。

所有这些都被封装在一块 2 平方毫米的 40 nm 制程芯片中。

【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第3张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第4张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第5张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第6张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第7张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第8张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第9张图片

树莓派pico开发板的电原理图

【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第10张图片

树莓派pico引脚图

【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第11张图片
【雕爷学编程】Arduino动手做(196)---树莓派Pico开发板_第12张图片

收集的Raspberry Pi Pico 资源列表
Raspberry Pi Pico 是 具有灵活数字接口的低成本,高性能微控制器板。

文档
Getting Started - 官方Pico入门指南。https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf
Pico SDK C/C++ - Pico SDK C / C +±官方Pico C/C++ SDK文档。https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf
Pico SDK MicroPython - Pico SDK MicroPython-官方MicroPython SDK文档。https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf
Pico Doxygen - Pico Doxygen-官方的"Raspberry Pi Pico的API级别Doxygen文档"。https://www.raspberrypi.com/documentation/pico-sdk/
Pinout Diagram - 树莓派pico官方引脚图。https://datasheets.raspberrypi.com/pico/Pico-R3-A4-Pinout.pdf
Fritzing Diagram - Fritzing图表-官方的Pico Fritzing图表。
Design Files - 设计文件-官方的Pico硬件设计文件。
Pico Datasheet - Pico数据手册-官方Pico数据手册。https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf
RP2040 Datasheet - RP2040芯片数据-官方RP2040芯片数据手册。
Hardware Design - 硬件设计-RP2040的官方硬件设计参考手册。

软件与工具
Pico 示例 - Raspberry Pi Pico SDK示例。https://github.com/raspberrypi/pico-examples
Pico MicroPython示例 - Raspberry Pi Pico MicroPython示例。https://github.com/raspberrypi/pico-micropython-examples
Pico SDK Repo - 官方Raspberry Pi Pico SDK存储库。https://github.com/raspberrypi/pico-sdk
Pico C++ Setup Script - 一个BASH脚本,用于在您的设备上设置Pico C ++工具链。
Picotool - Picotool是一种用于检查RP2040二进制文件并在处于BOOTSEL模式时与RP2040设备进行交互的工具。
Picoprobe - 可以使用一个Raspberry Pi Pico调试另一个Pico。 这可以通过picoprobe实现,该应用程序允许Pico充当USB→SWD和UART转换器。
Resetting Pico Flash Memory - 强制将Raspberry pi pico闪存空间清除为空。
Thonny IDE - Thonny IDE对Pico的支持。https://github.com/raspberrypi/thonny-pico
Pico-Stub - 从Visual Studio Code中对树莓派pico的python代码插入和自动补全。https://github.com/cpwood/Pico-Stub
Pimoroni Pico - Pimoroni Pico库和示例包含micropython 和C/C++支持。https://github.com/pimoroni/pimoroni-pico

资源博客
Official Pico Announcement - Raspberry Pi Pico首次发布。
MicroPython Book - 新书可帮助您入门Raspberry Pi Pico上的MicroPython。
NeoPixel Dithering - HackSpace杂志用Raspberry Pi Pico看NeoPixels。
Closer Look at RP2040 - 详细学习Raspberry Pi RP2040可编程I/O(PIO)。

书籍
MicroPython Pico - 开始使用micropython学习raspberrypi pico开发板。

社区项目
Pico Tetris - 安装在Pimoroni Pico Explorer上的Raspberry Pi Pico上的俄罗斯方块。
Pico Display Colour Change - 使用Pimoroni的展示包的Pico应用。
Pico Lib for NeoPixels - 一个使用NeoPixels(WS2812b LED)的Raspberry Pi Pico库。
TensorFlow Lite Micro - 用于Pico的TensorFlow Lite Micro库。
Rust Support Crate - 为Raspberry Pi的PIO架构提供支持。
morse4pico - 用于Raspberry Pi Pico的MicroPython中非常简单的摩尔斯电码脚本。
picoLCD - picoLCD是使Raspberry Pi Pico上的基于HD44780的LCD屏幕更方便接口功能的集合。
Balloon Tracking Raspberry Pi Pico天气气球跟踪设备。代码在 https://github.com/daveake/pico-tracker
Pico Snake - 在Pimoroni Pico Explorer中运行的Raspberry Pi Pico蛇。
Annoying Book Mark - 一个用于计算自您上次打开书以来经过的时间书签。

教程
Control an LED - 树莓派官方提供的设置文档,使用micro python语言控制led灯。https://projects.raspberrypi.org/en/projects/getting-started-with-the-pico

图形编程
playpiper- 适合初学者学习的平台。https://make.playpiper.com/

板子自带的资料链接
Model: Raspberry Pi RP2 https://www.raspberrypi.org/documentation/rp2040/getting-started/

你可能感兴趣的:(单片机,嵌入式硬件,c++,Arduino,物联网,树莓派Pico开发板)