0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于RP2040的Pico可用作PIO的逻辑分析仪

电子设计 来源:电路城 作者:电路城 2021-04-27 15:08 次阅读

基于RP2040的Pico可用作PIO的逻辑分析仪。扩展示例以将结果导出到sigrock和PulseView。

背景

Raspberry Pi Pico上的新RP2040工艺带有可编程IO(PIO)模块。该模块有许多用途,可以直接直接高速控制板的GPIO。Pico随附的示例显示了如何使用PIO捕获引脚上的输入作为逻辑分析仪。包含的示例打印出数据的简单ASCII显示,并且有趣的是,很难详细检查ASCII打印输出。

有一个名为sigrok的开源项目可以进行信号分析。(SI gnal神交)。与sigrok一起,有一个名为PulseView的配套项目,可让您直观地检查信号数据。这两个程序使您可以更轻松地分析捕获的数据,添加协议解码器以查看捕获的数据意味着什么。

该项目旨在扩展示例逻辑分析仪程序,以生成可以在PulseView中显示的数据,并允许以交互方式配置分析仪。

整体架构

迄今为止,该项目背后的想法是在三个方面:

• 将Pico连接到要测量的设备上的引脚

• 使用修改后的示例代码来配置逻辑分析仪设置,并记录信号并将其以CSV格式输出到串行设备

• 使用PulseView导入CSV文件并显示数据

注意:sigrok内置了许多硬件驱动程序,可读取各种可用的分析仪和示波器。该项目不会添加新的驱动程序,而只是通过CSV文件导入数据。

代码

以下内容假设您知道如何构建项目并将其安装在Pico上。如果您不满意,请参阅随Pico一起发布的优秀文档。

Pico随附的示例代码用于演示具有DMA传输的PIO程序。为了改进此功能以用作逻辑分析仪,进行了几处更改:

• 该程序首先处于交互模式,允许用户配置设置,例如要捕获的引脚数,采样率,频率等。初始化后,PIO将布防并等待触发信号,然后捕获数据并将其写入以CSV格式转换为串行输出(通过USB)。可以在函数中找到read_user_input()。

• 创建了一个新的打印缓冲区功能,以CSV格式写出数据。可在中找到print_capture_buf_csv()。

• 内置LED设置为在布防和等待期间保持稳定,并在传输数据时闪烁。

功能logic_analyser_init()和与原始示例中的功能相同,logic_analyser_arm()负责初始化PIO程序并将其武装为触发值。

随附的GitHub存储库包含代码。

一个示例

此示例将显示我在第二个Pico上捕获I2C总线所采取的步骤。第二个Pico使用GPIO12作为SDA和GPIO13作为SCL连接到BME280传感器。CircuitPython安装在Pico上,并通过I2C连接BME280以连续打印传感器值。

顶部的Pico通过I2C连接到BME280。底部的Pico是逻辑分析仪。

逻辑分析仪Pico加载了代码。我使用PuTTY连接到逻辑分析仪并对其进行配置。将PuTTY连接到您的Pico所连接的COM端口,波特率为921,600波特。在此示例中,我使用了以下设置:

• 第一个引脚:GPIO17(用于SCL,因此GPIO18是SDA)

• 针数:2

• 频率:1 Mhz

