STEP_RP2350B核心板介绍
由于RP2350的强大性能 - 双核Arm处理器 + 双核RISC-V处理器,以及可编程IO(PIO),该芯片不仅支持通用的外设总线(I2C、SPI以及UART)访问,还可以通过适当的配置让PIO访问高速外设,在很多场景下能够完成FPGA才能实现的功能。
相对于RP2040和RP2350A只有30个IO,RP2350B拥有48个IO,这增加的18个IO就可以通过合理的配置,可以访问更多的外设,使得我们设计一款兼容小脚丫FPGA板上功能、同时支持36个连接扩展板的IO有了可能。以下就是我们设计的STEP_RP2350B核心板。
STEP_RP2350B核心板正面&背面
从其3D效果图可以看出,这个核心板上同小脚丫FPGA核心板一样,支持:
- 8颗单色LED,用于各种LED相关的编程练习,比如心跳灯、流水灯、呼吸灯灯
- 2个三色LED,用于使用RGB三种颜色的编程练习,比如交通灯的控制,在这里2颗三色灯是通过一根串行信号线来控制,同小脚丫FPGA核心板通过6根IO来控制不同,主要是为了节省IO信号线的数量
- 2个7段数码管,用于计数、显示数字信息,可以显示0-99之间的数字,在这里我们使用了两颗74HC595将3根控制信号线转换为7段数码管的驱动信号
- 4个拨码开关,用于设置、切换一些状态,其状态是使用模拟信号的方式送到RP2350B的ADC进行判断
- 4个轻触按键,用于控制信息的输入,其状态是使用模拟信号的方式送到RP2350B的ADC进行判断
相对于小脚丫FPGA核心板,这个STEP_RP2350B核心板还增加了两个功能:
- 一颗单色LED,直接有一个GPIO驱动,因为上述提到的8颗LED是通过4根IO组合驱动,单独通过一个GPIO驱动LED对于软件编程的初学者来讲比较友好,可以立即上手通过电亮LED来验证程序
- 一个姿态传感器,即便单独使用核心板也可以通过板上的姿态传感器做更多的实验,并能够熟悉I2C总线的操作
STEP_RP2350B核心板采用Type C的USB接口,支持USB2.0高速数据传输(最高12Msps),板上有一颗开关稳压芯片XT3406将USB接口的5V(Vbus上得到,会在4.75V-5V之间)转化为RP2350B以及其它数字器件需要的3.3V直流电压,板上有一颗LED为3.3V电压指示灯。
板上资源及扩展管脚信号定义
下图是核心板上的功能以及用到的管脚
板上资源
下图为核心板的36根IO对应的信号,列出了GPIO、SPI、I2C、UART、PWM以及HSTX的信号
扩展管脚信号定义
核心板对外的连接使用了蛇形孔的方式,这样可以在不需要焊接的情况下,将排针插入蛇形排孔即可使用。
兼容扩展板
扩展板1 - 小脚丫FPGA综合训练板
小脚丫FPGA综合训练板相关介绍及开源项目:https://www.eetree.cn/platform/11
由于兼容小脚丫FPGA核心板的信号定义,可以使用大部分为小脚丫FPGA设计的各种扩展板,比如小脚丫FPGA综合训练板 :
这个板上有:
- 128*32分辨率的OLED单色显示屏,通过SPI总线进行访问,可以显示文本和图形化信息,SPI是微处理器的重要外设之一,也是嵌入式编程必然用到的一种船型外设总线,要注意的是RP2350的SPI总线时钟SCLK和串行数据输出SPI_TX(也就是其它地方长用到的MOSI)对于管脚是有要求的,如果硬件设计中没有用到指定的信号线连接SPI的外设,可以通过RP2350的PIO进行重新定义,如果外设速度不快,可以通过软件仿真的方式来操作;
- 蜂鸣器,使用PWM驱动,是练习使用PWM的常用外设
- DS18B20温度传感器,是ADI公司非常经典的一颗单总线协议的外设器件,可以通过编程读取板上的温度
- 一个电位计 + 串行ADC,电位计用于提供变化的模拟信号,串行ADC将变化的模拟信号进行量化以后再通过I2C总线传输给RP2350B,这部分的功能主要是为了练习I2C总线以及低速的数据采集功能
- 由20个电阻构成的10bit R-2R DAC,搭配FPGA的逻辑或RP2350的程序,通过DDS的机制生成频率可调、幅度可调的任意模拟信号波形
扩展板2 - 电子琴扩展板
电子琴套件相关介绍及开源项目:https://www.eetree.cn/platform/1105
硬禾科技为“暑假在家一起练”设计过一款电子琴套件,这个STEP_RP2350B核心板同样也可以使用,并能够通过编程生成音色丰富的模拟信号输出,是个不错的练习。
电子琴底板插上STEP2350B小脚丫MCU核心板的效果: