Wie schnell sollte ich mit einem Logikanalysator abtasten?


10

Wie schnell muss ich bei einem 10-MHz-Digitalsignal mit einem Logikanalysator abtasten, um Bitfehler zu vermeiden? Erhöht sich die minimale Abtastrate, wenn ich einen Protokolldecoder (z. B. SPI) anschließen möchte?

Mir ist der Nyquist-Shannon-Abtastsatz und die Tatsache bekannt, dass eine 10-MHz-Rechteckwelle bei höheren Harmonischen (30 MHz, 50 MHz usw.) eine signifikante Energie aufweist. Ein Logikanalysator muss jedoch keine Rechteckwelle perfekt abtasten oder reproduzieren, um zu wissen, ob es sich um eine logische 1 oder 0 handelt. Ich suche nach Möglichkeiten, um Bitfehler oder Protokolldecodierungsfehler praktisch zu vermeiden.

Ich benutze den Saleae Logic Pro 16.

Antworten:


6

Das Mindeste, was Sie tun können, ist das Shannon-Nyquist-Theorem : Um ein Signal lesen zu können, müssen Sie mindestens die doppelte Frequenz abtasten. Hier können Sie mit 20MS / s abtasten (Mega Sample pro Sekunde). Nichtsdestotrotz sind 2 Punkte für eine Periode sehr wenig und führen zu viel Jitter beim wiederhergestellten Signal.

Ihr Logikanalysator teilt Ihre Signaluhr nicht. Dies ist ein häufiger Fall bei der Übertragung, und ich rate Ihnen, dasselbe wie bei den meisten UART / SPI / I2C / ... -Interfaces zu tun: Nehmen Sie 3 Punkte pro Status. Auf diese Weise können Sie EMV-Störungen mithilfe eines Mehrheitsfilters filtern und bei der Analyse erhebliche Abweichungen zwischen Ihren Signalen feststellen. Bitte beachten Sie, dass der Takt eines 10-MHz-SPI-Busses alle 100 ns sowohl hoch als auch niedrig ist. Sie müssen also mit der 6-fachen SPI-Frequenz (60 MS / s) abtasten.

60 MS / s sind bei logischen Analysatoren üblich. Auf diese Weise können Sie bei den meisten Protokollen (einschließlich SPI) einen übermäßigen Versatz (zwischen Ihren Daten und Ihrer Uhr) feststellen. Bei einer nicht symmetrischen Clock (mit tHIGH! = TLOW) müssen Sie jedoch schnell genug abtasten, um den kürzesten Teil der Clock abzutasten. Wenn der Takt für 1µs HOCH und für 9µs NIEDRIG ist, haben Sie ein 100-kHz-Signal, benötigen jedoch 3MS / s.

Diese Antwort berücksichtigt nur das Signal, das Sie analysieren möchten. Bei EMV-Problemen verwenden wir normalerweise analoge Oszilloskope mit einer Abtastfrequenz, die 10-mal höher ist als die höchste Frequenz im System. Dies ist jedoch ein wenig teuer und nicht thematisch, da die Frage darin besteht, einen SPI-Bus zu dekodieren.


1
Ich benutze 6 mal die Taktfrequenz als Abtastfrequenz. 4-mal sollte ausreichen, um einen Versatz zu erkennen, aber meiner Erfahrung nach ist es schwieriger zu verstehen, wenn mit großen Anstiegs- / Abfallzeiten umgegangen wird.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.