触摸I2C。 制作一个简单的逻辑分析仪

你好 我想展示一个简单的USB逻辑分析仪,它可以用STM32F042微控制器组装在任何调试板上,例如ST的NUCLEO-F042K6。 但是,您可以从链接中找到源代码,并将其轻松转换为该系列的任何其他代码。 此设计中有8个通道。 在它们下面,微控制器包含了PA0-PA7端口。 最大采样率为8 MHz。 最大输入频率为2 MHz。 每个通道的最大样本数为4096。

在这里应该注意的是,逻辑分析仪是用于捕获信号及其接口的后续研究,测量和分析的硬件和软件



PC外壳允许捕获后分析所有8个通道上的信号,以及
测量信号的频率,脉冲的周期和持续时间。 计算所选部分的前沿数量,该部分的持续时间。

而且,如果您坚持使用串行I2C接口并激活分析仪,则所有I2C组件都将被自动解密,着色和标记,以便于分析。

逻辑分析仪的操作通过单击“开始捕获”按钮开始。 然后发生以下情况:

1)捕获参数已传输到设备。
2.a)如果未设置触发器,则在接收到捕获参数后立即开始信号捕获。
2.b)如果设置了触发器,则设备将在不执行捕获的情况下分析输入信号。 在检测到由设置的触发器指定的条件之后,信号捕获开始。
3)根据给定数量的样本填充捕获缓冲区。
4)设备将数据传输到PC。
5)软件处理并显示接收到的数据。

触发器可以安装在一个或多个通道上。 如果为多个通道设置了触发条件,则当设置的触发条件指定的所有条件(即 触发器之间存在逻辑AND连接。
您可以更改每个通道的名称和颜色。 波形显示区域可以滚动或缩放。

使用测量工具,您可以测量所选部分的持续时间,周期,频率,脉冲持续时间,并计算前沿的数量。

标尺工具绘制一条垂直线,该垂直线包含指定时间中所有位置的所有通道的信号。 当评估不同通道的前端相对于彼此以及相对于零时间戳的位置时,“ ruler”很方便。

在此视频中,通过一个简单的示例,您可以看到它们的工作原理:



最后,我想补充一点,该外壳是用Visual Studio编写的,该软件是IAR中用于微控制器的软件。 在不久的将来,我将提供具有I2C,SPI,UART和I2S的16通道逻辑分析仪。 考虑构造两个微控制器:stm32f730,stm32f446。

谢谢大家,身体健康!

下载说明,固件和草图。
下载 IAR项目
下载 Visual Studio项目

Source: https://habr.com/ru/post/zh-CN423313/


All Articles