软硬件介绍
硬件介绍
使用的是RP2040有以下几个主要特性(并未一一列举详细资料参见官方文档):
- 双Cortex-M0+@133MHz处理器
- USB1.1控制器和PHY,支持主机和和设备
- 支持MicroPython编程
- 30个GPIO,其中4个可做模拟输入
- 通过专用的QSPI总线,支持高达16MB的片外闪存
这里笔者用的四层板,尽量把所有的器件放在顶层,想着板子接口不能太大,有一部分电压保护和Flash放在底层(手工焊接有点想哭,建议可以钢网手动放器件然后上加热台)。
RP2040这个焊接处理起来有点麻烦,需要耐心一次次测试。
这个下载接口实际上没有用到,测试通过后,按住BOOT按键,上电,松开BOOT按键,会弹出来一个U盘,可以直接把固件拖进U盘,就完成了固件下载。下载完成后U盘消失,需要安装对应的驱动。
如图弹出以下名为RPI-RP2的虚拟U盘:
固件下载
下载对应固件后,把 pico_sdk_sigrok.uf2 的文件复制进虚拟U盘RPI-RP2中,复制完成后U盘RPI-RP2会自动弹出,在我的电脑鼠标右击找到管理,弹出下图,找到设备管理器。图中 Reset(Interface 2),虽然找不到驱动,但是有标号COM21后面可以在软件安装后,安装对应的虚拟驱动器。
软件介绍
这里使用的是开源的PulseView包括了Windows、Linux、Mac OS X版本,可以根据自己需求去下载安装。
PulseView软件下载
这里笔者使用了Windows10和Linux(Ubuntu20.04),感觉Windows10环境下安装相对来说简单一些,再Ubuntu20.4环境下弄了半天成功了但是不稳定有时候还是找不到驱动(后面都会放出来),而且能找到驱动,反应也比较慢,但是用起来还可以。
Ubuntu20.04安装PulseView
使用bash进入对应目录使用:./pulseview-NIGHTLY-x86_64-debug.appimage
直接启动对应软件即可。
Windows10安装PulseView
下载完成自己需要PulseView的版本后点击打开,一路下一步,中间有两个需要注意的地方:
- 是否下载示例数据,这个不影响功能使用,可以根据自己的需要来选择。
- 软件安装位置,需要自己根据自己的习惯,安装到对应的位置。
PulseView安装串口设备
安装完成后,根据自己的安装目录找到对应的文件夹,找到最后可以找到驱动安装。
拔下再插上RP2040,点击驱动,弹出驱动安装界面,如果和作者一样什么都没有(如下图)可以跟着如果设置,否则可以跳过此步操作。直接看驱动安装。
点击Options,勾选List All Devices。
驱动安装,插上RP2040,找到Rset(Interface 2),驱动选择USB Serial(CDC),点击Upgrade Driver,等待十几秒就可以了。
驱动安装完成后可以在驱动管理器中看到一个Board CDC。
PulseView软件使用
-
找到软件软件图标
-
选择逻辑分析仪类型、选择串口驱动、扫描选择。
点击下拉菜单,选择Connect to Decive…,有四个步骤选择设备。
Step 1:选择 RaspberryPI PICO (raspberrypi-pico)
Step 2:选择Serial Port,这里选择名字为(Board CDC),不用设置baud。
Step 3:点击扫描按钮。
Step 4:设备选择框里会弹出Raspberry Pi PICO with 24 channels。
完成后如下,点击OK,即可:
-
选择使用的通道,选择采样速度,点击开始采样。
这里作者用的串口自动发送,波特率选择1500000,根据香农采样定理,设置采样速度设置为3M,采样深度设置为2M。
点击运行可以看到如下。
-
选择协议分析、查看数据。
点击协议分析,搜索uart,信号通道下方会出现一个UART,鼠标左击,设置对应通道、波特率、字符显示格式(这里选择dec十进制显示),如果有特殊设置,再根据自己需要配置,设置完成后,如图所示。
查看每一个帧具体数据,这里用的是串口重复发送十六进制1、2、3、4、5、6、7,可以看到数据没问题。
Ubuntu20.04使用PulseView
ubuntu下使用类似,只不过在寻找串口那里会有点慢,而且笔者开始找不到虚拟串口,看到可以识别设备,但是设备被brltty进程占用,网上大多数都是如何禁用掉,我直接卸载了:sudo apt remove brllty
,然后重启ubuntu就可以了。
注
Pulse View 有很多协议可以选择,常用的IIC,SPI,CAN,LIN,MODBUS等,还有各种器件的通讯比如EEPROM等。
使用起来方便很多,但是PR2040虽然可以采样到100M,但是片上内存并不支持采样深度很大,基本采样率设置到15MHz以后,不论怎么设置软件采样深度,硬件采样时间只有0.16s,因此基本的一些常用协议可以用RP2040玩一下,太高速的还是需要额外的存储深度。