Quão rápido devo amostrar com um analisador lógico?

11

Se eu tenho um sinal digital de 10 MHz, com que rapidez preciso amostrar com um analisador lógico para evitar erros de bits? A taxa mínima de amostragem aumenta se eu quiser conectar um decodificador de protocolo (por exemplo, SPI)?

Estou ciente do teorema da amostragem de Nyquist-Shannon e do fato de que uma onda quadrada de 10 MHz possui energia significativa em harmônicos mais altos (30 MHz, 50 MHz, etc.). No entanto, um analisador lógico não precisa amostrar ou reproduzir perfeitamente uma onda quadrada para saber se é uma lógica 1 ou 0. Estou procurando o que é praticamente necessário para evitar erros de bits ou erros de decodificação de protocolo.

Estou usando o Saleae Logic Pro 16.

Patrick
fonte

Respostas:

7

O mínimo que você pode fazer é dado pelo teorema de Shannon-Nyquist : para poder ler um sinal, você deve amostrar pelo menos duas vezes sua frequência. Aqui, você pode amostrar a 20MS / s (mega amostra por segundo). No entanto, 2 pontos por um período são muito poucos e introduzem muita instabilidade no sinal reconstruído.

Seu analisador lógico não compartilhará seu relógio de sinal. Este é um caso comum de transmissão e eu aconselho você a fazer o mesmo que a maioria das interfaces UART / SPI / I2C / ...: consiga 3 pontos por estado. Isso permite filtrar o ruído EMC usando um filtro majoritário e, ao analisar, permite ver uma inclinação significativa entre seus sinais. Observe que o relógio de um barramento SPI de 10MHz aumenta e diminui a cada período de 100ns; portanto, você precisa amostrar 6 vezes a sua frequência SPI (60MS / s).

60MS / s é comum para analisadores lógicos, e isso permitirá que você detecte inclinação excessiva (entre seus dados e seu relógio) para a maioria dos protocolos (incluindo SPI). No entanto, com um relógio não simétrico (com tHIGH! = TLOW), você precisará provar com rapidez suficiente para provar a parte mais curta do relógio. Se o relógio é ALTO para 1µs e BAIXO para 9µs, você recebe um sinal de 100kHz, mas precisa de 3MS / s.

Esta resposta considera apenas o sinal que você deseja analisar. Para problemas de EMC, geralmente usamos escopos analógicos com uma frequência de amostragem 10 vezes maior que a frequência mais alta do sistema, mas é um pouco caro e fora de tópico, considerando que a questão é decodificar um barramento SPI.

Jacen
fonte
1
Eu uso 6 vezes a frequência do relógio como frequência de amostragem. 4 vezes deve ser suficiente para ver qualquer inclinação, mas, na minha experiência, é mais difícil de entender quando se lida com grandes períodos de subida / descida.