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

本专栏相关文章

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

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

        如果觉得博客写得不错,对你有帮助,可以打赏哦​​​​​​​​​​​​​​

一、前言

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

        

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

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

二、介绍

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

 

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

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

 特征

  • 低功耗、高性能
  • 双核 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模式,这样就可以不需要单独购买调试器。

        

芯片引脚

芯片架构

        

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

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

       

总线结构

        

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

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

三、开发

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

        官方的仓库

 

        

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

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

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

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

        

51232是一种Raspberry Pi开发板型号,它可以与Simulink驱动程序块一起使用。Simulink是一种用于模拟、建模和代码生成的工具,而Raspberry Pi是一种可以运行Simulink模型的单板计算机。 Simulink驱动程序块是用于将Raspberry Pi的功能与Simulink模型集成的工具。它允许用户通过Simulink模型来控制和读取Raspberry Pi上的各种传感器和执行器。用户可以通过简单地将各种驱动程序块添加到Simulink模型中来实现与Raspberry Pi的通信和控制。 ADC表示模拟转数字转换器,DAC表示数字转模拟转换器,PWM表示脉冲宽度调制。Raspberry Pi上的ADC和DAC驱动程序块可以实现数据的模拟输入和输出。用户可以将传感器的模拟信号通过ADC转换为数字信号,并在Simulink模型中进行处理。类似地,用户可以使用DAC将模拟输出信号从Simulink模型发送到执行器。 PWM驱动程序块可以通过产生脉冲宽度调制信号来控制Raspberry Pi上的PWM输出引脚。PWM信号可以用于控制各种执行器,如电机和舵机。用户可以在Simulink模型中调整PWM信号的参数,并通过Raspberry Pi的PWM引脚将其输出。 总而言之,51232 Raspberry Pi Simulink驱动程序块可以实现与Simulink模型的综合,通过ADC和DAC驱动程序块进行模拟输入和输出,通过PWM驱动程序块控制PWM输出。这使得用户能够利用Simulink的功能来控制和监测Raspberry Pi上的各种设备和传感器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值