我是一位专业软件开发人员,习惯于使用集成调试器。现在有一段时间,我一直在尝试使用Arduino平台。但是,我发现尝试与Dallas DS1820数字温度传感器之类的组件进行交互就像在黑暗中摸索。
假设有200美元左右的宽松预算,那么有哪些工具可以帮助我直观地了解发生了什么情况?我已经看过Link Instruments的MSO-19,但是老实说,我对示波器和逻辑分析仪之间的差异了解不多。
我怎么知道我购买的设备能够测量我正在使用的(简单)组件的类型?
我是一位专业软件开发人员,习惯于使用集成调试器。现在有一段时间,我一直在尝试使用Arduino平台。但是,我发现尝试与Dallas DS1820数字温度传感器之类的组件进行交互就像在黑暗中摸索。
假设有200美元左右的宽松预算,那么有哪些工具可以帮助我直观地了解发生了什么情况?我已经看过Link Instruments的MSO-19,但是老实说,我对示波器和逻辑分析仪之间的差异了解不多。
我怎么知道我购买的设备能够测量我正在使用的(简单)组件的类型?
Answers:
本质上,示波器为您提供了线路电压的分级读数,而逻辑分析仪只会告诉您它是0还是“高”(“高”的值可能是5V,3.3V或1.8V,具体取决于您的电路)。您经常会发现逻辑分析仪比示波器具有更多的通道(可同时读取的线),因为所需的分辨率较低。
至于特定的设备,我听说过有关Saleae Logic的很棒的东西。它以24MHz采样;这意味着它将检查特定探头上的电压每秒高或低2400万次。该软件似乎还具有一些常见的嵌入式协议知识,可以帮助调试。我可以想象,由于Atmegaxx8的最大时钟速度为20MHz,所以24MHz就足以满足arduino的工作要求。
The soul of a new machine
特雷西·基德(Tracy Kidder)的讲解中,穴居人使用示波器来查看为什么大火不会燃烧。:-)
这只是对penjuin答案的补充,因为它不适合评论,而且他的答案通常是正确的。只想弄清楚他的答案中的含义。
根据带宽/采样率选择测量设备时要非常小心。具有25mhz采样率的设备无法准确采样25mhz数字时钟信号,甚至无法关闭。
如果您以25MHz的频率获取数字时钟信号,并将其馈入带宽为25MHz 的O形示波器,您会看到接近正弦波的信号。采样率为 25mhz的示波器可能会显示DC电平,因为根据奈奎斯特,该示波器可以采样的最高频率信号将为12.5mhz。
方波包含的是基频,即它的时钟速率,例如25mhz。它还包含大的奇次谐波,使其呈方形,要准确地查看25mhz的数字时钟信号,您不仅需要查看25mhz,还需要查看75、125、175、225等。您需要走多远达到所需的精度或达到收发器的压摆率。
尽管这对于逻辑分析仪来说不太重要,但仍然非常重要。逻辑分析仪正在寻找高于或低于某个阈值的“高”和“低”。如果看到的是正弦波,您将看到人为的短路高低状态,以及人为的位之间的长距离。这可能在某种程度上取决于分析仪的架构。
这会使与各种传输模式有关的问题无法诊断。例如,基于数据在时钟的上升沿或下降沿有效以及数据极性(高为1或0?),SPI具有4种不同的模式。其他传输协议也存在此问题(例如I2S和相关的音频格式)。如果您不能准确地确定何时发生边沿过渡,则几乎无法确定总线是否在规范范围内运行。
通常,您需要的带宽/采样率远高于预期的目标数据速率。如果要对40khz I2C总线进行采样,那么采样率100mhz的逻辑分析仪就足够了。如果需要对25MHz的SPI总线进行采样,则需要具有更高带宽的示波器/分析仪;如果需要真正的精度,则需要接近500MHz的示波器/分析仪,以及允许在该频率范围内进行测量的采样率。
因此,推荐使用24mhz采样率的设备penjuin只能以小于等于2mhz的斜率对数据速率进行精确测量的数字信号。
这个类似的问题有一些好的答案:初学者的逻辑分析仪?
就逻辑分析器而言,我写了(相对)便宜的基本分析器:
关于采样速度要注意的一件事,根据经验,通常需要至少4倍的数据速率才能获得准确的读数,而最高10倍更好。因此,如果要监视8MHz信号(例如,可以从SPI中便宜的AVR轻松生成),则需要32-80MHz采样率分析仪。仅在以“异步”模式捕获时适用。如果您以“同步”模式(例如,使用时钟信号)捕获,则您的采样率仅需与时钟信号的速率匹配。因此,例如在这种情况下,8MHz同步采样足以捕获8MHz的SPI信号(因为它具有专用的时钟信号)。
这很酷,而且真的很便宜:http : //www.seeedstudio.com/depot/preorder-open-workbench-logic-sniffer-p-612.html? cPath= 75
它具有不错的采样率,您可以支持一个很棒的开放式硬件项目。看起来它仍处于测试阶段,因此,如果您只是想插入某些东西并使其工作,那可能不是最重要的事情。