> 文档中心 > 1024 程序员节:低代码低成本硬件 - 树莓派 Pico 2040

1024 程序员节:低代码低成本硬件 - 树莓派 Pico 2040

        恰逢 1024 程序员节,程序员们忙着开交流会、或者写代码,来庆祝节日,或者随便写点什么,留下自己的足迹。CSDN 组织了好几个线下、线上的会,大家也在讨论开源、开放;小米的崔总,引用了《论语》里的一句话, “德不孤,必有邻” ,来评价正确的开源之道越来越红火,而也有不少打着开源的幌子,放不下自己的名或者利,慢慢地大家也渐行渐远,我深有同感。

        软件提倡开源、开放,硬件同样也提倡开放。由 Eben Upton 于 2009 年创立的 树莓派基金会可以说是一个成功的典范。从最初的愿景,做人人负担得起的电脑(35$),让更多的电脑进入学校,到2021 年已经向 100 多个国家和地区运送超过 4200 万台计算机,与此同时捐助了超过 3000 万英镑。树莓派在 2020 年的销售量就达到了 710 万台的历史新高,利润为 1140 万英镑,已被广泛用于编程学习、物联网和自动化等地方。

        为了庆祝树莓派 8 岁生日,树莓派基金会曾经宣布,2GB 内存版的树莓派 4B 降价,由原价 45 美元下调至 35 美元,同时原售价 35 美元的 1GB 版本停止发售。而 4GB 内存版价格保持不变,仍然是 55 美元。

        由于各种原因,现在国内树莓派 4B(4GB)版本一度超过 1000¥,甚至卖断货,感觉背离了人人用得起的初衷。      

        2021 年 1 月,树莓派推出了树莓派 Pico,这是一款主要用于嵌入式开发的微控制器,使用了 树莓派自研的 RP2040 芯片,售价 4 美元,并以 1 美元的价格单独销售 RP2040 芯片,满足开发者自己构建电子产品的需求,而且宣称 Pico 系列会持续生产至少到 2028 年 1 月份。

RP2040 芯片

  • 双核 Arm Cortex-M0+ 处理器, 可变时钟,最大到 133 MHz
  • 264kB 片上 SRAM,需外接 QSPI Flash,最大16MB,execute-in-place (XIP)
  • 16kB ROM,出厂固定,包括:初始化、Flash启动烧写代码、U盘拖放下载UF2和浮点库支持
  • 2 × UART, 2 × SPI , 2 × I2C , 16 × PWM
  • 4 × ADC,SAR,500ksps,GPIO26、27、28、29
  • 1个 USB1.1 主机和设备支持
  • 8 个可编程 I/O (PIO) 状态机,用于自定义外设支持
  • 支持输入电源:1.8–5.5V DC
  • 工作温度:-40°C to +85°C
  • 可通过 USB 识别为大容量存储器进行拖放式下载程序
  • 支持低功耗睡眠和休眠模式
  • 精确的片上时钟和定时器
  • 温度传感器
  • 片上整数和浮点加速库

         这个双核 Arm Cortex-M0+ 芯片设计工作频率 133MHz,有大神把它超频到 250MHz,并使用 PIO 直接驱动 640x480p 60 Hz DVI,可以稳定运行;更有猛人竟然超频到1GHz,当然坚持了一会就坏掉了,除了说明芯片强悍,还有一个重要的原因,是它足够便宜,现在 5¥可以买到。

软件开发

        可选择树莓派提供的 C/C++ SDK,或者使用 MicroPython 进行开发,而且 Arduino 也推出相应的硬件版本和软件支持。

  1. Raspberry Pi Pico C/C++ SDK
  2. Raspberry Pi Pico MicroPython
  3. Arduino Nano RP2040

树莓派 Pico 开源例程

  • 树莓派官方C/C++示例程序 (github)
  • 树莓派官方micropython示例程序 (github)

树莓派 Pico 文档

  • Raspberry Pi Pico product brief
  • Raspberry Pi Pico W product brief
  • Raspberry Pi Pico datasheet
  • Raspberry Pi Pico W datasheet
  • Getting started with Raspberry Pi Pico: C/C++ development
  • Raspberry Pi Pico C/C++ SDK
  • API-level Doxygen documentation for the Raspberry Pi Pico C/C++ SDK
  • Raspberry Pi Pico Python SDK
  • Connecting to the internet with Raspberry Pi Pico W
  • Raspberry Pi RP2040 datasheet
  • Hardware design with RP2040
  • Raspberry Pi Pico design files
  • Raspberry Pi Pico W design files (Cadence Allegro)
  • Raspberry Pi Pico STEP file
  • Raspberry Pi Pico W STEP file
  • 3-pin debug connector

树莓派书籍

  • Get Started with MicroPython on Raspberry Pi Pico

        这本书已经断货了,电子版让大家免费获取。我想,这种开放和让利的做法,也是树莓派之所以这么成功的一个原因。

中文入门教程

        微雪课堂也推出了 Raspberry Pi Pico 支持和系列教程。

小结

         开源、开放可以让我们借助外力,很快的做自己的开发;而低代码、低成本的树莓派 RP2040 对于囊中羞涩的初学者来说,简直是太香了。

        虽然是 Cortex-M0+ 内核,但是可以跑到 133MHz,甚至无压力跑到 250 MHz, 已经超过了不少 MCU了,而且还是双核心;这颗芯片不但有常用的 GPIO、UART、I2C、ADC、PWM、SPI、USB 等外设接口,还有 RTC 和 Watchdog;虽然没有片上 Flash,外接 QSPI Flash 也很方便,成本也不高;有支持 VGA 和 SDcard 的参考设计;还有 PWM 和 I2S 两种 Audio 方案;更有值得一提的是 PIO,可以自己编程,支持 8080/6800 并行总线、I2C、3-pin I2S、SDIO、 SPI、DSPI、QSPI、UART、DPI 或 VGA (via resistor DAC),体验一下 “ 汇编语言 ” 编程,进行快于 us 的操作。

        甚至还可以跑一下机器学习,使用 TensorFlow Lite Micro,做个 People Detect。

        对于 1 颗 5 块钱的芯片,拿来练一练焊接技术也不觉得心疼,是不是很值得玩一把?

                                                                                   老徐,2022/10/24