如果我有一个10 MHz的数字信号,我需要用逻辑分析仪进行采样的速度有多快,以避免任何误码?如果要连接协议解码器(例如SPI),最小采样率会增加吗?
我知道Nyquist-Shannon采样定理,以及10 MHz方波在较高谐波(30 MHz,50 MHz等)下具有显着能量的事实。但是,逻辑分析仪不需要完全采样或重现方波即可知道它是逻辑1还是0。我正在寻找避免比特错误或协议解码错误的实际必要条件。
我正在使用Saleae Logic Pro 16。
如果我有一个10 MHz的数字信号,我需要用逻辑分析仪进行采样的速度有多快,以避免任何误码?如果要连接协议解码器(例如SPI),最小采样率会增加吗?
我知道Nyquist-Shannon采样定理,以及10 MHz方波在较高谐波(30 MHz,50 MHz等)下具有显着能量的事实。但是,逻辑分析仪不需要完全采样或重现方波即可知道它是逻辑1还是0。我正在寻找避免比特错误或协议解码错误的实际必要条件。
我正在使用Saleae Logic Pro 16。
Answers:
Shannon-Nyquist定理给出了至少可以做的事情:为了能够读取信号,您必须至少采样两倍其频率。在这里,您可以20MS / s(每秒兆采样)的速度采样。然而,一个周期的2点很少,并且在重建的信号上引入很多抖动。
您的逻辑分析仪不会共享您的信号时钟。这是传输中的常见情况,我建议您做与大多数UART / SPI / I2C / ...接口相同的操作:每个状态取3点。这样可以使用多数滤波器来过滤EMC噪声,并且在分析时可以看到信号之间的明显偏斜。请注意,10MHz SPI总线的时钟在每100ns周期内同时变高和变低,因此您需要以SPI频率(60MS / s)的6倍进行采样。
逻辑分析仪通常为60MS / s,这将使您能够检测大多数协议(包括SPI)的过度偏斜(在数据和时钟之间)。但是,对于非对称时钟(tHIGH!= tLOW),您需要足够快的采样速度才能对时钟的最短部分进行采样。如果时钟高电平持续1µs,低电平持续9µs,则您有100kHz信号,但需要3MS / s。
该答案仅考虑您要分析的信号。对于EMC问题,我们通常使用模拟示波器,其采样频率比系统中最高频率高10倍,但考虑到问题是要解码SPI总线,这有点贵,而且有点题外话。