重新使用开发板进行测试的3条提示

不幸的是,我的嵌入式软件开发副驾驶员(我已经有十年的原始Saleae Logic探针)在前一天晚上遇到了麻烦。我工作到很晚,当分析仪被设计为5V和10V过压保护时,意外地将其中一个通道连接到12V信号。 (是的,这意味着即将发布另一篇有关如何保护测试设备的文章)。由于尚待完成工作,而且在我收到新分析仪之前的24-48小时,我不得不即兴发挥作用,以使调试会话继续进行,这使我不得不将MicroPython原始Pyboard用于该任务。让我们看一些重新使用测试设备开发板的技巧。

技巧1 –使用支持Python的开发板

几乎任何开发板都可以用来获取数据。板载微控制器具有有用的外围设备接口,例如模数转换器,GPIO和各种通信外围设备。这样可以很好地自定义测试设置,而该测试设置可能在现成的测试设备中不可用。但是,重要的因素是,如果利用开发板作为测试设备,则应该易于编程。我个人发现利用Python使编写测试脚本更加容易,因此强烈建议选择支持MicroPython或Circuit Python的开发板。这些开发板已经支持了低级硬件,因此很容易在不到10分钟的时间内启动并运行它们。

技巧2 –使用Python打印语句传输数据

当然,可以使用不同的技术在开发板和PC之间传输数据以获取数据。当我不得不使用临时逻辑分析器时,我编写了一个超级简单的例程,该例程使用开发板的USB连接将打印语句传输回PC。我只是试图测量在较长的一段时间内一个输出通道上的时序是正确的。为此,我能够简单地记录当前系统时间,然后计算它们之间的差异。该例程如下所示:

而True:

NewState = pin_x2.value()

如果NewState!=状态:

状态= NewState

myTime = time.tick_ms()

打印(myTime)

pyb.LED(LED_GREEN).toggle()

在单个通道上,代码只是在寻找引脚上的逻辑以进行更改,然后记录时间。读者可以看到打印声明的使用以及用于视觉确认和LED切换的信息。尽管有很多技巧可以在多个渠道上使用,但完全不用费劲。

技巧3 –在终端中捕获数据

通常的做法是实际记录传入数据的某个地方,最自然的地方是使用终端。使用Linux或Mac终端,很容易打开通信端口,只需将传入的内容重定向到文件中,以便以后处理。但是,在Windows上,实际上没有内置的终端可以做到这一点。但是,开发人员可以使用几个选项。

首先,开发人员可以在Realterm等工具中使用捕获功能。该终端软件会将端口上的传入数据重定向到文件。其次,开发人员可以编写一个简单的Python脚本,该脚本使用PySerial读取传入的数据,然后将数据写入文件。这可以直接从命令行执行,如果需要或针对数据定制。 Python脚本方法的确允许跨平台使用,但是如果开发人员急于使用,仅使用Realterm会减少工作量并提供良好的结果。

结论

开发板可以为开发人员提供第二个目的,使开发人员可以将开发板重新用作测试设备。这可以为测试嵌入式系统提供额外的灵活性,并允许自定义接收到的数据,以便于处理。虽然没有什么可以真正取代我最喜欢的分析仪(现在已经在我的工作台上并占据了应有的位置),但我仍然利用开发板来实现自定义的测量功能,否则我可能无法在昂贵的现成软件或甚至根本没有。当需要执行一些自定义测试或以特定格式需要数据时,这会特别方便。

One thought 上 “重新使用开发板进行测试的3条提示”

  1. 我的个人Saleae Logic自从将地线连接到板上的24V电源回路时就产生了疤痕。测试线融化了一点,我失去了对该USB端口的使用,但是逻辑单元仍然起作用。在电路板的下一个版本中,我们将24V回路从GND回路移开了。

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

该网站使用Akismet减少垃圾邮件。 了解如何处理您的评论数据.