로직 분석기로 얼마나 빨리 샘플링해야합니까?


11

10MHz 디지털 신호가있는 경우 비트 오류를 ​​피하기 위해 로직 분석기로 얼마나 빨리 샘플링해야합니까? 프로토콜 디코더 (예 : SPI)를 연결하려는 경우 최소 샘플링 속도가 증가합니까?

나는 나이키 스트 샤논 샘플링 이론 과 10 MHz 구형파가 높은 고조파 (30 MHz, 50 MHz 등)에서 상당한 에너지를 가지고 있다는 사실을 알고 있습니다. 그러나 로직 애널라이저가 구형파를 완벽하게 샘플링하거나 재생하여 로직 1 또는 0인지 알 필요는 없습니다. 비트 오류나 프로토콜 디코딩 오류를 피하기 위해 실제로 필요한 것이 무엇인지 찾고 있습니다.

Saleae Logic Pro 16을 사용하고 있습니다.

답변:


7

Shannon-Nyquist 정리 는 최소한으로 할 수 있습니다 . 신호를 읽을 수 있으려면 최소한 두 배의 주파수를 샘플링해야합니다. 여기에서 20MS / s (초당 메가 샘플)로 샘플링 할 수 있습니다. 그럼에도 불구하고, 한주기 동안 2 포인트는 매우 적으며, 재 구축 된 신호에서 많은 지터를 발생시킵니다.

로직 애널라이저는 신호 클럭을 공유하지 않습니다. 이것은 일반적인 전송 사례이며 대부분의 UART / SPI / I2C / ... 인터페이스와 동일하게 수행하는 것이 좋습니다. 상태 당 3 포인트를 사용하십시오. 이를 통해 대부분의 필터를 사용하여 EMC 노이즈를 필터링 할 수 있으며 분석시 신호 간 왜곡을 크게 볼 수 있습니다. 10MHz SPI 버스의 클럭은 100ns주기마다 높고 낮습니다. 따라서 SPI 주파수 (60MS / s)의 6 배로 샘플링해야합니다.

60MS / s는 논리 분석기에 일반적이며,이를 통해 대부분의 프로토콜 (SPI 포함)에 대해 과도한 데이터 왜곡 (데이터와 시계 간)을 감지 할 수 있습니다. 그럼에도 불구하고 비대칭 클록 (tHIGH! = tLOW)을 사용하면 클록의 가장 짧은 부분을 샘플링 할 수있을 정도로 빠르게 샘플링해야합니다. 클록이 1µs에 대해 HIGH이고 9µs에 대해 LOW 인 경우 100kHz 신호가 있지만 3MS / s가 필요합니다.

이 답변은 분석하려는 신호 만 고려합니다. EMC 문제의 경우 일반적으로 시스템에서 가장 높은 주파수보다 10 배 높은 샘플링 주파수를 가진 아날로그 스코프를 사용하지만 SPI 버스를 디코딩하는 것이 문제라는 점을 고려하면 다소 비싸고 주제가 아닙니다.


1
클럭 주파수의 6 배를 샘플링 주파수로 사용합니다. 4 배이면 어떤 비뚤어 짐도 볼 수 있지만 내 경험상 큰 상승 / 하강 시간을 다룰 때는 이해하기가 어렵습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.