Jak szybko powinienem próbkować za pomocą analizatora logicznego?

11

Jeśli mam sygnał cyfrowy 10 MHz, jak szybko muszę próbkować za pomocą analizatora logicznego, aby uniknąć błędów bitowych? Czy minimalna częstotliwość próbkowania wzrasta, jeśli chcę podłączyć dekoder protokołu (np. SPI)?

Jestem świadomy twierdzenia Nyquista-Shannona o próbkowaniu i faktu, że fala prostokątna 10 MHz ma znaczącą energię przy wyższych harmonicznych (30 MHz, 50 MHz itd.). Jednak analizator logiczny nie musi idealnie próbkować ani odtwarzać fali prostokątnej, aby wiedzieć, czy jest to logika 1 lub 0. Szukam tego, co jest praktycznie konieczne, aby uniknąć błędów bitów lub błędów dekodowania protokołu.

Używam Saleae Logic Pro 16.

Patrick
źródło

Odpowiedzi:

7

Tyle, co możesz zrobić, to twierdzenie Shannona-Nyquista : aby móc odczytać sygnał, należy próbkować co najmniej dwukrotnie jego częstotliwość. Tutaj możesz próbkować z prędkością 20MS / s (Mega próbka na sekundę). Niemniej jednak 2 punkty za jeden okres to bardzo niewiele i wprowadzają wiele zakłóceń w odbudowanym sygnale.

Twój analizator logiczny nie udostępni twojego zegara sygnałowego. Jest to częsty przypadek w transmisji i radziłbym zrobić to samo, co większość interfejsów UART / SPI / I2C / ...: weź 3 punkty za stan. Pozwala to filtrować szumy EMC za pomocą filtra większościowego, a podczas analizy pozwala zobaczyć znaczące odchylenie między sygnałami. Należy pamiętać, że zegar szyny SPI 10 MHz idzie zarówno wysoko, jak i nisko co okres 100ns, więc musisz próbkować z częstotliwością 6 razy większą niż częstotliwość SPI (60MS / s).

60MS / s jest wspólne dla analizatorów logicznych, co pozwoli ci wykryć nadmierne przekrzywienie (między twoimi danymi a zegarem) w przypadku większości protokołów (w tym SPI). Niemniej jednak, z niesymetrycznym zegarem (z tHIGH! = TLOW), musisz próbkować wystarczająco szybko, aby próbkować najkrótszą część zegara. Jeśli twój zegar jest WYSOKI dla 1µs i NISKI dla 9µs, masz sygnał 100kHz, ale potrzebujesz 3MS / s.

Ta odpowiedź uwzględnia tylko sygnał, który chcesz przeanalizować. W przypadku problemów EMC zwykle używamy zakresów analogowych o częstotliwości próbkowania 10-krotnie wyższej niż najwyższa częstotliwość w systemie, ale jest to nieco kosztowne i nie na temat, biorąc pod uwagę, że pytanie dotyczy dekodowania magistrali SPI.

Jacen
źródło
1
Używam 6 razy częstotliwości zegara jako częstotliwości próbkowania. 4 razy powinno wystarczyć, aby zobaczyć jakiekolwiek przekrzywienie, ale z mojego doświadczenia trudniej jest zrozumieć, gdy mamy do czynienia z dużym czasem narastania / opadania.