基于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的第一个低点触发
分析仪设置正在配置
然后,我将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并查看结果。这就是全部。
将输出加载到PulseView并添加I2C解码器
原理图:
责任编辑:pj
-
传感器
+关注
关注
2550文章
51035浏览量
753053 -
数据
+关注
关注
8文章
7002浏览量
88938 -
逻辑分析仪
+关注
关注
3文章
214浏览量
23165
发布评论请先 登录
相关推荐
评论