搭载RP2040双核处理器芯片,BPI-Pico-RP2040 开发板开发实例展示

描述

电子发烧友论坛

BPI-Pico-RP2040 是 Banana Pi 推出的一款搭载RP2040芯片的微控制器开发板,在尽量保留Raspberry Pi Pico的功能,外形尺寸,引脚布局的前提下,板载一颗 WS2812 彩色LED;一个JST SH 1mm 4-Pin 插座,可与 Qwiic & STEMMA QT 或任何可能的外设连接;将micro-USB插座替换为USB Type-C插座。

 

 

01

CircuitPython环境介绍

 

 

首先感谢发烧友平台提供的免费测试活动,拿到开发板后,第一时间开箱,就看到了黑色的板子,配合镀金焊盘,看起来也挺漂亮。

 

 

 

BPI-Pico-RP2040 是 Banana Pi 推出的一款搭载RP2040芯片的微控制器开发板,其最显著的特性是,在尽量保留Raspberry Pi Pico的功能,外形尺寸,引脚布局的前提下,增加一颗板载 WS2812 彩色LED;将 3-Pin DEBUG 接口替换为一个JST SH 1mm 4-Pin 插座,可与 Qwiic & STEMMA QT 或任何可能的外设连接;将micro-USB插座替换为USB Type-C插座,支持正反插,与绝大多数现代智能手机的USB Type-C线通用,无需额外购买。

 

关键特性

  • 双核 ARM Cortex M0+ CPU 内核(高达 133 MHz)

  • 264K SRAM

  • 2MB Flash

  • 26个可用GPIO引脚,其中4个支持ADC模拟输入

  • 1 × LED

  • 1 × WS2812 LED

  • 1 × JST SH 1mm 4-Pin 插座

  • 1 × USB Type-C插座

 

相对树莓派官方的rp2040来说,引脚是完全兼容的,只是Flash体积从4MB减小到2MB(大部分代码应用无所谓,不好做带图片的GUI设计而已)。

 

从官方的wiki可以找到引脚图(见下图)和尺寸图、以及原理图。还是相当不错的。

 

电子发烧友论坛

 

好了,闲扯这么多,现在就开始准备circuitPython点灯吧

 

>>>点此查看全文

 


 

02

RP2040可编程 IO (PIO) 使用初探

 

 

BPI-Pico-RP2040 开发板所搭载的RP2040微处理器,相对于其他微处理,最吸引人的一点就是提供了可编程 IO,简称PIO。

 

PIO的神奇之处在于,给PIO编程后,它可以自己运行来控制IO口,而不会再占用微处理器的资源,使得同时可以完成其他的逻辑,而相互之间可以完全不干扰。

 

因为是初探PIO的使用,而玩板子无不从点灯开始,所以这里也从点灯开始。

 

电子发烧友论坛

 

>>>点此查看全文

 


 

03

串行数码管与电子时钟显示

 

 

在通常情况下,数码管的显示方式多采用并行的方式,其通道是编程时的灵活性比较大,但比较耗费引脚资源。为此,这里选用一款以串行方式工作的数码管模块,它是以MAX7219作为控制芯片,具有占用引脚少,无需时时扫描的特点。

 

该模块的外观如图1时时,它共有5个引脚,分别是:VCC、GND、SCL、CS和SDA。

电子发烧友论坛

经程序下载,其运行效果如下图所示,由于该数码管的显示符有限,故以“-”来替代“:”作为时间值的分隔符。

 

电子发烧友论坛

 

>>>点此查看全文

 


 

04

RP2040上的MicroPython环境中多线程编程

 

 

其核心是RP2040,采用的是ARM Cortex M0+ CPU内核,运行频率高达 133 MHz。

 

比一般使用Cortex M0+的MCU更强大的是,RP2040使用了双核ARM Cortex M0+,既然是双核的,那么我们就可以在BPI-Pico-RP2040运行多线程程序了,更好的挖掘出其潜力来。

 

多线程了解

关于什么是多线程,本文不讲,大家可以自行查找资料详细了解。

 

为了更方便的进行测试,本次所有的实例,都是在python环境中进行的。

 

经过了解,circuitpython还不支持多线程,而micropython则已经提供支持。

 

多线程是个让人有爱又恨的东西,用好了能有大作用,但是用不好可能会出现莫名其妙的问题,需要好好钻研。本文只是一些较为基础的研究,还比较浅显,对于gc等方面,都尚未涉及,感兴趣的读者可以进一步深入了解。

 

电子发烧友论坛

 

>>>点此查看全文

 


 

05

板载RGB-LED点亮不同颜色

 

 

本篇来测试BPI-Pico-RP2040板载的GRB LED。

 

WS2812介绍

电子发烧友论坛

WS2812B是一种智能控制LED光源,将控制电路和RGB芯片集成在一个5050个组件的封装中。内部包括智能数字端口数据锁存和信号整形放大驱动电路。还包括精密的内部振荡器和电压可编程恒流控制部分,有效保证像素点的光色高度一致。

 

数据传输协议采用单NZR通信模式。像素上电复位后,DIN端口从控制器接收数据,第一个像素采集初始24位数据,然后发送给内部数据锁存器,其他经过内部信号整形放大电路整形后的数据通过DO端口发送给下一个级联像素。

 

电子发烧友论坛

 

>>>点此查看全文

 


 


电子发烧友论坛

电子发烧友论坛

声明本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。

 

更多热点文章阅读

  • 基于Cortex-M3内核的32位微控制器,STM32项目实战分享!

  • 基于32位RISC-V设计的互联型微控制器,沁恒微CH32V307开发样例

  • RK3568!四核64位ARMv8.2A架构,汇聚编译源码及实战样例

  • 尺寸仅有21mm*51mm,板边采用邮票孔设计,合宙 Air105 核心板开发总结

  • 嵌入式Linux开发秘籍!工程师大佬亲历分享项目样例


原文标题:搭载RP2040双核处理器芯片,BPI-Pico-RP2040 开发板开发实例展示

文章出处:【微信公众号:电子发烧友论坛】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分