Raspberry-Pi-PICO系列--第一篇 初识RP2040

本专栏相关文章

Raspberry-Pi-PICO系列--第二篇 开发环境搭建-Mac系统_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/122709686Raspberry-Pi-PICO系列--第三篇 开发环境搭建-Ubuntu系统_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/122713031Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123012504Raspberry-Pi-PICO系列--第四篇 开发环境搭建-Windows系统 + Visual Studio Code开发_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123060724

Raspberry-Pi-PICO系列--第五篇 开发环境搭建-Windows系统(基于RT-Studio开发)_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123057037Raspberry-Pi-PICO系列--第六篇 点亮第一个LED_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/122728081Raspberry-Pi-PICO系列--第七篇 创建自己的工程_coder.mark的博客-CSDN博客icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123014765Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第一章)_coder.mark的博客-CSDN博客_swd下载接口icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123015115Raspberry-Pi-PICO系列--第八篇 高级篇使用SWD接口下载和调试(第二章)_coder.mark的博客-CSDN博客_swd下载口icon-default.png?t=M3K6https://blog.csdn.net/tianizimark/article/details/123020396

一、前言

        最近在某宝上淘了一块Raspberry-Pi-PICO开发板,样子就是下图左侧的那个mini板子。

        Raspberry-Pi-PICO系列--第一篇 初识RP2040_第1张图片

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第2张图片

        这个开发板最吸引我的地方就是它居然还是一个双核芯片,但是无论从性价比还是从功能性上来看还是不如ESP32。

        虽说如此如果在一些不需要WiFi或者蓝牙的场景中,这款芯片还是有一定的优势的,并且功能上也不差。

二、介绍

        开发板的具体样子如下图所示,其中板载W25Q16JV 2MB的Flash用于存储代码,BOOTSEL按钮用于下载代码

 

      从官方可以找到很多资料,总体上来讲还是对开发者很友好的,下面简单介绍一下。

Raspberry Pi Documentation - Raspberry Pi Picohttps://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第3张图片

 特征

  • 低功耗、高性能
  • 双核 M0+处理器内核,最高时钟133MHz
  • 264KB SRAM(6 Bank)、2MB的板载Flash内存,最大可以支持16MB,并且具有16KB的Cache
  • 支持USB 1.1 主机/设备模式(直接通过板载USB UF2模式下载)
  • 支持SWD调试和下载
  • 26个多功能GPIO(即可复用为外设IO,并且其中有4个IO可用作ADC输入引脚)
  • 2个SPI、2个I2C、2个UART、3个12bit的ADC、16个可控的PWM通道
  • 内置温度传感器
  • 加速的ROM内的浮点库
  • 8个可编程IO(PIO)
  • 4个ADC通道,最大采样率0.5MSa/s,12bit精度,可从外部引入参考电压
  • 6个专用IO用于SPI Flash以支持XIP

        其中最有意思的是PIO功能,这个有点像FPGA的功能,开发者用此功能来自行实现IO时序逻辑来支持类似SD卡、I2S、VGA等外设。

        下载方式可以直接使用USB UF2模式,这样就可以不需要单独购买调试器。

        

芯片引脚

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第4张图片

芯片架构

        Raspberry-Pi-PICO系列--第一篇 初识RP2040_第5张图片

         从上图中我们可以看到有Proc0和Proc1两个完全对称的处理核心,并且具有DMA控制器、USB控制器、PIO0/PIO1、XIP/Cache。

        我们在自己开发应用程序时,是烧写到外部Flash中,然后芯片启动时,其内部的ROM中的bootloader通过XIP/Cache加载程序执行。

       

总线结构

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第6张图片        

        从上图我们可以很清楚的看到内部各个核心与外设以及SRAM如何互连的。

        其中需要注意的是DMA只有一个读端口,一个写端口; AHB总线与APB总线通过APB桥进行互连;内部的SRAM通过6个块连接到AHB总线上,这样的设计可以CPU访问某一个块的同时DMA可以访问其他块。

三、开发

        这块开发板支持C/C++ SDK开发,也可以用python开发,官网做了很好的文档帮助开发者从头开始上手。

        官方的仓库

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第7张图片

 Raspberry-Pi-PICO系列--第一篇 初识RP2040_第8张图片

        

        更有意思的是,上海睿赛德公司RTThread也对此芯片做了rtos的适配,网上也有FreeRTOS的移植,可玩性很高。这样我们又可以低成本的学习RTOS的开发(比STM32F103香多了)。

        除了这个最基本开发板,官网上还提供的音频开发板的电路图,有I2S、VGA、SD卡的功能。(很希望会PCB的同学做一个分享一下)

Raspberry-Pi-PICO系列--第一篇 初识RP2040_第9张图片

        对于刚接触单片机编程的同学,特别值得从此块开发板开启单片机学习之旅。

        后面我会介绍如何在Mac OS、Ubuntu、Windows上搭建开发环境(官方的开发环境是用Raspberry Pi开发板)

        

你可能感兴趣的:(Raspberry,Pi,Pico,raspberry,pi,pico)