【开源DIY】RP2040-DIY一个逻辑分析仪

硬件介绍

使用的是RP2040有以下几个主要特性(并未一一列举详细资料参见官方文档):

  • 双Cortex-M0+@133MHz处理器
  • USB1.1控制器和PHY,支持主机和和设备
  • 支持MicroPython编程
  • 30个GPIO,其中4个可做模拟输入
  • 通过专用的QSPI总线,支持高达16MB的片外闪存
    这里笔者用的四层板,尽量把所有的器件放在顶层,想着板子接口不能太大,有一部分电压保护和Flash放在底层(手工焊接有点想哭,建议可以钢网手动放器件然后上加热台)。
    RP2040这个焊接处理起来有点麻烦,需要耐心一次次测试。
    RP2040-立创EDA-正面
    RP2040-立创EDA-反面
    这个下载接口实际上没有用到,测试通过后,按住BOOT按键,上电,松开BOOT按键,会弹出来一个U盘,可以直接把固件拖进U盘,就完成了固件下载。下载完成后U盘消失,需要安装对应的驱动。

如图弹出以下名为RPI-RP2的虚拟U盘:
RPI-RP2
固件下载

下载对应固件后,把 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的版本后点击打开,一路下一步,中间有两个需要注意的地方:

  1. 是否下载示例数据,这个不影响功能使用,可以根据自己的需要来选择。
    示例数据
  2. 软件安装位置,需要自己根据自己的习惯,安装到对应的位置。
    在这里插入图片描述

PulseView安装串口设备

安装完成后,根据自己的安装目录找到对应的文件夹,找到最后可以找到驱动安装。
驱动软件

拔下再插上RP2040,点击驱动,弹出驱动安装界面,如果和作者一样什么都没有(如下图)可以跟着如果设置,否则可以跳过此步操作。直接看驱动安装。
驱动安装

点击Options,勾选List All Devices。
在这里插入图片描述

驱动安装,插上RP2040,找到Rset(Interface 2),驱动选择USB Serial(CDC),点击Upgrade Driver,等待十几秒就可以了。
驱动安装

驱动安装完成后可以在驱动管理器中看到一个Board CDC。
安装成功

PulseView软件使用

  1. 找到软件软件图标
    软件启动方式
    软件启动

  2. 选择逻辑分析仪类型、选择串口驱动、扫描选择。
    点击下拉菜单,选择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,即可:
    配置完成

  3. 选择使用的通道,选择采样速度,点击开始采样。
    这里作者用的串口自动发送,波特率选择1500000,根据香农采样定理,设置采样速度设置为3M,采样深度设置为2M。
    简介

    点击运行可以看到如下。
    采样结果

  4. 选择协议分析、查看数据。
    点击协议分析,搜索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玩一下,太高速的还是需要额外的存储深度。

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值