• 样本数:200,000(大约50kB的RAM

• 在SCL的第一个低点触发

基于RP2040的Pico可用作PIO的逻辑分析仪

分析仪设置正在配置

然后,我将GPIO13连接到GPIO17,将GPIO12连接到GPIO18并接地。当SCL线变低时,Pico将收集200,000个样本。在1 Mhz时,这意味着约0.2秒的捕获时间。

当板载LED呈绿色常亮时,您将知道Pico已准备就绪。

为了保存来自Pico的所有CSV数据,我使用了一个名为plink的程序,该程序是PuTTY安装的一部分。任何可以将串行输入定向到文件的程序都可以使用。要使用plink,我使用以下命令:

plink -serial \。COM3 -sercfg 921600,8,1,N,N 》 i2c.csv

COM端口应设置为您的Pico连接到的COM端口。一旦运行,您就可以开始捕获了。

为了开始捕获,我打开了连接到BME的Pico的电源,几乎立即内置的LED开始闪烁,表明数据正在通过串行连接写入并由plink保存。发生这种情况时,我停止了连接到BME280的Pico。

当Pico的LED稳定亮起时,传输已完成,我停止了plink命令。并启动了PulseView。有关PulseView的所有详细信息,请参阅其文档。

在PulseView中,我选择导入CSV文件,并且在此示例中,指定了2个逻辑通道和1000000的采样率,并关闭了“从第一行获取通道名称”。其余的导入设置保持不变。加载后,您可以为I2C添加协议解码器,将SCL分配给输出0,将SDA分配给输出1并查看结果。这就是全部。

基于RP2040的Pico可用作PIO的逻辑分析仪

将输出加载到PulseView并添加I2C解码器

原理图:

责任编辑:pj

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

    关注

    2525

    文章

    48056

    浏览量

    739952
  • 数据
    +关注

    关注

    8

    文章

    6511

    浏览量

    87587
  • 逻辑分析仪
    +关注

    关注

    3

    文章

    200

    浏览量

    22909
收藏 人收藏

    评论

    相关推荐

    在树莓派Pico RP2040上怎样使用MicroPython呢?

    RP2040 是一款由树莓派公司设计的 32 位双核 ARM Cortex-M0+ 微控制器芯片,于 2021 年 1 月发布,作为树莓派 Pico 开发板的核心部件。
    的头像 发表于 11-08 14:29 1391次阅读
    在树莓派<b class='flag-5'>Pico</b> <b class='flag-5'>RP2040</b>上怎样使用MicroPython呢?

    树莓派Pico迷你开发板及所使用的RP2040 MCU芯片有哪些特性

    Raspberry Pi Pico是什么?树莓派Pico迷你开发板及所使用的RP2040 MCU芯片有哪些特性?
    发表于 09-14 06:50

    基于RP2040 arm微控制器制作的定制Arduino

    描述Athduino-RP2040使用新的 Raspberry pi pico 的基于 RP2040 arm 的微控制器制作的定制 ArduinoPCB
    发表于 08-31 06:03

    使用RP2040设计一个迷你板

    RP2040 Connect、Raspberry Pi Pico、Wio RP2040 等。我将记录您需要了解的关于 RP2040 的所有信息,我将在其中介绍它并列出一些可以使用同一
    发表于 09-02 06:37

    【BPI-Pico-RP2040 开发板】+ 开箱测评与Arduino开发点灯测试

    BPI-Pico-RP2040板载资源如下双核 ARM Cortex M0+ CPU 内核(高达 133 MHz)264K SRAM、2MB Flash26个可用GPIO引脚,其中4个支持ADC模拟输入2
    发表于 03-17 19:19

    【BPI-Pico-RP2040 开发板】RP2040可编程 IO (PIO) 使用初探

    BPI-Pico-RP2040 开发板所搭载的RP2040微处理器,相对于其他微处理,最吸引人的一点就是提供了可编程 IO,简称PIOPIO的神奇之处在于,给
    发表于 03-28 22:14

    【BPI-Pico-RP2040 开发板】rp2040PIO外设介绍

    最大使用32条指令空间(4个状态机的程序总和不能超过32条汇编代码)。4个状态机是独立运行的。总结PIO的巧妙设计,给rp2040带来了更多的特色应用,不管是HDMI输出、逻辑分析仪
    发表于 04-04 12:22

    RP2040

    RP2040是一种基于ARM Cortex-M0+核心的微控制器芯片,由Raspberry Pi公司设计和生产。它主要用于树莓派计算模块和树莓派相机模块V2等产品中,同时也适用于各种低功耗物联网设备
    发表于 09-15 09:04

    e络盟现货发售Arduino Nano RP2040 Connect和Raspberry Pi Pico

    Raspberry Pi Pico是首款采用Raspberry Pi自研RP2040微控制器的开发板。Arduino Nano RP2040 Connect则是首款RP2040连接板,
    发表于 09-23 14:26 2983次阅读
    e络盟现货发售Arduino Nano <b class='flag-5'>RP2040</b> Connect和Raspberry Pi <b class='flag-5'>Pico</b>

    基于RP2040板的SUMP/OLS兼容逻辑分析仪固件

    电子发烧友网站提供《基于RP2040板的SUMP/OLS兼容逻辑分析仪固件.zip》资料免费下载
    发表于 06-13 15:22 7次下载
    基于<b class='flag-5'>RP2040</b>板的SUMP/OLS兼容<b class='flag-5'>逻辑</b><b class='flag-5'>分析仪</b>固件

    RP2040 Raspberry Pi Pico遇见LoRa

    电子发烧友网站提供《RP2040 Raspberry Pi Pico遇见LoRa.zip》资料免费下载
    发表于 06-15 09:25 0次下载
    <b class='flag-5'>RP2040</b> Raspberry Pi <b class='flag-5'>Pico</b>遇见LoRa

    9.9元包邮!合宙RP2040开发板,兼容树莓派PICO

    Flash 和 Type-C 接口 。 结合开源固件,可实现100M的逻辑分析仪等功能。 合宙RP2040开发板购买链接: https://sjfjz
    的头像 发表于 08-07 12:05 3011次阅读

    9.9元自制树莓派逻辑分析仪?!合宙RP2040开发板轻松DIY

    。 现在,我们使用基于树莓派主控芯片的 合宙RP2040开发板 ,就可以低成本快速DIY逻辑分析仪。   9.9元自制100M逻辑分析仪 C
    的头像 发表于 08-14 12:10 1.1w次阅读
    9.9元自制树莓派<b class='flag-5'>逻辑</b><b class='flag-5'>分析仪</b>?!合宙<b class='flag-5'>RP2040</b>开发板轻松DIY

    合宙RP2040开发板,兼容树莓派PICO

    体验?9.9元合宙RP2040开发板CORE-RP2040——合宙推出的9.9家族又一款新品,采用树莓派RP2040芯片作为核心,引脚定义兼容官方PICO开发板,并在官方基
    的头像 发表于 08-08 08:05 2406次阅读
    合宙<b class='flag-5'>RP2040</b>开发板,兼容树莓派<b class='flag-5'>PICO</b>

    合宙RP2040开发板轻松DIY

    使用基于树莓派主控芯片的合宙RP2040开发板,就可以低成本快速DIY逻辑分析仪。9.9元自制100M逻辑分析仪CORE-
    的头像 发表于 08-15 09:46 1480次阅读
    合宙<b class='flag-5'>RP2040</b>开发板轻松DIY